微型计算机原理与应用-第11章%20.ppt
第11章 32位微处理器汤世平北京理工大学目录o11.1 80386微处理器的结构o11.2 32位微处理器的地址总线和数据总线o11.3 32位微处理器的工作方式o11.4 实地址方式o11.5 保护方式o11.6 虚拟8086方式o11.7 80486位微处理器的特点简介o11.8 Pentium微处理器211.1 80386微处理器的结构31.中央处理部件(CPU)o指令部件n指令预取队列n已译码指令队列o执行部件n32位的算术运算单元ALUn8个32位通用寄存器组n64位的桶形移位器和乘除硬件42.存储管理部件(MMU)o分段部件o分页部件o页是机械划分的,每4KB为一页,程序或数据均以页为单位进入实存o存储器按段来组织,每段包含若干个页,段的最大容量可达4000MBo一个任务最多可包含16K个段,每个任务可使用64MMB的虚拟存储空间o高速缓冲存储器(cache),构成完整的cache主存辅存的3级存储体系53.总线接口部件(BIU)o数据总线o地址总线o控制总线o包括访问存储器预取指令,读写数据和访问IO端口读写数据等全部操作及其他控制功能680386的寄存器o通用寄存器组o段寄存器指令指针o标志寄存器o控制寄存器o系统地址寄存器o调试寄存器o测试寄存器711.2 32位微处理器的地址总线和数据总线o80X86CPU对外的地址总线和数据总线都是32条,如何来进行16位和8位数的传送呢?811.2.1 地址总线o80X86CPU的32位地址总线是用30条地址线A2A31加上4个字节允许符BE0BE3来实现。这4个字节允许符给出了两个最低有效地址位和传送宽度编码。911.2.2 数据总线o32位数据总线是32条三态双向数据线D0D31。oD0D7为最低字节,D24D31为最高字节。o可以使用BS8和BS16引脚输入控制信号来改变数据总线的宽度,将数据传送到8位或16位设备中去。使32位微处理器能直接与32位、16位或8位总线相连接。1011.2.3 总线传送机制o32位微处理器的所有数据传送都是由一个或多个总线周期来完成。o1字节、2字节或4字节的逻辑数据操作数可以在物理地址不对界的情况下传送。在对界时的操作数只需要1个总线周期,而对于不对界时的操作数就需要2个或3个总线周期。o80X86CPU地址信号的设计可以简化外部系统的硬件。高位地址由A2A31提供。低位地址则以BE0BE3形式提供了32位数据总线4个字节的选择信号。o有时,对多总线接口需要A0和A1这两个地址信号,可由图11.11所示的逻辑电路产生。这样,由A2A31和BE0BE3就能形成了完整的80X86CPU的32条地址线。11图图 11.1111.3 32位微处理器的工作方式o实地址方式(real mode)o保护方式(protected mode)n可访问232字节的物理存储空间,段长为232字节,而且还可以实施保护功能o虚拟8086方式(virtual 8086 mode)n既能有效利用保护功能,又能执行8086代码的工作方式nCPU与保护方式下的原理相同,但程序指定的逻辑地址与8086 CPU解释相同o运行和转换的关系如图11.12所示13图图 11.12o当CPU进行启动或复位时首先进入实地址方式工作。修改控制寄存器CR0的机器状态字时,就可以由实地址方式转换到保护方式工作。再执行IRET指令或进行任务转换,就可由保护方式转移到虚拟8086方式工作。o任务转换功能是32位微处理器的特点之一,采用中断处理,就可再把CPU从虚拟8086方式返回到保护方式,以及实地址方式。15o在实地址方式运行时,32位微处理器就像一个速度很快的8086 CPU,但是,对某些指令,它也可扩展为32位。o保护方式提供了复杂的存储器管理和处理器的特权级能力。在保护方式运行时,可实现任务的切换,即切换到虚拟8086方式,允许执行8086的操作系统和应用程序,使32位微处理器实现多任务和多用户的目标。1611.4 实地址方式o32位微处理器复位或加电后即处于实地址方式。实地址方式具有与8086相同的特性,但允许访问32位寄存器组。其寻址机制、存储器访问范围和中断控制等都与8086 CPU相同。o32位微处理器中分段存储器管理的工作原理。n在实地址方式中默认的操作数是16位数,段的大小是64KB。则32位有效地址必须是比0000FFFFH小的值。n为了使用32位寄存器和寻址方式必须用超越前缀。n实地址方式寻址方法如图11.13所示。17图图11.13o实地址方式的首要目的是安排32位微处理器进入保护方式。o在实地址方式运行时,最大的存储器访问范围是1MB。因此,仅A0A19地址线有效,A20A31地址线是高电平。19o在实地址方式运行时,不允许分页,物理地址是由相应的段寄存器内容:左移4位;再加上指定的偏移量而形成。与8086 CPU相同。o在实地址方式中,存储器内保留两个固定的区域,即系统初始化区和中断向量表。FFFFFFF0HFFFFFFFFH为系统初始化保留区,C0000H003FFH为中断向量表,对256级中断的每一级都有一个相应的4字节跳转向量。2011.4.1 32位微处理器的地址空间o3种不同方式的地址空间n逻辑空间、线性空间和物理空间。n可以访问232字节的物理存储器,但它支持多个任务时,每个任务又能得到最大为246字节。n这就出现了232字节的物理存储器如何去分配给多个任务的存储器管理问题。o物理存储器是CPU可访问的存储器空间,其容量由CPU的地址总线宽度所决定;而虚拟存储器是程序占有的空间,它的容量是由CPU内部结构所决定。o段部件将逻辑地址空间转换为32位的线性地址空间。如果不使用分页部件,则32位线性地址就对应着物理地址。分页部件能将线性地址空间转换为物理地址空间。21o对于8086 CPU来说,程序占有的存储器与CPU可以访问的存储器是一致的,其容量都是1MB。o对32位微处理器来说,物理存储器与虚拟存储器是有区别的,其容量也不同。用户在写程序时,其程序是存在磁盘里,因此可写246字节的程序。然而,在执行程序时,一定要把程序加载到物理存储器。但是,物理存储器的容量只有232字节。因此,存在着物理存储器的如何分配问题,即存储器管理。这种存储器管理是由操作系统进行,但32位微处理器内部固件就有支持存储器管理的功能。o我们在对程序进行编码时,不可能直接指定物理存储器地址。这时,程序占有的是虚拟存储器地址。该地址是由程序指定,所以也叫做“逻辑地址”。22o32位微处理器中程序占有的虚拟存储器如图11.14所示。o它与8086 CPU相同,程序可以是有多段构成的。o图11.14只表示了一个有OMEGA变量(位置)的数据段。在程序中OMEGA的虚拟存储器地址由逻辑地址所决定。23图图11.14o例如,要把AL寄存器内容传送到这个位置,就要采用如下指令:MOV FS:OMEGA,ALoFS:OMEGA是名为OMEGA的虚拟存储器地址的逻辑地址格式。o像8086 CPU那样,OMEGA是存入该段的开始地址到OMEGA位置的偏移量中。o在8086 CPU中,段寄存器FS是段基地址;而在32位微处理器中,则是段选择器。段选择器的作用是间接地来指定段。25o用程序来处理的所有地址都是以逻辑地址格式指定的虚拟地址。o32位微处理器实际使用的FS寄存器是其中的高14位。o因此,虚拟地址共可有46位,虚拟存储器地址的空间范围也就是246字节。26o32位微处理器对程序指定的46位虚拟地址又是怎样变换成为32位物理地址的呢?o在32位微处理器里有了一个“分段部件”,如图11.15所示。o它能把46位虚拟地址变换成为32位物理地址。27图图11.15o也可用8086 CPU中逻辑地址变换为物理地址的方法来理解32位微处理器的变换,如图11.16所示。29图图11.16o在8086 CPU中,段寄存器的内容就是段的基地址,为了换算成起始地址,把它左移4位(16)即可。但对32位微处理器,用16位段选择器变换成为32位段地址就比较复杂。o32位CPU的选择器寄存器共有16位,除上述高14位作为虚拟存储器地址空间外,其最后两位是请求保护特权级(RPL)。3111.4.2 描述符表o在32位微处理器里,由虚拟地址变换为物理地址时需要用描述符表。o描述符表与程序一起保存在虚拟存储器中,程序执行时都要装入物理存储器。o在描述符表里描述符记载的仅是程序段数,如图11.17所示。o描述符长度由8个字节组成。它记载着段的起始地址、大小和属性。oCPU根据虚拟地址的选择器从描述符表选定一个描述符,读取存于其描述符中的起始地址等参数,进行虚拟地址到物理地址的变换。32图图11.17o32位微处理器为了读取描述符中的起始地址,一定先要知道描述符的物理地址。所以,在CPU中有描述符表寄存器,其中存有描述符表的起始地址。计算的方法如下:(选择器中高13位数)8+(描述符表的起始地址)=描述符的物理地址o其中,乘以8是因为描述符由8个字节组成。o利用选择器,从描述符表可以找到段的起始地址,也称为段基地址。可以说,选择器的功能是用间接方法指定段的基地址,也可理解为选择器在确定段地址时,起到索引的作用。o如上所述,32位微处理器的软件在执行时需要有把虚拟地址变换为物理地址的描述符表,而8086 CPU的代码里不包含描述符表,因此,在保护方式时软件不可能执行。34o操作系统的存储器管理工作是包括段起始地址的管理,可以以段为单位把程序分配到物理存储器。而32位微处理器的作用是根据描述符表把程序指定的虚拟地址变换为物理地址,它起到支持存储器管理的功能。o在32位微处理器中虚拟地址用以下格式表示:段寄存器:偏移量,例如:FS:OMEGAoFS:OMEGA所表示的地址是虚拟存储器中某位置的地址,不是实际物理地址,是虚拟地址,也称为逻辑地址。3511.4.3 段寄存器o32位微处理器是根据描述符表实现把虚拟地址变换成物理地址。访问描述符表就要花费时间,使CPU速度降低。采用段寄存器来替代描述符表。o32位微处理器的段寄存器要比8086 CPU中复杂得多。它由16位选择器寄存器与64位描述符寄存器构成,描述符寄存器中内容是复制记载在描述符表中的描述符。o因为只有CS,SS,DS,ES,FS和GS 6个选择器寄存器,所以也只能复制6条描述符,如图11.18所示。36图图11.18oCPU把虚拟地址变换成物理地址变成为访问存储器,实际上访问描述符寄存器,也就等于访问了描述符表,所以速度很快。o例如:MOV AH,FS:OMEGAo把FS:OMEGA的虚拟地址变换成物理地址时,要访问FS描述符寄存器,使用保存在描述符寄存器中的段起始地址,如图11.19(a)所示。38图图11.19o例11.2 PUSH EAXo把EAX的内容压入堆栈SS:ESP的虚拟地址,但是存入SS描述符寄存器中的段起始地址加上ESP寄存器中内容(偏移量)形成物理地址如图11.19(b)所示。4011.4.4 描述符o描述符的作用是描述段,由8个字节组成,如图11.20所示。图图11.2041o其中20位记载段的大小,它等于段字节数减1,同时也限制各逻辑段的长度不超过64KB;o32位记载段的起始地址;o8位记载访问权字节,用来定义该段的有关特性;o还记载有G位,D位,U位和1位预约位。nG位为0时,段的单位大小是1字节;nG位为1时,段的单位大小是4KB。n因此,当G位为0时,段的最大范围是1MB;当G位为1时,段的最大范围是4GB。4211.5 保护方式o32位微处理器的段寄存器从结构到数据处理都比原来的要复杂得多o为了多任务操作系统的需要,微处理器必须要有一种对数据处理有更为可靠的运行方式,即保护方式o特权级、存储器保护功能和分页管理4311.5.1 32位微处理器的保护机制o支持多任务操作系统o以4个特权级来隔离或保护各用户及操作系统o不同等级的特权级不能访问所规定区域外的单元o数据也不能写到禁止写入的段里。441.特权级及特权级规则oPL(protected level)特权级。32位微处理器在保护方式运行时,分为4个特权级,PL0级是最高级,PL3级是最低级。oRPL请求特权级。由选择符提供的特权级请求符。RPL由选择符的最低两位决定。oDPL特权级描述符。一个任务可以访问的描述符。DPL由选择符所访问权字节的第5和第6两位决定。o32位微处理器提供的保护机制不是通过复杂的外部硬件,而是使用CPU内部固件来实现。它主要包括分段保护及分页保护。oCPL当前特权级,是当前正在执行任务的特权级。它相当于正执行代码段的优先级。CPL由检测CS寄存器的最低两位来决定。oEPL有效特权级,是RPL和DPL的最低特权级。因为较小的特权级值代表了较高的特权级,因此,EPL是RPL和DPL两者中数值较大的那个特权级。45保护方式的概念o32位微处理器用保护权等级来划分计算机中的各类软件。4级特权在计算机中形成的保护体制如图所示。o内部的PL=0oI/O系统的PL=1o操作系统的PL=2o应用软件的PL=3o由CPU强制实施46特权级的运作规则o存储在特权级为PL段中的数据,仅可由至少像PL同样特权级上执行的代码来访问。o具有特权级为PL的代码段或过程可由与PL相同或低于PL特权级的任务来调用。4711.5.2 保护方式的寻址方法o32位微处理器的保护方式可以扩大线性地址空间,从4GB(232字节)扩大到64MMB(246字节或64万亿字节),可运行虚拟存储器程序。另外,保护方式提供了精巧复杂的内存管理和硬件辅助的保护机构。o保护方式和实地址方式间的主要差别是增加了地址空间和一个不同的寻址机制48o逻辑地址由两部分来形成n一个16位的选择符用来确定段的起始地址n一个32位的偏移n形成一个32位线性地址,这个线性地址就叫做32位物理地址。o在保护方式下,选择符用来指定一个查找由操作系统定义的一个表所需的变址,如图11.22所示。这个表包含一个已给段的32位起始地址。从这表中得到的起始地址加上偏移就得到物理地址。49图图11.2211.5.3 分页o分页是另一种存储器管理方式。n与分段不同,分页是把程序分为许多大小相同的页;而分段是将程序和数据模块化,划成可变长度的段。n所以,页与程序的逻辑结构没有直接关系。在任何时刻,每个任务所需激活的“页”是很少的。o“分页”提供一种另外的内存管理机制,只有在保护方式下才起作用,分页提供了一个管理32位微处理器非常大的段的方法。o分页的作用是在分段的基础上进行的。o分页机制把来自分段单元保护线性地址转换为一个物理地址,如图11.23给出了在允许分页条件下32位微处理器的寻址机制。51图图11.231.分页部件的结构o32位微处理器用两级表形式,在分页部件中把线性地址转换成物理地址。其工作机制如图11.24所示。53图图11.24o由3部分组成n页目录n页表n页面n每一页面的长度均为4K。oCR2是页面故障线性地址寄存器,保存最近一次页面故障的地址(32位线性地址)。oCR3是页目录物理基地址寄存器,存有页目录的物理起始地址。oCR3中的低12位总为0,以保证页目录始终按页面界对齐。552.页目录o页目录长度为4KB。o每一个页目录条目为4字节,其内容如图11.25(a)所示。o页目录总共可容纳1024个页目录条目。o线性地址的高10位(A22A31)用作要选取页目录条目的变址。563.页表o页表长度也为4KB。o每一个页表条目为4字节,其内容如图11.25(b)所示。o页表总共也可容纳1024个页表条目,其地址A12A21位用于在1024个页表条目中选择其一的变址。o页表条目中的高20位是页面地址,把页面地址加上线性地址的低12位(偏移)就是分页部件所得到的物理地址。57图图11.254.页面级保护o两级保护n用户级保护:相当于分段机制保护的第3级n管理级保护:相当于0,1,2级。o在页表条目(见图11.25(b)中的第1位(R/W)和第2位(U/S)可用来保护该页面o在页目录条目(见图11.25(a)中的第1位(R/W)和第2位(U/S)可用来保护页目录中所包括的全部页面。59o例如,在页目录条目中,其U/S和R/W位是10,而在页表条目中,其U/S和R/W位是01;这时,对页的访问权应在页表条目中和页目录条目中取最大限制的U/S和R/W值来寻址该页,也就是这两数值中的小者,即01。6011.6 虚拟8086方式o运行8086应用程序n实地址方式n虚拟8086方式(虚拟方式)n虚拟方式为系统设计者提供了最大的灵活性。o在虚拟方式下,可以尽量利用32位微处理器的保护机构。o尤其是允许同时执行8086的操作系统及其应用程序和32位微处理器操作系统的应用程序。o在一个多用户的80X86计算机中,一个用户可以运行Windows版本,另一个用户可以使用MS-DOS,而第3个用户则可以运行多个Unix资源及其应用程序等。o在这种环境下的每一个用户就好像完全拥有该计算机资源,如图11.26所示。61图图11.261.虚拟8086方式的寻址机制o实地址方式与保护方式的一个主要差别:对段选择字的不同解释。n虚拟8086方式,段寄存器与实地址方式是一样的。段寄存器的内容左移4位后与偏移量相加形成段基本线性地址。o32位微处理器允许操作系统在每一个任务内指定哪些程序使用8086方式的地址机构,哪些程序则使用保护方式寻址。o利用分页,可以把虚拟方式任务的1MB地址空间映射到32位微处理器的4GB线性地址空间的任一空间中去。o有效地址不能超出64KB。然而,这些限制并不是很重要的,因为大多数在虚拟8086方式下运行的程序是目前已有的8086应用程序。632.虚拟8086方式下的分页o分页硬件允许同时运行多个虚拟任务,并提供保护及操作系统隔离。o运行虚拟方式任务不一定要采用分页,但是对于运行多个虚拟任务或把虚拟方式任务的地址重新分配到大于1MB的物理地址空间上时需要分页部件。o分页机制把虚拟方式的程序产生的20位线性地址分成256个页面。o每一页面可以安排在32位微处理器4GB物理地址空间的任何位置上。64o由于是通过一个任务的切换来装载CR3(页检索基址寄存器)的,所以每一个虚拟方式下的任务可以利用不同的映射方式把页面映射到不同的物理地址上。o分页机制允许多个8086应用程序共享8086操作系统。o图11.26表示了32位微处理器分页部件能使多个8086程序在虚拟存储器的情况下运行,这就要求分页系统。653.虚拟8086方式下的保护o所有的虚拟8086方式程序都是在特权级3下运行的,这是最低特权级。o虚拟8086方式程序要服从所有的保护方式所定义的保护检查n这与实地址方式不同,它是在特权级0下执行的,这是最高的特权级o在虚拟8086方式下,要想执行一条赋予了特权级的指令会导致系统故障。66o有些特权级的指令,它们仅可在特权级0下执行的。n要想使这些指令在虚拟8086方式下(或当CPL0)执行将导致系统故障。o对于应用于多任务方式和保护方式的指令,只能在保护方式中执行。n要想使下面的指令在实地址方式或虚拟8086方式下执行会产生系统故障。674.中断处理o虚拟8086方式中的中断是在一个独特的方式中进行处理的。o当在虚拟方式中运行时,所有的中断都包括一个返回主32位微处理器操作系统的特权级变化。o中断是来自保护方式应用程序还是虚拟方式程序是由32位微处理器操作系统通过检查放在堆栈中的EFLAGS的映像中的VM位来加以确定的。685.线性地址变换成物理地址o在保护方式寻址时,存储器用分页方式管理。o把1234056H的线性地址变换为物理地址的实例如图11.27所示。oCR3寄存器内存有页目录的物理地址(5000H)。线性地址的3122位(12H)作为页目录的索引使用。将索引乘以4即412H,得到页目录项的偏移量。因此,页目录项的物理地址为5048H。69图图11.27o求得的页表的物理地址的3112位,存入页目录项3112位,这页目录项的内容为0000BH。o线性地址的位2112(34H)为页表的索引使用,与页目录项相同,求得页表登记项的物理地址为0B0D0H。o页表项内容的位3112(3000H)是物理存储器的页地址的位3112。把作为线性地址的位110(56H)的偏移量与页地址相加,就形成物理地址(3000056H)。71o上例说明如何把段部件输出的4834056H的线性地址由页部件换算为3000056H的物理地址。o计算物理地址时,利用了存入物理存储器的页目录与页表。o图11.27中只画出一个页表,但页表数最大为1K个。72o操作系统通过对项目与页表内容的管理,把232字节的物理存储器以页为单位分配给每个任务,每个任务拥有246字节的程序,并进行管理。oCPU的页管理部件由页目录与页表把线性地址变换为物理地址。7311.7 80486位微处理器的特点简介o除了有一般32位微处理器的保护功能、存储器管理功能、任务转换功能、分页功能和片内高速缓存器外,还具有浮点数运算部件。因此,在计算机系统内不再需要数字协处理器,是一种完整的32位微处理器。o能运行Windows,DOS,OS/2和UNIX V/386等操作系统,它与Intel公司的80X86系列的各种微处理器保持二进制兼容。o具有完整的RISC内核,使得常用的指令执行时间都只要一个时钟周期。o采用8KB统一的代码和数据cache(高速缓冲存储器),具有160MB/s的突发总线,保证在整机中采用了廉价的DRAM(动态RAM)能达到较高的系统流通量。o内部的自测试功能包括执行代码和访问数据时的断点陷阱,会广泛地测试片上逻辑、cache和分页转换cache。7411.8 Pentium微处理器o有两组算术逻辑单元(ALU)、两条流水线、能同时执行两条指令;o并且把数据cache(高速缓冲存储器)和代码cache分开;o不仅提高了总线的速度;还将数据总线增加到64条;o流水浮点部件提供了工作站的特性。o因此它几乎具有两台80X86的功能。7511.8.1 Pentium微处理器结构oPentium微处理器的结构方框如图11.28所示。o是一种双ALU流水线工作的结构,使得每个时钟周期可执行两条指令;并且把代码cache和数据cache分开,减少了cache的冲突。o内部是由总线部件、cache部件、代码预取部件、指令译码部件、浮点数部件、页部件、控制部件、执行部件、分支目标缓冲器等组成;其内部数据总线为64位,同时可传输或处理8字节的数据。76图图11.2811.8.2 Pentium微处理器流水线的工作原理o微处理器流水线对指令操作一般分为以下5个步骤:预取(PF);指令译码(D1);产生地址(D2);执行ALU和cache访问(EX);回写(WB)。o以每个操作步骤均为1个时钟周期的指令为例,其流水线工作过程如图11.29所示。这种指令称为整数指令。oPentium微处理器能支持并行执行两条指令。在并行执行中也有5个流水操作步骤,它在流水线中执行整数指令时,即每一个步骤都只有一个时钟周期,如图11.30所示。78图图11.29图图11.30oPentium微处理器中的两条流水线称为“U”和“V”流水线。o并行发出两条指令的过程称“配对”。o当指令配对时,发到“V”流水线的指令总是发到“U”流水线这条指令后边紧接着的一条指令。o“U”流水线可以执行80X86CPU结构的任何指令,而“V”流水线执行的只是简单的指令。o所谓简单指令是指完全是由硬件实现,不需任何代码控制的指令。通常是在一个时钟内执行完成一条整数指令。8011.8.3 Pentium微处理器的数据总线和地址总线o64条数据总线是一般32位微处理器的一倍。这64条数据线D0D63是三态双向数据线。o它不采用BS8和BS16信号来改变数据总线的传输宽度,而是采用地址总线的接口电路来实现,如图11.31所示。o32位地址总线是用29条地址线A3A31加上8个字节允许符BE0BE7来实现。o地址总线提供内存和I/O端口的物理地址。32位微处理器的物理寻址空间有4GB,即232字节;而I/O地址空间只有64KB,即216字节。所以,A3A31用来寻址到一个8个字节的单元,而用BE0BE7来标识在当前传送操作中这8个字节单元的处理方法。o64位、32位、16位和8位存储器寻址接口,如图11.32所示。81图图11.31图图11.3211.8.4 Pentium微处理器的存储器结构o可以64位、32位、16位和8位的数据进行访问。o存储器空间是按64位组成一个单位构成的。每64位单元都有在存储器地址上连续的8个独立可寻址的字节,如图11.33所示。o64位存储器构成4字(8字节)阵列,4字的起始地址应可被8除,所以可通过A31A3寻址。o32位存储器构成2字(4字节)阵列,双字的起始地址应可被4除,所以可通过A31A3和A2对双字寻址。o16位存储器构成字(2字节)阵列,字的起始地址应可被2除,所以可通过A31A3和A2、A1对字寻址。84图图11.3311.8.5 Pentium微处理器的分支预测o用一个分支目标缓冲器来预测分支指令的结果o使得通过预取的指令顺序所造成的流水拖延时间,减到最小。8611.8.7 Pentium微处理器的外部中断o外部中断在指令边界识别,指令边界是指在指令流水线的执行步骤中的第1个工作时钟周期,即意味着在指令执行之前。o外部中断优先级自高到低的次序为:nBUSCHK总线检查输入;nR/S异步中断输入;nFLUSHcache清洗;nSMI系统管理中断;nINIT启动中断;nNMI非屏蔽中断;nINTR可屏蔽中断。8711.8.8 Pentium微处理器的浮点数部件o预取(PF)。o指令译码(D1)。o产生地址(D2)。o存储器和寄存器读(EX);转换浮点数为外部存储器数据格式,并进行存储器写操作。o浮点执行步骤1(X1);转换外部存储器格式为内部浮点数数据格式并进行写操作,把数放到浮点数寄存器堆中。o浮点数执行步骤2(X2)。o执行舍入和写浮点数结果到寄存器堆(WF)。o错误报告或修改状态字(ER)8811.8.9 Pentium微处理器的高速缓冲存储器o集成有16KB至64KB的cache,数据cache和代码cache各为一半。这些cache对应用软件透明以维持与80X86 CPU结构的兼容性。o数据cache完全支持MESI(modified/exclusive/shared/invalid)回写cache一致性协议。代码cache具有固有的写保护以避免偶然的错误。o每8KB的cache构成为两路组相关。在每个cache中有128组,每组包含2行(每行都有其自己的标记地址)。每cache行是32字节宽。o数据和指令两cache的替换是通过LRU机构管理,在每个cache中每组需要一位。o指令和数据cache可以同时访问8911.8.10 Pentium微处理器初始化方式o先驱动RESET引脚有效,迫使它处于启动状态。o在RESET下降沿对自测试(BIST),功能冗余度检测和三态测试模式进行选择。o除了RESET引脚外,Pentium微处理器还有一个初始化引脚(INIT),它使处理器在不破坏内部cache内容或浮点状态的情况下,从一已知状态开始执行。90 1.加电o加电期间,当VCC接近正常工作电压时,RESET必须建立(此时CLK必须翻转)。o在VCC和CLK达到它们规定的电气特性后,RESET必须保持1ms。912.测试o当RESET从高到低变化时采样INIT,FLUSH和FRCMC 3个输入引脚,以便确定CPU以下是进行自测试,或者进入三态测试模式或功能冗余度检测模式。923.RESET和INIToRESET和INIT两引脚是用于以两种不同的方式来复位Pentium微处理器。n前者是当Pentium微处理器开始加电时,与RESET建立有关的“冷”或“加电”复位。n后者是当CC和CLK维持在规定的操作界限内,与RESET或INIT建立有关的“热”复位。o触发RESET或INIT引脚迫使Pentium微处理器从地址FFFFFFF0H开始执行。o可用物理存储器顶部的ROM初始化系统。93课后作业o11.1o11.2o11.594