《微机原理与接口技术(80386-Pentium)》-第3章80486系统原理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第3章80486系统原理23.180486的体系结构80486微处理机是由提高了效率的80386微处理机、增强了性能的80387数值协同处理器、一个完整的片内Cache及其控制器组合而成。所以,80486芯片内的部件,都是经过优化处理的、集成度更高的部件。像与80386完全兼容的整数部件(IntegerUnit),与80387完全兼容的浮点部件PFU、一整套虚拟存储管理与保护系统、一个标准统一的规模大小为8K字节的程序和数据共用的统一的高速缓冲存储器Cache、总线监视以及一些多重处理支持设施等。为提高某些性能指标和增强功能。又新增了一些局部部件和6条80386没有的指令。33.1.1寄存器组Intel为了在代码级向上兼容,80486微处理机在硬件设计上,在许多地方与80386微处理机都保持兼容。80486微处理机所具有的寄存器种类和数量都非常多。它的寄存器既有80386微处理机中使用的全部寄存器,又有80387数值协同处理器中使用的各种寄存器。80486微处理机的寄存器种类可分为以下几种:4(1)基本体系结构寄存器。其中包括以下4种:①通用寄存器。②指令指针寄存器。③标志寄存器。④段寄存器。(2)系统级寄存器。其中包括以下2种:①控制寄存器。②系统地址寄存器。(3)浮点寄存器。其中包括以下5种:①数据寄存器。②标记字寄存器。③状态字寄存器。④指令和数据指针寄存器。⑤控制字寄存器。(4)调试和测试寄存器51.通用寄存器80486共配置了8个32位的通用寄存器,如图3.1所示,这8个通用寄存器与80386的完全一样,它们的名字和用途分别为:EAX用来作累加寄存器(Accumulator)EBX用来作基址寄存器(Base)ECX用来作计数寄存器(Count)EDX用来作存放数据寄存器(Data)ESP用来作堆栈指针(Stackpointer)EBP用来作基址指针(Basepointer)EDI用来作目标变址寄存器(Destinationindex)ESI用来作源变址寄存器(Sourceindex)680486的通用寄存器AXBXCXDXSIDIBPSPAHALBHBLCHCLDHDLEAXEBXECXEDXESIEDIEBIESPAXBXCXDX16150311587072.指令指针寄存器EIP指令时针寄存器是一个32位寄存器。在指令指针寄存器内存放的是下一条要执行指令的偏移量。这个偏移量是相对于目前正在运行的代码段寄存器CS而言。偏移量加上当前段的地址,形成了下一条指令的地址。当80486在32位操作方式下进行时,就采用32位的指令指针寄存器。若80486工作在实模式、虚拟8086模式,或保护模式286兼容方式下时,就用16位指令指针寄存器,用于16位寻址操作。83.标志寄存器EFLAGS80486的标志寄存器是一个32位寄存器,如图3.3所示。它的作用是用来存放有关80486微处理机的状态标志信息、控制标志信息以及系统标志信息。80486的状态标志信息报告的是算术运算类指令在执行完之后的机器状态。控制标志仅有一个即DF标志,用来控制串操作过程中执行方向问题,即是给目标变址寄存器EDI、源变址寄存器EDI、源变址寄存器ESI增值还是增负值(减值)问题。系统标志信息用来控制输入/输出、屏幕中断、调试、任务转换和控制保护模式与虚拟8086模式间的转换等操作。对绝大多数系统来说,若通过应用程序改变系统标志寄存器中的标志状态,都将引起一个异常事故出现。拿80486的标志寄存器与80386的标志寄器进行比较后会发现,二者几乎完全一样。980486的标志寄存器CF:进位标志(S)AF:辅助进位标志(S)PF:奇偶校验标志(S)ZF:零标志(S)SF:符号标志(S)TF:自陷标志(X)IF:允许中断标志(X)DF:方向标志(C)OF:溢出标志(S)IOPL:I/O特权级标志(X)NT:嵌套任务标志(X)RF:恢复标志(X)VM:虚拟8086模式(X)171615140123456789101121331……….CFPFZFAFSFTFIFDFOFNTRFVM0000IOPL1AC对准校验AC10惟一差别是80486又新定义了一个AC标志位(即标志寄存器的位18),也就是对准校验标志(AlignmentCheckoutFlag)。若AC位为1时,80486就允许对没有对准的数据进行对准检查,既可以是对字对准进行检查,也可以对双字甚至四字的对准进行检查。若80486发现在进行存储器操作时出现没有按边界对准情况,就发生数据访问异常事故,并把这种异常事故编号为异常事故17。若AC位为0则不检查。如果对存储器进行读写操作时,使用的是一个未对准的地址,80486就允许产生异常事故信号。若AC=1,若出现了单字存储操作时使用的是奇地址,双字存储操作使用的不是双字边界内地址,或者在进行四字(8个字节)存储操作时使用的不是四字边界内地址,就会出现数据访问不对准异常。11标志寄存器中的位17是虚拟8086方式位VM标志寄存器中的位16是恢复标志位RF标志寄存器中的位16是恢复标志位RF标志寄存器中的位14是嵌套任务标志NT标志寄存器中的位14是嵌套任务标志NT标志寄存器中的位13、位12是输入/输出特权级标志位IOPL溢出标志位11F12标志寄存器中的位10是定向标志DF位标志寄存器中的位9是允许中断标志位IF标志寄存器中的位8是自陷标志位TF标志寄存器中的位7是符号标志位SF标志寄存器中的位6是零标志位ZF标志寄存器中的位4是辅助进位标志AF标志寄存器中的位2是奇偶校验标志位PF。标志寄存器中的位0是进位标志位CF。134.段寄存器80486配备有6个16位的段寄存器,段寄存器也叫选择符(Selector)。它们的名字和用途与80386的一样,其名称分别是:代码段寄存器CS数据段寄存器DS堆栈段寄存器SS附加数据段寄存器ES附加数据段寄存器FS附加数据段寄存器GS143.1.280486CPU系统原理80486微处理机是由提高了效率的80386微处理机、增强了性能的80387数值协同处理器、一个完整的片内Cache及其控制器组合而成。所以,80486芯片内的部件,都是经过优化处理的、集成度更高的部件。像与80386完全兼容的整数部件(IntegerUnit),与80387完全兼容的浮点部件FPU(FloatingPointUnit)、一整套虚拟存储管理与保护系统、一个标准统一的规模大小为8K字节的程序和数据共用的统一的高速缓冲存储器Cache、总线监视以及一些多重处理支持设施等。为提高某些性能指标和增强功能。又新增了一些局部部件和6条80386没有的指令。15在设计80486微处理时,围绕以下4个目标展开工作:(1)保证与80386微处理机及80387数值协同处理器软件完全兼容。(2)在相同时钟频率下,要比由80386和80387组成的系统的性能高2~3倍。(3)扩充IBMPC80386体系结构标准,使80486带有小型计算机的某些特征。(4)增加整个系统的集成度。16图3.4示出80486微处理机CPU的逻辑框图。图中的Cache部件、8K字节的统一Cache、以及浮点部件FPU和EP寄存器组在以80386为基础的系统内属于不同的独立芯件,并不在80386CPU芯片之内,而在80486中这些部件变成了80486CPU的一个组成部分。这两个新集成到80486CPU内的部件,一个是浮点部件FPU,它有效地提高了浮点操作性能;另一个是指令和数据共用的高速缓冲存储器Cache。17图3.480486结构逻辑图32位线性地址总线32位位移总线微指令总线已译码指令页属性20位物理地址32位读数据32位写数据32位系统地址桶形移位器寄存器组ALU分段部件描述符寄存器段界和属性PLA分页部件TLBCache部件8KB一体的Cache指令预取部件32字节代码队列浮点部件寄存器组控制和保护部件控制ROM总线大小控制奇偶控制和产生地址驱动器写缓存数据总线收发器总线控制请求序列发生器成组控制Cache控制系统接口24位代码流32位基址/变址总线32位数据总线32位数据总线64位部件数据传送总线指令译码18初看起来,剩下来的逻辑部件与80386CPU相应逻辑部件非常相似,但实际上还是有所差异。Intel把预取部件、指令译码部件,以及控制逻辑部件都进行了修订调整。同时把高速缓冲存储器Cache都集中到指令执行流水线中,使这些部件达到了最佳状态。经过改进之后,这几个关键部件能使一些最常用、最简单的指令在一个时钟周期完成。指令执行速度达到了小型计算机水平。19图3.4示出的80486逻辑框图与前面的80386逻辑框图进行比较后我们会发现:80486芯片内较之80386又新添了三个新的子部件它们分别是浮点部件FPU、控制和保护部件和Cache部件。把浮点部件FPU也按排在80486的芯片之内,其目的就是要尽可能发挥片内Cache及其控制部件的作用,使存储器与CPU之间的接口操作速度提高了很多。与以前分立的80387浮点部件相比,把80387集成到80486芯片之内,的确增强了80486芯片的整体性能。不可小看控制和保护部件的作用,它可是整个芯片的控制中心。它的作用之一就是协助分段部件开展工作。它的主要功能是把已经译好码的指令的微代码取到执行部件上去执行,以便最大限度地发挥指令流水线的作用。20预取部件的作用是;负责从高速缓冲存储器Cache内取后面一部分指令用于执行。如果在高速缓冲存储器Cache内没有找到所需的这批指令,它就到主存储器去取这部分内容,与此同时还会把Cache充满。控制和保护部件的作用是把指令转换成微代码指令,这些微代码指令越过内部总线直接进入各执行部件去执行。213.1.380486微体系结构80486微处理机的微体系结构包括有9个功能部件,它们分别是:①总线接口部件。②片内高速缓冲存储器Cache。③指令预取部件。④指令译码部件。⑤控制部件。⑥整数运算和数据通路。⑦浮点部件。⑧分段部件。⑨分页部件。223.1.3.1总线接口部件总线接口部件与片内Cache外部总线接口实行的是逻辑接口连接。当访问Cache出现没命中时,或当需更改系统存储器内容时,或当需向Cache写某些信息时,就要通过总线接口从外部存储器系统中取出一批数据。总线接口对填充Cache时使用的成组传送方式以及为了遮掩向缓冲存储器写数据时出现的等待时间,总线接口都能提供技术细节上的支持。80486的总线接口还配备有包括总线监视功能设施。总线接口部件根据优先级高低协调数据的传送、指令的预取操作,并在处理机的内部部件和外部系统间提供控制。80486微处理机的总线接口部件拥有如下结构特征:2380486微处理机的总线接口部件拥有如下结构特征:1.地址收发器和驱动器在地址总线上,驱动器不仅驱动地址总线上的A2~A31地址信号,同时也要驱动与地址信号相对应的字节允许信号BE0#~BE3#。在A2~A31这30个地址信号中的高序28个地址信号还是双向信号,这样就允许芯片外逻辑将Cache的无效地址驱动到处理机内。2.数据总线收发器数据信号D0~D31被驱动到微处理机的总线上,而接收数据信号也是从微处理机的总线上进行接收。3.总线规模大小控制在80486微处理机上,外部数据总线规模大小一共有三种可供选用,它们分别是32位宽、16位宽和8位宽的数据总线。用外部逻辑的两个输入端来说明所使用的数据总线的宽度。在一个时钟周期挨着一个时钟周期的基础上,总线规模大小是可以变化的。244.写缓冲总线接口部件最多可允许四个写请求可以采用缓冲技术。由于采用了这项技术,可使多个芯片内部操作在不必等待写周期情况下,可以继续去完成它们在总线上的操作。5.总线周期和总线控制总线接口部件的这一特征对总线周

1 / 85
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功