Пространство физической памяти
Основную часть физического адресного пространства PC занимает оперативная память (ОЗУ), начинающаяся с нулевого адреса. В нее вклинивается область адресов AOOOOh-FFFFFh — Upper Memory Area (UMA), 384 Кбайт — верхняя память, зарезервированная со времен IBM PC для системных нужд. В UMA размещаются области буферной памяти адаптеров шины (E)ISA (например, видеопамять) и постоянная память (BIOS с расширениями). ОЗУ продолжается и за областью UMА. Под самой верхней границей физического адресного пространства имеется образ памяти системной ROM BIOS.
Для доступности сервисов BIOS в реальном режиме все ПК имеют образ ROM BIOS в адресах EOOOOh-FFFFFh или FOOOOh-OFFFFFh. Кроме того, образ BIOS должен находиться и под самой верхней границей адресного пространства, поскольку все процессоры х86 по аппаратному сбросу стартуют с адреса начала последнего параграфа памяти (FFFFOh - 8086/88, FFFFFOh - 80286 и 386SX, FFFFFFFOh - 386DX и выше с 32-разрядной шиной адреса, FFFFFFFFOh - Р6 и выше с 36-разрядной шиной адреса).
Для компьютеров класса АТ-286 и 386SX с 24-битной шиной адреса верхняя граница оперативной памяти — FDFFFFh (максимальный размер 15,9 Мбайт). Область
12.2. Пространство ввода-вывода____________________________________ 455
FEOOOOh-FFFFFFh содержит образ ROM BIOS, обращение к этой области эквивалентно обращению к ROM BIOS по адресам OEOOOOh-OFFFFFh. Для ПК на процессорах 386DX и выше с 32-битной шиной адреса теоретический предел объема ОЗУ — почти 4 Гбайт, верхний образ BIOS находится в адресах FFFEOOOOh-FFFFFFFFh. Для ПК на процессорах Р6+ с 36-битной шиной адреса предел объема ОЗУ — почти 64 Гбайт и верхний образ BIOS находится в адресах FFFFEOOOOh-FFFFFFFFFh.
Области физических адресов, не занятые ОЗУ и ROM BIOS, могут быть использованы устройствами шин (E)ISA и PCI (AGP).
Для памяти адаптеров, устанавливаемых в шину ISA, безусловно доступна часть области адресов UMA AOOOOh-EFFFFh или AOOOOh-DFFFFh (до начала ROM BIOS). В этой области располагаются и модули расширений BIOS (см.
п. 12.7.1). Карты ISA могут иметь память и в области FEOOOOh-FFFFFFh, но она программно доступна лишь в защищенном (и большом^реальном) режимах процессора. Для отображения этой области памяти на шину ISA (а не ОЗУ) в CMOS Setup предусмотрен параметр Memory Hole At 15-16М, но его включение не позволит использовать оперативную память свыше 15 Мбайт.
Поскольку шина ISA имеет 24-разрядную шину адреса, ведущие устройства этих
шин (ISA Bus Master) способны обращаться к памяти (ОЗУ и память адаптеров)
в пределах первых 16 Мбайт (000000-FFFFFFh). To же ограничение касается и
стандартного контроллера DMA, которым могут пользоваться устройства шины
ISA (и иные устройства системной платы). Л
Шина PCI имеет 32-разрядную шину адреса, так что ее ведущим устройствам доступна вся физическая память1. Для устройств PCI могут выделяться любые области адресов, свободные от ОЗУ, ROM BIOS и устройств ISA. Области адресов памяти, используемые каждым устройством PCI, описаны в заголовках их конфигурационных пространств. Эти данные требуются при распределении ресурсов и настройке мостов PCI в процессе инициализации шины.