




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、核心指令集发展回顾 什么是CPU指令集? CPU作为一台电脑中的核心,它的作用是无法替代的。而CPU本身只是在块硅晶片上所集成的超大规模的集成电路,集成的晶体管数量可达到上亿 个,是由非常先进复杂的制造工艺制造出来的,拥有相当高的科技含量。然而如此一颗精密的芯片为什么能够控制一个庞大而复杂的电脑系统呢?这就是CPU中所 集成的指令集。所谓指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的 指令系统。而指令集的先进与否,也关系到CPU的性能发挥,它也是CPU性能体现的一个重要
2、标志。 再强大的处理器也需要指令集的配合才行(图片出自电影机械公敌) CPU的指令集从主流的体系结构上分为精简指令集和复杂指令集,而在普通的计算机处理器基本上是使用的复杂指令集。在计算机早期的发展过程中, CPU中的指令集是没有划分类型的,而是都将各种程序需要相配合的指令集成到CPU中,但是随着科技的进步,计算机的功能也越来越强大,计算机内部的元件 也越来越多,而且越来越复杂,CPU的指令也相应的变得十分复杂,而在使用过程中,并不是每一条指令都要完全被执行,在技术人员的研究过程中发现,约有 80的程序只用到了20的指令,而一些过于冗余的指令严重影响
3、到了计算机的工作效率,就这一现象,精简指令集的概念就被提了出来。 精简指令集RISC就是(Reduced Instruction Set Computing)的缩写,而复杂指令集CISC则是(Complex Instruction Set Computing)的缩写。它们之间的不同之处就在于RISC指令集的指令数目少,而且每条指令采用相同的字节长度,一般长度为4个字节,并且在字边界 上对齐,字段位置固定,特别是操作码的位置。而CISC指令集特点就是指令数目多而且复杂,每条指令的长度也不相等。在操作上,RISC指令集中大多数操 作都是寄存器到寄存器之间的操作,只以简单的Load(读取)和Sotr
4、e(存储)操作访问内存地址。因此,每条指令中访问的内存地址不会超过1个,指令 访问内存的操作不会与算术操作混在一起。在功能上,RISC指令集也要比复杂指令集具有优势,精简指令集可以大大简化处理器的控制器和其他功能单元的设 计,不必使用大量专用寄存器,特别是允许以硬件线路来实现指令操作,从而节约的处理器的制造成本。而采用CISC指令集的处理器是使用微程序来实现指令操 作,在执行速度上不如RISC指令集。另外,RISC还加强了并行处理能力,非常适合于采用处理器的流水线、超流水线和超标量技术,从而实现指令级并行操 作,提高处理器的性能。而且随着VLSI(Very Large Scale Integr
5、ation超大规模集成电路)技术的发展,整个处理器的核心甚至多个处理器核心都可以集成在一个芯片上。RISC指令集的体系结构可以给设计 单芯多核处理器带来很多好处,有利于处理器的性能提高。 由于RISC指令集自身的优势,在处理器的高端服务器领域的处理器上得到了广泛的运用,而CISC指令集主要运用桌面领域的处理器产品中,比如 Intel的Pentium系列和AMD的K8系列处理器。然而现在RISC指令集也不断地向桌面领域渗入,相信以后的处理器指令集会慢慢的向RISC体 系靠拢,使得处理器的指令集结构更加完善,功能更为强大,技术也越来越成熟。 指令集的发
6、展史 而说到指令集的发展,就不得提到目前主流处理器所采用的X86架构。所谓X86架构的处理器就是采用了Intel X86指令集的处理器,X86指令集是Intel公司为其第一块16位处理器i8086所专门开发的。而IBM在1981年所推出的第一台PC机上所使用 的处理器i8088(i8086的简化版)也是使用的X86指令集,但是为了增加计算机的浮点运算能力,增加了X87数学协助处理器和加入了X87指令 集,于是就将采用了X86指令集和X87指令集的处理器统称为X86架构的处理器。 第一块支持X86指令集的Intel i8086处理器 到目前为止,In
7、tel公司所生产的大部分处理器都是属于X86架构的处理器,包括像i80386、i80486和Pentium系列处理器等 等。而Intel公司以外,AMD和Cyrix等厂商也在生产集成了X86指令集的处理器产品,而这些处理器都能够与支持Intel处理器的软件和硬件相 兼容,所以也就形成了今天庞大的X86架构的处理器阵容。 然而随着处理器技术的发展,虽然处理器的主频和制造工艺都有一定的进步,但是处理器的性能确不能非常明显的提高,其中一个非常重要的原因就是受到了X86所采用的SISC指令集的限制。这一点Intel方面也非常清楚。而目前IA-32(Intel Architechure-32 英特尔32
8、位体系架构)的X86系列处理器存在着一系列的问题,使得Intel方面已经打算放弃X86指令体系处理器的发型,而将重点放在下一代的IA-64体系处理器和EPIC(Explicitly Parallel Instruction Computing)显性并行指令方面。 X86架构处理器示意图 首先,我们要知道,提高处理器每个时钟频率的指令执行数来提高处理器的性能,而这也是Intel开发新指令集的主要目的,这样一来,处理器可以 让指令更容易解码,并且更容易进行并行处理,这样就可以不受指令集的限制来开发新型的处理器。而X86指令集的劣势就在于它的限制过多。
9、第一、由于X86指令集是属于CISC类型的指令集,其每条指令的长度是不固定的,而且有几种不同的格式,这样一来,就造成了X86处理器的解 码工作非常复杂。而为了提高处理器的工作频率,就不得不延长处理器中的流水线,而过长的流水线在分支如果出现预测出错的情况,又会带来CPU工作停滞时间 较长的弊端。 第二、X86指令采用了可访问内存地址的方法,这样的方法容易造成处理器与内存之间的不平衡工作,从而降低处理器的工作效率。而先进的RISC 处理器则是使用Load/Store的存储模式,其中只有Load和Store指令才能从内存中读取数据到寄存器,所有其他指令只对寄存器中的操作数进行 计算。 第三、X86构
10、架处理器中的FPU(Floating Point Unit)浮点运算单元的运算能力较差,可以说现今市面上所有类型处理器中最慢的,其主要原因就是X86指令集中所使用的一个操作数堆栈。如果在运算过程 中,没有足够的寄存器进行计算,系统就不得不使用堆栈来存放数据,这样一来会浪费大量的时间来处理FXCH指令,就是将正确的数据放到堆栈的顶部。 第四、X86指令对于各种扩展部件的限制也是十分不利的。首先,X86架构的处理器对于4GB的内存容量上限制,虽然现在目前主流的个人电脑的 内存大小为512MB和1GB,但是相信随着操作系统和应用软件的不断提升,会快将会突破4GB的内存容量。另外,由于为了提高X86架
11、构的处理器的性 能,而出现像寄存器重命名、缓冲器巨大、乱序执行、分支预测、X86指令转化等等现象,都使得处理器的核心面积变得越来越大,这也限制了处理器工作频率的 进一步提升,此外,处理器所集成的这些庞大数目的晶体管都只是为了解决X86指令的问题,所以继续采用X86架构必将会影响到处理器的发展。 而反观IA-64体系,由于采用了RISC指令集,可由一个指令、两个输入寄存器和一个输出寄存器组成,指令只对寄存器进行操作。并且具有多个不同的流水线或执行单元,能够并行执行许多指令。在对指令的处理速度上要明显优于CISC类型的IA-32体系。 而Intel的Merced(也就是现在Itanium安腾)处理
12、器就是一块采用IA-64体系的64位处理器。它拥有64位寻址能力和64位 位宽的寄存器,所以称之为64位处理器。由于具有64位寻址能力,Merced能够使用1百万TB(1TB1024GB)的地址空间,足以运算企业级的 数据任务,64位宽的寄存器可以使Merced 达到非常高的精度和运算速度。它所采用的EPIC指令可以使得处理器进行并行处理,在相同的时钟周期内,采用并行处理的指令执行数是普通CISC指令集的 两倍。此外,Merced可进行并行分支预测。在目前的普通的处理器中,分支预测的正确率可以达到9095,虽然正确率已经相当高了,但如果预测出 错时,处理器就不得不清洗整条流水线,从而降低处理器
13、的运算效率。10的预测出错率会让处理器损失近30的性能,而且如果流水线越长的情况下,性能损 失就越严重。而Merced的所采用的预测机制,可以使分支都能进行并行执行,而且所花的招待时间与执行单个分支的时间是相同的。其次,处理器不会再冒预 测出错的风险。由于处理器不再进行跳跃执行,它不会把程序代码分成一个一个的小块。而是将稍前和稍后的程序代码进行打包,然后一起将它们发布,加强了并行 工作量。这些可以使采用EPIC指令的处理器避免普通处理器所出现的分支预测40的出错情况,从而使处理器的性能提高1015,特别是在整数代码 部分。 Intel的Merced
14、处理器 提升性能:扩展指令集 刚才上面提到了处理器中的扩展指令集,目前市面上Intel和AMD的桌面级处理器在X86指令集的基础上,为了提升处理器各方面的性能,所以 又各自开发新的指令集。指令集中包含了处理器对多媒体、3D处理等方面的支持,这些指令集能够提高处理器对这某些方面处理器能力,但是需要有必要的软件支 持。 MMX指令集 MMX(Multi Media eXtension 多媒体扩展指令)指令集是Intel公司在1996年为旗下的Pentium系列处理器所开发的一项多媒体指令增强技术。MMX指令集中包括了57条多媒 体指令,通过这些指令可以一次性处理多个数据,在处理结果超过实际处理能力
15、的时候仍能够进行正常处理,如果在软件的配合下,可以得到更强的处理性能。使用 MMX指令集的好处就是当时所使用的操作系统可以在不做任何改变的情况下执行MMX指令。但是,MMX指令集的问题也是比较明显的,MMX指令集不能与 X86的浮点运算指令同时执行,必须做密集式的交错切换才可以正常执行,但是这样一来,就会造成整个系统运行速度的下降。 支持MMX指令集的Intel Pentium MMX处理器 SSE指令集 SSE是Streaming SIMD Extension(SIMD扩展指令集)的缩写,而其中SIMD的为含意为Single Istruction
16、 Multiple Data(单指令多数据),所以SSE指令集也叫单指令多数据流扩展。该指令集最先运用于Intel的Pentium III系列处理器,其实在Pentium III推出之前,Intel方面就已经泄漏过关于KNI(Katmai New Instruction)指令集的消息。这个KNI指令集也就是SSE指令集的前身,当时也有不少的媒体将该指令集称之为MMX2指令集,但是Intel 方面却从没有发布有关MMX2指令集的消息。 加入了SSE指令集的Pentium III处理器 最后在Intel推出Pentium III处理器的时候,SSE指令
17、集也终于水落石出。SSE指令集是为提高处理器浮点性能而开发的扩展指令集,它共有70条指令,其中包含提高3D图形运算 效率的50条SIMD浮点运算指令、12条MMX 整数运算增强指令、8条优化内存中的连续数据块传输指令。理论上这些指令对当时流行的图像处理、浮点运算、3D运算、多媒体处理等众多多媒体的应用能力起 到全面提升的作用。SSE指令与AMD公司的3DNow!指令彼此互不兼容,但SSE包含了3DNow!中的绝大部分功能,只是实现的方法不同而已。 SSE也向下兼容MMX指令,它可以通过SIMD和单时钟周期并行处理多个浮点数据来有效地提高浮点运算速度。 3DNow!指令集 3DNow!指令集最由
18、AMD公司所推出的,该指令集应该是在SSE指令之前推出的,被广泛运用于AMD的K6、K6-2和K7系列处理器上, 拥有21条扩展指令集。在整体上3DNow!的SSE非常相相似,它们都拥有8个新的寄存器,但是3DNow!是64位的,而SSE是128位。所以 3DNow!它只能存储两个浮点数据,而不是四个。但是它和SSE的侧重点有所不同,3DNow!指令集主要针对三维建模、坐标变换和效果渲染等3D数据 的处理,在相应的软件配合下,可以大幅度提高处理器的3D处理性能。AMD公司后来又在Athlon系列处理器上开发了新的Enhanced 3DNow!指令集,新的增强指令数达了52个,以致目前最为流行的
19、Athlon 64系列处理器还是支持3DNow!指令的。 AMD K6、K7系列所使用的3DNow!指令集 SSE2指令集 在PentiumIII发布的时候,SSE指令集就已经集成在了处理器的内部,但因为各种原因一直没有得到充分的发展。直到Pentium 4发布之后,开发人员看到使用SSE指令之后,程序执行性能将得到极大的提升,于是Intel又在SSE的基础上推出了更先进的SSE2指令集。 SSE2包含了144条指令,由两个部分组:SSE部分和MMX部分。SSE部分主要负责处理浮点数,而MMX部分则专门计算整数。SSE2的 寄存器容量是MMX寄存器
20、的两倍,寄存器存储数据也增加了两倍。在指令处理速度保持不变的情况下,通过SSE2优化后的程序和软件运行速度也能够提高两 倍。由于SSE2指令集与MMX指令集相兼容,因此被MMX优化过的程序很容易被SSE2再进行更深层次的优化,达到更好的运行效果。SSE2对于处理器 的性能的提升是十分明显的,虽然在同频率的情况下,Pentium 4和性能不如Athlon XP,但由于Athlon XP不支持SSE2,所以经过SSE2优化后的程序Pentium 4的运行速度要明显高于Athlon XP。而AMD方面也注意到了这一情况,在随后的K-8系列处理器中,都加入SSE2指令集。
21、60; SSE2和SSE3指令集主要用于Pentium 4系列处理器上 SSE3指令集 SSE3指令是目前规模最小的指令集,它只有13条指令。它共划分为五个应运层,分别为数据传输命令、数据处理命令、特殊处理命令、优化命令、 超线程性能增强五个部分,其中超线程性能增强是一种全新的指令集,它可以提升处理器的超线程的处理能力,大大简化了超线程的数据处理过程,使处理器能够更 加快速的进行并行数据处理。 上面介绍的基本上就是Intel和AMD公司在X86架构处理器上主要的扩展指令集,虽然它们对于处理器的性能提升有着一定程度的帮助,但是由 于受到IA-32体系的限制,X86架构基本上不会再有具有
22、革命性意义的指令集出现,而双方都已经把重心转向了64位体系架构的处理器指令集开发上。 未来:迈向64位体系 在现在的处理器市场上,64位技术已经开始普及起来,像AMD的Athlon 64处理器和Intel的Pentium 5XX/6XX处理器已经成为市场的主流。但是大家要值得主意的是,目前的桌面级64位处理器仍然还是基于X86架构之上,而不是IA-64架构。这里的64位处理器是指的处理器的通用寄存器GPR(General-Purpose Registers)的数据宽度为64位。也就是说处理器可一次运算64 位数据。使用64位技术运算有两大优点:可以进行更大范围的整数运算,还有就是可以支持更大容
23、量的内存。但是要注意的是,不要看表面64 位是32位两倍,就简单的认为64位处理器的性能是32位处理器性能的两倍。就在目前的32位主流平台下,32位的处理器在某些方面甚至要比64位处理器还要强,所以在32位操作系统和运用程序为主情况下,不要太过于迷信64位处理器。 64位处理器技术并不是Intel和AMD处理器上才有的。早在上个世纪90年代末,在高端的采用RISC指令集的处理器中就已经有了64位处 理器,比如SUN公司的UltraSparc 、IBM公司的Power5、HP公司的Alpha等处理器产品。现在市面上主流的64位技术主要是Intel的EM64T技术和AMD和AMD64技 术。而这两
24、项技术都是基于IA-32体系,而真正的IA-64体系上处理器目前只有Itanium(安腾)以及其后续产品,是Intel独立开发的,它不 兼容现在32位计算机。 AMD64位技术 AMD的athlon 64系列处理器的64位技术是在X86指令集的基础上加入了X86-64的64位扩展X86指令集,这就使得athlon 64系列处理器可兼容原来的32位的X86软件,并同时支持X86-64的扩展64位计算,并且具有64位的寻址能力,使得它成为真正的64位X86构架 处理器。在采用X86-64架构的Athlon 64处理器中,X86-64指令集中新增了几组处理器寄存器,它能够提供更加快速的执行效率。寄存
25、器是处理器用来创建和储存CPU运算结果和其他运算结果 的地方,标准的X86构架中包括8组通用寄存器,而在AMD的X86-64架构中又增加了8组,将通过寄存器的数目提高到了16组。在这基础之上,X86 -64指令集还另外增加了8组128位的XMM寄存器,也叫做SSE寄存器。它能够给单指令多数据流技术(SIMD)运算提供更多的存储空间,这些128 位的寄存器能够提供在矢量和标量计算模式下进行128位双精度处理,这也为3D数据处理、矢量分析和虚拟技术提供了良好的硬件基础。由于提供了更多的寄存 器,按照X86-64标准生产的处理器可以更有效率的处理数据,在一个时钟周期内能够传输更多的信息。 采用X86-64架构的AMD Athlon 64处理器 EM64T技术 EM64T(Extended Memory 64 Technology)也就是Intel公司开发的64位内存扩展技术。它实际上就是Intel IA-32构架体系的扩展,既IA-32E(Intel Architectur-3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业战略中的财务稳健性分析试题及答案
- 从培训到发展数字时代企业HR角色新定义
- 在线教育如何赋能传统文化在服装设计中的传播
- 公司战略管理中的循环经济思路试题及答案
- 2025年软考网络管理员复习资料试题及答案
- 消防专员考试题库及答案
- 消防主战车测试题及答案
- 消防扑救试题及答案
- 调试与性能分析技巧试题及答案
- 力争高分的VB考试试题及答案
- JJG(皖)112-2021 失重秤检定规程
- 焊接机器人操作工职业技能竞赛考试题库(浓缩500题)
- (2024年)医疗法律法规知识培训课件
- 2023年江苏省镇江市中考化学真题含解析
- 《简易呼吸器》课件
- 2024届江苏省徐州市、南通市等2地高三第二次调研测试语文试题
- 粮食购销合同样本.文档
- 2023中考数学练习 08 圆与几何综合问题(学生版+解析版)
- 读后续写:三大出彩收尾设计(解析版)2023年新高考英语读后续写练习
- 高星级酒店装修工程进度管理研究
- 商场销售员销售技巧培训
评论
0/150
提交评论