资源预览内容
第1页 / 共85页
第2页 / 共85页
第3页 / 共85页
第4页 / 共85页
第5页 / 共85页
第6页 / 共85页
第7页 / 共85页
第8页 / 共85页
第9页 / 共85页
第10页 / 共85页
亲,该文档总共85页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第3章 80486系统原理13.1 80486的体系结构 80486微处理机是由提高了效率的80386微处理机、增 强了性能的80387数值协同处理器、一个完整的片内 Cache及其控制器组合而成。所以,80486芯片内的部 件,都是经过优化处理的、集成度更高的部件。 像与80386完全兼容的整数部件(Integer Unit), 与80387完全兼容的浮点部件PFU、 一整套虚拟存储管理与保护系统、 一个标准统一的规模大小为8K字节的程序和数据共用 的统一的高速缓冲存储器Cache、总线监视以及一些 多重处理支持设施等。为提高某些性能指标和增强功 能。又新增了一些局部部件和6条80386没有的指令。2 3.1.1 寄存器组 Intel为了在代码级向上兼容,80486微处理机 在硬件设计上,在许多地方与80386微处理机 都保持兼容。 80486微处理机所具有的寄存器种类和数量都 非常多。它的寄存器既有80386微处理机中使 用的全部寄存器,又有80387数值协同处理器 中使用的各种寄存器。80486微处理机的寄存 器种类可分为以下几种:3 (1)基本体系结构寄存器。其中包括以下4种: 通用寄存器。 指令指针寄存器。 标志寄存器。 段寄存器。 (2)系统级寄存器。其中包括以下2种: 控制寄存器。 系统地址寄存器。 (3)浮点寄存器。其中包括以下5种: 数据寄存器。 标记字寄存器。 状态字寄存器。 指令和数据指针寄存器。 控制字寄存器。 (4)调试和测试寄存器4 1通用寄存器 80486共配置了8个32位的通用寄存器,如图3.1所示, 这8个通用寄存器与80386的完全一样,它们的名字和 用途分别为: EAX 用来作累加寄存器(Accumulator) EBX 用来作基址寄存器(Base) ECX 用来作计数寄存器(Count) EDX 用来作存放数据寄存器(Data) ESP 用来作堆栈指针(Stack pointer) EBP 用来作基址指针(Base pointer) EDI 用来作目标变址寄存器(Destination index) ESI 用来作源变址寄存器(Source index)5 80486的通用寄存器AXBXCXDXSIDIBPSPAH AL BH BLCH CLDH DLEAX EBX ECX EDX ESI EDI EBI ESPAX BX CX DX16 15031158 706 2指令指针寄存器EIP 指令时针寄存器是一个32位寄存器。 在指令指针寄存器内存放的是下一条要执行指令 的偏移量。这个偏移量是相对于目前正在运行的 代码段寄存器CS而言。偏移量加上当前段的地 址,形成了下一条指令的地址。 当80486在 32位操作方式下进行时,就采用32 位的指令指针寄存器。若80486工作在实模式、 虚拟8086模式,或保护模式 286 兼容方式下时 ,就用16位指令指针寄存器,用于16位寻址操 作。7 3标志寄存器EFLAGS 80486的标志寄存器是一个32位寄存器,如图3.3所 示。它的作用是用来存放有关80486微处理机的状态 标志信息、控制标志信息以及系统标志信息。 80486的状态标志信息报告的是算术运算类指令在执 行完之后的机器状态。控制标志仅有一个即DF标志 ,用来控制串操作过程中执行方向问题,即是给目标 变址寄存器EDI、源变址寄存器EDI、源变址寄存器 ESI增值还是增负值(减值)问题。系统标志信息用 来控制输入/输出、屏幕中断、调试、任务转换和控 制保护模式与虚拟8086模式间的转换等操作。 对绝大多数系统来说,若通过应用程序改变系统标志 寄存器中的标志状态,都将引起一个异常事故出现。 拿80486的标志寄存器与 80386的标志寄器进行比较 后会发现,二者几乎完全一样。8 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)17 16 15 140123456789101121331.C FP FZ FA FS FT FI FD FO FN TR FV M0000IO P L1AC 对准校验A C9 惟一差别是80486又新定义了一个AC 标志位(即标志 寄存器的位18),也就是对准校验标志(Alignment Checkout Flag)。 若AC位为1时,80486就允许对没有对准的数据进行 对准检查,既可以是对字对准进行检查,也可以对双 字甚至四字的对准进行检查。若80486发现在进行存 储器操作时出现没有按边界对准情况,就发生数据访 问异常事故,并把这种异常事故编号为异常事故17。 若AC位为0则不检查。 如果对存储器进行读写操作时,使用的是一个未对准 的地址,80486就允许产生异常事故信号。若AC=1, 若出现了单字存储操作时使用的是奇地址,双字存储 操作使用的不是双字边界内地址,或者在进行四字(8 个字节)存储操作时使用的不是四字边界内地址,就 会出现数据访问不对准异常。 10 标志寄存器中的位17是虚拟8086方式位 VM 标志寄存器中的位16是恢复标志位RF 标志寄存器中的位16是恢复标志位RF 标志寄存器中的位14是嵌套任务标志NT 标志寄存器中的位14是嵌套任务标志NT 标志寄存器中的位13、位12是输入/输出 特权级标志位IOPL 溢出标志位11F11 标志寄存器中的位10是定向标志DF位 标志寄存器中的位9是允许中断标志位IF 标志寄存器中的位8是自陷标志位TF 标志寄存器中的位7是符号标志位SF 标志寄存器中的位6是零标志位ZF 标志寄存器中的位4是辅助进位标志AF 标志寄存器中的位2是奇偶校验标志位PF 。 标志寄存器中的位0是进位标志位CF。 12 4段寄存器 80486 配备有6个16位的段寄存器,段寄存器 也叫选择符 (Selector)。它们的名字和用途 与80386 的一样,其名称分别是: 代码段寄存器 CS 数据段寄存器 DS 堆栈段寄存器 SS 附加数据段寄存器 ES 附加数据段寄存器 FS 附加数据段寄存器 GS133.1.2 80486 CPU系统原理 80486微处理机是由提高了效率的80386微处理 机、增强了性能的80387数值协同处理器、一个 完整的片内Cache及其控制器组合而成。所以, 80486芯片内的部件,都是经过优化处理的、集 成度更高的部件。像与80386完全兼容的整数部 件(Integer Unit),与80387完全兼容的浮点 部件FPU(Floating Point Unit)、一整套虚拟存 储管理与保护系统、一个标准统一的规模大小为 8K字节的程序和数据共用的统一的高速缓冲存 储器Cache、总线监视以及一些多重处理支持设 施等。为提高某些性能指标和增强功能。又新增 了一些局部部件和6条80386没有的指令。 14 在设计80486微处理时,围绕以下4个目标展开 工作: (1)保证与80386微处理机及80387数值协同处 理器软件完全兼容。 (2)在相同时钟频率下,要比由80386和80387 组成的系统的性能高23倍。 (3)扩充IBM PC 80386体系结构标准,使 80486带有小型计算机的某些特征。 (4)增加整个系统的集成度。15 图3.4示出80486微处理机CPU的逻辑框图 。 图中的Cache部件、8K字节的统一Cache 、以及浮点部件FPU和EP寄存器组在以 80386为基础的系统内属于不同的独立芯 件,并不在80386 CPU芯片之内,而在 80486中这些部件变成了80486 CPU的一 个组成部分。 这两个新集成到80486 CPU内的部件,一 个是浮点部件FPU,它有效地提高了浮点 操作性能;另一个是指令和数据共用的高 速缓冲存储器Cache。16 图3.4 80486结构逻辑图32位线性地址总线32位位移总线微指令总线已译码 指令页属性20位物 理地址32位读 数据32位写 数据32位系 统地址桶形移位器寄存器组ALU分段部件描述符 寄存器段界和属性 PLA分页部件TLBCache 部件8KB一体 的Cache指令 预取部件32字节 代码队列浮点部件寄存器组控制和 保护部件控制ROM总线大小 控制奇偶控制 和产生地址驱 动器写缓存数据总线 收发器总线控制 请求序列 发生器成组控制 Cache控制系 统 接 口24位代 码流32位 基址/ 变址 总线32位数据总线32位数据总线64位部件数据传送总线指令译码17 初看起来,剩下来的逻辑部件与80386 CPU相 应逻辑部件非常相似,但实际上还是有所差异 。Intel把预取部件、指令译码部件,以及控制 逻辑部件都进行了修订调整。同时把高速缓冲 存储器Cache都集中到指令执行流水线中,使 这些部件达到了最佳状态。经过改进之后,这 几个关键部件能使一些最常用、最简单的指令 在一个时钟周期完成。指令执行速度达到了小 型计算机水平。18 图3.4示出的80486逻辑框图与前面的80386逻辑框图进 行比较后我们会发现: 80486芯片内较之80386又新添了三个新的子部件 它们分别是浮点部件FPU、 控制和保护部件和Cache部件。 把浮点部件FPU也按排在80486的芯片之内,其目的就 是要尽可能发挥片内Cache及其控制部件的作用,使存 储器与CPU之间的接口操作速度提高了很多。与以前分 立的80387浮点部件相比,把80387集成到80486芯片 之内,的确增强了80486芯片的整体性能。不可小看控 制和保护部件的作用,它可是整个芯片的控制中心。它 的作用之一就是协助分段部件开展工作。它的主要功能 是把已经译好码的指令的微代码取到执行部件上去执行 ,以便最大限度地发挥指令流水线的作用。 19 预取部件的作用是;负责从高速缓冲存储器 Cache内取后面一部分指令用于执行。如果在高 速缓冲存储器Cache内没有找到所需的这批指令 ,它就到主存储器去取这部分内容,与此同时还 会把Cache充满。 控制和保护部件的作用是把指令转换成微代码指 令,这些微代码指令越过内部总线直接进入各执 行部件去执行。20 3.1.3 80486微体系结构 80486微处理机的微体系结构包括有9个功能部件, 它们分别是: 总线接口部件。 片内高速缓冲存储器Cache。 指令预取部件。 指令译码部件。 控制部件。 整数运算和数据通路。 浮点部件。 分段部件。 分页部件。21 3.1.3.1 总线接口部件 总线接口部件与片内Cache外部总线接口实行的是逻 辑接口连接。当访问Cache出现没命中时,或当需更 改系统存储器内容时,或当需向Cache写某些信息时 ,就要通过总线接口从外部存储器系统中取出一批数 据。 总线接口对填充Cache时使用的成组传送方式以及为 了遮掩向缓冲存储器写数据时出现的等待时间,总线 接口都能提供技
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号