Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc92 / Абалов.doc
Скачиваний:
35
Добавлен:
03.08.2013
Размер:
397.31 Кб
Скачать

Принцип работы схемы кэш памяти

ЦП выставляет на шину ABадрес основной памяти (AB[31..21] = 0) и генерирует запрос на обращение к памяти. Этот адрес и сигналы попадают в КЭШ память. С помощью разрядовAB[8..2] выбирается одна из 128 строк в каждом из четырех направлений. Для реализации направлений используется четыре быстрые микросхемыSRAMпамяти способные хранить 128 строк по 12. Выходы этих блоков присоединяются к входамAкомпараторов (которых тоже четыре соответственно). В тоже время на входыBкомпараторов подводятся битыAB[20..9]. Это требуется для определения факта попадания и в номера блока, в котором произошло попадание.

Выходы компараторов заводятся на входы разрешения выдачи данных КЭШ памяти. Для хранения этих данных используются четыре быстрых блока SRAMпамяти, содержащие 128 строк по 4 машинных слова. В каждой строке памяти данных содержатся данные соответствующие тегу из той же строки соответствующего блока памяти тегов. Компаратор, зафиксировавший попадание, разрешит выдачу соответствующей микросхеме. Выбор нужной строки из блока памяти данных выбирается теми же битами что и выбор строки в блоках памяти тегов. Так как блок памяти данных хранит строки из четырех слов, то выходы блоков памяти данных подключаются к входам мультиплексора. На адресные (управляющие) входы мультиплексора подаются два младших разряда с шиныAB, которые позволяют выделить требуемое слово. В результат на шину данных будет выдано одно из четырех 32-разрядных слов. ВыходHITустанавливается в логическую единицу.

Если компараторы не зафиксировали попадания, то генерируется логический ноль на выходе HIT, который подается на вход разрешения буферного регистра между шиной адреса и ОП, чтобы ОП смогла отработать и выбрать соответствующее слово. Одновременно с этим сигнал попадания проходит через комбинационную схему, которая формирует сигнал записи в КЭШ память соответствующего блока из ОП, для передачи блока из ОП в КЭШ используются четыре специальные короткие 32 разрядные шины.

Но перед тем как помещать строку в КЭШ нужно выбрать, какую из строк замещать. Так как эффективность КЭШ памяти зависит от вероятности попаданий, то очевидно, что замещать нужно те строки, к которым редко обращаются, а те строки, к которым идет постоянное обращение нельзя трогать. То есть наиболее эффективным алгоритмом является алгоритм наиболее давнего использования (LeastRecentlyUsed). Удобнее всего реализовать этот алгоритм с помощью сопоставления счетчика небольшой разрядности каждой строке КЭШ памяти. При обращении к любой строке битыAB[8..2] заводятся на дешифратор, выходы которого подключены к четырем соответствующим массивам из 128 счетчиков. При возникновении попадания в одном из направлений происходит сброс счетчика заданной строки из одного из четырех массивов. Таким образом, при попадании счетчик соответствующий строке в направлении обнуляется.

Если произошел промах, то выбор одного из 4х направлений для записи осуществляется комбинационной схемой, на вход которой идут значения четырех счетчиков (каждый соответствует одному направлению) для заданной строки. Схема выбирает счетчик с наибольшим значением и генерирует разрешение записи в блоки памяти данных и тегов. Выбранный счетчик обнуляется. Разрешение работы данной схемы осуществляется на основе комбинации сигналов HIT,MEMQ,R/#W.

Если приходит запрос на запись в память, то необходимо согласовывать информацию в КЭШ памяти и в ОП. Для этого воспользуемся алгоритмом сквозной записи. По этому методу необходимо обновить данные и в ОП и в КЭШ памяти. Прежде всего, обновляется слово в ОП, если в КЭШ есть копия этого слова, то она также обновляется. Если же копии в КЭШ памяти нет, то выбирается строка замещения и блок, содержащий обновленное слово, переносится из ОП в КЭШ. Это осуществляется с помощью комбинационной схемы, управляемой сигналами HIT,MEMQ,R/#W.

Схема КЭШ памяти приведена в приложении.

Соседние файлы в папке doc92