Learn about the technologies behind the Internet with The TCP/IP Guide!|
NOTE: Using robot software to mass-download the site degrades the server and is prohibited. See here for more.
Find The PC Guide helpful? Please consider a donation to The PC Guide Tip Jar. Visa/MC/Paypal accepted.
|View over 750 of my fine art photos any time for free at DesktopScenes.com!|
Upper Memory ROM and RAM
One of the reasons that the UMA is so confusing is that it actually is two overlapping sets of memory. There is 384 KB of system RAM occupying addresses A0000h to FFFFFh. However, there are also different types of system ROM that are mapped into many of the same addresses. The RAM corresponding to those addresses where there is ROM, is hidden from the system (and thus wasted, unless it is used by the BIOS for ROM shadowing).
Why is this the case? Part of it is practicality: while the PC system has structures like a 640 KB conventional memory and then 384 KB of UMA, the physical RAM you put onto the motherboard is contiguous--there is no practical way to construct a SIMM to leave a 384 KB block where the UMA goes. (Or rather, it could be done, but it's much cheaper and easier to include the 384 KB even if it lies totally unused). The other main reason is that having the RAM there gives you performance-enhancing options such as using the UMA for drivers, or for ROM shadowing.
You can think of the RAM and ROM in the UMA like this: the RAM covers the entire 384 KB area. The different ROMs only cover part of it. So the RAM is like a blank sheet of colored paper on a table, and the ROM is an identical-sized white piece of paper with holes cut in it, laid on top of the colored paper. Where the holes are (there is no ROM) the colored paper shows through; this is available UMA RAM. Where the colored paper is covered by the white paper, this represents addresses where ROM is present, and therefore the RAM at those addresses is hidden.
Note: Some adapters not only
map their ROM into a particular address, they also use RAM in that area as well. There is
no practical difference in terms of how the system is set up except that shadowing cannot
be enabled for any adapter that is using part of its area for RAM, because shadowing write-protects the memory.