Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LABA4.doc
Скачиваний:
8
Добавлен:
04.04.2013
Размер:
468.48 Кб
Скачать

Преобразование адресов ассоциативным отображением

Один из методов ускорения динамического преобразования адресов заключается в том, чтобы всю таблицу преобразования страниц разместить в ассоциативной памяти, длительность цикла которой, быть может, на порядок меньше, чем у первичной памяти. На рис.4 показано, каким образом осуществляется динамическое преобразование адресов с чисто ассоциативным отображением.

Работающая программа обращается по адресу оперативной памяти

v=(p, d). Все строки таблицы, хранящиеся в ассоциативной памяти, одновременно сравниваются с номером блока оперативной памяти р. Ассоциативная память выдает значение р' как номер блока кэш-памяти, соответствующего странице р, и путем конкатенации р' со значением смещения d формируется адрес кэш-памяти г. Отметим, что стрелки, подведенные на рисунке к ассоциативной памяти, фактически затрагивают каждый элемент таблицы. Это означает, что каждый элемент ассоциативной памяти одновременно анализируется на совпадение с адресом р. Именно из-за этого ассоциативная память является столь дорогостоящей. Здесь возникает дилемма: чтобы концепцию кэш-памяти можно было реализовать на практике, необходимо обеспечить быстрое динамическое преобразова

Номер блока ОП Смещение

P D

Номер блока КП Смещение

P’ D

P P’

ние адресов. Однако применение ассоциативной памяти для реализации чисто ассоциативного отображения обходится слишком дорого.

Стратегии выталкивания страниц

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

* Принцип оптимальности.

* Выталкивание случайной страницы.

* Первой выталкивается первая пришедшая страница (FIFO).

* Первой выталкивается дольше всего не использовавшаяся страница (LRU).

* Первой выталкивается наименее часто использовавшаяся страница (LFU).

* Первой выталкивается не использовавшаяся в последнее время страница (NUR).

Принцип оптимальности

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

Выталкивание случайной страницы

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

Соседние файлы в предмете Организация ЭВМ