X86-64详细资料大全

X86-64详细资料大全,第1张

x86-64 ( 又称 x64 ,即英文词 64 -bit e x tended,64位拓展 的简写)是x86架构的64位拓展,向后兼容于16位及32位的x86架构。x64于1999年由AMD设计,AMD首次公开64位集以扩展给x86,称为“ AMD64 ”。其后也为英特尔所采用,现时英特尔称之为“ Intel 64 ”,在之前曾使用过“Clackamas Technology” (CT)、“IA-32e”及“EM64T”。

苹果公司和RPM包管理员以“x86-64”或“x86_64”称呼此64位架构。甲骨文公司及Microsoft称之为“x64”。BSD家族及其他Linux发行版则使用“x64-64”,32位版本则称为“i386”(或 i486/586/686),Arch Linux用x86_64称呼此64位架构。

基本介绍中文名 :X86-64 外文名 :X86-64 支持 :64位 兼容 :X86指令集 推出公司 :AMD 简称 :X64 简介,AMD64,架构特色,市场分析,Intel 64,概要,架构特色,作业系统支持,DOS,FreeBSD,Linux,Mac OS X,MenuetOS,NetBSD,OpenBSD,Solaris,Windows,业界称谓惯例,套用产品, 简介 x86-64 ( 又称 x64 ,即英文词 64 -bit e x tended,64位拓展 的简写)是x86架构的64位拓展,向后兼容于16位及32位的x86架构。x64于1999年由AMD设计,AMD首次公开64位集以扩展给x86,称为“ AMD64 ”。其后也为英特尔所采用,现时英特尔称之为“ Intel 64 ”,在之前曾使用过“Clackamas Technology” (CT)、“IA-32e”及“EM64T”。 苹果公司和RPM包管理员以“x86-64”或“x86_64”称呼此64位架构。甲骨文公司及Microsoft称之为“x64”。BSD家族及其他Linux发行版则使用“x64-64”,32位版本则称为“i386”(或 i486/586/686),Arch Linux用x86_64称呼此64位架构。 AMD64 AMD64 指令集被套用在Athlon 64、Athlon 64 FX、Athlon 64 X2、Turion 64、Turion 64 X2、Opteron及较新款的Sempron、Phenom、AMD APU、AMD Ryzen等处理器上。 架构特色 在x86-64出现以前,英特尔与惠普联合设计出IA-64架构;惟IA-64并不与x86兼容,且市场反应较冷淡,同时受制于多个专利权,使其他厂商不能模仿。与x86兼容的AMD64架构便应运而生,其主要特点如名称所述,既有支持64位通用暂存器、64位整数及逻辑运算、以及64位虚拟地址,设计人员又为架构作出不少改进,部分重大改变如下:新增暂存器地址阔度加长SSE2、SSE3指令NX比特:AMD64其中一个特色是拥有“禁止运行”(No-Execute)的比特,可在一定程度上防止蠕虫病毒以快取溢出的方式来进行攻击。市场分析 AMD64代表AMD放弃了跟随Intel标准的一贯作风,选择了像把16位的Intel 8086扩展成32位的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 指令集被套用于Pentium 4、Pentium D、Pentium Extreme Edition、Celeron D、Xeon、Intel Core 2、Intel Core i3、Intel Core i5、Intel Core i7及Intel Core i9处理器上。 概要 Intel 64计画的历史可谓相当长及复杂,其原因主要是因为Intel自身的内政问题。该计画开始时,其代号为“Yamhill”,不过Intel一直对外宣称其计画不存在;至2004年初,Intel才改口承认,并把代号改为CT(Clackamas Technology)。在宣布CT计画的数个星期内,Intel为计画给予多个新名称。在2004年春季的Intel开发者论坛后,Intel将之命名为“IA-32E”,意即IA-32的延伸;在数星期后,才改称为EM64T。 Intel曾长时间把该计画保持机密,其原因有以下两点。第一,Intel不想给客户混淆信息,把未来ItaniumIA-64处理器的展望与x86混为一谈;但在Intel眼见使用AMD64的Opteron及Athlon 64获取成功,便需要对竞争者的威胁作出迎击。而第二个原因,是Intel为了自身的面子,必然不会承认使用了对手AMD的技术,因此Intel把该技术以EM64T这个名字来推出,虽然核心与AMD64几乎相同,犹如一对孪生兄弟,但如果Intel使用了AMD64这名字,等于在帮对手做广告宣传。在以往Intel的行销中,Intel总把AMD的产品贬为自家技术的仿制品;不过这回AMD率先开发民用64位技术,Intel需要反过来吸纳AMD的技术,使Intel在研发x86处理器技术的领导地位受到重挫,因此Intel在造势方面便需要使用更多的人力物力。Intel主席Craig Barrett之后也承认,在保密方面,这个机密算是保护得最差的。 在Intel 64(EM64T)的档案中,对于其指令集的起源只字不提;因此有媒体为它起了“iAMD64”这个别名,讽刺Intel在迎击AMD的民用64位技术上,使用了AMD的技术,直接把AMD64吸纳过来,并以新名重新包装使用。后来Intel索性将此技术正式命名为 Intel 64 。 架构特色 Intel 64可使处理器直接访问超过4GB的存储器,容许运行更大的应用程式。而 x86-64 架构也加入了额外的暂存器及其他改良在指令集上。透过64位的存储器地址上限,其理论存储器大小上限达16,000,000TB(16EB),不过在初期的套用上并未能支持完整的64位地址。 Intel在之前已在Itanium处理器上使用了自家的64位IA-64技术,虽然说Intel 64也是64位,但两者并不兼容,即IA-64的软体不能直接在Intel 64上运行。Intel 64所用的x86-64是IA-32指令集的延伸,而IA-64则是另一款独立的架构,没有任何IA-32的影子。虽然IA-64可透过模拟来运行IA-32的指令,但指令在运行前需经转换,才能在IA-64上运行,导致其速度变慢。由于x86-64是从IA-32派生而来,因此运行IA-32与64位程式的表现也显得绰绰有余。 首颗使用Intel 64技术的处理器属于Xeon型号,支持双处理器,其核心名称为Nocona。由于Xeon是直接建基于桌面型Pentium 4的架构上,因此Pentium 4主机板也可使用Intel 64,如使用超执行绪(Hyper-Threading)等。不过Intel 64在初期的Prescott版本尚未激活,其原因大概是当时其尚未完善。在使用Prescott核心E0更新版本的Pentium 4处理器已可使用Intel 64,被称为Pentium 4 F。再者,E0更新版本加入了“禁止运行”比特,称为XD bit(eXecute Disable),相当于AMD64的NX bit。 作业系统支持 以下作业系统均支持长模式(long mode)的x86-64架构。 DOS 在DOS环境下可透过DOS Extender(例如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 Snow Leopard 开始提供64位核心,并可以在部分处理器上打开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中,核心和核心扩展也使用通用二进制格式以同时支持两种构架。 苹果公司于2018年4月起,在macOS High Sierra作业系统内运行32位应用程式时,会提醒讯息。并已在2018年6月的WWDC上宣布macOS Mojave将是最后一版支持32位应用程式的macOS。 MenuetOS x86-64版本的MenuetOS系统于2005年6月推出,虽然原有的32位版本Menuet以GPL授权,但x86-64版本则维持专属,并以免费软体方式发布,以及提供部分组件的原始码。 NetBSD x86-64版本的NetBSD最早于2001年6月19日被提出,至2004年12月9日推出的NetBSD 2.0已能完全支持x86-64。 OpenBSD OpenBSD自2004年5月1日推出的3.5版起,已支持x86-64。 Solaris 升阳的Solaris自版本10开始已支持x86-64。 Windows 供客户端使用的Windows XP Professional x64 Edition以及供伺服器使用的Windows Server 2003 SP1 x64 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 2008 R2开始的Windows Server作业系统只提供64位版本。 业界称谓惯例 由于AMD64和Intel64基本上一致,很多软硬体产品都使用一种不倾向任何一方的辞汇来表明它们对两种架构的同时兼容。出于这个目的,AMD对这种CPU架构的原始称呼——“x86-64”被不时地使用,还有变体“x86_64”。其他公司如微软和太阳微系统在行销资料中使用“x64”作为对“x86-64”的缩写。 许多作业系统及产品,尤其那些是在Intel进入这块市场之前就引入“x86-64”支持的,使用“AMD64”或“amd64”同时指代AMD64和Intel64。BSD系统(如FreeBSD、NetBSD和OpenBSD)和一些Linux发行版(如Debian、Ubuntu、和Gentoo)将AMD64和Intel64都称作“amd64”。Red Hat的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 Development Kit(JDK):包含x86-64档案的目录命名为“amd64”。Mac OS X:终端下的命令arch以及开发人员文档都表明苹果称64位架构为“x86_64”。Microsoft Windows:称在IA-32处理器上使用64位技术为“x64”,但一些相关目录使用AMD64来标明。例如,Windows x64版安装CD上的系统目录命名为“AMD64”,而32位版本上用“i386”。Solaris:作业系统的命令isalist将AMD64和Intel64都定义成“amd64”。套用产品 以下处理器产品使用了x86-64技术,截至2018年9月,几乎等同于市场上所有消费级产品皆使用x86-64技术。AMDK8(AMD64)微处理器架构AMDAthlon 64AMDAthlon 64 X2AMDAthlon 64 FXAMDOpteronAMDTurion 64AMDSempron(限使用E6步进以后的Palermo、全数Manila型号和全数Sparta型号)AMDK10微处理器架构AMDPhenomAMDAthlonAMDSempronAMDBulldozer微处理器架构AMDFX-SeriesAMDAMD Fusion(APU)AMDLlanoAMDOntarioAMDZacateAMDBobcat微处理器架构的CPU核心AMDK10微处理器架构的CPU核心IntelNetBurst(Intel 64)IntelXeon(自"Nocona"起的部分型号)Celeron D(自"Prescott"起的部分型号)Pentium 4(自"Prescott"起的部分型号)Pentium DPentium Extreme EditionIntel Core微处理器架构IntelXeon("Woodcrest")IntelCore 2IntelPentium Dual-CoreIntelCeleron(自"Core"起的型号)IntelNehalem微处理器架构IntelXeonIntelCore i7IntelCore i5IntelCore i3IntelPentiumIntelCeleronIntelSandy Bridge微处理器架构IntelXeonIntelCore i7IntelCore i5IntelCore i3IntelPentiumIntelCeleronIntelIvy Bridge微处理器架构IntelXeonIntelCore i7IntelCore i5IntelCore i3IntelPentiumIntelCeleronIntelHaswell微处理器架构IntelXeonIntelCore i7IntelCore i5IntelCore i3IntelPentiumIntelCeleronIntelBroadwell微处理器架构IntelXeonIntelCore i7IntelCore i5IntelCore i3IntelSkylake微处理器架构IntelXeonIntelCore i7IntelCore i5IntelCore i3IntelPentiumIntelCeleronIntelAtom(部分)

1、切换到root用户,su - root,如下图。

2、getconf LONG_BIT

通过命令getconf LONG_BIT获取系统位数,返回32就表示是32位,返回64就表示是64位,如下图。

3、uname -a

通过命令uname -a获取系统位数,返回ixxx的全是32位的,有X86_64的全是64位,如下图。

4、file /sbin/init或file /bin/ls

通过命令file /sbin/init或file /bin/ls获取系统位数,有32-bit的是32为的,有64-bit的是64位的,如下图。

发行版中的i386/i686/x86-64的区别:

i386用来处理32位系统,i686是i386的下集;x86-64用来处理64位系统。

linux发行版中的i386/i686/x86-64各自含义:

1、i386通常被用来作为对Intel(英特尔)32位微处理器的统称;

2、i386的子集包含i686,i686适用于Pentium  Pro,也适用于K7架构的Athlon;

3、x86-64,又称“AMD64”或“x64”,是一种64位元的电脑处理器架构。它是建基于现有32位元的x86架构,由AMD公司所开发。

扩展资料:

Linux *** 作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX  *** 作系统、MINIX  *** 作系统、GNU计划、POSIX 标准和Internet 网络。

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、 *** 作系统、进程等等对于 *** 作系统内核而言,都被视为拥有各自特性或类型的文件。

至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

Linux是一款免费的 *** 作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的 *** 作系统所做不到的。

正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

参考资料:百度百科-linux


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8696719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存