Расширенная память


Расширенная память (англ. expanded memory) — аппаратно-программная система, предоставляющая доступ DOS-приложениям к памяти, недоступной через адресное пространство основной памяти. Расширенная память адресуется странично через «окно», находящееся в верхней зарезервированной области памяти (UMA). Спецификация расширенной памяти (англ. Expanded Memory Specification, EMS) была разработана в 1984 году совместно Lotus Software, Intel и Microsoft, поэтому часто встречается сокращение LIM EMS. С конца 1980-х до середины 1990-х EMS активно использовалась в играх и коммерческих приложениях, однако с приходом спецификаций дополнительной памяти (XMS) стала использоваться реже.

IBM PC/XT работает в реальном режиме, в котором доступно адресное пространство 1 Мбайт. IBM решила использовать 640 Кбайт для основной памяти, а оставшиеся 384 Кбайт зарезервировала для ПЗУ и дополнительных устройств (см.: UMA).

Однако, как правило, не вся UMA оказывается задействована, поэтому в ней можно выделить окно для организации страничного доступа к памяти, находящейся вне пределов доступного адресного пространства. Электронная схема под управлением программы-драйвера переключает страницы этой памяти таким образом, что в любой момент времени в окне отображается только одна страница, а остальные недоступны.

Изначально было выделено окно в 64 Кбайт, позднее схема управления была модифицирована: размер окна мог быть изменён в зависимости от конкретной системы и в нём могло отображаться одновременно несколько страниц.

Первоначально расширенная память основывалась на картах расширения, которые устанавливались в ISA-слоты. Эти карты содержали как саму память, так и схемы управления. Наибольшее распространение в 1980-х получили карты AST RAMpage, IBM PS/2 80286 Memory Expansion Option, AT&T Expanded Memory Adapter и Intel Above Board.

Позднее на материнских платах на основе процессоров 80286 появилось место для установки микросхем и модулей памяти. Схема управления EMS также находилась на материнской плате. В BIOS Setup таких плат можно было выбрать, сколько памяти сделать доступной через EMS, остальное оставалось доступно как дополнительная память.