您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第二章 8086系统结构
河北经贸大学信息技术学院微机原理及接口技术第二章8086系统结构16位微处理器基本结构的特点:1)引脚功能复用2)单总线结构3)可控三态电路,避免总线冲突和信号串扰4)总线分时复用第二章8086系统结构2.18086CPU结构2.28088/8086的引脚及功能2.38086存储器的组织2.48086的系统配置2.58086CPU时序2.18086CPU结构一、8086CPU的内部结构二、8088/8086的寄存器结构标志寄存器ALUDIDHSPSIBPDLALAHBLBHCLCHESSSDSCS内部暂存器输入/输出控制电路1432EU控制系统20位16位8086总线指令队列总线接口单元执行单元6516位一、8086CPU的内部结构8086属第三代微处理器运算能力:数据总线:DB-16bit(8086)/8bit(8088)地址总线:AB-20bit内存寻址能力220=1MBESSSDSCS内部寄存器输入/输出控制电路143220位16位8086总线指令队列总线接口单元6516位IP组成:16位段寄存器,指令指针IP,20位地址加法器,总线控制逻辑,6字节指令队列。作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作数送EU单元去执行。工作过程:由段寄存器与IP形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。*当指令队列有2个或2个以上的字节空余时,BIU自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU重新取新地址中的指令代码,送入指令队列。*指令指针IP由BIU自动修改,IP总是指向下一条将要执行指令的地址。一、8086CPU的内部结构(续)1.总线接口部件BIU2.指令执行部件EU(ExectionUnit)组成:通用寄存器,标志寄存器,ALU,EU控制系统等。标志寄存器ALUDIDHSPSIBPDLALAHBLBHCLCHEU控制系统作用:负责分析指令和执行指令,完成指令的操作。工作过程:从队列中取得指令,进行译码,根据指令要求向EU内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O端口,则EU将操作数的偏移地址送给BIU,由BIU取得操作数送给EU。一、8086CPU的内部结构(续)BIU和EU的动作协调原则BIU和EU按以下流水线技术原则协调工作,共同完成所要求的任务:①每当8086的指令队列中有两个空字节,BIU就会自动把指令取到指令队列中。其取指的顺序是按指令在程序中出现的前后顺序。②每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者I/O端口,那么EU就会请求BIU,进入总线周期,完成访问内存或者I/O端口的操作;如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。如BIU正将某个指令字节取到指令队列中,则BIU将首先完成这个取指令的总线周期,然后再去响应EU发出的访问总线的请求。③当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。④在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列装入转向的另一程序段中的指令代码。BIU和EU的动作协调原则将8086/8088CPU分成二个独立的功能部件使二者能够并行工作,把取指令工作和分析指令、执行指令工作重叠进行,从而提高CPU的工作效力,加快指令的执行速度。指令队列可以被看成是一个特殊的RAM,它的工作原理是先进先出,写入的指令只能存放在队列尾,读出的指令是队列头存放的指令。EU和BIU之间就是通过指令队列联系起来,多数情况下,BIU在不停地向队列写入指令,而EU每执行完一条指令后,就向队列读取下一条指令。二者的动作既独立,又协调。取指令执行指令取指令执行指令取指令执行指令时间取指令取指令取指令取指令取指令得到数据等待执行执行执行BIUEU8位微处理器的执行顺序8086的执行顺序3.8086CPU结构的特点:减少了CPU为取指令而等待的时间,提高了CPU的运行速度。取指1执行1取指1取指4取指3取指2忙执行3执行4执行2忙忙忙执行1执行2执行3执行4取指2取指3取指4取指6取指5执行6执行5忙忙忙忙忙忙CPUBUSEUBIUBUStt一、8086CPU的内部结构(续)AHDHCLCHBLBHALDLAXBXCXDX累加器基数计数数?据SP(堆栈指针)BP(基数指针)DI(目的变址)SI(源变址)F(状态标志)IP(指令指针)DS(数据段)?CS(码段)ES(附加段)SS(堆栈段)?二、8088/8086的寄存器结构1.通用寄存器组3.2个控制寄存器4.4个段寄存器8088/8086有14个16位寄存器2.指针/变址寄存器*4个16位的数据寄存器(AX,BX,CX,DX)寄存器既可存放数据,也可存放地址。1.通用寄存器组寄存器操作AX字乘/除指令中作为累加器,字I/O指令中作为数据寄存器AL字节乘/除指令,字节I/O,转移,十进制运算AH字节乘/除指令(高八位/余数),XLAT指令中作为目的寄存器BX作为地址/基址寄存器CX串操作时,循环计数器CL变量位移或循环操作时用作计数器DX字乘/除指令(高十六位/余数),I/O间接寻址*既可作为16位寄存器也可作为8位寄存器。(例:AH,AL)8bit寄存器只能存放数据。*各寄存器隐含用法*通用性强,对任何指令都具有相同的功能二、8088/8086的寄存器结构(续)2.指针及变址寄存器(SP,BP,SI,DI)SP堆栈指针BP在间址寻址中作基址指针SI地址和变址寄存器,串操作时的源变址寄存器(隐含)DI地址和变址寄存器,串操作时的目的变址寄存器(隐含)*BP,SP寄存器称为指针寄存器,与SS联用。*DI,SI寄存器称为变址寄存器,与DS联用,在串指令中,SI,DI均为隐含寻址,此时,SI与DS联用,DI与ES联用。二、8088/8086的寄存器结构(续)3.指令指针和状态寄存器(1)指令指针IP是一个16位的专用寄存器。当BIU从内存中取出一条指令,自动修改IP,始终指向下一条将要执行的指令在现行代码段中的偏移量。8086/8088中的某些指令执行后会改变IP的内容,但用户不能编写指令直接改变IP的内容。*IP是指令地址在代码段内的偏移量(又称偏移地址),IP要与CS配合构成共同物理地址。(2)状态(标志)寄存器PSWPSW是一个16位的专用寄存器(6位状态位,3位控制位)存放运算结果的特征。二、8088/8086的寄存器结构(续)CF(进位标志):当运算结果的最高位(D7/D15)出现进位(借位)时,CF=1;PF(奇偶校验标志):当运算结果中“1”的个数为偶数时,PF=1;AF(辅助进位标志):当结果的D3向D4(低位字节)出现进位(借位)时,AF=1;ZF(零标志):当运算结果为零时,ZF=1;SF(符号标志):当运算结果的最高位D7/D15为1时,SF=1;OF(溢出标志):当运算结果超过机器所能表示的范围时,OF=1;OFDFIFTFSFZFAFPFCFD0D2D4D6D15D11D8(2)状态(标志)寄存器PSW二、8088/8086的寄存器结构(续)DF(方向标志):在字符串操作时,决定操作数地址调整的方向,DF=1,为递减;IF(中断允许标志):IF=1,允许CPU响应外部的可屏蔽中断;TF(陷阱标志):当TF=1,CPU每执行一条指令便自动产生一个内部中断,在中断服务程序中可检查指令执行情况。OFDFIFTFSFZFAFPFCFD0D2D4D6D15D11D8(2)状态(标志)寄存器PSW(续)二、8088/8086的寄存器结构(续)4.段寄存器*CS(代码段寄存器)指向当前的代码段,指令由此段取出;*SS(堆栈段寄存器)指向当前的堆栈段,栈操作的对象是该段存储单元的内容;8086/8088按信息存储的不同性质分为四类,分别由四个段寄存器存放该段的首地址,或称为段地址。二、8088/8086的寄存器结构(续)*DS(数据段寄存器)指向当前的数据段,该段中存放程序的操作数;*ES(附加段寄存器)指向当前的附加段,主要用于字符串数据的存放,也可以用于一般数据的存放。4.段寄存器二、8088/8086的寄存器结构(续)第二章8086系统结构2.18086CPU结构2.28088/8086的引脚及功能2.38086存储器的组织2.48086的系统配置2.58086CPU时序2.28088/8086的引脚及功能8086最小模式下的引脚定义8086最大模式下的引脚定义一、8086最小模式下的引脚定义8086/8088微处理器:40条引线双列直插(DIP)封装。8086/8088微处理器引线是对外前端总线及专用信号引线。8086/8088微处理器引线,在逻辑上可分为3类:地址总线信号、数据总线信号、控制总线信号。还有一些专用信号:电源、地、时钟。8086/8088采用引线分时复用技术,一条引线不同时间代表不同信号,解决引线不够问题。一、8086最小模式下的引脚定义(续)1.基本(共用)引脚信号AD15~AD0(I/O,三态):地址/数据分时复用引脚。A19/S6~A16/S3(O,三态):地址/状态分时复用引脚。其中S6~S3的状态信息可参教材P29~P30。BHE#/S7(O,三态):高字节允许/状态复用引脚NMI(In):非屏蔽中断请求线,上升边触发。INTR(I):可屏蔽中断请求线,高电平有效RD#(O,三态):读选通信号,低电平有效CLK(I):时钟信号,处理器基本定时脉冲.RESET(I):复位信号,高电平有效。READY(I):准备好信号,高电平有效。处理器与存储器及I/O接口速度同步的控制信号WR#(O,三态):写选通信号,低电平有效一、8086最小模式下的引脚定义(续)TEST#(I):测试信号,低电平有效。处理器执行WAIT指令的控制信号。MN/MX#(I):最大/最小工作模式选择信号。硬件设计者用来决定8086工作模式,MN/MX#=18086为最小模式,MN/MX#=08086为最大模式。VccGND(I):处理器的电源引脚一、8086最小模式下的引脚定义(续)2最小模式下的有关控制信号(24~31)INTA#(O):最小模式下的中断响应信号。ALE(O):地址锁存允许信号DEN#(O,三态):数据总线缓冲器允许信号DT/R#(O,三态):数据总线缓冲器方向控制信号。M/IO#(O,三态):存储器或I/O接口选择信号WR#(O,三态):写命令信号HOLD(In):总线请求信号HLDA(O):总线请求响应信号一、8086最小模式下的引脚定义(续)最大模式下的有关控制信号(24~31)QS1、QS0(O):指令队列状态信号,表明8086当前指令队列的状态,参见教材表2.5S2#,S1#,S0#(O,三态):最大模式总线周期状态信号。作为总线控制器8288的输入信号,8288输出各种控制信号,参见教材表2.4LOCK#(O,三态):总线封锁信号。信号有效时不允许其它主控部件占用总线。RQ#/GT#0,RQ#/GT#1(I/O):最大模式总线请求/总线响应信号,每条引线作为输入时是总线请求RQ信号,每条引线作为输出时是总线请求响应GT信号。二、8086最大模式下的引脚定义二、8086最大模式下的引脚定义(续)最大/最小工作模式区别最小NM/MX#=1单处理器直接形成控制信号最大NM/MX#=0多处理器由8288形成控制信号三、8088/8086的区别8088为准16位机:内部总线的数据宽度是16位的,外部数据总线宽度是8位的。其主要区别如下:(1)8088的指令队列长度是4个字节,指令队列中只要出现一个空闲字节时,BIU就会自动访问存储器,取指令来补充指令队列。(2)8088CPU的BI
本文标题:第二章 8086系统结构
链接地址:https://www.777doc.com/doc-3182858 .html