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