河南科技大学第7章输入/输出与中断-I/O接口概述图7.1主机与外设的连接CPUI/O接口外设1.I/O接口的作用接口是介于CPU和外设之间的一种缓冲电路在CPU和外设之间起到速度匹配、信号转换等作用河南科技大学第7章输入/输出与中断-I/O接口概述2.CPU与外设交换的信息主机与I/O设备之间交换的信息可分为数据信息、状态信息和控制信息三种。①数据信息它是CPU与外设之间传送的主要信息,可分为数字量、模拟量和开关量三种形式。②状态信息是外设通过接口送往CPU的信息,作为外设与CPU之间交换数据的联络信号,反映了当前外设所处的工作状态。③控制信息是CPU通过接口传送给外设的信息,用来设置外设(包括接口)的工作方式、控制外设的工作等。河南科技大学DBCPU外设图7.2CPU与外设交换的信息I/O接口数据信息状态信息控制信息第7章输入/输出与中断-I/O接口概述2.CPU与外设交换的信息主机与I/O设备之间交换的信息可分为数据信息、状态信息和控制信息三种。河南科技大学3.I/O接口的基本结构第7章输入/输出与中断-I/O接口概述I/O端口是接口中存放不同信息的寄存器。接口和端口是两个不同的概念,若干个端口加上相应的控制电路才构成接口。CBABDBCPU数据端口状态端口I/O设备译码控制端口I/O接口河南科技大学4.I/O端口的编址接口中每个端口都有一个地址编号,称为端口地址。微机系统中,I/O端口的编址方式有两种,即:统一编址和独立编址I/O端口的统一编址方式对I/O端口和存储单元统一编排地址号,由I/O端口地址和存储单元地址共同构成一个统一的地址空间。第7章输入/输出与中断-I/O接口概述河南科技大学图7.4I/O端口与内存单元统一编址存储器I/O端口00000HXXXXXHFFFFFH整个地址空间(XXXXX+1)HI/O端口存储器空间I/O端口空间第7章输入/输出与中断-I/O接口概述河南科技大学统一编址方式的特点优点:1、简化了指令系统的设计;2、I/O端口和存储单元可用同样的寻址方式,给编程者提供了很大的方便。缺点:减少了内存的地址可用范围。第7章输入/输出与中断-I/O接口概述河南科技大学I/O端口的独立编址方式建立了两个地址空间,一个为内存地址空间,一个为I/O地址空间。内存地址空间和I/O地址空间是相对独立的。80x86CPU组成的微机系统都采用独立编址方式。第7章输入/输出与中断-I/O接口概述河南科技大学00000HFFFFFH存储器I/OFFFFH0000H图7.5I/O端口与内存单元独立编址第7章输入/输出与中断-I/O接口概述河南科技大学独立编址方式的特点优点:1、存储器地址空间不受I/O端口地址空间的影响2、专用的输入/输出指令与访问存储器指令有明显区别,便于理解和检查。缺点:1、专用I/O指令增加了指令系统复杂性,且I/O指令类型少,程序设计灵活性较差;2、要求CPU提供专门的控制信号以区分对存储器和I/O端口的操作,增加了控制逻辑的复杂性。第7章输入/输出与中断-I/O接口概述河南科技大学1.程序传送方式该方式完全通过执行程序中的I/O指令来控制CPU与外设之间的数据交换分为无条件传送和查询传送(有条件传送)第7章输入/输出与中断-7.2CPU与外设之间数据传送的方式河南科技大学来自外设的数据数据总线(DB)地址译码器地址总线(AB)≥1三态缓冲器至CPURDIOM/图7.6无条件传送方式—数据输入第7章输入/输出与中断-CPU与外设之间数据传送的方式无条件传送CPU对外设进行输入/输出操作时无需考虑外设的状态,故称之为无条件传送方式。河南科技大学第7章输入/输出与中断-CPU与外设之间数据传送的方式无条件传送方式的特点优点:程序设计和接口电路都很简单。缺点:在输入输出数据时不考虑外设的状态默认外设总是准备好的适用于:与简单外设进行少量的不频繁的数据传送河南科技大学图7.7查询传送方式的流程图NYY取外设状态外设准备就绪?N开始传送数据传送完否?结束第7章输入/输出与中断-CPU与外设之间数据传送的方式查询传送方式传送数据前,先测试外设的状态,待外设准备就绪后,再执行I/O指令进行数据传送,否则循环测试等待。河南科技大学查询传送方式的特点优点:能保证主机与外设之间协调同步地工作,且硬件线路比较简单,程序也容易实现。缺点:浪费CPU时间,实时性差。适用于:数据输入/输出不太频繁且外设较少、对实时性要求不高的情况。第7章输入/输出与中断-CPU与外设之间数据传送的方式河南科技大学2.中断传送方式中断传送方式是指当外设需要与CPU进行信息交换时,由外设向CPU发出请求信号,使CPU暂停正在执行的程序,转去执行数据的输入/输出操作(即中断处理),数据传送结束后,CPU再继续执行被暂停的程序。第7章输入/输出与中断-CPU与外设之间数据传送的方式继续执行断点主程序中断服务程序有中断请求中断处理返回断点河南科技大学中断传送方式的特点优点:CPU与外设可以并行工作,不必查询等待,工作效率高;系统实时性比查询方式要好得多。缺点:接口电路相对复杂,每进行一次数据传送都要转去执行中断处理程序,都要进行断点和现场的保护和恢复,浪费了很多CPU的时间。适用于:少量的数据传送。第7章输入/输出与中断-CPU与外设之间数据传送的方式河南科技大学3.直接存储器存取方式(DMA:DirectMemoryAccess)DMA方式适合于在外设和存储器之间进行大批量的高速数据交换,数据的传送不依赖CPU执行I/O指令,而是直接由专用的接口芯片DMA控制器(DMAC)来控制。传送过程中,CPU暂停指令的执行并让出总线控制权,由DMA控制器接管总线的控制权。传送过程全部由硬件实现,所以传送速率非常高。第7章输入/输出与中断-CPU与外设之间数据传送的方式河南科技大学1.中断的定义计算机在执行正常程序过程中,当出现某种异常事件或某种外部请求时,处理器就暂停执行当前的程序,而转去执行对异常事件或某种外部请求的处理操作。当处理完毕后,CPU再返回到被暂停执行的程序,继续执行,这个过程称为程序中断。第7章输入/输出与中断-7.3中断技术继续执行断点主程序中断服务程序有中断请求中断处理返回断点河南科技大学2.中断系统为实现中断功能而设置的硬件电路和与之相应的软件,称为中断系统。3.中断源引起中断的原因或发出中断请求的来源称为中断源。中断源可分为硬件中断源和软件中断源两类。4.中断处理过程对于单个中断源的中断处理过程应包括中断请求、中断响应、保护断点、中断处理和中断返回等五个过程。第7章输入/输出与中断-中断技术河南科技大学①中断请求:是中断源向CPU发出的请求中断的要求。软件中断源是在CPU内部由中断指令或程序出错直接发中断;硬件中断源必须通过专门的电路将中断请求信号送给CPU,CPU也有专门的引脚接收中断请求信号。第7章输入/输出与中断-中断技术河南科技大学②中断响应:是指当计算机系统接收到中断请求后应作出的反应。对于可屏蔽中断的响应要具备两个条件:一是中断允许触发器的状态为1(即开中断),二是CPU在执行完现行指令之后。③保护断点:所谓断点是指处理完中断后返回主程序时执行的第一条指令的地址。保护断点是为了在中断处理结束后能正确返回。④中断处理:是指执行中断服务子程序,完成中断服务功能。主要包括保护现场、中断服务和恢复现场等过程。⑤中断返回:是指执行完中断服务程序后返回到被中断的主程序的断点处,继续向下执行,即恢复断点。第7章输入/输出与中断-中断技术河南科技大学5.中断优先级①中断优先级的概念中断请求是随机发生的,当系统具有多个中断源时,有时会同时出现多个中断请求,CPU只能按一定的次序予以响应和处理,这个响应的次序称为中断优先级。对于不同级别的中断请求,一般的处理原则是:不同按高低低级让高级高级封低级同级等处理第7章输入/输出与中断-中断技术河南科技大学不同按高低不同优先级的多个中断源同时发出中断请求,按优先级由高到低依次处理。低级让高级低优先级中断正在处理,出现高优先级请求,应转去处理高优先级请求,服务结束后再返回原优先级较低的中断服务程序继续执行。(即中断嵌套)高级封低级高优先级中断正在处理,出现低优先级请求,可暂不响应。同级等处理中断处理时,出现同级别请求,应在当前中断处理结束以后再处理新的请求。第7章输入/输出与中断-中断技术河南科技大学②中断优先级的确定微机系统中通常用三种方法来确定中断源的优先级别,即:软件查询法硬件排队电路法专用中断控制芯片法第7章输入/输出与中断-中断技术河南科技大学软件查询法软件查询法需要简单的硬件电路支持。以8个中断源为例,其硬件电路如图7.13所示,将8个外设的中断请求组合起来作为一个端口(中断寄存器),并将各个外设的中断请求信号相或,产生一个总的INT信号。第7章输入/输出与中断-中断技术河南科技大学≥1CPUD7INTRINT1中断寄存器INTD0INT2…INT8……图7.13软件查询法的硬件电路第7章输入/输出与中断-中断技术河南科技大学对1号中断源服务NNNYYY断点保护INT1?INT2?对2号中断源服务……对8号中断源服务INT8?图7.14软件查询方式的流程图第7章输入/输出与中断-中断技术采用软件查询方式,各中断源的优先级是由查询顺序决定的。优点:节省硬件缺点:CPU每次响应中断时都要对各中断源进行逐一查询,所以其响应速度较慢。对于优先级较低的中断源来说,该缺点更为明显。河南科技大学响应3#中断请求“1”应答2#应答3#应答1#1#中断请求2#中断请求&INT&&&&&图7.15链式中断优先级电路第7章输入/输出与中断-中断技术硬件排队电路法各个外设的优先级与其接口在排队电路中的位置有关。响应信号沿链式电路进行传递时,最靠近CPU并发出中断请求的接口将首先拦截住响应信号。河南科技大学专用中断控制芯片法软件查询和硬件排队法虽然可以解决中断优先级控制问题,但实现起来在硬件和软件上都要做大量的工作,十分麻烦。较为方便的办法就是利用可编程中断控制器,例如广泛应用于80x86微机系统中的专用可编程中断控制芯片Intel8259A,可以实现单片管理8级中断,通过级联最多可以用9片8259A管理64级中断。第7章输入/输出与中断-中断技术河南科技大学第7章输入/输出与中断-8086/8088中断系统1.8086/8088的中断源类型8086/8088CPU可以处理256种不同类型的中断,每一种中断都给定一个编号(0255),称为中断类型号,CPU根据中断类型号来识别不同的中断源。8086/8088的中断源如图7.17所示。河南科技大学NMI(17号引脚)中断逻辑非屏蔽中断请求INT2硬件(外部)中断软件(内部)中断可屏蔽中断请求中断类型号32~255INTR(18号引脚)中断指令INTnN=32~255溢出中断INTOINT4断点中断INT3单步中断(TF=1)INT1除法错误INT0图7.178086/8088中断源第7章输入/输出与中断-8086/8088中断系统河南科技大学8086/8088中断源的优先级顺序由高到低依次为:软件中断(除单步中断外)非屏蔽中断可屏蔽中断单步中断第7章输入/输出与中断-8086/8088中断系统河南科技大学2.中断向量表中断向量是中断服务子程序的入口地址。中断向量表是存放中断向量的一个特定的内存区域。8086/8088共有256个中断类型号,对应256个中断服务程序的入口地址。所有中断服务子程序的入口地址都存放在中断向量表中。每个入口地址的段地址和段内偏移地址占4个存储单元,所以其中断向量表长度为1K(256×4)个单元。8086/8088系统的中断向量表位于内存的前1K字节,地址范围为00000H003FFH。第7章输入/输出与中断-8086/8088中断系统河南科技大学00000H00003H00008H0000BH00004H00007H0000CH0000FH00010H00013H00014H0007FH00080H003FFHIP内容