Виртуальная память на основе таблицы математических страниц. Схема построения виртуальной памяти на основе таблицы математических страниц представлена на рис
Схема построения виртуальной памяти на основе таблицы математических страниц представлена на рис. 8.3. Это один из первых вариантов виртуальной памяти. Она была использована в ЭВМ "Атлас" (Англия).
На рис. 8.3. использованы обозначения:
ОП – страничная оперативная память, разбитая на страницы от 0 до m.
МП А – программа А, разбитая на страницы.
МП В – программа В, разбитая на страницы,
НМД – дисковая память, поддерживающая страничную структуру данных.
Изначально, программы А и В хранятся на магнитных дисках. При активизации этих программ, часть страниц по мере выполнения программы, переписывается в оперативную память.
Размещение страниц программ фиксируется в таблице математических страниц. На рис. 8.3 нулевая и вторая страницы программы А размещены, соответственно, в нулевой и первой странице оперативной памяти, а нулевая и первая страница программы В, соответственно в 3 и 2 странице.
Одна из этих программ, например А, непосредственно обрабатывается процессором. Эта активная программа. Другая программа (В) ждет своего кванта времени. Активная программа в таблице математических страниц отмечается нулевым признаком доступности (d), остальные программы, ждущие своего кванта времени, отмечаются единичным признаком доступности. При переключении программ содержимое колонки признаков доступности (d)обновляется в соответствии с доступностью страниц новой активной задачи.
Процедура переадресации программ производится следующим образом.
При обращении к памяти номер математической страницы из регистра математического адреса (Рег.МА) поступает в таблицу математических страниц. Таблица математических страниц строится на основе ассоциативной памяти. Входной адрес (из Рег.МА) параллельно сравнивается с содержимым всех строчек. Для представленного на рис. 8.3 примера совпадение фиксируется для первой и третий строчки, т.е. для всех совпадающих значений входного и записанных номеров.
Одновременно со сравнением номеров производится сравнение бита доступности (d). Выбирается строка с d=0.
Порядковый номер выбранной строки определяет номер страницы в оперативной (физической) памяти. Формирование этого номера реализуется шифратором.
Адрес обращения формируется на регистре физического адреса (Рег. ФА на рис. 8.3.) контрактацией номера страницы с номером байта в странице.
При отсутствии совпадений в таблице фиксируется страничный промах, т.е. отсутствие страницы в оперативной памяти.
Страничный промах является стартовым сигналом свопинга с использованием прерывания (прерывания по страничному промаху).
Процедура свопинга
В таблице математических страниц всегда оставляется свободная строчка. В случае страничного промаха, в программе прерывания предусмотрена процедура переписи этой страницы из памяти на магнитных дисках (области ввода) в свободную область оперативной памяти. Эта процедура, в лучшем случае, по времени равняется одному обороту диска. В это время процессор определяет страницу-кандидата на удаление из оперативной памяти (устаревшую страницу). При этом используются различные алгоритмы определения устаревшей страницы.
После подкачки требуемой страницы процессор переключается на обработку команд прерванной программы, но в начале проверяется, была ли модификация данных удаляемой страницы. Если модификация была, то процессор активизирует устройство прямого доступа к памяти (ПДП) для сохранения данных этой страницы в памяти подкачки.
Таким образом, во время свопинга процессор не простаивает, а вычисляет адрес страницы-кандидата на удаление из оперативной памяти.
Рассмотренная система виртуальной памяти является полной. Она выполняет функции переадресации (реализует независимость подготовки программ) и свопинга (организации памяти единого уровня).
Недостатками этой системы виртуальной памяти являются использование не адресной, а более сложной ассоциативной памяти и выходного дешифратора.
Преимуществом этой системы виртуальной памяти является малый размер таблицы.
Вопросы для самопроверки:
1. Содержимое страниц таблицы математических страниц.
2. Бит доступности.
3. Тип адресации таблиц математических страниц.
4. Бит доступности в таблицах математических страниц.
5. Определение номера физической страницы.
6. Определение страничного промаха.
7. Процедура свопинга.
8. Положительные и отрицательные стороны организации виртуальной памяти на основе таблицы математических страниц.
Дата добавления: 2015-08-14; просмотров: 931;