第2章8086微处理器及其系统.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 微处理器 及其 系统
- 资源描述:
-
单击此处编辑母版标题样式,*,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第2章 80,86,微处理器及其系统,2.1 8086,微处理器简介,2.2 8086,系统的存储器组织及,I/O,组织,2.3 8086,系统的工作模式,2.4 8086,的操作时序,1,8086,CPU,是,Intel,系列的16位微处理器,它有,16位数据总线和20位地址总线。,可寻址的地址空间是:,2,20,1,MB,2,2.1.1 8086,的编程结构,从程序员的角度看,,8086,CPU,分为两部分:,执行部件(,EU,),总线接口部件(,BIU,),2.,1 8086,微处理器简介,3,图2-,1,EU,控,制,系,统,4,1.执行部件(,EU),功能:执行指令,组成:,内部寄存器组;,算术逻辑运算单元,ALU,及标志寄存器;,内部控制逻辑电路。,5,SI:,源变址寄存器,DI:,目的变址寄存器,指针和变址寄存器,SP:,堆栈指针寄存器,BP:,基址指针寄存器,8,(2)算术逻辑单元(,ALU),及标志寄存器(,FR),算术逻辑运算单元,ALU,可完成16位或8位的算术逻辑运算。,ALU,运算后的结果特征(有无进位,溢出等)置入标志寄存器中保存。,标志寄存器,FR,16位寄存器,用来存放运算结果的特征和控制标志。,9,分为两类:,条件标志,共,6,位,用于寄存程序运行的状态信息,这些标志往往用作后续指令判断的依据。,控制标志,共,3,位,用于控制机器或程序的某些运行过程。,10,CF(Carry Flag),进位标志,-,反映在运行结果的最高位有无进位或借位。,CF=1,,表示本次运算中最高位有进位(加法运算时)或有借位(减法运算时);否则,CF=0。,条件标志,11,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,。,12,SF(Sign Flag),符号标志位,-,反映计算结果最高位即符号位的状态。如果运算,结果的最高位为,1,则,SF=1,,否则,SF=0,。,OF(Overflow Flag),溢出标志位,-,反映运算结果是否超出了带符号数的表数范围。,OF=1,表示运算结果超出了该字长所能表示的范围,即产生溢出;否则,OF=0,。,机器判断是否溢出是根据根据最高位的进位与次高位的进位是否相同来确定。若两者不相同则,OF,=1(表示有溢出),否则,OF,=0(表示无溢出),13,DF(Direction Flag),方向标志,-,用于串处理指令中控制串处理的方向。,在串操作指令中,若,DF=0,,表示串操作指令执行后地址指针自动增量;,DF=1,,表示地址指针自动减量。,DF,可通过,STD,指令置位,也可通过,CLD,指令复位。,IF(Interrupt Flag),中断允许标志位,-,用于控制,CPU,是否允许响应可屏蔽中断请求。,IF=1,,表示允许,CPU,响应可屏蔽中断请求。,IF=0,,表示禁止,CPU,响应可屏蔽中断请求。,IF,可通过,STI,指令置位(置1),也可通过,CLI,指令复位(清零)。,控制标志,14,TF(Trap Flag),单步标志位,-,用于单步操作。,TF=1,,控制,CPU,进入单步工作方式。在这种工作方式下,,CPU,每执行完一条指令就会自动产生一次内部中断,这在程序调试过程中很有用。,15,例1:若,AL=3BH,AH=7DH,,指出,AL,和,AH,中的内容相加后,,CF,AF,PF,SF,OF,和,ZF,的状态。,CF=0,(无进位),AF=,1(有辅助进位),PF=1(,运算结果有4个1),SF=1(,运算结果符号位为1),OF=1(,有溢出),ZF=0(,运算结果不为0),16,(3)内部控制逻辑电路,主要功能:从指令队列缓冲器中取出指令,对 指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。,17,2.总线接口部件,BIU,负责,CPU,与存储器、,I/O,设备之间传送数据、地址、状态及控制信息。,组成:,4个段地址寄存器(,CS、DS、ES、SS),16位的指令指针寄存器,IP(,Instruction Pointer,),20,位的地址加法器,6,字节的指令队列缓冲器,总线控制逻辑,18,(1)段地址寄存器(,CS,DS,SS,ES),存储器的分段,8086可寻址的存储空间为1,MB,,有20位的地址线,而内部的寄存器是16位,只能寻址64,KB。,所以8086系统采用了,地址分段的方法,,将1,M,存储空间分成若干块,称为“逻辑段”,存放一种类型的数据或者程序。因此1,M,的存储空间可分成16个逻辑段(015)。在段内寻址仍采用传统的16位地址寻址方法。,19,在8086存储空间中,把16字节的存储空间称作一内存节(,paragraph)。,要求,各个逻辑段从节的整数边界开始,即段首地址低4位应该是“0”,把段首地址的高16位存放在段寄存器,DS,或,CS,或,SS,或,ES,中,。,00000,H 00010H 00020H FFFF0H,20,允许段在整个存储空间浮动,即段与段之间可以,部分重叠、完全重叠、连续排列。在整个存储空间中,可设置若干个逻辑段。,对于任何一个物理地址,可以惟一地被包含在一,个逻辑段中,也可,包含在多个相互重,叠的逻辑段中,只,要有段地址和段内,偏移地址就可以访,问到这个物理地址,所对应的存储空间。,21,2345H:0000H 01H,:,:,2345H:1100H 78H,例如:,2345H,:,1100H,表示段地址为,2345H,(段的起始地址是,23450H,),段内偏移地址为,1100H,的存储单元地址。在,8086CPU,中有专用的寄存器存放段地址和偏移地址。,22,段可分为代码段,数据段,附加段,堆栈段。用于存放段基址有 4个16位段寄存器,代码段寄存器,CS,,数据段寄存器,DS,,附加段寄存器,ES,和堆栈段寄存器,SS。,代码段:,存放程序代码。,数据段:,用于存放当前使用的数据。需要第二个数据段时可以使用附加段。,23,堆栈段:,是内存中的一块存储区,用来存放专用数据。如调用子程序时的入口参数,返回地址等,这些数据都按照“,后进先出,”的规则进行存取。,SS,存放堆栈段的段基址,,SP,存放当前堆栈栈顶的偏移地址。数据进出堆栈要使用专门的堆栈操作指令,,SP,的值在执行堆栈操作指令时根据规则自动地进行修改。,编程时,程序和各种不同类型的数据分别存放在不同的逻辑段中。,24,25,例:,已知,CS=1055H,,DS=250AH,,ES=2EF0H,,SS=8FF0H,,画出各段在内存中的分布,写出段首地址。,10550,H,250,A0H,2,EF00H,8,FF00H,代码段,数据段,附加段,堆栈段,26,采用段地址的好处:,解决了,16,位寄存器访问大于,64KB,内存空间的问题;,可以实现程序重定位,即一个不到,64KB,大小的程序可通过改变段寄存器的内容(一般由操作系统完成)放在,1MB,空间的任意段位置,从而为运行多道程序提供方便。,27,(2)地址加法器,功能:用于产生,20,位的物理地址。即进行一次地址加法,将段寄存器的内容左移,4,位与偏移地址相加,,得到,20,位的物理地址,从而可寻址,1MB,的存储空间。,物理地址,段寄存器的内容16(即左移4位)+偏移地址,物理地址:访问存储器的实际地址,用20位二进制表示。,28,29,例:,逻辑地址2345,H:1100H,对应的物理地址是,24550H。,23450,H+1100H,=24550,H。,反之,物理地址24550,H,,它对应的逻辑地址可以是2455,H:0000H,,也可以是2400,H:0550H,等。,注意:,一个存储单元的物理地址是惟一的,而它对应的逻辑地址是不惟一的。,30,(3)指令指针寄存器,IP,16位,功能:用来存放将要执行的下一条指令在代码段中的偏移地址。在程序运行过程中,,BIU,自动修改,IP,中的内容,使它始终指向将要执行的下一条指令。,注意:,程序不能直接访问,IP,,但是可通过某些指令修改,IP,的内容。例如,执行转移指令时,会将转移的目标地址送入,IP,中,以实现程序的转移。,31,(4)指令队列缓冲器6字节,BIU,从存储器中读出指令送入6字节的指令队列。一旦指令队列中空出,2个字节,,,BIU,将自动进行读指令的操作以填满指令队列。遇到转移类指令,,BIU,将指令队列中剩余的指令作废,重新从存储器新的地址单元中取指令并送入指令队列。一般情况下应保证指令队列中填满指令,使得,EU,可以不断地得到等待执行的指令。,(5)总线控制逻辑,32,3.总线接口部件和执行部件的管理,当8086指令队列中有2字节空闲时,总线接口部件就自动将指令从内存中预取到指令队列缓冲器中。,每当,EU,部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。,EU,在执行指令中若需要访问内存或,I/O,设备,,EU,就向,BIU,申请总线周期,若,BIU,总线空闲,则立即响应,若,BIU,正在取一条指令,则待取指令操作完成后再响应,EU,的总线请求。,遇到转移、调用及返回指令时,,BIU,就自动清除指令队列中已有内容,从转移、调用或返回的新地址开始,重新从内存中预读取指令并填充指令队列。,这两部分既非同步工作方式,也不完全无关,而是互相配合工作的。,33,2.1.2 8086CPU,的引脚及其功能,8086,CPU,是十六位的微处理器,它向外的信号应包含16条数据线,20条地址线,再加上其他一些必要的控制信号。为了减少芯片引脚数量,对部分引脚采用了分时复用的方式,构成,40条引脚的双列直插式,封装。,分时复用,就是在同一根传输线上,在不同时间传送不同的信息。,8086/8088依靠分时复用技术,用40个引脚实现了众多数据、地址、控制信息的传送。,34,1、8086总线周期,时钟周期:,CPU,的一切操作都是在系统主时钟,CLK,的控制下按节拍有序地进行的。,系统主时钟一个周期信号所持续的时间称为时钟周期(,T),,大小等于频率的倒数,是,CPU,的基本时间计量单位。,总线周期:,CPU,通过外部总线对存储器或,I/O,端口进行一次读/写操作的过程称为总线周期,。为完成对存储器或,I/O,端口的一次访问,,CPU,需要先后发出存储器或,I/O,端口地址,读或者写操作命令,进行数据的传输。以上的每一个操作都需要延续一个或几个时钟周期。所以,,一个总线周期由若干个时钟周期(,T),组成。,35,T,1,状态:,CPU,向多路复用总线上,发送地址信息(,A,19,A,0,),指出要寻址的内存单元地址或,I/O,端口地址。这期间,CPU,还要送出地址锁存信号,ALE(,正向脉冲),在,ALE,的下降沿将内存单元地址或,I/O,端口地址存入地址锁存器。,T,2,状态:,CPU,从总线上撤销地址,使总线低16位呈现高阻状态,为数据传输作准备。,总线高4位(,A,19,A,16,),输出总线周期的状态信息,,用以表示中断允许状态及正在使用的段寄存器名等。,36,T,3,状态:,A,19,A,16,上状态信息不变,总线低16位上出现,CPU,要写出的数据或准备读入的数据,。若外设或内存来不及与总线交换数据,以使在,T,4,状态下结束该总线周期,则应通过,CPU,的,READY,信号,在,T,3,前沿(下降沿)之前向,CPU,申请插入,等待状态,T,W,。,在,T,3,及,T,W,的前沿查询,READY,线,查到为高电平则结束等待状态,进入下一状态。否则继续插入等待状态。,T,4,状态:,总线周期结束,若为总线读周期则在,T,4,前沿将数据读入,CPU。,T,I,状态:,总线空闲周期。,图2-3 典型的8086总线周期时序,37,2.8086,CPU,的引脚及功能,8086引脚分配图,38,(1),GND(,地)和,VCC(,电源),(2),AD,15,AD,0,(address data bus),地址数据复用引脚(双向,三态),作为复用引脚,在总线周期的,T,1,状态用来输出要访问的存储器或,IO,端口地址。,T,2,T,3,状态,对读周期来说,处于浮空状态;对写周期来说,则是传输数据。,(3),A,19,/S,6,A,16,/S,3,(address/status),地址/状态复用引脚(输出,三态,),在总线周期的,T,1,状态,用来输出地址的最高4位,A,19,A,16,与,AD,15,AD,0,一起构成访问存储器的20位物理地址。,CPU,访问,I/O,端口时,,A,19,A,16,保持为“0”。在,T,2,,T,3,,T,W,和,T,4,状态时,,S,6,S,3,用来输出状态信息。,39,S4 S3,表示意义,0 0,正在使用,ES,0 1,正在使用,SS,1 0,正在使用,CS,1 1,正在使用,DS,其中:,S6,:S6=0,表示8086,CPU,占用系统总线,在,T,2,,T,3,,T,W,和,T,4,状态时,8086总是使,S,6,=0。,S5,:,反映标志寄存器的中断允许标志,IF,的设置情况,IF=1,,允许可屏蔽中断,则,S5=1,IF=0,,禁止可屏蔽中断,则,S5=0,S4,S3,:,指明正在使用的段寄存器情况。,40,(4),BHE/S,7,(Bus High Enable/Status),高8位数据总线允许状态复用引脚(输出,三态,低电平有效),在,T,1,状态,,BHES,7,引脚输出,BHE,信号,表示高8位数据总线,D,15,D,8,上的数据有效。在,T,2,,T,3,,T,W,和,T,4,状态,,BHES,7,输出状态信号,S,7,。,8086,CPU,有16根数据线,低8位数据线总是和偶地址的存储器或,I/O,端口相连接,高8位的数据线与奇地址的存储器或,I/O,端口相连接。,BHE,有效,表示,CPU,正在使用高8位的数据线对奇地址的存储单元或,I/O,端口进行访问。它与地址码最低位,A,0,配合起来表示当前总线使用情况。,41,BHE A,0,操 作,使用数据线,0 0,1 0,0 1,从偶地址开始读/写一个字,从偶地址读/写一个字节,从奇地址读/写一个字节,AD,15,AD,0,AD,7,AD,0,AD,15,AD,8,0,1,1 0,从奇地址开始读/写一个字,(第一个总线周期),(第二个总线周期),AD,15,AD,8,AD,7,AD,0,BHE,和,A,0,信号的意义,42,(5),NMI(Non Maskable Interrupt Request),非屏蔽中断请求引脚 (输入),由外部输入,,边沿触发,,正跳沿(由低到高的上升沿)有效,不受中断允许标志,IF,的影响,也不能用软件进行屏蔽。,CPU,一旦测试到,NMI,请求有效,在当前指令执行完后自动转去执行中断类型号为2的非屏蔽中断中断服务程序。显然这是一种比,INTR,级别高的中断请求。,(6)INTR(Interrupt Request),可屏蔽中断请求引脚(输入),由外部输入,,电平触发,,高电平有效。,INTR,有效时,表示外部向,CPU,发出中断请求。,CPU,在每条指令的最后一个时钟周期对,INTR,进行采样,一旦测试到中断请求,并且当前中断允许标志,IF=1,,则,CPU,就会在结束当前指令后,响应中断请求,进入一个中断处理子程序。,43,RD(Read),读信号,输出、三态、低电平有效。,在,CPU,执行读操作时,,RD,信号在,T,2,、T,3,、T,W,期间为低电平有效。,到底读存储器还是读,I/O,端口还决定于,M/IO,,若,M/IO,为高则为读存储器,,M/IO,为低则读,I/O,端口。,CLK(Clock),时钟输入引脚,8086要求时钟占空比为1/3,即一个周期中1/3为高电平、2/3为低电平。,CPU,的所有操作均是在时钟的同步下进行的。,44,RESET(Reset),复位引脚,输入、高电平有效。,8086要求复位信号至少维持4个时钟周期的高电平,才有效,,以完成,CPU,内部寄存器的复位操作。,复位信号一出现,,CPU,立即结束当前的操作,进入复位操作,即将,标志寄存器(,FR)、IP、DS、SS、ES,清0,指令队列清空,,CS,置为,FFFFH,。,当复位信号降为低电平后,,CPU,从,CS:IP,开始取出指令并执行它,即系统复位后执行的第一条指令的物理地址为,FFFF0H。,系统程序一般在该物理地址单元放一条转移指令,转到引导程序的入口。,45,(10),READY,(,Ready,),准备好引脚,输入、高电平有效,当,CPU,执行总线读写周期访问存储器或,I/O,设备时,若存储器或,I/O,设备的读写速度较慢,来不及在,T,4,状态结束数据传输,就需要设计一个硬件电路,在,T,3,之前向,CPU,提供一个低电平,READY,信号。,CPU,在每个总线周期的,T,3,状态的前沿开始对,READY,信号进行采样。如果检测到,READY,为低电平,则在,T3,状态之后插入,一个,T,W,等待状态,并在,T,W,前沿继续查询,READY,线,若,READY,仍为低电平,则会继续插入,T,W,,,直到,READY,升为高电平,才进入,T,4,状态,完成数据传送过程。,46,(11),TEST(Test),测试引脚,输入、低电平有效,和,WAIT,指令配合使用,执行,WAIT,时,,CPU,暂停执行程序,进入空转状态等待。当,TEST,引脚接收到一个低电平信号时,,CPU,就结束等待,继续向下执行指令。和,WAIT,配合,可以实现,CPU,与外设同步工作。,(12),MN/MX(Minimum/Maximum Mode Control),最小/最大模式控制引脚,输入。,该引脚接+5,V,则8086工作在最小模式,,该引脚接地,则8086,CPU,工作在最大模式。,47,2.2 8086系统的存储器组织及,I/O,组织,2.2.1 8086,系统的存储器组织,1.8086系统的存储器的结构,图2-5 存储体地址空间分配 图2-6 存储体与总线的连接,00000H,00001H,00002H,00003H,FFFFEH,FFFFFH,48,关于几种读写情况的说明:,(1),从偶地址读写一个字节,(,BHE A,0,10),如图,a,AD,15,AD,8,上的数据被忽略,字节内容通过,AD,7,AD,0,传送。,(2),从奇地址读写一个字节,(,BHE,A,0,01),如图,c,AD,15,AD,8,上传送的数据有效,,AD,7,AD,0,上数据被忽略。,49,(3),从偶地址开始读写一个字,(,BHE,A,0,00),如图,b,在,AD,15,AD,0,上传送的数据同时有效。,(4),从奇地址开始读写一个字,占用两个总线周期,。,第一个总线周期,BHE,A,0,01,,从奇地址读写低字节,在,AD,15,AD,8,上传送的数据有效。第二个总线周期,BHE,A,0,10,,从偶地址读写高字节,在,AD,7,AD,0,上传送的数据有效。,50,2.8086系统存储器的地址,(1)物理地址的计算公式:,物理地址段地址16偏移地址。段地址由段寄存器提供,偏移地址由,IP、SP、BP、SI、DI,等寄存器或存储器提供,也可通过计算而得。不同的指令有不同的组合方式。,(2)段地址的引入,,为程序在内存中浮动创造了条件,一般用户程序只涉及偏移地址。段地址在程序装入内存时由操作系统分配。所以一个程序可在内存中任何一个逻辑段(64,KB,空间)中运行。,(3)同一物理地址可以由不同的段地址和偏移地址表示。,例如:,CS=2000H IP=1000H,物理地址=21000,H,CS=2100H IP=0000H,物理地址=21000,H,51,ES,52,3.8086系统内存地址的一些专用区域,00000003,FFH,1KB,空间用于存放中断向量表,可存放256个中断服务程序的入口地址,每个地址占,4字节。,B0000B0FFFH 4KB,为单色显示器显示缓冲区,存放屏幕当前显示字符的,ASCII,码。,B8000BBFFFH 16KB,彩色显示器显示缓冲区,存放当前屏幕像素代码。,FFFF0H,起动地址,一般用来存放一条无条件转移指令,转到系统初始化程序。,53,2.2.2 8086,系统的,I/O,组织,8086系统有专用的输入(,IN)、,输出(,OUT),指令,用于外设端口(即外设接口中的内部寄存器)的寻址。,I/O,端口与内存分别独立编址。,I/O,端口使用16位地址,A,15,A,0,,I/O,端口地址范围为0000,HFFFFH,,可寻址空间为64,KB。,在以8086为,CPU,的,PC/XT,微机中,只使用了10位有效端口地址,A,9,A,0,,,共1,KB,空间。,54,一、最小模式和最大模式的概念,8086/8088,CPU,为适应不同的应用环境,,8086,可工作于两种工作模式:最大模式和最小模式。,最小模式:,是指系统中,只有一个8086/8088处理器,,所有的总线控制信号都由8086/8088,CPU,直接产生,构成系统所需的总线控制逻辑部件最少,最小模式因此得名。最小模式,也称单处理器模式。,2.3 8086系统配置,55,最大模式,:系统内可以有一个以上的处理器,除了8086/8088作为“,中央处理器,”之外,还可以配置用于数值计算的,8087(数值协处理器),和用于,I/O,管理的,8,089(I/O,协处理器),等。各个处理器发往总线的命令统一送往“总线控制器”,由它“仲裁”后发出。,两种工作模式由,MN/MX,引脚决定:,接高电平(+5,v),CPU,工作在最小模式;,接低电平(接地),,CPU,工作在最大模式。,56,二、最小模式系统,1.典型配置:,1.,8086CPU,2.1片时钟发生器8284,3.3片地址锁存器8282,4.2片总线驱动器8286(总线数据收发器,),57,58,CPU,及其外围芯片合称为,CPU,子系统。,外围芯片的作用是:,(1)为,CPU,工作提供条件:提供适当的时钟信号,对外界输入的控制/联络信号进行同步处理;,(2)分离,CPU,输出的地址/数据分时复用信号,得到独立的地址总线和数据总线信号,同时还增强它们的驱动能力;,(3)对,CPU,输出的控制信号进行组合,产生稳定可靠、便于使用的系统总线信号。,59,8284通过外接晶振芯片产生时钟信号,并对这个信号3分频,产生占空比为1/3的时钟信号,CLK,送往8086,CPU。,8284还对外部输入的,RESET,和,READY,信号,进行同步,产生与,CLK,同步的复位信号,RESET,和准备就绪信号,READY,送往8086。,2 时钟发生器8284与8086的连接,60,8282是一个8位锁存器,,STB,是它的数据锁存/选通信号。,STB,为高电平时,,DI,7,DI,0,上输入的信号进入锁存器;,STB,由高变低出现下降沿时,输入数据被锁定,锁存器的状态不再改变。8282具有三态输出功能,,OE,是数据输出允许端,它为低电平时,锁存器的内容通过内部的三态缓冲器从引脚,DO,7,DO,0,输出。,3 地址锁存器8282与8086的连接,地址锁存器用来锁存8086输出的地址信号。,61,图中,8086的,ALE,与8282的,STB,相连。这样,8086在它的分时引脚,AD,15,AD,0,,A,19,/S,6,A,16,/S,3,上输出地址信号时,20位地址被三片8282锁存。8282的输出成为系统地址总线。在8086访问存储器/,IO,设备的整个周期里,8282都会稳定地输出20位地址信号,在最小模式下,8282还同时锁存了8086输出的控制信号并送往系统总线。,8282也可以用其他具有三态输出功能的锁存器代替。,62,4.总线驱动器8286与8086的连接,作用:,总线数据收发器用来对,CPU,与系统数据总线的连接进行控制,同时它还有增加系统数据总线驱动能力的作用。,8286是一种三态输出的8位双向总线收发器/驱动器,具有很强的总线驱动能力。它有二组8位双向的输入/输出数据线,A,7,A,0,和,B,7,B,0,。,63,8286,有二个控制信号:数据传送方向控制信号,T,输出允许信号,OE(,低电平有效),当,OE,=1时,缓冲器呈高阻状态,两个方向都不能传送数据。,当,OE=0,,,T,=1时,,A,7,A,0,为输入端,,B,7,B,0,为输出端,实现,A,到,B,的传送;,当,OE=0,,,T,=0时,,A,7,A,0,为输出端,,B,7,B,0,为输入端,实现,B,到,A,的传送。,64,如果系统规模不大,并且不使用,DMA,传输(这意味着总线永远由8086独自控制),可以不使用总线收发器,将8086的引脚,AD,15,AD,0,直接用作系统数据总线。,8286用作数据总线驱动器时,,T,与8086数据收发信号相连,用于控制数据传送方向;,OE,与8086数据允许信号相连,保证只有在,CPU,需要访问存储器或,I/O,端口时才允许数据通过8286。二片8286的,A,7,A,0,与8086的,AD,15,AD,0,相连,而二组,B,7,B,0,则成为系统数据总线。,65,二、最小模式下的系统控制信号,1读写控制信号引脚,读写控制信号用来控制,CPU,对存储器和,I/O,设备的读写过程:控制数据传输方向(读/写)、传输种类(存储器还是,I/O,设备);读写方式(奇地址字节/偶地址字节/字);存储器/,IO,设备是否准备好的状态信号;分时总线上信号的类型等。,(1),M/IO(Memory/IO),存储器或,I/O,端口访问选择信号,三态输出。,为高电平时,表示当前,CPU,正在访问存储器;,为低电平时,表示,CPU,当前正在访问,I/O,端口。,66,(4),READY,准备就绪信号。由外部输入,高电平有效,表示,CPU,访问的存储器或,I/O,端口已准备好传送数据。当,READY,无效时,要求,CPU,插入一个或多个等待周期,TW,,直到,READY,信号有效为止。,(2),RD(Read),读信号,三态输出。,低电平有效,表示当前,CPU,正在读存储器或,I/O,端口。,(3)WR(Write),写信号,三态输出。,低电平有效,表 示当前,CPU,正在写存储器或,I/O,端口。,M/IO、WR,及,RD,合起来决定系统中数据传输的方向。,(5),BHE/S,7,(Bus High Enable/Status),总线高字节有效信号。三态输出,低电平有效。非数据传送期间,该引脚用作,S,7,,,输出状态信息。,67,(6)ALE(Address Latch Enable),地址锁存允许信号。,输出,高电平有效。表示当前地址/数据分时使用的引脚上正在输出地址信号。向地址锁存器8282提供地址锁存信号。,(7),DEN,(,Data Enable),数据允许信号。,三态输出,低电平有效。表示当前地址/数据分时使用的引脚上正在传输数据信号。8286将它作为输出允许信号。进行,DMA,传输时,被置为高阻态。,(8),DT/R,(,Data Transmit/Receive),数据发送/接收控制信号,,三态输出。当它为高电平时表示为数据发送,,CPU,写数据到存储器或,I/O,端口;为低电平时表示为数据接收,,CPU,从存储器或,I/O,端口读取数据。该信号用来控制总线收发器8286的数据传送方向。,68,2 中断控制信号引脚,中断是外部设备请求,CPU,进行数据传输的有效方法。这一组引脚传输中断的请求和应答信号。,(1),INTR(Interrupt Request),可屏蔽中断请求信号。,(2),INTA,(,Interrupt Acknowledge),中断响应信号。,输出,三态,低电平有效。该信号包含两个负脉冲。外设申请可屏蔽中断,,CPU,响应后,在两个连续的中断响应周期发出两个负脉冲信号。第一个通知外设,,CPU,已经收到并且响应外部发来的,INTR,信号(主要用于中断优先权排队),第二个要求申请中断的设备向,CPU,发送中断类型(代表该中断的一个编号)。,(3),NMI(Non,Maskable,Interrupt Request),非屏蔽中断请求信号。,69,4,DMA,控制信号引脚,DMA,传输是一种不经过,CPU,,在内存和,I/O,设备之间直接传输数据的方法。进行,DMA,传输之前要向,CPU,申请使用总线并取得认可。,(1),HOLD(Hold Request),总线请求信号。,输入,高电平有效,表示有其他设备向,CPU,请求使用总线。,(2),HLDA(Hold Acknowledge),总线请求响应信号。,输出,高电平有效。,CPU,在每个时钟周期都检测,HOLD,引脚,当检测到,该,信号,并且,CPU,允许其它部件占用总线,则在当前总线周期的,T,4,状态发送,HLDA,信号,同时,让出总线使用权(所有三态总线处于高阻态,从而不影响外部的存储器与,I/O,设备交换数据)。,总线申请部件接到,HLDA,有效信号后即可接管总线进行操作,直到操作完成、撤销,HOLD,信号,,CPU,才重新接管总线。,70,常用的最小模式控制总线信号归纳如下:,控制存储器/,IO,端口读写的信号:,M/IO,,,RD,,,WR,,,BHE,,,DEN,,,DT/R,,,READY。,用于中断联络和控制的信号:,INTR,INTA,NMI。,用于,DMA,联络和控制的信号:,HOLD,HLDA。,以上这些信号是构建微型计算机系统的核心。,71,典型配置:,1.,8086CPU,2.1片时钟发生器8284,3.3片地址锁存器8282,4.2片总线驱动器8286(总线数据收发器,),5.1片总线控制器8288,三、最大模式系统,72,8288,8,73,2.4 8086CPU,的工作时序,一、8086,CPU,的复位操作时序,复位操作的内容:,1.所有内部寄存器、标志寄存器及,ES,、,SS,、,DS、IP,清,0,,指令队列缓冲器清空,,CS,置全1,即,FFFFH,,,复位信号消失后,程序从,CS,16+IP,即,FFFF0H,地址开始执行。,2.复位时,所,有三态输出总,线变为高阻状,态,。,开始进入,RESET,阶段,注意:80868088要求复位信号(,RESET),至少有4个时钟周期的高电平,74,二、最小模式下的总线读周期,8086,CPU,完成从存储器或外设端口读取数据的操作时序。,由,M/IO,确定是与谁通信,在,T1,状态开始变为有效,由20条地址线确定,在,T1,状态开始20位地址有效,因为总线复用,由,ALE,锁存地址,在,T1,状态开始,ALE,有效,在,T1,状态结束时,变为低电平,20位地址被锁入8282地址锁存器。,若,CPU,需要从内存的奇地址单元或奇地址的,IO,端口读取数据,则输出,BHE=0,,表示高8位数据线上的数据有效。它和,A,0,分别用于奇、偶存储体/,IO,端口的选体信号。,若系统中有总线收发器8286,则要用到,DT/R,和,DEN,,控制8286的数据传送方向和数据选通。在,T1,状态,,DT/R,输出低电平,表示总线周期为读周期,即让8286接收数据。,地址信息撤消,,A,19,/S,6,A,16,/S,3,及,BHE/S,7,上输出状态信息,S,7,S,3,,,一直维持到,T,4,。其中,S,7,未赋予实际意义,AD,15,AD,0,进入高阻态,为读取数据作准备。,RD,开始变为低电平,此信号送到系统中所有存储器和,I/O,端口,但只对被地址信号选中的存储单元或,I/O,端口起作用,将读出数据送上数据总线。,数据允许,DEN,开始变为有效低电平,用来开放总线收发器8286,以便在读出的数据送上数据总线(,T,3,),之前就打开8286,让数据通过。其有效电平要维持到,T,4,状态中期结束。,DT/R,继续保持低电平,处于接收状态。,内存单元或,I/O,端口将数据送到数据总线上,,CPU,通过,AD,15,AD,0,接收数据。,CPU,在,T,3,前沿(下降沿)对,READY,采样。若,READY,为高电平,表示存储器或,I/O,端口已准备好数据,,CPU,在,T,3,态结束时读取该数据。若,READY,为低电平,则表示存储器或外设不能如期送出数据,要求,CPU,在,T,3,和,T,4,之间插入1个或几个等待状态,Tw。,进入,T,W,状态后,,CPU,在每个,T,W,的前沿(下降沿)采样,READY,,若为低电平,则继续插入,T,W,。,若,READY,变为高电平,表示数据已出现在数据总线上,在该,T,W,结束时,CPU,从,AD,15,AD,0,读取数据。,在,T,3,(T,W),和,T,4,交界的下降沿处,,CPU,对数据总线进行采样,完成读取数据操作。在,T,4,状态的后半周数据从数据总线上撤消。各控制信号和状态信号处于无效状态,一个读周期结束。,75,综上可知:在总线读周期中,,CPU,在,T,1,状态送出地址及相关信号;,T,2,状态发出读命令和8286控制命令;,T,3,、T,W,状态等待数据的出现;,T,4,状态将数据读入,CPU。,76,三、最小模式下的总线写周期,77,由图可知,8086/8088的写总线周期与读总线周期有很多相似之处。和读操作一样,基本写周期也包含4个状态,T,1,,T,2,,T,3,和,T,4,。,当存储器或,I/O,设备速度较慢时,在,T,3,和,T,4,之间插入1个或几个等待状态,。,总线写周期和读周期相比,有几点不同:,在写周期中,由于从地址/数据线,AD,15,AD,0,上输出地址(,T,1,态)和输出数据(,T,2,态,),是同方向的,因此,在,T,2,状态不再需要像读周期时维持一个时钟周期的高阻态作缓冲。写周期中,,AD,15,AD,0,在发完地址后立即转入发数据,以使内存或,I/O,设备一旦准备好就可以从数据总线上取走数据。,DT/R,为高电平,表示为写周期,控制8286向外发送数据。,写周期中,WR,信号有效,,RD,信号变为无效,但它们出现的时间类似。,78,四、最小模式下的总线保持(即总线请求/响应)周期,79,展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


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
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14644814.html