第2章8086微处理器及其系统.ppt

上传人:本田雅阁 文档编号:2497088 上传时间:2019-04-03 格式:PPT 页数:79 大小:893.01KB
返回 下载 相关 举报
第2章8086微处理器及其系统.ppt_第1页
第1页 / 共79页
第2章8086微处理器及其系统.ppt_第2页
第2页 / 共79页
第2章8086微处理器及其系统.ppt_第3页
第3页 / 共79页
亲,该文档总共79页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第2章8086微处理器及其系统.ppt》由会员分享,可在线阅读,更多相关《第2章8086微处理器及其系统.ppt(79页珍藏版)》请在三一文库上搜索。

1、1,第2章 8086微处理器及其系统,2.1 8086微处理器简介 2.2 8086系统的存储器组织及I/O组织 2.3 8086系统的工作模式 2.4 8086的操作时序,2,8086 CPU是Intel系列的16位微处理器,它有16位数据总线和20位地址总线。 可寻址的地址空间是:2201MB,3,2.1.1 8086的编程结构 从程序员的角度看,8086CPU分为两部分: 执行部件(EU) 总线接口部件(BIU),2.1 8086微处理器简介,4,图2-1,EU 控 制 系 统,5,1. 执行部件(EU),功能:执行指令 组成: 内部寄存器组; 算术逻辑运算单元ALU及标志寄存器; 内部

2、控制逻辑电路。,6,(1)内部寄存器组 8个16位 内部寄存器, 通用数据寄存器: 可用作16位的寄存器,也可用 作8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL,7,AX:累加器。有些指令约定以AX(或AL)为源或目的寄存器。 BX:基址寄存器。可用作间接寻址的地址寄存器和基地址寄存器。 CX:计数寄存器。在循环和串操作中充当计数器,指令执行后CX内容自动修改。 DX:数据寄存器。在间接寻址的I/O指令中存放I/O端口地址;在32位乘除法运算时,存放高16位数。,8,SI: 源变址寄存器 DI:目的变址寄存器, 指针和变址寄存器 SP:堆栈指针寄存器

3、 BP:基址指针寄存器,9,(2)算术逻辑单元(ALU)及标志寄存器(FR), 算术逻辑运算单元ALU 可完成16位或8位的算术逻辑运算。 ALU运算后的结果特征(有无进位,溢出等)置入标志寄存器中保存。, 标志寄存器FR 16位寄存器,用来存放运算结果的特征和控制标志。,10,分为两类: 条件标志共6位,用于寄存程序运行的状态信息,这些标志往往用作后续指令判断的依据。 控制标志共3位,用于控制机器或程序的某些运行过程。,11, CF(Carry Flag) 进位标志 -反映在运行结果的最高位有无进位或借位。 CF=1,表示本次运算中最高位有进位(加法运算时)或有借位(减法运算时);否则CF=

4、0。,条件标志,12, PF(Parity Flag) 奇偶标志 -反映运算结果中“1”的个数的奇偶性,主要用于判断数据传送过程中是否出错。 PF=1,表示本次运算结果的低八位中有偶数个“1” PF=0,表示本次运算结果的低八位中有奇数个“1” AF(Auxiliary Carry Flag) 辅助进位标志 -加减运算时,若D3向D4产生了进位或借位则AF=1。否则AF=0。在BCD码运算时,该标识用于十进制调整。 ZF(Zero Flag) 零标志 -反映计算结果是否为0。若结果为零则ZF=1,否则ZF=0。,13, SF(Sign Flag) 符号标志位 -反映计算结果最高位即符号位的状态

5、。如果运算 结果的最高位为1则SF=1,否则SF=0。 OF(Overflow Flag) 溢出标志位 -反映运算结果是否超出了带符号数的表数范围。 OF=1 表示运算结果超出了该字长所能表示的范围,即产生溢出;否则OF=0。 机器判断是否溢出是根据根据最高位的进位与次高位的进位是否相同来确定。若两者不相同则OF=1(表示有溢出),否则 OF=0(表示无溢出),14, DF(Direction Flag) 方向标志 - 用于串处理指令中控制串处理的方向。 在串操作指令中,若DF=0,表示串操作指令执行后地址指针自动增量;DF=1,表示地址指针自动减量。DF可通过STD指令置位,也可通过CLD指

6、令复位。 IF(Interrupt Flag) 中断允许标志位 - 用于控制CPU是否允许响应可屏蔽中断请求。 IF=1,表示允许CPU响应可屏蔽中断请求。 IF=0,表示禁止CPU响应可屏蔽中断请求。 IF可通过STI指令置位(置1),也可通过CLI指令复位(清零)。,控制标志,15, TF(Trap Flag) 单步标志位 - 用于单步操作。 TF=1,控制CPU进入单步工作方式。在这种工作方式下,CPU每执行完一条指令就会自动产生一次内部中断,这在程序调试过程中很有用。,16,例1:若AL = 3BH,AH = 7DH,指出AL和AH中的内容相加后,CF,AF,PF,SF,OF和ZF的状

7、态。,CF=0(无进位) AF = 1(有辅助进位) PF=1(运算结果有4个1) SF = 1(运算结果符号位为1) OF =1 (有溢出) ZF = 0 (运算结果不为0),17,(3)内部控制逻辑电路,主要功能:从指令队列缓冲器中取出指令,对 指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。,18,2. 总线接口部件 BIU,负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。,组成: 4个段地址寄存器(CS、DS、ES、SS) 16位的指令指针寄存器IP(Instruction Pointer) 20位的地址加法器 6字节的指令队列缓冲器 总线

8、控制逻辑,19,(1)段地址寄存器(CS, DS, SS, ES) 存储器的分段 8086可寻址的存储空间为1MB,有20位的地址线,而内部的寄存器是16位,只能寻址64KB。所以8086系统采用了地址分段的方法,将1M存储空间分成若干块,称为“逻辑段”,存放一种类型的数据或者程序。因此1M的存储空间可分成16个逻辑段(015)。在段内寻址仍采用传统的16位地址寻址方法。,20,在8086存储空间中,把16字节的存储空间称作一内存节(paragraph)。要求各个逻辑段从节的整数边界开始,即段首地址低4位应该是“0”,把段首地址的高16位存放在段寄存器DS或CS或SS或ES中。,00000H

9、00010H 00020H FFFF0H,21,允许段在整个存储空间浮动,即段与段之间可以 部分重叠、完全重叠、连续排列。在整个存储空间中 可设置若干个逻辑段。 对于任何一个物理地址,可以惟一地被包含在一 个逻辑段中,也可 包含在多个相互重 叠的逻辑段中,只 要有段地址和段内 偏移地址就可以访 问到这个物理地址 所对应的存储空间。,22,2345H:0000H 01H : : 2345H:1100H 78H 例如:2345H:1100H表示段地址为2345H(段的起始地址是23450H),段内偏移地址为1100H的存储单元地址。在8086CPU中有专用的寄存器存放段地址和偏移地址。,23,段可

10、分为代码段,数据段,附加段,堆栈段。用于存放段基址有 4个16位段寄存器,代码段寄存器CS,数据段寄存器DS,附加段寄存器ES和堆栈段寄存器SS。 代码段:存放程序代码。 数据段:用于存放当前使用的数据。需要第二个数据段时可以使用附加段。,24,堆栈段:是内存中的一块存储区,用来存放专用数据。如调用子程序时的入口参数,返回地址等,这些数据都按照“后进先出”的规则进行存取。SS存放堆栈段的段基址,SP存放当前堆栈栈顶的偏移地址。数据进出堆栈要使用专门的堆栈操作指令,SP的值在执行堆栈操作指令时根据规则自动地进行修改。,编程时,程序和各种不同类型的数据分别存放在不同的逻辑段中。,25,26,例:

11、已知CS=1055H, DS=250AH, ES=2EF0H, SS=8FF0H, 画出各段在内存中的分布,写出段首地址。,10550H,250A0H,2EF00H,8FF00H,代码段,数据段,附加段,堆栈段,27,采用段地址的好处:, 解决了16位寄存器访问大于64KB内存空间的问题; 可以实现程序重定位,即一个不到64KB大小的程序可通过改变段寄存器的内容(一般由操作系统完成)放在1MB空间的任意段位置,从而为运行多道程序提供方便。,28,(2)地址加法器,功能:用于产生20位的物理地址。即进行一次地址加法,将段寄存器的内容左移4位与偏移地址相加 ,得到20位的物理地址,从而可寻址 1M

12、B的存储空间。,物理地址段寄存器的内容16 (即左移4位)+ 偏移地址,物理地址:访问存储器的实际地址,用20位二进制表示。,29,30,例: 逻辑地址2345H:1100H对应的物理地址是24550H。 23450H+1100H =24550H。 反之,物理地址24550H,它对应的逻辑地址可以是2455H:0000H,也可以是2400H:0550H等。 注意:一个存储单元的物理地址是惟一的,而它对应的逻辑地址是不惟一的。,31,(3)指令指针寄存器IP 16位 功能:用来存放将要执行的下一条指令在代码段中的偏移地址。在程序运行过程中,BIU自动修改IP中的内容,使它始终指向将要执行的下一条

13、指令。 注意:程序不能直接访问IP,但是可通过某些指令修改IP的内容。例如, 执行转移指令时,会将转移的目标地址送入IP中,以实现程序的转移。,32,(4)指令队列缓冲器6字节,BIU从存储器中读出指令送入6字节的指令队列。一旦指令队列中空出2个字节,BIU将自动进行读指令的操作以填满指令队列。遇到转移类指令,BIU将指令队列中剩余的指令作废,重新从存储器新的地址单元中取指令并送入指令队列。一般情况下应保证指令队列中填满指令,使得EU可以不断地得到等待执行的指令。,(5)总线控制逻辑,33,3. 总线接口部件和执行部件的管理,当8086指令队列中有2字节空闲时,总线接口部件就自动将指令从内存中

14、预取到指令队列缓冲器中。 每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。EU在执行指令中若需要访问内存或I/O设备,EU就向BIU申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。 遇到转移、调用及返回指令时,BIU就自动清除指令队列中已有内容,从转移、调用或返回的新地址开始,重新从内存中预读取指令并填充指令队列。 这两部分既非同步工作方式,也不完全无关,而是互相配合工作的。,34,2.1.2 8086CPU的引脚及其功能 8086 CPU是十六位的微处理器,它向外的信号应包含16条数据线,20条地址

15、线,再加上其他一些必要的控制信号。为了减少芯片引脚数量,对部分引脚采用了分时复用的方式,构成40条引脚的双列直插式封装。 分时复用就是在同一根传输线上,在不同时间传送不同的信息。 8086/8088依靠分时复用技术,用40个引脚实现了众多数据、地址、控制信息的传送。,35,1、8086总线周期 时钟周期: CPU的一切操作都是在系统主时钟CLK的控制下按节拍有序地进行的。系统主时钟一个周期信号所持续的时间称为时钟周期(T),大小等于频率的倒数,是CPU的基本时间计量单位。 总线周期:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程称为总线周期。为完成对存储器或I/O端口的一次访问

16、,CPU需要先后发出存储器或I/O端口地址,读或者写操作命令,进行数据的传输。以上的每一个操作都需要延续一个或几个时钟周期。所以,一个总线周期由若干个时钟周期(T)组成。,36,T1状态:CPU向多路复用总线上发送地址信息(A19A0)指出要寻址的内存单元地址或I/O端口地址。这期间CPU还要送出地址锁存信号ALE(正向脉冲),在ALE的下降沿将内存单元地址或I/O端口地址存入地址锁存器。 T2状态:CPU从总线上撤销地址,使总线低16位呈现高阻状态,为数据传输作准备。总线高4位(A19A16)输出总线周期的状态信息,用以表示中断允许状态及正在使用的段寄存器名等。,37,T3状态:A19A16

17、上状态信息不变,总线低16位上出现CPU要写出的数据或准备读入的数据。若外设或内存来不及与总线交换数据,以使在T4状态下结束该总线周期,则应通过CPU的READY信号,在T3前沿(下降沿)之前向CPU申请插入等待状态TW。在T3及TW的前沿查询READY线,查到为高电平则结束等待状态,进入下一状态。否则继续插入等待状态。 T4状态:总线周期结束,若为总线读周期则在T4前沿将数据读入CPU。 TI状态:总线空闲周期。,图2-3 典型的8086总线周期时序,38,2. 8086 CPU的引脚及功能,8086引脚分配图,39,(1) GND(地)和VCC(电源) (2) AD15AD0(addres

18、s data bus)地址数据复用引脚 (双向,三态) 作为复用引脚,在总线周期的T1状态用来输出要访问的存储器或IO端口地址。T2T3状态,对读周期来说,处于浮空状态;对写周期来说,则是传输数据。 (3) A19/S6A16/S3(address/status)地址/状态复用引脚(输出,三态) 在总线周期的T1状态,用来输出地址的最高4位, A19A16与AD15AD0一起构成访问存储器的20位物理地址。CPU访问I/O端口时,A19A16保持为“0”。在T2,T3,TW和T4状态时,S6S3用来输出状态信息。,40,其中: S6: S6=0表示8086CPU占用系统总线,在T2,T3, T

19、W和T4状态时,8086总是使S6=0。 S5 : 反映标志寄存器的中断允许标志IF的设置情况 IF=1,允许可屏蔽中断,则 S5=1 IF=0,禁止可屏蔽中断,则 S5=0 S4,S3:指明正在使用的段寄存器情况。,41,8086CPU有16根数据线, 低8位数据线总是和偶地址的存储器或I/O端口相连接, 高8位的数据线与奇地址的存储器或I/O端口相连接。 BHE有效,表示CPU正在使用高8位的数据线对奇地址的存储单元或I/O端口进行访问。它与地址码最低位A0配合起来表示当前总线使用情况。,42,43,(5) NMI(Non Maskable Interrupt Request)非屏蔽中断请

20、求引脚 (输入) 由外部输入,边沿触发,正跳沿(由低到高的上升沿)有效,不受中断允许标志IF的影响,也不能用软件进行屏蔽。CPU一旦测试到NMI请求有效,在当前指令执行完后自动转去执行中断类型号为2的非屏蔽中断中断服务程序。显然这是一种比INTR级别高的中断请求。,(6) INTR(Interrupt Request)可屏蔽中断请求引脚 (输入) 由外部输入,电平触发,高电平有效。INTR有效时,表示外部向CPU发出中断请求。CPU在每条指令的最后一个时钟周期对INTR进行采样,一旦测试到中断请求,并且当前中断允许标志IF=1,则CPU就会在结束当前指令后,响应中断请求,进入一个中断处理子程序

21、。,44, CLK (Clock)时钟输入引脚 8086要求时钟占空比为1/3,即一个周期中1/3为高电平、2/3为低电平。CPU的所有操作均是在时钟的同步下进行的。,45, RESET (Reset)复位引脚,输入、高电平有效。 8086要求复位信号至少维持4个时钟周期的高电平才有效,以完成CPU内部寄存器的复位操作。 复位信号一出现,CPU立即结束当前的操作,进入复位操作,即将标志寄存器(FR)、IP、DS、SS、ES清0,指令队列清空, CS置为FFFFH。 当复位信号降为低电平后,CPU从CS:IP开始取出指令并执行它,即系统复位后执行的第一条指令的物理地址为FFFF0H。系统程序一般

22、在该物理地址单元放一条转移指令,转到引导程序的入口。,46,(10) READY(Ready)准备好引脚,输入、高电平有效 当CPU执行总线读写周期访问存储器或I/O设备时,若存储器或I/O设备的读写速度较慢,来不及在T4状态结束数据传输,就需要设计一个硬件电路,在T3之前向CPU提供一个低电平READY信号。 CPU在每个总线周期的T3状态的前沿开始对READY信号进行采样。如果检测到READY为低电平,则在T3状态之后插入一个TW等待状态,并在TW前沿继续查询READY线,若READY仍为低电平,则会继续插入TW ,直到READY升为高电平,才进入T4状态,完成数据传送过程。,47,48,

23、2.2 8086系统的存储器组织及I/O组织,2.2.1 8086系统的存储器组织 1. 8086系统的存储器的结构,图2-5 存储体地址空间分配 图2-6 存储体与总线的连接,00000H,00001H,00002H,00003H,FFFFEH,FFFFFH,49,关于几种读写情况的说明:,50,51,2. 8086系统存储器的地址,(1)物理地址的计算公式: 物理地址段地址16偏移地址。段地址由段寄存器提供,偏移地址由IP、SP、BP、SI、DI等寄存器或存储器提供,也可通过计算而得。不同的指令有不同的组合方式。 (2) 段地址的引入,为程序在内存中浮动创造了条件,一般用户程序只涉及偏移地

24、址。段地址在程序装入内存时由操作系统分配。所以一个程序可在内存中任何一个逻辑段(64KB空间)中运行。 (3) 同一物理地址可以由不同的段地址和偏移地址表示。 例如: CS=2000H IP=1000H 物理地址=21000H CS=2100H IP=0000H 物理地址=21000H,52,ES,53,3.8086系统内存地址的一些专用区域 00000003FFH 1KB空间用于存放中断向量表,可存放256个中断服务程序的入口地址,每个地址占 4字节。 B0000B0FFFH 4KB为单色显示器显示缓冲区,存放屏幕当前显示字符的ASCII码。 B8000BBFFFH 16KB彩色显示器显示缓

25、冲区,存放当前屏幕像素代码。 FFFF0H 起动地址,一般用来存放一条无条件转移指令,转到系统初始化程序。,54,2.2.2 8086系统的 I/O组织 8086系统有专用的输入(IN)、输出(OUT)指令,用于外设端口(即外设接口中的内部寄存器)的寻址。 I/O端口与内存分别独立编址。I/O端口使用16位地址A15A0,I/O端口地址范围为0000HFFFFH,可寻址空间为64KB。 在以8086为CPU的PC/XT微机中,只使用了10位有效端口地址A9A0,共1KB空间。,55,一、最小模式和最大模式的概念 8086/8088 CPU为适应不同的应用环境,8086可工作于两种工作模式:最大

26、模式和最小模式。 最小模式:是指系统中只有一个8086/8088处理器,所有的总线控制信号都由8086/8088 CPU直接产生,构成系统所需的总线控制逻辑部件最少,最小模式因此得名。最小模式也称单处理器模式。,2.3 8086系统配置,56,最大模式:系统内可以有一个以上的处理器,除了8086/8088作为“中央处理器”之外,还可以配置用于数值计算的8087(数值协处理器)和用于I/O管理的8089(I/O协处理器) 等。各个处理器发往总线的命令统一送往“总线控制器”,由它“仲裁”后发出。,57,二、 最小模式系统,1. 典型配置: 1. 8086CPU 2. 1片时钟发生器8284 3.

27、3片地址锁存器8282 4. 2片总线驱动器8286(总线数据收发器),58,59,CPU及其外围芯片合称为CPU子系统。 外围芯片的作用是: (1)为CPU工作提供条件:提供适当的时钟信号,对外界输入的控制/联络信号进行同步处理; (2)分离CPU输出的地址/数据分时复用信号,得到独立的地址总线和数据总线信号,同时还增强它们的驱动能力; (3)对CPU输出的控制信号进行组合,产生稳定可靠、便于使用的系统总线信号。,60,8284通过外接晶振芯片产生时钟信号,并对这个信号3分频,产生占空比为1/3的时钟信号CLK送往8086 CPU。8284还对外部输入的 RESET和READY信号 进行同步

28、,产生与CLK 同步的复位信号RESET 和准备就绪信号READY 送往8086。,2 时钟发生器8284与8086的连接,61,8282是一个8位锁存器,STB是它的数据锁存/选通信号。STB为高电平时,DI7DI0上输入的信号进入锁存器;STB由高变低出现下降沿时,输入数据被锁定,锁存器的状态不再改变。8282具有三态输出功能, OE是数据输出允许端,它为低电平时,锁存器的内容通过内部的三态缓冲器从引脚DO7DO0输出。,3 地址锁存器8282与8086的连接 地址锁存器用来锁存8086输出的地址信号。,62,图中,8086的ALE与8282的STB相连。这样,8086在它的分时引脚AD1

29、5AD0,A19/S6A16/S3上输出地址信号时,20位地址被三片8282锁存。8282的输出成为系统地址总线。在8086访问存储器/IO设备的整个周期里,8282都会稳定地输出20位地址信号 在最小模式下,8282还同时锁存了8086输出的控制信号并送往系统总线。 8282也可以用其他具有三态输出功能的锁存器代替。,63,4. 总线驱动器8286与8086的连接,作用:总线数据收发器用来对CPU 与系统数据总线的连接进行控制,同时它还有增加系统数据总线驱动能力的作用。 8286是一种三态输出的8位双向总线收发器/驱动器,具有很强的总线驱动能力。它有二组8位双向的输入/输出数据线A7A0和B

30、7B0。,64,65,如果系统规模不大,并且不使用DMA传输(这意味着总线永远由8086独自控制),可以不使用总线收发器,将8086的引脚AD15AD0直接用作系统数据总线。,66,二、最小模式下的系统控制信号 1读写控制信号引脚 读写控制信号用来控制CPU对存储器和I/O设备的读写过程:控制数据传输方向(读/写)、传输种类(存储器还是I/O设备);读写方式(奇地址字节/偶地址字节/字);存储器/IO设备是否准备好的状态信号;分时总线上信号的类型等。,67,(4)READY 准备就绪信号。由外部输入,高电平有效,表示CPU访问的存储器或I/O端口已准备好传送数据。当READY无效时,要求CPU

31、插入一个或多个等待周期TW,直到READY信号有效为止。,(5)BHE/S7(Bus High Enable/Status) 总线高字节有效信号。三态输出,低电平有效。非数据传送期间,该引脚用作S7,输出状态信息。,68,69,70,4 DMA控制信号引脚 DMA传输是一种不经过CPU,在内存和I/O设备之间直接传输数据的方法。进行DMA传输之前要向CPU申请使用总线并取得认可。 (1)HOLD(Hold Request) 总线请求信号。输入,高电平有效,表示有其他设备向CPU请求使用总线。 (2)HLDA(Hold Acknowledge) 总线请求响应信号。输出,高电平有效。 CPU在每个

32、时钟周期都检测HOLD引脚,当检测到该信号,并且CPU允许其它部件占用总线,则在当前总线周期的T4状态发送HLDA信号,同时让出总线使用权(所有三态总线处于高阻态,从而不影响外部的存储器与I/O设备交换数据)。总线申请部件接到HLDA有效信号后即可接管总线进行操作,直到操作完成、撤销HOLD信号,CPU才重新接管总线。,71,72,典型配置: 1. 8086CPU 2. 1片时钟发生器8284 3. 3片地址锁存器8282 4. 2片总线驱动器8286(总线数据收发器) 5. 1片总线控制器8288,三、最大模式系统,73,82888,74,2.4 8086CPU的工作时序,一、8086CPU

33、的复位操作时序 复位操作的内容: 1. 所有内部寄存器、标志寄存器及ES、SS、DS 、IP清0,指令队列缓冲器清空,CS置全1,即FFFFH,复位信号消失后,程序从CS16+IP即FFFF0H地址开始执行。 2.复位时,所 有三态输出总 线变为高阻状 态。,开始进入RESET阶段,注意:80868088要求复位信号(RESET)至少有4个时钟周期的高电平,75,二、最小模式下的总线读周期 8086CPU完成从存储器或外设端口读取数据的操作时序。,由M/IO确定是与谁通信,在T1状态开始变为有效,因为总线复用,由ALE锁存地址,在T1状态开始ALE有效,在T1状态结束时,变为低电平,20位地址

34、被锁入8282地址锁存器。,若CPU需要从内存的奇地址单元或奇地址的IO端口读取数据,则输出BHE=0,表示高8位数据线上的数据有效。它和A0分别用于奇、偶存储体/IO端口的选体信号。,若系统中有总线收发器8286,则要用到DT/R和DEN,控制8286的数据传送方向和数据选通。在T1状态,DT/R输出低电平,表示总线周期为读周期,即让8286接收数据。,AD15AD0进入高阻态,为读取数据作准备。,RD开始变为低电平,此信号送到系统中所有存储器和I/O端口,但只对被地址信号选中的存储单元或I/O端口起作用,将读出数据送上数据总线。,数据允许DEN开始变为有效低电平,用来开放总线收发器8286

35、,以便在读出的数据送上数据总线(T3)之前就打开8286,让数据通过。其有效电平要维持到T4状态中期结束。DT/R继续保持低电平,处于接收状态。,内存单元或I/O端口将数据送到数据总线上,CPU通过AD15AD0接收数据。,CPU在T3前沿(下降沿)对READY采样。若READY为高电平,表示存储器或I/O端口已准备好数据,CPU在T3态结束时读取该数据。若READY为低电平,则表示存储器或外设不能如期送出数据,要求CPU在T3和T4之间插入1个或几个等待状态Tw。,进入TW状态后,CPU在每个TW的前沿(下降沿)采样READY,若为低电平,则继续插入TW 。若READY变为高电平,表示数据已

36、出现在数据总线上,在该TW结束时CPU从AD15AD0读取数据。,在T3(TW)和T4交界的下降沿处,CPU对数据总线进行采样,完成读取数据操作。在T4状态的后半周数据从数据总线上撤消。各控制信号和状态信号处于无效状态,一个读周期结束。,76,综上可知:在总线读周期中,CPU在 T1状态送出地址及相关信号; T2状态发出读命令和8286控制命令; T3、TW状态等待数据的出现; T4状态将数据读入CPU。,77,三、 最小模式下的总线写周期,78,由图可知,8086/8088的写总线周期与读总线周期有很多相似之处。和读操作一样,基本写周期也包含4个状态T1,T2,T3和T4。当存储器或I/O设备速度较慢时,在T3和T4之间插入1个或几个等待状态。,79,四、最小模式下的总线保持(即总线请求/响应)周期,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1