КЭШ память с прямым распределением
Цель работы: Изучение принципа построения кэш-памяти с пря-
мым распределением.
Введение
Кэш-память - это быстродействующая память, расположенная
между центральным процессором и основной памятью. Вместе с ос-
новной памятью она входит в иерархическую структуру и ее дейс-
твие эквивалентно быстрому доступу к основной памяти. В больших
универсальных ЭВМ, основная память которых имеет емкость порядка
32-64 Мбайт, обычно используется кэш-память емкость 64-256
Кбайт, т.е. емкость кэш-память составляет порядка 1/1000-1/500
емкости основной памяти, а быстродействие в 5-10 раз выше быст-
родействия основной памяти.
Кэш-память, состоящая из m слов, сохраняет копии не менее
чем m-слов из всех слов основной памяти.
Если копия, к адресу которой был выполнен доступ ЦП, су-
ществует в кэш-памяти, то считывание завершается уже при доступе
к кэш-памяти. Отметим, что использование кэш-памяти основывается
на принципах пространственной и временной локальности. В случае
пространственной локальности основная память разбивается на бло-
ки с фиксированным числом слов и обмен данными между основной
памятью и кэш-памятью выполняется блоками. При доступе к некото-
рому адресу центральный процессор должен сначала определить со-
держит ли кэш-память копию блока с указанным адресом, и если
имеется, то определить, с какого адреса кэш-памяти начинается
этот блок. Эту информацию ЦП получает с помощью механизма преоб-
разования адресов.
На сложность этого механизма существенное влияние оказывает
стратегия размещения, определяющая, в какое место кэш-памяти
следует поместить каждый блок из основной памяти.
В зависимости от способа размещения данных основной памяти
в кэш-памяти существует три типа кэш-памяти:
кэш с прямым отображением (размещением);
полностью ассоциативный кэш;
множественный ассоциативный кэш.
Кэш с прямым отображением (размещением) является самым
простым типом буфера. Адрес памяти однозначно определяет строку
кэша, в которую будет помещен блок информации. При этом предпо-
лагается, что оперативная память разбита на блоки и каждому та-
кому блоку в буфере отводится всего одна строка.
Рассмотрим механизм кэш-памяти с прямым отображением реали-
зованный в лабораторной работе.
Стратегия размещения и механизм преобразования адресов в кэш-памяти с прямым отображением.
Предположим, что основная память имеет емкость 256 К слов.
Для адресации основной памяти используется 18 бит. Пусть размер-
ность блока составляет 16 слов, тогда основная память будет со-
держать 16384 блока. Восемнадцать разрядов адреса основной памя-
ти тогда можно распределить следующим образом - 14 старших раз-
рядов использовать для адресации блока, а 4 младших - для адре-
сации слова в блоке.
Пусть емкость кэш-памяти равна 2 К слов. Тогда количество
блоков в кэш составляет 128. На рис.5 приведена упрощенная функ-
циональная схема кэш-памяти.
Для того чтобы поместить в кэш-память из основной памяти
блок с адресом b 4n 0 этот адрес делить на две части:
-младшие семь разрядов адреса блока используется для адре-
сации места хранения блока в кэш-памяти;
-старшие семь разрядов (часто называют их "тэг") помещают в
специальную память (теговую память), используемую в пос-
ледствии для чтения из кэш-памяти.
Таким образом, если адрес блока основной памяти равен
3673->111001011001, то в кэш-памяти этот блок будет размещен по
адресу 89->1011001.
В данном случае по этому адресу может быть размещен любой
из 128 блоков, имеющих семь младших разрядов, эквивалентных чис-
лу 89 (1011001).
В этом заключается один из недостатков кэш-памяти с прямым
отображением.
Для того чтобы определить, какой именно блок находится в
кэш-памяти используется специальная память (тэговая память) ем-
костью 7*128 слов, куда помещаются семь старших разрядов адреса
блока, хранящегося в данное время в кэш-памяти. Адрес размещения
которых определяется семью младшими разрядами ( в нашем примере
89 (1011001)). При доступе к кэш-памяти младшие семь разрядов
адреса блока используется в качестве адреса тэговой памяти, от-
куда считывается значение тэга (семь старших разрядов адреса
блока). Если считанный тэг и поступивших семь старших разрядов
блока совпадают, то это означает, что требуемый блок хранится в
кэш-памяти и из памяти данных выполняется чтение слова, адрес
которого указан в четырех младших разрядах полного адреса.
Вывод: Данная лабораторная работа проведена в соответствии с методическим указанием, представленным в виде текстового файла в приложении к обучающей программе. На данной лабораторной работе я изучил принципы построения КЭШ - памяти с прямым распределением. Весь процесс обучения производился с помощью программы расположенной на ЭВМ.