The issue is memory-mapped hardware. Any hardware that exposes configuration 
resisters or data buffers on the main address bus ends up taking a block of 
physical address space that could be used by RAM. If your CPU, motherboard, 
and/or OS can't deal with physical addresses wider than 32 bits, then you can 
have a maximum of 4 GB of RAM *and* hardware that can addressed. So if you have 
4 gigs of RAM and a graphics card with half a gig of VRAM exposed to the bus, 
then you end up with half a gig of main RAM that's unusable. Even with a 
CPU/OS/mainboard that can handle >32 bit physical addresses, you may see some 
RAM unusable: if the mainboard assigns DIMMs to consecutive addresses starting 
from zero, with no holes, and you have 4+ GB of RAM and a device that only 
handles 32-bit addresses, then the device will end up stealing addresses from 
some of your RAM under 4GB.

Note that "dealing with physical addresses wider than 32 bits" doesn't mean 
"64-bit". Motherboards generally don't have a neat power-of-two bus width, and 
and when a CPU or OS is called 32/64 bit, that generally refers to *virtual* 
addresses. For x86, a 32-bit CPU/OS with PAE will handle 36-bit physical 
addresses.

Dec 31, 2021 19:12:31 Travis Siegel <tsie...@softcon.com>:


> Reminds me of my last XP machine, supposedly, XP could handle up to 4GB of 
> ram, but when I installed 4GB in my machine, XP only saw 3.5GB.  No idea why, 
> I never did find out what the technical reason was, but it was a commonly 
> known problem, since almost everywhere I tried to get the ram from for the pc 
> insisted XP wouldn't see more than 3.5GB.  Kind of odd I thought, but it 
> accomplished what I needed, so I was ok with it.  I still have that machine 
> around here somewhere, though I've not turned it on in a couple years. :)


_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to