微机原理及其应用.ppt

上传人:wuy****n92 文档编号:79053330 上传时间:2023-03-19 格式:PPT 页数:89 大小:1.06MB
返回 下载 相关 举报
微机原理及其应用.ppt_第1页
第1页 / 共89页
微机原理及其应用.ppt_第2页
第2页 / 共89页
点击查看更多>>
资源描述

《微机原理及其应用.ppt》由会员分享,可在线阅读,更多相关《微机原理及其应用.ppt(89页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、封面8086微处理器第2章 Intel 8086微处理器的结构微处理器的结构 Intel8086CPUIntel8086CPU的总线周期与的总线周期与 时序时序 本章内容本章内容本章内容本章内容 掌掌握握Intel 8086系系统统的的构构成成和和工工作作原理原理 重重点点掌掌握握Intel 8086微微处处理理器器的的结结构构学习目的学习目的学习目的学习目的 掌握时序的概念掌握时序的概念 掌握基本的总线周期时序掌握基本的总线周期时序2.1 8086微处理器的结构微处理器的结构 8086CPU是采用HMOS工艺Intel系列16位微处理器,其基本特性如下:双列直插、40引脚 单一+5V电源、时

2、钟频率:5MHz10MHz 16位外部数据总线、20位外部地址总线,可寻址1MB地址空间 并行流水线处理结构 8086CPU支持多处理器系统,为提高系统的数据处理能力或提高CPU的效率,可以与数值协处理器8087或其他协处理器一起,方便地构成多处理器系统。20位AH ALBH BLCH CLDH DLSPBPDISIALU运算寄存器标志执行部件控制电路16位CS DS SS ESIP 内部暂存器8位1 2 3 4 5 6执行部件 (EU)输入/输出控制电路16位 外部总线 指令队列缓冲器总线接口部件(BIU)通用寄存器地址加法器2.1.1 8086的功能结构的功能结构8086CPU的结构框图8

3、086从功能结构来讲,分为两大部分,即总总线线接接口口部部件件BIU(Bus Interface Unit)和执执行行部件部件EU(Execution Unit)。1.BIU部件部件由段寄存器段寄存器、指令指针指令指针、地址加法器地址加法器、指令队列缓冲器指令队列缓冲器和控制电路控制电路等部分组成。(1)4个16位段地址寄存器及一个20位物理地址加法器8086CPU有20位外部地址总线,对应的存储器地址空间范围是1MB。CPU寻找某个地址单元时,需要给出该单元的20位地址,该地址称为存储器的物理地址。由于CPU内部的所有寄存器,包括段寄存器,都是16位的,用它们作地址寄存器时,只能直接寻址到6

4、4KB地址范围。故在8086CPU中采用了分段技术对存储空间进行采用了分段技术对存储空间进行管理。管理。CPU将lMB的存储空间分成若干个逻辑段,每个逻辑段对应一片连续的存储空间,其长度任意,但最大不超过64KB。当要访问逻辑段内的某一单元时,只要给出逻辑段的起始地址以及该单元与起始地址之间的距离(又称偏移量,或偏移地址,以字节数计量),即可确定其物理地址。.图2.2 逻辑段与段内寻址逻辑段可在整个lMB存储空间内浮动,即可重定位在不同的位置,但逻辑段的起始地址必须能被16整除,即段起始地址必须是XXXX0H的形式。段起始地址的高16位称为段基址,它在访问存储器之前被置于某个段地址寄存器中。C

5、PU访问存储器时,根据所执行的操作,选择某个段寄存器,将其中的内容左移4位形成20位地址的高16位(低4位自动添0),然后通过20位地址加法器再与16位偏移量相加,形成对应的物理地址,如图2.3所示。图2.3 8086物理地址的形成 段寄存器值 000020位物理地址19 015 015 0偏移地址加法器16 位 4位 按不同的用途,段地址寄存器可分为代码段寄存器CS、数据段寄存器DS、附加段寄存器ES和堆栈段寄存器SS,它们分别用于存放当前代码段、数据段、附加段和堆栈段的段基址。存储器采用分段结构,方便了CPU对存储器的访问。当所访问的存储器处于同一逻辑段时,可以不改变段寄存器的值,只需改变

6、段内的偏移地址,此即段内寻址。当需要改变段寄存器的值寻找新的地址时,称为段间寻址(2)16位指令指针IPIP用于存放下一条要从内存中取出来的指令的有效地址EA(即偏移地址),在取出指令时通常进行IP+1IP的操作,但在执行转移指令、调用指令时,装入IP中的是相应的转移目的地址。由段基址和偏移地址两部分构成了存储器的逻辑地址,如:取指令时CS:IP=3000:2000H,CS:IP=3100:1000H等,这两个不同的逻辑地址对应的物理地址都是32000H。不同的逻辑地址可能对应同一个物理地址不同的逻辑地址可能对应同一个物理地址。用于按先后次序存放待执行的指令,供EU按顺序取去执行。(4)总线控

7、制逻辑 总线控制逻辑负责产生并发出总线控制信产生并发出总线控制信号号,实现对存储器和I/O端口的读写操作。读写操作。(3)6字节的指令队列 2.执行部件EU EU的主要功能是执行指令,EU由以下几个部分组成:(1)算术逻辑单元ALU ALU用于完成16位或8位的二进制数的算术逻辑运算 (2)标志寄存器FR FR用来反映最近一次运算结果的状态以及存放控制标志运算结果的状态以及存放控制标志 (3)通用寄存器组 包括4个数据寄存器AX、BX、CX、DX,4个专用寄存器SP、BP、DI、SI。(4)EU控制器 从BIU中的指令队列获取指令,经过指令译码电路形成各种定时控制信号,向各功能部件发送相应的控

8、制命令,以完成每条指令所规定的操作。完成每条指令所规定的操作。3.BIU和EU的协调动作 8086CPU中,BIU和EU是同时工作,但并不是完全同步的。BIU负责从内存中取出指令,并送到指令队列供EU执行;BIU必须保证指令队列始终有指令可供执行,当指令队列有2个字节的空余时,BIU将自动取指令到指令队列。EU直接从指令队列中取指令执行,由于指令队列中至少有一个以上的指令字节,EU就可以节省节省因取指令而访问内存的等待时间等待时间 8086与传统微处理器指令执行过程比较与传统微处理器指令执行过程比较取指3执行3取指4执行2取指2执行1取指1 传统微处理器的执行方式传传统统微微处处理理器器取取指

9、指与与执执行行串串行行进进行行,CPU的工作效率低。的工作效率低。取数据取指5取指4取指3取指2取指1BIU执行4执行3执行2执行1等待EU 8086的指令执行方式8086CPU取取指指与与执执行行并并行行进进行行,大大大大减减少少了了等等待待取取指指令令所所需需时时间间,提提高高了了CPU的的工作效率。工作效率。2.1.2 2.1.2 8086CPU8086CPU的寄存器结构的寄存器结构的寄存器结构的寄存器结构 8086CPU 内部寄存器DLDHCLCHBLBHALAH通用寄存器AXBXCXDXSPBP SI DI数据寄存器CSDSSSESIPFLAG变址寄存器指针寄存器堆栈指针基数指针源变

10、址目的变址指令指针状态标志代码段数据段堆栈段附加段段寄存器控制寄存器1.1.通用寄存器组通用寄存器组(1)数据寄存器数据寄存器包括AX、BX、CX、DX等4个1616位位寄存器,主要用来保存算术、逻辑运算的操作数、中间结果或地址。它们既可以作为16位寄存器使用,也可以将每个寄存器高字节和低字节分开作为两个独立的两个独立的8 8位位寄存器使用,从而得到8 8个个8 8位位寄存器AL、BL、CL、DL、AH、BH、CH、DH等,可用于8位数据的运算和处理。(2)指针寄存器 堆栈指针SP中存放的是当前堆栈段中栈顶的偏移地址BP是访问堆栈时的基址寄存器,存放的是堆栈中某一存储单元的偏移地址。SI和DI

11、是变址寄存器,分别为访问数据段提供操作数的偏移地址。在串操作指令中规定:SI存放源操作数(即源串)的偏移地址,故称之为源变址寄存器;DI存放目的操作数(目的串)的偏移地址,故称之为目的变址寄存器,二者不能混用。以上8个16位通用寄存器在一般情况下都具有通用性,但是为了缩短指令代码的长度,某些通用寄存器又规定了专门的用途。例如,在字符串处理指令中约定必须用CX作为计数器存放串的长度。这样,在指令中就不必给出CX寄存器名,缩短了指令代码的长度,简化了指令的书写形式,这种使用方法称为“隐含寻址”。隐含寻址隐含寻址实际上就是在指令中使用了一些规定的通用寄存器,且这些通用寄存器不直接在指令中体现体现出来

12、。表2.1列出了8086CPU中各通用寄存器的专门用途和隐含性质四个段寄存器分别用于CPU在访问内存时作为段基址,但某次访问时究竟是取哪一个段寄存器的内容,则要取决于CPU当前执行什么操作。对于取指操作,是选取CS段寄存器;对于存取数据操作,是选取DS段寄存器;对于压栈和弹栈操作,是选取SS段寄存器;在对目的串操作时,是选取ES段寄存器。2.段寄存器组上述各种操作的段寄存器选取规则选取规则称为基本段约定基本段约定,采用基本段约定的最大好处是,在指令中就不必给出段寄存器名,可以缩短缩短指令代码的长度,简化简化指令的书写形式。8086CPU允许在某条指令中突破突破基本段约定,如存取数据的基本段约定

13、为数据段,但在某条指令完全可以临时改变为代码段、或附加段、或堆栈段,这种情况称为段超越段超越。8086的基本段约定和允许的段超越如表2.2所示。表2.2 8086的基本段约定和允许的段超越 CPU执行的操作基本段约定允许修改的段偏移地址取指令CS不允许修改IP压栈、弹栈SS不允许修改SP源串DSCS、ES、SSSI目的串ES不允许修改DI通用数据读写DSCS、ES、SS有效地址EABP作间址寄存器SSCS、DS、ES有效地址EA3.控制寄存器控制寄存器(1)指令指针指令指针IP IP(Instruction Pointer)指指令令指指针针与与PC类类似似,但但有区别:有区别:a.PC是是指指

14、向向下下一一条条即即将将要要执执行行的的指指令令,而而IP一一般般是指向下一次要取出的指令。是指向下一次要取出的指令。b.在在8086中中IP要要与与CS代代码码段段寄寄存存器器的的内内容容一一起起,才能得到指令的实际地址才能得到指令的实际地址。TFSFZFAFPFOFDFIFCF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 标志寄存器格式a.6个状态标志位个状态标志位,即CF、PF、AF、ZF、SF和 OF。进位标志进位标志CF(Carry Flag):(2)标志寄存器标志寄存器FR 当结果的最高位(字节D7,字D15)产生进位(加法运算)或借位(减法运算)时,

15、CF=1;否则,CF=0,移位和循环指令也影响CF。奇偶标志位奇偶标志位PF(Parity Flag):若结果中的低8位含有“1”的个数为偶数,则PF=1;否则,PF=0。辅助进位标志辅助进位标志AF(Auxitiary Carry Flag):在低半字节向高半字节有进位或借位时AF=1;否则,AF=0。零标志零标志ZF(Zero Flag):当运算结果为0时ZF=1;否则,ZF=0。符号标志符号标志SF(Sign Flag):SF等于最高位,对于带符号数,最高位为符号位,SF=1运算结果为负,SF=0为正。溢出标志溢出标志OF(Overflow Flag):带符号数运算结果超出其表达范围时(

16、字节数:-128+127,字 类 型 数:-32768+32767),OF=1;否则,OF=0。例:2345H+3219H 6400H+7A3CHCF=0 PF=0 AF=0 ZF=0 SF=0 OF=0CF=0 PF=1 AF=0 ZF=0 SF=1 OF=1即:OFCsCS+1 b.3个控制标志位个控制标志位 追踪标志追踪标志TF(Trace Flag):TF=1,处理器进入单步方式,以便调调试试,CPU每执行一条指令自动产生一个内部中断以利于检查指令的执行情况;TF=0为连续工作方式。中断允许标志中断允许标志IF(Interrupt-enable Flag):IF=1,允许CPU响应外部

17、的可可屏屏蔽蔽中中断断请求;IF=0则禁止响应。IF对外部非非屏屏蔽蔽中中断断及及内内部部中中断断不起作用。方向标志方向标志DF(Direction Flag):在串串操操作作指指令令中,DF=0时,变址指针自动增量;DF=1时,则自动减量。2.2 8086的的引脚信号及工作模式引脚信号及工作模式 最最小小模模式式:即即由由8086组组成成的的单单处处理理器器系系统统,所所有有的的总总线线控控制制信信号号由由8086直直接接产产生生,系系统统中中的的总总线线控控制逻辑电路被减到最少。制逻辑电路被减到最少。最最大大模模式式:即即由由8086组组成成的的中中等等规规模模或或者者大大型型的的系系统统

18、。包包含含两两个个或或多多个个微微处处理理器器,8086为为主主处处理理器器,其它的为其它的为协处理器协处理器。8086808680868086的两种工作模式的两种工作模式的两种工作模式的两种工作模式 8086采采用用双双列列直直插插式式封封装装,有有40个个引引脚脚(如如右右图图所所示示),但但总总线线信信号号数数量量却却大大于于40,故故8086采采用用了了分分时时复复用用技技术术,部部分分引引脚传送两种总线信号。脚传送两种总线信号。2.2.1 80862.2.1 8086的引脚的引脚的引脚的引脚 及其功能及其功能及其功能及其功能 12345678910111213141516171819

19、204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086CPU8086的引脚信号注:括号内为该引脚在最大模式下的名称1.1.最小模式下引脚信号及功能:最小模式下引脚信号及功

20、能:最小模式下引脚信号及功能:最小模式下引脚信号及功能:(1)地址地址/数据总线数据总线AD15AD0(双向、三态双向、三态)在在一一个个总总线线周周期期的的第第一一个个时时钟钟周周期期用用于于传传送送低低16bit地地址址信信息息,并并用用地地址址锁锁存存器器锁锁存存以以免丢失,免丢失,其其它它时时钟钟周周期期可可用用于于传传送送数数据据信信息息,分分时时传传送。送。当当8086执执行行中中断断响响应应周周期期、保保持持响响应应周周期期时时,这些引脚处于高阻状态。这些引脚处于高阻状态。(2)地址地址/状态信号线状态信号线A19/S6A16/S3(输出、三输出、三态态)在在总总线线周周期期的的

21、第第一一个个时时钟钟周周期期(T1)用用于于输输出出地址信号的最高地址信号的最高4bit并锁存。并锁存。其其它它时时钟钟周周期期中中用用来来输输出出状状态态信信号号S6S3,其中:其中:S6低电平,表示低电平,表示8086当前与总线相连。当前与总线相连。S5表示标志寄存器中表示标志寄存器中“中断允许位中断允许位”的状态的状态(IF)。S4,S3的组合指出了分段情况。如下表所示。的组合指出了分段情况。如下表所示。S S4 4和和S S3 3的组合提供的分段信息表的组合提供的分段信息表S4S3意意 义义00110101当前正在使用当前正在使用ES附加段附加段当前正在使用当前正在使用SS堆栈段堆栈段

22、当前正在使用当前正在使用CS或者未使用任何段寄存器或者未使用任何段寄存器当前正在使用当前正在使用DS数据段数据段 当当CPU处处于于“保保持持响响应应”状状态态时时,A19/S6A16/S3置为高阻状态。置为高阻状态。若若执执行行I/O指指令令,则则由由于于8086只只访访问问64K个个端口,在端口,在T1周期这周期这4个引脚为低电平。个引脚为低电平。(3)BHE/S7高高8位数据总线允许位数据总线允许/状态线状态线(输出输出,三态三态)在T1状态,8086在BHE/S7引脚输出BHE信号,表示高8位数据总线D15D8上的数据有效,与地址线A0一起产生存储器的选择逻辑信号。在其它时钟周期,输出

23、为状态信号S7。但8086芯片,S7未定义。下面介绍引脚中的控制信号。下面介绍引脚中的控制信号。(4)MN/MX最小最小/最大模式控制信息最大模式控制信息低电平 8086处于最大模式。高电平 8086处于最小模式。(5)RD读信号读信号(输出,三态输出,三态)低电平有效。表示将对内存或I/O端口读操作。(6)M/IO,存储器,存储器/输入输出控制信息输入输出控制信息 (输出,三态输出,三态)区分CPU进行的是存储器还是I/O访问,见下表。RDM/IO操操 作作1000读存储器数据读存储器数据读读I/O端口数据端口数据 RD RD与与 M/IO M/IO的组合及对应的操作表的组合及对应的操作表(

24、7)WR写信号写信号(输出,三态输出,三态)1000CPU对存储器进行写操作对存储器进行写操作CPU对对I/O端口进行写操作端口进行写操作 WR WR与与 M/IO M/IO 的组合及对应的操作表的组合及对应的操作表操操 作作WRM/IO低电平有效。WR与M/IO的组合对应的操作如下表所示。(8)ALE地址锁存允许信号地址锁存允许信号(输出输出)高高电电平平有有效效,此信号在T1状态有效,为地址码锁存的选通信号,送地址锁存器。(9)READY准备就绪信号准备就绪信号(输入输入)高高电电平平有有效效,是从所寻址的存存储储器器或I/O电电路路来的响应信号,用于解决CPU与慢速存储器或I/O电路的同

25、同步步问问题题。CPU在T3周期开始采样READY线,若为低电平,则T3之后插入TW等等待待周周期期直到READY为高电平,进入T4完成数据传送。(10)INTR可屏蔽中断请求信号可屏蔽中断请求信号(输入输入)高高电电平平有有效效,8086在每一个指令周期的最后一个T状态采样这条线,若为有效,且IF=1,则8086在执行完当前指令即响应中断。(11)INTA中断响应信号中断响应信号(输出,三态输出,三态)低低电电平平有有效效,CPU响应外部可可屏屏蔽蔽中中断断请求以后,便发出中断响应信号,作为对中断请求的回答。此信号在每一个中断响应周期的T2、T3和TW周期均有效,为中断矢量的读选通信号。(1

26、2)NMI非屏蔽中断请求信号非屏蔽中断请求信号(输入输入)边沿触发边沿触发,该线上的中断请求信号不能用软件屏蔽,电平由低到高,便在当前指令结束后引起中断。(13)RESET系统复位信号系统复位信号(输入输入)高高电电平平有有效效,8086要求此信号起码维持4个时钟周期;若初次加电复位,持续时间不小于50 s。RESET为高电平时,8086立即结束现行操作,进入内部复位状态,CPU各内部寄存器被设置为初初值值:CS=FFFFH,Flag、IP、DS、ES、SS及其它寄存器均初始化为0000H。(14)DT/R数据收发控制信号数据收发控制信号(输出、三态输出、三态)为增强数据总线的驱动能力,808

27、6可外接驱动器8286,DT/R即为8086输出给数据收发器8286的控制信号。DT/R高高电电平平,8086输出的数据经8286送到数据总线;DT/R低低电电平平,收发器8286则把数据总线上的数据传送到8086。系统工作在DMA方式时,DT/R为高阻状态。高高电电平平有有效效。系系统统中中其其他他的的总总线线主主设设备备要要获获得得对对总总线线的的控控制制权权时时,向向8086发发出出高高电电平平的的HOLD信信号号,8086在每个时钟周期的上升沿对HOLD引脚信号进行检测,若为高电平,则在当前总线周期结束时,予以响应。(16)HOLD保持请求信号保持请求信号(输入输入)(15)DEN数据

28、允许信号数据允许信号(输出,三态输出,三态)低低电电平平有有效效,也是8086控制外接的数据收发器,低电平时开启收发器,传送数据有效;高电平时,则禁止传送。(17)HLDA保持响应信号保持响应信号 (输出输出)高 电 平 有 效。当当 CPU响响 应应 保保 持持 请请 求求HOLD时时,便便发发出出HLDA高高电电平平的的应应答答信信号号,从而将总线控制权让给发出保持请求的设备,直到该设备又将HOLD信号变为低电平,CPU才收回总线控制权,将HLDA信号置为低电平。低电平有效。与WAIT等待指令结合使用,当CPU执行WAIT指令时,CPU处于空转状态进行等待直到检测到TEST信号有效时结束,

29、CPU继续往下执行指令。(18)TEST测试信号测试信号(输入输入)(19)CLK系统时钟输入信号系统时钟输入信号 时时钟钟信信号号为为CPU和和总总线线控控制制逻逻辑辑电电路路提提供供定定时时基基准准。常用INTEL8284A时钟发生器提供CLK信号。2.2.最大模式下引脚信号及功能最大模式下引脚信号及功能最大模式下引脚信号及功能最大模式下引脚信号及功能 若将8086的MN/MX引脚接地便工作在最大模式。此时仅2431引脚信号与最小模式不同,如下表所示。引脚编号引脚编号最小模式最小模式最大模式最大模式2425262728293031QS1QS0S0S1S2LOCKRQ/GT1RQ/GT0IN

30、TAALEDENDT/RM/IOWRHLDAHOLD 两种模式下8086的2431引脚信号表(1)QS1和和QS0指令队列状态信号指令队列状态信号(输出输出)QSQS1 1和和QSQS0 0编码与队列状态表编码与队列状态表QS1QS0 队列状态队列状态00110101空操作空操作取走指令的第一个字节取走指令的第一个字节队列空队列空从队列里取出的字节是指令的后续字节从队列里取出的字节是指令的后续字节两信号编码和对应的队列状态如下表所示。两信号编码和对应的队列状态如下表所示。这这三三个个状状态态信信号号组组成成的的编编码码表表示示了了当当前前总总线周期是何种操作周期,如下表所示。线周期是何种操作周

31、期,如下表所示。2,1和和 0编码与总线周期表编码与总线周期表发中断响应信号发中断响应信号读读I/O端口端口写写I/O端口端口暂停暂停取指令取指令读存储器读存储器写存储器写存储器 无源状态无源状态010101010000111100110011S总线周期总线周期2S10S(2)S2,S1和和 S0总线周期状态信号总线周期状态信号(输出,三输出,三态态)(3)LOCK总线封锁信号总线封锁信号(输出,三态输出,三态)低低电电平平有有效效。此信号有效时,系统中其他总线主部件不能占有总线。此信号由前缀指令LOCK使其有效,并保持到LOCK前缀后的一条指令执行完毕。另外8086在两个中断响应周期之间,L

32、OCK信号也自动变为有效电平,以防其它部件占有总线。下图给出了下图给出了8086在最大模式下的典型配置。在最大模式下的典型配置。(4)RQ/GT1和和RQ/GT0总线请求总线请求/允许信号允许信号(双向双向)供CPU以外的两个处理器用以发出使用总线的请求信号和接收CPU对总线请求信号的回答信号,请求与允许信号在同一引脚上传输,但方向相反。其中RQ/GT0优优先级较高先级较高。2.2.2 最小工作模式及其系统结构8086CPU的最小工作模式,指的是微型计算机系统中只有8086或8088一个微处理器在这个系统中,所有的总线控制信号直接由CPU提供将8086CPU的MN/引脚接5V即可使8086工作

33、在最小模式下 工作在最小模式下8086的典型配置如右图所示8086地址锁存器STB(82862)OE(选用)数据总线地址总线(82823)READYRESETMN/MXALEBHEA19A16AD15AD0DENDT/RM/IOWRRDHOLDHLDAINTRINTA(8284A)X1 X2CLKREADYRESET+5VBHEA19A0D15D08284A与振荡源之间有两种两种连接方式当采用脉冲发生器作为振荡源时,其输出端应与8284A 的EFI端相连,F/接高电平;当采用晶体振荡器作为振荡源时,应连在8284A 的X1和X2两引脚之间,F/接电源地 无论采用哪种方法,8284A输出的时钟频

34、率均为振荡源频率的三分之一三分之一。.图2.9 8284A与CPU的连接2.2.3 最大模式和系统组成8086CPU的最大模式,是微机系统中包含有两个或多个微处理器,其中8086是主处理器,其余的是协助协助主处理器工作的协处理器。如数值运算协处理器(8087)和I/O协处理器(8089)等。图2.11是8086系统在最大模式下的典型配置典型配置结构框图.图2.11 8086在最大模式下的典型配置 由由图图可可以以看看出出:8086在在最最大大与与最最小小模模式式下下的的主主要要区区别别是是增增加加了了一一个个8288总总线线控控制制器器。8288接接受受8086CPU的的状状态态信信号号S2、

35、S1和和S0,经经过过变变换换和和组组合合,由由8288发发出出对对存存储储器器和和I/O端端口口的的读读/写写信信号号,对对锁锁存存器器8282及及对对总线收发器总线收发器8286的控制信号。的控制信号。图2.12 8288的连接8086CPU时钟发生器(8284A)8288CLKDENALEMN/MXSTBOEOETIORCIOWC数据总线MRDCMWTCBHE8282382862CLKREADYRESETBHES0S1S2S0S1S2DT/RA19A0D15D0INTAA19A16AD15AD0 1READYRESET总线控制器地址总线8086系统中的堆栈系统中的堆栈按“后后进进先先出出

36、”原则,用作数据暂时存储的一组寄存器寄存器或存储单元存储单元称为堆栈。堆栈操作有两种:压压入入(PUSH)和和弹弹出出(POP),而SP始终指向堆栈栈顶的新位置。1.1.堆栈的定义堆栈的定义堆栈的定义堆栈的定义堆栈中数据按“后后进进先先出出”的结构方式进行处理,即新入栈的依次堆放在原来数据之上,存放信息的最后一个单元叫做栈栈顶顶,用堆栈指针SP(Stack Pointer)指示。2.2.构成堆栈的两种形式构成堆栈的两种形式 一一种是使用种是使用CPU内部的内部的一组寄存器一组寄存器作为堆栈。作为堆栈。优点优点:访问速度快。:访问速度快。缺点:缺点:寄存器数量有限。寄存器数量有限。另另一一种种形

37、形式式是是在在随随机机存存储储器器RAM中中开开辟辟一一个个区区间供堆栈使用,较为普遍;间供堆栈使用,较为普遍;3.3.堆栈编址结构的两种形式堆栈编址结构的两种形式堆栈编址结构的两种形式堆栈编址结构的两种形式(1)向上生成向上生成该结构中,每压压入入一个数据,堆栈指示器SP按增增量量修改;每弹弹出出一个数据,SP按减量减量修改。(2)向下生成向下生成该结构中,每压压入入一个数据,SP按减减量量修改;每弹出弹出一个数据,SP按增量增量修改。堆栈操作示意图(向下生成)M3M2M1MXSP(a)M3M2M1MXSP(b)AM3M2M1MXSP(c)ABSPASPBSPC当前栈顶地址为当前栈顶地址为M

38、,存内容,存内容X信息信息B进栈:进栈:SPSP1,SP指定的地址指定的地址B信息信息A进栈分两步操进栈分两步操作作:SPSP1,SP指定的地址单元指定的地址单元A 堆栈操作示意图(向下生成)MM3M2M1XSP(d)ABCM3M2M1MXSP(f)ABCM3M2M1MXSP(e)ACBSPDSPCSPB信息信息C进栈进栈信息信息C出栈分两步操作:指定出栈分两步操作:指定的目的地的目的地C,SPSP+1信息信息B出栈:指定目的地出栈:指定目的地B,SPSP+1 堆栈操作示意图(向下生成)MM3M2M1XSP(g)ADCM3M2M1MXSP(i)ADCM3M2M1MXSP(h)ACDSPDSPA

39、信息信息D进栈:进栈:SPSP1,SP指定的地址指定的地址D信息信息D出栈出栈信息信息A出栈,栈顶地出栈,栈顶地址仍为址仍为M 由由上上图图中中可可以以看看出出,出出栈栈操操作作并并不不会会从从堆堆栈栈中中去去掉掉信信息息,也也不不擦擦除除它它们们,只只是是因因SP的自动修改而改变了堆栈的栈顶。的自动修改而改变了堆栈的栈顶。堆堆栈栈主主要要用用于于中中断断控控制制,子子程程序序调调用用以以及数据暂时存储。及数据暂时存储。1.时钟周期时钟周期(T状态周期状态周期 Clock Cycle)2.3 8086总线周期与时序总线周期与时序 是时钟频率(主频)的是时钟频率(主频)的倒数倒数,作为一种频,作

40、为一种频率固定的率固定的周期性周期性脉冲信号,它是计算机系统中脉冲信号,它是计算机系统中的时间的时间基准基准和时序分析的基本单位,也是和时序分析的基本单位,也是CPUCPU的的一个一个重要性能指标重要性能指标。例:例:80868086的主频为的主频为5MHz5MHz,时钟周期则为,时钟周期则为200ns200ns,8086-18086-1的主频为的主频为10MHz10MHz,时钟周期则为,时钟周期则为100ns100ns。2.3.1 2.3.1 时钟周期、总线周期和指令周期时钟周期、总线周期和指令周期2.机器周期机器周期(总线周期总线周期Bus Cycle)微微机机处处理理器器BIU与与外外部

41、部电电路路之之间间进进行行一一次次数数据传送操作所占用的时间,包含若干个时钟周期。据传送操作所占用的时间,包含若干个时钟周期。T1T2T3T4TIT1T2T3T4总线周期总线周期地址数据地址ADCLK数据3.指令周期指令周期(Instruction Cycle)执执行行一一条条指指令令所所需需要要的的时时间间,由由一一至至若若干干个个机器周期组成。机器周期组成。2.3.2 总线操作与时序总线操作与时序总线操作是总线操作是CPUCPU与外部进行信息交换的过程与外部进行信息交换的过程。8086CPU8086CPU的总线操作主要包括:总线读的总线操作主要包括:总线读/写、写、总线保持或总线请求总线保

42、持或总线请求/允许、中断响应、暂允许、中断响应、暂停、系统复位和启动等操作。停、系统复位和启动等操作。操作时序则是指操作时序则是指CPUCPU在操作过程中在操作过程中各种有效各种有效信号在总线上出现的先后次序。信号在总线上出现的先后次序。Intel 8086微微处处理理器器采采用用总总线线复复用用操操作作方方式式8086的的16位位数数据据总总线线和和地地址址总总线线的的低低16位位是是共共用用的,典型的总线周期如下图:的,典型的总线周期如下图:T1T2T3T4TIT1T2T3T4总线周期总线周期地址数据地址ADCLK数据 基本的总线周期在在没没有有插插入入等等待待时时钟钟周周期期TW的的情情

43、况况下下,总总线线周周期期由由4个时钟周期组成,即图中个时钟周期组成,即图中T1、T2、T3、T4在在T1期期间间CPU把把存存储储器器或或外外设设的的地地址址放放到到总总线线上上,这这些些地地址址信信息息由由ALE控控制制锁锁存存到到地地址址锁锁存存器器中中,以以便使总线上可以传送数据信息。便使总线上可以传送数据信息。T2期期间间分分时时复复用用的的地地址址/数数据据总总线线处处于于高高阻阻态态,以以便为读入或写出数据作准备。便为读入或写出数据作准备。在在T3和和T4期期间间,读读或或写写的的数数据据出出现现在在总总线线上上,以以使使完成读或写的操作。完成读或写的操作。等待周期等待周期TW:

44、T1T2T3TW一个总线周期数据输入地址输出T4READY地址总线READY信号的定时波形信号的定时波形如如果果在在T3周周期期结结束束之之前前,存存储储器器或或外外设设未未准准备备好好数数据据传传送送,就就要要启启动动输输入入CPU的的READY线线使使之之变变低低电电平平,从从而而在在T3和和T4之之间间插插入入一一个个或或多多个个TW等等待待周周期期,直到直到READY变高,转入变高,转入T4周期,完成读写操作。周期,完成读写操作。空闲状态周期空闲状态周期TI:8086执执行行部部件件EU和和总总线线接接口口部部件件BIU在在一一定定程程度度上上独独立立并并行行工工作作,只只有有当当BI

45、U为为了了填填满满指指令令队队列列或或EU执执行行指指令令需需要要与与外外部部交交换换数数据据时时,申申请请一一个个总总线线周周期期,此此时时BIU才才执执行行一一个个总总线线周周期期。因因此此在在两两个个总总线线周周期期之之间间,可可能能会会存在一些存在一些BIU空闲时钟周期。空闲时钟周期。2.3.4 8086读总线周期读总线周期读总线是指读总线是指CPUCPU从存储器或从存储器或I/OI/O端口端口读取数据读取数据的操作,的操作,80868086最小模式下的总线读操作时序,如图最小模式下的总线读操作时序,如图2.132.13。读总线周期一般包括读总线周期一般包括T T1 1、T T2 2、

46、T T3 3、T T4 4四个四个T T状态状态,当存,当存储器或储器或I/OI/O端口的速度较慢,跟不上端口的速度较慢,跟不上CPUCPU的速度时,就的速度时,就在在T T3 3和和T T4 4状态间插入状态间插入若干个若干个等待状态等待状态TwTw。读总线周期中,读总线周期中,CPUCPU发出信号发出信号 指出本周期是指出本周期是读存读存储器储器(高电平)还是(高电平)还是读读I/O(低电平);(低电平);DT/DT/保持低保持低电平,用于控制数据总线收发器的数据传输方向为电平,用于控制数据总线收发器的数据传输方向为CPUCPU接受外部输入的数据接受外部输入的数据。1、正常读总线周期、正常

47、读总线周期T1T2T3T4一个总线周期CLKA19A16S6S3A19/S6 A16/S3BHE/S7DATA INAD15 AD0ALE低=I/O,高=MM/IORDDT/RDENA15A0举例2、具有等待状态的读总线周期、具有等待状态的读总线周期T1T2T3TW一个总线周期CLKA19A16A19/S6 A16/S3BHE/S7DATA INAD15 AD0ALE低=I/O,高=MM/IORDDT/RDENA15A0T4READYWAITREADYS6S32.3.5 8086写总线周期写总线周期写总线是指写总线是指CPUCPU经过总线将数据经过总线将数据输出输出到存储器或到存储器或I/OI

48、/O端口的操作端口的操作;总线写操作时序与总线读操作时序总线写操作时序与总线读操作时序基本相似基本相似,不同,不同点有:点有:(1 1)CPUCPU输出的输出的有效信号有效信号是是 ,表示是写操作,表示是写操作,信号在整个周期内无效;信号在整个周期内无效;(2 2)DT/RDT/R在整个总线周期为高电平,用于控制数据在整个总线周期为高电平,用于控制数据总线收发器的传送方向为总线收发器的传送方向为CPUCPU向外部发送数据向外部发送数据。(3 3)ADAD1515ADAD0 0在在T T2 2到到T T4 4状态期间状态期间输出输出数据,在数据,在T T2 2状态状态无高阻态。无高阻态。8086

49、最小模式下的总线写操作时序最小模式下的总线写操作时序T1T2T3T4一个总线周期CLKA19 A16S6 S3A19/S6 A16/S3BHE/S7DATA OUTAD15 AD0ALE高=I/O,低=MM/IOWRDT/RDENA15A080868086最大模式下的总线读最大模式下的总线读/写操作原理与最小模式下写操作原理与最小模式下的相同,操作时序与最小模式下基本相似的相同,操作时序与最小模式下基本相似,不同点,不同点在于:在于:CPUCPU不会产生不会产生 、或或 等控制信号,而是由等控制信号,而是由总总线控制器线控制器82888288产生存储器或产生存储器或I/OI/O端口需要的端口需

50、要的控制控制信号,信号,如:如:(读存储器)、(读存储器)、(读(读IOIO),),(写存(写存储器)、储器)、(写(写IOIO)或用于提前一个时钟周期产)或用于提前一个时钟周期产生的先行写信号生的先行写信号 (写存储器)、(写存储器)、(写(写IOIO)等。等。2.3.6 8086中断响应周期中断响应周期中断响应需中断响应需占用两个占用两个总线周期。总线周期。第一个总线周期用来第一个总线周期用来通知通知产生产生INTRINTR信号的外设信号的外设(中断源),(中断源),CPUCPU已接受已接受其中断请求,其中断请求,第二个总线周期的目的是要从外设第二个总线周期的目的是要从外设输入中断类型输入

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com