cpu工作原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5、指令特殊扩展技术 自最简单的计算机开始,指令序列便能取得运算对象,并对它们执行计算。对大多数计算机而言,这些指令同 时只能执行一次计算。如需完成一些并行操作,就要连续执行多次计算。此类计算机采用的是“单指令单数据”( SISD)处理器。在介绍CPU性能中还经常提到“扩展指令”或“特殊扩展”一说,这都是指该CPU是否具有对 X86指令集进行指令扩展而言。扩展指令中最早出现的是InteI公司自己的“MMX”,其次是AMD公司的“3D Now!” ,最后是最近的Pentium III中的“SSE”。 MMX和SSE:MMX是英语“多媒体指令集”的缩写。共有57条指令,是Intel公司第一次对自1985 年就定型的 X86指令集进行的扩展。MMX主要用于增强CPU对多媒体信息的处理,提高CPU处理3D图形、视频和音频信息能 力。但由于只对整数运算进行了优化而没有加强浮点方面的运算能力。所以在3D图形日趋广泛,因特网3D网页应 用日趋增多的情况下,MMX已心有余而力不足了。MMX指令可对整数执行SIMD运算,比如-40、0、1、469 或 32766等等;SSE指令则增加了对浮点数的SIMD运算能力,比如-40.2337,1.4355或87734 3226.012等等。利用 MMX和SSE,一条指令可对2个以上的数据流执行计算。就前面的例子来说,再也不必每秒执行529000条指令了, 只需执行264600条即可。因为同样的指令可同时对左、右声道发生作用。显示时,每秒也不需要70778880条指令 ,只需23592960条,因为红、绿、蓝通道均可用相同的指令控制。 SSE:SSE是英语“因特网数据流单指令序列扩展/Internet Streaming SIMDExt ensions”的缩写。它是InteI 公司首次应用于 Pentium III中的。实际就是原来传闻的MMX2以后来又叫KNI(Katmai NewInstruction), Katmai实 际上也就是现在的Pentium III。SSE共有70条指令,不但涵括了原MMX和3D Now!指令集中的所有功能,而且特别 加强了SIMD浮点处理能力,另外还专门针对目前因特网的日益发展,加强了CPU处理3D网页和其它音、象信息技 术处理的能力。CPU具有特殊扩展指令集后还必须在应用程序的相应支持下才能发挥作用,因此,当目前最先进的 Penthm III 450和 Pentium II 450运行同样没有扩展指令支持的应用程序时,它们之间的速度区别并不大。 SSE除保持原有的MMX指令外,又新增了70条指令,在加快浮点运算的同时,也改善了内存的使用效率,使 内存速度显得更快一些。对游戏性能的改善十分显著,按Intel的说法,SSE对下述几个领域的影响特别明显:3D几 何运算及动画处理;图形处理(如Photoshop);视频编辑/压缩/解压(如MPEG和DVD);语音识别;以及声 音压缩和合成等。 3D NOW!:AMD公司开发的多媒体扩展指令集,共有27条指令,针对MMX指令集没有加强浮点处理能力的弱 点,重点提高了AMD公司K6系列CPU对3D图形的处理能力,但由于指令有限,该指令集主要应用于3D游戏,而对 其他商业图形应用处理支持不足。
(二)CPU主要技术参数 CPU品质的高低直接决定了一个计算机系统的档次,而 CPU的主要技术特性可以反映出CPU的大致性 能。 1、位、字节和字长 CPU可以同时处理的二进制数据的位数是其最重要的一个品质标志。人们通常所说的16位机、32位机 就是指该微机中的C PU可以同时处理16位、32位的二进制数据。早期有代表性的IBM PC/XT、IBM PC/AT 与 286机是16位机,386机和486机是32位机,586机则是64位的高档微机。 CPU按照其处理信息的字长可以分为:八位微处理器、十六位微处理器、三十二位微处理器以及六十 四位微处理器等。 位:在数字电路和电脑技术中采用二进制,代码只有“0”和“1”,其中无论是 “0”或是“1”在CPU中 都是一“位”。 字节和字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以 能处理字长为8位数据的CPU通常就叫8位的CPU。同理32位的CPU就能在单位时间内处理字长为32位的二 进制数据。由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字节的长度是 不固定的,对于不同的CPU、字长的长度也不一样。8位的CPU一次只能处理一个孙节,而32位的CPU一 次就能处理4个孙节,同理字长为64位的 C PU一次可以处理8个字节。 2、CPU外频 CPU外频也就是常见特性表中所列的CPU总线频率,是由主板为CPU提供的基准时钟频率,而CPU的 工作主频则按倍频系数乘以外频而来。在Pentium时代, CPU的外频一般是60/66MHz,从Pentium II 350 开始,CPU外频提高到1O0MHz。由于正常情况下CPU总线频率和内存总线频率相同,所以当CPU外频提 高后,与内存之间的交换速度也相应得到了提高,对提高电脑整体运行速度影响较大。
2、超流水线和超标量技术 超流水线是指某些CPU内部的流水线超过通常的5~6步以上,例如Pentium pro的流水线就长达 14 步。将流水线设计的步(级)数越多,其完成一条指令的速度越快,因此才能适应工作主频更高的 CPU。超标量(supe rscalar)是指在 CPU中有一条以上的流水线,并且每时钟周期内可以完成一条以 上的指令,这种设计就叫超标量技术。 3、乱序执行技术 乱序执行(out-of-orderexecution)是指CPU采用了允许将多条指令不按程序规定的顺序分开发送 给各相应电路单元处理的技术。比方说程序某一段有7条指令,此时CPU将根据各单元电路的空闹状 态和各指令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应电路执行。当然 在各单元不按规定顺序执行完指令后还必须由相应电路再将运算结果重新按原来程序指定的指令顺 序排列后才能返回程序。这种将各条指令不按顺序拆散后执行的运行方式就叫乱序执行(也有叫错序 执行)技术。采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并相应提高了CP U的运行 程序的速度。 4、分技预溯和推测执行技术 分枝预测(branch prediction)和推测执行(speculatlon execution) 是CPU动态执行技术中的主要 内容,动态执行是目前CPU主要采用的先进技术之一。采用分枝预测和动态执行的主要目的是为了 提高CPU的运算速度。推测执行是依托于分枝预测基础上的,在分枝预测程序是否分枝后所进行的 处理也就是推测执行。
5、L1和L2 Cache的容量和速率 L1和L2 Cache的容量和工作速率对提高电脑速度起关键作用,尤其是L2 Cache对提高运行2 D图 形处理较多的商业软件速度有显著作用。 设置L2 Cache是486时代开始的,目的是弥补L1 Cache(一级高速缓存)容量的不足,以最大程 度地减小主内存对CPU运行造成的延缓。 CPU的L2 Cache分芯片内部和外部两种。设在CPU芯片内的L2 Cache运行速度与主频相同,而采 用PⅡ方式安装在CPU芯片外部的L2 Cache运行频率一般为主频的二分之一,因此其效率要比芯片内 的L2 Cache要低,这就是赛扬只有128KB片内Cache但性能却几乎超过同主频P Ⅱ(有512KB但工作 时钟为主频一半的片外L2Cache)的重要原因。 (三)CPU主要技术术语浅析 1、流水线技术 流水线(pipeline)是 InteI首次在486芯片中开始使用的。流水线的工作方式的电路单元组成一条指令处理流水线,然后将一条X86指令分成 5~6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高 CPU的运算速度。由于486CP U只有一条流水线,通过流水线中取指令、译码、产生地址、执行指令 和数据写回五个电路单元分别同时执行那些已经分成五步的指令,因此实现了486CPU设计人员预期的 在每个时钟周期中完成一条指令的目的(按笔者看法,CPU实际上应该是从第五个时钟周期才达到每周 期能完成一条指令的处理速度)。到了Pentium时代、设计人员在CPU中设置了两条具有各自独立电路 单元的流水线,因此这样CPU在工作时就可以通过这两条流水线来同时执行两条指令,因此在理论上 可以实现在每一个时钟周期中完成两条指令的目的。
3、前端总线(FSB)频率 前端总线也就是以前所说的CPU总线,由于在目前的各种主板上前端总线频率与内存总线频率相同 ,所以也是 CPU与内存以及L2 Cache(仅指Socket 7主板)之间交换数据的工作时钟。由于数据传输最 大带宽取决所同时传输的数据位宽度和传输频率,即数据带宽=(总线频率(数据宽度)/8。例如Intel公司 的PⅡ 333使用6 6MHz的前端总线,所以它与内存之间的数据交换带宽为528MB/s =(66× 64)/8,而其 PⅡ 350则使用100MHz的前端总线,所以其数据交换峰值带宽为800MB/s=(100× 64)/8。由此可见前端 总线速率将影响电脑运行时CPU与内存、(L2 Cache)之间的数据交换速度,实际也就影响了电脑的整 体运行速度。因此目前 Intel正开始将其P Ⅲ的前端总线频率从100MHz向133MHz过渡。 AMD公司新推出 的K7虽然使用20 0MHz的前端总线频率,但有资料表明K7 CPU内核与内存之间数据交换时钟仍然是 100MHz,主频也是以100 MHz为基频倍频的。 4、CPU主频 CPU主频也叫工作频率,是CPU内核(整数和浮点运算器)电路的实际运行频率。在486 DX2 CPU之 前。CPU的主频与外频相等。从486DX2开始,基本上所有的CPU主频都等于“外频乘上倍频系数”了。 CPU的主要技术特征 。主频是CPU内核运行时的时钟频率,主频的高低直接影响CPU的运算速度。 我们知道仅Pentium就可以在一个时钟周期内执行两条运算指令,假如主频为100MHz的Penti um可 以在1秒钟内执行2亿条指令,那么主频为200MHz的Pentium每秒钟就能执行4亿条指令,因此CPU主频 越高,电脑运行速度就越快。 需要说明的是Cyrix的CPU对主频这项指标是采用PR性能等级参数(Performance Rat ing)来标称的 ,表示此时CPU性能相当于Intel某主频CPU的性能。用PR参数标称的CPU实际运行时钟频率与标称主频 并不一致。例如MⅡ-300的实际运行频率为233MHz(66× 3.5),但PR参数主频标为300MH z,意思就是 MⅡ-300相当于Intel的PⅡ-300。不过事实上也仅是MⅡ-300的Business Win ston指标(整数性能)能与 PⅡ-300相当而已。
CPU的工作原理浅析
一个完整的微型计算机系统包括硬件系统和软件系统两大部分。 计算机硬件是指组成一台计算机的各种物理装置,
CPU的工作原理浅析
Unit),它是计算机系统的核心,主要包括运算器和控制器两个部件。如果把计算机比作一个人,那么CPU就是心脏, 其重要作用由此可见一斑。CPU的内部结构可以分为控制单元、逻辑单元和存储单元三大部分,三个部分相互协调, 便可以进行分析,判断、运算并控制计算机各部分协调工作。 计算机发生的所有动作都是受CPU控制的。其中运算器主要完成各种算术运算(如加、减、乘、除)和逻辑运算( 如逻辑加、逻辑乘和非运算); 而控制器不具有运算功能,它只是读取各种指令,并对指令进行分析,作出相应的控制。 通常,在CPU中还有若干个寄存器,它们可直接参与运算并存放运算的中间结果。 我们常说的CPU都是X86系列及兼容CPU ,所谓X86指令集是美国Intel公司为其第一块16位CP U(i8086)专门 开发的,美国IBM公司1981年推出的世界第一台PC机中的CPU— i8088(i8086 简化版)使用的也是X86指令,同 时电脑中为提高浮点数据处理能力而增加的X87芯片系列数学协处理器则另外使用X8 7指令,以后就将X86指令集 和X87指令集统称为X86指令集。虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今 天的Pentium Ⅲ系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,Intel公 司所生产的所有CPU仍然继续使用X86指令集。 另外除Intel 公司之外,AMD和Cyrix等厂家也相继生产出能使用 X86指令集的CPU,由于这些CPU能运行所有的为Inte l CPU所开发的各种软件,所以电脑业内人士就将这些CPU 列为Intel的CPU兼容产品。由于Intel X8 6系列及其兼容CPU都使用X86指令集,就形成了今天庞大的X86系列及兼 容CPU阵容。