您好,欢迎访问三七文档
6.1I/O接口的基本功能与结构6.2I/O端口的编址方式6.3I/O同步控制方式6.4I/O接口中的中断技术6.5I/O接口中的DMA技术6.6I/O接口中的数据缓存技术6.7接口的分类第六章I/O接口两者的信息类型可能不一样即使都是数字量信息,两者的信息格式、信号时序、传输速度还可能不一样6.1I/O接口的基本功能和结构I/O设备是微机系统必不可少的组成部分。但外部I/O设备并不能直接与微机相连,而需要通过I/O接口与微机相连,这是因为:6.1.1接口的基本功能6.1.2接口的基本结构总之,就是完成三大总线的转换和连接任务。不同外设的接口,其功能及与外设的连接、通信方式各不相同。但任何接口电路的基本功能是相同的,有三:6.1.2接口的基本功能1)作为微型机与外设传递数据的缓冲站2)正确寻址与微机交换数据的外设3)提供微型机与外设间交换数据所需的控制逻辑和状态信号。同样,不同外设接口的内部结构可能千差万别,但其基本结构也是相似的。与接口的基本功能相对应,接口电路必须包含以下三种基本逻辑部件:I/O数据缓冲寄存器——与功能1)对应寄存器地址译码器——与功能2)对应读/写控制逻辑——与功能3)对应对于一些比较复杂的接口,为了增强功能和适应不同I/O同步控制方式的需要,往往还要引入一些别的逻辑电路。6.1.2接口的基本结构1.接口电路的典型结构6.1.2接口的基本结构数据总线缓冲器读写控制逻辑地址总线缓冲与译码控制寄存器输出数据缓存器状态寄存器输入数据缓存器联络控制逻辑系统DB系统ABMPU中断请求I/O数据线外设准备好选通联络线系统读/写控制线等中断响应用以确定接口电路的工作方式和功能。输入缓存器和状态寄存器的输出接在数据总线上,因此它必须有三态输出功能。通常把接口中可被CPU读/写的寄存器称为I/O端口。端口寄存器的全部或部分端口线被连接到外设上。如图所示:MPUABDBCB接口数据状态控制I/O设备I/O端口1I/O端口2I/O端口3所谓的I/O操作,是指I/O端口操作,而不是指I/O设备操作,即CPU访问的是与外设相连的I/O端口,而不是笼统的I/O设备。2.I/O操作6.1.2接口的基本结构6.2.1存储器映象方式6.2.2隔离I/O方式6.2.3Intel系列处理器的I/O编址方式6.2I/O端口的编址方式6.2.1存储器映象方式这种方式是将I/O端口与存储器单元同等看待,一起编址,所以也叫统一编址方式。读/写AB存储空间存储器I/O端口控制控制逻辑MPUDBRDWR6.2.1存储器映象方式(2)I/O端口数目(即外设数目)只受总存储容量的限制,大大增加了系统的吞吐率。1.优点:(1)I/O操作与存储器操作完全相同,无需使用专用I/O指令,而存储器操作指令及其寻址方式非常丰富,从而使I/O功能增强,编程方便、灵活。(3)使微机系统的读写控制逻辑简单。读/写AB存储空间存储器I/O端口控制控制逻辑MPUDBRDWR6.2.1存储器映象方式(2)为识别一个端口,必须对全部地址线译码,增加了地址译码电路的复杂性,并使外设寻址时间增长。(1)占用了存储器的一部分地址空间,使可用的内存空间减少。2.缺点:(3)访问存储器与I/O操作区别不明显。读/写AB存储空间存储器I/O端口控制控制逻辑MPUDBRDWR将I/O端口和存储器分开编址,即两者的地址空间是互相“隔离”的。6.2.2隔离I/O方式有两个地址空间,MPU使用不同的读写控制信号访问存储器和I/O端口。MPU必须采用专用I/O指令访问I/O端口,以便产生相应的I/O读写信号。存储器(1MB)MPU控制逻辑I/O端口(256个)MEMRMEMWIORIOWR/W控制20208888ABDB2.优点:6.2.2隔离I/O方式存储器全部地址空间都不受I/O寻址影响;I/O地址译码较简单,I/O寻址速度较快;使用专用I/O指令和存储器访问指令有明显区别,可使编制的程序清晰易懂,便于检查。存储器(1MB)MPU控制逻辑I/O端口(256个)MEMRMEMWIORIOWR/W控制20208888ABDB2.缺点:6.2.2隔离I/O方式I/O指令类型少,不如存储器访问指令丰富,使程序设计灵活性较差;I/O指令只能在规定的内部寄存器和I/O端口间交换信息,处理能力和灵活性不如存储器映象式强;MPU必须提供存储器和I/O两组读写控制信号,增加了控制逻辑的复杂性。存储器(1MB)MPU控制逻辑I/O端口(256个)MEMRMEMWIORIOWR/W控制20208888ABDB8088/8086CPU的I/O编址方式•采用I/O独立编址方式(但地址线与存储器共用)•地址线上的地址信号用来区分:时为I/O地址•I/O操作只使用20根地址线中的16根:A15~A0•可寻址的I/O端口数为64K(65536)个•I/O地址范围为0~FFFFH•IBMPC只使用了1024个I/O地址(0~3FFH)IO/M=1IO/M6.3I/O同步控制方式数据输入缓存器数据输出缓存器接口数据数据总线MPU外设系统ABIOR/IOW①③②③I/O同步控制方式是微机基本系统与I/O外设之间数据传送的管理方法,是微机系统的一种调度策略。输入过程输出过程输入输出①②②、③由输入指令完成①、②由输出指令完成I/O设备的同步控制方式通常有四种:程序查询式控制中断驱动式控制直接存储器存取式控制延时等待式控制6.3I/O同步控制方式(1)特点:I/O操作总是由MPU通过程序查询外设的状态来启动,即总是MPU主动,I/O被动。(2)硬件接口结构输入接口输出接口1.程序查询式控制1.查询式2.中断式3.DMA式4.等待式6.3I/O同步控制方式①输入接口硬件结构输入状态信息输入数据状态位复位数据就绪?(b)工作流程NY&数据锁存三态缓冲器(8位)三态缓冲器(1位)&地址译码选通DQ数据+5V准备就绪触发器PdDiDBMPUIORREADY(状态信息)PsR输入设备AB(a)硬件结构1.查询式2.中断式3.DMA式4.等待式6.3I/O同步控制方式②输出接口除数据端口外,必须有状态端口状态端口和输入数据端口必须有三态输出功能说明:(b)工作流程输入状态信息输出数据状态位复位YN忙否?MPUQD输出设备数据锁存器三态缓冲器(1位)&地址译码数据PdPsDBIOW(a)硬件结构忙触发器RACK状态信息+5VDiABIOR&1.查询式2.中断式3.DMA式4.等待式6.3I/O同步控制方式它是一种天然的同步控制机构,能很好地协调MPU与外设之间的工作,数据传送可靠。接口简单,硬件电路不多,查询程序也不复杂。在MPU使用效率与响应实时性间有矛盾,软件开销大,MPU使用效率低。缺点:这种I/O控制方式是优是劣,不能一概而论,要看具体应用场合。优点:(3)评价1.查询式2.中断式3.DMA式4.等待式6.3I/O同步控制方式1.查询式2.中断式3.DMA式4.等待式(1)特点:每次I/O操作都是由I/O设备向MPU发中断请求而启动的,即I/O主动,MPU被动。(2)接口电路结构中断请求触发器输入设备状态信号&数据锁存器三态缓存器1MPU地址译码数据RDYD+5VQIORDBABINTCP1.中断驱动式控制6.3I/O同步控制方式6.3I/O同步控制方式1.查询式2.中断式3.DMA式4.等待式I/O设备较多时,硬件复杂,需以一系列中断逻辑电路作为支持;因为中断方式本身是一种异步控制机构,中断请求信号的出现完全是随机的,故软件开发和调试比程序查询式复杂、困难。缺点:优点:既能节省MPU时间,提高计算机使用效率,又能使I/O设备的服务请求得到及时响应,较好地解决了效率与实时性间的矛盾。鉴于上述原因,如不是实时性要求很高、非使用中断驱动式控制不可的地方,还是尽量用程序查询式控制为好,或者把两种控制方式结合起来。(3)优缺点3.直接存储器存取(DMA)式控制I/O设备必须通过MPU才能和存储器交换信息。每次I/O操作的引发方式无论是软件查询引发还是硬件中断引发,引发后的具体数据传输过程则都是由软件控制完成的。而DMA方式无需MPU介入,进入DMA工作状态后,数据完全是在硬件(DMAC)控制下在I/O设备和存储器间直接交换,因此速度可大大提高。前两种的共同特点是:6.3I/O同步控制方式1.查询式2.中断式3.DMA式4.等待式DirectMemoryAccess软件延时硬件延时这是一种无需控制的I/O操作方式,只有在外部控制过程的各种动作时间是固定的,且是已知的条件下才能使用。两种方法:4.延时等待式控制1.查询式2.中断式3.DMA式4.等待式6.4.1中断的基本概念与分类6.4.2中断优先级与中断嵌套6.4.3中断响应条件6.4.4中断服务判决6.4.5中断处理过程6.4I/O接口中的中断技术6.4.1中断的基本概念与分类1.中断的定义中断是指CPU在执行当前程序的过程中,由于某种随机出现的外设请求或CPU内部的异常事件,使CPU暂停正在执行的程序而转去执行相应的服务处理程序;当服务处理程序运行完毕后,CPU再返回到暂停处继续执行原来的程序。中断是为解决CPU与外设之间的信息交换问题而引入的。但现代意义上的中断已不仅仅应用于I/O控制,也应用到CPU内部的指令中断和内部异常处理。•与生活场景的比较正在看书电话铃响接电话继续看书执行程序事件发生事件处理继续执行程序中断处理中断请求及响应实际场景计算机中断返回微机系统的中断可分为两大类:2.中断分类硬件中断软件中断指由CPU外部事件引起的中断,又叫外中断,简称中断。又分为:①非屏蔽中断NMI②可屏蔽中断INTR前者不受CPU内部的中断允许标志IF的控制,而后者受控制。指由CPU内部原因引起的中断,也叫内中断,统称为异常。又分为两大类:①指令引起的异常②处理器检测的异常6.4.1中断的基本概念与分类NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259APIC8086/8088CPU内部逻辑断点中断可屏蔽中断请求n430128086/8088中断源类型:6.4.2中断优先级与中断嵌套当多个中断源同时申请中断时,CPU同一时刻只能响应一个中断源的申请,应按各中断源的轻重缓急程度来确定它们的优先级别。优先级高的中断先响应。中断嵌套是指在优先级已定的情况下,低优先级的中断服务程序可以被高优先级的中断源所中断,等高优先级的中断服务程序结束后,再返回去执行被中断的低优先级中断服务程序。主程序1#中断服务程序2#中断服务程序3#中断服务程序(中断优先级:3#>2#>1#)嵌套的级数原则上不限,只取决于堆栈深度,实际上与要求的中断响应速度也有关。中断嵌套示意图:6.4.2中断优先级与中断嵌套1#中断服务程序2#中断服务程序3#中断服务程序1#中断请求响应2#中断请求响应3#中断请求响应返回返回返回6.4.3CPU响应中断的条件CPU对中断源发出的中断请求是否响应,视中断源而有所不同:对内中断和非屏蔽中断请求,可在当前指令执行后直接转入中断周期,由内部硬件自动执行预定的操作;对外部可屏蔽中断请求,通常要满足一定的条件才能响应。CPU响应外部可屏蔽中断请求,通常要满足以下条件:置位了中断请求触发器。中断屏蔽触发器处于非屏蔽状态。CPU内部是中断开放的(CPU内部中断允许触发器IF=1)。没有更高优先级别的中断请求正在被响应或正发出、正挂起。CPU正在执行的现行指令已经结束。6.4.3CPU响应中断的条件6.4.4中断服务判决在有多中断源的微机系统中,凡存在多个中断源合用一根中断请求线的情况,都存在一个多中断请求的服务判决问题。主要包括两方面:判别哪个中断请求源的优先权最高,确定为谁服务;将程序转移到相应的中断处理程序入口。程序查询式判决中断向量式判决6.4.4中断服务判决解决这一问题的方法通常有两种:这是一种软件为主的判决方法。所需的硬件支持最少,主要需要一个带三态缓冲的中
本文标题:第6章IO接口
链接地址:https://www.777doc.com/doc-3306127 .html