第6章输入/输出和中断技术微型计算机原理与应用微型计算机原理与应用——第6章输入/输出和中断技术26.1输入输出及接口1.数据信息数字量模拟量开关量2.状态信息3.控制信息6.1.1I/O信息的组成微型计算机原理与应用——第6章输入/输出和中断技术3由于存储器是半导体电路,与CPU具有相同的电路形式,数据信号也是相同的(电平信号),能相互兼容直接使用,但是计算机与外设交换数据时情况更为复杂:(1)外部设备种类繁多:既有机械式的,又有机电式的,还有电子式的。不同外部设备之间性能各异,对数据传送的要求也各不相同的,无法按统一格式进行。(2)外部设备的数据信号是多种多样的。(3)外设的数据传送距离有很大的差异。(4)外部设备的工作速度快慢差异很大。6.1.2I/O接口的作用微型计算机原理与应用——第6章输入/输出和中断技术4通常I/O设备并不直接与CPU进行信息交换,而是通过相应的I/O接口来进行。I/O接口是CPU和I/O设备之间进行信息交换的中间环节。在实际应用中,I/O接口电路种类繁多,功能各异,可分为专用接口和通用接口,或分为可编程接口和不可编程接口,也可分成并行接口和串行接口。其主要功能如下:(1)对输入输出数据进行缓冲、隔离和锁存(2)完成信息格式的变换,如串并转换(3)实现电气特性的匹配(4)选择设备或地址译码微型计算机原理与应用——第6章输入/输出和中断技术5每个接口通常包含若干个成为输入/输出端口(I/OPort)的寄存器,CPU通过这些端口与该接口相连接的外设进行信息交换。其典型结构如图所示。CPUI/O设备数据端口状态端口控制端口DBABCB译码数据口(输入/输出):双向状态口:只能由CPU读入。控制口:只能由CPU写出。每个口由译码电路分配一个唯一的地址。I/O接口电路微型计算机原理与应用——第6章输入/输出和中断技术6接口与端口接口则特指计算机与外设之间在数据传送方面的联系。其功能主要是通过电路实现的。因此称之为接口电路。一个接口电路中可能包括有多个端口,例如保存数据的数据端口、保存状态的状态端口和保存命令的命令端口等,因此一个接口电路就对应着多个端口地址。端口是供用户使用的,用户在编写有关数据输入/输出程序时,要用到接口电路中的各个端口。因此要知道它们的设置和编址情况。6.1.3I/O端口的编址方法微型计算机原理与应用——第6章输入/输出和中断技术7(1)I/O端口独立寻址(也称直接I/O映射编址)存储器地址空间和I/O端口地址空间为两个不同的独立地址空间(80X86系统该编址方式),即计算机单独给外设端口编址,输入输出端口具有独立的地址空间。计算机要有控制信号区分存储器空间和I/O口空间。(a)优点:1.I/O空间较存储器空间小,地址线少,译码电路简单2、不占用存储器空间;(b)缺点:要有专门输入输出指令,寻址方式少,不灵活。微型计算机原理与应用——第6章输入/输出和中断技术8把一个外设端口看成存储器的一个单元,占用存储器的地址空间,利用对存储器的读写操作完成数据的输入和输出。(a)优点:1、不需要专门的输入输出指令;2、可使用全部对存储器操作指令,指令多,方便;3、端口数量多。(b)缺点:1、占用存储器空间;在程序中不易分清存储器外设的访问2、寻址地址线数多,译码复杂(2)I/O与存储器统一编址(存储器映射的I/O编址)微型计算机原理与应用——第6章输入/输出和中断技术980X86CPU中,端口地址可达16位,但在PC/XT中,实际参与端口寻址的只有其中的低10为地址线,其中以A9来区别端口所在的位置。当A9=0时,寻址主板上的512个I/O端口,当A9=1时,寻址I/O卡上的512个I/O端口。ABCG2AG2BG1AENIOWY0Y1Y2Y3Y4Y5DMACS(选中DMA控制器8237)INTRCS(选中中断控制器8259)T/CCS(选中定时/计数控制器8253)PPICS(选中并行接口芯片8255)WRTNMIREG(写NMI屏蔽寄存器)WRTDMAPG(写DMA页面寄存器)74LS138接口芯片进行内部译码A4~A0A5A6A7A8A9PC/XT主机板上的I/O译码电路微型计算机原理与应用——第6章输入/输出和中断技术106.1.4简单的I/O接口1.三态缓冲器三态是指电路输出端具有三种稳态,即1态(高电平台),0态(低点平态)和第三态——高阻态(或浮空态)。三态门电路的逻辑符号如下:微型计算机原理与应用——第6章输入/输出和中断技术11使能G操作LHAY隔开74LS244引脚及内部结构74LS244真值表微型计算机原理与应用——第6章输入/输出和中断技术12三态缓冲器构成输入接口微型计算机原理与应用——第6章输入/输出和中断技术13输入输出清除时钟DQLxxLHHHHLLHLxQ074LS273引脚及内部结构74LS273真值表2.数据锁存器微型计算机原理与应用——第6章输入/输出和中断技术14数据锁存器构成输出接口微型计算机原理与应用——第6章输入/输出和中断技术153.简单接口举例NEXT:MOVDX,PORT_ININAL,DXNOTALOUTDX,ALCALLDELAYJMPNEXT微型计算机原理与应用——第6章输入/输出和中断技术16CPU与外设数据传送的三种方式:无条件传送程序控制方式查询方式(条件传送)中断控制方式直接存储器存取方式(DMA方式)...6.2输入输出的传送方式微型计算机原理与应用——第6章输入/输出和中断技术17一.无条件传送在该方式中,外设总被认为已处于准备就绪和准备接收状态,程序不必查验外设的状态当需要与之交换数据时,直接执行输入输出指令,就开始接收和发送数据。6.2.1程序控制的输入输出方式微型计算机原理与应用——第6章输入/输出和中断技术18无条件传送方式(简单接口)三态缓冲器地址译码器O&OO地址总线M/IORD去CPU数据(来自外设)输入加三态缓冲器锁存器地址译码器OOO数据总线数据(来自CPU)地址总线M/IOWR到外设去输出加锁存器&控制信号=IO/M&RD&地址译码输出微型计算机原理与应用——第6章输入/输出和中断技术19二.查询方式(条件传送)(1)CPU从接口(状态口)中读取状态字(2)CPU检测状态字,满足条件,CPU从数据口输入输出数据(3)不满足条件,CPU重新读取状态字(4)输入数据查外设是否“准备就绪”。输出数据时查外设是否处于“忙”或“空闲”微型计算机原理与应用——第6章输入/输出和中断技术201.查询式输入IN_TEST:INAL,STATUSTESTAL,80HJZIN_TESTINAL,DATAS微型计算机原理与应用——第6章输入/输出和中断技术212.查询输出MOVBX,OFFSETSTOREOUT_TEST:INAL,STATUSANDAL,80HJNZOUT_TESTMOVAL,[BX]OUTDATAS,ALINCBXQD微型计算机原理与应用——第6章输入/输出和中断技术226.2.2中断控制的输入和输出所谓中断,是指CPU运行程序期间,遇到某些特殊情况(被内部或外部事件所打断),暂时中止原先程序的执行,而转去执行一段特定的处理程序,这一过程就叫中断(Interrupt)。这段特定的处理程序叫中断服务程序。微型计算机原理与应用——第6章输入/输出和中断技术23微型计算机原理与应用——第6章输入/输出和中断技术24DMA方式即直接存储器存取(DirectMemoryAccess)方式,也称为成组数据传送方式。DMA控制器:一般包括四个寄存器:控制寄存器,状态寄存器,地址寄存器和字节计数器,这些寄存器在信息传送之前应进行初始化,即系统程序在地址寄存器中设置要传送的数据块的首地址,在字节寄存器中设置要传送的数据长度(字节数),在状态控制寄存器中设置控制字,指出数据是输入还是输出,并启动DMA操作。每个字节传送后地址寄存器增1,字节计数器减1。6.2.3直接数据通道传送微型计算机原理与应用——第6章输入/输出和中断技术25DMA控制器是控制存储器和外设之间直接高速传送数据的硬件,通常应具有如下功能:能接收外设的请求,向CPU发出DMA请求信号。当CPU发出DMA响应信号之后,接管总线,进入DMA方式;能输出地址信息和修改地址能向存储器和外设发出相应的读/写控制信号;能控制传送的字节数,判断DMA传送是否结束在DMA传送结束后,能结束DMA请求信号,释放总线,使CPU恢复正常工作。微型计算机原理与应用——第6章输入/输出和中断技术26DMA工作过程(1)外设DMACCPU(HOLD=1请求占有总线),CPU(HLDA=1同意让出总线给)DMAC(2)CPU将地址、数据、控制总线的管理权交DMAC(3)DMAC回答外设。(4)进行DMA传送。传送的内存地址,字节数由DMAC控制(5)传送完毕,DMAC交出总线管理权,CPU重新占有总线DMA请求请求回答微型计算机原理与应用——第6章输入/输出和中断技术27DMA工作流程图DMA传送示意图微型计算机原理与应用——第6章输入/输出和中断技术28缺点(1)DMA期间,CPU不占总线,因而不能做其它工作。(2)CPU对DMAC初始化占有额外时间。(3)增加硬件,提高成本,使电路复杂。因此对于数据块短,需频繁DMAC初始化的场合,对于CPU来得及处理的情况就不必采用DMA方式。(1)硬盘和软盘的输入/输出(2)快速通信通道输入/输出(3)多处理机和多程序数据块传送(4)扫描操作(图象显示)(5)高速数据采集在什么情况下用DMA微型计算机原理与应用——第6章输入/输出和中断技术296.3中断技术6.3.1中断即中断处理过程一.中断分类中断的目的是为了去执行中断服务程序,中断服务程序执行结束后,仍返回到主程序被中断处(断点处)继续执行原先程序。其过程如下图:微型计算机原理与应用——第6章输入/输出和中断技术30中断源:引起中断的原因或能发出中断申请的来源。1.外部中断源(1)一般的输入输出设备键盘,打印机,鼠标等。(2)数据通道中断源软盘,硬盘等。(3)实时时钟用外部时钟定时发出中断信号,由CPU进行处理。(4)故障源电源掉电,内存出错,输入输出出错等。2.内部中断源(1)CPU指令执行产生异常,如被0除、溢出、单步执行等(2)执行INT软件中断指令,如执行INT21H等。微型计算机原理与应用——第6章输入/输出和中断技术31微机系统中CPU处理中断分成两类内部中断也叫软中断,是由CPU执行软中断指令引起的外部中断也叫硬件中断,是由外部中断源向CPU提出中断请求而引起的。微型计算机原理与应用——第6章输入/输出和中断技术32二.中断处理过程中断请求中断判优中断响应中断处理保护现场开中断执行中断服务处理程序关中断恢复现场中断返回微型计算机原理与应用——第6章输入/输出和中断技术33中断嵌套示意图微型计算机原理与应用——第6章输入/输出和中断技术346.3.2中断优先级一.软件排优微型计算机原理与应用——第6章输入/输出和中断技术35二.硬件排优1.硬件排优电路:链式优先权排队电路+5V微型计算机原理与应用——第6章输入/输出和中断技术36微型计算机原理与应用——第6章输入/输出和中断技术372.可编程中断控制器微型计算机原理与应用——第6章输入/输出和中断技术386.480X86/Pentium中断系统6.4.1中断结构微型计算机原理与应用——第6章输入/输出和中断技术39一.硬件中断非屏蔽中断由NMI引脚产生上升沿触发,中断类型码固定为2可屏蔽中断外部设备提出请求,由CPU的INTR引脚引入,高电平触发微型计算机原理与应用——第6章输入/输出和中断技术40二.软件中断除法出错中断——0型中断单步中断——1型中断溢出中断——4型中断指令中断——n型中断更改TF陷阱标志位:PUSHFPOPAXORAX,0100HPUSHAXPOPF微型计算机原理与应用——第6章输入/输出和中断技术416.4.2中断