Расширенная память
Расширенная память (англ. 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, остальное оставалось доступно как дополнительная память.
Программная эмуляция
[править | править код]С появлением процессора 80386, имеющего встроенный менеджер памяти, появилась возможность эмулировать EMS исключительно программно.
Самыми известными менеджерами EMS можно назвать Quarterdeck EMM и Qualitas 386MAX. Qualitas 386MAX позднее был включён в MS-DOS 4.01 как EMM386.SYS.
См. также
[править | править код]Литература
[править | править код]- PC System Programming for developers. 1989. ISBN 1-55755-035-2 (Book only) and ISBN 1-55755-036-0 (Book and diskette).
Ссылки
[править | править код]- Lotus, Intel, Microsoft (October 1987). Expanded Memory Specification. Version 4.0 (недоступная ссылка)
- Lloyd Borrett. Understanding EMS 4.0 (англ.) Technical Cornucopia, January-February 1989