Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

Таненбаум Э.- Архитектура компьютера. стр.464


Таненбаум Э.- Архитектура компьютера. стр.464

Как и большинство простых решений, это решение не слишком эффективно. Каждая операция записи требует передачи данных в основную память по шине, и при большом количестве процессоров шина становится узким местом. Поэтому были разработаны другие протоколы. Все они имеют одно общее свойство: не каждая операция записи ведет к записи непосредственно в основную память. Вместо этого при изменении строки кэша внутри кэша устанавливается особый бит, который указывает, что строка в кэше правильная, а в памяти — нет. Хотя в конечном итоге данную строку все равно придется записать в память, вполне вероятно, что это произойдет после выполнения еще нескольких операций записи. Такой тип протокола называется протоколом отложенной записи.

Протокол MESI

Одним из популярных протоколов отложенной записи является протокол MESI (Invalid, Shared, Exclusive, Modified — недействительный, разделяемый, эксклюзивный, модифицированный), названный так по первым буквам четырех возможных состояний элементов кэша [159]. В его основе лежит более ранний протокол однократной записи [77]. Протокол MESI используется в Pentium 4 и других процессорах для слежения за шиной. В соответствии с этим протоколом каждый элемент кэша может находиться в одном из следующих четырех состояний:

+ недействительный — элемент кэша содержит недействительные данные;

+ разделяемый — элемент может храниться в нескольких кэшах, память обновлена;

+ эксклюзивный — элемент находится только в данном кэше (ни в каких других кэшах его нет), память обновлена;

+ модифицированный — элемент действителен, основная память недействительна, копий элемента не существует.

При загрузке процессора все элементы кэша помечаются как недействительные. При первом считывании из основной памяти нужная строка вызывается в кэш данного процессора и помечается как эксклюзивная, поскольку это — единственная кэшированная копия (рис. 8.22, а). При последующих считываниях процессор использует эту строку, не обращаясь к шине. Другой процессор может вызвать ту же строку и поместить ее в кэш. В этом случае первый держатель строки (процессор 1) благодаря слежению узнает, что он уже не единственный держатель строки, и объявляет по шине, что у него копия. Обе копии помечаются как разделяемые (рис. 8.22, б). Другими словами, состояние «разделяемая» означает, что память обновлена, и строка после чтения находится в одном или нескольких кэшах. При последующих чтениях разделяемой строки процессор не использует шину и не меняет состояние строки.

Посмотрим теперь, что происходит, когда процессор 2 выполняет запись в разделяемую строку кэша. В этом случае процессор помещает на шину специальный сигнал, сообщая всем другим процессорам о том, что их копии более недействительны, при этом копия в кэше самого процессора 2 переходит в состояние «модифицирована» (рис. 8.22, в). В память эта строка не записывается. Отметьте, что если указанная строка является эксклюзивной, никакого сигнала о недействительности на шину передавать не нужно, поскольку других копий этой строки не существует.


⇐ Предыдущая страница| |Следующая страница ⇒

.