КЭШ-память. Назначение. Принцип функционирования.
При обращение процессором на прямую к оперативной памяти, ОП не успевает обслуживать поступающие заявки, процессору в этом случае приходится простаивать. Поэтому необходимо какими-либо методами согласовать быстродействие процессора и ОП. Сделать это можно 2 способами:
1. Построить ОП на более быстродействующей элементной базе (дорогостоящий)
2. Использовать специальное структурное решение при организации уровней подсистемы памяти, а именно включений между процессором и ОП быстродействующий КЭШ.
Отличительными особенностями КЭШ являются:
1. Малый объем (от 8кбайт)
2. Быстродействие сравнимое с быстродействием процессора.
КЭШ – это тайник, недоступно для программ, так как не может быть адресовано машинными командами.
Суть заключается в следующем, когда процессору понадобилась информация, сначала он обращается к КЭШ памяти, если информация там есть (такое событие называется КЭШ попаданием), то нужное слово извлекается из КЭШ и передается процессору. Если нет (КЭШ промах), то идет обращение к оперативной памяти, информация помещается в КЭШ затем передается процессору.
Пусть ОП состоит из 2n адресуемых слов, можно представить ОП под совокупность блоков фиксированной длинны по «к» слов в каждом. Тогда емкость оперативной памяти можно записать следующим выражением M= 2n/k.
КЭШ память состоит из C строк по «к» слов в каждой. Причем емкость КЭШ во много раз меньше емкости ОП.
В процессе выполнения задачи, некоторое подмножество блоков в ОП находятся строго в КЭШ. Каждая строка в КЭШ снабжается ТЭГом, является служебной областью, как правило ТЭГ содержит старшие разряды поля адресов памяти. ТЭГ нужен для установления соответствия между ОП и КЭШ.
Структурная организация КЭШ
Важной отличительной особенностью КЭШ является то, что две операции передачи слова и загрузка блока в ОП могут происходить одновременно. КЭШ соединен с процессором линиями: адрес, данные, управление. Линии данные и адрес подключены к соответствующим буфером. Эти буферы имеют выход на системную магистраль, через которую они могут обмениваться с ОП информацией. Если происходит событие КЭШ попадания, то буферы адреса и данных блокируется.
Если происходит КЭШ попадание, то буферы адреса и данных блокируются, весь процесс обращения ведется без участия ОП.
Если происходит событие КЭШ промах, то затребованный процессором адрес выставляется в буфер адреса , передается на системную магистраль, затем происходит поиск в ОП, блок информации копируется в буфер данных, затем передается в КЭШ, затем ЦП.
Сравнительная характеристика организации КЭШ–памяти прямого отображения, ассоциативной и наборно-ассоциативной. Пример организации КЭШ в МП Pentium 4.
Метод отображения. Так как количество строк Кэш памяти гораздо меньше , чем количество блоков памяти, необходимо установить соответствие между строкой КЭШ и строкой в ОП. Установление соответствие и называется функцией отображения.
Прямое отображение. Если каждая строка ОЗУ имеет только одно фиксированное место, на котором она может находиться в кэш-памяти, то такая кэш-память называется памятью с прямым отображением. Предположим, что ОЗУ состоит из 1000 строк с номерами от 0 до 999, а кэш-память имеет емкость только 100 строк. В кэш-памяти с прямым отображением строки ОЗУ с номерами 0, 100, 200, ..., 900 могут сохраняться только в строке 0 КП и нигде иначе, строки 1, 101, 201, …, 901
Достоинства: простота реализации.
Недостаток: обновление одних строк КЭШ будет происходить часто, другие могут быть вообще не задействованы.
Ассоциативная. Кэш-память называется полностью ассоциативной, если каждая строка ОЗУ может располагаться в любом месте кэш-памяти.
Достоинства: обеспечение гибкости.
Недостаток: усложнение логики поиска, усложнение алгоритмов управления Кэш памяти
Секционированное(наборно) –ассоциативная. позволяет каждому блоку кэшируемой памяти претендовать на одну из нескольких строк кэша, объединенных в набор (set). Можно считать, что в этой архитектуре есть несколько параллельно и согласованно работающих каналов прямого отображения, где контроллеру кэша приходится принимать решение о том, в какую из строк набора помещать очередной блок данных. Совмещает в себе достоинства прямого отображения и ассоциативного.
2 Примеры организации структуры КЭШа данных в МП Pentium II, Power PC.