Замещения станиц, например      выгрузка данных, к которым дольше всего не было обращений, или данных, к которым было меньше всего обращений.



     Второй, детерминированный способ отображения предполагает, что любой элемент основной памяти всегда отображается в одно и то же место кэш-памяти. В этом случае кэш-память разделена на строки, каждая из которых предназначена для хранения одной записи об одном элементе данных и имеет свой номер. Между номерами строк кэш-памяти и адресами оперативной памяти устанавливается соответствие «один ко многим»:

Одному номеру строки соответствует несколько (обычно достаточно много) адресов оперативной памяти.

В качестве отображающей функции может использоваться простое

выделение нескольких разрядов из адреса оперативной памяти, которые интерпретируются как номер строки кэш-памяти (такое отображение называется прямым). Например, рассмотрим принцип построения кэш- памяти (рис. 1.12) объёмом 256 Кбайт с размером строки 32 байта и объёмом кэшируемой основной памяти 64 Мбайт. Кэшируемая основная память при этом разбивается на блоки, размер которых равен размеру кэш-памяти. Для рассматриваемого случая количество блоков равно 256. В свою очередь кэш- память делится на строки, длина которых равна количеству байт, передаваемых процессором в одном пакете ( 4 х 8 байт = 32 байта для процессоров Pentium). Тогда в кэш-памяти будет храниться 8192 записей, то

Есть кэш имеет 8К строк, пронумерованных от 0 до 8К-1. Любой адрес

оперативной памяти может быть отображен на адрес кэш-памяти простым отделением 13 двоичных разрядов(2**13=8192).

При поиске данных в КЭШе используется быстрый прямой доступ к

Записи по номеру строки, полученному путем обработки адреса из

запроса. Однако поскольку в найденной строке могут находиться данные ячейки оперативной памяти, младшие разряды адреса которой совпадают с номером строки, необходимо выполнить дополнительную проверку. Для этих целей каждая строка кэш-памяти дополняется тегом, содержащим старшую часть адреса данных в оперативной памяти. Для сравнения с тегом используются 8 старших разрядов(2**8=256) адреса из запроса. При совпадении тега с соответствующей частью адреса оперативной памяти из запроса констатируется кэш-попадание. Для адресации байт внутри строки необходимо выделить 5 разрядов( 2**5=32) из адреса запроса.

Стр.16

Если же произошел кэш-промах, то данные считываются из

Оперативной памяти и копируются в кэш. Если строка кэш-памяти, в

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

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

Интеллектуальностью алгоритмов замещения в кэш со случайным

Отображением. При смешанном подходе произвольный адрес

Оперативной памяти отображается не на один адрес кэш – памяти (как это характерно для прямого отображения) и не на любой адрес кэш памяти (как это делается при случайном отображении), а на некоторый набор адресов. Все наборы пронумерованы. Поиск в кэш осуществляется вначале по номеру набора, полученному из адреса оперативной памяти из запроса, а затем в пределах набора путем ассоциативного просмотра всех записей в наборе на предмет совпадения старших частей адресов оперативной памяти(Рис.1.13)

Стр.17


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

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






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