Архитектура кэш-памяти. Ассоциативное распределение информации в кэш-памяти



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

Если ЦП обратился к какому-либо объекту оперативной памяти, с высокой долей вероятности ЦП вскоре снова обратится к этому объекту. Примером этой ситуации может быть код или данные в циклах. Эта концепция описывается принципом временной локальности, в соответствии с которым часто используемые объекты оперативной памяти должны быть "ближе" к ЦП (в кэше).

Для согласования содержимого кэш-памяти и оперативной памяти используют три метода записи:

· Сквозная запись (write through) - одновременно с кэш-памятью обновляется оперативная память.

· Обратная запись (write back) - используется бит изменения в поле тега, и строка переписывается в оперативную память только в том случае, если бит изменения равен 1.

Кэш ЦП разделён на несколько уровней. L1-cache расположен на кристалле.

Обычно кэш L1 разделен на кэш команд и данных. L1 кэш работает на частоте ЦП, и

обращение к нему может производиться каждый такт. Возможно выполнять несколько

операций чтения/записи одновременно. Объём не более 128 Кбайт. Объём L2 кэша

от 128 Кбайт до 1−12 Мбайт. Кэш 2 уровня, находясь на том же кристалле, является

памятью раздельного пользования — при общем объёме кэша в nM Мбайт на каждое

ядро приходится по nM/nC Мбайта, где nC количество ядер процессора. Кэш 3

уровня может быть > 24 Мбайт. В многопроцессорных системах находится в общем

пользовании и предназначен для синхронизации данных различных L2.

В структуре кэш-памяти выделяют два типа блоков данных:

· память отображения данных (собственно сами данные, дублированные из оперативной памяти);

· память тегов (признаки, указывающие на расположение кэшированных данных в оперативной памяти).

Среднее время доступа в системе с кэш:

Tдоступа = Тобращение к кэш + Kпромаха * Tпотерь

Тобращение– время обращения;

Kпромаха - коэффициент промахов, обычно меньше 10% ;

Tпотерь– определяется как t на подкачку CASH (потеря времени при обращении к оперативной памяти).

Усредненные данные:

CASH-попадание: Tпопад.=1-4 такта.

CASH-промах: Tпотери =8-32такта. Kпромаха=1-20%.

3 способа организации кэш:

1. Если каждый блок основной памяти имеет только одно фиксированное место, на котором может поместиться в кэш, то такой кэш называется кэшем с прямым отображением.

2. Если некоторый блок основной памяти располагается в любом месте кэша, то такой кэш называется полностью ассоциативным.

3. Если блок ОП может располагаться на ограниченном количестве мест в кэш, то такой кэш называется множественно-ассоциативным (частично-ассоциативный, n‑канальный).

Полностью ассоциативный кэш:

Если некоторый блок основной памяти располагается в любом месте кэша, то такой кэш называется полностью ассоциативным.

При полностью ассоциативной организации памяти память логически неделима. То есть старшие разряды адреса полностью адресуют тэг.

При записи в кэш-память. Выбираем любой "свободный" адрес памяти данных в кэш, переписываем по нему данные. Номер ячейки кэш, в которую были записаны данные, записываются в ассоциативную память данных (причём в качестве тэга будет записан адрес блока).

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

 

Недостатки:

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

Достоинства: Возможность одновременно держать в кэш-памяти соседние ячейки оперативной памяти (по сравнению с кэш-памятью с прямым отображением).


Дата добавления: 2018-04-15; просмотров: 576; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!