Re: What is the difference between x86 and IA32
32 bit processors compatible to i80386:
- "x86" == traditional term, and traditional Linux term
- "ia32" == new Intel term, adapted by most official OSes and compilers
- "i386" == traditional BSD term
64 bit processors using the prefix/extension to the 80386 instruction set:
- amd64 == initial term, some such as FreeBSD still stick to it
- x86_86 == term chosen so that it was more politically correct and Intel could use it (underscores suck in identifies like this)
Now, the trick is that since people are using the "x86_64" term for AMD64 people switched back from saying "ia32" to "x86" for the 32 bit architecture. Nice mess.
- "ia64" == Intel's term for Itanium which is about as not compatible with ia32 as your toaster. Many people confuse that with x86_64 since the term Intel chose for their 32 bit PC part is "ia32". Nice mess, Intel.
Intel certainly gets the grand price for confusing terms. Let's see:
"PCI express" - has nothing to do with PCI, name chosen for marketing reasons only so that it appears more "compatible" with existing systems. However, many dummies now use "PCIx" and "PCI-X" as a term for PCI express, although PCI-X is the term for the old PCI busses with 64 bits and/or more than 33 MHz.
"ia32" and "ia64". "Ia64" chosen for marketing reasons so that it appears more "compatible" with the old 32 bit arch, somehow appearing more compatible to ia32 than AMD64 is. But now people confuse the hell out of ia64 and amd64 or x86_64, once that Intel couldn't get away with Itanium and had to use amd64 themself.
"x86_64" is also a sucky term since the underscore is incompatible with many uses is a simple architecture term, such as in scripts composing stuff from `uname.