I see some of these questions asked quite frequently, so I thought I'd make a thread for clarification
Starting with the bottom line:
What’s the general difference?
Well 32 and 64 bit is, in it's simplest form, a reference to the way your computers CPU (processor) uses and passes information, through both the FSB (bus) and OS itself. 64 bit has a wider memory space than 32 bit, hence being able to utilize more than 3.6 GB of RAM and provide performance benefits. For even more information: A description of the differences between 32-bit versions of Windows Vista and 64-bit versions of Windows Vista
Can I upgrade from Windows 7 32-bit to 64-bit, and vice versa?
Can you perform an "upgrade"? No. However, if your processor support 64-bit, you can backup and do a "clean installation" of Windows 7 64-bit.
How Do I know what architecture of Windows I'm using?
To check the architecture of your Windows 7, open your start menu, and proceed to type “system” into the search field (assuming you have Windows Search enabled), click the First result under “Control Panel”. What you should now see is basic information about your PC, including amount of RAM installed, the model of your CPU. Beside “System Type” will either be 32 or 64-bit operating system. If you don’t have Windows Search enabled, open the start menu, right click on “Computer” and select “Properties”.
Should I install 32-bit or 64-bit?
You can only install 64-bit if your processor is capable of it, furthermore, there will be no real benefits unless you have more than 3 GB of RAM, unless if you have programs that are specifically 64-bit only, and will not function on the 32-bit system. To check if your processor is 64-bit capable, run the Intel Processor ID Utility or the AMD Hyper-V Check Tool depending on whether you have an AMD or Intel processor. If you're unsure of whether you have an Intel or AMD processor, why are you reading this?
Will I be able to run 32-bit programs on my 64-bit PC? Vice Versa?
Yes, compatibility is almost always maintained, though 64-bit optimized usually provide performance benefits on a 64-bit platform. But if you have a program made only for 64-bit systems, you will not be able to use the program on any 32-bit platform. For 64-bit systems, in your main drive (Usually C:\), there will be two folders: “Program Files” and “Program Files (x86)”, your 32-bit programs are installed in the second folder to avoid conflicts.
What about drivers?
Unfortunately, the same fate can't be met with drivers, if you have 32-bit drivers for a 64-bit PC, you'll need to go out searching for compatible 64-bit drivers. Same goes for vice versa.
What is the memory limitation in 32-bit?
The memory “limitation” isn’t really a limitation at all. If you have 4, 6, 12 GB or more RAM on a 32-bit system, it’s still “usable” just not by you for your programs, it’s typically used by graphics card and other overhead functions/devices. There is of course a way to make that RAM utilizable for your everyday programs, but I won’t post that here as it can cause conflicts and problems.
If you have any further questions, please post away