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

Несколько расширенной памяти страницы меняют банк в рамка страницы, часть область верхней памяти.

В Управление памятью DOS, расширенная память это система переключение банка это предоставило дополнительную память для ДОС программы за пределами обычная память (640 Кбайт).

Расширенная память - это общий термин для нескольких несовместимых вариантов технологий. Наиболее распространенным вариантом был Спецификация расширенной памяти (EMS), который был разработан совместно Программное обеспечение Lotus, Intel, и Microsoft, так что эта спецификация иногда упоминалась как "LIM EMS". LIM EMS имеет несколько версий. Первой широко внедренной версией была EMS 3.2, которая поддерживала до 8 Мбайт расширенной памяти и использовала части адресного пространства, обычно предназначенные для связи с периферийными устройствами (верхняя память ) для отображения частей расширенной памяти. EEMS, стандарт управления расширенной памятью, конкурирующий с LIM EMS 3.x, был разработан AST Research, Квадрам и Эштон-Тейт («AQA»); он может отображать любую область нижнего 1 МиБ. В конечном итоге EEMS была включена в LIM EMS 4.0, которая поддерживала до 32 Мбайт расширенной памяти, а также обеспечивала некоторую поддержку многозадачности DOS. IBM, однако, создала свой собственный стандарт расширенной памяти под названием XMA.

Использование расширенной памяти стало обычным явлением в играх и деловых программах, таких как Лотос 1-2-3 в конце 1980-х - середине 1990-х, но его использование сократилось, поскольку пользователи перешли с DOS на защищенный режим операционные системы, такие как Linux, IBM OS / 2, и Майкрософт Виндоус.

Фон

Часть нижнего адресного пространства размером 1 МиБ обеспечивает «окно» в несколько мегабайт расширенной памяти.

В 8088 процессор IBM PC и IBM PC / XT мог бы обратиться к одному мегабайт (МиБ, или 220 байтов) памяти. Он унаследовал этот предел от 20-битной внешней адресной шины Intel 8086. Конструкторы ПК выделили нижние 640KiB (655360 байтов) адресного пространства для программной памяти чтения-записи (RAM), называемой «обычной памятью», а оставшиеся 384 КиБ пространства памяти были зарезервированы для использования, например, для системы. BIOS, видеопамять и память на платах расширения.

Хотя IBM PC AT, представленный в 1984 г., использовал 80286 чип, который может адресовать до 16 МБ ОЗУ как расширенная память, это могло произойти только в защищенный режим. Недостаток программного обеспечения, совместимого с защищенным режимом 286 (нет стандартного ДОС приложения могли работать в нем) означало, что рынок все еще открыт для другого решения.[1]

Чтобы уместить потенциально гораздо больше памяти, чем позволяет 384 КБ свободного адресного пространства, переключение банка Была разработана схема, по которой в любой момент времени доступны только избранные части дополнительной памяти. Первоначально один 64 КиБ (216 байтов) окно памяти, называемое рамка страницы, было возможно; позже это было сделано более гибким. Программы должны были быть написаны особым образом для доступа к расширенной памяти. «Окно» между нижним и расширенным ОЗУ можно переместить в разные места внутри расширенного ОЗУ.

Первая попытка использовать технику переключения банков была сделана Tall Tree Systems с их платами JRAM,[2] но они не прижились.[1] (Позднее компания Tall Tree Systems создала платы на базе EMS, используя тот же бренд JRAM.)

Спецификация расширенной памяти (EMS)

Лотус Девелопмент, Intel, и Microsoft сотрудничали в разработке стандарта EMS (также известного как LIM EMS). Первая общедоступная версия EMS, версия 3.0, позволяла получить до 4 МБ расширенной памяти.[нужна цитата ] Это было увеличено до 8 МБ с версией спецификации 3.2. Последняя версия EMS, версия 4.0 увеличила максимальный объем расширенной памяти до 32 МиБ и поддержала дополнительные функции.

Microsoft считала смена банка неэлегантной и временной, но необходимой временной мерой. Удар кулаком по столу во время интервью Билл Гейтс сказал о расширенной памяти: «Это мусор! Это кладж! … Но мы это сделаем ». Компании планировали выпустить стандарт весной 1985 года. COMDEX, и многие компании, выпускающие карты расширения и программное обеспечение, объявили о своей поддержке.[3][4]

Первая общедоступная версия стандарта EMS, названная EMS 3.0, была выпущена в 1985 году; EMS 3.0, однако, практически не имел аппаратных реализаций до того, как был заменен на EMS 3.2.[1] EMS 3.2 использовала область размером 64 КиБ в верхних 384 КиБ (верхняя память area) разделена на четыре страницы по 16 КиБ, которые можно использовать для отображения частей расширенной памяти.[1]

В свою очередь, EMS 3.2 была улучшена группой из трех других компаний: AST Research, Quadram и Ashton-Tate, которые создали свой собственный стандарт Enhanced EMS (EEMS). EEMS позволяла отображать любую область 16 КиБ в нижнем ОЗУ в расширенную память, если она не была связана с прерываниями или выделенной памятью ввода-вывода, такой как сеть или видеокарты. Таким образом, целые программы можно было включать и выключать из дополнительной оперативной памяти. EEMS также добавила поддержку двух наборов регистров сопоставления. Эти функции использовались ранним многозадачным программным обеспечением DOS, таким как DESQview. Выпущенная в 1987 году спецификация LIM EMS 4.0 включала практически все функции EEMS.[1]

Новой функцией, добавленной в LIM EMS 4.0, было то, что платы EMS могли иметь несколько наборов регистров отображения страниц (до 64 наборов). Это позволило примитивной форме DOS многозадачность. Предостережение, однако, заключалось в том, что в стандарте не указывалось, сколько наборов регистров должна иметь плата, поэтому в этом отношении существовала большая разница между аппаратными реализациями.[5]

Спецификация расширенной памяти (EMS) - это спецификация, описывающая использование расширенной памяти. Функции EMS доступны через программное обеспечение прерывать 67ч. Программы, использующие EMS, должны сначала установить наличие установленного диспетчера расширенной памяти (EMM), проверив драйвер устройства с именем устройства. EMMXXXX0.

Адаптер расширенной памяти (XMA)

IBM разработала собственный стандарт памяти под названием Expanded Memory Adapter (XMA); драйвером IBM DOS для этого был XMAEM.SYS. В отличие от EMS, к платам расширения IBM можно было обращаться как с использованием модели расширенной памяти, так и как расширенная память.[6] Однако аппаратный интерфейс расширенной памяти, используемый платами XMA, несовместим с EMS,[7] но драйвер XMA2EMS.SYS обеспечивает эмуляцию EMS для плат XMA.[6] Платы XMA были впервые представлены для моделей 1986 года (модернизированных). 3270 ПК.[7]

Реализации

Платы расширения

Плата памяти Emulex Persyst 4 MiB ISA

Эта вставка окна памяти в периферийное адресное пространство изначально могла быть выполнена только с помощью специальных плат расширения, подключенных к ЭТО шина расширения компьютера. Известные платы расширенной памяти 1980-х годов были AST RAMpage, опция расширения памяти IBM PS / 2 80286, AT&T Адаптер расширенной памяти и Intel Над доской. Учитывая цену на оперативную память в тот период, до нескольких сотен долларов за МиБ, а также качество и репутацию вышеуказанных торговых марок, плата с расширенной памятью была очень дорогой.

Чипсеты материнских плат

Позже некоторые материнская плата чипсеты из Intel 80286 В компьютерах на базе реализована расширенная схема памяти, не требующая дополнительных плат, в частности Чипсет NEAT. Обычно программные переключатели определяют, сколько памяти следует использовать в качестве расширенная память и сколько следует использовать как расширенная память.

Драйверы устройств

Плата с расширенной памятью, будучи периферийным оборудованием, требовала программного обеспечения. драйвер устройства, которая экспортировала свои услуги. Такой драйвер устройства назывался менеджер расширенной памяти. Его имя было переменным; на ранее упомянутых платах использовались REMM.SYS (AST), PS2EMM.SYS (IBM), AEMM.SYS (AT&T) и EMM.SYS (Intel) соответственно. Позже это выражение стало ассоциироваться с программными решениями, требующими Intel 80386 процессор, например Quarterdeck с QEMM, Qualitas ' 386МАКСИМУМ или по умолчанию EMM386 в MS-DOS, PC DOS и DR-DOS.

Программная эмуляция

Начиная с 1986 года, встроенные функции управления памятью Intel 80386 Процессор свободно моделировал адресное пространство при запуске устаревшего программного обеспечения в реальном режиме, делая ненужные аппаратные решения. Расширенная память может быть смоделирована с помощью программного обеспечения.

Первое программное обеспечение с расширенной памятью управление (эмуляция) программа была CEMM, доступный в сентябре 1986 года как утилита для Compaq Deskpro 386. Популярным и хорошо оснащенным коммерческим решением была QEMM от Quarterdeck. Претендентом была Qualitas ' 386МАКСИМУМ. Позже функциональность была включена в MS-DOS 4.01 в 1989 г. и в DR DOS 5.0 в 1990 году, когда EMM386.

Программные менеджеры расширенной памяти в целом предлагали дополнительные, но тесно связанные функции. Примечательно, что они могли создавать обычную память в неиспользуемых частях верхняя область памяти (UMA) (верхние 384 КиБ адресного пространства реального режима) называется блоки старшей памяти (UMB) и предоставил инструменты для загрузки небольших программ, обычно TSR внутри ("LOADHI" или "LOADHIGH").

Взаимодействие между расширенная память, эмуляция расширенной памяти и расширители DOS стали регулироваться XMS, Виртуальный программный интерфейс управления (VCPI), Интерфейс защищенного режима DOS (DPMI) и Службы защищенного режима DOS (DPMS) технические характеристики.

Некоторые программы эмуляции, в просторечии известные как LIMulators, вообще не полагались на материнскую плату или функции 80386. Вместо этого они зарезервировали 64 КиБ базовой ОЗУ для окна расширенной памяти, куда они копировали данные в расширенную память или на жесткий диск и из них, когда прикладные программы запрашивали переключение страниц. Это было легко реализовать программно, но производительность была низкой. Этот метод был предложен AboveDisk from Above Software и несколькими условно-бесплатная программы.

Отклонить

Использование расширенной памяти снизилось в 1990-х годах. IBM AT Intel 80286 поддерживает 24 бита адресного пространства (16 МиБ) в защищенный режим, а 386 поддерживали 32-битные адреса, или 4гигабайты (232) RAM - в 4096 раз больше адресного пространства оригинального 8086. Сама DOS не поддерживала напрямую защищенный режим, но в конечном итоге Microsoft разработала DPMI, и несколько Расширители DOS были опубликованы на его основе. Программы DOS, такие как Рок можно использовать расширители вроде DOS / 4G работать в защищенном режиме, продолжая использовать DOS API. В начале 1990-х годов новые операционные системы, такие как Linux, Windows NT, OS / 2, и BSD / OS Поддерживается защищенный режим «из коробки». Эти и подобные разработки сделали расширенную память устаревшей концепцией.

Смотрите также

Рекомендации

  1. ^ а б c d е Мендельсон, Эдвард (1989-12-12). «Слот, полный ОЗУ». Журнал ПК. Vol. 8 нет. 21. Ziff Davis Publishing Co. стр. 169–. В архиве из оригинала на 2020-02-08. Получено 2020-02-08.
  2. ^ "Техническое описание продукции систем высокого дерева" (Брошюра). Системы высоких деревьев. Октябрь 1983 г.
  3. ^ Махрон, Билл (1985-05-14). "Схема памяти нарушает 640 КБ". Журнал ПК. Vol. 4 шт. 10. Ziff Davis Publishing Co. п. 33. Получено 2013-10-28.
  4. ^ "Самые памятные технические провалы". Журнал ПК. Январь 2008. С. 88–89.. Получено 2020-09-05.
  5. ^ Рош, Винн Л. (1989-12-12). «EMS 4.0: стандарт, которого не было». Журнал ПК. Vol. 8 нет. 21. Ziff Davis Publishing Co. С. 174–175. В архиве из оригинала на 2020-02-08. Получено 2020-02-08.
  6. ^ а б «Общее руководство по различным формам памяти». Microsoft. Архивировано из оригинал на 2012-10-22.
  7. ^ а б Уэлч, Марк Дж. (1986-04-14). «Спрос 3270 не ожидается роста». InfoWorld. 8 (15). InfoWorld Media Group, Inc. п. 5. ISSN  0199-6649. В архиве из оригинала на 2020-02-08. Получено 2020-02-08.

дальнейшее чтение