Интерфейсы ПК

       

А.1. Пространство памяти


А.1. Пространство памяти

Логическая структура памяти PC обусловлена системой ад- ресации процессоров семейства х86. Процессоры 8086/88, применявшиеся в первых моделях IBM PC, имели адресное пространство 1 Мбайт (20 бит шины адреса). Начиная с про- цессора 80286 шина адреса была расширена до 24 бит, затем (386DX, 486, Pentium) до 32 и, наконец, до 36 бит (Pentium Pro, Pentium II). В реальном режиме процессора, используемом в DOS, формально доступен лишь 1 Мбайт памяти. Однако из-за ошибки эмуляции процессора 8086 в реальном режиме процессоры 80286 и выше имеют макси- мально доступный адрес lOFFEFh, что на (64К-16) байт больше. Область lOOOOOh-lOFFEFh называется высокой па- мятью - High Memory Area (HMA). В нее помещают часть ОС реального режима и небольшие резидентные програм- мы. Для полной совместимости с процессором 8086/88 име- ется вентиль линии А20 шины адреса - GateA20, который либо пропускает сигнал от процессора, либо принудительно обнуляет линию А20 системной шины адреса.

Основную часть адресного пространства занимает оператив- ная память. Объем установленной памяти определяется те- стом POST при включении компьютера, начиная с младших адресов. Натолкнувшись на отсутствие памяти (ошибку), тест останавливается и сообщает системе объем памяти.

Память, непосредственно адресуемая процессором, распре- деляется следующим образом:

OOOOOh-9FFFFh - Conventional {Base) Memory, 640 Кбайт - стандартная (базовая) память, доступная DOS и программам реального режима. В некоторых сис- темах с видеоадаптером MDA верхняя граница сдвигает- ся к AFFFFh (704 Кбайт). Иногда верхние 128 Кбайт стандартной памяти (область 80000h-9FFFFh) называют Extended Conventional Memory.

AOOOOh-FFFFFh - Upper Memory Area (UMA), 384 Кбайт - верхняя память, зарезервированная для си- стемных нужд. В ней размещаются буферы интерфейс- ных адаптеров (например, видеопамять) и постоянная память (BIOS с расширениями).

Память выше lOOOOOh - Extended Memory -дополнитель- ная (расширенная) память, непосредственно доступная только в защищенном режиме компьютеров 286 и выше.


Для компьютеров класса AT с 24- битной шиной адреса верх- няя граница дополнительной памяти - FDFFFFh (макси- мальный размер 14,9 Мбайт). Область FEOOOOh-FFFFFFh содержит ПЗУ BIOS (ROM BIOS Area); обращение к ней эквивалентно обращению к ROM BIOS по адресам OEOOOOh- OFFFFFh.

Для процессоров 386 и 32-битной шины адреса теоретичес- кая верхняя граница - 4 Гбайт, а для Pentium Pro и Pentium II-64 Гбайт (36-битная шина адреса). Обращение по адресам, превышающим границу установленной опера- тивной памяти (или максимально возможного объема), транслируется на шину PCI, которая имеет 32-битную ад- ресацию. В компьютерах с 32-разрядной шиной адреса об- раз BIOS дополнительно проецируется в адреса FFFEOOOOh- FFFFFFFFh. Иногда используется проекция BIOS в область FEOOOOh-FFFFFFh, что не позволяет использовать более

11 Зак.№530

16 Мбайт ОЗУ, поскольку система находит только непре- рывную область расширенной памяти. Для использования специфических адаптеров ISA, имеющих буфер с адресами в 16-м мегабайте памяти, в BIOS Setup предусматривают опцию Memory Hole At 15- 16М. Ее установка не позволяет использовать оперативную память свыше 16 Мбайт.

Для взаимодействия с интерфейсными адаптерами ISA ин- тересна верхняя память UMA. Стандартное распределение верхней памяти выглядит следующим образом:

AOOOOh-BFFFFh - Video RAM, 128 Кбайт - видеопамять (обычно используется не полностью).

COOOOh-DFFFFh - Adapter ROM, Adapter RAM, 128 Кбайт - зарезервировано для адаптеров, использую- щих собственные модули ROM BIOS и/или специаль- ное ОЗУ, разделяемое с системной шиной.

EOOOOh-EFFFFh - свободная область, 64 Кбайт, иногда занятая под System BIOS.

т FOOOOh-FFFFFh - System BIOS, 64 Кбайт - ROM на системной плате (в XT используется только FEOOOh- FFFFFh - 8 Кбайт).

т FDOOOh-FDFFFh - ESCD (Extended System Configuration Data) - область энергонезависимой памяти, используе- мая для конфигурирования устройств РпР. Эта область присутствует только при наличии РпР BIOS; ее положе- ние и размер жестко не заданы.

В области UMA практически всегда присутствует графичес- кий адаптер. В зависимости от модели он занимает следую- щие области:

т MDA RAM - BOOOOh-BOFFFh т CGA RAM - B8000h-BBFFFh т EGA ROM - COOOOh-C3FFFh/C7FFFh m VGA ROM - COOOOh-C7FFFh

m EGA, VGA RAM - AOOOOh-BFFFFh, в зависимости от ви- деорежима используются следующие области: Graphics - AOOOOh-AFFFFh; Color Text - B8000h-BFFFFh; Mono Text - BOOOOh-B7FFFh.

Распространенным потребителем UMA являются расшире- ния ROM BIOS, расположенные на платах дисковых контрол- леров, адаптеров SCSI, сетевых картах и т. д. Обычно они занимают область CSOOOh - CBFFFh/C9FFFh/C8FFFh (для дисковых контроллеров), но могут перемещаться при кон- фигурировании адаптеров.


Содержание раздела