КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Архитектурные компоненты IBM PC-совместимого компьютера

Для манипуляций с памятью большего размера требовалось переклю¬чение сегментов с помощью специальных инструкций процессора, что усложняло программирование. Заметим, что при Seg = FFFFh n Offset =• FFFFh данная фор¬мула дает адрес lOFFEFh, но ввиду 20-битного ограничения на шину адреса эта комбинация в физической памяти указывает на OFFEFh. Таким образом, адрес¬ное пространство как бы сворачивается в кольцо с небольшим «нахлестом».
В процессоре 80286 шина физического адреса была расширена до 24 бит, и введен новый режим работы — защищенный (Protected Mode), в котором программа мо¬жет обращаться к 16-мегабайтному пространству физической памяти через логи¬ческое пространство виртуальной памяти. Здесь виртуальная память строилась на основе той же сегментной модели памяти с 16-разрядными регистрами. Физи¬ческий адрес формировался суммированием 16-разрядного исполнительного адреса (смещения внутри сегмента) с 24-разрядным базовым адресом сегмента.
Кроме защищенного режима, в процессоре 80286 имеется и реальный режим, в кото¬ром процессор ведет себя почти так же, как и 8086 (но более быстрый). Здесь физи¬ческий адрес вычисляется так же, как и в 8086/88, но из-за ошибки разработчиков та самая единица в бите А20, которая отбрасывалась в процессорах 8086/88, теперь попадает на шину адреса, и в результате максимально доступный физический ад¬рес в реальном режиме достиг 1 OFFEFh. Для обеспечения полной совместимости с процессором 8086/88 в схему PC ввели вентиль линии А20 шины адреса — GateA20, который либо пропускает сигнал от процессора, либо принудительно обнуляет линию А20 системной шины адреса. Этот вентиль должен быть открыт при работе в защищенном режиме, а также когда в реальном режиме нужны дополнитель¬ные (64 К-16) байт памяти. Вентиль управляется через контроллер клавиатуры (см. п. 8.1.2) или иным специфическим способом.
J5 32-разрядных процессорах, начиная с 80386, сохранена та же идея обращения к памяти с участием сегментных регистров (16-разрядных), но регистры процессо¬ра, участвующие в формировании адреса, позволяют адресовать уже 232= 4 Гбайт памяти в каждом сегменте.

Hosted by uCoz