Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ПЭВМ.doc
Скачиваний:
16
Добавлен:
23.04.2019
Размер:
10.46 Mб
Скачать

2 Виртуальная память при страничной организации.

Лист 2.

Рисунок 19 Страничная организация памяти

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

Преобразование виртуального адреса в физический: Лист 2 рис. Б. При обращении к памяти номер виртуальной страницы P берётся из виртуального адреса и служит для входа в таблицу страниц за номером физической страницы P(n, p), где n – номер программы. Этот номер вместе с номером байта l, взятым из виртуального адреса, образует физический адрес, по которому происходит обращение к ОП.

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

3 Виртуальная память при сегментно-страничной организации.

Лист 3

Рисунок 20 - Виртуальная память при сегментно-страничной организации

На практике память делится на сегменты, состоящие из страниц. Если страница стандартна и равна 4К, то сегменты в PM имеют разный объём. Виртуальный адрес страницы дополняется номером сегмента S. Для преобразования виртуального адреса в физический используются 2 вида таблиц – таблица сегментов и таблица страниц, которые формируются ОC при распределении памяти на сегменты и страницы и всегда находятся в физической ОП. Таблица сегментов содержит номер сегмента данной программы и начальные адреса соответствующих им таблиц страниц. Таблица страниц содержит номер виртуальной страницы, соответствующий ей номер физической страницы и тип памяти (ОП или ВЗУ), где находится страница.

Преобразование адресов происходит за 2 обращения к ОП (2 этапа).

Первый этап:

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

Второй этап:

Адрес начала таблицы страниц суммируется с номером виртуальной страницы p из РgВА. По полученному адресу выбирается номер искомой физической страницы P(n,s,p), где n – номер программы. Если эта страница находится в физической ОП, то её номер сразу заносится в регистр физического адреса РгФА. К нему добавляется номер байта в странице l и по полученному физическому адресу происходит обращение.

Если в ВЗУ, то производится прерывание по страничному сбою. ОC передаёт страницу из ВЗУ в ОП, при этом меняет номер физической страницы P(n,s,p) и только после этого производится обращение.

Одновременно сформированный физический адрес страницы P(n,s,p) передаётся в ББП – буфер быстрой переадресации, куда уже занесён виртуальный адрес страницы n,s,p. ББП – это кэш у современных МП и он хранит эти данные для небольшого числа недавно используемых страниц, поэтому при каждом обращении к ОП преобразование адресов начинается с просмотра ББП лист 3 рисунок б, где ассоциативным признаком является виртуальный адрес страницы. Если виртуальный адрес хранится в ББП, то выбирается соответствующий ему физический и двухэтапного обращения к ОП производится не будет.