Difference Between 32 Bit (x86) and 64 Bit (x64)

Status
Not open for further replies.

KSoD

Call me Mak or K, Mod Emeritus
Messages
35,644
Location
C:\
Alright this is another common question asked. So lets get some basics out of the way first.

The first thing you need to know is if your CPU (Processor) is 64 Bit enabled. So first you need to download CPUz:

CPUID

Run that. It will give you the info on your CPU. There you can use Google to find out all the info on your CPU. That will tell you if your CPU is 64 enabled or not. By enabled i mean it is capable of 64 Bit. Not all CPU's that can do 64 Bit are enabled to do so. This is done via the BIOS. So check your BIOS and make sure that you have 64 Bit enabled there to run 64 Bit. This might require a BIOS update on some older PC's.

Now comes the question of why choose 64 Bit over 32 Bit? Well 64 Bit is the future. It is where we are going and what we should be using within the next 3-5 years. So if you like to stay ahead of the curve then get started now. But here comes the nittty gritty, not everything works on 64 Bit.

This is not the fault of Microsoft. So before you go and blame them they have done everything they can to get people to go over to 64 Bit. Vista is the prime example. Vista 32 bit and 64 Bit are exactly the same. The difference is that Vista 64 Bit is, duh, 64 Bit. It runs 64 Bit apps and does not have the limitations that 32 Bit does.

Now here is the issue. Many manufacturer's have refused to date to either a.) create the correct batch of drivers or hardware to run on 64 Bit or b.) failed to update their software to run on 64 Bit. This starts with simple applications and goes onto things like games and such.

The first thing you will want to do before you start this adventure is to check and make sure your hardware has 64 bit drivers. To find out all your hardware use something like:

Belarc Advisor - Free Personal PC Audit
Lavalys - Comprehensive IT Security and Management (get the free version)
SiSoftware Zone

Any one of these will give you a in depth look at your system hardware so you (Yes you will have to do reseach here) can use Google to find out if there are 64 Bit drivers available.

After you find out if you have 64 bit drivers the next step you will want to take is to research your favorite applications and games. This is to see if they will run on 64 Bit at all. Some software can run on both 32 Bit and 64 Bit with just a single installer. Some have a specific installer for 32 Bit and 64 Bit. This is what you want to know before hand. Some software has not been updated to run on 64 Bit at all. Some games are the same way. They might just need a simple patch or they might not work at all.

After all that you are ready to take the plunge. But now comes into why? Why do you want to upgrade to 64 Bit. Well lets take a look at this now.

32 Bit has limitations. The first and largest Limitation is the 4GB limit. Meaning that 32 Bit can not and will not recognize or utilize 4GB of RAM. The Max you will get is 3.5GB of RAM recognized and utilized on a 32 Bit system. No before anyone goes off on me for the fact that Vista SP1 will show that you have 4GB installed you still do not get to utilize that 4GB as it will not use that other 512MB.

To better explain the limitation i turn to Computer Guru of NeoSmart Technologies. Who gave me this bit of information.

Memory is a block of registers (storage devices) in a very long row:
Code:
ADDRESS 1
ADDRESS 2
ADDRESS 3
ADDRESS 4
etc..

In order to access Address X, the CPU needs to store the value of X in a register in the CPU and tell the memory to read the contents of the address stored in that register.

Registers in x86 PCs are limited to 32 bits, which means the biggest number that can be stored in that register is 2^32, or 4,294,967,296; which means that the CPU can access up to "ADDRESS 4,294,967,296" which is the 4th GB of data.

The problem is that the CPU also access I/O devices (printer, USB, keyboard, mouse, monitor, etc.) by assigning them an address as well. So it reserves half a GB or so of the memory addresses to talk to the I/O devices... So you have 4GB - ~0.5GB -> 3.5 GB (on Windows it is 3.2GB).

This is the only reason x64 was invented.

Which came from a similar thread of someone asking about removing RAM from their system to get it working.

Another issue that many people face is the fact that you will have troubles installing your Windows OS with 4GB of RAM installed when you run the installer. This has been reported by several people on this site alone, let alone in newsgroups and other sites. Now the fix for this is to install the OS with only 2GB of RAM or just a single stick of RAM installed when you go thru the OS install procedure. This does not mean that after it installs and you put the rest back in that you will not encounter issues.

The rule of thumb. If you want to run 4GB (Come on you bought it to use it right?) get 64 Bit. Anything else you can and most likely will encounter issues.

As for 64 Bit well it can recognize and utilize up to 128GB of RAM or something amazing like that. Not that any desktop mother board can even hold that much RAM. There are stories of 64 Bit running faster and smoother on systems. There are also reports of 64 Bit being a disaster. I personally can not comment as i do not have 64 bit at all. My CPU is not 64 Bit so i can not install it and run it.

*Update as of Aug 29, 2009*

In regards to the link provided here, from post #27.

PAE (Physical Address Extension) can allow for Vista and possibly Win7 to use all RAM installed. Since the code for Vista 32 Bit is almost exactly the same as it is for Vista 64 Bit it is to be concluded that Win7 will also experience this behavior as well since it is the same way. With that said i quote a line from that article in regards to this:

Microsoft just doesn't license you to use that code.

The 4GB limit is retrieved from the registry by calling a function named ZwQueryLicenseValue, which is itself called from an internal procedure which Microsoft's published symbol files name as MxMemoryLicense. If you remove this check for the licensed memory limit then a restriction to 4GB is demonstrably not enforced by other means.

Basically what it is saying is that the 32 Bit versions have a code limit put on them to query the license to determine which version of Vista you are running. If it reports back that it is 32 Bit it will then limit your RAM to the information provided above. Now for the information provided in the article linked Vista was used in Test Mode. Now from my understanding Test Mode is exactly what it sounds like. I have used it before, only once. While in Test Mode i was unable to do pretty much anything. Starting software, installing software and so much more were blocked when i used this mode. There is little to no information provided and i will see about trying to get some information about this mode.

I will again quote from teh article. As this information stated is important.

PAE is slower. It has one extra level to its page tables. Each PTE is twice as big. The operating system therefore has more work to do when preparing and maintaining the page tables, and since the Translation Lookaside Buffer (TLB) has only half the capacity, memory references are more likely to miss the TLB and require additional bus cycles. The reduction in performance is surely measurable. If you have no need to access memory above 4GB and are concerned enough, then you would not enable PAE

So unless you are dead set against going 64 Bit PAE still might not be the solution for you. Only if you have 4GB of RAM installed and are not concerned about losing that 500MB or so that is not available. As it states it will show noticeable slow down.

So it is now shown that Vista can use more than 4GB. Which at the time of the original posting of this topic the information was not readily available. I thank Binary.Side, sag_ich_nicht, and Geoff Chappell, the author of the article for providing this information as it is useful to those to know this information. There is so much more information in the link and if you are interested i would suggest reading it in is entirety.

NOTE:

It is the TOTAL amount of RAM installed in your system. The physical RAM and your Video RAM that count toward the overall total. So if you have 4GB of System RAM and 1GB of Video RAM on your dedicated Video card that makes for a total of 5GB that the system can recognize total. Not just the 4GB you installed. So if you are on a 32 Bit (x86) OS you are losing not just up to 750MB but 1.75GB of total RAM that you could be using. I hope that makes it more clear that it is the System RAM and your Video RAM that count in this measurement. Not just the System RAM.

Question: Can i upgrade from 32 Bit to 64 Bit?

Answer:

NO.

They are 2 totally different architectures built on different code. There is no way to upgrade from 32 Bit to 64 Bit while keeping your current files in tact. On that same note there is no way to downgrade from 64 Bt to 32 Bit either.

It REQUIRES a full fresh install.

So if you decided you want to use 64 Bit. Check for Driver support first. Then check you top used software. Make sure that is 64 Bit support. After that check the rest of the software you use. Make sure that has 64 Bit support.

If you can answer Yes to all of that above. You will have no problems with 64 Bit.

So there you go. A whole bunch of info on 32 Bit vs. 64 Bit. I know i have left out some info. But it can always be added later. This will be added to the index for reference.
 
This is in the Index already. Was put in there after i created it. It was just updated as well to explain the Memory Addressing issue.
 
Yay, now we just have to copy/paste a URL instead of having to explain the differences now. Thanks Mak =).
 
Yes now just direct people here and i will close the threads that get opened by people who refuse to read the Index. :D
 
I had started leaving 64 bit on full time. then a simple copy and paste killed my usb hdd.
 
Okay to dispell the many questions people have been having i will answer this here and will add it to the top as well.

Question: Can i upgrade from 32 Bit to 64 Bit?

Answer:

NO.

They are 2 totally different architectures built on different code. There is no way to upgrade from 32 Bit to 64 Bit while keeping your current files in tact. On that same note there is no way to downgrade from 64 Bt to 32 Bit either.

It REQUIRES a full fresh install.

So if you decided you want to use 64 Bit. Check for Driver support first. Then check you top used software. Make sure that is 64 Bit support. After that check the rest of the software you use. Make sure that has 64 Bit support.

If you can answer Yes to all of that above. You will have no problems with 64 Bit.
 
I'd like to add some personal experience in here in the driver department.

I built a new computer and I put Vista 64 bit on it. I came to find out that my PCI Sound Card does not have 64 bit drivers for XP or Vista, and as far as Vista goes it only has 32 bit drivers. I ended up putting Vista 64 on it without doing a lot of prior research. Everything is supported except my sound card.

Fortunately, there's hope for me. I have an onboard sound card to use for the time being. And on my sound card's web site, they have a specific notation that in Dec of 2008 they expect to have Vista 64 drivers available. That's 1 month from now. So, not a big deal... but I'm encouraging EVERYBODY who is considering on going to 64 bit Vista... please... track down every driver you would need and make sure the 64 bit drivers exist. Most new hardware will support 64 bit, but don't just assume like I did. I thought because my computer was brand new I was okay. And come to find out, I'm 1 month short of being "aye-okay"
 
Status
Not open for further replies.
Back
Top Bottom