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