Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

Страничная организация оперативной и математической памяти заключается в разбиении адресных пространств памяти на страницы, расположенные в целочисленных границах, т.е. размером, кратным степени числа два (основания системы счисления). Это обычная многомерная декартова система координат.

В МП IA-32 размер страницы выбран равным 212 = 4096 байт (4 Кб).

При этом старшие 20 разрядов адреса определяют номер страницы, а младшие 12 разрядов – номер байта в странице. Адресация информации на магнитных дисках имеет свои особенности. Минимальным блоком информации является сектор (на круговой дорожке) в 512 байт. Секторы объединяются в кластеры. Размер кластера зависит от системы разметки. Чаще всего используются кластеры размером в 4 Кб, т.е. равные странице оперативной памяти. В магнитных дисках используется файловая структура поиска. Для поиска информации на дисках имеется специальная FAT-таблица (File Allocation Table – таблица размещения файлов), в которой записаны имена файлов и список адресов расположения последовательностей кластеров на дорожках диска. Диски читаются не отдельными кластерами в произвольном порядке, а последовательно от начального кластера в файле до последнего. Но для организации виртуальной памяти требуется чтение страниц в произвольном порядке.

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

Известны две схемы построения страничной виртуальной памяти:

· на основе таблицы математических страниц,

· на основе таблицы физических страниц.

Виртуальная память на основе таблицы математических страниц

Схема построения виртуальной памяти на основе таблицы математических страниц представлена на рисунке. Это один из первых вариантов виртуальной памяти. Она была использована в ЭВМ "Атлас" (Англия).

ОП – страничная оперативная память, разбитая на страницы от 0 до m.

МП А – программа А, разбитая на страницы.

МП В – программа В, разбитая на страницы,

НМД – дисковая память, поддерживающая страничную структуру данных.

Изначально, программы А и В хранятся на магнитных дисках. При активизации этих программ, часть страниц по мере выполнения программы, переписывается в оперативную память.

Процедура переадресации программ производится следующим образом.

При обращении к памяти номер математической страницы из регистра математического адреса (Рег.МА) поступает в таблицу математических страниц. Таблица математических страниц строится на основе ассоциативной памяти. Входной адрес (из Рег.МА) параллельно сравнивается с содержимым всех строчек. Для представленного на рис. 8.3 примера совпадение фиксируется для первой и третий строчки, т.е. для всех совпадающих значений входного и записанных номеров.

Одновременно со сравнением номеров производится сравнение бита доступности (d). Выбирается строка с d=0.

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

Адрес обращения формируется на регистре физического контрактацией номера страницы с номером байта в странице.

При отсутствии совпадений в таблице фиксируется страничный промах, т.е. отсутствие страницы в оперативной памяти.

Страничный промах является стартовым сигналом свопинга с использованием прерывания (прерывания по страничному промаху).

Процедура свопинга

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

После подкачки требуемой страницы процессор переключается на обработку команд прерванной программы, но в начале проверяется, была ли модификация данных удаляемой страницы. Если модификация была, то процессор активизирует устройство прямого доступа к памяти (ПДП) для сохранения данных этой страницы в памяти подкачки.

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

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

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

Преимуществом этой системы виртуальной памяти является малый размер таблицы.

Количество строк таблицы физических страниц определяется емкостью не математической, а физической памяти. Но она почти во всех системах, за небольшим исключением (в моделях семейства PDP-11 емкость оперативной памяти в 4 раза больше емкости математической) использует неполный набор адресов по отношению к математической памяти, особенно, после того как стали использовать в качестве элементов памяти энергозависимые электронные схемы.

Упрощенная схема виртуальной памяти на основе таблицы физических страниц

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

Таблицы физических страниц составляются для каждой задачи. В каждой строке таблицы физических страниц содержится номер страницы физической памяти (оперативной памяти или на магнитных дисках). Страницы, расположенные в оперативной памяти, отмечаются признаком доступности d = 0, а расположенные на магнитных дисках – d = 1.

Для привязки таблиц к задачам используется регистр базового адреса таблицы физических страниц (БА ТФС), индивидуальный для каждой задачи.

Процедура трансляции страниц имеет следующие этапы:

1. Вычисление адреса обращения к строке таблицы сложением номера страницы математического адреса с базовым адресом таблицы физических таблиц (БА ТФС).

2. Чтение по вычисленному адресу из таблицы физических страниц значения адреса физической памяти и бита доступности (d=0).

3. В случае доступности данных (d=0) – обращение по физическому адресу с учетом номера байта внутри страницы данных для записи или чтения в зависимости от кода операции.

4. В случае страничного промаха (d=1) – свопинг данных, коррекция таблицы и повтор обращения к данным.

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

В 32-разрядных ЭВМ максимальная емкость памяти может достигать величины 232 = 4 Гбайта, а количество математических страниц 220 = 1М. С учетом 20-разрядного адреса строки физического адреса и дополнительных управляющих разрядов строка должна содержать 4 байта, общая емкость памяти для хранения таблицы только одной программы составляет 224 = 4 Мбайта. Для первых ЭВМ, использовавших виртуальную память, это было значительной величиной, чтобы хранить таблицы десятков программ в процессоре или в оперативной памяти.

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

Каждая из задач может использовать весь объем адресного пространства сегмента (4Гбайт). Максимальное количество физических страниц (по 4 Кбайт) в полном сегменте составляет 1Мбайт. Каждая строчка таблицы физических страниц должна содержать 4 байта (20 бит номера физической страницы, бит доступности и дополнительная информация для меток разрешения модификации страницы и вычисления устаревших страниц). Таким образом, размер таблицы физических страниц только одного сегмента программы может составлять 4 Мбайт. Это было слишком много для размещения таблиц в процессоре или в оперативной памяти первых ЭВМ. По этой причине таблицы физических страниц хранятся в памяти на магнитных дисках, и их применение связано с разбиением таблиц на более мелкие участки (разделы) и с использованием операций ввода/вывода.

Таблицы физических страниц делятся на разделы (до 1024 разделаов по 1024 страницы в разделе).

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

Таблица каждого раздела содержит 1024 строчек по четыре байта, т.е. занимает 4096 Кбайт (одну страницу виртуальной памяти). В строчках таблицы разделов фиксируются физические номера страниц раздела, признак доступности (размещение в оперативной памяти или памяти на магнитных дисках) и дополнительная информация. Признак доступности, равный нулю, означает расположение копии страницы в оперативной памяти и на магнитных дисках, единице – только в памяти на магнитных дисках (в области ввода).

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

Одновременно в оперативной памяти должны находиться каталоги и таблицы физических разделов для всех задач. При переключении задач должны активизироваться каталоги и таблицы физических страниц новых задач. Для этого процессор содержит регистр базового адреса таблицы физических страниц БА ТФС. При каждом переключении задач в него записывается базовый адрес каталога новой задачи.

Вопросы и/или темы для самопроверки:

1. Проблемы переадресации программ.

2. Проблема свопинга.

3. Память единого уровня.

4. Страничная организация памяти.

5. Использование регистра базового адреса таблицы физических таблиц.

6. Страничный промах.

7. Основные биты строк TLB.

8. Алгоритм листания.

11 неделя. Лекция 11 (2-е Тестирование и лекция)




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


Дата добавления: 2014-01-06; Просмотров: 850; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.024 сек.