So what actually happens if you go out and buy 4GB of memory for your PC? Well, it's just like the DOS days - there's a hole in your memory map for the IO. And 3GB should be enough for anyone, right? So just as the original PC had to carve up the 8086's 1MB addressing range into memory (640K) and 'other' (384K), the same problem exists today if you want to fit memory and devices into a 32-bit address range: not all of the available 4GB of address space can be given over to memory.įor a long time this wasn't a problem, because there was a whole 4GB of address space, so devices typically lurk up in the top 1GB of physical address space, leaving the bottom 3GB for memory. You tend to want to have more than just memory in a computer - you need things like graphics cards and hard disks to be accessible to the computer in order for it to be able to use them. (Assuming individual bytes are addressable.) This gives us a problem - the same problem that IBM faced when designing the original PC. To address 4GB of memory you need 32 bits of address bus. Ian Griffiths offers a more detailed explanation: After all the non-memory devices have had their say, there will be less than 4GB of address space available for RAM below the 4GB physical address boundary. Memory-mapped devices (such as your video card) will use some of that physical address space, as will the BIOS ROMs. Most of that address space is filled with RAM, but not all of it. In the absence of the /PAE switch, the Windows memory manager is limited to a 4 GB physical address space. Where, exactly, did the other 642 megabytes of my memory go? Raymond Chen provides this clue: Let us never speak of this again.īut back to our mystery. I'm getting the shakes just thinking about segments, and pointers of the near and far variety. Could be worse.* We could be back in 16-bit land, where the world ended at 64 kilobytes. OK, so we're limited to 4,096 megabytes of virtual address space on a 32-bit operating system. Well, actually, it's stuck with even less- 2 GB or 3 GB of virtual address space, at least on Windows. Unless the application is specifically coded to be take advantage of these hacks, it's confined to 4 GB. No ms.Īddressing more than 4 GB of memory is possible in a 32-bit operating system, but it takes nasty hardware hacks like 36-bit PAE extensions in the CPU, together with nasty software hacks like the AWE API. In any 32-bit operating system, the virtual address space is limited, by definition, to the size of a 32-bit value:Īs far as 32-bit Vista is concerned, the world ends at 4,096 megabytes. The screenshot itself provides a fairly obvious hint why this is happening: 32-bit Operating System. But that's not what I saw in System Information: I installed the memory in my work box, which brings it up to 4 gigabytes of RAM- 4,096 megabytes in total. Due to fallout from a recent computer catastrophe at work, I had the opportunity to salvage 2 GB of memory.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |