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

4.3. Кэш

Кэш – это внутренняя память процессора, которая имеет значительно большее быстродействие, чем ОП. Кэш память не увеличивает емкость памяти ЦП и она не видима пользователю. Она содержит копии данных (команд) из ОП, к которым уже было обращение (или может произойти), т.е. из ОП помещаются нужные в текущий момент ЦП данные и еще некоторое количество последующих слов. При использовании КЭШ обращения (кроме первого раза) происходят в разы быстрее обращений к ОП. В проектируемой ЭВМ используется и КЭШ команд и КЭШ данных поэтому ЦП всегда обращается сначала к КЭШ.

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

В разрабатываемой ЭВМ длина строки КЭШ памяти равна 4-м словам – (4 X 32 = 128 бит). Емкость КЭШ команд и КЭШ данных – 8 Кбайт каждая, соответственно обе КЭШ-памяти имеют по 512 строк, соответственно для адресации нужно 9 разрядов.

Было решено использовать в качестве КЭШ статическую оперативную память (SRAM), из за высокого быстродействия и отсутствия необходимости регенерации.

Описание работы КЭШа: при каждом обращении к памяти контроллер КЭШ-памяти (на схеме контроллер КЭШ входит в состав КЭШ) проверяет, есть ли действительная копия затребованных данных в КЭШ-памяти и одновременно обращается к основной памяти. Если произошло попадание (копия существует), тогда обращение за данными происходит к КЭШ-памяти и обращение к основной памяти прерывается. Если копии нет (промах), то данные берутся из основной памяти.

В проектируемой ЭВМ в качестве способа отображения оперативной памяти на КЭШ-память выбрано полностью ассоциативное отображение. КЭШ с полностью ассоциативным отображением позволяет загрузку любого блока ОП в любую строку КЭШ-памяти. Логика управления (контроллер КЭШ) выделяет в адресе ОП два поля: поле тега (21 разряд) и поле слова (2 разряда). Поле тега совпадает с адресом блока ОП. Для проверки наличия копии блока в КЭШ-памяти, логика управления КЭШ должна одновременно проверить теги всех строк на совпадение с полем тега адреса. Поле слова определяет положение слова в блоке. Ассоциативное отображение обеспечивает гибкость при выборе строки для вновь записываемого блока. Принципиальный недостаток этого способа - в необходимости использования дорогой ассоциативной памяти.

При переполнении КЭШа замещение информации происходит по алгоритму наиболее давнего использования (LRU). Согласно ему каждой строке КЭШ-памяти ассоциируется счетчик, к которому через определенные интервалы добавляется единица. При обращении к строке счетчик обнуляется, таким образом замещается та строка с наибольшим числом счетчика.

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

В случае, когда КПДП, минуя процессор записал данные в память содержимое КЭШ-памяти автоматически обновляется.

Рис. 3 Обобщенная структурная схема центрального процессора.

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