X86-64详细信息集合

X86-64(也称为x64,64位e Xtender的缩写)是X86架构的64位扩展,向后兼容16位和32位x86架构。X64是AMD在1999年设计的,AMD首次公开了64位集,将其扩展到x86,称为“AMD64”。后来也被Intel采用,现在称之为“Intel 64”,之前也用过“clack amas Technology”(CT)、“IA-32e”、“EM64T”。

Apple和RPM包管理员将这种64位架构称为“x86-64”或“x86_64”。甲骨文和微软称之为“x64”。BSD家族和其他Linux发行版使用“x64-64”,32位版本称为“i386”(或i486/586/686),Arch Linux将这种64位架构称为x86_64。

基本介绍中文名:X86-64 mbth: X86-64支持:64位兼容性:X86指令集推出公司:AMD简称:x64简介、AMD64、架构特点、市场分析、Intel 64、概述、架构特点、操作系统支持、DOS、FreeBSD、Linux、Mac OS X、Menuetos、NetBSD、OpenBSD、Solaris、Windows、行业称谓约定、应用产品、简介X86-64(也称X64,64位e Xtender的简称,64位扩展X64是AMD在1999年设计的,AMD首次公开了64位集,将其扩展到x86,称为“AMD64”。后来也被Intel采用,现在称之为“Intel 64”,之前也用过“clack amas Technology”(CT)、“IA-32e”、“EM64T”。Apple和RPM包管理员将这种64位架构称为“x86-64”或“x86_64”。甲骨文和微软称之为“x64”。BSD家族和其他Linux发行版使用“x64-64”,32位版本称为“i386”(或i486/586/686),Arch Linux将这种64位架构称为x86_64。AMD64 AMD64指令集已经应用于Athlon 64、Athlon 64 FX、Athlon 64 X2、Turion 64、Turion 64 X2、Opteron以及Sempron、Phenom、AMD APU、AMD锐龙等更新的处理器。架构特点在x86-64出现之前,英特尔和惠普联合设计了IA-64架构;但是IA-64不兼容x86,市场反应比较冷淡。同时IA-64受制于多项专利,使得其他厂商无法模仿。兼容x86的AMD64架构应运而生。顾名思义,它的主要特性包括支持64位通用寄存器、64位整数和逻辑运算以及64位虚拟地址。设计师们对建筑做了很多改进。一些主要变化如下:增加寄存器地址宽度,加长SSE2和SSE3指令的NX位:AMD64有一个“不执行”位。市场分析AMD64代表AMD放弃了遵循Intel标准的一贯风格,选择像将16位Intel 8086扩展为32位Intel 80386一样,将x86架构扩展为64位版本,兼容原有标准。AMD64架构在IA-32的基础上增加了64位寄存器,并兼容更早的16位和32位软件,可以很容易地将现有面向x86的编译器转换为AMD64版本。此外,NX bit也是显著特点之一。很多人认为DEC Alpha这样的64位RISC芯片最终会取代过时多变的x86架构。但实际上x86系统的应用软件过于庞大,这也是Alpha无法替代x86的主要原因。AMD64可以有效地将x86架构迁移到64位环境,并且兼容原有的x86应用。Intel 64 Intel 64指令集适用于奔腾4、奔腾D、奔腾至尊版、赛扬D、至强、英特尔酷睿2、英特尔酷睿i3、英特尔酷睿i5、英特尔酷睿i7和英特尔酷睿i9处理器。总结Intel 64项目的历史是相当漫长和复杂的,主要是因为Intel自己的内部事务。项目之初代号为“Yamhill”,但英特尔一直宣称其项目不存在。直到2004年初,英特尔更名,将代号改为CT(Clackamas Technology)。在宣布CT项目的几周内,英特尔给该项目起了几个新名字。2004年春季英特尔开发者论坛后,英特尔将其命名为“IA-32E”,意为IA-32的延伸。几周后,它被重新命名为EM64T。英特尔对这个项目保密了很长时间,原因有二。首先,英特尔不想让客户对ItaniumIA-64处理器和x86的前景感到困惑。但是当英特尔看到骁龙和速龙64使用AMD64的成功,就要迎接竞争对手的威胁。第二个原因是为了自己的面子,英特尔不会承认使用了对手AMD的技术。因此,英特尔以EM64T的名义推出了该技术。虽然内核和AMD64几乎一样,但却像一对孪生兄弟。但是,如果英特尔使用AMD64的名称,就相当于帮竞争对手打广告。在英特尔过去的营销中,英特尔总是把AMD的产品斥为对自己技术的模仿;但这次AMD率先开发民用64位技术,英特尔需要反过来吸收AMD的技术,使得英特尔在x86处理器技术研发上的领先地位损失惨重,因此英特尔需要在造势上使用更多的人力物力。英特尔董事长克雷格·巴雷特(Craig Barrett)后来承认,就保密性而言,这个秘密受到的保护是最差的。在Intel 64(EM64T)的文件中,并没有提及其指令集的起源。所以有媒体戏称其为“iAMD64”,讽刺英特尔用AMD的技术来迎合AMD的民用64位技术,直接吸收AMMD64,重新包装换个新名字。后来英特尔干脆把这项技术命名为Intel 64。架构特性英特尔64允许处理器直接访问4GB以上的内存,从而运行更大的应用。x86-64架构还向指令集添加了额外的寄存器和其他改进。通过64位内存地址上限,其内存大小理论上限达到65,438+06,000,000 TB (65,438+06 EB),但在初始应用中无法支持完整的64位地址。英特尔以前在安腾处理器上使用过自己的64位IA-64技术。虽然Intel 64也是64位,但是它们不兼容,也就是IA-64软件不能直接在Intel 64上运行。Intel 64使用的X86-64是IA-32指令集的扩展,而IA-64则是另一种完全没有IA-32影子的独立架构。虽然IA-64可以通过仿真运行IA-32的指令,但运行前需要对指令进行转换,导致其速度较慢。因为x86-64是由IA-32衍生而来,所以运行IA-32和64位程序绰绰有余。首款采用Intel 64技术的处理器属于至强型号,支持双处理器。它的核心名字是诺科纳。因为至强直接建立在台式机奔腾4的架构上,奔腾4主板也可以用Intel 64,比如超线程。但是最初的普雷斯科特版本并没有激活Intel 64,可能是因为当时还不完善。Intel 64可以用在使用Prescott core E0的更新版本的奔腾4处理器上,这个版本叫做Pentium 4 F,而且E0更新版本增加了“execute disable”位,相当于AMD64的NX位。操作系统支持x86-64架构,以下操作系统都支持长模式。在DOS环境下,DOS可以通过DOS扩展器(如DOS4GW)进入保护模式。FreeBSD FreeBSD在5.1正式版中试验了x86-64。到了6.0正式版,解决了在x86-64上运行32位程序的一些问题,支持了很多驱动。Linux Linux在2.6版本的核心开始加入长模式,支持x86-64,兼容32位程序和模拟32位系统,允许程序在32位环境下编译成64位版本。Mac OS x MAC OS x 10.6雪豹开始提供64位内核,可以在部分处理器上打开。64位内核只支持64位内核扩展,反之亦然;但是对于普通应用来说,32位和64位内核都可以支持两种位宽的应用,但是32位程序只能使用4GB的内存空间。Mac OS X 10.5 Leopard在Intel和PowerPC上为Cocoa、Quartz、OpenGL和X11的GUI程序提供64位支持,并支持所有命令行库和程序。但核心仍然只是32位版本。Mac OS X使用通用二进制文件格式,将32位和64位程序和库代码打包在同一个文件中,加载时自动选择最合适的版本。在Mac OS X 10.6中,内核和内核扩展也使用通用二进制格式来支持这两种架构。2065438+2008年4月起,苹果在macOS High Sierra操作系统中运行32位应用程序时会提醒你。在2018年6月的WWDC上宣布,macOS Mojave将是支持32位应用程序的macOS的最后一个版本。MenuetOS x86-64版本的MenuetOS系统于2005年6月推出。虽然Menuet最初的32位版本是由GPL授权的,但是x86-64版本仍然是独占的,并且作为自由软件发布,并且提供了一些组件的源代码。NetBSD x86-64版NetBSD于2006年6月19日首次提出,2004年2月9日发布的NetBSD 2.0已经全面支持x86-64。OpenBSD自2004年5月1日发布3.5版以来,OpenBSD一直支持x86-64。Solaris Sunrise Solaris从版本10开始就支持x86-64。用于客户端的Windows XP Professional x64 Edition和用于服务器的Windows Server 2003 sp 1x 64 Edition已于2005年3月发布。Windows Vista、Windows Server 2008、Windows Server 2012、Windows Server 2012 R2、Windows Server 2016、Windows Server 2019、Windows 7、Windows 8、Windows 8.1和Windows 10都有相应的64位版本。Windows Server操作系统从Windows Server 2008 R2开始只提供64位版本。行业称谓惯例因为AMD64和Intel64基本相同,所以很多软硬件产品都使用一个不偏向任何一方的词汇来表示兼容两种架构。为此,AMD对这种CPU架构的原名——“x86-64”时有使用,还有一个变种“x86_64”。其他公司如微软和太阳微系统公司在营销材料中使用“x64”作为“x86-64”的缩写。许多操作系统和产品,尤其是那些在英特尔进入这个市场之前就引入了x86-64支持的操作系统和产品,都使用“amd64”或“AMD64”来指代AMD64和Intel64。BSD系统(如FreeBSD、NetBSD和OpenBSD)和一些Linux发行版(如Debian、Ubuntu和Gentoo)将amd64和Intel64称为“AMD64”。红帽的RPM调用x86-64 x86_64或者x86-64,32位IA-32 i*86(*是3-6的数字,比如i386)。Arch Linux调用x86-64 x86_64。FedoraPackageKit将64位架构称为“x86_64”。Java开发工具包(JDK):包含x86-64文件的目录名为“amd64”。Mac OS X:终端下的命令拱门和开发者的文档表明,苹果将64位架构称为“x86_64”。微软Windows:在IA-32处理器上使用64位技术被称为“x64”,但一些相关目录被标记为AMD64。例如,Windows x64版本的安装光盘上的系统目录命名为“AMD64”,而32位版本命名为“i386”。Solaris:操作系统的命令isalist将amd64和Intel64都定义为“AMD64”。应用产品以下处理器产品使用x86-64技术。截至2018年9月,几乎相当于市面上所有消费类产品都采用x86-64技术。AMDK8(AMD64)微处理器架构AMD Athlon 64 AMD Athlon 64 X2 AMD Athlon 64 FX AMD Opteron AMD Turion 64 AMD Sempron(仅限巴勒莫E6步进后所有马尼拉机型和所有斯巴达机型)AMDK10微处理器架构AMD Phenom AMD Athlon AMD Sempron AMD推土机微处理器架构AMDFX系列AMD Fusion(APU)AMD Llano AMD Ontario AMD zacate AMD Bobcat微处理器的CPU核架构英特尔至强(“Woodcrest”)英特尔酷睿2英特尔奔腾双核英特尔赛扬(型号自“酷睿”)英特尔酷睿微处理器架构英特尔至强英特尔酷睿i7英特尔酷睿i5英特尔酷睿i. 3英特尔奔腾英特尔赛扬英特尔Sandy Bridge微处理器架构英特尔至强英特尔酷睿i7英特尔酷睿i5英特尔酷睿i3英特尔奔腾英特尔Celero N intellivybridge微处理器架构英特尔至强英特尔酷睿i7英特尔酷睿i5英特尔酷睿i3英特尔奔腾英特尔赛扬英特尔酷睿微处理器架构英特尔至强。n英特尔酷睿i7英特尔酷睿i5英特尔酷睿i3英特尔奔腾英特尔赛扬英特尔Roadwell微处理器架构英特尔至强英特尔酷睿i7英特尔酷睿i5英特尔酷睿i3英特尔酷睿i3英特尔酷睿i7英特尔酷睿i5英特尔酷睿i3英特尔酷睿i3英特尔奔腾英特尔赛扬英特尔凌动(部分)