MadSci Network: Computer Science

Re: what is the difference between expanded memory and a extended memory?

Date: Tue Jun 8 11:52:16 1999
Posted By: David Gould, Undergraduate, Computer Engineering, University of Alabama in Huntsville
Area of science: Computer Science
ID: 928594269.Cs


	This question feels like a relic of the past :), because these days 
the only type of memory you will find in a modern computer is extended 
memory.  Back in the days of the 086 Intel chips, the memory map was 
designed to have a range of addresses from 640K to 1M assigned to various 
tasks like shadowing the BIOS, or the video memory, etc.  This put a hard 
cap on available memory for early computers at 640 Kbytes.  Just tacking on 
more memory to the top of this pile wasn't easy for new computers, because 
of these devices like the BIOS and the video memory that needed to reside 
between 640K and 1M.  Memory for your programs wouldn't be contiguous at 
that point, but instead would have to have a hole in the middle of it.  To 
compound the problem, early CPU's couldn't even ask for addresses of memory 
larger than 1M.
	To get around this problem "expanded" memory was devised.  By using 
a special driver, memory beyond 1M would be paged in and out of the space 
between 0 and 1M.  So your program would then have to use this special 
driver interface to ask for certain addresses of memory.  In some cases the 
driver was implemented in hardware, which allowed computers to have 
expanded memory built in.  But in most cases, extended memory (or memory 
without the need for this special driver) was used, and a special expanded 
memory emulator (EMM for example) was used to turn the extended memory into 
expanded memory.
	With the advent of newer operating systems, like Windows 95, the 
operating system takes care of memory above 1M.  Your program never has to 
deal with the issue of whether there is a big hole around 640K, or whether 
the memory is above 1M.  Newer CPU's and bus architectures allow addressing 
of memory up to 1 or more Gigabytes (1000 Megabytes), making Windows' job 
even easier.
	Hope this clears things up for you!

	-Dave Gould

Current Queue | Current Queue for Computer Science | Computer Science archives

Try the links in the MadSci Library for more information on Computer Science.

MadSci Home | Information | Search | Random Knowledge Generator | MadSci Archives | Mad Library | MAD Labs | MAD FAQs | Ask a ? | Join Us! | Help Support MadSci

MadSci Network,
© 1995-1999. All rights reserved.