公告:本站正在遭受网络攻击,访问速度可能严重下降甚至无法访问。

CPU架构:修订间差异

跳转到导航 跳转到搜索
添加414字节 、​ 2020年1月6日 (星期一)
无编辑摘要
无编辑摘要
第1行: 第1行:
<div class="navi" style="vertical-align: super; font-size: 84%; margin: -10px 0px 0.9em 1em">[[Beta 常识]] >  '''CPU 架构'''</div>
<div class="navi" style="vertical-align: super; font-size: 84%; margin: -10px 0px 0.9em 1em">[[Beta 常识]] >  '''CPU 架构'''</div>
==综述==
==综述==
CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。目前市面上的CPU分类主要分有两大阵营,一个是intel、AMD为首的复杂指令集CPU,另一个是以IBM、ARM为首的精简指令集CPU。两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM公司的CPU是PowerPC架构,ARM公司是ARM架构。
CPU 架构是 CPU 厂商给属于同一系列的 CPU 产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。目前市面上的 CPU 分类主要分有两大阵营,一个是 Intel、AMD 为首的复杂指令集 CPU,另一个是以 IBM、ARM 为首的精简指令集 CPU。两个不同阵营的 CPU,其产品的架构也不相同,例如,Intel、AMD 的 CPU 是 x86 架构的,而 IBM 公司的 CPU 是 PowerPC 架构,ARM 公司是 ARM 架构。


世界上的CPU架构前前后后有很多,我们在这里以实用与知名度的角度出发,只列举出几种常见的CPU架构指令集,为读者们介绍。
世界上的 CPU 架构前前后后有很多,我们在这里以实用与知名度的角度出发,只列举出几种常见的 CPU 架构指令集,为读者们介绍。
==x86==
==x86==
x86架构于1978年推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人计算机的标准平台,成为了历来最成功的CPU架构。
x86 架构在于 1978 年推出的 Intel 8086 中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而 8008 则是发展自 Intel 4004 的。8086 在三年后为 IBM PC 所选用,之后 x86 便成为了个人计算机的标准平台,成为了历来最成功的CPU架构。


其他公司也有制造x86架构的处理器,计有Cyrix(现为VIA所收购)、NEC集团、IBM、IDT以及Transmeta。Intel 和 AMD 是x86处理器市场上最成功的两个企业,AMD的早先产品Athlon系列处理器的市场份额仅次于Intel Pentium。
其他公司也有制造 x86 架构的处理器,计有 Cyrix(现为 VIA 所收购)、NEC 集团、IBM、IDT 以及 Transmeta。Intel 和 AMD 是 x86 处理器市场上最成功的两个企业,AMD的早先产品Athlon系列处理器的市场份额仅次于Intel Pentium。


8086是16位处理器;直到1985年32位的80386的开发,这个架构都维持是16位。接着一系列的处理器表示了32位架构的细微改进,推出了数种的扩充,直到2003年AMD对于这个架构发展了64位的扩充,并命名为AMD64。后来Intel也推出了与之兼容的处理器,并命名为Intel 64。
8086 是 16 位处理器;直到 1985 年 32 位的 80386 的开发,这个架构都维持是 16 位。接着一系列的处理器表示了 32 位架构的细微改进,推出了数种的扩充,直到 2003 年 AMD 对于这个架构发展了64位的扩充,并命名为 AMD64 。后来 Intel 也推出了与之兼容的处理器,并命名为 Intel 64。


值得注意的是Intel早在1990年代就与HP合作提出了一种用在安腾系列处理器中的独立的64位架构,这种架构被称为IA-64。IA-64是一种崭新的系统,和x86架构完全没有相似性;不应该把它与x86-64或x64弄混。
值得注意的是 Intel 早在 1990 年代就与 HP 合作提出了一种用在安腾系列处理器中的独立的 64 位架构,这种架构被称为 IA-64。IA-64 是一套崭新的系统,和 x86 架构完全没有相似性;不应该把它与 x86-64 或 x64 弄混。


==AMD64(x64)==
==AMD64(x64)==
AMD试图以自家的AMD64指令集去清理Intel的x86-32专属的,并把x86更新至近似领先的RISC环境。曾参与设计DEC Alpha64位处理器的Dirk Meyer也有份参与制定AMD64的规格,以及AMD的员工中有不少前Alpha处理器的工程师,因此他们为AMD64立下不少功劳。
AMD 试图以自家的 AMD64 指令集去清理 Intel 的 x86-32 专属的,并把 x86 更新至近似领先的 RISC 环境。曾参与设计 DEC Alpha64 位处理器的 Dirk Meyer 也参与制定了 AMD64 的规格,以及AMD的员工中有不少前 Alpha 处理器的工程师,因此他们为 AMD64 立下不少功劳。


此架构的一个显著特征就是地址阔度加长;SSE2、SSE3指令;"禁止执行"位元 (NX-bit): AMD64其中一个特色是拥有"禁止执行"(No-Execute, NX)的位元,可以防止蠕虫病毒以缓冲区满溢的方式来进行攻击(也称:缓冲区溢位攻击,Buffer Overflow)。
此架构的一个显著特征就是地址阔度加长;SSE2、SSE3指令;"禁止执行"位元 (NX-bit):AMD64其中一个特色是拥有"禁止执行"(No-Execute, NX)的位元,可以防止蠕虫病毒以缓冲区满溢的方式来进行攻击(也称:缓冲区溢位攻击,Buffer Overflow)。
===Windows on Windows 64 Bit===
===Windows on Windows 64 Bit===
Wow64(Windows on Windows 64-Bit)是微软公司为旗下Windows 64位版本(包括IA 64和AMD64版本的Windows )开发的x86虚拟环境,旨在让Windows 64位操作系统运行为32位操作系统开发的程序,是Windows 中一个非常重要的组件。
Wow64(Windows on Windows 64-Bit)是微软公司为旗下 Windows 64 位版本(包括 IA-64 和 AMD64 版本的 Windows)开发的 x86 虚拟环境,旨在让 Windows 64 位操作系统运行为 32 位操作系统开发的程序,是 Windows 中一个非常重要的组件。


WoW64被计用来处理许多在32-bit Windows 和64-bit Windows之间的不同, 尤其是在Windows自身的结构变化上的不同。
WoW64 被用来处理许多在 32-bit Windows 和 64-bit Windows 之间的程序差异, 尤其是在Windows自身的结构变化上的不同。


该组件首次出现于Windows 2000 Server Limited Edition中,直到今天的Windows 10/Server2016,它仍然存在。
该组件首次出现于 Windows 2000 Advanced Server Limited Edition 和 Windows 2000 Datacenter Server Limited Edition 中,直到今天的 Windows 10/Server 2016,它仍然存在。


而在此之前的运行于Alpha 处理器上的Windows NT 3.5x/4.0 系列操作系统也有类似的组件,只不过不叫Wow64,而是叫Fx!32.
而在此之前的运行于 Alpha 处理器上的 Windows NT 3.5x/4.0 系列操作系统也有类似的组件,只不过不叫 WoW64,而是叫Fx!32。


==IA64==
==IA64==
IA64处理器I-tanium(安腾)是Intel自推出32位微处理器以来,在高性能计算机领域的又一座里程碑。基于IA64处理器架构的服务器具有64位运算能力、64位寻址空间和64位数据通路,突破了传统IA32架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可管理性等方面获得了突破性的提高。
IA64 处理器 Itanium(安腾)是 Intel 自推出 32 位微处理器以来,在高性能计算机领域的又一座里程碑。基于 IA64 处理器架构的服务器具有 64 位运算能力、64 位寻址空间和 64 位数据通路,突破了传统 IA32 架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可管理性等方面获得了突破性的提高。


其实ia64的历史早于x86-64,最初由Intel和惠普于1990年联合推出。由于ia64不与32位兼容,所以没有受到重视。而后为了日益扩张的计算需求,Intel重新将ia64拿出来,发布了安腾系列服务器CPU。ia64是一种崭新的系统,和x86架构完全没有相似性,不应该把它与x86-64或x64弄混。基于ia64处理器架构的服务器具有64位运算能力、64位寻址空间和64位数据通路,突破了传统ia32架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可管理性等方面获得了突破性的提高。它是Intel自推出32位微处理器以来,在高性能计算机领域的又一座里程碑。
其实 IA64 的历史早于 x86-64,最初由 Intel 和惠普于 1990 年联合推出。由于 IA64 不与 32 位兼容,所以没有受到重视。而后为了日益扩张的计算需求,Intel重新将ia64拿出来,发布了安腾系列服务器CPU。IA64 是一种崭新的系统,和 x86 架构完全没有相似性,不应该把它与 x86-64 或 x64 弄混。基于 IA64 处理器架构的服务器具有 64 位运算能力、64 位寻址空间和 64 位数据通路,突破了传统 IA32 架构的许多限制,在数据的处理能力,系统的稳定性、安全性、可用性、可管理性等方面获得了突破性的提高。它是 Intel 自推出 32 位微处理器以来,在高性能计算机领域的又一座里程碑。
===IA64与AMD64的区别===
===IA64与AMD64的区别===
x64和ia64处理器都能够运行64位操作系统和应用程序,但是区别在于:x64架构基于x86,是为了让x86架构CPU兼容64位计算而产生的技术。x64架构的设计是采用直接简单的方法将目前的x86指令集扩展。这个方法与当初的由16位扩展至32位的情形很相似。优点在于用户可以自行选择x86平台或x64平台,兼容性高。ia64则是原生的纯64位计算处理器,并且与x86指令不兼容。如果想要执行x86指令需要硬件虚拟化支持,而且效率不高。优点在于ia64架构体系将拥有64位内存寻址能力,能够支持更大的内存寻址空间。并且由于架构的改变,性能比起x64的64位兼容模式更高更强。所以,ia64操作系统也是比较少见的,由于只能在Intel安腾系列处理器及AMD部分服务器处理器运行,所以主流市场并不常见。而且,这些ia64架构处理器也不能够使用x64操作系统。而x64处理器则可以自由选择x86或是x64操作系统。
x64 和 IA64 处理器都能够运行 64 位操作系统和应用程序,但是区别在于:x64 架构基于 x86,是为了让 x86 架构 CPU 兼容 64 位计算而产生的技术。x64 架构的设计是采用直接简单的方法将目前的 x86 指令集扩展。这个方法与当初的由 16 位扩展至 32 位的情形很相似。优点在于用户可以自行选择 x86 平台或 x64 平台,兼容性高。IA64 则是原生的纯 64 位计算处理器,并且与 x86 指令不兼容。如果想要执行x86指令需要硬件虚拟化支持,而且效率不高。优点在于 IA64 架构体系将拥有 64 位内存寻址能力,能够支持更大的内存寻址空间。并且由于架构的改变,性能比起 x64 的 64 位兼容模式更高更强。所以,IA64 操作系统也是比较少见的,由于只能在 Intel 安腾系列处理器及 AMD 部分服务器处理器运行,所以主流市场并不常见。而且,这些 IA64 架构处理器也不能够使用 x64 操作系统。而 x64 处理器则可以自由选择 x86 或是 x64 操作系统。
===EM64T与IA64===
===EM64T与IA64===
EM64T(又称为Intel 64),中文名为扩展64位内存技术。是IA32指令集的扩展,也称为IA32e,和AMD64一样,也是通过64位兼容指令实现64位运算,也是在Intel CPU上运行AMD64的一个关键。
EM64T(又称为Intel 64),中文名为扩展 64 位内存技术。是 IA32 指令集的扩展,也称为 IA32e,和 AMD64 一样,也是通过 64 位兼容指令实现 64 位运算,也是在 Intel CPU 上运行 AMD64 的一个关键。


而IA64不同,是一个独立于x86指令之外的64位架构,其实现64位的方式与EM64T和AMD完全不同,是一个完全的64位指令集。
IA64 是一个独立于 x86 指令之外的 64 位架构,其实现 64 位的方式与 EM64T 和 AMD 完全不同,是一个完全的 64 位指令集。


==ARM==
==ARM==


ARM是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Advanced RISC Machine。ARM本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
ARM 是英国 Acorn 有限公司设计的低功耗成本的一款 RISC 微处理器。全称为 Advanced RISC Machine。ARM 本身是 32 位设计,但也配备 16 位指令集,一般来讲比等价 32 位代码节省达 35%,却能保留 32 位系统的所有优势。


ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性。ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列。
ARM 的 Jazelle 技术使 Java 加速得到比基于软件的 Java 虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性。ARM 还提供两个前沿特性来辅助带深嵌入处理器的高集成 SoC 器件的调试,它们是嵌入式 ICE-RT 逻辑和嵌入式跟踪宏核(ETMS)系列。
ARM的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。
ARM的三大特点是:耗电少功能强、16 位/32 位双指令集和合作伙伴众多。


1、体积小、低功耗、低成本、高性能;
1、体积小、低功耗、低成本、高性能;


2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;
2、支持 Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容 8位/16 位器件;


3、大量使用寄存器,指令执行速度更快;
3、大量使用寄存器,指令执行速度更快;
第57行: 第57行:


==ARM64==
==ARM64==
与32位ARM架构相比,64位ARM架构包括以下重大变动:首先是名称的变化——它的官方名称为 “AArch64”,但这个名字读起来很绕口,敲起来也别扭。苹果称它为ARM64,。
与 32 位 ARM 架构相比,64 位 ARM 架构包括以下重大变动:首先是名称的变化——它的官方名称为 “AArch64”,但这个名字读起来很绕口,敲起来也别扭。苹果称它为 ARM64。


较32位ARM架构而言,ARM64的整数寄存器数量增加了一倍,32位ARM架构有16个整数寄存器,其中1个是专用的程序计数器,还有2个用于堆栈指针和链接,其他13个 则作一般用途。而ARM64位架构有32个整数寄存器,包括1个专用的零寄存器,1个链接寄存器和1个帧指针寄存器,还有1个寄存器预留给平台,另外28 个则为通用整数寄存器。ARM64上可用浮点寄存器的数量有所增加。32位ARM处理器有32个32位浮点寄存器,还有16个额外的64位寄存器。这些寄 存器的结构有些特殊,可被视为等价于16个重叠的128位寄存器。ARM64则将其简化为32个128位寄存器,且没有重叠。
较32位ARM架构而言,ARM64 的整数寄存器数量增加了一倍,32 位 ARM 架构有 16 个整数寄存器,其中 1 个是专用的程序计数器,还有2个用于堆栈指针和链接,其他 13 个则作一般用途。而 ARM64 架构有 32 个整数寄存器,包括 1 个专用的零寄存器,1 个链接寄存器和1个帧指针寄存器,还有 1 个寄存器预留给平台,另外 28 个则为通用整数寄存器。ARM64 上可用浮点寄存器的数量有所增加。32 位 ARM 处理器有 32 个 32 位浮点寄存器,还有 16 个额外的 64 位寄存器。这些寄存器的结构有些特殊,可被视为等价于 16 个重叠的128位寄存器。 ARM64 则将其简化为 32 个 128 位寄存器,且没有重叠。


寄存器的数量 会对性能会产生巨大影响。与CPU相比,内存要慢得多。与CPU处理一条指令的时间相比,读取和写入内存都需要更长时间。CPU试图通过引入缓存来缓解这 一差距。但与CPU内部的寄存器相比,即使速度最快的缓存也慢得多。更多的寄存器意味着更多数据能存储在CPU内部,这降低了内存访问频率,同时提高了性 能。
寄存器的数量 会对性能会产生巨大影响。与 CPU 相比,内存要慢得多。与 CPU 处理一条指令的时间相比,读取和写入内存都需要更长时间。CPU 试图通过引入缓存来缓解这一差距。但与 CPU 内部的寄存器相比,即使速度最快的缓存也慢得多。更多的寄存器意味着更多数据能存储在 CPU 内部,这降低了内存访问频率,同时提高了性能。


除了增加寄存器数量,ARM64也为指令集带来了重大变化。大多数32位ARM处理器可基于运行时条件寄存器的状态执行条件指令,这使 得在编译if等语句时无需分支。不过这种方式引入的麻烦多于便利,因此ARM64取消了条件执行。ARM64的NEON SIMD单元完全符合IEEE754双精度标准,而32位版本的NEON SIMD单元只支持单精度。ARM64还增加了专门的AES、SHA-1、SHA-256加密指令。这些指令也许对普通应用帮助不大,但对特定领域的应用来说价值无穷。
除了增加寄存器数量,ARM64 也为指令集带来了重大变化。大多数 32 位 ARM 处理器可基于运行时条件寄存器的状态执行条件指令,这使得在编译 if 等语句时无需分支。不过这种方式引入的麻烦多于便利,因此 ARM64 取消了条件执行。ARM64 的 NEON SIMD 单元完全符合 IEEE754 双精度标准,而 32 位版本的 NEON SIMD 单元只支持单精度。ARM64还增加了专门的 AES、SHA-1、SHA-256 加密指令。这些指令也许对普通应用帮助不大,但对特定领域的应用来说价值无穷。


现在流行的Qualconm SnapDragon , Hisilicon Kirin 和 MediaTek 系列处理器都基于本架构。
现在流行的 Qualconm Snapdragon, Hisilicon Kirin 和 MediaTek 系列处理器都基于本架构。


==PowerPC==
==PowerPC==
PowerPC(英语:Performance Optimization With Enhanced RISC – Performance Computing,有时简称PPC)是一种精简指令集(RISC)架构的中央处理器(CPU),其基本的设计源自IBM(国际商用机器公司)的POWER(Performance Optimized With Enhanced RISC;《IBM Connect电子报》2007年8月号译为“增强RISC性能优化”)架构。POWER是1991年,Apple(苹果电脑)、IBM、Motorola(摩托罗拉)组成的AIM联盟所发展出的微处理器架构。PowerPC是整个AIM联盟平台的一部分,并且是到目前为止唯一的一部分。但苹果电脑自2005年起,将旗下电脑产品转用Intel CPU。虽然如此,时至今日还有部分机械工业与教育事业使用Motorola和Freescale(NXP)的PowerPC微处理器产品。
PowerPC(英语:Performance Optimization With Enhanced RISC – Performance Computing,有时简称PPC)是一种精简指令集(RISC)架构的中央处理器(CPU),其基本的设计源自 IBM 的 POWER(Performance Optimized With Enhanced RISC;《IBM Connect 电子报》2007年8月号译为“增强 RISC 性能优化”)架构。POWER是1991年,Apple(苹果电脑)、IBM、Motorola(摩托罗拉)组成的 AIM 联盟所发展出的微处理器架构。PowerPC 是整个 AIM 联盟平台的一部分,并且是到目前为止唯一的一部分。但苹果电脑自2005年起,将旗下电脑产品转用 Intel CPU。虽然如此,时至今日还有部分机械工业与教育事业使用 Motorola 和 Freescale(NXP)的 PowerPC 微处理器产品。
{{黑幕|自苹果公司停用PPC以后,个人电脑的PPC就凉了。}}
{{黑幕|自苹果公司停用 PPC 以后,个人电脑的 PPC 就凉了。}}


==MIPS==
==MIPS==
第83行: 第83行:
DEC Alpha,是 64 位的 RISC 微处理器,支持 VMS 操作系统、Linux 和 BSD,曾经有部分 Windows 兼容本架构。
DEC Alpha,是 64 位的 RISC 微处理器,支持 VMS 操作系统、Linux 和 BSD,曾经有部分 Windows 兼容本架构。


DEC Alpha, 也称为 Alpha AXP,是 64 位的 RISC 微处理器,最初由 DEC 公司制造,并被用于 DEC 自己的工作站和服务器中。作为 VAX 的后续被开发,支持 VMS 操作系统,如 Digital UNIX。不久之后开放源代码的操作系统也可以在其上运行,如 Linux 和 BSD 。
DEC Alpha,也称为 Alpha AXP,是 64 位的 RISC 微处理器,最初由 DEC 公司制造,并被用于 DEC 自己的工作站和服务器中。作为 VAX 的后续被开发,支持 VMS 操作系统,如 Digital UNIX。不久之后开放源代码的操作系统也可以在其上运行,如 Linux 和 BSD。


Microsoft 支持这款处理器,直到 Windows NT 4.0 SP6 ,但是从 Windows 2000 64 Bit RC 阶段后便开始放弃了对 Alpha 的支持。虽然如此,目前仍有极小比重的服务器与超算产业使用该架构及其改进架构,CPU 结构性质也趋于封闭化。
Microsoft 支持这款处理器,直到 Windows NT 4.0 SP6 ,但是从 Windows 2000 64 Bit RC 阶段后便开始放弃了对 Alpha 的支持。虽然如此,目前仍有极小比重的服务器与超算产业使用该架构及其改进架构,CPU 结构性质也趋于封闭化。
我们提供服务需要使用Cookie。您使用我们的服务,即表示您同意我们使用Cookie。

导航菜单