Скачиваний:
27
Добавлен:
15.09.2014
Размер:
4.36 Кб
Скачать

РЕАЛЬНЫЙ РЕЖИМ h4.Y {COLOR: RED; text-decoration: underline} РЕАЛЬНЫЙ РЕЖИМ ОБЩИЕ СВЕДЕНИЯ Реальным называется режим работы процессора после начальной загрузки. Процессоры первого поколения (i8088 и i8086) могли работать только в таком режиме. Процессор i80286 и 32-битные процессоры могут работать и в других режимах (защищенном и виртуальном), но после перезагрузки системы все равно находятся в реальном режиме. Этот режим является базовым режимом для операционной системы DOS, другие системы также используют его перед переключением в другие режимы.

РАБОТА С АДРЕСАМИ В реальном режиме линейный (физический) адрес формируется при помощи сегмента и смещения. Сегмент обычно хранится в специальном регистре - сегментном или указывается явно. При формировании 20-разрядного адреса (именно такова разрядность адресной шины первых процессоров) сегмент содержит первые 16 разрядов. Смещение содержит младшие 16 разрядов, 12 из которых добавляются к сегменту. Такая схема получения адреса связана с тем, что в первых процессорах разрядности регистров не хватало для формирования полного адреса.

 

Логично предположить, что при сложении сегмента и части смещения может возникнуть переполнения. В этом случае процессоры 8088 и 8086 просто отбросят старший, 21-ый бит и адресация будет производится от начала памяти. Старшие процессоры поступят также в случае, если их адресная линия А20 (т.е. 21 бит на адресной шине) блокирована. В противном случае произойдет обращение к памяти за пределами 1-го мегабайта, что используется при работе по интерфейсу HMA.

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

ОБРАБОТКА ПРЕРЫВАНИЙ При выполнении инструкции INT или генерации аппаратного (асинхронного) прерывания вызывается системная процедура, адрес которой содержится в таблице векторов прерываний. Для получения нужного индекса в таблице номер прерывания умножается на 4. Из таблицы выбирается дальний указатель (4 байта - сегмент и смещение) на точку входа, сохраняются в стеке CS , IP и флаги, блокируются прерывания (флаг IF), трассировка (флаг TF) и выполняется переход в точку входа. По команде IRET управление возвращается в точку вызова или прерванного управления (в случае асинхронного прерывания). Адрес таблицы прерываний для процессоров 808x всегда один - начало памяти (0000:0000), для старших процессоров он определяется содержимым регистра IDTR.

Соседние файлы в папке Учебник