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

Цель работы – ознакомиться с организацией и принципом работы кэш-памяти, а также алгоритмами замещения при различных режимах записи.

Теоретические положения:

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

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

На эффективность применения кэш-памяти в иерархической системе памяти наиболее существенно влияют:

· емкость кэш-памяти;

· размер строки;

· способ отображения основной памяти на кэш-память;

· алгоритм замещения информации в заполненной кэш-памяти;

· алгоритм согласования содержимого основной и кэш-памяти;

· число уровней кэш-памяти.

К программной модели учебной ЭВМ может быть подключена программная модель кэш-памяти, реализация которой отображена на рисунке 13. Кэш-память содержит N ячеек (в модели N может выбираться из множества {4, 8, 16, 32}), каждая из которых включает трехразрядное поле тега (адреса ОЗУ), шестиразрядное поле данных и три однобитовых признака (флага):

Z – признак занятости ячейки;

U – признак использования;

W – признак записи в ячейку.

Таким образом, каждая ячейка кэш-памяти может дублировать одну любую ячейку ОЗУ, причем отмечается ее занятость (в начале работы модели все ячейки кэш-памяти свободны, Zi = 0), факт записи информации в ячейку во время пребывания ее в кэш-памяти, а также использование ячейки (т. е. любое обращение к ней).


 

Вариант задания:

№ варианта Номера команд программы
RD #99 WR R6 MOV R7, R6 ADD R7 PUSH R7 CALL 006 POP R8

Пояснение к варианту задания:

Номера варианта Режим записи Алгоритм замещения
Сквозная БИ, без учета бита записи
Обратная БИ, с учетом бита записи

 
 

Последовательность состояний кэш-памяти размером 4 ячейки при выполнении программы (команды 1-7):

RD #99 PUSH R7

 
 

WR R6 CALL 006

 
 

MOV R7, R6 POP R8

ADD R7

 


 

Последовательность микрокоманд при выполнении команды wr с отметкой тех микрокоманд, в которых возможна модификация кэш-памяти:

Для варианта кэш-памяти размером 8 ячеек – последовательность номеров замещаемых ячеек кэш-памяти для второго варианта параметров кэш-памяти при выполнении программы (команды 1-7):

       
   

RD #99 PUSH R7

       
   
 

WR R6 CALL 006

 
 

 
 

MOV R7, R6 POP R8

 
 

ADD R7