《奔腾系列微处理器》由会员分享,可在线阅读,更多相关《奔腾系列微处理器(165页珍藏版)》请在金锄头文库上搜索。
1、第3章 奔腾系列微处理器n3.1 Pentium性能和结 构特点n3.2 Pentium的寄存器n3.3 Pentium的虚拟存 储器n3.4 Pentium的超标量 流水线n3.5 Pentium的引脚信 号n3.6 Pentium ProItanium的技术概况第3章 奔腾系列微处理器掌握Pentium微处理器的原理结构、基本寄存器组中各寄存器的组成和功能、Pentium工 作的实模式、保护模式以及虚拟8086模式掌握Pentium微处理器的超标量流水线技术熟悉存储器的保护、浮点运算部件以及与之相配套一起实现浮点运算的浮点寄存器等了解Pentium微处理器的外部引脚了解Pentium Pr
2、oItanium的技术概况教学目的和教学要求重点:n Pentium工作的实模式、保护模式以及虚拟8086模式的工 作原理n Pentium微处理器的超标量流水线技术n Pentium微处理器的原理结构难点:n Pentium微处理器的只分段、只分页管理n Pentium微处理器的既分段又分页管理n 存储保护中的特权级保护方式本章重点、难点3.1 Pentium性能和结构特点 3.1.1 Pentium性能简介(1) 1993年3月Intel公司推出了第五代微处理器 Pentium Pentium是微处理器本质上的一次创新。Pentium采用了0.8m双极性互补金属氧化半导体(BiCMOS)技
3、术,它属于单芯片超标量流水线微处理 器,片内集成了多达310万个晶体管,工作电压+5V, 功耗15W。片内时钟频率(微处理器主频)与外片主 总线的时钟频率相等,均为60MHz或66MHz两种。 3.1.1 Pentium性能简介(2)1994年3月之后推出的Pentium(P54C)采用了 0.6m的CMOS技术,工作电压降为3.3V,功耗降至4W 。主总线时钟频率有50MHz、60MHz以及66MHz等,经 倍频后作为Pentium(P54C)内部的时钟频率(主频 ),表3-1列出了几种Pentium(P54C)的主频与工作 电压。表3-1 几种Pentium的主频与工作电压 型 号 主总线
4、时 钟频 (MHz ) 倍数因子 主频(MHz) 工作电压 Pentium90 601.5903.3V或2.9V Pentium100 601.51003.3V Pentium120 6021203.3VPentium133 6021333.3VPentium150 602.51503.3VPentium166 662.51663.3VPentium200 6632003.3V3.1.1 Pentium性能简介(3)Pentium通往外部存储器的数据总 线为64位,CPU内部主要寄存器的宽度仍 然为32位,那么Pentium、Pentium(P54C )应该是32位微处理器。外部64位数据总
5、线(D63-D0)每次可同时传输8字节的二进 制信息,若选用主总线时钟频率66MHz计 算,即存储器总线的时钟频率也为66MHz ,则Pentium与主存储器交换数据的速率 可为528MB/S。3.1.2 Pentium的原理结构(1)一、Pentium CPU内部的主要部件 总线接口部件 U流水线和V流水线 指令高速缓冲存储器Cache 数据高速缓冲存储器Cache 指令预取部件 指令译码器 浮点处理部件FPU 分支目标缓冲器BTB 微程序控制器中的控制ROM 寄存器组 Pentium微处理器的原理结构图如图3-1所示Pentium CPU原理结构图3.1.2 Pentium的原理结构(2)
6、二、原理结构在Pentium CPU中,总线接口部件实现 CPU与系统总线之间的连接,其中包括64位 双向的数据线、32位地址线和所有的控制信 号线,具有锁存与缓冲等功能,总线接口部 件实现CPU与外设之间的信息交换,并产生 相应的各类总线周期。3.1.2 Pentium的原理结构(3)1.互相独立的指令Cache和数据Cache Pentium则在片内设置了2个独立的8KB Cache, 分别用于存放指令代码与数据。指令Cache是内存中 一部分程序的副本,通过猝发方式从内存中每次读入 一块存入某一Cache行中,便于CPU执行程序时取出并 执行,数据Cache是可以读写的,双端口结构,每个
7、 端口与U、V两条指令流水线交换整数数据,或者组合 成64位数据端口,用来与浮点运算部件交换浮点数据 ,指令Cache与数据Cache均与CPU内部的64位数据线 以及32位地址线相连接。3.1.2 Pentium的原理结构(4)n 互相独立的指令Cache和数据Cache有利于U 、V两条流水线的并行操作,它不仅可以同时 与U、V两条流水线分别交换数据,而且使指令 预取和数据读写能无冲突地同时进行。n 可以通过硬件或软件方法来禁止或允许使用 Pentium CPU内部的Cache。3.1.2 Pentium的原理结构(5)2.超标量流水线Pentium有U、V两条指令流水线,故称之为 超标量
8、流水线,超标量流水线技术的应用,使得 Pentium CPU的速度较80486有很大的提高。因此 ,超标量流水线是Pentium系统结构的核心。3.1.2 Pentium的原理结构(6)n U、V流水线中整数指令流水线均由5段组成。 分别为预取指令(PF)、指令译码(D1)、地址 生成(D2)、指令执行(EX)和结果写回(WB) 。n由于采用了指令流水线作业,每条指令流水线 可以在1个时钟周期内执行一条指令。因此,最 佳情况下一个时钟周期内可以执行两条整数指令 。3.1.2 Pentium的原理结构(7)3.重新设计的浮点运算部件Pentium CPU内部的浮点运算部件在 80486的基础上进
9、行了重新设计。如图3-1所示 。浮点运算部件内有专门用于浮点运算的加法 器、乘法器和除法器,还有80位宽的8个寄存 器构成了寄存器堆,内部的数据通路为80位。 浮点运算部件支持IEEE754标准的单、双精度 格式的浮点数,还可以使用一种临时实数的80 位浮点数。 3.1.2 Pentium的原理结构(8)Pentium对浮点数的一些常用指令,例如 加法指令ADD,乘法指令MUL等,都采用了新的 算法,并将新的算法用硬件来实现,使得浮点 数运算的速度大大提高,其速度相当于80486 的10多倍。3.1.2 Pentium的原理结构(9)4.以BTB实现动态转换预测Pentium采用了分支目标缓冲
10、器(branch target buffer)实现动态转移预测,可以减少 指令流水作业中因分支转移指令而引起的流水线 断流。引入了转移预测技术,不仅能预测转移是否 发生,而且能确定转移到何处去执行程序。例【3-1】下面是连续传送100个字节的循环程序段MOV SI,0200H ;源数据区偏移地址给SI MOV DI,0500H ;目的数据区偏移地址给DIMOV CX,64H ;待传送字节数为100,赋给CX ABC:MOV AL,SI ;从源区取出一个字节MOV DI,AL ;存入目的数据区 INC SI ;源地址指针加1INC DI ;目的地址指针加1DEC CX ;CX=CX-1JNZ A
11、BC ;若CX0,转ABC从上述程序可以看出,许多分支转移指令 转向每个分支的机会不是均等的,而且大多数 分支转移指令排列在循环程序段中,除了一次 跳出循环体之外,其余转移的目标地址均在循 环体内。因此,分支转移指令的转移目标地址 是可以预测的,预测的依据就是前一次转移目 标地址的状况,即根据历史状态预测下一次转 移的目标地址。预测的准确率不可能为100%, 但是对于某些转移指令预测的准确率却非常高 。3.2 Pentium的寄存器Pentium的寄存器可以分为三组: 基本寄存器组:包括通用寄存器、指令寄存 器、标示寄存器以及段寄存器。 系统寄存器组:包括系统地址寄存器、控制 寄存器。 浮点部
12、件寄存器组:包括数据寄存器堆、控 制寄存器、状态寄存器、指令指针寄存器和数 据指针寄存器以及标记字寄存器。Pentium的基本寄存器包括通用寄存器、段寄 存器、指令指针和标志寄存器:一、通用寄存器Pentium通用寄存器如图3-2所示,它兼容8086 CPU原来的8个16位通用寄存器以及原来的8个8位的 寄存器,而且将原来的8个16位通用寄存器AX、BX、 CX、DX、SI、DI、BP、SP均扩展成32位的寄存器EAX 、EBX、ECX、EDX、ESI、EDI、EBP、ESP。既可以使 用保留的8位和16位寄存器,还可以使用32位寄存器 。3.2 .1 基本寄存器组Pentium通用寄存器段寄
13、存器及段描述符高速缓存器如图3-3所 示,Pentium有6个16位段寄存器,每个段寄存 器对应有一个64位的描述符,用户不可见。6个 段寄存器的长度均为16位。除CS和SS分别是代 码段寄存器和堆栈段寄存器之外,其余的DS、 ES、FS、GS都是数据段寄存器。 二、段寄存器及段描述符高速缓存器Pentium段寄存器及段描述符高速缓存器每个段对应一个段描述符(8个字节),6个段描述符存放在CPU内的段描述符高速缓存 器中,它们均由内存的描述符表中拷贝而成, 以便CPU访问某一段时,均按存放在CPU内该段 的段描述符所描述的信息进行操作。每个段描 述符的具体组成如图3-4所示:1. 6个段描述符
14、图3-4 段描述符的组成每个段寄存器的组成如图3-5所示。在保 护模式下,段寄存器被称作为一个16位的段选择 字,其中b1、b0位为请求特权级RPL,可以请求 特权层的级别0-3级。26个16位段寄存器Pentium CPU中有一个32位的指令指(EIP)和一个 32位的标志寄存器(EFLAGS),如图3-6所示:三、指令指针和标志寄存器nEIP保存下一条待执行指令所在代码段内的偏 移值,也就是偏离代码段首地址的字节地址数 值。EIP的低16位为IP,供实地址方式下采用。nEFLAGS在8086 16位FLAGS基础上扩充了高16 位,其中,FLAGS b11b0中保留了8086 CPU中6
15、个状态标志和3个控制标志,增加了NT与IOPL, 高16位中新增了6个标志位。这些扩充标志位的 含义参考教材。Pentium的系统寄存器组包括4个表所对应的4个基地址寄存器GDTR、IDTR、LDTR、TR,也称 为4个段基地址寄存器,还包括5个控制寄存器 CR0、CR1、CR2、CR3、CR4。系统寄存器组中的所 有寄存器都不可能被用户访问,只能由特权级 为0的操作系统程序访问。3.2.2 系统寄存器组4个表基地址寄存器如图3-7所示 (1)GDTR(Global Descriptor Table Register),全局描述符表 寄存器。共有48位,其中,高32位保存全局描述符表的 线性基
16、地址,低16位是表限字段,即表的最大长度仅 64KB。(2)IDTR(Interrupt Descriptor Table Register),中断描述符表 寄存器。共有48位,其中高32位用于保存中断描述符表 IDT的32位线性基地址,低16位是表限字段,表的最大 长度也是64KB。一、4个表基地址寄存器图3-7 4个表基地址寄存器(3)LDTR(Local Descriptor Table Register),局部描述符寄存器。包括16位段选择符,不可编程的64位描述符寄存器。在64位描述符寄存器中,有32位LDT的线性基地址,20位的表限及12位的描述符属性。(4)TR,任务寄存器。包括16位段选择符,64位描述符寄存