Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700363.doc
Скачиваний:
16
Добавлен:
01.05.2022
Размер:
3.69 Mб
Скачать

Метод прямого отображения

Метод прямого отображения является наиболее простым в реализации и понятным. Его сущность поясняет рис. 26.

Виртуальный адрес разбивается на две составляющие: номер блока в виртуальном адресном пространстве и смещение внутри блока. По номеру блока находят соответствующую запись в таблице отображения, и если данный блок отображается на ОЗУ, то из таблицы считывают адрес начала блока в ОЗУ. Затем начальный адрес блока складывают со смещением (вторая компонента виртуального адреса), и находят физический адрес в ОЗУ, соответствующий данному виртуальному адресу.

Если же данный блок виртуального адресного пространства не отображается на ОЗУ, то по таблице находят адрес этого блока в файле подкачке и переносят в ОЗУ.

Рис.26. Принцип прямого поблочного отображения

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

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

Метод ассоциативного отображения

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

Такой подход известен как метод ассоциативного отображения, его сущность поясняется рис. 27.

Рис.27. Принцип ассоциативного поблочного отображения

Основные отличия от метода прямого отображения состоят в следующем:

  • таблица отображения расположена в процессоре и не требует для обращения к ней дополнительных циклов обращения к памяти;

  • специальная организация таблицы отображения (заметьте, это уже не просто массив в памяти, а специальное устройство): запрос одновременно направляется ко всем записям таблицы, и только одна запись, для которой обнаружилось совпадение ключа (в данном случае, номера блока), выдает информацию для пересчета виртуального адреса в физический.

Метод ассоциативного отображения может работать очень быстро, в идеале, без какой-либо дополнительной задержки. Но высокая стоимость и аппаратная сложность ассоциативной таблицы делает его практически неприменимым на практике.

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

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