Реальный режим и его основные особенности
В реальном режиме процессор старшей модели выполняет программы, составленные для базовой модели Intel 8086 или для реального режима процессоров младших моделей. С точки зрения программиста процессор старшей модели в R-режиме представляет собой более быстрый процессор Intel 8086 с расширением набора команд и регистров до уровня процессора старшей модели. Основная особенность R-режима состоит в формировании физического адреса на основе простейшей модели сегментированной памяти (как в базовой модели Intel 8086). Физический адрес формируется как сумма двух 16-разрядных компонент, первая из которых представляет собой содержимое одного из сегментных регистров и трактуется как старшая часть базового адреса сегмента, вторая компонента представляет собой внутрисегментное смещение (offset). ФА (физический адрес) = seg*16 + offset 16 бит16 бит 20 бит
Размеры сегментов фиксированы и составляют 216байта = 64 Ki-байта (кибибайта) (по разрядности поля offset). После включения процессора программа инициализации автоматически вводит его в R-режим. Аналогичная процедура выполняется и по сигналу сброса RESET. Переход из R-режима в защищенный режим (Р-режим) может осуществляться командой MOV, загружающей управляющий регистр CR0 новым состоянием с установленным крайним правым битом (РЕ = 1). Перед этим в R-режиме должна быть проведена загрузка необходимых регистров, в частности GDTR и IDTR (IDT – дескрипторная таблица прерываний – аналог таблицы векторов прерываний для защищенного режима) и таблиц, в частности GDT и IDT, используемых в Р-режиме. Обратное переключение из Р-режима в R-режим выполняется также командой MOV, загружающей регистр CR0 новым состоянием со сброшенным битом РЕ. Предварительно необходимо выполнить некоторые подготовительные процедуры, обеспечивающие сохранение правильного функционирования при переходе к реальному режиму, в частности: • отключить механизм страничной трансляции адресов, перейдя к использованию линейных адресов, равных физическим; • установить для всех сегментов размер, равный 64 Ki-байта. После выполнения команды MOV, сбрасывающей в CR0 бит РЕ, следует перейти к программе, выполняемой в R-режиме с помощью команды межсегментного перехода JMP FAR, которая очищает очередь команд (очередь команд – это необходимый элемент конвейера команд). Затем в сегментные регистры загружается новое содержимое, обеспечивающее формирование физических адресов в реальном режиме.
3.3. Основные отличия R-режима старших моделей Intel 80x86 от Intel 8086
2. Возможность использования расширенного набора регистров. Допускается использование регистров, отсутствующих в базовой модели Intel 8086, в частности: дополнительных сегментных регистров (FS и GS), регистров системных адресов GDTR и IDTR (но не LDTR и TR), регистров отладки (DR0-DR7), управляющего регистра CR). 3. Возможность использования 32-разрядных операндов. По умолчанию в R-режиме используются 8- и 16-разрядные операнды. Возможность использования 32-разрядных операндов обеспечивается наличием специального префикса OS – Operand Size перед командой. 4. Возможность использования 32-разрядных адресов обеспечивается за счет префикса AS – Address Size перед командой. Однако, при выходе адреса за пределы стандартного сегмента генерируется прерывание стандартного типа 13 «нарушение общей защиты, выход за пределы сегмента». 5. Возможность использования физических адресов, превышающих 1 Mбайт. Максимальное значение физического адреса, формируемое в R-режиме при максимальных значениях 16-разрядных компонент равно: seg*16 F F F F 0 offset + 0 F F F F (1 0 F F E F)16 = (1114095)10
Так как разрядность шины адреса – 32 или даже 36 бит, то в R-режиме возможна адресация за пределами 1 Mi байта памяти. В процессоре Intel 8086 используется 20-разрядная шина адреса, в связи с чем при суммировании подобных компонент производится так называемое «заворачивание» адреса, поэтому для данного примера на шину адреса будет выставлен адрес (0FFEF)16.
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (383)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |