chewy1963 :
I'm thinking that some of the newer games will start using 64bit instructions in their code as well, because despite what M$ Windows would have you think, a 32bit CPU is not inherently 4 GB of address space. I know this because I dual boot Win 7-64bit along with Ubuntu 12.04LTS-32bit (Which I found to be more stable than Ubuntu's 64 bit flavor) and guess what! Ubuntu 32 bit sees and uses all of my memory (6GB) minus what the hd2000 is using (which is usually between 128MB and 512MB but can go up to 1.7GB on massive video rendering). The point is the resources limit is artificially set by M$ for it's windows products. I remember all the crap we had to do to get around DOS's 640k limit which was again a limit of the OS not the hardware. In fact, I once owned a TRS80 Color Computer 3 that had an 8 bit processor, but was upgradable to 512K (supported by Tandy) or up to 8 MB by reprogramming the memory manager in the coco's GIME chip.
Sure CPU are limited by how many address lines it has (64k for the 6809E in the coco3) but a decent memory manager can use much more memory than this via page swaping. That is what the coco did and I suspect the same type of thing is happening in Ubuntu 32bit.
So if the new games just need more memory resources, then getting M$ off their butts and change their memory management software would be all that is needed (32bit Windows 'seeing' 128GB of memory isn't impossible and is pretty strait forward). Microsoft doesn't want to do that for whatever reason.
But I suspect many game and most other genres of development will (or are?) also using the new 64bit machine code instructions in development work. There are plenty relatively new compilers out there for various languages that compile 64bit instructions into it's executables. THIS kind of software wouldn't work on a CPU with a 32bit instruction set.
So you seem to want to know, what's this thing you're hearing about a 4GB memory usage limit with 32-bit OSes, and where does it come from?
You can kind of think of computer memory as a really long city block. Along this city block, instead of houses you have bytes. Each one of these byte-houses contains 8 rooms, and in each room a bit can be present or absent. Every byte needs to have its own unique address along the street, so that a program can use the address as a means of referencing where data should be stored/retrieved from without any confusion. A piece of stored data may use up one or more consecutive bytes; the data will be referenced in the program using the address of the first byte.
In computer land, those addresses are just a single number. On a 32-bit operating system, those address-numbers are stored in 32-bits. Well it so happens that the maximum number of unique values you can store in 32 bits is 2^32 = 4,294,967,296 = 4GB. That's why 32-bit applications can't use more than 4GB of RAM. They wouldn't know how to refer to memory locations beyond 4GB.
On a 64-bit OS, it uses 64 bits to store those address numbers instead of 32. A 64-bit OS could theoretically run out of memory support as well, but it wouldn't happen until you reached 4,294,967,296 x 4,294,967,296 = 18,446,744,073,709,551,616 bytes of memory. That's a lot of bytes. Never say never, but who knows if we will ever reach that limit. But if we ever do, we can always move to a 128 bit OS.