Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mikroprotsessornaya_tekhnika.docx
Скачиваний:
77
Добавлен:
18.05.2015
Размер:
1.8 Mб
Скачать

25 Концепция виртуальной памяти мпс. Страничная организация виртуальной памяти. Способы страничной организации.

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

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

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

  • Для установления соответствия между виртуальными и физическими адресами на практике используется механизм динамического преобразования адресов DAT. Имеет свойство искусственной смежностью: смежные адреса виртуального адресного пространства не обязательно будут смежными в физической памяти. Это свойство позволяет устранять фрагментацию физической памяти.

Страничная организация виртуальной памяти.

Виртуальный адрес – пара v = (p, d), где p – номер страницы, содержащей адрес v, d – смещение адреса v относительно начала страницы p.

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

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

Прежде чем программа начинает выполняться, ОС загружает физический адрес таблицы отображения страниц в регистр начального адреса таблицы. Этот базовый адрес a таблицы прибавляется к номеру страницы p, образуя адрес основной памяти a + p для строки страницы p в таблице. В этой строке указано, что виртуальной странице p соответствует страничный кадр p. Затем к значению p пристыковывается (путем конкатенации) смещение d, так что образуется физический адрес r. Такой подход называется способом прямого отображения.

Способ прямого отображения

Способ ассоциативно-прямого отображения

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

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

В ходе преобразования адресов сначала проверяется ассоциативная память, и если в ней есть сведения о необходимой странице, преобразование происходит без использования полной таблицы страниц в основной памяти.

Такой буфер называется буфером динамической трансляции или буфером ассоциативной трансляции адресов виртуальной памяти TLB – Translation Look aside Buffer.

Способ ассоциативно-прямого отображения

Многоуровневое разбиение на страницы

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

Суть разбиения: одномерное виртуальное пространство подразделяется на 2 (возможно и более) уровня – разделов и страниц, а преобразование виртуального адреса производится по двухуровневой таблице. На первом уровне находится таблица разделов, которая содержит ссылки на таблицы страниц каждого раздела. На втором уровне находятся таблицы страниц разделов.

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

Многоуровневое разбиение на страницы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]