Архитектура кэш-памяти. Ассоциативное распределение информации в кэш-памяти
Кэш-память представляет собой быстродействующее ЗУ, размещенное на одном кристалле с ЦП или внешнее по отношению к ЦП. Кэш служит высокоскоростным буфером между ЦП и относительно медленной основной памятью. Идея кэш-памяти основана на прогнозировании наиболее вероятных обращений ЦП к оперативной памяти. В основу такого подхода положен принцип временной и пространственной локальности программы.
Если ЦП обратился к какому-либо объекту оперативной памяти, с высокой долей вероятности ЦП вскоре снова обратится к этому объекту. Примером этой ситуации может быть код или данные в циклах. Эта концепция описывается принципом временной локальности, в соответствии с которым часто используемые объекты оперативной памяти должны быть "ближе" к ЦП (в кэше).
Для согласования содержимого кэш-памяти и оперативной памяти используют три метода записи:
· Сквозная запись (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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!