Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Expanded memory
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Implementations== ==={{anchor|RAMpage|Quadems+}}Expansion boards=== [[Image:EmulexPersyst 4M ISA.jpeg|thumb|Emulex Persyst 4 MiB ISA memory board]] This insertion of a memory window into the peripheral address space could originally be accomplished only through specific expansion boards, plugged into the [[Industry Standard Architecture|ISA]] expansion bus of the computer. Famous 1980s expanded memory boards were [[AST Research|AST]] RAMpage, IBM PS/2 80286 Memory Expansion Option, [[AT&T Corporation|AT&T]] Expanded Memory Adapter and the [[Intel]] [[Above Board]]. Given the price of RAM during the period, up to several hundred dollars per MiB, and the quality and reputation of the above brand names, an expanded memory board was very expensive. ===Motherboard chipsets=== Later, some [[motherboard]] [[chipset]]s of [[Intel 80286]]-based computers implemented an expanded memory scheme that did not require add-on boards, notably the [[NEAT chipset]]. Typically, software switches determined how much memory should be used as ''expanded memory'' and how much should be used as ''[[extended memory]]''. ===Device drivers=== An expanded-memory board, being a hardware peripheral, needed a software [[device driver]], 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 [[Intel 80386]] processor, for example [[Quarterdeck Office Systems|Quarterdeck]]'s [[QEMM]], [[Qualitas]]' [[386MAX|386<sup>MAX</sup>]] or the default [[EMM386]] in MS-DOS, PC DOS and DR-DOS. === {{anchor|LIMulator}}Software emulation === Beginning in 1986, the built-in memory management features of [[Intel 80386]] processor freely modeled 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 [[CEMM]], available in September 1986 as a utility for the [[Compaq Deskpro 386]]. A popular and well-featured commercial solution was Quarterdeck's QEMM. A contender was Qualitas' [[386MAX|386<sup>MAX</sup>]]. Functionality was later incorporated into [[MS-DOS 4.01]] in 1989 and into [[DR DOS 5.0]] in 1990, as [[EMM386]]. Software expanded-memory managers in general offered additional, but closely related functionality. Notably, they allowed using parts of the [[upper memory area]] (UMA) (the upper 384 KiB of real-mode address space) called ''upper memory blocks'' (UMBs) and provided tools for loading small programs, typically [[terminate-and-stay-resident program]]s inside ("LOADHI" or "LOADHIGH"). Interaction between [[extended memory]], expanded-memory emulation and DOS extenders ended up being regulated by the XMS, [[Virtual Control Program Interface]] (VCPI), [[DOS Protected Mode Interface]] (DPMI) and [[DOS Protected Mode Services]] (DPMS) specifications. Certain emulation programs, colloquially known as LIMulators, did not rely on motherboard or 80386 features at all. Instead, they reserved 64 KiB 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]] programs. It is also possible to emulate EMS by using XMS memory on 286 CPUs using 3rd party utilities like EMM286 (.SYS driver).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)