Кэш-памяти с прямым отображением


Для размещения в кэш-памяти данных блока b в место m используется часть разрядов адреса блока i. Т.к. мы не можем осуществлять полностью ассоциативное сравнение, то часть разрядов адреса блока разбивают на 2 части, где первая часть будет ячейка ассоциативной памяти, где хранится место требуемого блока (i – индекс) и вторая часть t – тег, определяющий отличие одного блока от другого при его хранении в одном и том же месте. d – смещение внутри блока. Преобразование адреса блока в место М сводится к выборке разрядов i из адреса.

Структура кэш-памяти с прямым отображением

Рис. 1. 44. Структура кэш-памяти с прямым отображением

Индекс и смещение внутри блока суммируются и являются адресом блока в памяти данных. Разряды адреса фактически являются номером ячейки, где хранится тег того блока, который находится в кэш-памяти. Из памяти тегов, которая имеет обычную линейную организацию, выбирается значение, называемое тегом, хранящимся в кэш-памяти. Этот тег поступает в устройство сравнения, которое проверяет, равен ли этот тег тегу, хранящемуся в этом блоке. Если они совпадают, то кэш-попадание, иначе кэш-промах.

Пусть у нас есть 6 блоков в ОП, которые присутствуют в кэш-памяти. Память тегов по числу ячеек совпадает с числом мест в кэш-памяти (Рис. 1. 45).

Структура кэш-памяти

Рис. 1. 45. Структура кэш-памяти

Недостаток: При частом обращении в разные области основной памяти, отображающиеся в одном и том же месте, эффективность кэш-памяти (Рис. 1. 46).

Расслоение памяти

Рис. 1.46. Расслоение памяти

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