I used to simply say that 32-bit versions of Windows can only use up to 4GB of RAM, but with modern video cards having as much as 1GB of their own memory (not to mention SLI and CFX), that explanation has become inaccurate and misleading.
Unfortunately, I still have yet to find a way to explain the concepts of memory addressing and virtual address space in a simple, concise, and most importantly, accurate manner.
So how would you explain the 32-bit limit to the less technically inclined?
-
32bit Programs uses Flat Memory Model for addressing hence 2^32 is the limit.
If I want to move a memory address to a EAX register it has to be 32bit because EAX is 32bit in size.
By Extending the registers (EAX becames RAX) to 64bit now I can move 64bit addresses to RAX therefore memory location greater than 32bit can now be access without using address translation(Actually Windows 32bit can map more than 4GB because it has some sort of address translation but a native addressing mode is better).
Original it was AX Register (16bit) they extended the size to EAX (32bit) and now again they made it RAX(64bit).
I don't know maybe my explanation sucks...not simple enough -
As i have understood it the x86 (x86-32, x86-64) uses memory mapped i/o which means that the OS talks to hardware devices (PCI, Networking, Video etc) by reading and writing to regular memory addresses. Each type of hardware reserves the memory addresses it needs in the physical memory space (normally in the 2-4GB range). This is no problem if the Physical memory + occupied hardware addresses is less than the total amount of memory the computer can address.
32 bit xp/vista/7 can only address 4GB memory in total (2^32=4GB). And in that 4GB memory space you have to fit both the physical memory and the hardware occupied addresses.
For 64 bit xp/vista/7 the address space is humongously larger than 4G (2^64 = 18.4 exabytes) and like 32 bit you have to fit both the physical memory and the hardware occupied addresses inside this space. Practically the the OS (xp/vista/7) limits the usable memory to between 8-128GB depending on version.
A few examples below:
----------------------
32 bit OS: 2GB physical memory, 1GB hardware occupied addresses gives the following memory map: 0-2GB memory, 2-3GB nothing, 3-4GB hardware. No memory lost.
32 bit OS, 4G physical memory, 1GB hardware occupied addresses gives the following memory map: 0-3GB memory, 3-4GB hardware. So 1GB memory got lost due to conflict with hardware addresses.
64 bit OS: 4G physical memory, 1GB hardware occupied addresses gives the following memory map: 0-2GB memory, 2-3GB nothing, 3-4GB hardware, 4-6GB remapped memory. Thanks to a larger available memory space it was possible to remap 2GB of the physical memory to the 4-6GB memory range which is above the hardware occupied addresses. No memory lost.
Please correct anything above that i might have gotten wrong. -
-
jackluo923 Notebook Virtuoso
There's a memory limit in 32 bit system and it's about 3GB-3.5GB. Accept the fact and move on.
-
Here's the simplest way to explain it that while not 100 percent analogous will make sense to the laymen.
Think of all the parts and software of your computer as a big book.
In order to keep track of everything in the book, windows keeps a big index, but with a 32-bit OS that index is only one page long and only covers the first 100 pages. If your book is really big, Windows cannot look in the index for anything past page 100. With a 64-bit OS, you now get an extra page of index so your computer can finds things past page 100.
This doesn't address performance enhancements of a 64-bit OS, but it makes it clear enough for most people when you talk about the 32-bit memory limit and they will stop bothering you and let you finish your work -
I just tell people that having a 32 bit OS is like having only enough dresser space for 10 sweaters. If you want to fit more sweaters, you need a bigger dresser.
-
tilleroftheearth Wisdom listens quietly...
I simply tell people that 64 bit O/S's allow 64 bit programs to use as much RAM as they need (and have available) to get the job done as fast as possible.
I also ask them: Do you want to be stuck in 1995 for yet another year?
Cheers! -
Explain it this way: If you need more than 3 gb of RAM, then get 64-bit!
-
davepermen Notebook Nobel Laureate
how much harder is that? -
You guys forget that 4GB is mostly a limit imposed by the operating system. Apart from a few exceptions (Banias comes to mind), CPUs manufactured since the Pentium Pro support PAE (physical address extension).
There actually are 32-bit Windows versions that make use of more than 4GB of memory (e.g., Windows 2000 Advanced Server). -
-
-
What's wrong with the explanations in the thread in my sig? (32Bit vs 64Bit)
-
davepermen Notebook Nobel Laureate
it's a hardware limitation, that, thanks to PAE, could be danced around a bit. only going 64bit allows to directly address more than 4gb ram. which is the important part.
edit: so even while you might be still able to use it mainly on the server oses of today, going 64bit is the only real way.
Explaining the 32-bit limit
Discussion in 'Windows OS and Software' started by Peon, Jan 16, 2010.