Global Informatics

- Информатика и вычислительная техника

Реальный режим работы МП

логический микропроцессор арифметический

Реальный режим (или режим реальных адресов) - это название было дано прежнему способу адресации памяти после появления процессора 80286, поддерживающего защищённый режим. Но только с появлением процессора 80386 можно говорить о защищённом режиме в современном понимании, так как в процессоре 80286 нет страничной адресации памяти.

Описание:

в реальном режиме при вычислении линейного адреса, по которому процессор собирается читать содержимое памяти или писать в неё, сегментная часть адреса умножается на 16 (или, что то же самое, сдвигается влево на 4 бита) и суммируется со смещением (если процессору передаётся не полный адрес из двух 16-битных значений - сегмента и смещения, - а только 16-битное смещение, то сегмент берётся из одного из сегментных регистров). Таким образом, адреса 0400h:0001h и 0000h:4001h ссылаются на один и тот же физический адрес, так как 400hЧ16+1 = 0Ч16+4001h.

Такой способ вычисления физического адреса позволяет адресовать 1 Мб + 64 Кб − 16 байт памяти (диапазон адресов 0000h…10FFEFh). Однако в процессорах 8086/8088 всего 20 адресных линий, поэтому реально доступен только 1 мегабайт (диапазон адресов 0000h…FFFFFh), а при адресации выше (в диапазоне 100000h…10FFEFh) происходит «заворот» - старший единичный бит адреса игнорируется и происходит обращение к 64 килобайтам в начальных адресах (0000h…FFEFh).

Процессор 80286 имеет 24-битную адресную шину (возможна адресация 224 = 16 Мб памяти), поэтому в них переполнения не происходит. Компьютеры IBM PC/AT построены на процессоре Intel 80286, но, из соображений совместимости с IBM PC и IBM PC/XT, построенных на Intel 808x, в них был введён логический элемент (вентиль), управляющий работой 21-го адресного провода (A20). Этот логический элемент, получивший название «Gate A20», по умолчанию отключен, что соответствует режиму совместимости, но управляется через контроллер клавиатуры (микросхема Intel 8042).

Использование:

После подачи сигнала сброса или включения питания процессор начинает работу в реальном режиме; в этом режиме начинается исполнение BIOS IBM PC-совместимого компьютера. В реальном режиме может быть выполнена инициализация части аппаратуры (например, контроллер ОЗУ чипсета), которая необходима для работы программ после переключения в защищённый режим.

Если размеры кода и данных программы невелики, она может целиком исполняться в реальном режиме. Так, например, DOS использует реальный режим, как основной, и сама не пытается перевести процессор в защищённый режим, предоставляя это пользовательским программам. Ранние версии Microsoft Windows могли работать только в реальном режиме. Даже Windows 3.0, среди трёх режимов работы, предусматривала запуск в реальном режиме и могла выполняться на 8086.

Процессоры 80286 и более поздние, работая в реальном режиме, в основном, сохраняют те же ограничения на размер адресного пространства, что и 8086. Для использования большего объёма памяти программам, разработанным для реального режима, необходимы специальные средства. На машинах с процессором 80286 и выше, можно, например, использовать драйверы вроде HIMEM.SYS. Есть также средства, предоставляемые недокументированной командой LOADALL (что, однако, сопряжено с целым рядом трудностей). Начиная с 80386 появилась опять же не документированная фирмой Intel возможность перевести процессор в режим, неофициально называемый «Unreal mode», позволяющий, хоть и с некоторыми ограничениями, использовать 32-битное физическое адресное пространство (4 Гбайт).

Несмотря на то, что Intel не предусмотрела возврат процессора 80286 из защищённого в реальный режим, компьютер IBM PC/AT имеет такую возможность, благодаря аппаратным особенностям и BIOS. Так, в нём предусмотрена программная подача сигнала сброса на процессор. BIOS также может различать причины / режимы перезапуска, анализируя содержимое ячейки памяти 40h:72h и байта по адресу 0Fh в конфигурационной памяти (CMOS). Поэтому можно заставить BIOS не выполнять начальную загрузку, оставить содержимое ОЗУ тем же, что и до сброса, а управление передать по адресу, помещённому в ячейку 40h:67h. Таким образом программа может многократно переключаться между защищённым и реальным режимами, хотя этот способ требует сравнительно большого расхода времени на каждое переключение.

Возможность «нормального», без ухищрений, программного возврата в реальный режим была предусмотрена Intel только в процессорах 80386 и выше. Однако в 80386 большую ценность имеет другая новая возможность - Режим виртуального 8086 (V86, VM86). При этом программы получают возможность использовать как бы прежний способ адресации 8086, в то время как процессор находится в защищённом режиме, а линейный адрес, вычисленный по правилам 8086, подвергается страничной трансляции. Режим V86 позволил создавать виртуальные машины. Операционная система может ограничить доступ к той или иной области памяти (см. Защита памяти) для каждой виртуальной машины, выделять для них виртуальную память вместо реальной физической и контролировать обращения к портам ввода-вывода. Всё это используется для организации работы DOS внутри многозадачных систем вроде OS/2 и Microsoft Windows. При этом каждой виртуальной DOS-машине доступен только 1 мегабайт адресного пространства, но их может быть запущено одновременно большое количество.

Перейти на страницу: 1 2

Статья в тему

Исследование критериев оптимизации для нелинейных АС с различными регуляторами
Задачи по управлению тем или иным явлением или процессом, возникающие в повседневной практической деятельности человека, обширны и многообразны. Управление можно определить как совокупность действий, обеспечивающих проведение любого процесса в целях достижения определённых результатов. Системы авто ...

Главные разделы


www.globalinformatics.ru © 2021 - Все права защищены!