




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 掌握掌握PentiumPentium微处理器的原理结构、基本寄微处理器的原理结构、基本寄存器组中各寄存器的组成和功能、存器组中各寄存器的组成和功能、PentiumPentium工工作的实模式、保护模式以及虚拟作的实模式、保护模式以及虚拟80868086模式模式 掌握掌握PentiumPentium微处理器的超标量流水线技术微处理器的超标量流水线技术 熟悉存储器的保护、浮点运算部件以及与之熟悉存储器的保护、浮点运算部件以及与之相配套一起实现浮点运算的浮点寄存器等相配套一起实现浮点运算的浮点寄存器等 了解了解PentiumPentium微处理器的外部引脚微处理器的外部引脚 了解了解Pentium
2、 ProPentium Pro ItaniumItanium的技术概况的技术概况教学目的和教学要求教学目的和教学要求重点:重点:n Pentium工作的实模式、保护模式以及虚拟工作的实模式、保护模式以及虚拟8086模式的工模式的工作原理作原理n Pentium微处理器的超标量流水线技术微处理器的超标量流水线技术n Pentium微处理器的原理结构微处理器的原理结构难点:难点:n Pentium微处理器的只分段、只分页管理微处理器的只分段、只分页管理n Pentium微处理器的既分段又分页管理微处理器的既分段又分页管理n 存储保护中的特权级保护方式存储保护中的特权级保护方式本章重点、难点本章重点
3、、难点3.1 Pentium3.1 Pentium性能和结构特点性能和结构特点 3.1.1 Pentium性能简介(性能简介(1 1) 19931993年年3 3月月IntelIntel公司推出了第五代微处理器公司推出了第五代微处理器Pentium PentiumPentium Pentium是微处理器本质上的一次创新是微处理器本质上的一次创新PentiumPentium采用了采用了0.8m0.8m双极性互补金属氧化半导体双极性互补金属氧化半导体(BiCMOSBiCMOS)技术,它属于单芯片超标量流水线微处)技术,它属于单芯片超标量流水线微处理器,片内集成了多达理器,片内集成了多达310310
4、万个晶体管,工作电压万个晶体管,工作电压+5V+5V,功耗,功耗15W15W。片内时钟频率(微处理器主频)与。片内时钟频率(微处理器主频)与外片主总线的时钟频率相等,均为外片主总线的时钟频率相等,均为60MHz60MHz或或66MHz66MHz两两种种 3.1.1 Pentium性能简介(性能简介(2)19941994年年3 3月之后推出的月之后推出的PentiumPentium(P54CP54C)采用了)采用了0.6m0.6m的的CMOSCMOS技术,工作电压降为技术,工作电压降为3.3V3.3V,功耗降,功耗降至至4W4W。主总线时钟频率有。主总线时钟频率有50MHz50MHz、60MHz
5、60MHz以及以及66MHz66MHz等,经倍频后作为等,经倍频后作为PentiumPentium(P54CP54C)内部的时钟频)内部的时钟频率(主频),表率(主频),表3-13-1列出了几种列出了几种PentiumPentium(P54CP54C)的主频与工作电压的主频与工作电压 表表3-1 3-1 几种几种PentiumPentium的主频与工作电压的主频与工作电压 型型 号号 主总线时钟主总线时钟频(频(MHzMHz) 倍数因子倍数因子 主频(主频(MHz) 工作电压工作电压 Pentium90 601.5903.3V或或2.9V Pentium100 601.51003.3V Pen
6、tium120 6021203.3VPentium133 6021333.3VPentium150 602.51503.3VPentium166 662.51663.3VPentium200 6632003.3V3.1.1 Pentium性能简介(性能简介(3)PentiumPentium通往外部存储器的数据总线为通往外部存储器的数据总线为6464位,位,CPUCPU内部主要寄存器的宽度仍然为内部主要寄存器的宽度仍然为3232位,那么位,那么PentiumPentium、PentiumPentium(P54CP54C)应该是)应该是3232位微处位微处理器。外部理器。外部6464位数据总线(位
7、数据总线(D D6363- -D D0 0)每次可同)每次可同时传输时传输8 8字节的二进制信息,若选用主总线时字节的二进制信息,若选用主总线时钟频率钟频率66MHz66MHz计算,即存储器总线的时钟频率计算,即存储器总线的时钟频率也为也为66MHz66MHz,则,则PentiumPentium与主存储器交换数据与主存储器交换数据的速率可为的速率可为528MB/S528MB/S3.1.2 Pentium的原理结构的原理结构(1)一、一、Pentium CPUPentium CPU内部的主要部件内部的主要部件总线接口部件总线接口部件U U流水线和流水线和V V流水线流水线指令高速缓冲存储器指令高
8、速缓冲存储器CacheCache数据高速缓冲存储器数据高速缓冲存储器CacheCache指令预取部件指令预取部件指令译码器指令译码器浮点处理部件浮点处理部件FPUFPU分支目标缓冲器分支目标缓冲器BTBBTB微程序控制器中的控制微程序控制器中的控制ROMROM寄存器组寄存器组PentiumPentium微处理器的原理结构图如图微处理器的原理结构图如图3-13-1所示所示Pentium CPU原理结构图原理结构图3.1.2 Pentium的原理结构(的原理结构(2) 二、原理结构二、原理结构 在在Pentium CPUPentium CPU中,总线接口部件实现中,总线接口部件实现CPUCPU与系
9、统总线之间的连接,其中包括与系统总线之间的连接,其中包括6464位双向位双向的数据线、的数据线、3232位地址线和所有的控制信号线,位地址线和所有的控制信号线,具有锁存与缓冲等功能,总线接口部件实现具有锁存与缓冲等功能,总线接口部件实现CPUCPU与外设之间的信息交换,并产生相应的与外设之间的信息交换,并产生相应的各类总线周期各类总线周期3.1.2 Pentium的原理结构(的原理结构(3)1.互相独立的指令互相独立的指令Cache和数据和数据Cache PentiumPentium则在片内设置了则在片内设置了2 2个独立的个独立的8KB Cache8KB Cache,分,分别用于存放指令代码
10、与数据。指令别用于存放指令代码与数据。指令CacheCache是内存中一是内存中一部分程序的副本,通过猝发方式从内存中每次读入一部分程序的副本,通过猝发方式从内存中每次读入一块存入某一块存入某一CacheCache行中,便于行中,便于CPUCPU执行程序时取出并执执行程序时取出并执行,数据行,数据CacheCache是可以读写的,双端口结构,每个端是可以读写的,双端口结构,每个端口与口与U U、V V两条指令流水线交换整数数据,或者组合成两条指令流水线交换整数数据,或者组合成6464位数据端口,用来与浮点运算部件交换浮点数据,位数据端口,用来与浮点运算部件交换浮点数据,指令指令CacheCac
11、he与数据与数据CacheCache均与均与CPUCPU内部的内部的6464位数据线以位数据线以及及3232位地址线相连接位地址线相连接3.1.2 Pentium的原理结构(的原理结构(4)n 互相独立的指令互相独立的指令CacheCache和数据和数据CacheCache有利于有利于U U、V V两条流水线的并行操作,它不仅可以同时与两条流水线的并行操作,它不仅可以同时与U U、V V两条流水线分别交换数据,而且使指令预取两条流水线分别交换数据,而且使指令预取和数据读写能无冲突地同时进行和数据读写能无冲突地同时进行n 可以通过硬件或软件方法来禁止或允许使用可以通过硬件或软件方法来禁止或允许使
12、用Pentium CPUPentium CPU内部的内部的CacheCache3.1.2 Pentium的原理结构(的原理结构(5) 2.超标量流水线超标量流水线 PentiumPentium有有U U、V V两条指令流水线,故称之为超两条指令流水线,故称之为超标量流水线,超标量流水线技术的应用,使得标量流水线,超标量流水线技术的应用,使得Pentium CPUPentium CPU的速度较的速度较8048680486有很大的提高。因有很大的提高。因此,超标量流水线是此,超标量流水线是PentiumPentium系统结构的核心系统结构的核心3.1.2 Pentium的原理结构(的原理结构(6)
13、n U U、V V流水线中整数指令流水线均由流水线中整数指令流水线均由5 5段组成。段组成。分别为分别为预取指令(预取指令(PFPF)、指令译码(指令译码(D1D1)、地地址生成(址生成(D2D2)、指令执行(指令执行(EXEX)和和结果写回结果写回(WBWB)n由于采用了指令流水线作业,每条指令流水线由于采用了指令流水线作业,每条指令流水线可以在可以在1 1个时钟周期内执行一条指令。因此,个时钟周期内执行一条指令。因此,最佳情况下一个时钟周期内可以执行两条整数最佳情况下一个时钟周期内可以执行两条整数指令指令3.1.2 Pentium的原理结构(的原理结构(7) 3.重新设计的浮点运算部件重新
14、设计的浮点运算部件 Pentium CPUPentium CPU内部的浮点运算部件在内部的浮点运算部件在8048680486的基础上进行了重新设计。如图的基础上进行了重新设计。如图3-13-1所示。所示。浮点运算部件内有专门用于浮点运算的加法浮点运算部件内有专门用于浮点运算的加法器、乘法器和除法器,还有器、乘法器和除法器,还有8080位宽的位宽的8 8个寄个寄存器构成了寄存器堆,内部的数据通路为存器构成了寄存器堆,内部的数据通路为8080位。浮点运算部件支持位。浮点运算部件支持IEEE754IEEE754标准的单、标准的单、双精度格式的浮点数,还可以使用一种临时双精度格式的浮点数,还可以使用一
15、种临时实数的实数的8080位浮点数位浮点数3.1.2 Pentium的原理结构(的原理结构(8)PentiumPentium对浮点数的一些常用指令,例如加对浮点数的一些常用指令,例如加法指令法指令ADDADD,乘法指令,乘法指令MULMUL等,都采用了新的等,都采用了新的算法,并将新的算法用硬件来实现,使得浮点算法,并将新的算法用硬件来实现,使得浮点数运算的速度大大提高,其速度相当于数运算的速度大大提高,其速度相当于8048680486的的1010多倍多倍 3.1.2 Pentium的原理结构(的原理结构(9)4.以以BTB实现动态转换预测实现动态转换预测 PentiumPentium采用了分
16、支目标缓冲器(采用了分支目标缓冲器(branch branch target buffertarget buffer)实现动态转移预测,可以减)实现动态转移预测,可以减少指令流水作业中因分支转移指令而引起的流少指令流水作业中因分支转移指令而引起的流水线断流水线断流 引入了转移预测技术,不仅能预测转移是否引入了转移预测技术,不仅能预测转移是否发生,而且能确定转移到何处去执行程序发生,而且能确定转移到何处去执行程序例【例【3-1】下面是连续传送】下面是连续传送100个字节的循环程序段个字节的循环程序段 MOV SI,0200H ;源数据区偏移地址给;源数据区偏移地址给SI MOV DI,0500H
17、 ;目的数据区偏移地址给;目的数据区偏移地址给DI MOV CX,64H ;待传送字节数为待传送字节数为100,赋给,赋给CXABC:MOV AL,SI ;从源区取出一个字节;从源区取出一个字节 MOV DI,AL ;存入目的数据区;存入目的数据区 INC SI ;源地址指针加;源地址指针加1 INC DI ;目的地址指针加;目的地址指针加1 DEC CX ;CX=CX-1 JNZ ABC ;若;若CX0,转,转ABC 从上述程序可以看出,许多分支转移指令转从上述程序可以看出,许多分支转移指令转向每个分支的机会不是均等的,而且大多数分向每个分支的机会不是均等的,而且大多数分支转移指令排列在循环
18、程序段中,除了一次跳支转移指令排列在循环程序段中,除了一次跳出循环体之外,其余转移的目标地址均在循环出循环体之外,其余转移的目标地址均在循环体内。因此,分支转移指令的转移目标地址是体内。因此,分支转移指令的转移目标地址是可以预测的,预测的依据就是前一次转移目标可以预测的,预测的依据就是前一次转移目标地址的状况,即根据历史状态预测下一次转移地址的状况,即根据历史状态预测下一次转移的目标地址。预测的准确率不可能为的目标地址。预测的准确率不可能为100%100%,但,但是对于某些转移指令预测的准确率却非常高是对于某些转移指令预测的准确率却非常高3.2 Pentium的寄存器的寄存器 Pentium的
19、寄存器可以分为三组:的寄存器可以分为三组:基本寄存器组基本寄存器组:包括通用寄存器、指令寄存:包括通用寄存器、指令寄存器、标示寄存器以及段寄存器器、标示寄存器以及段寄存器系统寄存器组系统寄存器组:包括系统地址寄存器、控制:包括系统地址寄存器、控制寄存器寄存器浮点部件寄存器组浮点部件寄存器组:包括数据寄存器堆、控:包括数据寄存器堆、控制寄存器、状态寄存器、指令指针寄存器和数制寄存器、状态寄存器、指令指针寄存器和数据指针寄存器以及标记字寄存器据指针寄存器以及标记字寄存器PentiumPentium的基本寄存器包括通用寄存器、段寄存器、的基本寄存器包括通用寄存器、段寄存器、指令指针和标志寄存器指令指
20、针和标志寄存器一、通用寄存器一、通用寄存器PentiumPentium通用寄存器如图通用寄存器如图3-23-2所示,它兼容所示,它兼容8086 8086 CPUCPU原来的原来的8 8个个1616位通用寄存器以及原来的位通用寄存器以及原来的8 8个个8 8位的位的寄存器,而且将原来的寄存器,而且将原来的8 8个个1616位通用寄存器位通用寄存器AXAX、BXBX、CXCX、DXDX、SISI、DIDI、BPBP、SPSP均扩展成均扩展成3232位的寄存器位的寄存器EAXEAX、EBXEBX、ECXECX、EDXEDX、ESIESI、EDIEDI、EBPEBP、ESPESP。既可以使用。既可以使
21、用保留的保留的8 8位和位和1616位寄存器,还可以使用位寄存器,还可以使用3232位寄存器位寄存器3.2 .1基本寄存器组基本寄存器组Pentium通用寄存器通用寄存器 段寄存器及段描述符高速缓存器段寄存器及段描述符高速缓存器如图如图3-33-3所示,所示,PentiumPentium有有6 6个个1616位段寄存器,每个段寄存器对位段寄存器,每个段寄存器对应有一个应有一个6464位的描述符,用户不可见。位的描述符,用户不可见。6 6个段寄个段寄存器的长度均为存器的长度均为1616位。除位。除CSCS和和SSSS分别是代码段分别是代码段寄存器和堆栈段寄存器之外,其余的寄存器和堆栈段寄存器之外
22、,其余的DSDS、ESES、FSFS、GSGS都是数据段寄存器都是数据段寄存器 二、段寄存器及段描述符高速缓存器 Pentium段寄存器及段描述符高速缓存器段寄存器及段描述符高速缓存器 每个段对应一个段描述符(每个段对应一个段描述符(8 8个字节),个字节),6 6个段描述符存放在个段描述符存放在CPUCPU内的段描述符高速缓存内的段描述符高速缓存器中,它们均由内存的描述符表中拷贝而成,器中,它们均由内存的描述符表中拷贝而成,以便以便CPUCPU访问某一段时,均按存放在访问某一段时,均按存放在CPUCPU内该内该段的段描述符所描述的信息进行操作。每个段的段描述符所描述的信息进行操作。每个段描述
23、符的具体组成如图段描述符的具体组成如图3-43-4所示所示1. 6个段描述符个段描述符图图3-4 段描述符的组成段描述符的组成 每个段寄存器的组成如图每个段寄存器的组成如图3-53-5所示。在保护所示。在保护模式下,段寄存器被称作为一个模式下,段寄存器被称作为一个1616位的段选择位的段选择字,其中字,其中b1b1、b0b0位为请求特权级位为请求特权级RPLRPL,可以请,可以请求特权层的级别求特权层的级别0-30-3级级26个个16位段寄存器位段寄存器 Pentium CPU Pentium CPU中有一个中有一个3232位的指令指(位的指令指(EIPEIP)和一个)和一个3232位的标志寄
24、存器(位的标志寄存器(EFLAGSEFLAGS),如图),如图3-63-6所示所示三、指令指针和标志寄存器三、指令指针和标志寄存器nEIPEIP保存下一条待执行指令所在代码段内的偏保存下一条待执行指令所在代码段内的偏移值,也就是偏离代码段首地址的字节地址移值,也就是偏离代码段首地址的字节地址数值。数值。EIPEIP的低的低1616位为位为IPIP,供实地址方式下采,供实地址方式下采用用nEFLAGSEFLAGS在在8086 168086 16位位FLAGSFLAGS基础上扩充了高基础上扩充了高1616位,其中,位,其中,FLAGS b11b0FLAGS b11b0中保留了中保留了8086 CP
25、U8086 CPU中中6 6个状态标志和个状态标志和3 3个控制标志,增加了个控制标志,增加了NTNT与与IOPLIOPL,高,高1616位中新增了位中新增了6 6个标志位。这些扩充个标志位。这些扩充标志位的含义参考教材标志位的含义参考教材PentiumPentium的系统寄存器组包括的系统寄存器组包括4 4个表所对应的个表所对应的4 4个基地址寄存器个基地址寄存器GDTRGDTR、IDTRIDTR、LDTRLDTR、TRTR,也称,也称为为4 4个段基地址寄存器,还包括个段基地址寄存器,还包括5 5个控制寄存器个控制寄存器CRCR0 0、CRCR1 1、CRCR2 2、CRCR3 3、CRC
26、R4 4。系统寄存器组中的。系统寄存器组中的所有寄存器都不可能被用户访问,只能由特权所有寄存器都不可能被用户访问,只能由特权级为级为0 0的操作系统程序访问的操作系统程序访问3.2.2 系统寄存器组 4个表基地址寄存器个表基地址寄存器如图如图3-7所示所示 (1 1)GDTRGDTR(Global Descriptor Table RegisterGlobal Descriptor Table Register),),全局描述符表全局描述符表寄存器。共有寄存器。共有4848位,其中,高位,其中,高3232位保存全局描述符表位保存全局描述符表的线性基地址,低的线性基地址,低1616位是表限字段,
27、即表的最大长度位是表限字段,即表的最大长度仅仅6464KBKB(2 2)IDTRIDTR(Interrupt Descriptor Table RegisterInterrupt Descriptor Table Register),),中断描述符表中断描述符表寄存器。共有寄存器。共有4848位,其中高位,其中高3232位用于保存中断描述符位用于保存中断描述符表表IDTIDT的的3232位线性基地址,低位线性基地址,低1616位是表限字段,表的位是表限字段,表的最大长度也是最大长度也是6464KBKB一、4个表基地址寄存器图图3-7 4个表基地址寄存器个表基地址寄存器 (3)(3)LDTRLD
28、TR(Local Descriptor Table RegisterLocal Descriptor Table Register),局部描述符寄局部描述符寄存器。包括存器。包括1616位段选择符,不可编程的位段选择符,不可编程的6464位描述符寄位描述符寄存器。在存器。在6464位描述符寄存器中,有位描述符寄存器中,有3232位位LDTLDT的线性基地的线性基地址,址,2020位的表限及位的表限及1212位的描述符属性位的描述符属性 (4)(4)TRTR,任务寄存器。包括,任务寄存器。包括1616位段选择符,位段选择符,6464位描述位描述符寄存器,其中,符寄存器,其中,3232位任务状态段
29、的线性基地址,位任务状态段的线性基地址,2020位的表限及位的表限及1212位的描述符属性位的描述符属性 1CR0 控制寄存器控制寄存器二、二、5个控制寄存器个控制寄存器 2 2CR2 CR2 页故障线性地址寄存器页故障线性地址寄存器 用于保存最后出现用于保存最后出现页故障的页故障的3232位线性地址。操作系统中的页异常处理程位线性地址。操作系统中的页异常处理程序可以通过检查序可以通过检查CR2CR2的内容,得知的内容,得知3232位的线性地址。位的线性地址。 3 3CR3 CR3 页目录基址寄存器页目录基址寄存器 其中高其中高2020位存放页目录位存放页目录表的物理基地址。在进行分页变换时,
30、加上表的物理基地址。在进行分页变换时,加上1010位线性位线性地址地址4 4,找到某一存储容量为,找到某一存储容量为4B4B的页描述符。在页目的页描述符。在页目录基址寄存器的低录基址寄存器的低1212中,有中,有PCDPCD和和PWTPWT两位控制位,其两位控制位,其余余1010位保留位保留 图图3-9 控制寄存器控制寄存器CR2、CR34CR4CR4允许结构扩展的标志寄存器允许结构扩展的标志寄存器 3232位位CR4CR4中仅使用了中仅使用了9 9个控制位,其余个控制位,其余2323位保留位保留 5模式专用寄存器模式专用寄存器 PentiumPentium取消了测试寄存器,而用一组专取消了测
31、试寄存器,而用一组专用寄存器来实现更多的功能。这组寄存器具用寄存器来实现更多的功能。这组寄存器具有测试、跟踪、性能检测以及机器检查等功有测试、跟踪、性能检测以及机器检查等功能能 Pentium Pentium内部有一个浮点运算部件,与之配套一起内部有一个浮点运算部件,与之配套一起实现浮点运算的浮点寄存器有实现浮点运算的浮点寄存器有: : 8 8个数据寄存器个数据寄存器 1 1个标记字寄存器个标记字寄存器 1 1个状态寄存器个状态寄存器 1 1个控制寄存器个控制寄存器 1 1个数据指针寄存器个数据指针寄存器3.2.3 浮点寄存器组1. 8个数据寄存器个数据寄存器 数据寄存器数据寄存器R R7 7
32、-R-R0 0均为均为8080位宽,在每个位宽,在每个8080位寄存器位寄存器中,均有中,均有1 1位数符位,位数符位,1515位阶码位,位阶码位,6464位尾数位位尾数位2. 标记字寄存器标记字寄存器 1616位宽的标记字寄存器分成位宽的标记字寄存器分成8 8个个2 2位,分别对应位,分别对应8 8个数据寄存器,如图个数据寄存器,如图3-113-11所示。标记字寄存器的所示。标记字寄存器的b b1 1、b b0 0位对应位对应R R0 0数据寄存器,数据寄存器,b b3 3、b b2 2位对应位对应R R1 1数据寄存数据寄存器,显然器,显然b b1515、b b1414位对应数据寄存器位对
33、应数据寄存器R R7 7,用两位二,用两位二进制数作标记,以便进制数作标记,以便CPUCPU只须通过检查标记位,就只须通过检查标记位,就可以知道数据寄存器是否空等可以知道数据寄存器是否空等图图3-11 Pentium的浮点寄存器的浮点寄存器1616位寄存器都被用来指示位寄存器都被用来指示FPUFPU当前所处的状态当前所处的状态(1 1)IEIE,若,若IEIE置置1 1,表示产生了无效操作,指示这是,表示产生了无效操作,指示这是非法操作产生的故障非法操作产生的故障(2 2)DEDE,若,若DEDE为为1 1,表示操作数不符合规范产生的故,表示操作数不符合规范产生的故障障(3 3)ZEZE,若,
34、若ZE=1ZE=1,则指示除数为,则指示除数为0 0引起的故障引起的故障(4 4)PEPE,若,若PE=1PE=1,则指示运算结果不符合精度规格,则指示运算结果不符合精度规格(5 5)SPSP,堆栈故障标志位,当,堆栈故障标志位,当IE=1IE=1且且SF=1SF=1时,若时,若C1=1C1=1则表示堆栈上溢引起无效故障。若则表示堆栈上溢引起无效故障。若C1=0C1=0,则指示堆,则指示堆栈下溢引起无效故障栈下溢引起无效故障三、状态寄存器(6 6)ESES,错误标志位,以上任何一个故障都会,错误标志位,以上任何一个故障都会使使ES=1ES=1,且使,且使CPUCPU引脚信号变为低电平引脚信号变
35、为低电平(7 7)C0C0C3C3,条件码,这,条件码,这4 4位条件码可以用位条件码可以用SAHFSAHF指令进行设置,也可用指令进行设置,也可用FSTSWFSTSW指令读取,该指令读取,该4 4位位二进制的状态使二进制的状态使FPUFPU实现某种选择。实现某种选择。C0C0还和还和SFSF配配合使用表示堆栈的状态合使用表示堆栈的状态(8 8)TOPTOP,堆栈栈顶指针,堆栈栈顶指针(9 9)B B,用来指示,用来指示FPUFPU当前是否处于忙状态,当当前是否处于忙状态,当B=1B=1时,表示忙,反之处于不忙状态时,表示忙,反之处于不忙状态(1 1)PMPMIMIM低低6 6位控制位位控制位
36、,分别用来控制,分别用来控制6 6种异种异常能否允许产生中断,这常能否允许产生中断,这6 6种控制位分别用来种控制位分别用来屏蔽状态寄存器中的低屏蔽状态寄存器中的低6 6种状态位,即种状态位,即IMIM位用位用来屏蔽来屏蔽IEIE位,位,DMDM位用于屏蔽位用于屏蔽DEDE位等位等(2 2)2 2位位PCPC位位,用作精度控制,当,用作精度控制,当2 2位位PCPC位为位为0000时,作时,作2424位单精度运算,位单精度运算,1010时为时为5353位双精度位双精度运算,运算,1111时为扩展的双精度运算,即时为扩展的双精度运算,即6464位运位运算,算,0101未用未用(3 3)2 2位位
37、RCRC位位,用作舍入控制,用作舍入控制四、FPU的控制寄存器图3-13 FPU的控制寄存器3.3 Pentium的虚拟存储器的虚拟存储器3.3.1 Pentium的工作模式简介的工作模式简介PentiumPentium的虚拟存储器(的虚拟存储器(VivtualVivtual Storage Storage)技术、)技术、高速缓存(高速缓存(CacheCache)技术以及超标量流水线技术是微)技术以及超标量流水线技术是微型计算机系统的三大支柱,虚拟存储器的目标是如型计算机系统的三大支柱,虚拟存储器的目标是如何高速允许多个软件进程共享并使用主存储器这一何高速允许多个软件进程共享并使用主存储器这一
38、容量有限的存储资源。虚拟存储器的实现不仅仅体容量有限的存储资源。虚拟存储器的实现不仅仅体现在计算机硬件系统上的完美无缺,而且虚拟存储现在计算机硬件系统上的完美无缺,而且虚拟存储器技术是操作系统的核心技术,操作系统中存储器器技术是操作系统的核心技术,操作系统中存储器管理程序的主要任务就是要将有限的主存储器不断管理程序的主要任务就是要将有限的主存储器不断地动态分配给各活动进程地动态分配给各活动进程PentiumPentium的的工作模式工作模式分为:分为:实模式实模式、保护模式保护模式、虚虚拟拟8686模式模式、平展模式平展模式、线性空间以及系统管理模式线性空间以及系统管理模式共五种。共五种。Pe
39、ntiumPentium外部的地址总线宽度外部的地址总线宽度3636位,由控制寄存位,由控制寄存器器CR4CR4中物理地址扩充允许位中物理地址扩充允许位PAEPAE控制所使用的物理控制所使用的物理空间,一般设空间,一般设PAE=0PAE=0,禁止地址的扩充,只使用,禁止地址的扩充,只使用3232位的物理地址,位的物理地址,3232位地址由位地址由A A3131-A-A3 3及及8 8个字节选择信个字节选择信号号BEBE7 7BEBE0 0组成,因此,最大物理地址空间是组成,因此,最大物理地址空间是4GB4GB。Pentium CPUPentium CPU外部数据总线宽度为外部数据总线宽度为64
40、64位,但位,但CPUCPU内部内部寄存器仍为寄存器仍为3232位,位,PentiumPentium微处理器是微处理器是3232位微处理位微处理器器3.3.2 Pentium工作的保护模式工作的保护模式保护模式是受保护的虚拟地址模式保护模式是受保护的虚拟地址模式(Protected Protected Virtual Address ModeVirtual Address Mode)的简称。从的简称。从80386 CPU80386 CPU开始,开始,就具有了保护模式,就具有了保护模式,Pentium CPUPentium CPU内部也设有内部也设有存储器管理部件存储器管理部件MMUMMU,其中
41、,仍然包括分段部,其中,仍然包括分段部件件SUSU和分页部件和分页部件PUPU,通过系统程序员编程,通过系统程序员编程,PentiumPentium可以工作在只分段或只分页或既分段可以工作在只分段或只分页或既分段又分页三种方式。这三种方式的关键建立在又分页三种方式。这三种方式的关键建立在分段地址转换与分页地址转换的基础之上分段地址转换与分页地址转换的基础之上1 1利用利用GDTRGDTR与与LDTRLDTR分别访问分别访问GDTGDT与与LDTLDT 48 48位的全局描述符表寄存器包括位的全局描述符表寄存器包括3232位全局位全局描述符表的基地址和描述符表的基地址和1616位的表界限,位的表
42、界限,GDTGDT的长的长度不超过度不超过64KB64KB。在保护模式下,。在保护模式下,PentiumPentium支持支持多任务的运行,如果某一任务要访问多任务的运行,如果某一任务要访问GDTGDT时,时,则以则以GDTRGDTR中中3232位基地址作为全局描述符表的位基地址作为全局描述符表的基地址,再由每个任务选择符的高基地址,再由每个任务选择符的高1313位左移位左移3 3位后作为位后作为GDTGDT的偏移地址,指向所要访问的的偏移地址,指向所要访问的8 8字节的描述符字节的描述符一、分段地址转换一、分段地址转换n每个任务有各自的代码段每个任务有各自的代码段CS、数据段、数据段DS、还
43、、还可能有附加的数据段可能有附加的数据段ES、FS、GS以及堆栈段以及堆栈段等,每个段有一个等,每个段有一个64位的段描述符,如图位的段描述符,如图3-7所示,各个任务组成了自己的局部描述符表所示,各个任务组成了自己的局部描述符表LDT,因此,在内存中有多个,因此,在内存中有多个LDT n各任务公用的代码段、数据段的段描述符以各任务公用的代码段、数据段的段描述符以及任务状态段及任务状态段TSS等系统段的描述符组成了等系统段的描述符组成了全局描述符表全局描述符表GDT,内存中只有一个,内存中只有一个GDT。n当前任务访问当前任务访问LDT时,由时,由LDTR中对应的中对应的64位描述符高速缓存器
44、中位描述符高速缓存器中32位基地址作为位基地址作为LDT的基地址,再由段选择符的高的基地址,再由段选择符的高13位左移位左移3位位后作为后作为LDT的偏移地址,指向所要访问的的偏移地址,指向所要访问的8字字节的段描述符。如图节的段描述符。如图3-14所示,其中的描述所示,其中的描述符也就是图符也就是图3-4所示的描述符所示的描述符 图图3-14 由由LDTR由访问由访问LDT当任务发生切换时,由当任务发生切换时,由LDTRLDTR中选择符的高中选择符的高1313位左移三位后,作为位左移三位后,作为GDTGDT中的偏移地址,在中的偏移地址,在GDTGDT中取出该任务的中取出该任务的LDTLDT描
45、述符,并装入到描述符,并装入到LDTLDT对应的描述符高速缓存器,于是在对应的描述符高速缓存器,于是在LDTRLDTR中的中的高速缓存器中,存入了当前高速缓存器中,存入了当前LDTLDT的基地址,表的基地址,表界限以及性属性等,如图界限以及性属性等,如图3-153-15所示所示图图3-15 由由GDTR访问访问GDTn在在LDT中查到的描述符,其中查到的描述符,其32位基地址如果位基地址如果只分段不分页的话,此只分段不分页的话,此32位基地址加上指令位基地址加上指令中的中的32位偏移量址,就求得位偏移量址,就求得32位的物理地址。位的物理地址。n在在GDT中查到的描述符,其中查到的描述符,其3
46、2位基地址表示位基地址表示当前当前LDT的基地址,该描述符一定会由硬件的基地址,该描述符一定会由硬件自动存入高速缓存器中自动存入高速缓存器中由于由于PentiumPentium内部寄存器是内部寄存器是3232位,由于位,由于PentiumPentium芯片组成的微机为芯片组成的微机为3232位机,访问存储位机,访问存储器的指令仍然有直接寻址、寄存器寻址、基器的指令仍然有直接寻址、寄存器寻址、基址寻址、变址寻址、基址加变地寻址等址寻址、变址寻址、基址加变地寻址等 2分段地址的转换分段地址的转换例【例【3-23-2】 几条访问内存指令几条访问内存指令 MOV ALMOV AL, 1888 7777
47、H1888 7777H MOV AX MOV AX, EBXEBX MOV EAX MOV EAX,ESIESI MOV ECX MOV ECX,EBX+EDIEBX+EDI MOV DX MOV DX, EBPEBP只有最后一条指令访问堆找段只有最后一条指令访问堆找段SSSS,其余指令均访问,其余指令均访问数据段数据段DSDS,构成逻辑地址为,构成逻辑地址为DSDS:3232位偏移量或位偏移量或SSSS:3232位偏移量,在位偏移量,在3232位机中,我们将逻辑地址称为虚拟地位机中,我们将逻辑地址称为虚拟地址,段寄存器称之为段选择符址,段寄存器称之为段选择符 Pentium Pentium的
48、分段地址转换过程图如图的分段地址转换过程图如图3-163-16所示。所示。根据段寄存器即段选择符中根据段寄存器即段选择符中b b2 2位位TITI,确定访问,确定访问当前当前LDTLDT(TI=1TI=1)或)或GDTGDT(TI=0TI=0),如果访问),如果访问LDTLDT,将将1313位索引值左移位索引值左移3 3位后,作为位后,作为LDTLDT基地址的偏基地址的偏移量,指向移量,指向8B8B的段描述符,段描述符中的的段描述符,段描述符中的3232位位基地址加上指令中的基地址加上指令中的3232位偏移量成为位偏移量成为3232位线性位线性地址,如果不分页只分段,结果为该机器指令地址,如果
49、不分页只分段,结果为该机器指令所寻址的物理地址,如果还需要分页,此线性所寻址的物理地址,如果还需要分页,此线性地址分为三段,即页目录(号)、页面(号)地址分为三段,即页目录(号)、页面(号)和偏移量和偏移量n如果如果TI=0,则访问,则访问GDT,与前述相同。,与前述相同。n在图在图3-7中,系统还有一个中,系统还有一个48位的中断描述符表寄位的中断描述符表寄存器,其中存器,其中32位的基地址是全系统中仅有的一个中位的基地址是全系统中仅有的一个中断描述符表断描述符表IDT的基地址。的基地址。Pentium机中所有的中机中所有的中断,包括软中断、硬件中断以及断,包括软中断、硬件中断以及CPU内部
50、的异常中内部的异常中断,每个中断在断,每个中断在IDT中均有一个描述符,中均有一个描述符,IDT中最中最多可有多可有256个描述符。每个中断描述符也是个描述符。每个中断描述符也是8字节,字节,主要包括中断服务程序的入口地址,还有其他属性主要包括中断服务程序的入口地址,还有其他属性等信息。等信息。 图3-16 分段地址转换过程图 分页地址转换由分页地址转换由CPUCPU内的分页部件内的分页部件PUPU来实现,它将来实现,它将3232位的线性地址转换成位的线性地址转换成3232位的物理地址。这位的物理地址。这3232位线位线性地址可能来自分段部件性地址可能来自分段部件SUSU(既分段又分页方式),
51、(既分段又分页方式),也可能是不分段只分页的情况,程序不提供段选择也可能是不分段只分页的情况,程序不提供段选择符,只由指令寄存器提供的符,只由指令寄存器提供的3232位地址作为线性地址,位地址作为线性地址,即即1010位的页目录(号)、位的页目录(号)、1010位的页表(号)和位的页表(号)和1212位位的页内偏移量的页内偏移量 在控制寄存器在控制寄存器CR4CR4中页面长度控制位中页面长度控制位PSEPSE的控制下,的控制下,PentiumPentium的分页部件的分页部件PUPU可以按可以按80386/8048680386/80486每页每页4KB4KB分分页(页(PSE=0PSE=0),
52、也可按每页),也可按每页4MB4MB分页分页(PSE=1PSE=1)二、分页地址转换二、分页地址转换 4KB 4KB分页方式采用两级分页方式,第一级有分页方式采用两级分页方式,第一级有一个一个4KB4KB的页目录表,可存放的页目录表,可存放10241024个页目录项,个页目录项,称之为高级管理,第二级有一个称之为高级管理,第二级有一个4KB4KB的页表,的页表,可以存放可以存放10241024个页表项,称之为低级管理。个页表项,称之为低级管理。页目录项与页表项均为页目录项与页表项均为3232位(位(4 4字节),如图字节),如图3-173-17所示所示14KB分页方式分页方式图图3-17 页目
53、录项与页表项页目录项与页表项P,存在位,存在位 P=1表示该页表表示该页表/页存在,页存在,P=0,表示不存在表示不存在PWT,通写位,通写位 用于片外用于片外Cache的写控制,的写控制,PWT=1时,片外时,片外Cache采用通写法,采用通写法,PWT=0时,片外时,片外cache使用回写法使用回写法PCD,页,页Cache禁止位禁止位 用于对分页高速缓冲用于对分页高速缓冲存储器的控制。若存储器的控制。若PCD=1时,时,CPU内部内部Cache被禁用被禁用A,访问位,访问位 表示该目录项或页表项所对应的页表示该目录项或页表项所对应的页面是否在近期被访问过。当面是否在近期被访问过。当A=1
54、时表示近期被访时表示近期被访问过,过一段时间后由操作系统清除为问过,过一段时间后由操作系统清除为0,当页面,当页面调度程序需要调出一些页面时,通过检查调度程序需要调出一些页面时,通过检查A位状位状态,就可以知道各页的使用情况,并根据调度算态,就可以知道各页的使用情况,并根据调度算法确定调出哪些页法确定调出哪些页D,写标志位,写标志位 仅页表项中的仅页表项中的D位有意义。当位有意义。当页表项所涉及到的页面被改写过,页表项所涉及到的页面被改写过,D位由硬件位由硬件置成置成1,一直保持为,一直保持为1状态,直到该页被调出内状态,直到该页被调出内存。当调度程序要调出此页时,首先检查存。当调度程序要调出
55、此页时,首先检查D标标志,若志,若D=1,则把内存中的此页拷贝回外存相,则把内存中的此页拷贝回外存相应位置,以刷新外存上的本页内容。若应位置,以刷新外存上的本页内容。若D=0,表示此页没有被改写,调度程序不必将它拷贝表示此页没有被改写,调度程序不必将它拷贝回外存,只是简单地丢弃本页内容,因而回外存,只是简单地丢弃本页内容,因而D位位也被称之为也被称之为“脏位脏位” PS(Page Size),页大小位。只有页表项页大小位。只有页表项中有此位。中有此位。PS=1,页面大小按,页面大小按4MB分页,分页,PS=0,页面大小按页面大小按4KB分页分页 U/S,用户,用户/管理员管理员。页面保护属性位
56、。页面保护属性位 R/W,读,读/写写。页保护属性位。页保护属性位 U/S与与R/W结合起来,实现页保护。在分页部结合起来,实现页保护。在分页部件中,具有页保护功能,将使用对象分为特权级件中,具有页保护功能,将使用对象分为特权级3的用户以及特权级的用户以及特权级2、1、0的管理员用户,管理的管理员用户,管理员用户不受页的保护员用户不受页的保护 Pentium 4KB Pentium 4KB分页方式地址转换如图分页方式地址转换如图3-183-18所示。将所示。将3232位线性地址定义为三个位线性地址定义为三个字段,页目录(号)、页面(号)以及字段,页目录(号)、页面(号)以及偏移量,分别为偏移量
57、,分别为1010位、位、1010位和位和1212位位图图3-18 Pentium 4KB分页方式地址转换图分页方式地址转换图 例【例【3-33-3】 假设线性地址是假设线性地址是3 3C445566HC445566H,CR3=11223000HCR3=11223000H 解:解:取线性地址的高取线性地址的高1010位作为页目录位作为页目录(号),求得(号),求得0011 1100 01B0011 1100 01B,乘以,乘以4 4(左移(左移2 2位)作为页目录项指针,结果为位)作为页目录项指针,结果为0011 1100 0011 1100 0100B=3C4H0100B=3C4H 查找页目录
58、项的物理地址:查找页目录项的物理地址:1122 1122 3000H+3C4H =1122 33C4H3000H+3C4H =1122 33C4H 例【例【3-43-4】 设所查找到页表项中设所查找到页表项中2020位页面基地址是位页面基地址是12345H12345H,线性地址仍,线性地址仍然取然取3C44 5566H3C44 5566H 解:转换后最终物理地址:解:转换后最终物理地址: 12345000H+566H=12345566H12345000H+566H=12345566Hn 存储器分页管理通过存储器分页管理通过CPU内部寄存器内部寄存器CR3和两级和两级页表来实现,页目录表称为高级
59、管理,页表称为低页表来实现,页目录表称为高级管理,页表称为低级管理级管理 n 将物理内存按将物理内存按4KB划分为一页,称为一个页面,划分为一页,称为一个页面,每每1024页为一个低级管理,由线性地址的中间页为一个低级管理,由线性地址的中间10位地址确定。每页有一个起始地址,存放在页表中,位地址确定。每页有一个起始地址,存放在页表中,由页表项中由页表项中20位基址作为物理地址的高位基址作为物理地址的高20位地址,位地址,低低12位补位补0。共有。共有1024页,每页的页,每页的20位基地址排位基地址排列存放在页表中,整个页表占列存放在页表中,整个页表占4KBn 在低级管理的上面是高级管理,由高
60、级管在低级管理的上面是高级管理,由高级管理(页目录表)对理(页目录表)对1024个页表进行管理,每个页表进行管理,每个页表有一个起始地址,由页目录项中个页表有一个起始地址,由页目录项中20位位基地址作高基地址作高20位地址,低位补位地址,低位补12个个0,求得,求得页表的起始地址,页目录表共计有页表的起始地址,页目录表共计有1024个页个页表项,分别用于存放表项,分别用于存放1024个页表的基地址,个页表的基地址,构成了页目录表,每个页目录项占构成了页目录表,每个页目录项占4B,页目,页目录表也占录表也占4KB n 将线性地址分为将线性地址分为10位、位、10位、位、12位三个位三个字 段 ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人借款担保合同模板
- 劳务提供者合同
- 藏族民间舞蹈动作组合
- 创伤急救诊疗课件
- 个人股权质押借款合同
- 纱线购销合同书范本
- 2025合同范本下载4
- 办公空间照明设备采购合同范本
- 损失赔偿合同协议书的格式范文
- 2025年城市房屋拆迁补偿合同样本
- 幼儿园安全教育《防溺水》课件
- 病毒分离鉴定
- 重症医学科三年发展规划
- 天车安全检查表
- 《神奇的莫比乌斯带》ppt
- 必备空调安装免责协议书范文优选七篇
- 电子营业执照下载确认书(外籍法定代表人)
- 中国医院质量安全管理 第4-2部分:医疗管理 护理质量管理 T∕CHAS 10-4-2-2019
- (自考)财务管理学完整版课件全套ppt教程(最新)
- 《智能制造技术与应用》试题及答案
- NX_Nastran_超单元指南_cn
评论
0/150
提交评论