December 12 2017 08:07:03
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
работа микропроцессорной системы
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ

Помимо внутренней кэш-памяти (уровень L1) в системах, реализуемых на базе процессоров Р6, используется дополнительная внешняя кэш-память (уровень L2), которая размещается на отдельном кристалле, но монтируется в общем корпусе с процессорным кристаллом. Для обращения к этой кэш-памяти служит отдельная шина, подключаемая к блоку внешнего интерфейса (см. рис. 2.1), которая работает с тактовой частотой процессора. Емкость кэш-памяти уровня L2 для различных моделей процессоров Р6 составляет 256 Кбайт, 512 Кбайт или 1 Мбайт.

Структура кэш-памяти, используемой в процессорах Р6, приведена на рис. 2.8. Эта память ассоциативного типа состоит из строк длиной по 32 байт. В кэш-памяти команд строки объединены в 128 наборов S0-S127 по четыре строки в каждом (L0, L1, L2, L3). В кэш-памяти данных содержится 256 наборов S0-S255 по две строки (L0, L1). Общая кэш-память команд-данных 2-го уровня содержит наборы из четырех строк.

Адресация кэш-памяти осуществляется с помощью 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.

Каждая кэш-память имеет собственную служебную память, где хранятся биты, характеризующие содержимое ее строк: биты обращения В0 (если наборы содержат по 2 строки) или В0 - В2 (если наборы содержат по четыре строки), используемые при обновлении строки набора в соответствии с алгоритмом LRU (биты LRU), биты состояния S0 - S1, с помощью которых обеспечивается когерентность содержимого строки в кэш-памяти и основной памяти согласно протоколу MESI (биты MESI).

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.26 секунд 2,295,747 уникальных посетителей