Subject: | |
From: | |
Reply To: | |
Date: | Thu, 29 Apr 1999 12:02:32 -0700 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
On 28 Apr 99, at 6:05, Earl Truss wrote:
> 286s cannot use more than 1MB of RAM in the sense that we think of using
> memory with Windows these days. Windows needs "extended" memory. ....
> This is the reason why Windows 3.x will not run in "enhanced" mode on a
> 286. Even if you add more than 1MB of memory to a 286, it cannot be used
> to run programs that need extended memory.
This is not correct.
"Extended memory" is memory in the processor's normal address space[*], but
above the 1MB maximum addressable in "real mode"; the CPU must be in one of
its "protected modes" in order to form addresses greater than 1MB.
The 286, like the 386SX and 486SLC, has 24 address lines, allowing for a
maximum of 16MB of directly-addressable memory; of this, 15 MB would be above
1MB and thus "extended".
Few 286 motherboards provided a way to install more than 1 or 2 MB of RAM,
but this was not a limitation imposed by the CPU.
[386DX and higher CPUs provided 32 bits for addressing, up to 4TB -- but
only a few recent motherboards allow for as much as 1GB of installed RAM.
Forming addresses beyond 16MB requires "enhanced" mode and was never
supported by the 286.]
[*] Hardware implementations of EMS ("expanded" memory) could have their
memory entirely outside the addressing capabilities of the CPU, except for
the region currently mapped into part of the "real mode" 1MB address space.
Hardware-based EMS was thus usable on 8088 and 8086 systems which ran only in
real mode. Advanced memory-mapping hardware on the 386 made it possible to
emulate the EMS APIs in software to allow physical extended memory to be used
by software written to use EMS. This is probably more than you wanted to
know.
David G
The PCBUILD web site always needs good submissions. If
you would like to contribute to the website, send any
hardware tech tips or hardware reviews to:
[log in to unmask]
|
|
|