第2章微机体系结构2.1微处理器2.2内存储器2.3系统总线2.1微处理器CPU是微机系统的核心部件,其性能的高低往往代表了微机的档次。微机体系结构中的许多先进技术是在CPU中体现出来的。衡量CPU性能的主要技术指标有以下几方面:2.1.1主频主频是指CPU内部电路工作的时钟频率,主频越高,意味着CPU的运行速度越快。1.主频信号的产生CPU的工作频率是从主板上获得的。在主板上有一块时钟电路和一个石英振荡器,当给石英晶体两极加上电压后,便产生出某一固定频率的振荡信号,该周期信号先经过时钟电路进行放大和整波处理,再进行分频或倍频处理,最后产生出CPU所需要的主频信号。2.主频与系统频率的关系系统总线的工作频率一般称为系统频率,也叫基频或外频。在386时代以前,CPU的工作速度与系统总线的速度相当。所以,主频与总线频率相同。从486开始,CPU的速度提升越来越快,而总线及其他芯片的提升速度已经无法跟上CPU的发展脚步。为了充分发挥CPU的高性能,采取了CPU内部工作频率高而外部电路工作频率低的方法。在CPU内部增加了一个时钟倍频电路,CPU主频是通过倍频的方法来实现的,即时钟倍频电路将系统频率按某个倍数提高,这种倍数关系也叫倍频系数。CPU主频=系统频率×倍频系数3.主频与系统的稳定性一方面是由于制造工艺的限制,各器件的反应速度存在极限值,当达到或超过极限值后,器件就不能正常工作,机器会出现不稳定或死机现象。另一方面CPU在高速运行过程中随着主频的增高发热量也会加剧,热量的积累会导致CPU过热而不能正常工作。因此CPU在出厂前会标定出额定工作频率。4.超频让CPU在超出额定频率的条件下工作,这就是所谓的超频。为了保证超频的成功,一般要适当调高CPU的工作电压,同时必须加大散热器和风扇转速。生产商为制止这一现象,对不同的CPU采取了不同的锁频措施。锁频方式分为锁基频和锁倍频两种:锁基频就是固定了系统频率,只能调节倍频;锁倍频就是固定了倍频关系,只能调节基频。5.前端总线频率前端总线(FrontSideBus,FSB)是指CPU的外部总线,也就是CPU与主板北桥芯片之间的数据传输通道,也可以认为它是CPU与主板之间的接口。在PentiumIII以前,前端总线与系统总线并没有什么区别。Pentium4采用了4路并行数据传输技术,也就是说CPU数据总线由原来的64位增加到4×64位,因此,前端总线的数据传输带宽提高到原来的4倍,相当于前端总线频率是系统总线频率的4倍。目前,CPU主频、前端总线频率、系统总线频率已经成为三个不同的概念。2.1.2位宽位宽又叫基本字长,俗称线宽,是指CPU一次操作所能处理的二进制数据长度。通常用CPU内部ALU的位数来代表,字长往往与CPU内部寄存器以及地址线和数据线相当。数据线是CPU与内存及I/O端口交换数据的通道,宽度代表了一次交换数据的能力。地址线决定了CPU的寻址能力,内存访问控制方式在微机发展历史上起了重要作用。寄存器位数代表了各指令的功能和执行效率,是CPU具体能力的体现。2.1.3指令系统指令系统是CPU性能的集中体现,任何型号的CPU都有属于自己的指令系统,它是由CPU制造商设计决定的。指令的格式、种类、寻址方式、指令的多少以及完善程度和执行速度都能反映出该CPU的设计水平和性能优劣。1.8086/8088指令系统8086/8088这两种CPU的指令系统完全相同,采用可变长度指令格式,每条指令由1到6个字节组成,共有7种寻址方式,支持8位和16位两种数据处理能力。该指令系统包含七种类型共计110余条指令。2.80286指令系统80286指令系统共计117条指令,其中91条与8086/8088相同,另外扩充和增加了26条。80286结构和性能比8086/8088有了很大提高,一方面为了与8086/8088保持兼容,另一方面为充分发挥286的优势,提供了两种工作模式:实地址模式和保护模式,实地址模式相当于仿真8086/8088;保护模式下,可以使用24位地址总线,寻址16M内存空间。80386指令系统包含了80286的全部指令及功能,由于CPU已升级为32位,因此在原来的基础上对数据传送、算术运算、串操作类共计17条指令进行了扩充,并且增加了10条新的指令。386除了拥有286的两种工作模式之外,同时提供了第三种工作模式——虚拟模式。486在386指令系统的基础上进一步扩充,增加了6条新的指令。3.80386/80486指令系统4.Pentium/PentiumMMX指令系统Pentium指令系统与486完全相同,没有增加新的指令。处理器的高性能是通过超标量技术高效率执行指令来实现的。面对不断增加的多媒体信息处理需求,Intel在Pentium的基础上推出PentiumMMX,即包含多媒体指令的Pentium处理器。MMX(MultiMediaeXtension,多媒体扩展)技术是Intel公司发明的一项多媒体增强指令集技术。MMX指令共有57条,主要是增强对动画的再生、图像的加工以及声音的合成处理能力。在此基础上,它能使系统对多媒体相关任务的综合处理能力提高1.5到2倍。MMX技术带来的处理器性能提高是显而易见的,它同时开创了处理器设计的新纪元,之后的“3Dnow!”以及SSE、SSE2和SSE3也都是从MMX技术发展演变而来的。5.K6-2指令系统“3Dnow!”技术是AMD公司设计开发的多媒体扩展指令集,共有21条指令,主要是为了提高K6系列处理器的3D图形处理能力。“3Dnow!”针对MMX指令集的不足,添加了SIMD单精度浮点运算指令,重点突出了3D处理,可直接借助硬件处理三维图像信息。所以,“3Dnow!”又被称为三维加速指令集。6.PentiumPro/PentiumII指令系统PentiumPro指令系统是在Pentium指令系统的基础上增加了8条新的指令。7.PentiumIII指令系统PIII指令系统是在MMX的基础上又增加了70条被称为SSE的指令集,该技术也叫做KNI(KatmaiNewInstructions),又称为MMX2。SSE(StreamingSIMDExtensions,数据流单指令多数据扩展)指令共有70条,可分为三类:第一类指令有8条,用于优化内存连续数据流。第二类指令有50条,用于SIMD浮点运算,而原来的MMX指令用于整数运算。第三类指令有12条,是新增加的多媒体指令,用于弥补MMX指令的不足。8.Pentium4指令系统Pentium4指令系统在原MMX的基础上增加和扩充了144条用于多媒体的SIMD扩展指令集,简称SSE2指令集。其中68条是对原有指令的增强,并将64位的MMX指令扩展为128位操作,另外76条是新增加的。Prescott核心的新Pentium4处理器在SSE2指令集的基础上又增加了13条新指令,称为SSE3扩展指令集。其中一条指令专门用于视频解码,两条指令用于线程处理,另外10条指令则用于单指令多数据浮点运算以及其他更为复杂的运算。9.K7-4指令系统K7-4指令系统在原“增强型3Dnow!”的基础上,又增加了类似SSE的52条指令,这些指令称为“3Dnow!-Professional”,简称“3Dnow!-P”。10.Itanium指令系统Itanium是采用IA-64指令系统的第一代CPU。Itanium处理器具有64位寻址能力和64位的内部寄存器,所以称为64位CPU。Itanium指令长度固定为40位,其中指令操作码占13位,预测寄存器地址占6位(可寻址64个预测寄存器),每个寄存器地址占7位(可寻址128个寄存器)。三个寄存器地址中,两个输入寄存器,一个输出寄存器,指令只能对寄存器操作。如图2-1所示。指令1(40位)指令2(40位)指令3(40位)模板(8位)预测寄存器1寄存器2寄存器3操作码图2-1Itanium指令示意图Itanium采用超长指令字,每个指令字是一个128位长的指令数据包,它包含3条40位指令和1个8位模板。指令编译器分析各条指令的数据相关性和指令依赖情况,把能够并行执行的一系列指令放在一起,重新排序并打包后交给CPU执行。8位模板包含了不同指令间的并行信息,编译器使用模板来告诉CPU,哪些指令可以同时执行。模板还包含了包的结束位,以告知CPU这个包是否结束。2.1.4CPU内部结构1.内置协处理器在486之前,CPU中只有一个定点运算器。为了将CPU从繁重的计算任务中解脱出来,另外设计了一个专门进行数值计算的部件——协处理器。从486DX开始,协处理器直接与CPU制作在一块集成电路中,称为内置协处理器。一般来说,协处理器只担负那些计算过程相对复杂的浮点运算任务,所以又称之为浮点运算器。2.片内高速缓存技术随着CPU速度的不断提高,相比之下内存的工作速度显得越来越慢,因此CPU的高效率很难得以充分发挥。通常的解决办法是,在CPU和内存之间设置速度更快的存储器,称为高速缓冲存储器(Cache),虽然Cache的速度很快,但容量与普通内存相比要小得多。CPU内部高速缓存被称为一级高速缓存(L1),主板上安装的高速缓存被称为二级高速缓存(L2);从PII开始,又将二级高速缓存与CPU制作在一起,形成了一级高速缓存在CPU核心,二级高速缓存在CPU周边的局面。3.超标量设计标量就是指一个标准的运算处理部件。超标量设计就是在CPU内部设置多个相互独立的运算处理部件,使各部件能够并行或串行工作,目的是使CPU能够同时执行多条指令,在时钟频率不变的情况下,CPU执行程序的速度自然会大大增加,这是一种用增加部件来换取速度的方案。4.并行处理技术将原多任务的部件拆分成若干个并行的独立部件,每个部件只负责某个单一类型的任务,这样各部件就可以同时并行地进行各自的工作,CPU的效率自然成倍地增加,这就是并行处理技术。5.流水线技术每个部件在具体执行某条指令时必然要分成若干步骤,如何高效地执行各指令又是一个值得研究的问题,流水线技术是解决这一问题的好办法。流水线技术是另一种并行处理技术,其原理是将一条指令的执行过程分解成若干个更小的子过程,每个子过程的操作可以与其他子过程同时进行。由于这种工作方式类似于工厂中的生产流水线,因此,把它称为流水线工作方式。2.1.5CPU性能评价通过前面的介绍我们已经知道,主频的高低只反映了CPU电路动作的快慢。除此之外,其他方面也会对性能产生一定影响,因此应该更为全面客观地对CPU性能加以评价。1.运算速度运算速度,即每秒钟能够执行的指令数,单位为MIPS(百万条指令/秒)目前Pentium4的运算速度已经超过1000MIPS(10亿次/秒)。2.生产工艺集成电路的生产技术水平一般用“工艺线宽”来表示,即电路中线条的宽度。工艺线宽数值越小,电路的工作频率就越高,功耗和发热量也就越小,同时还可以进一步提高芯片的集成度,使CPU内部电路更趋复杂。目前的CPU生产工艺已经小于0.10微米。3.工作电压目前Pentium4工作电压已经降到1.5伏以下,并有可能进一步降低。CPU工作电压下降,芯片发热量自然减少,另一个好处是可以增大芯片的面积,提高集成度。4.封装技术(1)DIP封装双列直插式(DualIn-linePackage)封装(2)QFP封装四方扁平(QuadFlatPackage)封装(3)PGA封装针栅阵列(PinGridArrayPackage)封装(4)BGA封装球栅阵列(BallGridArrayPackage)封装(5)FC-PGA和mPGA封装反转芯片针栅阵列(FlipChipPGA)封装和微型针栅阵列(microPGA)封装(6)LGA封装栅格阵列(LandGradArray)封装2.1.6有关CPU的其他技术1.动态执行技术(1)数据流分析(dataflowanalysis)(2)多路分支预测(multiplebranchprediction)利用先进的转移预测技术,对译码后的几条指令进行分支预测,如需跳转,则将跳转处的指令调入处理