一直以来对CPU体系架构都只停留在32位之上,这几天分析Linux的分页机制时涉及到64位体系,对遇到诸如x86-64和IA-64这些专有名词更是迷惑。目前我们所遇到的CPU体系架构按照名称主要分为两大类:IA和x86,在这两类下又分别划分有32位和64位。按照这样的分类,就出现了四种体系架构名称:IA-32,IA-64,X86-32,X86-64。通过查找资料,终于搞清楚了这些名词的含义并总结如下。
x86
x86是Intel公司首先研发的一种CPU体系架构,这种体系架构也常被称为80×86。该系列最早的处理器即为16位的Intel 8086。由于Intel早年对于这个系列的处理器都是以80开头并以86结尾,比如Intel 8086、80186、80286及80386等,因此用x86或者80×86表示该体系架构,其中“x”即为英文字母x。
值得注意的是,x86代表一类处理器的体系架构,并不特指Intel公司的处理器,比如AMD公司也生产遵循x86架构的处理器。另外,x86体系架构包含16位、32位和64位。
x86-32
表示32位的x86体系架构,该系列也被称为IA-32或i386,甚至直接使用x86来代表这种体系架构。该架构的第一款CPU为Intel 80386,它完全取代了16位x86架构的CPU。
x86-64
表示64位的x86体系架构。该架构由AMD公司首推,因此AMD将其称为AMD64。Intel随后也推出了64位的x86架构,将其称为Intel64。由于这两个64位的架构几乎相同,因此许多其他厂商使用不偏袒任何厂商的称呼x86-64来表示对这两个架构的兼容。该架构有时也被称为x86_64或x64,某些厂商也用AMD64或amd64同时表示Intel64和AMD64。
IA-32
表示英特尔32位元架构,英文全称为Intel Architecture 32-bit.它与x86-32表示同一种体系架构,只不过Intel现如今将x86-32称为IA-32。
IA-64
表示Intel与惠普合作开发的一种崭新的64位体系架构,它与x86架构不兼容。因此,IA-64与上面提到的x86-64或x64代表的含义不同。
参考: