powerbaselx :
Sorry. I wrote the sentence wrong which lead to confusion... it should have been:
"What i didn't understand so far is that <b>IF</b> people can play most of popular games on 64bit OS (XP or Vista) to take advantage of more memory."
What i needed to know, and it is very important, is that if people can play the Top Games like Crysis or Supreme Commander or Far Cry 4, etc, on 64bit OS. I believe these games are compiled on 32bit OS and may have trouble running on 64bit Windows, no?
The answer to the gaming question is
"Yes, You can play Crysis, Supreme Commander, Far Cry, CoH, or whatever game you choose on 64 bit Windows with NO CHANGES"'
- - Well Scott... How is that possible??
Thank AMD: They wrote the current X64
(F/K/A X86-64) specification with the express purpose that the instruction set is fully backwards compatible. This means the 64 bit processor
(you already have!!!) in your computer can and will run the binaries with no changes at all.
Intel created their "Itanium" series of processors as their 64 bit offering. From an industry standpoint IA-64 was a big problem because none of the instructions are/were backwards compatible. So you had to create/compile specifically for this processor if you wanted to run anything. This effort was rewarded with a niche, but the bottom line is that *nobody* wants to rewrite and/or recompile all their software.
So the AMD created standard won the battle. Intel recognized this, licenced it, and called it 'X64'.
- - OK Scott, but that only addresses the Hardware level...
Yup!
Now - We've already touched on instructions to/from the processor. On the software to OS side the rough equivalent is an "API"
(Administrative Programming Interface). These are the instructions a programmer uses to write code for a given piece of software. In this case, the APIs are for Windows. And guess what? Given the same version, a Windows API call is a windows API call is a windows API call.
- - AAAAHAA!! Stop Right There!!! If they're the same, they why the stink with drivers and support?
Two things: The first is that Microsoft changed the Driver model between XP and Vista - The API's changed. So now you have to have a driver written one way for XP, and another written differently for Vista. Some vendors handled it, others were less good... The other thing that changed is Vista does not allow Drivers to run inside protected space
(read "talk Directly to the core of the OS"), because of Security related complaints/issues that Microsoft routinely get raked over the coals for. Some makers presumed that wasn't the case, or failed to properly account for the change. You would think this shouldn't be that big a deal, but it was common to use shortcuts... which became disallowed under the new layout.
But drivers aren't full programs and aren't handled the same way.
So, as a Programmer, you write code to a Windows API, and compile for your X64 Processor. Done deal - and your code runs on both. For a Hardware vendor, you have to have several sets of drivers (XP32 and 64, plus Vista 32 and 64). And for a consumer, make sure you check the label on the box for the OS version you are using and install the correct drivers.
***For those who are more technical than I - YES, I fully understand I have oversimplified things for the sake of clarity.