UbuntuHelp:32bit and 64bit
32-bit and 64-bit
As of 2008 most new consumer desktop PCs being sold contain processors from AMD or Intel which are capable of operating in 32-bit and 64-bit modes. List of processors with 64-bit support:
- Athlon x64, FX, Athlon X2, Phenom X3, Phenom X4, Phenom II X4
- F and 5xx series Pentium 4 using the "Prescott" core
- Pentium D
- Core 2 (Solo, Duo & Quad)
- Core i7 (all)
- Core i5 (all)
In addition to the above mentioned list, a number of other architectures also support 64-bit processing (Itanium, S/390, PowerPC, SPARC, MIPS, etc); however, as they are not supported by Ubuntu, we will not discuss those further here. For a distribution supporting the named architectures see Debian on which Ubuntu is based. Each manufacturer has a different name for 64-bit: AMD's AMD64 and Intel's IA-32e (later EM64T). We will however use AMD64 to refer to all implementations in this page. Whilst your processor probably already supports 64-bits, in order to benefit from it you need a 64-bit operating system.
What is it?
32-bit and 64-bit refer to the size (or width) of a chunk of memory or more accurately, the memory registers in a computer's CPU - this defines how much data the processor can handle in a single operation. So what does that mean? Well, the two main characteristics of the AMD64 architecture are:
A 32-bit computer has a word size of 32 bits, this limits the memory theoretically to 4GB. This barrier has been extended through the use of 'Physical Address Extension' (or PAE) which increases the limit to 64GB although the memory access above 4GB will be slightly slower. A 64-bit computer will be able to address up to 16.8 million TB (16 exabytes) although constraints are in place that limit this to around 1TB.
The AMD64 processors have additional general purpose registers which will allow 64-bit code to run faster (in some cases) than its 32-bit cousins.
Which is better?
If you are doing heavy work where you have started to hit the 4GB memory barrier, then 64-bit is for you. Certain intensive tasks such as encoding video or audio also run significantly faster on 64-bit operating systems (NOTE: this is implementation specific). Early 64-bit adopters were plagued by incompatibility problems (most noticeably Java and Flash), however most issues have now been resolved. Some applications such as Flash do run slower in 64-bit mode, however work continues to improve on this. Other platforms (like Windows) which also come in 32 and 64-bit flavours are experiencing significantly more problems especially due to a lack of 64-bit device drivers as incompatible user application. As Ubuntu is entirely open source, this is not the case as all hardware supported by Ubuntu works equally well in 32-bit and 64-bit environments. The same applies to open source user applications as well.
What should I choose - 32 or 64 bit?
Unless you have specific reasons to choose 32-bit, we recommend 64-bit.
How to make 32-bit application work on a 64-bit Operating System
It is possible to install and use 32-bit software on a 64-bit computer in different ways:
- Installation of 32-bit compatibility libraries (ia32-libs)
- A 32-bit chroot
- Full virtualization through KVM or VirtualBox
- Another option in a pinch is getlibs getlibs
A use case for getlibs was installing the Amazon MP3 Downloader software, it is written for 32 bit only and without their software downloading mp3s would otherwise be incredibly time consuming. Applications found in the Ubuntu archives should however all work out of the box in 64-bit mode. Happy 64-bitting!