第12章 80386微处理器.ppt
第十二章第十二章 80386 80386微处理器微处理器n n80386的系统结构n n80386的指令系统n n80386的存储器扩展n n80386的输入/输出接口n n80386的异常和中断及其处理n n RISC简介 8038680386是是INTEINTE公公司司继继8028680286之之后后推推出出的的产产品品,是是3232位位微微处处理理器器。8038680386微微处处理理器器内内含含275000275000个个晶晶体体管管,多多任任务务设设计计,能能同同时时执执行行多多个个程程序序。8038680386是是IntelIntel高高档微处理器的基础,档微处理器的基础,12.1 80386系统结构 一、一、80286内部结构简介内部结构简介 80386CPU是32位微处理器。数据总线和地址总线均为32根,可直接寻址4GB物理地址空间。80386CPU封装,注意地址线和数据线是分开的 80386由三大部件组成:中央处理部件、总线接口部件和存储管理部件。Intel 80386的基本体系结构的基本体系结构 n n1 1、中央处理部件、中央处理部件(CPU,Central Process Unit)CPU,Central Process Unit)CPU CPU包括指令预取部件包括指令预取部件(IPU,InstructionIPU,Instruction Prefetch Prefetch Unit)Unit),指令译码部件指令译码部件(IDU,InstructionIDU,Instruction Predecode Predecode Unit)Unit),执行部件执行部件(EU,Execution Unit)EU,Execution Unit)。n n2 2、总线接口部件总线接口部件(BIU,Bus Interface Unit)BIU,Bus Interface Unit)BIU BIU为为CPUCPU和系统之间的连接提供高速接口,其功和系统之间的连接提供高速接口,其功能是产生访问存储器和能是产生访问存储器和I/OI/O端口所必需的地址和命令信端口所必需的地址和命令信号等。号等。n n3 3、存储器管理部件、存储器管理部件(MMU,Memory Management Unit)MMU,Memory Management Unit)MMU MMU包含分段部件包含分段部件(SU,Segmentation Unit)SU,Segmentation Unit),分页分页部件部件(PU,Paging Unit)PU,Paging Unit)。SUSU能实现有效地址的计算,完能实现有效地址的计算,完成从逻辑地址到线性地址的转换,同时完成总线周期成从逻辑地址到线性地址的转换,同时完成总线周期分段的违法检查。分段的违法检查。PUPU提供对物理地址空间的管理,通提供对物理地址空间的管理,通过两级页面重定位机构,把由过两级页面重定位机构,把由SUSU产生的线性地址转换产生的线性地址转换成物理地址。若不使用成物理地址。若不使用PUPU,8038680386的线性地址即为物理的线性地址即为物理地址。地址。中央处理部件、总线接口部件和存储管理中央处理部件、总线接口部件和存储管理部件在部件在8038680386工作时的关系如下:工作时的关系如下:n n a a、总线接口部件总线接口部件BIUBIU通过系统总线同外部联通过系统总线同外部联系,它从存储管理部件系,它从存储管理部件MMUMMU接受已被选中的接受已被选中的地址,而当地址,而当IPUIPU中的中的1616个字节的指令预取队列个字节的指令预取队列有部分空字节时,有部分空字节时,BIUBIU就会去访问存储器,读就会去访问存储器,读出后续指令并填充指令预取队列。出后续指令并填充指令预取队列。n nb b、预取队列中的指令代码送入中央处理部件预取队列中的指令代码送入中央处理部件CPUCPU的的IDUIDU,经指令译码器译码后,可按指令经指令译码器译码后,可按指令的执行顺序进入已译码的指令队列,其中可存的执行顺序进入已译码的指令队列,其中可存放三条已译码的指令,它们排队等待进入放三条已译码的指令,它们排队等待进入EUEU去去执行。执行。n nc c、EUEU所需要的原始数据来自所需要的原始数据来自BIUBIU,而经过运而经过运算所得的结果将送回给寄存器或存储单元。算所得的结果将送回给寄存器或存储单元。由由EUEU运算所求得的有关寻址信息送入运算所求得的有关寻址信息送入MMUMMU。二、二、80386的存储器管理 80386有三种工作模式:实地址模式、保护虚地址方式和虚拟8086模式。实地址模式 在实地址模式下可把80386作为一个高速的8086来使用,当80386加电或复位后,就进入实地址工作模式。实地址模式下的物理地址生成 保护虚地址方式 保护虚地址方式是80386处理器的主要工作模式。在保护虚地址方式下,支持内存分页机制,提供了对虚拟内存的良好支持。另外,在保护虚地址方式下,80386处理器和80286一样,支持优先级机制。在保护虚地址方式下80386所有的32根地址线都可供寻址,物理寻址空间高达4 GB 虚拟虚拟80868086模式模式 这是既有保护功能又能执行8086代码的工作模式。采用和保护虚地址方式相同的工作原理,但在程序中指定的逻辑地址可以和8086一样进行解释。在这种模式下,运行8086程序就像在8086CPU上运行一样。虚拟86模式是为了在保护虚地址方式下执行8086程序而设置的,其内存的寻址方式和8086相同,也是可以寻址1MB的空间。三、保护虚地址方式下存储器管理三、保护虚地址方式下存储器管理 地址转换过程:1、由段寄存器储存的内容就是段选择符,段选择符的高13位有效、低三位设为0作为偏移量,再以CPU内部预先初始化好的GDTR中的内容作为基地址,就可获得相应的描述符。该描述符将存入CPU中描述符寄存器中。2、描述符中的段基地址(32位),同指令给出的32位偏移地址相加得到线性地址。3、如果分页,再通过分页机构进行变换,最后得到物理地址。如果不分页,线性地址就等于物理地址。保护虚地址方式下的地址变换 8038680386分页机制分页机制在在8038680386体体系系中中,定定义义4 4K K字字节节为为一一页页,并并规规定定每每页页的的开开始始地地址址都都能能被被4 4K K整整除除,即即页页地地址址在在4 4K K字字节节的的边边界界上上对对齐齐,这这样样4 4G G字字节节的的线线性性地地址址空空间间就就划划分分成成了了220220个个页页面面。8038680386分分页页机机制制管管理理的的对对象象就就是是这这些些空空间间大大小小为为一一页页的的存存储储块块,它它把把整整个个线线性性地地址址空空间间和和整整个个物物理理地地址址空空间间都都看看成成是是由由页页组组成成的的,线线性性地地址址中中的的任任何何一一页页都都可可以以映映射射到物理地址空间中的任何一页。到物理地址空间中的任何一页。8038680386采用了两级页表结构来实现分页机制采用了两级页表结构来实现分页机制寻址到某个页的页内存储单元一般要通过如下步骤:寻址到某个页的页内存储单元一般要通过如下步骤:1 1、首首先先通通过过段段描描述述符符获获得得3232值值段段基基址址它它与与虚虚地地址址指指示器中的示器中的3232位偏移地址相加,得到位偏移地址相加,得到3232位线性地址。位线性地址。2 2、把把3232位位线线性性地地址址分分成成三三个个部部分分,前前1010位位乘乘4 4指指向向页页目目录录表表的的位位移移量量、中中间间1010位位乘乘4 4指指向向页页表表的的位位移移量量,后后1212位位是是所所寻寻址址的的操操作作数数在在页页内内的的偏偏移移地地址址。因因此此8038680386系系统统中中的的页页目目录录表表和和页页表表可可含含有有1 1K K个个项项。每每个个项项为为3232位位,占占4 4个个字字节节,其其中中页页目目录录表表中中的的项项就就是是页页目目录录描描述述符符,表表示示页页表表的的首首地地址址,页页表表中中的的项项称称为为页页描描述述符符,表表示示操操作作数数所所在在页页的首地址。的首地址。3 3、由由页页目目录录表表的的位位移移量量查查表表得得页页目目录录描描述述符符的的物物理理地地址址,由由页页目目录录描描述述符符给给出出的的页页表表首首地地址址,结结合合页页表表的的位位移移量量查查表表得得操操作作数数所所在在页页的的首首地地址址。页页首首地地址址和和页页内内的的偏偏移移地址相加产生操作数的物理地址。地址相加产生操作数的物理地址。分页机制的寻址过程分页机制的寻址过程n n四、80386的保护机制 80386采用保护机制主要为了检查和防止低级别代码的越权操作,如访问不该访问的数据、端口以及调用高优先级的代码等。特权级特权级2访问的范围访问的范围 n n80386系统组成 80386的基本组成 12.2 80386的指令系统一、80386的寻址方式全面兼容8086,同时增添如下寻址方式1、带比例因子的变址寻址2、带比例因子的基址变址寻址3、带位移量,带比例因子的基址变址寻址n n二、指令系统二、指令系统uu1 1、数据传送指令数据传送指令数据传送指令数据传送指令 传送指令将字节、字、或者双字在寄存传送指令将字节、字、或者双字在寄存传送指令将字节、字、或者双字在寄存传送指令将字节、字、或者双字在寄存器与寄存器之间,寄存器与存储器之间,存器与寄存器之间,寄存器与存储器之间,存器与寄存器之间,寄存器与存储器之间,存器与寄存器之间,寄存器与存储器之间,存储器与存储器之间进行传送。这部分内容基储器与存储器之间进行传送。这部分内容基储器与存储器之间进行传送。这部分内容基储器与存储器之间进行传送。这部分内容基本与本与本与本与8086808680868086一致与一致与一致与一致与8086808680868086兼容,并增添兼容,并增添兼容,并增添兼容,并增添32323232位操作,位操作,位操作,位操作,如如如如MOVSX EAXMOVSX EAXMOVSX EAXMOVSX EAX,BXBXBXBXuu2 2 2 2、算术运算指令算术运算指令算术运算指令算术运算指令 算术运算指令包括加法、减法、乘法、除算术运算指令包括加法、减法、乘法、除算术运算指令包括加法、减法、乘法、除算术运算指令包括加法、减法、乘法、除法操作以及十进制加减法的结果调整等,与法操作以及十进制加减法的结果调整等,与法操作以及十进制加减法的结果调整等,与法操作以及十进制加减法的结果调整等,与8086808680868086的基本一样,的基本一样,的基本一样,的基本一样,uu3.位操作指令t t(1)移位指令 32位移位指令位移位指令 uu位测试指令 t tBT指令t tBTS指令t tBTC指令t tBTR指令 t tBSF指令t tBSR指令uu4.4.串操作指令串操作指令 t t(1 1)位串操作指令)位串操作指令 IBTSIBTS指令指令 XBTSXBTS指令指令 t t(2 2)串输出指令)串输出指令 OUTB/OUTW/OUTDOUTB/OUTW/OUTD指令指令 t t(3 3)串输入指令)串输入指令 INSB/INSW/INSDINSB/INSW/INSD指令指令 uu5.程序控制转移指令 基本同8086一样uu6.处理器控制指令 基本同8086一样uu7.7.系统寄存器的装入与存储指令系统寄存器的装入与存储指令 t tLMSWLMSW指令指令t t SMSWSMSW指令指令t t SIDTSIDT指令指令t t LGDTLGDT指令指令t t SGDTSGDT指令指令t t LLDTLLDT指令指令t t SLDTSLDT指令指令t t LTRLTR指令指令t tSTRSTR指令指令uu8.条件设置字节指令 uu9.保护属性检查指令t tLAR指令为装入访问权限指令t tLSL指令为装入段限制指令t tVERR指令作用为验证段的可读性t tVERW指令作用为验证段的可写性t tARPL指令作用为调整选择符的特权级。uu10.高级语言指令 t tBOUND指令作用为检查指定16位或32位寄存器数值是否在第二操作数所指定的两个存储器的界限内。t tENTER指令的作用是为过程参数建立一个堆栈区t tLEAVE指令的作用是撤销ENTER指令的动作。12.3 80386的存储器扩展 n n一、基本的存储器接口控制线 80386 CPU提供的与存储器接口相关的引脚主要有:uuD D3131D D0 0 数据线数据线uuA A3131A A2 2地址总线地址总线uu/BE0/BE3/BE0/BE3 字节控制线字节控制线uu/BS16BS16总线控制总线控制uuW/RW/R、M/IO M/IO 等总线周期定义信号等总线周期定义信号字节使能信号的功能字节使能信号的功能 n n二、基本的存储器接口uu 1.EPROM和80386接口 uu2.静态RAM和80386接口 n n三、三、高速缓冲存储器高速缓冲存储器 高高速速缓缓冲冲存存储储器器Cache是是位位于于CPU与与内内存存之之间间的的临临时时存存储储器器,它它的的工工作作速速度度数数倍倍于于主主存存,全全部部功功能能由由硬硬件件实实现现,并并且且对对程程序序员员是是透透明明的的。高高速速缓缓冲冲存存储储器器的的使使用用是是为为了了解解决决CPU与与内内存存存存取取速速度度不不匹匹配配的的问问题题,即即由由于于内内存存的的存存取取速速度度低低,从从而而影影响响了了CPU的的工工作作效效率率,利利用用Cache可以提高系统的工作效率。可以提高系统的工作效率。uu1.高速缓冲存储器结构 全关联高速缓冲存储器结构直接映射高速缓冲存储器结构直接映射高速缓冲存储器结构双路组关联高速缓冲存储器结构双路组关联高速缓冲存储器结构uu2.2.高速缓存的数据更新高速缓存的数据更新 t t(1 1)高速缓存内容的更新)高速缓存内容的更新 直写式系统直写式系统 回写式系统回写式系统 t t(2 2)高速缓存的一致性)高速缓存的一致性 总线监视总线监视 硬件透视硬件透视 不可高速缓存的存储器不可高速缓存的存储器 高速缓存卸出高速缓存卸出 n n四、Intel 82385高速缓存控制器 Intel 82385高速缓存控制器是Intel 80386高性能的外围接口芯片,集成了控制外部32KB的高速缓冲存储器所需的全部管理逻辑电路和高速缓冲目录存储器。82385内部结构方框图内部结构方框图 uu1、80386/82385系统的总线结构 80386/82385系统总线结构系统总线结构 uu2、82385工作模式t t主控模式t t从模式uu 3、82385总线监视功能 12.4 80386的输入/输出接口 80386与8086的I/O接口几乎完全一样,接口芯片、I/O指令等全盘继承8086的体系,没有十分明显的变动和功能方面的提升。80386 I/O端口的物理组织端口的物理组织 n n 多功能接口芯片多功能接口芯片82380 82380 82380 82380是专门为是专门为80386/8048680386/80486系统设计的高系统设计的高性能多功能超大规模集成性能多功能超大规模集成I/OI/O接口芯片。从接口芯片。从I/OI/O功能上看,它包括功能上看,它包括DMADMA控制器、中断控制控制器、中断控制器和定时器。除此之外,它还具有许多系统器和定时器。除此之外,它还具有许多系统支援功能,如等待状态控制、支援功能,如等待状态控制、DRAMDRAM刷新控制、刷新控制、系统复位控制等,因此又被称为集成系统外系统复位控制等,因此又被称为集成系统外围支援器件。围支援器件。82380系统结构功能图系统结构功能图 有如下功能有如下功能uu8 8个独立可编程个独立可编程DMADMA通道,允许使用通道,允许使用3232位总位总线宽度线宽度uu系统复位系统复位uu2020级可编程中断控制级可编程中断控制uu4 4个个1616位可编程定时位可编程定时/计数器计数器uuDRAMDRAM刷新控制刷新控制uu内部总线仲裁与控制内部总线仲裁与控制uu可编程等待状态控制可编程等待状态控制 12.5 80386的异常和中断及其处理 n n一、实模式下异常和中断的处理过程 n n二、二、保护虚地址方式下异常和中断的处理过程保护虚地址方式下异常和中断的处理过程 在保护虚地址方式下,中断或异常处理往在保护虚地址方式下,中断或异常处理往往从用户代码切换到操作系统代码中执行。由往从用户代码切换到操作系统代码中执行。由于保护虚地址方式下的代码有优先级之分,因于保护虚地址方式下的代码有优先级之分,因此出现了从优先级低的应用程序转移到优先级此出现了从优先级低的应用程序转移到优先级高的系统代码中的问题,如果优先级低的代码高的系统代码中的问题,如果优先级低的代码能够任意调用优先级高的代码,就相当于拥有能够任意调用优先级高的代码,就相当于拥有了高优先级代码的权限。为了使高优先级的代了高优先级代码的权限。为了使高优先级的代码能够安全地被低优先级的代码调用,保护虚码能够安全地被低优先级的代码调用,保护虚地址方式下增加了地址方式下增加了“门门”的概念。的概念。保护虚地址方式下的中断和异常处理保护虚地址方式下的中断和异常处理 uu异常种类 uu中断描述符表 uu中断响应和异常处理的步骤 12.6 精简指令集计算机(RISC)简介 n n RISC的基本原理n nRISC的特色及其难点所在 n nRISC的关键技术