【教学课件】第2章输入输出技术.ppt
《【教学课件】第2章输入输出技术.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第2章输入输出技术.ppt(61页珍藏版)》请在三一办公上搜索。
1、第2章 输入输出技术,2.1 概述 在微型计算机系统的应用中,CPU除与内存交换信息外,还必然要经常与各种外部设备交换信息。主机与外设进行信息交换过程主要是完成数据输入或输出的传送操作。输入或输出操作的确切含义是有选择地启动被微处理器选中的外部设备,以便使其接收来自CPU的数据或向CPU送入数据。数据传送的方向标准通常以微处理器为中心,当数据是由外部设备,如键盘、纸带读入机、光笔等设备向CPU送入时,称为输入传送;而当数据自CPU送到如发光二极管、七段显示器、CRT显示器、点阵打印机、绘图仪等设备时,称为输出传送。当实现一个数据的输入输出操作时,CPU必须在众多的外部设备中寻找一个确定的设备,
2、而如何寻找这一特定的外部设备就是输入输出寻址方式所解决的问题。当找到一个确定的外部设备以后,接下来的问题就是如何同它进行信息交换,这就是输入输出控制方式所解决的问题。,2.2 输入输出的寻址方式,1 存储器映象寻址方式 存储器映象寻址方式的主要优点是:(1)指令丰富。所有存储器访问指令都可以用来处理I/O操作,而不使用专用的I/0指令。在微型机的指令系统中,存储器操作指令数量多,功能强,寻址方式灵活,这给程序设计带来了方便,同时也大大增强了系统的I/0功能,使I/0端口不仅能完成数据的传送,还能对端口的内容进行算术逻辑运算或移位等。(2)I/O端口空间大。由于在存储器空间中划出一个区域作为I/
3、O端口地址空间,所以系统中的I/O端口数目几乎不受限制,其最大数目只受系统的存储容量的限制。这对大型控制或数据通讯系统等一些特殊场合是很有用处的。(3)寻址的控制逻辑比较简单。这种寻址方式的主要缺点是:(1)I/O端口占用了一部分存储器地址空间,使可用的内存空间相对减少。另外,当所有地址都必须做为存储器单元使用时,则不能采用这种方法。(2)对外设的访问和对存储器的访问一样,必须对全部地址线译码,因而地址译码电路比较复杂。(3)存储器操作指令字节长,需要较长的执行时间,降低了I/O操作速度。(4)用存储器指令来处理输入/输出,在程序清单中不易区别,给程序的设计,分析和调试带来一定的困难。,输入输
4、出的寻址方式,2 I/O映象寻址方式 I/O映象寻址方式的主要优点是:(1)I/O空间与存储器空间各自独立,可分开设计。(2)由于采用单独的I/O指令,其助记符与存储器指令明显不同,因而使程序编制清晰,易于理解。(3)I/O地址线较少,所以译码电路简单。(4)I/O指令格式短,执行时间快。这种寻址方式的主要缺点是:(1)需要专门的I/O指令,且这些指令一般不如存储器访问指令丰富,程序设计灵活性较差。(2)参加译码的地址线较少,使外设端口数目受到限制。(3)采用专用的I/O周期和专用的I/O控制线,这不仅使微处理器有限的引脚更加紧张,而且也增加了控制逻辑的复杂性。最小模式下的8088则用M/IO
5、信号来区分存储器或I/O端口的访问。最大模式下的8088与协处理器8087连接,引脚更为紧张,只有通过输出三个总线周期信号,再由8288总线控制器解读后生成存储器读/写、I/O读/写的控制信号。,8088专用I/O指令,对于采用直接寻址方式,其指令格式为:输入指令:IN AL,n和IN AX,n输出指令:OUT n,AL和OUT n,AX 对于采用间接寻址方式,其指令格式为:输入指令:IN AL,DX和IN AX,DX输出指令:0UT DX,AL和OUT DX,AX,门电路组合法,常见的端口地址选择方法有三种:门电路组合法、译码器译码法、比较器比较法。门电路组合法是最简单的一种端口地址选择方法
6、,它采用常见的逻辑门电路,比如与门、或门、非门等作为基本的组合元件。一般端口都是指寄存器、锁存器或缓冲器,这些器件都有一个芯片选择信号,简称片选信号,多数是低电平有效,当然,也有一些芯片没有片选信号,而是有使能端,或脉冲控制端,总之是使器件产生动作的控制端。端口地址选择的目的,是当地址线上出现某种信息组合时,在电路的输出端会产生一个有效信号(有效信号有四种状态,即高电平、低电平、上跳沿、下降沿,具体使用哪种状态,视所使用器件而定),该信号连到器件的控制端,使器件产生动作,从而完成I/O端口的读/写操作。这种方法简单、直观,适合于单个端口,常用的基本门电路有7400(2输入4与非门)、7408(
7、2输入4与门)、7420(4输入双与非门)、7430(8输入与非门)、7402(2输入4或非门)、7432(2输入4或门)、7404(六反相器)等等。,译码器译码法,这是最常用的一种方法,就是利用译码器芯片对地址进行译码。PC/XT微型机系统板上接口芯片的端口地址译码采样了一个74LS138译码电路。这些芯片也都有片选信号,74LSl38译码器的输出与这些芯片的片选信号连接。各接口芯片内部有多个寄存器,因而应有多个端口地址。译码器只直接使用A9A5,其余的低5位地址A4A0末接,留给各接口芯片自行内部译码,以便寻址多个寄存器。显然,由于A4A0未接到译码器,所以每个译码器的输出端对应25=32
8、个端口地址,其地址范围依次是:8237 000H 01FH8259 020H 03FH8253 040H 05FH8255 060H 07FHDMA页面寄存器 080H 09FHNMI屏蔽寄存器 0A0H 0BFH保留的 0C0H 0DFH保留的 0E0H 0FFH系统为每个接口芯片预留出32个端口地址,至于每个接口芯片用多少,则视接口芯片内部寄存器的数目而定。译码器译码法可以方便地对多个地址进行译码,适合于多个端口的电路。常用的译码器有74139/74155(双2线-4线译码器)、74138(3线-8线译码器)、74154(4线-16线译码器)。,比较器比较法,这是比较灵活的一种方法,就是利
9、用数码比较器把地址线上的地址同预定的地址相比较,进而确定地址是否相符。如果比较后两个地址相等,则表示地址总线送来的端口地址就是该端口的地址。用比较器比较法进行端口地址译码不仅原理直观,方法简便,更主要的是通过改变预设置,就能够很容易地改变接口电路中端口的地址,而不需要改变线路,使用非常灵活。在一些通用接口模板中,这一方法已得到广泛的应用。常用的比较器有7485(4位数字比较器)、74688(8位数字比较器)。,2.3 输入输出控制方式,I/O设备与存储器区别:1存储器的工作速度几乎和中央处理机一样,而大多数I/O设备工作较慢,且不同的I/O设备又有不同的工作速度。2存储器的字长一般是以字节为单
10、位或等于机器字长,而I/O设备传送的过程中可能是8位数据,也可能是1位,2位不等的状态或控制信息。3存储器中的信号形式与CPU相同,而I/O设备可能是数字信号也可能是模拟信号,可能是电压信号也可能是电流信号,可能是并行的也可能是串行的等等。4存储器的控制信号主要是读/写信号,而I/O设备一般有多种控制信号,如设备工作,空闲等状态信号,设备的启动,清除等控制信号。这些差异都使得I/O数据传送过程较为复杂,随之而来的就是根据不同设备需采用不同的传送方式,相应的也就要采用不同的控制方式。,I/O控制方式,CPU对I/O控制方式,就微机系统而言有四种基本方式,即无条件传送控制方式,程序查询传送控制方式
11、,中断传送控制方式和DMA控制方式。无条件传送方式,CPU可在任何时刻与I/O设备交换数据,对CPU而言,I/O设备总是处于准备就绪状态。程序查询方式,CPU通过查询I/O设备的状态,断定哪个设备需要服务,然后转入相应的服务程序。中断方式,当I/O设备需要CPU为其服务时,可以发生中断请求信号INTR,CPU接到请求信号后,中断正在执行的程序,转去为该设备服务,服务完毕,返回原来被中断的程序并继续执行。直接存储器存取(DMA)方式,采用这种方式时,在DMA控制器的管理下,I/O设备和存储器直接交换信息,而不需要CPU介入。,无条件传送控制方式,无条件传送方式又称同步方式,是最简单的一种I/O控
12、制方式,多用于CPU与低速接口之间的信息交换。如开关、继电器、LED显示器,它们总是被认为处于“待命”状态(即总是处于准备就绪或闲置状态),CPU可在任何时候执行I/O指令,无条件地与外部设备进行信息交换,而不必考虑外部设备的状态。,程序查询传送控制方式,程序查询方式是有条件的传送控制方式,在这种方式中,CPU对I/O设备的控制(调度)全部由程序来实现,所有的输入输出操作都处于正在被执行的程序的控制下,I/O设备完全处于被动地位。所谓查询,就是询问外部设备的工作状态,通过这一状态来判定外设是否已具备了与CPU交换数据的条件,即外设是否已准备好与CPU交换数据。对输入设备而言,这个状态指示输入设
13、备的数据是否已经准备就绪,CPU是否可以随时来读取这个数据。对输出设备而言,这个状态指示输出设备的数据接收寄存器是否已空,是否可以随时接受CPU送来的数据。程序查询是最常用的I/O控制方式,其特点是I/O操作由CPU启动,即CPU是主动的而I/O是被动的,所有的传送都是与程序的执行同步的。它的优点是能较好地协调外设与CPU之间定时的差别,并且用于接口的硬件较少,也不需要专门的硬件。它的主要缺点有两个:一个是因它需踏步检测某设备状态或周期性检查所有设备状态,所以影响微机系统的效率。二是系统所接入的设备越多,查询的周期就越长,因此对工作速度较快的I/O设备会因服务不及时而丢失数据。,中断传送控制方
14、式,程序查询方式独占CPU,而通常外设的输入输出速度很慢,浪费了大量的CPU时间,它使得CPU在查询过程中除了检测外设状态以外,不能做任何其他事情。在中断传送控制方式中,CPU执行功能程序与外部设备工作,二者是并行进行的,它改变了CPU主动查询外设状态的情况,而是当外设一切准备就绪后,主动向CPU提出进行数据传输的请求。中断过程就是CPU对一个随机的请求进行处理的过程,它一般包括五个方面,即中断申请、中断排队、中断响应、中断服务和中断返回。,中断申请,中断源就是指能够发出中断请求信号的来源。中断源能够产生中断申请信号有两个条件:(l)中断源自身工作已经“准备就绪”。比如对于输入设备,“准备就绪
15、”就是指它已经准备好数据,CPU可以随时来读取这个数据;对于输出设备,“准备就绪”就是指它已经准备好随时接收CPU送来的数据。(2)CPU允许该中断源申请中断。一般来说,CPU本身有一个中断允许触发器,而每一个中断源也有一个中断允许触发器(或称之为中断屏蔽寄存器),如果CPU本身禁止中断(即其中断允许触发器处于禁止状态),那么即使外部有中断请求信号,CPU也不会响应。如果CPU本身允许中断,它就可以接受(响应)中断源发出的中断请求信号。此时,哪一个中断源可能发出中断请求信号,就要看CPU使哪一个中断源的中断允许触发器处于允许状态(即该中断源所属的中断屏蔽寄存器处于非屏蔽状态)。如果CPU禁止某
16、个中断源申请中断,那么即使这个中断源自身工作已经准备就绪,它也不可能向CPU提出中断请求。,中断排队,解决中断优先权排队一般有两种方法,即软件查询法和硬件排队法。(l)软件查询法 基本思想:用软件查询中断源,根据查询的顺序先后来确定中断源的优先级。先查询的优先级就高,后查询的优先级就低,只要改变查询次序,就可以改变中断源的中断优先级。软件查询法的主要优点是节省硬件,电路简单,程序设计灵活,优先级调整方便,缺点是每次响应中断后,都要从优先权最高的中断开始询问,外设中断源越多,查询的时间就越长,而且各个中断源的服务响应时间也是不同的,造成优先级别低的中断源实时处理性差。(2)硬件排队法基本思想:用
17、硬件判优逻辑电路来确定申请中断中的最高优先级,系统中各中断源的优先级别是由它们在判优电路中的位置决定的。硬件排队法的优点在于中断响应速度炔,并且各不同设备,无论它排在链头还是链尾,它的响应时间是相同的。缺点是增加了硬设备,电路设计复杂。,中断响应,响应中断条件:(l)外部设备有中断请求。(2)CPU自身允许中断。(3)没有更高级的中断正在被服务。CPU对有些事情的处理是禁止被打扰的,比如DMA操作等。(4)CPU在每条指令结束后响应中断。CPU不能在指令执行的中间响应中断,而是在每条指令的最后一个T状态采样中断请求线,如果有中断请求并且满足响应条件的话,将发出中断响应信号。CPU一旦响应中断,
18、将在中断响应周期中完成一些必要的操作,这些工作是由硬件自动完成的,无需人工介入。(1)关中断。内部自动实现关中断,禁止在中断响应期间受到外部干扰。(2)保护断点。是指保护断点的地址,也就是中断发生时在程序计数器中保存的下一条指令的地址。保护断点的目的是执行完中断服务程序后能返回到该地址继续运行原程序。(3)将中断服务程序的入口地址送入程序计数器,从而实现转入相应的中断服务程序。不同的CPU有不同的转入方法。,中断服务,中断服务就是指执行中断服务程序,包括三个部分:保护现场、中断处理和恢复现场。保护现场是进入中断服务程序后首先要做的工作。主程序中要用到寄存器,中断服务程序中也要用到寄存器,而CP
19、U中的寄存器又是有限的,所以保护现场的目的就是将有关的寄存器内容压入堆栈保存起来。所谓有关的寄存器是指中断服务程序中使用的那些寄存器,将这些寄存器的内容保存起来,也就保存了主程序断点处的工作环境,以后即使改变了这些寄存器的内容也没关系,因为断点处的工作环境已经被保存下来,随时都可以恢复。保护现场一般使用PUSH指令。中断处理是中断服务程序中的核心工作。它实质性地完成CPU与外设之间的输入或输出操作,有时也包括内存地址的修改,计数值的修改等等。恢复现场的目的就是恢复主程序断点处的工作环境,这个环境是在保护现场工作中保存起来的,一般使用POP指令来完成。,中断返回,中断返回是中断过程的最后一个环节
20、,它是由中断返回指令(IRET)来实现的,其目的在于将断点地址返回到程序计数器,由于计算机总是按照程序计数器的地址取指令执行程序,所以CPU自然从断点地址开始继续执行原程序。需要说明的一点是,CPU在响应中断时已经在其内部自动实现了关中断(禁止中断),其目的是在中断响应过程中,保护断点,转入中断服务程序等工作不受其它中断源的干扰,但由于关了中断,使得在整个中断服务过程中不能再响应其他的中断,也就是不能实现中断嵌套。而如果不在中断服务程序返回之前,或在主程序循环体中重新开中断的话,那么系统就不可能再响应任何可屏蔽的中断请求。显然,为了实现中断嵌套,一定要在中断服务程序中开始的部分安排开中断指令;
21、为了实现连续的中断,最好在中断返回指令之前安排一个开中断指令。,8088的中断系统,8088具有强大的中断处理功能,它可以处理256种不同类型的中断,类型号为0255。,内部中断和外部中断,1外部中断外部中断是由CPU外部引起的中断,需要外设产生一个信号来通知CPU,包括非屏蔽中断NMI和可屏蔽中断INTR。非屏蔽中断NMI不能被禁止,它只要产生就必须响应,不受CPU的中断允许触发器IF的控制,其中断号为2,一般用于最急迫的事情。它的优先级高于INTR。可屏蔽中断INTR受CPU的中断允许触发器IF的控制,可由指令来实现控制:STI使IF=1允许中断,CLI使IF=O禁止中断。2内部中断内部中
22、断是由CPU状态的改变或执行中断指令而产生的中断,它不受IF的控制,主要用于功能调用、程序调试和意外情况处理。内部中断包括四类:除法错中断、单步中断、溢出中断、软件中断。各类中断源的优先级别由高到低的顺序依次为内部中断、NMI、INTR、单步中断。,中断向量表,中断向量表是中断服务程序的入口地址表。每个中断服务程序的入口地址都有2个字节的段地址和2个字节的段内偏移量共4个字节组成,共有256个中断源,所以中断向量表共占用2564=1024字节空间,并且从存储器地址的最低端开始存放(即地址00000H003FFH)。内部中断与外部中断的主要区别在于:1外部中断需要从数据总线上读取中断类型码,而内
23、部中断的中断类型码是指令的一部分。2外部中断受中断允许触发器IF的控制,而内部中断不受IF的控制。3内部中断的优先级别比外部中断要高(除单步中断以外)。,8088系统采用中断方式的程序结构(1),STACKSEGMENT STACK DW 100H DUP(?)STACK ENDSDATA SEGMENTINT_SEG DW?;保存中断向量段地址INT_OFF DW?;保存中断向量偏移地址DATA ENDS;CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART PROC FAR PUSH DS XOR AX,AX POSH AX MOV AX,DA
24、TA MOV DS,AX MOV AL,n;指定类型号为n MOV AH,35H INT 21H;取中断向量送到ES:BX,MOV INT_SEG,ES MOV INT_OFF,BX;保护ES:BX CLI;设置中断向量必须关中断 MOV AL,n MOV AH,25H;重新设置n MOV DX,SEG INTP MOV DS,DX MOV DX,OFFSET INTP;将INTP设置在n上 INT 21H STI;设置完毕后打开中断;主体程序 CLI;恢复中断向量前必须关中断 MOV AL,n MOV AH,25H MOV DX,INT_SEG MOV DS,DX MOV DX,INT_OF
25、F INT 21H;恢复原中断向量 RETSTART ENDP,8088系统采用中断方式的程序结构(2),INTP PROC FAR STI;允许中断嵌套 PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI PUSH BP PUSH ES PUSH DS;保护现场;中断处理 MOV AL,20H OUT 20H,AL;8259中断返回,发EOI,8088系统采用中断方式的程序结构(3),POP DS POP ES POP BP POP DI POP SI POP DX POP CX POP BX POP AX;恢复现场 IRFT;中断返回INTP E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 输入输出 技术
链接地址:https://www.31ppt.com/p-5658399.html