New
#11
iow, a 32 bit CPU and OS can only address 4 GB. Any hw mapped into that space has to take it away from physical ram(if you happened to have 4 GB.) But since you can address more than that with 64 bit CPU and OS, you can map the physical memory address to a logical memory address that's outside the 4 GB... leaving all 4 GB for your programs and OS to use.
Actually the old 386 can really map more than 4 GB of ram, but nobody wants to bother using the segment descriptor table. They just set 'em all to 0 and use flat 32 bit addressing. I forget what the limit is if you used the descriptor tables... tetrabytes or something. If you're really curious you could probably find the spec on Intel site somewhere. I don't want to have to dust off my old 386 book. It's like, way too dusty to pick up!! :)