2.4 Pentium级微处理器的功能结构
2.4.1 Pentium微处理器
1.概述
Pentium微处理器是Intel 80X86系列微处理器的第五代产品。其性能比它的前一代产品又有较大幅度的提高,但它仍保持与Intel 8086、80286、80386、80486兼容。
Pentium微处理器芯片规模比80486芯片大大提高,除了基本的CPU电路外,还集成了16KB的高速缓存和浮点协处理器,集成度高达310万个晶体管。芯片管脚增加到270多个,其中外部数据总线为64位,在一个总线周期内,数据传输量比80486增加了一倍;地址总线为36位,可寻址的物理地址空间可达64GB。
Pentium微处理器具有比80486更快的运算速度和更高的性能。微处理器的工作时钟频率可达66~200MHz。在66MHz频率下,指令平均执行速度为112MIPS,与相同工作频率下的80486相比,整数运算性能提高一倍,浮点运算性能提高近4倍。常用的整数运算指令与浮点运算指令采用硬件电路实现,不再使用微码解释执行,使指令的执行进一步加快。
Pentium微处理器是第一个实现系统管理方式的高性能微处理器,它能很好地实现PC系统的能耗与安全管理。
Pentium微处理器之所以有如此高的性能,在于该微处理器体系结构采用了一系列新的设计技术,如双执行部件、超标量体系结构、集成浮点部件、64位数据总线、指令动态转移预测、回写数据高速缓存、错误检测与报告等。
2.Pentium的功能结构
Pentium微处理器的功能结构框图如图2-15所示。
(1)超标量体系结构
Pentium微处理器具有三条指令执行流水线;两条独立的整数指令流水线(分别称为U流水线与V流水线)与一条浮点指令流水线。两条整数指令流水线都拥有它们独立的算术逻辑运算部件、地址生成逻辑和高速数据缓存接口。每一个时钟周期可以同时执行两条指令,因而相对同一频率下工作的80486来说,其性能几乎提高了一倍。这种能一次同时执行多条指令的处理器结构称为超标量体系结构。
Pentium微处理器的整数指令流水线与80486相似也具有指令预取、指令译码、生成地址和取操作数、指令执行、写操作数五级。每一级处理需要一个时钟周期。当流水线装满时,指令流水线以每个时钟周期一条指令的速率执行。
(2)浮点指令流水线与浮点指令部件
浮点指令流水线具有八级,实际上它是U流水线的扩充。U流水线的前4级用来准备一条浮点指令,浮点部件中的后4级执行特定的浮点运算操作并报告执行错误。此外在浮点部件中,对常用的浮点指令(加、减、除)采用专用硬件电路执行,而不像其他指令由微码来执行。因此,大多数浮点指令都可以在一个时钟周期内完成,这比相同频率下的80486浮点处理性能提高了4倍。
图2-15 Pentium微处理器的功能结构框图
(3)指令转移预测部件
程序指令的执行大多数情况下是一条指令接着一条指令顺序执行的。指令流水线正是利用了这个特点,在同一时刻内,多个部件同时操作并形成流水线,这样提高了指令执行的吞吐量。但是程序中不时也有转移执行情况,即下一条指令需从另一存储区取指令执行,转移执行指令会冲掉流水线已有的内容,并重新装载指令流水线,这样会降低流水线效率和指令执行速度。如果微处理器知道何时发生转移和跳转的目标地址,就可不暂停流水线的操作,处理器的执行速度才不会降低。
Pentium处理器提供了一个小型的1KB高速缓存(称为转移目标缓冲器BTB)来预测指令转移。它用来记录正在执行的程序最近所发生的几次转移,这就尤如一张指令运行路线图,指明转移指令很可能会引向何处。BTB将进入流水线的新指令与它所存储的有关转移的信息进行比较,以确定是否将再次执行转移。如果找到一次匹配(BTB的特征位命中),就产生一个目标地址,提前指出要发生的转移。如果预测正确,就立即执行程序转移,这样就不需要计算下一条指令的地址,而且可防止指令流水线停顿。反之,如果预测错误,将冲掉流水线中的内容,重新取正确的指令,但这会有四个时钟周期的延迟。由于程序局部性原则,指令的历史本身会经常地重复,因而使得转移预测部件在大多数情况下预测是正确的,这就足以将微处理器的性能提高不少。
(4)数据和指令高速缓存
Pentium芯片内部有两个超高速缓冲存储器Cache。一个是8KB的数据Cache,另一个是8KB的指令Cache,它们可以并行操作。这种分离的高速缓存结构可减少指令预取和数据操作之间可能发生的冲突,提高微处理器的信息存取速度。
数据Cache,除具有80486 Cache的通写方式外,还增加了数据回写方式,即Cache数据修改后,不是立即写回主存,而是推迟到以后写入。这种延迟写入主存的方式有一个好处,它可有助于提高微处理器的性能。因为存储器的写周期需要较长的时间,微处理器可以利用这段时间去进行别的操作,只有当必须写入主存时才进行主存数据的修改,这样可让处理器在数据回写方式下,完成更多的其他工作。回写方式的另一个好处是减少了片内高速缓存与主存信息交换占用系统总线的时间,这对于多处理器共享一个公共的主存时特别有价值。当然,具有回写方式的数据Cache需要有更复杂的Cache控制器。
3.Pentium的内部寄存器
Pentium微处理器对80486的寄存器作了如下扩充:
EFLAGS标志寄存器增加了两位:VIF(位19)、VIP(位20),它们用于控制Pentium虚拟8086方式扩充部分的虚拟中断。控制寄存器CR0的CD位和NW位被重新定义以控制Pentium的片内高速缓存,并新增了CR4控制寄存器对80486结构进行扩充。此外还增加了几个模式专用寄存器,用于控制可测试性、执行跟踪、性能监测和机器检查错误等功能。
2.4.2 PentiumⅡ微处理器
1.概述
PentiumⅡ(PⅡ)处理器采用了与Pentium相同的核心结构,从而继承了原有Pentium处理器的32位性能,并同时增加了对多媒体的支持和对16位代码优化的特性,它能够同时处理两条MMX指令。
1997年5月Intel公司推出了PentiumⅡ,开始采用的是233MHz的微处理器,后来又推出266MHz和300MHz的PentiumⅡ,其代号为Klamath,总线速度为66MHz,采用0.35µm工艺,内部集成了750万只晶体管,2.8V供电。L1(一级)Cache扩展到32KB(16KB指令Cache),速度与处理器主频同步。内部L2(二级)Cache增加到512KB,由于与CPU靠近,其速度远远高于传统的板上二级Cache。内部L2 Cache的速度仅为处理器主频的一半。
1998年7月推出了400MHz性能更优越的PentiumⅡXeon(至强),采用Slot2封装,PentiumⅡXeon最多可支持四个或更多处理器。L2 Cache可达512KB和1MB并以处理器核心速度工作,支持4GB的内存,寻址达64GB。
Intel公司继而又推出了低价的Pentium Ⅱ产品,代号为Celeron(赛扬)处理器。赛扬处理器与普通Pentium Ⅱ处理器的差别主要在于,它没有512KB的L2 Cache,因此没有Pentium Ⅱ那样的双重独立总线。以后推出了带有128KB的L2 Cache的Celeron处理器。
Pentium Ⅱ的封装形式与以往Intel微处理器完全不同,也不兼容。它首次采用单边连接盒的独立接插式标准(Slotl),采用一块带金属外壳的印刷电路板,该印刷电路板不但集成了处理器部件,还包括了32KB的L1 Cache,并且处理器封装与51KB~2MB的L2 Cache等置于同一个底座共242个引脚,可直接插入主板的相应插座中。
Pentium Ⅱ处理器有如下显著特点:
(1)双重独立总线(DIB)体系结构,能同时使用具有纠错功能的64位系统总线和具有可选纠错功能的64位Cache总线。
(2)多重跳转分支预测。
(3)分析并重排指令,使指令以优化的顺序执行,与原始程序的顺序无关。
(4)指令推测执行,通过预先查看程序计数器PC并执行那些将要执行的指令,提高了速率。
(5)采用Intel MMX技术,包括了57条增强的MMX指令技术,可处理视频、声频及图像数据。
2.Pentium Ⅱ的内部结构
Pentium Ⅱ的内部功能结构框图如图2-16所示(MMX部分未在其中)。
图2-16 Pentium Ⅱ的内部功能结构框图
从图2-16中可以看出,除Cache外,Pentium Ⅱ的核心功能部件包括总线接口部件(BIU)、指令预取部件(IFU);转移目标缓冲器(BTB)、X86指令译码器、微码指令序列器(Microcode Instruction Sequencer)、寄存器别名表(RAT——Register Alias Table)、保留站(RS——Reservation Station)、指令撤退寄存器、指令重排缓冲器(ROB——Re-order Buffer)、存储器排序缓冲器(MOB——Memory Order Buffer)以及五个处理(执行)部件(包括一个完成加载功能的加载地址部件、一个完成存储功能的存储部件、一个浮点部件和两个整数部件)等。其中X86指令译码器包括两个简单指令译码器和一个复杂指令译码器。微码指令序列器是Pentium Ⅱ将X86的CISC指令转换成内部微操作码的关键部件。可见,共有三个并行的指令译码器和多个并行处理部件(超标量结构的特征),因此在一个周期内可并发执行三条简单指令。
PentiumⅡ有三条指令流水线,每条指令流水线共有14级(有时被称为12级),如图2-17所示。
PentiumⅡ微处理器在体系结构上较它以前的处理器有很大变化,一个最明显的技术特征就是其核心完全采用RISC微结构,为了保持与X86其他处理器兼容,仍继续采用CISC指令集,因此内部增加了RISC与CISC之间的转换硬件。
Pentium Ⅱ采用BE7~BE0作为8个存储体的选择信号,对存储器的访问进行控制。它们在非流水线的地址方式下需要两个时钟周期进行总线操作。
图2-17 Pentium Ⅱ的流水线结构
2.4.3 Pentium Ⅲ微处理器
1999年2月底Intel推出了主频为450MHz和500MHz的Pentium Ⅲ以后,又推出了总线频率为100/133 MHz,内部核心部分集成了950万只晶体管,0.25µm工艺的一代处理器Pentium Ⅲ。Pentium Ⅲ具有SIMD浮点部件,又增加了70条多媒体指令。早期采用Slotl封装。
Pentium Ⅲ的主要参数特点如下:
(1)主频450MHz以上。
(2)总线频率100MHz/133 MHz。
(3)新增加70条多媒体指令。
(4)2.0V供电、0.25µm工艺制造。
(5)32KB的L1 Cache以主频速度工作,512KB的L2 Cache以主频一半的速度工作。
Pentium Ⅲ除了时钟提高外,它的整体性能比PentiumⅡ也大大提高,如语音处理能力提高37%,图形图像处理能力提高64%。Pentium Ⅲ内部还内置了序列号,根据序列号可知道CPU的真实型号,在连接Internet时,可借助该序列号识别上网者的合法身份。增加的70条多媒体指令SSE(Streaming SIMD Extensions)可提高3D、语音、图形图像、互联网软件运行速度。SSE浮点SIMD指令可同时处理4个32位单精度浮点数据,可同时运行X86指令、浮点指令和SSE指令。
为了加深对Intel处理器的基本特征的了解,现将8086到Pentium Ⅲ各处理器的主要性能列于表2-6中。
表2-6 8086到Pentium Ⅲ主要性能比较
说明:表中存储器形式指处理器对应微机系统板上存储器插口形式,其中DIP表示双列直插式存储器芯片,SIMM为单边接触存储器模块(30线和72线),DIMM为双边直插式存储器模块(168线)。
2.4.4 Pentium 4处理器
1.Pentium 4处理器的技术参数
2000年6月Intel公司推出了Pentium 4处理器,Pentium 4 CPU技术参数比较如表2-7所示。
表2-7 部分Pentium4CPU技术参数比较
说明:Pentium 4 EE至尊版Pentium 4;HT超线程技术;EM64T扩展64位内存技术;EDB增强病毒保护技术。
2.Pentium 4微处理器的内部结构和特点
Pentium 4微处理器内部结构包括:两级缓存系统、三条超标量流水线、乱序执行单元等。Pentium 4处理器内部结构如图2-18所示。
(1)跟踪缓存(Tcache)。程序分支是影响流水线效率的最大障碍之一。当流水线在循环状态下处理指令时,每次都必须重新取指令,并且重新进行解码等操作。但实际上,这些指令中绝大多数在循环开始时,已经都执行过,完全可以把解码后的微指令代码缓存起来,重新利用,不必耽误解码时间。
Pentium 4微处理器在这里作出了重大改动,加入了跟踪缓存(Trace Cache),它把已经用过并解码后的微指令存储下来,当下次再执行到相同指令时,就不必再一次重复解码,只要取到相关数据直接执行即可。而且这还带来另外一个好处,当发现分支预测出错,微处理器需要回到分支处重新开始运行时,因为解码和执行是不相关的独立操作,之前的解码工作已经把分支另外一边的指令保存进了跟踪缓存(Tcache),这样就可以节约1~2个时钟周期,立即执行后面的指令。跟踪缓存能存储12000个指令。
图2-18 Pentium 4处理器内部结构
现在程序中存在大量分支,并且其中又尤以循环为多数的情况下,跟踪缓存(Tcache)是非常有效的解决办法。当然也由于这些新型缓存的出现,使得过去长期以来的分级存储系统开始混乱,Intel公司目前不再提一级指令缓存的说法,或许可以这么理解,要么指令来自全速运行的二级缓存、解码单元或执行单元;要么指令就来自跟踪缓存(Tcache),直接运行。
(2)更深的流水线。流水线是现代微处理器设计的重要技术,但由它所引起的问题显而易见。只要分支预测出错,整条流水线就不可避免地要停顿下来。流水线工步越多,恢复时花费的时间也就越长。而另一方面,当工步增多时,每个工步所做的任务就越单一。反之,较少流水线工步的微处理器,每个工步要完成的任务就比较复杂。较低频率运行的时候,还不会怎样,但当时钟频率提升到一定的高度,则微处理器无法达到要求。所以设计师在不断寻找提升流水线效率的方法。
Pentium 4微处理器的流水拥有20个工步,是目前微处理器中最长的。这需要在分支预测表上多花很多工夫,来降低分支预测失败的概率。同时,跟踪缓存(Tcache)也能够帮助流水线在需要回到分支点的时候,快速启动起来。
(3)双重并发算术逻辑单元(ALU)。Pentium 4微处理器和Pentium Ⅲ微处理器都有3条超标量流水线,但Pentium 4微处理器的两个简单算术逻辑单元(ALU)采用了双重并发技术。它在处理特定的整数运算时,可以在一个时钟周期下执行两次,运行效率也相应提升一倍。理论上说,这两个简单算术逻辑单元在一个周期内可以执行4条指令。所以Pentium 4微处理器的整数处理能力比Pentium Ⅲ微处理器有很大幅度的提高。
(4)低延迟数据缓存。快速的执行单元当然会要求更高速的数据传输带宽,因此Intel公司继续强化他们缓存方面的优势。Pentium 4微处理器所带有的256KB一级缓存中,这种低延迟数据缓存占有一半,即128K的容量。它读取数据的时候只有两个周期的延迟,比PentiumⅢ微处理器快了很多。
(5)高级动态执行(ADE)。高级动态执行(ADE)功能主要是改善延迟产生的问题。一大堆等待微处理器修复的错误如果积累太多,就有可能对系统构成严重的影响。但是执行单元提供了一个非常大的容错缓冲区,所以也减轻了因延迟而产生的问题。另外执行单元能够暂存的指令由Pentium Ⅲ微处理器的42个指令增加到了126个,这就解决了在工作时钟频率较高时,大量数据由内存或缓存流失的问题。与此同时,也改善了分支的预测能力。
(6)前端总线频率。整个第6代系列微处理器都采用一条被称为GTL+的64位总线协议。在这个结构下,前端总线频率为100MHz时,最大可以获得800MB带宽的数据;如果前端总线频率为133MHz,则带宽上升为1.06GB。它的真实频率只是100MHz,采用特殊的上升、下降沿同时传输技术来提高芯片运行频率。Pentium 4微处理器在一个时钟周期内可以4次访问数据,因此即使前端总线实际只有100MHz的频率,仍可以达到400MHz总线效率。
3.奔腾双核微处理器基本特点
奔腾双核,英文名为Pentium dual-core,采用与酷睿2相同的架构。奔腾双核是酷睿的简化版,奔腾双核与Pentium 4单核相比,奔腾双核是双核双线程,功耗低,处理能力更强。Intel奔腾双核处理器主要有:E系列,T系列,P系列,U系列。奔腾双核E系列主要用于台式机。其主要特点如下:
(1)增强型Intel speedstep技术(采用的一种节省耗电的技术)。
(2)支持Intel 64位架构。
(3)支持Intel 虚拟化技术。
(4)有高级智能高速缓存。
(5)增强高级数字媒体。
(6)提高了浮点和多媒体处理能力,增强了视频、音频、编解码及3D的应用。
(7)在32位的操作系统中可以优化32位应用程序。
(8)封装形式:LGA775。
在交互语音、媒流体视频、图像处理、视频制作、速率、3D、CAD应用、游戏等多媒体和多任务应用环境,64位的架构及增强的Intel Speedstep技术既可以提高它的性能又可以降低功耗。