第七章中断技术、可编程中断控制器(Intel8259A)有关I/O接口的基本概念I/O端口与其编址方式主机与外设之间的数据传送方式有关中断的基本概念8259A可编程中断控制器8086中断系统输入/输出及8259A应用举例8086CPU中断响应流程本章内容掌握微型计算机接口技术的基本概念了解主机与外设之间的各种数据传送方式掌握中断技术的基本概念了解8086中断系统及其对各种类型中断的响应流程了解8259A中涉及到的有关概念掌握8259A的编程应用学习目的8.1I/O接口概述一、接口与接口技术微型计算机系统可通过系统总线与外设相连,进行系统的扩展与开发,而外设必须通过接口才能与CPU交换信息。CPU或系统总线I/O接口电路外设外设与CPU连接时存在如下问题:1.速度的匹配问题;2.时序的配合问题;3.信息类型与信号电平的匹配问题;(数字量,模拟量;TTL电平、RS-232C电平等)因此,外设必项通过接口才能与CPU相连接。4.信息表示格式的一致性问题;(二进制格式、ASCII码、BCD码,串行信息、并行信息)接口:CPU与外设之间的一种缓冲电路,是CPU与外设之间信息交换的中转站。接口技术:应用硬件与软件相结合的方法,研究CPU与外设之间如何实现高效、可靠的信息交换的一门技术。内存CPU智能仪器接口通信接口过程控制接口输入接口输出接口外存接口数字化存储示波器,数字化万用表终端调制解调器TTY电传机A/D转换器开关量输入D/A转换器开关量输出键盘数字化仪光笔图形输入声音输入扫描仪点阵打印CRT显示激光打印液晶显示喷墨打印绘图仪X-Y记录仪硬盘软盘光盘磁带微机控制各类接口框图二、CPU与外设之间的接口信息1.数据信息(DATA)(1)数字量由键盘、光电输入机等输入的信息。(通常以二进制表示的数或以ASCII码表示的数或字符)CPU与外设交换的基本信息是数据,有三种类型:(2)模拟量非电量信息传感器电量信号处理A/DCPU(3)开关量两个状态的量(可以用0、1表示)例如电机的启与停,开关的合与开等。2.状态信息(STATUS)输入时,输入设备是否准备好?(READY)输出时,输出设备是否空闲?(BUSY)反映当前外设工作状态的信息,例如:3.控制信息(CONTROL)例如控制I/O设备启动或停止等。CPUI/O设备I/O接口123ABDBCBDATASTATUSCONTROLCPU与外设之间的接口信息CPU通过接口输出用以控制外设工作的信息。三、接口的功能接口用以解决CPU与外设连接时存在的矛盾,一般有以下功能:1.数据缓存:匹配不同的数据传送速率。2.端口寻址:选择某一外设,某一端口。3.命令译码:解释CPU输出的命令,产生相应的操作控制信号。4.同步控制:协调时序上的差异。8.2I/O端口的编址方式接口电路中能被CPU访问的寄存器或某些特定器件称为I/O端口。I/O端口分为数据端口、状态端口和命令端口。其中端口1为数据端口,端口2为状态端口,端口3为控制端口。CPUI/O设备I/O接口123ABDBCBDATASTATUSCONTROLCPU可用输入/输出指令或存储器访问指令对端口进行读/写,具体应用何种指令应视端口的编址方式而定。通常有两种编址方式:统一编址方式和独立编址方式。一、统一编址方式(存储器对应I/O方式)端口地址与存储器地址统一编址译码器CPUAB去存储器去I/O端口RDWR特点:1.I/O端口与存储单元统一编址,占用了存储器空间。2.用存储器访问指令来处理I/O,指令灵活,但指令执行时间较长。二、独立编址方式(专用I/O方式)译码器8086CPU去存储器去I/O端口IOM/译码器RDWRA0~A15A0~A191.I/O端口与存储器,都有自己的地址译码器,地址空间独立,互不影响。2.用专用I/O指令访问端口,程序易读。特点:问题:I/O端口地址译码电路如何设计?I/O端口地址译码电路设计原则I/O端口地址译码一般由地址信号和控制信号的不同组合实现。其原则是:(2)低位地址线直接连接到I/O接口芯片,实现片内寻址。(1)高位地址与CPU的控制信号组合,经译码电路产生I/O接口芯片的片选信号(),实现片间寻址。CS8.3主机与外设之间的数据传送方式微机与外设间的数据传送,实际上是CPU与I/O接口间的数据传送。CPU与外设间的数据传送方式一般有三种:程序控制方式、中断方式和DMA方式。一、程序控制方式程序控制方式是指CPU与外设间的数据传送是在程序的控制下完成的一种数据传送方式。这种方式又分为无条件传送方式和条件传送方式。无条件传送一般适合于数据传送不太频繁的情况,如对开关、数码显示器等一些简单外设的操作。所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行I/O指令进行数据传输。1.无条件传送方式输出锁存器输出设备输入设备输入缓冲器端口译码器数据总线地址总线M/IOWRRD无条件传送输入输出接口框图输入操作:INAL,PORTM/IO=0,RD=0,地址译码有效,输入缓冲器被选中。无条件传送输入输出接口框图输出锁存器输出设备输入设备输入缓冲器端口译码器数据总线地址总线M/IOWRRDM/IO=0,WR=0,地址译码有效,输出锁存器被选中。输出操作:OUTPORT,AL2.条件传送方式下图为查询式输入接口电路框图。(1)查询式输入查询式输入接口电路框图地址总线M/IORD端口译码数据总线READY数据缓冲器三态缓冲器RSQD+5V锁存器输入设备数据选通80H81HD7工作原理:CPU读状态口,若READY=0,则循环检测READY;若READY=1,读数据口读入数据,同时置READY=0。地址总线M/IORD端口译码数据总线READY数据缓冲器三态缓冲器RSQD+5V锁存器输入设备数据选通80H81HD7NYREADY=1?输入状态信息输入数据查询式输入程序流程图WAIT:INAL,81HTESTAL,80HJZWAITINAL,80H下图为查询式输出接口电路框图。(2)查询式输出查询式输出接口电路框图地址总线端口译码BSUY状态寄存器RDRSDQ输出设备+5V应答M/IOWR数据锁存器数据数据总线选通信号90H91HD0工作原理:CPU读状态口,检测BUSY信号,若BUSY=1,则等待;若BUSY=0,则通过数据口输出数据。地址总线端口译码状态寄存器RDRSDQ输出设备+5V应答M/IOWR数据锁存器数据数据总线选通信号90H91HD0BUSYYNBUSY=1?输入状态信息输出数据查询式输出程序流程图WAIT:INAL,91HTESTAL,01HJNZWAITMOVAL,DATAOUT90H,AL二、中断传送方式为了进一步提高CPU的效率和使系统有实时性能,可以采用中断传送方式。在中断传送方式下,当外设准备好时,主动向CPU发出中断请求,请求CPU进行数据的输入输出。中断方式输入接口电路框图数据STB输入设备+5V数据锁存器中断请求触发器中断允许触发器DRQ中断类型号三态缓冲器译码器三态缓冲器D7~D0RDA15~A0M/IOGINTAINTR工作原理:若输入设备准备好数据,且中断允许,则通过中断请求触发器发INTR。如果IF=1,则CPU在当前指令执行完后,进入中断响应周期,发INTA,待到中断类型号,进入中断服务实现数据传送。数据STB输入设备+5V数据锁存器中断请求触发器中断允许触发器DRQ中断类型号三态缓冲器译码器三态缓冲器D7~D0RDA15~A0M/IOGINTAINTR中断方式的数据输入采用中断传送方式时,外设处于主动地位,无需CPU花费大量时间去查询外设的工作状态。与程序方式相比,大大提高了CPU的效率。外设请求中断INTR有效主程序中断服务程序输入数据外设准备数据三、DMA方式DMA(DirectMemoryAccess):是存储器与外设或存储器之间进行大量数据传送的方法,是在DMA控制器(DMAC)的控制下进行的。CPU总线存储器外设程序控制的数据输入/输出DMADMA与程序控制数据传送路径比较1.DMA与程序控制数据传送路径的比较2.DMA传送控制原理图DMA传送控制原理图CPUDMAC存储器外设HLDAHOLDDREQDACKDBIOR/IOWABMEMW/MEMR3.DMA传送的一般操作过程外设准备好进行DMA操作,外设接口向DMAC发DREQDMAC向CPU发HOLDCPU现行总线周期结束,向DMAC发HLDA,AB,CB,DB呈高阻态DMAC接管总线向外设接口发DACKDMA传送结束?DMAC撤消HOLD信号,CPU重新控制总线NYDMAC向AB发地址信息,向外设,存储器发IOR,MEMW或IOW,MEMR,且自动修改地址指针.4.DMA控制器的功能①能向CPU发出DMA请求信号。②CPU响应后,接管对总线的控制,进入DMA方式。③发出读、写控制信号。④决定数据传送的地址和数据传送的长度。⑤判断DMA操作的结束,撤消总线请求信号,使CPU恢复正常工作。5.DMA方式与中断方式的比较中断方式特点DMA方式控制数据传送CPU状态响应适用性由DMA控制器控制I/O存储器不破坏CPU内部寄存器状态请求-响应,级别高于中断适用于高速I/O设备和成组数据交换由CPU程序控制I/OCPU存储器请求-响应,级别比DMA方式低适用于慢速I/O设备,实时处理破坏CPU内部寄存器状态8.4中断的基本概念一、什么叫中断?中断申请主程序中断服务程序返回中断示意图所谓中断,是指这样一个过程:当CPU正在执行程序过程中,由于某一突然事件的发生,暂时中止正在执行的程序,转去处理突然发生的事件(执行中断服务程序),处理完毕,再返回原来被中止的程序继续运行。日常生活中类似“中断”的例子:例1:门铃响时,放下手中正在做的事情,跑去开门,招待客人;客人走后,接着做原来的事情。例2:教师讲课过程中,同学遇有疑问,不同理解之处,随时向老师提问。问题:请同学们列举类似“中断”的例子。二、应用中断技术的优点1.实现CPU与外设的并行工作,提高了CPU的效率。NYREADY?输入状态信息输入数据查询方式的数据输入中断方式的数据输入外设请求中断INTR有效主程序中断服务程序输入数据外设准备数据二、应用中断技术的优点1.实现CPU与外设的并行工作,提高了CPU的效率。2.实现实时处理。3.实现故障处理。三、中断源引起中断的原因,产生中断请求的来源。通常有以下几种:1.一般的I/O设备,如键盘、打印机等。2.实时时钟。3.故障源。4.为了调试程序而设置的中断。(例如设置断点,单步运行等)四、中断系统的功能计算机系统中,用于实现中断功能的硬件和软件的集合,称为中断系统。中断系统应解决如下问题:1.中断请求信号的产生(中断源如何申请中断?)2.CPU如何响应?(如何知道有中断请求?是否有求必应?响应后的处理过程?)3.中断优先权问题4.中断的具体服务5.中断服务完毕,如何返回原程序?五、实现中断优先权的方法判断和确定中断源的中断优先权,可以采用软件和硬件两种方法。当系统中有多个中断源存在时,若有几个中断源同时提出申请,CPU先响应谁?当CPU正响应某一中断过程中,又有另外的中断源提出中断请求,CPU是否响应?为此提出了中断优先权的概念。1.用软件确定中断优先权优先权管理电路三态缓冲器译码锁存器GINTRD7~D0A15~A0RD中断源A中断源B中断源C………M/IO1.用软件确定中断优先权软件查询流程图优先权管理电路三态缓冲器译码锁存器GINTRD7~D0A15~A0RD中断源A中断源B中断源C………IOM在中断服务中读入请求状态A申请?B申请?中断返回为中断源A服务的程序段YC申请?为中断源B服务的程序段为中断源C服务的程序段……YY采用软件查询方式的特点:询问的次序,即为优先权的次序。硬件简单。由查询转至相应的服务程序的时间长,尤其在中断源较多的情况。2.硬件方式(1)若CPU未处理任何中断,则“优先权失效”信号为高,当任一中断源请求中