The design of the UNIX Operating System 53 страница



 

Рассмотрим функционирование менеджера памяти при наличии ассоциативной памяти.

 

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

 

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

 

Число удачных поисков номера страницы в ассоциативной памяти по отношению к общему числу поис-ков называется hit (совпадение ) ratio (пропорция, отношение). Иногда также используется термин "про-цент попаданий в кэш". Таким образом, hit ratio – часть ссылок, которая может быть сделана с использо - ванием ассоциативной памяти. Обращение к одним и тем же страницам повышает hit ratio. Чем больше hit ratio, тем меньше среднее время доступа к данным, находящимся в оперативной памяти.

 

Предположим, например, что для определения адреса в случае кэш-промаха через таблицу страниц необ-ходимо 100 нс, а для определения адреса в случае кэш-попадания через ассоциативную память – 20 нс. С 90% hit ratio среднее время определения адреса – 0,9x20+0,1x100 = 28 нс.

 

Вполне приемлемая производительность современных ОС доказывает эффективность использования ас-социативной памяти. Высокое значение вероятности нахождения данных в ассоциативной памяти связа-но с наличием у данных объективных свойств: пространственной и временной локальности.


Основы операционных систем 87

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

 

Рассмотренная двухуровневая (ассоциативная память + таблица страниц) схема преобразования адреса является ярким примером иерархии памяти, основанной на использовании принципа локальности, о чем говорилось во введении к предыдущей лекции.

 

Инвертированная таблица страниц

 

Несмотря на многоуровневую организацию, хранение нескольких таблиц страниц большого размера по-прежнему представляют собой проблему. Ее значение особенно актуально для 64-разрядных архитектур, где число виртуальных страниц очень велико. Вариантом решения является применение инвертирован-ной таблицы страниц (inverted page table). Этот подход применяется на машинах PowerPC, некоторых ра-

 

бочих станциях Hewlett-Packard, IBM RT, IBM AS/400 и ряде других.

 

В этой таблице содержится по одной записи на каждый страничный кадр физической памяти. Сущест-венно, что достаточно одной таблицы для всех процессов. Таким образом, для хранения функции ото-бражения требуется фиксированная часть основной памяти, независимо от разрядности архитектуры, размера и количества процессов. Например, для компьютера Pentium c 256 Мбайт оперативной памяти нужна таблица размером 64 Кбайт строк.


Дата добавления: 2021-01-21; просмотров: 101; Мы поможем в написании вашей работы!

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






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