Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 41

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 35 36 37 38 39 40 < 41 > 42 43 44 45 46 47 .. 528 >> Следующая

уровня L2 для различных моделей процессоров Р6 составляет 256 Кбайт, 512
Кбайт или 1 Мбайт.
Структура кэш-памяти, используемой в процессорах Р6, приведена на рис.
2.8. Эта память ассоциативного типа состоит из строк длиной по 32 байт. В
кэш-памяти команд строки объединены в 128 наборов S0-S127 по четыре
строки в каждом (LO, L1, L2, L3). В кэш-памяти данных содержится 256
наборов S0-S255 по две строки (LO, L1). Общая кэш-память команд-данных 2-
го уровня содержит наборы из четырех строк.
31
12 11
О
TAG
SET
BYTE
Адрес
19 0 255 О
tagO LO
tag1 L1
tag2 L2
tag 3 L3
tagO LO
tag1 L1
tag2 L2
tag3 B31 L3 B1 BO
I
tagO LO
tag1 L1
tag2 L2
tag3 L3
Рис. 2.8. Структура кэш-памяти и реализация обращения к ней
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Адресация кэш-памяти осуществляется с помощью 32 разрядов адреса, которые
делятся на три поля: TAG, SET, BYTE (рис. 2.8). При обращении к кэш-
памяти содержимое поля SET определяет номер выбираемого набора. Значения
старших разрядов адреса (поле TAG) сравниваются с содержимым полей тегов
(tag0-tag3) в строках выбранного набора. Если значение TAG совпадает с
содержимым тега одной из строк, то фиксируется кэш-попадание, и
производится выборка из этой строки операнда, ад эесуемого полем BYTE.
Если совпадение не обнаружено, то фиксируется кэш-промах. В этом случае
из основной памяти выбирается строка (32 байт), адресуемая разрядами А31-
5 адреса, которая размещается в одной из строк выбранного набора.
Заполнение кэш-памяти производится построчно, т. е. в случае кэш-промаха
из основной памяти копируется целая строка, включающая адресованный
операнд. При этом обновляется строка в наборе, номер которого
определяется полем SET сформированного физического адреса. Старшие
разряды адреса (поле TAG) заносятся в поле tag и становятся атрибутом
данной строки.
Пересылка строк между кэш-памятью и основной памятью выполняется блоком
внешнего интерфейса с помощью пакетных циклов. При этом по 64-разрядной
внешней шине данных за пять тактов передается 256 бит (полная строка).
Использование пакетных циклов и 64-разрядной системной шины обеспечивает
достаточно быстрое обновление содержимого кэш-памяти.
Нормальная работа микропроцессорной системы с кэш-памятью обеспечивается
соответствующими механизмами, которые поддерживают когерентность -
соответствие содержимого основной памяти и кэш-памяти. Это соответствие
достигается с помощью механизмов сквозной записи (Write-Through) или
обратной записи (Write-Back).
При сквозной записи выполняется одновременное изменение содержимого кэш-
памяти и основной памяти. Таким образом, при любом цикле записи, даже в
случаев кэш-попадания, производится обращение к основной памяти по
системной шине. Данное обстоятельство существенно снижает
производительность системы, так как циклы обращения по этой шине
выполняются с тактовой частотой системной платы, которая значительно ниже
тактовой частоты процессора.
При обратной записи изменение содержимого строки кэш-памяти вызывает
установку признака модификации (состояние М). При обновлении содержимого
кэш-памяти ее строки, находящиеся в состоянии М (имеющие установленный
признак модификации), переписываются обратно в основную память. Таким
образом, обращение к основной памяти в циклах записи производится только
в случае кэш-промаха. При использовании кэшпамяти значительной емкости
процессор может достаточно долго работать без обращения к основной
памяти. Этот механизм наиболее часто используется современными
процессорами, хотя многие из них могут реализовать как обратную, так и
сквозную запись. В процессорах Р6 изменить механизм записи при страничной
адресации можно путем соответствующей установки бита PWT в регистре CR3.
Каждая кэш-память имеет собственную служебную память, где хранятся биты,
характеризующие содержимое ее строк: биты обращения ВО (если наборы
содержат по 2 строки) или ВО - В2 (если наборы содержат по четыре
строки), используемые при обновлении строки набора в соответствии с
алгоритмом LRU (биты LRU), биты состояния SO - S1, с помощью которых
обеспечивается когерентность содержимого строки в кэш-памяти и основной
памяти согласно протоколу MESI (биты MESI).
Если при чтении произошел кэш-промах и кэширование данной области памяти
разрешено, то производится обновление содержимого одной из строк набора,
заданного полем SET адреса, в которую вводится информация из основной
памяти. Новая информация замещает ранее имевшуюся в данной строке. В
первую очередь замещается содержимое строки, отмеченной с помощью битов
MESI как недостоверная (состояние I). Если в данном наборе нет
недостоверной ("пустой") строки, то производится удаление из кэш-памя-
СТРУКТУРА И ФУНКЦИОНИРОВАНИЯ ПРОЦЕССОРОВ INTEL Р6
ти содержимого строки, которая дольше всего оставалась невостребованной.
Используемый алгоритм обновления называется "замещение менее используемой
информации" (/.RC/ - least recently used) и реализуется с помощью битов
Предыдущая << 1 .. 35 36 37 38 39 40 < 41 > 42 43 44 45 46 47 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed