learn more...The original IBM PC used an 8088 processor, which supported up to 1 MB of physical memory, addressed as sixteen 64 KB segments. Memory locations are enumerated in hexadecimal, so the first segment includes the addresses 00000h through 0FFFFh (0 through 65,535 decimal) and the 16th includes the addresses F0000h through FFFFFh (983,040 through 1,048,575 decimal). T he first 10 of those segments—00000h through 9FFFFh—comprise the base 640 KB of memory addresses that are accessible by the operating system and programs. The last six segments—A0000h through FFFFF—comprise the 384 KB of upper memory addresses (the Upper Memory Area or UMA) reserved for system use. The first two UMA segments (A0000h through BFFFFh) are reserved for video memory. The second two UMA segments (C0000h through DFFFFh) are reserved address space for ROM BIOSs that reside on some adapters, such as video cards, SCSI host adapters, and network adapters. The final two UMA segments (E0000h through FFFFF) are reserved for the motherboard BIOS. Modern processors use a flat (unsegmented) 32-bit address space, which allows them to access up to 4 GB (4096 MB, or 4,294,967,296 bytes) of distinct memory addresses. That additional address space means that memory addresses are expressed as eight rather than five hexadecimal characters (e.g., addresses for the first MB are expressed as 00000000h through 000FFFFFh). Because few systems have anywhere near 4 GB of physical memory installed, huge ranges of unused memory addresses are available for assignment to devices that require memory ranges. Which of those ranges are used depends on how much physical memory is installed and which operating system you run. Windows NT/2000/XP uses address ranges from the UMA of the first megabyte (000A0000h through 000FFFFFh) for the original purposes of addressing video memory, adapter ROMs, and so on. It uses address ranges at the top of its address space, F0000000h and above (up near 4 GB), to provide additional memory ranges for which there is inadequate room in UMA. Windows 98 does the same, but also uses memory ranges immediately above the end of the range occupied by physical RAM. Memory range conflicts are seldom a problem on modern computers running recent versions of Windows. |
||||||
Disclaimer
1) E-articles is not responsible for the information contained by this article as well for any and all copyright infringements by authors and writers. E-articles is a free information resource. If you suspect this article for any copyright infringement, please read the terms of service and contact us to investigate the problem.
2) E-articles is not responsible for inaccuracies, falsehoods, or any other types of misinformation this article may contain and will not be liable for any loss or damage suffered by a user through the user's reliance on the information gained here. link to this article |