X86 Architectures
From CLUG Wiki
Contents |
Pre-History
In the beginning was the the Intel 8086 (well, more correctly for microprocessor, there was the Intel 4004, but we'll ignore that and all the other 8086 predecessors). It was the CPU that powered the IBM PC, and started the line of x86 processors that dominate personal computing.
386
80386 was the first 32-bit x86 processor. It is the oldest x86 supported by Linux. It is also known as i386, and IA-32.
486 through Pentium 4
Intel continued refining the x86 line, adding more features, such as MMX, SSE, and a host of others to each revision. Each version was backwards compatible to all previous versions. Thus a program compiled to take advantage of Pentium-1 features will run on a Pentium-II, but probably not a 486.
i386 clones
AMD and other x86 manufacturers also had their equivalents to each Intel revision. The AMD Athlon, AMD Duron, AMD Athlon XP, AMD Sempron, VIA C3, Cyrix 5x86, Cyrix 6x86, Cyrix MediaGX etc. are all i386 processors.
amd64 / EM64T / x86_64 / x64
AMD64 was an extension of the x86 line into include 64bit memory addressing by AMD. Intel followed soon after with the EM64T extensions to Pentium 4, which is compatible with and equivalent to AMD64, just a different name.
These extensions added the capability of addressing more than 4 GB of memory possible by using 64 bit addressing. The vast majority of the instructions for these processors remain 32 bit. Hence the ability to execute IA32 code. The "64 bit" moniker won't get you any extra speed, unless you have more than 4 GB of RAM.
Many Linux distributions named this sub-architecture after AMD - "AMD64", others used a more generic name "x86_64". To "reduce" confusion, Microsoft named it "x64".
So, now we have 4 names for the same thing. What do you want to call it? Take your pick.
Itanium
EM64T isn't the only 64bit Intel processor. They also have their Itanium line, aimed at servers, known as IA-64. However, this is not an x86 processor. This is a full blown 64 bit processor. All instructions etc are 64 bit.
Picking a Linux distribution version
If you have an AMD64 / EM64T processor, such as an AMD Athlon 64, AMD Athlon FX, AMD Opteron, or Intel Pentium 4 with EM64T extensions, you can pick an amd64 or x86_64 distribution. These are identical and will run on both AMD and Intel machines. However, they will *not* run on older x86 machines.
Otherwise, you can pick an i386 / IA-32 distribution. This will run on any x86 machine, including 64-bit capable x86 machines.
If you have an Itanium processor, you must use a IA-64 distribution.
Identifying if your Intel processor is EM64T capable
- All 8xx/6xx/5x6/5x1/3x6/3x1 series CPUs have EM64T enabled, as will all future Intel CPUs.
- All Pentium M processors do not have EM64T
- The Celeron D model with the last digit of a 1 or 6 (i.e. 341 for example) supports EM64T. Do not confuse this with Pentium D that has dual core.
- wikipedia:EM64T
