
- •Министерство образования российской федерации
- •Введение
- •Теоретические сведения Принцип действия кэш-памяти
- •Организация кэш-памяти
- •Поблочное отображение
- •Преобразование адресов ассоциативным отображением
- •Стратегии выталкивания страниц
- •Принцип оптимальности
- •Выталкивание случайной страницы
- •Выталкивание первой пришедшей страницы (fifo)
- •Выталкивание дольше всего не использовавшейся страницы (lru)
- •Выталкивание реже всего используемой страницы (lfu)
- •Выталкивание не использовавшейся в последнее время страницы (nur)
- •Локальность
- •Описание алгоритма моделирования
- •Объекты и средства исследования
- •Порядок работы
- •Результаты работы
- •Варианты заданий для выполнения лабораторной работы
- •Контрольные вопросы
- •Библиографический список
Преобразование адресов ассоциативным отображением
Один из методов ускорения динамического преобразования адресов заключается в том, чтобы всю таблицу преобразования страниц разместить в ассоциативной памяти, длительность цикла которой, быть может, на порядок меньше, чем у первичной памяти. На рис.4 показано, каким образом осуществляется динамическое преобразование адресов с чисто ассоциативным отображением.
Работающая программа обращается по адресу оперативной памяти
v=(p,
d). Все строки таблицы, хранящиеся в
ассоциативной памяти, одновременно
сравниваются с номером блока оперативной
памяти р. Ассоциативная память выдает
значение р' как номер блока кэш-памяти,
соответствующего странице р, и путем
конкатенации р' со значением смещения
d формируется адрес кэш-памяти г. Отметим,
что стрелки, подведенные на рисунке к
ассоциативной памяти, фактически
затрагивают каждый элемент таблицы.
Это означает, что каждый элемент
ассоциативной памяти одновременно
анализируется на совпадение с адресом
р. Именно из-за этого ассоциативная
память является столь дорогостоящей.
Здесь возникает дилемма: чтобы концепцию
кэш-памяти можно было реализовать на
практике, необходимо обеспечить быстрое
динамическое преобразова
Номер блока ОП Смещение
P D
Номер блока КП Смещение
P’ D
P P’
ние
адресов. Однако применение ассоциативной
памяти для реализации чисто ассоциативного
отображения обходится слишком дорого.
Стратегии выталкивания страниц
Их цель - решить, какую страницу следует удалить из кэш-памяти памяти, чтобы освободить место для помещения поступающей страницы, если кэш-память полностью занята. Рассмотрим следующие стратегии выталкивания страниц.
* Принцип оптимальности.
* Выталкивание случайной страницы.
* Первой выталкивается первая пришедшая страница (FIFO).
* Первой выталкивается дольше всего не использовавшаяся страница (LRU).
* Первой выталкивается наименее часто использовавшаяся страница (LFU).
* Первой выталкивается не использовавшаяся в последнее время страница (NUR).
Принцип оптимальности
Принцип оптимальности говорит о том, что для обеспечения оптимальных скоростных характеристик и эффективного использования ресурсов следует заменять ту страницу, к которой в дальнейшем не будет новых обращений в течение наиболее длительного времени. Можно, конечно, продемонстрировать, что подобная стратегия действительно оптимальна, однако реализовать ее, естественно, нельзя, поскольку мы не умеем предсказывать будущее. В связи с этим для обеспечения высоких скоростных характеристик и эффективного использования ресурсов мы попытаемся наиболее близко подойти к принципу оптимальности, применяя различные методы выталкивания страниц, приближающиеся к оптимальному.
Выталкивание случайной страницы
Если нам нужно иметь стратегию выталкивания страниц, которая характеризовалась бы малыми издержками и не являлась бы дискриминационной по отношению к каким-либо конкретным пользователям, то можно пойти по очень простому пути - выбирать случайную страницу. В этом случае все страницы, находящиеся в кэш-памяти, могут быть выбраны для выталкивания с равной вероятностью, в том числе даже следующая страница, к которой будет производиться обращение (и которую, естественно, удалять из кэш-памяти наиболее нецелесообразно). Поскольку подобная стратегия по сути как бы рассчитана на "слепое" везение и похожа на подход "пан или пропал", в реальных системах она применяется редко.