Expanded MEMORY Specification

the Expanded MEMORY Specification (short: EMS mentioned), is a software interface to the access to expanded MEMORY so mentioned (often unfortunately eingedeutscht to “expansion memory”) on a x86 - compatible PC in material the mode.

Nowadays of EMS does not have a practical meaning more, there modern Protected mode - operating systems on this memory expansion are no more dependent.

To table of contents

developing history

in the middle of the 1980er years, when the operating system MS-DOS dominated the PC market, handed the 640 KiB main memories, itfor programs maximally for the order, for many larger programs already did not issue. Different solutions were realized, in order to access more main memories. Thus special plug-in cards were sold, which contained additional memory. These maps dazzled a part of their memory in a certain place in1 MIB - Address area , so that a program could access. Via special instructions could be steered, which part of the map memory (often between 512 KiB and 2 the MIB lay) was to be faded in in the address area of the processor (MEMORY bank Switching). Thus could a program never the entire map memory at one time use, but in each case the part, which was faded in straight. These maps were called MEMORY bungee cord, and the memory on them expanded MEMORY.

Unfortunately these maps were incompatible too each other and a program, the this MEMORY bungee cord to use wanted to possess, had for each of these maps specially program functions. Thus the companies Lotus ( when manufacturers of the spread-sheet analysis Lotus 1-2-3), Intel and Microsoft agreed on a standard in the year 1985, which was called LIM-EMS. This standard is meant mostly, if of expanded MEMORY the speech is.


LIM-EMS prescribes “expanded a MEMORY in such a way specified manager” (EMM). This is a device driver, which makes its functions available over a software interrupt. Expanded the MEMORY becomes in sides (engl: pages) to ever 16KiB divided. In the address area 64 KiB a large window becomes (engl:PAGE frame or PAGE window) reserves, in which in each case 4 Ems memory sides are then faded in. The Ems window occupies usually the addresses 0xD0000-0xDFFFF; the 4 faded in Ems sides begin at the addresses 0xD0000, 0xD4000, 0xD8000 and0xDC000.

The Ems driver (often emm.sys mentioned) offers a standardized sentence at functions, approximately for the inquiry of the size of the entire expanded MEMORY, to the number of still free sides, occupying and releasing from memory sides and naturally in and fading out of certain sides into thatEms window.

EMS starting from the 386er

the Ems memory cards attained however no large spreading, since they were quite expensive. Starting from the 80386er the processors controlled however a special operating mode, which is called Virtual 8086 mode. With this mode a material mode environment leaves itself (like itDOS used) within a protect OD mode environment simulate. In the Protected the x86 - compatible processors in addition the Paging in such a way specified - controls mode technology with the one illustration (virtual) of the program addresses on the material (physical) storage addresses becomes possible.

Evenly this technology makes a memory driver possible, which makes an Ems window available,and the accesses to it to other storage areas (beyond the 1-MiB-Grenze) returns. The Ems driver emm386.exe, that with MS-DOS starting from version 5.0 thereby is or appropriate counterparts made possible by third offerers like for example qemm386.exe von Quarterdeck, so the supply of Ems memory, without an Ems map inComputer is present.

see also


  > German to English > de.wikipedia.org (Machine translated into English)