Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Лекция 5. Динамическое преобразование адресов



Динамическое преобразование адресов. (DAT)

Это средство доступно программой, если процессор находится в режиме EC.

DAT дает возможность прерывать выполнение программы в любой момент времени, записывать ее всю или частично на внешнем носитель, а затем восстановить возможно ее в другом месте ОП, продолжить выполнение, при этом нет необходимости изменять что-либо в программе, т.е. возможность создания ОС виртуальной памяти, превышающей ОП.

В режиме EC в слово состоянии программы находится бит DAT. Когда он выключен, то исполнительные адреса трактуются как логические, иначе как реальные.

В своей работе средства DAT используют информацию из управляющих регистров (УР).

PS - page size - размер страницы (8-9-й биты)

PS= 0 1 - 2kb или 1 0 - 4kb; другие значений не допускаются

SS - sector size - сегментный размер (11-12-й биты)

SS= 0 0 - 64kb или 0 1 - 1Mb; другие значений не допускаются

Здесь адрес и длина таблицы сегментов.

Формат одной записи таблицы сегментов:

i - бит доступности данного сегмента

Форматы страниниц:

Адрес - адрес страницы в реальной ОП.

i - бит доступности данной страницы.

Схема преобразования адресов:

Процессор IBM/370 трактует логический адрес как совокупность индекса сегмента, индекса страницы и индекса байта.

DAT выполняется следующим образом:

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

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

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

При выполнении DTA возможны следующие особые случаи:

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

2. особый случай использования страницы - индекс страницы превышает размер таблицы страниц и значение бита доступности указывает на недоступность страницы => программное прерывание.

Смена значения адреса таблицы сегментов в УР1 приводит к тому, что теже самые логические адреса будут преобразовываться уже в другие адреса. Поэтому говрят, что адрес аблицы сегментов определяет то адресное пространство, в котором выполняется программа.

Для каждого сегмента существует одна таблица страниц.

Буфер бытрой адресации. (TLD)

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

TLD во избежании ошибок должен быть очищен в следующих случаях:

1. смена значений в УР1

2. изменение содержимого в текущей таблице сегментов

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

Если страница стала доступной, то TLD очищаеть не надо, а если стала не доступной - надо.





Дата публикования: 2014-12-10; Прочитано: 227 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...