微型计算机原理与应用-第11章%20.ppt
《微型计算机原理与应用-第11章%20.ppt》由会员分享,可在线阅读,更多相关《微型计算机原理与应用-第11章%20.ppt(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第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为一页,程序或数据均
2、以页为单位进入实存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位和
3、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字节的逻辑数据操作数
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字节的物理存储空间,段
5、长为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方式返回到保护方式,以及实地址方式
6、。15o在实地址方式运行时,32位微处理器就像一个速度很快的8086 CPU,但是,对某些指令,它也可扩展为32位。o保护方式提供了复杂的存储器管理和处理器的特权级能力。在保护方式运行时,可实现任务的切换,即切换到虚拟8086方式,允许执行8086的操作系统和应用程序,使32位微处理器实现多任务和多用户的目标。1611.4 实地址方式o32位微处理器复位或加电后即处于实地址方式。实地址方式具有与8086相同的特性,但允许访问32位寄存器组。其寻址机制、存储器访问范围和中断控制等都与8086 CPU相同。o32位微处理器中分段存储器管理的工作原理。n在实地址方式中默认的操作数是16位数,段的大小
7、是64KB。则32位有效地址必须是比0000FFFFH小的值。n为了使用32位寄存器和寻址方式必须用超越前缀。n实地址方式寻址方法如图11.13所示。17图图11.13o实地址方式的首要目的是安排32位微处理器进入保护方式。o在实地址方式运行时,最大的存储器访问范围是1MB。因此,仅A0A19地址线有效,A20A31地址线是高电平。19o在实地址方式运行时,不允许分页,物理地址是由相应的段寄存器内容:左移4位;再加上指定的偏移量而形成。与8086 CPU相同。o在实地址方式中,存储器内保留两个固定的区域,即系统初始化区和中断向量表。FFFFFFF0HFFFFFFFFH为系统初始化保留区,C00
8、00H003FFH为中断向量表,对256级中断的每一级都有一个相应的4字节跳转向量。2011.4.1 32位微处理器的地址空间o3种不同方式的地址空间n逻辑空间、线性空间和物理空间。n可以访问232字节的物理存储器,但它支持多个任务时,每个任务又能得到最大为246字节。n这就出现了232字节的物理存储器如何去分配给多个任务的存储器管理问题。o物理存储器是CPU可访问的存储器空间,其容量由CPU的地址总线宽度所决定;而虚拟存储器是程序占有的空间,它的容量是由CPU内部结构所决定。o段部件将逻辑地址空间转换为32位的线性地址空间。如果不使用分页部件,则32位线性地址就对应着物理地址。分页部件能将线
9、性地址空间转换为物理地址空间。21o对于8086 CPU来说,程序占有的存储器与CPU可以访问的存储器是一致的,其容量都是1MB。o对32位微处理器来说,物理存储器与虚拟存储器是有区别的,其容量也不同。用户在写程序时,其程序是存在磁盘里,因此可写246字节的程序。然而,在执行程序时,一定要把程序加载到物理存储器。但是,物理存储器的容量只有232字节。因此,存在着物理存储器的如何分配问题,即存储器管理。这种存储器管理是由操作系统进行,但32位微处理器内部固件就有支持存储器管理的功能。o我们在对程序进行编码时,不可能直接指定物理存储器地址。这时,程序占有的是虚拟存储器地址。该地址是由程序指定,所以
10、也叫做“逻辑地址”。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位微处理器中,则是段选择器。段选择器的作
11、用是间接地来指定段。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中,段寄存器的内容就是段的基地址,为了换算成
12、起始地址,把它左移4位(16)即可。但对32位微处理器,用16位段选择器变换成为32位段地址就比较复杂。o32位CPU的选择器寄存器共有16位,除上述高14位作为虚拟存储器地址空间外,其最后两位是请求保护特权级(RPL)。3111.4.2 描述符表o在32位微处理器里,由虚拟地址变换为物理地址时需要用描述符表。o描述符表与程序一起保存在虚拟存储器中,程序执行时都要装入物理存储器。o在描述符表里描述符记载的仅是程序段数,如图11.17所示。o描述符长度由8个字节组成。它记载着段的起始地址、大小和属性。oCPU根据虚拟地址的选择器从描述符表选定一个描述符,读取存于其描述符中的起始地址等参数,进行虚
13、拟地址到物理地址的变换。32图图11.17o32位微处理器为了读取描述符中的起始地址,一定先要知道描述符的物理地址。所以,在CPU中有描述符表寄存器,其中存有描述符表的起始地址。计算的方法如下:(选择器中高13位数)8+(描述符表的起始地址)=描述符的物理地址o其中,乘以8是因为描述符由8个字节组成。o利用选择器,从描述符表可以找到段的起始地址,也称为段基地址。可以说,选择器的功能是用间接方法指定段的基地址,也可理解为选择器在确定段地址时,起到索引的作用。o如上所述,32位微处理器的软件在执行时需要有把虚拟地址变换为物理地址的描述符表,而8086 CPU的代码里不包含描述符表,因此,在保护方式
14、时软件不可能执行。34o操作系统的存储器管理工作是包括段起始地址的管理,可以以段为单位把程序分配到物理存储器。而32位微处理器的作用是根据描述符表把程序指定的虚拟地址变换为物理地址,它起到支持存储器管理的功能。o在32位微处理器中虚拟地址用以下格式表示:段寄存器:偏移量,例如:FS:OMEGAoFS:OMEGA所表示的地址是虚拟存储器中某位置的地址,不是实际物理地址,是虚拟地址,也称为逻辑地址。3511.4.3 段寄存器o32位微处理器是根据描述符表实现把虚拟地址变换成物理地址。访问描述符表就要花费时间,使CPU速度降低。采用段寄存器来替代描述符表。o32位微处理器的段寄存器要比8086 CP
15、U中复杂得多。它由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的内容压入堆栈S
16、S: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 保护
17、方式o32位微处理器的段寄存器从结构到数据处理都比原来的要复杂得多o为了多任务操作系统的需要,微处理器必须要有一种对数据处理有更为可靠的运行方式,即保护方式o特权级、存储器保护功能和分页管理4311.5.1 32位微处理器的保护机制o支持多任务操作系统o以4个特权级来隔离或保护各用户及操作系统o不同等级的特权级不能访问所规定区域外的单元o数据也不能写到禁止写入的段里。441.特权级及特权级规则oPL(protected level)特权级。32位微处理器在保护方式运行时,分为4个特权级,PL0级是最高级,PL3级是最低级。oRPL请求特权级。由选择符提供的特权级请求符。RPL由选择符的最低两位
18、决定。oDPL特权级描述符。一个任务可以访问的描述符。DPL由选择符所访问权字节的第5和第6两位决定。o32位微处理器提供的保护机制不是通过复杂的外部硬件,而是使用CPU内部固件来实现。它主要包括分段保护及分页保护。oCPL当前特权级,是当前正在执行任务的特权级。它相当于正执行代码段的优先级。CPL由检测CS寄存器的最低两位来决定。oEPL有效特权级,是RPL和DPL的最低特权级。因为较小的特权级值代表了较高的特权级,因此,EPL是RPL和DPL两者中数值较大的那个特权级。45保护方式的概念o32位微处理器用保护权等级来划分计算机中的各类软件。4级特权在计算机中形成的保护体制如图所示。o内部的
19、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一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 原理 应用 11 20
限制150内