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





《《微机原理与接口技术(80386-Pentium)》-第3章80486系统原理.ppt》由会员分享,可在线阅读,更多相关《《微机原理与接口技术(80386-Pentium)》-第3章80486系统原理.ppt(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 80486系统原理1 3.1 80486的体系结构80486微处理机是由提高了效率的80386微处理机、增强了性能的80387数值协同处理器、一个完整的片内Cache及其控制器组合而成。所以,80486芯片内的部件,都是经过优化处理的、集成度更高的部件。像与80386完全兼容的整数部件(IntegerUnit),与80387完全兼容的浮点部件PFU、一整套虚拟存储管理与保护系统、一个标准统一的规模大小为8K字节的程序和数据共用的统一的高速缓冲存储器Cache、总线监视以及一些多重处理支持设施等。为提高某些性能指标和增强功能。又新增了一些局部部件和6条80386没有的指令。23.1.1
2、寄存器组Intel为了在代码级向上兼容,80486微处理机在硬件设计上,在许多地方与80386微处理机都保持兼容。80486微处理机所具有的寄存器种类和数量都非常多。它的寄存器既有80386微处理机中使用的全部寄存器,又有80387数值协同处理器中使用的各种寄存器。80486微处理机的寄存器种类可分为以下几种:3(1)基本体系结构寄存器。其中包括以下4种:通用寄存器。指令指针寄存器。标志寄存器。段寄存器。(2)系统级寄存器。其中包括以下2种:控制寄存器。系统地址寄存器。(3)浮点寄存器。其中包括以下5种:数据寄存器。标记字寄存器。状态字寄存器。指令和数据指针寄存器。控制字寄存器。(4)调试和测
3、试寄存器41通用寄存器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)580486的通用寄存器 AX BX CX DX SI DI BP S
4、P AH AL BH BL CH CL DH DLEAXEBXECXEDXESIEDIEBIESPAXBXCXDX16 15031158 7062指令指针寄存器EIP指令时针寄存器是一个32位寄存器。在指令指针寄存器内存放的是下一条要执行指令的偏移量。这个偏移量是相对于目前正在运行的代码段寄存器CS而言。偏移量加上当前段的地址,形成了下一条指令的地址。当80486在 32位操作方式下进行时,就采用32位的指令指针寄存器。若80486工作在实模式、虚拟8086模式,或保护模式 286 兼容方式下时,就用16位指令指针寄存器,用于16位寻址操作。73标志寄存器EFLAGS80486的标志寄存器是一
5、个32位寄存器,如图3.3所示。它的作用是用来存放有关80486微处理机的状态标志信息、控制标志信息以及系统标志信息。80486的状态标志信息报告的是算术运算类指令在执行完之后的机器状态。控制标志仅有一个即DF标志,用来控制串操作过程中执行方向问题,即是给目标变址寄存器EDI、源变址寄存器EDI、源变址寄存器 ESI增值还是增负值(减值)问题。系统标志信息用来控制输入/输出、屏幕中断、调试、任务转换和控制保护模式与虚拟8086模式间的转换等操作。对绝大多数系统来说,若通过应用程序改变系统标志寄存器中的标志状态,都将引起一个异常事故出现。拿80486的标志寄存器与 80386的标志寄器进行比较后
6、会发现,二者几乎完全一样。880486的标志寄存器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 .CFPFZFAFSFTFIFDFOFNTRFVM0000IOPL1AC 对准校验AC9惟一差别是80486又新定义了一个AC 标志位(即标志寄存器的位18),也就是对准校验标志(Alignme
7、nt Checkout Flag)。若AC位为1时,80486就允许对没有对准的数据进行对准检查,既可以是对字对准进行检查,也可以对双字甚至四字的对准进行检查。若80486发现在进行存储器操作时出现没有按边界对准情况,就发生数据访问异常事故,并把这种异常事故编号为异常事故17。若AC位为0则不检查。如果对存储器进行读写操作时,使用的是一个未对准的地址,80486就允许产生异常事故信号。若AC=1,若出现了单字存储操作时使用的是奇地址,双字存储操作使用的不是双字边界内地址,或者在进行四字(8个字节)存储操作时使用的不是四字边界内地址,就会出现数据访问不对准异常。10标志寄存器中的位17是虚拟80
8、86方式位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。124段寄存器80486 配备有6个16位的段寄存器,段寄
9、存器也叫选择符(Selector)。它们的名字和用途与80386 的一样,其名称分别是:代码段寄存器 CS数据段寄存器 DS堆栈段寄存器 SS附加数据段寄存器 ES附加数据段寄存器 FS附加数据段寄存器 GS133.1.2 80486 CPU系统原理80486微处理机是由提高了效率的80386微处理机、增强了性能的80387数值协同处理器、一个完整的片内Cache及其控制器组合而成。所以,80486芯片内的部件,都是经过优化处理的、集成度更高的部件。像与80386完全兼容的整数部件(IntegerUnit),与80387完全兼容的浮点部件FPU(Floating Point Unit)、一整套
10、虚拟存储管理与保护系统、一个标准统一的规模大小为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的逻辑框图。图中的Ca
11、che部件、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一
12、体的Cache 指令预取部件32字节代码队列浮点部件寄存器组控制和保护部件控制ROM总线大小控制奇偶控制和产生地址驱动器写缓存数据总线收发器总线控制请求序列发生器成组控制Cache控制系统接口24位代码流32位基址/变址总线32位数据总线32位数据总线64位部件数据传送总线指令译码17初看起来,剩下来的逻辑部件与80386 CPU相应逻辑部件非常相似,但实际上还是有所差异。Intel把预取部件、指令译码部件,以及控制逻辑部件都进行了修订调整。同时把高速缓冲存储器Cache都集中到指令执行流水线中,使这些部件达到了最佳状态。经过改进之后,这几个关键部件能使一些最常用、最简单的指令在一个时钟周期完
13、成。指令执行速度达到了小型计算机水平。18图3.4示出的80486逻辑框图与前面的80386逻辑框图进行比较后我们会发现:80486芯片内较之80386又新添了三个新的子部件它们分别是浮点部件FPU、控制和保护部件和Cache部件。把浮点部件FPU也按排在80486的芯片之内,其目的就是要尽可能发挥片内Cache及其控制部件的作用,使存储器与CPU之间的接口操作速度提高了很多。与以前分立的80387浮点部件相比,把80387集成到80486芯片之内,的确增强了80486芯片的整体性能。不可小看控制和保护部件的作用,它可是整个芯片的控制中心。它的作用之一就是协助分段部件开展工作。它的主要功能是把
14、已经译好码的指令的微代码取到执行部件上去执行,以便最大限度地发挥指令流水线的作用。19预取部件的作用是;负责从高速缓冲存储器Cache内取后面一部分指令用于执行。如果在高速缓冲存储器Cache内没有找到所需的这批指令,它就到主存储器去取这部分内容,与此同时还会把Cache充满。控制和保护部件的作用是把指令转换成微代码指令,这些微代码指令越过内部总线直接进入各执行部件去执行。203.1.3 80486微体系结构80486微处理机的微体系结构包括有9个功能部件,它们分别是:总线接口部件。片内高速缓冲存储器Cache。指令预取部件。指令译码部件。控制部件。整数运算和数据通路。浮点部件。分段部件。分页
15、部件。213.1.3.1 总线接口部件总线接口部件与片内Cache外部总线接口实行的是逻辑接口连接。当访问Cache出现没命中时,或当需更改系统存储器内容时,或当需向Cache写某些信息时,就要通过总线接口从外部存储器系统中取出一批数据。总线接口对填充Cache时使用的成组传送方式以及为了遮掩向缓冲存储器写数据时出现的等待时间,总线接口都能提供技术细节上的支持。80486的总线接口还配备有包括总线监视功能设施。总线接口部件根据优先级高低协调数据的传送、指令的预取操作,并在处理机的内部部件和外部系统间提供控制。80486微处理机的总线接口部件拥有如下结构特征:2280486微处理机的总线接口部件
16、拥有如下结构特征:1地址收发器和驱动器在地址总线上,驱动器不仅驱动地址总线上的A2A31地址信号,同时也要驱动与地址信号相对应的字节允许信号BE0#BE3#。在A2A31这30个地址信号中的高序28个地址信号还是双向信号,这样就允许芯片外逻辑将Cache的无效地址驱动到处理机内。2数据总线收发器数据信号D0D31被驱动到微处理机的总线上,而接收数据信号也是从微处理机的总线上进行接收。3总线规模大小控制在80486微处理机上,外部数据总线规模大小一共有三种可供选用,它们分别是32位宽、16位宽和8位宽的数据总线。用外部逻辑的两个输入端来说明所使用的数据总线的宽度。在一个时钟周期挨着一个时钟周期的
17、基础上,总线规模大小是可以变化的。234写缓冲总线接口部件最多可允许四个写请求可以采用缓冲技术。由于采用了这项技术,可使多个芯片内部操作在不必等待写周期情况下,可以继续去完成它们在总线上的操作。5总线周期和总线控制总线接口部件的这一特征对总线周期的广泛选择和控制功能都给以支持。像成组传送、非成组传送(单个周期或多个周期的传送),总线的仲裁(其中包括总线请求、总线保持、总线保持确认、总线锁存、总线的伪锁存以及总线退出(Bus Backoff)等操作),像浮点运算出错信号的发送、中断和复位等操作都给以支持。6奇偶校验的生成和控制在向微处理机写时生成偶校验,而在进行读操作时则进行校验。而错误信号表示
18、的是读奇偶校验错。7Cache控制总线接口部件的Cache控制特征对Cache操作的控制和一致性操作提供支持。三个输入端允许外部系统对存放在片内的数据的一致性实施控制。两个专用的总线周期允许处理机对片外Cache的一致性实施控制。243.1.3.2 Cache3.1.3.2 Cache部件部件80486片内Cache中存放的是CPU最近要使用的,在主存储器中保存着指令、操作数以及其他一些数据的副本。若微处理机需用的信息正在Cache中,则称之为Cache命中。在Cache命中情况下,根本就不用总线读周期,直接到Cache读即可。若微处理机所需用的信息此时不在Cache内,则称之为Cache不命
19、中。这时微处理机就会一次传送16个字节,经一次或多次传送将微处理机所需用的信息从主存储器读到Cache中去,这种操作就是Cache行的填充(Cache Line Fills)。当出现了向Cache某些存储单元的内部写请求,实际上进行的是两项操作。一是Cache内容被修改,二是把写到Cache中的内容经由Cache同时也写到了主存储器中,这种写操作就是Cache的写贯穿(Cache Write-Throngh)。253.1.3.3 指令预取部件当总线接口部件不执行总线周期时就去执行一个取指令周期,指令预取部件就利用总线接口去预取指令。微处理机总是提前把指令预取到预取部件,很少出现微处理机在总线上
20、等待指令预取周期的现象。在指令预取周期读的是16个字节的指令模块,其起始地址比最后一次取指令所用地址在数值上是大的。起始地址是由预取部件生成的,其实,预取部件与分页部件之间是直接连接的。263.1.3.4 指令译码部件80486微处理机的指令译码部件的作用是,对由预取部件提供的指令流给以译码。80486采用的是两步流水线译码方案。这种方案在每一时钟周期都能提供一个译好码的指令。这种指令译码部件还提供了许多硬连线的微指令,在把第一个微代码从控制存储部件读出来之前,用这些微指令启动并控制相应操作。因此,在微代码控制之前就已开始执行译好码的指令。273.1.3.5 控制部件控制部件的作用是负责解释来
21、自指令译码部件的指令字和微代码。控制部件的输出控制着整数部件和浮点部件。又由于对存储器段的选择可以由指令给以定义,所以控制部件还控制着分段部件。控制部件内拥有微处理机的微代码。由于有许多指令都有惟一的一行微代码,80486微处理机平均起来每一个时钟就能执行一条指令。后面还会详细讨论怎样将指令装入流水线和怎样执行的。283.1.3.6 整数部件80486微处理机的主数据通路包括算术与逻辑运算部件ALU、桶形移位器、寄存器组以及标志寄存器等部件。为了支持流水线操作,可以用三个读端口和一个写端口来访问通用寄存器。80486微处理机芯片还配备有一专用逻辑,用来检测总线的争用情况,同时适时激励总线短程部
22、件(Bus Shorters)。在一个时钟周期内完成对数据的写操作,与此同时,在同一个时钟周期还可以作其他操作。这一点非常重要,像在执行完装入之后,紧接就要在下一个时钟周期执行后继操作那样,这种情况在80386、80486微处理机内经常发现。293.1.3.7 浮点部件80486微处理机配置的浮点部件执行的指令系统,与80387数值协同处理器所执行的是同一个指令系统。二者不同之处在于,80486的浮点部件还配备有一个下推寄存器堆栈,以及一个用来解释依据IEEE标准规定的32位、64位和80位数据格式的专用硬件。浮点部件的经由微处理机总线传送给外部系统的输出信号,可用来表示浮点部件所出现的错误信
23、息。外部系统本身也能对微处理机的这种输入信号加以确认,并可以表示微处理机将对浮点部件出现的错误不予理睬,继续它的正常的操作。303.1.3.8 分段部件80486微处理机的分段管理部件是片内整个存储管理功能的一个组成部分。其内配备有一个段描述符Cache以及用来计算有效地址和线性地址所必需的电路。分段部件还配备了一种叫做面向分段的执行逻辑,进行例行保护规则测试。为了加快分段装入操作,在一个时钟周期时间内可以从Cache传送出64位数据。所谓段,就是一个被保护的、独立的80486存储器内的存储地址空间。分段的目的就是在各应用程序间实行强制性的隔离、去调用恢复的过程、并对在程序设计中所出现的错误实
24、行隔离提供物质基础。分段部件的功能是把由程序提供的逻辑地址,转换成一种线性地址。313.1.3.9 分页部件80486的分页管理部件,在整个存储管理系统内采用的是二级分页管理机制。分页部件配备了一种包含有32个登记项的转换旁视缓冲存储器TLB。分页部件也需要一种面向分页的执行逻辑,用来对分页规则给以检测。使用分页部件可以使程序能够访问比实际可用的存储空间大很多的数据结构,所采用的手段就是将这种大的数据结构的一部分保存在主存储器之内,而另一部分则保存在磁盘上。分页部件将线性地址空间,分成其大小规模为4的若干页,也就是说80486微处理机将4K字节定义为一页,分页部件使用保存在存储器中的名为页表的
25、这种数据结构,将线性地址转换成物理地址。323.2 流水线操作在执行指令时,80486使用的指令流水线按每一个时钟周期执行一条指令的速度连续不断地执行。之所以有如此高的速率,其一是:Cache和流水线集成在一起了;其二是:流水线操作指令的译码也分两步完成。在进行整体设计时,力图实现使有的程序不仅能执行,而且还要很好地执行。并不需用编译程序来掩盖流水线中的任何低效现象。33译码的两个步骤是:第一步对指令进行分类。选择微程序ROM的入口点,并确定是否需要访问存储器。然后将操作数地址发送给地址计算部件。同时操作码则被发送给二级译码器和微代码ROM。第二步把宏指令扩展成一个或多个已全部译码的微指令。在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术80386-Pentium 微机 原理 接口 技术 80386 Pentium 80486 系统

限制150内