All Topics  
Expanded memory

 

   Email Print
   Bookmark   Link






 

Expanded memory



 
 
In computing, expanded memory (commonly known as EMS memory) is a system of bank switching
Bank switching

Bank switching was a technique common in 8-bit microcomputer systems, to increase the amount of addressable random-access memory and read-only memory without extending the address bus....
 introduced around 1984 that provided additional memory to MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
 programs that required more than what was available in conventional memory
Conventional memory

In computing, conventional memory is the first 640 kilobytes of the memory on IBM PC compatible systems....
. Expanded memory uses parts of the remaining 384 KB, normally dedicated to communication with peripherals, for program memory as well. The practice is outlined in the Expanded Memory Specification, which was developed jointly by Lotus Software
Lotus Software

Lotus Software is a software company with headquarters in Westford, Massachusetts, Massachusetts. Lotus is most commonly known for the Lotus 1-2-3 spreadsheet application, the first feature-heavy, user friendly, reliable and WYSIWYG-enabled product to become widely available in the early days of the IBM PC, when there was no Graphical user i...
, Intel, and Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
, so this specification was sometimes referred to as "LIM EMS".






Discussion
Ask a question about 'Expanded memory'
Start a new discussion about 'Expanded memory'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In computing, expanded memory (commonly known as EMS memory) is a system of bank switching
Bank switching

Bank switching was a technique common in 8-bit microcomputer systems, to increase the amount of addressable random-access memory and read-only memory without extending the address bus....
 introduced around 1984 that provided additional memory to MS-DOS
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
 programs that required more than what was available in conventional memory
Conventional memory

In computing, conventional memory is the first 640 kilobytes of the memory on IBM PC compatible systems....
. Expanded memory uses parts of the remaining 384 KB, normally dedicated to communication with peripherals, for program memory as well. The practice is outlined in the Expanded Memory Specification, which was developed jointly by Lotus Software
Lotus Software

Lotus Software is a software company with headquarters in Westford, Massachusetts, Massachusetts. Lotus is most commonly known for the Lotus 1-2-3 spreadsheet application, the first feature-heavy, user friendly, reliable and WYSIWYG-enabled product to become widely available in the early days of the IBM PC, when there was no Graphical user i...
, Intel, and Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
, so this specification was sometimes referred to as "LIM EMS". The use of expanded memory became common with games and business applications in the late 1980s through the mid-1990s, but its use declined as users switched from MS-DOS to 32-bit operating systems such as Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
.

Overview

IBM PC and IBM XT use a real mode
Real mode

Real mode, also called real address mode, is an operating mode of 80286 and later x86-compatible Central processing unit. Real mode is characterized by a 20 bit segmented memory address space , direct software access to BIOS routines and peripheral hardware, and no concept of memory protection or computer multitasking at the hardware le...
 memory architecture, which allow programs to use 1 megabyte (1 MiB
Mebibyte

The Mebibyte is a standards-based binary prefix of the byte, a unit of Computer data storage. Mebibyte is abbreviated MiB.The unit prefix mebi was defined by the International Electrotechnical Commission in December 1998....
) of address space, of which only up to 640 KB (640 KiB
Kibibyte

A kibibyte is a unit of information or computer storage, established by the International Electrotechnical Commission in 2000. Its symbol is KiB....
) was available for conventional memory (the remainder from 640 KB to 1 megabyte being reserved for peripherals, most notably the screen memory in the display adapter and the bios code). The IBM AT, which used an Intel 80286
Intel 80286

The Intel 286, introduced on February 1, 1982, was an x86 16-bit microprocessor with 134,000 transistors.It was widely used in IBM PC compatible computers during the mid 1980s to early 1990s....
, supported protected mode
Protected mode

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units ....
, but it also ran MS-DOS, a real mode operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 that did not use extended memory
Extended memory

In computing, Extended memory refers to Computer storage above the first megabyte of address space in an IBM PC with an 80286 or later central processing unit....
 directly.

In order to fit potentially much more memory than the 384 KB of free address space would allow, a bank switching
Bank switching

Bank switching was a technique common in 8-bit microcomputer systems, to increase the amount of addressable random-access memory and read-only memory without extending the address bus....
 scheme was devised, where only selected portions of the additional memory would be accessible at the same time. Originally, a single 64 KB window of memory was possible; later this was made more flexible. Applications had to be written in a specific way in order to access expanded memory.

Implementations


Expansion boards


This insertion of a memory window into the peripheral address space could originally be accomplished only through specific expansion boards, plugged into the ISA
Industry Standard Architecture

Industry Standard Architecture was a computer bus standard for IBM compatible computers....
 expansion bus of the computer. Famous 1980s expanded memory boards were AST RAMpage, IBM PS/2 80286 Memory Expansion Option, AT&T
AT&T

AT&T Inc. is the largest US provider of both local and long distance telephone services, and Digital subscriber line Internet access. AT&T is the second largest provider of wireless service in the United States, with over 77 million wireless customers, and more than 150 million total customers....
 Expanded Memory Adapter and the Intel Above Board. Given the price of RAM during the period, up to several hundred dollars per megabyte, and the quality and reputation of the above brand names, an expanded memory board was very expensive.

Motherboards


Later, some motherboard
Motherboard

A motherboard is the central printed circuit board in some complex electronic systems, such as modern personal computers. The motherboard is sometimes alternatively known as the mainboard, system board, or, on Apple Inc....
s of Intel 80286
Intel 80286

The Intel 286, introduced on February 1, 1982, was an x86 16-bit microprocessor with 134,000 transistors.It was widely used in IBM PC compatible computers during the mid 1980s to early 1990s....
-based computers implemented an expanded memory scheme that did not require add-on boards. Typically, software switches determined how much memory should be used as expanded memory and how much should be used as extended memory
Extended memory

In computing, Extended memory refers to Computer storage above the first megabyte of address space in an IBM PC with an 80286 or later central processing unit....
.

Software emulation

Beginning in 1987, the built-in memory management features of Intel 80386
Intel 80386

The Intel 80386, otherwise known as the i386 or just 386, is a microprocessor which has been used as the central processing unit of many personal computers and workstations since 1986....
 processor freely modelled the address space when running legacy real mode software, making hardware solutions unnecessary. Expanded memory could be simulated in software.

The first software expanded memory management (emulation) program was probably CEMM
CEMM

CEMM, for Compaq Expanded Memory Manager was probably the first so-called PC "memory manager" for Intel 80386 CPUs, able to transform extended memory into "EMS" expanded memory by using the virtual memory features and the virtual 8086 mode of the CPU....
, available in November 1987 with Compaq DOS 3.31. A popular and well-featured commercial solution was Quarterdeck's QEMM
QEMM

Quarterdeck Expanded Memory Manager , is a memory manager produced by Quarterdeck Office Systems in the late 1980s through late 1990s. It was the most popular memory manager for the MS-DOS and other DOS operating systems....
. A contender was Qualitas' 386MAX
386MAX

386MAX was a computer memory manager for DOS-based personal computers. It competed with Quarterdeck's QEMM memory manager. It was manufactured by Qualitas....
. Functionality was later incorporated into MS-DOS 4.01 in 1989 and into DR-DOS
DR-DOS

DR-DOS is a DOS-type operating system for IBM PC-PC compatible personal computers, originally developed by Gary Kildall's Digital Research and derived from CP/M-86....
 5.0 in 1990, as EMM386
EMM386

The name EMM386 was used for the expanded memory managers of both Microsoft's MS-DOS and Digital Research's DR-DOS, which created expanded memory using extended memory on Intel 80386 CPUs....
.

Software expanded memory managers in general offered additional, but closely related functionality. Notably, they could create ordinary memory areas (Upper Memory Blocks) in unused parts of the high 384 KB of real mode address space and provided tools for loading small programs, typically TSR
Terminate and Stay Resident

Terminate and Stay Resident is a computer system call in DOS computer operating systems that returns control to the system as if the program has quit, but keeps the program in memory....
s inside ("loadhi" or "loadhigh").

Interaction between extended memory
Extended memory

In computing, Extended memory refers to Computer storage above the first megabyte of address space in an IBM PC with an 80286 or later central processing unit....
, expanded memory emulation and DOS extenders ended up being regulated by the XMS, VCPI and DPMI
DOS Protected Mode Interface

In computing, the DOS Protected Mode Interface is a specification introduced in 1989 which allows a DOS program to run in protected mode, granting access to many features of the processor not available in real mode....
 specifications.

Certain emulation programs, colloquially known as LIMulators, did not rely on motherboard or 80386 features at all. Instead, they reserved 64 KB of the base RAM for the expanded memory window, where they copied data to and from either extended memory or the hard disk when application programs requested page switches. This was programmatically easy to implement, but performance was low. This technique was offered by AboveDisk from Above Software and by several shareware
Shareware

The term shareware, popularized by Bob Wallace, refers to copyrighted commercial software that is distributed without payment on a trial basis and is limited by any combination of functionality, availability, or convenience....
 programs.

Details


An expanded memory board, being a hardware peripheral, needed a software device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
, which exported its services. Such a device driver was called "expanded memory manager". Its name was variable; the previously mentioned boards used remm.sys (AST), ps2emm.sys (IBM), aemm.sys (AT&T) and emm.sys (Intel) respectively. Later, the expression became associated with software-only solutions requiring the 80386 processor, for example Quarterdeck's QEMM.

Expanded memory was a common term for several incompatible technology variants. The Expanded Memory Specification (EMS) was developed jointly by Lotus
Lotus Software

Lotus Software is a software company with headquarters in Westford, Massachusetts, Massachusetts. Lotus is most commonly known for the Lotus 1-2-3 spreadsheet application, the first feature-heavy, user friendly, reliable and WYSIWYG-enabled product to become widely available in the early days of the IBM PC, when there was no Graphical user i...
, Intel, and Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
, so this specification was sometimes referred to as "LIM EMS". EEMS, a competing expanded memory management standard, was developed by AST Research
AST Research

AST Research, Inc. was a personal computer manufacturer, founded in Irvine, California, California in 1980 by Albert Wong, Safi Qureshey and Thomas Yuen....
, Quadram and Ashton-Tate
Ashton-Tate

Ashton-Tate was a United States based software company best known for developing the popular dBASE database application. Ashton-Tate grew from a small garage-based company to become a multinational corporation with software development centers spread across the United States and Europe....
. It allowed to also remap some or all of the lower 640 kB of memory, so that entire programs could be switched in and out of the extra RAM. The two standards were eventually combined as LIM EMS 4.0.

See also

  • Unreal mode
    Unreal mode

    Unreal mode, also big real mode, huge real mode, or flat real mode, is a variant of real mode , in which one or more data segment registers have been loaded with 32-bit addresses and limits....
  • Conventional memory
    Conventional memory

    In computing, conventional memory is the first 640 kilobytes of the memory on IBM PC compatible systems....
  • Upper Memory Area
    Upper Memory Area

    The Upper Memory Area is a design feature of IBM IBM PC compatible x86 computers that was responsible for the Conventional memory#640 KB barrier....
     (UMA)
  • High Memory Area
    High Memory Area

    The High Memory Area is the random-access memory area consisting of the first 64 kibibyte, minus 16 bytes, of the extended memory on an IBM PC or IBM PC compatible microcomputer....
     (HMA)
  • Extended memory
    Extended memory

    In computing, Extended memory refers to Computer storage above the first megabyte of address space in an IBM PC with an 80286 or later central processing unit....
     (XMS)