一直对x86/i386/i686/x86_64这些东西感觉很不清楚,查些资料,解决部分问题,小记一番。
Question1:什么是x86?
x86或80x86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称。该系列较早期的处理器名称是以数字来表示,并以”86”作为结尾,包括Intel 8086/80186/80286/80386/80486/80586/80686等,因此其架构被称为”x86”。这些体系结构都可以称为IA-32(Intel Architecture, 32bit)。i686也是32位的cpu。
由于数字并不能作为注册商标,因此Intel及其竞争者均在新一代处理器使用可注册的名称,如Pentium。解释:Pentium是英特尔的第五代宏内核x86架构之微处理器,Pentium本应命名为80586或i586。i686是Pentium II及以后的。
Question2:什么是x86_64?
首先,这是一种64位的cpu体系结构。
Intel早在1990年代就与惠普合作提出了一种用在安腾系列处理器中的独立的64位架构,这种架构被称为IA-64(Intel Architecture, 64bit)。IA-64是一种崭新的体系结构,和x86架构完全没有相似性;
2003年AMD对于IA-32架构发展了64位的扩充,并命名为AMD64(有时也被称作x86-64,x64或EM64T),推出了 Opteron处理器家族,开创了x86的64位时代。这种体系结构被英特尔称之为”Intel 64”。
注意IA-64与x86_64完全不同。
再附加一段:
“x86-64”,有时会简称为”x64”,是64位微处理器架构及其相应指令集的一种,也是Intel x86架构的延伸产品。”x64”最先由AMD设计,推出时被称为”AMD64”,其后也为英特尔所采用,现时英特尔称之为”Intel 64”,在之前曾使用过Clackamas Technology (CT)/IA-32e及EM64T。外界多使用“x86-64”或”x64” 去称呼此64位架构,从而保持中立,不偏袒任何厂商。