Читайте также:
|
|
Над стандартной оперативной памятью располагается верхняя память (UMB), которая располагается по адресам в диапазоне A0000h—FFFFFh (от 640 Кб до 1 Мб), ее размер составляет 384 Кб. Здесь находится информация, которая служит для сопряжения прикладных программ с различными устройствами.
Сначала в нижней области UMB располагается область памяти видеоадаптера, которая находится в пределах адресов от A000h:0000h до C000h:0000h и занимает 128 Кб. Конструктивно она располагается в видеоадаптере, а логически помещена в адресное пространство памяти компьютера. Фактически это область, через которую можно получить доступ к видеопамяти, где хранится изображение. Обращение к видеопамяти производится через «окно» размером 64 Кб, адрес которого приходится на начало блока A000h:0000h.
В последних 64 Кб верхнего блока памяти выше адреса F000h:0000h располагается ROM BIOS. Здесь, например, находится информация, внесенная в CMOS Setup при конфигурировании PC.
Между памятью видеоадаптера и ROM BIOS находятся несколько свободных блоков, которые могут быть использованы различным образом.
Дополнительная память (EMS)
Основной проблемой при использовании реального режима является недостаток места в стандартной памяти.
Механизм избавления от этого недостатка следующий. Почти всегда в области памяти UMB остается свободное место, на этом базируется спецификация отображаемой (дополнительной) памяти (EMS Expanded Memory Specification), эта спецификация позволяет использовать память для прикладных программ свыше стандартных 640 Кб. Для этого используется стандарт, основанный на переключении блоков (страниц) памяти. Он использует окно размером 64 Кб, которое выделяется в незанятой области UMB, между видеобуфером и ROM-BIOS. Это окно разбито на 16-Кбайтные страницы. С помощью специального драйвера строятся «отображения» четырех произвольных физических страниц в логические из дополнительной (Expanded) памяти, которая ранее располагалась на специальной карте расширения. Поэтому эту память часто называют отображаемой памятью.
Все процессоры начиная с i80368 могут эмулировать расширенную память (старше 1Мб) как дополнительную и отдельная карта уже не нужна.
Когда процессор обращается к области памяти, входящей в окно (адрес памяти которого располагается в UMB), аппаратно происходит обращение к соответствующим страницам дополнительной памяти, т.е. к выбранной странице старше 1 мегабайта.
Используя этот механизм можно задействовать области UMB и видеопамяти. Обычно в UMB переносятся из стандартной оперативной памяти части ядра DOS и драйверы.
Расширенная память (Extended память, XMS)
Расширенная память XMS (eXtended Memory Specification) это вся память свыше границы 1Мб (включая HMA). Чтобы иметь доступ к этой памяти в MS DOS, необходим специальный драйвер, с помощью которого данные пересылаются из стандартной память в расширенную и обратно. Для работы с этой памятью необходимо чтобы процессор мог работать в защищенном режиме.
В расширенной памяти нужно выделить еще одну область памяти – HMA (High Memory Area), которая занимает 64 Кb непосредственно выше границы 1Мб. Механизм возникновения этой области рассмотрен выше. Итак, область HMA это память имеющая диапазон адресов от 100000 до 10FFEF, т.е. она имеет размер почти 64 Кb. Проще говоря, это Extended память доступная в реальном режиме работы процессора. Необходимую программную поддержку выполняет специальный драйвер.
Дата добавления: 2015-07-08; просмотров: 262 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Сегментная адресация в реальном режиме. | | | Адресация памяти в защищенном режиме работы процессора |