《第6章输入输出及中断技术.ppt》由会员分享,可在线阅读,更多相关《第6章输入输出及中断技术.ppt(82页珍藏版)》请在三一办公上搜索。
1、第6章 输入输出及中断技术,主要内容:,I/O端口及其编址方式简单接口芯片及其应用基本输入输出方法中断的基本概念及工作过程 中断控制器8259,6.1 输入输出接口,主要内容:I/O接口与I/O端口的概念I/O端口的编址方式端口地址译码数据传送方式,一、I/O接口与端口,I/O接口:将外设连接到总线上的一组逻辑电路的总称实现外设与主机之间的信息交换I/O端口:接口中的寄存器,I/O接口要解决的问题,速度匹配(Buffer)信号的驱动能力(电平转换器、驱动器)信号形式和电平的匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门),接口的功能,数据的缓冲与暂
2、存信号电平与类型的转换增加信号的驱动能力对外设进行监测、控制与管理,中断处理,二、I/O端口的编址方式,数据端口状态端口控制端口,端 口,I/O端口,CPU,数据,状态,控制,外设,I/O端口的编址方式,统一编址独立编址,端口与内存的统一编址,特点:指令及控制信号统一内存地址资源减少,内存地址960KB,I/O地址64KB,00000H,F0000H,FFFFFH,端口的独立编址,特点:内存地址资源充分利用能够应用于端口的指令较少,内存地址,I/O地址,00000H,FFFFFH,FFFFH,0000H,端口的独立编址,8088总线,A19-A0,A15-A0,MEMR、MEMW,IOR、IO
3、W、AEN,存储器,输入/输出,8088/8086的I/O端口编址,采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用IO/M来区分I/O操作只使用20根地址线中的16根:A15A0可寻址的I/O端口数为64K(65536)个I/O地址范围为0FFFFHIBM PC只使用了1024个I/O地址(03FFH),三、I/O地址的译码,目的:确定端口的地址参加译码的信号:IOR,IOW,A15 A0OUT指令将使总线的IOW信号有效IN指令将使总线的IOR信号有效,I/O地址的译码,当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,则
4、16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口,I/O地址的译码,某外设接口有4个端口,地址为2F0H2F3H,则其基地址为2F0H,由A15A2译码得到,而A1、A0用来确定4个端口中的某一个连接,四、I/O数据的传送方式,并行 一个数据单位同时传送串行数据按位传送,6.2 简单接口电路,掌握:接口电路的分类及特点两类简单接口芯片的应用,一、接口的基本构成,数据线,控制线,状态线,DB,CB,AB,数据输入寄存器(or 三态门),数据输出寄存器(锁存器),状态寄存器(or 三态门),命令寄存器,译码电路,控制逻辑,接口的基本构成,数据输入/输出寄存器 暂存输
5、入/输出的数据命令寄存器 存放控制命令,用来设定接口功能、工作参数和工作方式状态寄存器 保存外设当前状态,以供CPU读取,接口的基本构成,CPU,I/O接口,外设,数 据,端口地址,控 制,数 据,状 态,控 制,二、接口的类型及特点,输入接口输出接口,接 口,接口特点,输入接口:要求对数据具有控制能力(常用三态门实现)输出接口:要求对数据具有锁存能力(常用锁存器实现),三、三态门接口,高电平、低电平、高阻态,三态门接口,三态门的工作波形:,A0A15,IOR,译码输出,D0D7,开关状态,地址有效,74LS244,含8个三态门的集成电路芯片在外设具有数据保持能力时用来输入接口74LS244应
6、用例 教材p252,P251图,三态门接口应用例,利用三态门作为输入接口(接口地址380H)接到地址范围为70000H71FFFH的EEPROM芯片的READY/BUSY端,当三态门输出高电平时,可向98C64A写入一个字节数据,输出低电平时则不能写入。画芯片与系统的连接图,三态门接口应用例,D0D7,A0,A12,WE,OE,READY/BUSY,A0,A12,MEMW,MEMR,高位地址信号,D0D7,D0,380H,CE,译码,IOR,四、锁存器接口,通常由D触发器构成特点:具有对数据的锁存能力 不具备对数据的控制能力,常用锁存器芯片,74LS273 不具备数据的控制能力74LS373
7、具有对数据的控制能力,P254图,锁存器芯片74LS374,D0D7,Q0,Q7,.,OE,CP,译码器,D0D7,Q0,Q7,.,OE,CP,译码器,做输出口:,做输入口:,外设,自外设,I/O接口综合应用例,根据开关状态在7段数码管上显示数字或符号设输出接口的地址为F0H设输入接口地址为F1H当开关的状态分别为00001111时,在7段数码管上对应显示0F,O1 I1O2 I2O3 I3O4 I4E1,K0K3,+5V,GG2AG2BCBA,1,74LS244,D0 Q0|Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7,abcdefgDP,7406,反相器,74LS273,Rx8,1,7
8、4LS138,D0D7,IOW#,IOR#,Y0,Y1,F0H=0000 0000 1111 0000F1H=0000 0000 1111 0001,&,1,A7A4,A15A8,A3,A2,A1,A0,D0,D1,D2,D3,译码器,I/O接口综合应用例程序段,Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH,39H,5EH,79H,71H LEA BX,Seg7 MOV AH,0,GO:MOVDX,0F1H INAL,DX AND AL,0FH MOV SI,AX MOV AL,BX+SI MOV DX,0F0H OUT DX,
9、AL JMP GO,6.3 基本输入/输出方法,无条件传送查询式传送中断方式传送直接存储器存取(DMA),一、无条件传送,适用于总是处于准备好状态的外设优点:软件及接口硬件简单缺点:只适用于简单外设,适应范围较 窄,无条件传送例,读取开关的状态当开关闭合时,输出编码使发光二极管亮,D,CP,Q,D0,D1,输出口地址38F3H,输入口地址38F0H,+5V,1,二、查询工作方式,适用场合:外设并不总是准备好对传送速率和效率要求不高对外设及接口的要求:外设应提供设备状态信息接口应具备状态端口,查询工作方式,优点:软件比较简单缺点:CPU效率低,数据传送的实时性 差,速度较慢,单一外设时的工作流程
10、,超时?,READY?,与外设进行数据交换,超时错,读入并测试外设状态,Y,N,Y,N,传送完?,防止死循环,复位计时器,N,Y,查询工作方式例,外设状态端口地址为03FBH,第5位(bit5)为状态标志(=1忙,=0准备好)外设数据端口地址为03F8H,写入数据会使状态标志置1;外设把数据读走后又把它置0。试画出其电路图,并将DATA下100B数输出,D5,D7-D0,A9|A3,1,&,A15|A10,1,IOW,D7-D0,3F8H,外设,D7D6D5D4D3D2D1D0,BUSY,CP,Q7Q6Q5Q4Q3Q2Q1Q0,状态端口,GG2AG2BCBA,A2A1A0,74LS138,Y0
11、,1,IOR,Y3,OE,74LS374,3FBH,程序段?,三、中断控制方式,特点:外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序优点:CPU效率高,实时性好,速度快缺点:程序编制较为复杂,以上三种I/O方式的共性,均需CPU作为中介:软件:外设与内存之间的数据传送是通过CPU执行 程序来完成的(PIO方式)硬件:I/O接口和存储器的读写控制信号、地址信号 都是由CPU发出的 缺点:程序的执行速度限定了传送的最大速度(约 为几十KB/s),四、DMA控制方式,特点:外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者总线由DMA控
12、制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供,DMA控制方式,DMAC,外设接口,CPU,QRD,MEM,DACK,HOLD,HLDA,BUS,控制信号,DMA控制方式的工作过程,外设向DMA控制器发出“DMA传送请求”信号DRQDMA控制器收到请求后,向CPU发出“总线请求”信号HOLDCPU在完成当前总线周期后会立即发出HLDA 信号,对HOLD信号进行响应DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK,DMA控制方式的工作过程,DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间
13、的直接数据传送例:从外设向内存传送一个字节 DMAC向I/O接口发出读信号,同时往地址总线上发出存储器的地址和存储器写信号和AEN信号。,DMA控制方式的工作过程,DMA控制器自动修改地址和字节计数器,并判断是否需要重复传送操作。当规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。,DMA的三种传送方式,连续传送(块传送):DMAC在申请到总线后,将一块数据传送完后才释放总线,而不管中间DREQ是否有效。单次传送(每次传送一个字节):每个DMA周期只传送一个字节就立即释放总线。按需传送(猝发传送
14、):只要I/O接口的数据缓冲可用,就可进行传送。此时I/O接口需要有一定大小的FIFO缓冲区。,数据块传送:,Y,N,允许DMA,DMA请求?,DMAC请求总线,CPU响应,DMAC获总线控制权,DMA传送一个字节,块结束?,地址增量,计数器减量,DMAC释放总线,Y,N,每次传送一个字节:,N,Y,N,允许DMA,DMAC请求总线,CPU响应,DMAC获总线控制权,DMA传送一个数据,块结束?,释放总线至少一个总线周期,地址增量,计数器减量,DMAC释放总线,Y,测试I/O的DREQ DMA请求?,按需传送:,N,Y,CPU响应,DMAC获总线控制权,DMA传送一个字节,块结束?,测试I/O
15、的DREQ 有效?,地址增量,计数器减量,释放总线,请求中断,无效,释放总线,允许DMA,DMA请求?,DMAC请求总线,Y,N,Y,N,DMA控制方式,优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/s),6.4 中断技术,掌握:中断的基本概念中断响应的一般过程中断向量表及其初始化8088/8086中断系统,一、中断的基本概念,中断:CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,
16、这一过程称为中断。,中断源,引起CPU中断的事件,发出中断请求的来源,内部中断,外部中断,异常中断,软件中断,可屏蔽中断,非屏蔽中断,异常事件引起,中断指令引起,INTR中断,NMI中断,引入中断的原因,提高数据传输率避免了CPU不断检测外设状态的过程,提高了CPU的利用率实现对特殊事件的实时响应,二、外部中断响应的一般过程,中断请求中断判优及中断源识别中断响应中断处理(服务)中断返回,中断请求,中断请求信号应保持到中断被处理为止CPU响应中断后,中断请求信号应及时撤销,NMIINTR,中断源识别,软件查询法中断矢量法。由中断源提供中断类型号,CPU根据类型确定中断源,中断判优要解决的问题,对
17、同时产生的中断:首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则对非同时产生的中断:低优先级的中断程序允许被高优先级的中断源所中断,中断嵌套,中断判优控制方法,软件判优 顺序查询中断请求,先查询的先服务(即先查询的优先级别高)硬件判优 链式判优、并行判优(中断向量法),菊花链逻辑电路,INTAin,IREQ,INTR,&,1,INTAout,DB,三态门,中断向量码,E,外设接口,中断确认,菊花链逻辑电路,中断响应,向中断源发出INTA中断响应信号;保护断点。包括FLAGS、CS和IP获得中断服务程序入口地址,固定入口法中断向量法,中断处理,中断服务子程序的特点:为“远过程”用
18、IRET指令返回,中断服务子程序完成的工作,保护现场开中断(STI)中断处理关中断(CLI)恢复现场中断返回,中断返回,执行IRET指令,使IP、CS和FLAGS从堆栈弹出,三、8088/8086中断系统,内部中断外部中断,除法错中断溢出中断单步中断软件中断,非屏蔽中断可屏蔽中断,256个中断源,NMI,INTR,中断逻辑,软件中断指令,溢出中断,除法错,单步中断,非屏蔽中断请求,中断控制器8259APIC,8086/8088CPU内部逻辑,断点中断,可屏蔽中断请求,n,4,3,0,1,2,8086/8088中断源类型:,中断向量表,00000H,003FFH,1KB,中断向量表,存放各类中断
19、的中断服务程序的入口地址每个入口占用4 B,低字为段内偏移,高字为段基址表的地址位于内存的00000H003FFH,大小为1KB,共256个入口,中断向量表的初始化,将用户自定义的中断服务程序入口地址放入向量表例:将中断向量码为48H的服务程序入口地址放入向量表,p290,中断向量表的初始化,MOV AX,0000HMOV DS,AXMOV SI,0120HMOV BX,OFFSET INT1MOV SI,BXMOV BX,SEG INT1MOV SI+2,BX,8088内部中断响应过程,特点:无INTA周期中断类型码固定或由指令给出,8088内部中断响应过程,响应过程步骤:PUSH FLAG
20、 LET TEMP=TF CLEAR IF,TF PUSH CS PUSH IP(I P)=(TYPE*4+1):(TYPE*4+0)(CS)=(TYPE*4+3):(TYPE*4+2),8088外部中断响应过程,可屏蔽中断:第1个INTA,PIC进行优先级排队判优处理 第1个INTA,PIC把中断类型码放到DB上,由CPU读入 PUSH FLAG LET TEMP=TF CLEAR IF,TF PUSH CS PUSH IP(I P)=(TYPE*4+1):(TYPE*4+0)(CS)=(TYPE*4+3):(TYPE*4+2)NMI中断响应过程与内部中断类似,时序:p273,8088/8086中断系统的优先级,优先级从高到低的顺序为:内部中断NMI中断INTR中断单步中断,中断响应和处理流程p274,中断处理过程,当NMI、INTR、单步和除法错中断同时产生时,响应顺序为:,响应除法错中断,响应NMI中断,响应INTR中断,响应单步中断,级别高的中断可以中断级别低的中断服务程序,6.5 中断控制器8259,了解:8259的主要引线及结构掌握:8259的各种工作方式8259的初始化编程中断程序设计的一般过程和方法,