第8章 输入输出系统.ppt
《第8章 输入输出系统.ppt》由会员分享,可在线阅读,更多相关《第8章 输入输出系统.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8 8章章 输入输出系统输入输出系统本章内容:本章内容:vCPUCPU与与外设的数据交换方式外设的数据交换方式v程序查询方式程序查询方式v中断方式中断方式vDMADMA方式方式v通道方式通道方式8.1 外设的定时和数据交换方式外设的定时和数据交换方式v外围设备的定时方式外围设备的定时方式 首先分析输入首先分析输入/输出设备同输出设备同CPUCPU交换数据的过程:交换数据的过程:输入过程:输入过程:1)CPU1)CPU把一个地址值放在地址总线上,这一步将选择某一输入设备;把一个地址值放在地址总线上,这一步将选择某一输入设备;2)CPU2)CPU等候输入设备的数据成为等候输入设备的数据成为就绪
2、就绪;3)CPU3)CPU从数据总线读入数据,并放在一个相应的寄存器中。从数据总线读入数据,并放在一个相应的寄存器中。输出过程:输出过程:1)CPU1)CPU把一个地址值放在地址总线上,选择输出设备;把一个地址值放在地址总线上,选择输出设备;2)CPU2)CPU等候输出设备的状态成为等候输出设备的状态成为就绪就绪;3)CPU3)CPU把数据放在数据总线上,输出设备把数据取走。把数据放在数据总线上,输出设备把数据取走。问题的关键在于:输入时究竟什么时候输入设备数据成为问题的关键在于:输入时究竟什么时候输入设备数据成为就绪就绪?输出时什输出时什么时候输出设备的状态才成为么时候输出设备的状态才成为就
3、绪。就绪。很显然,由于输入输出设备本身的速很显然,由于输入输出设备本身的速度差异很大,对于不同速度的外围设备,需要有不同的定时方式。度差异很大,对于不同速度的外围设备,需要有不同的定时方式。CPUCPU与外围设备的定时有三种情况:与外围设备的定时有三种情况:简单外围设备:简单外围设备:CPUCPU和这类设备的数据交换和这类设备的数据交换不需要定时不需要定时,CPU认为它们始终认为它们始终处于就绪状态,例如:机械开关,处于就绪状态,例如:机械开关,CPUCPU认为输入设备的数据一定认为输入设备的数据一定就绪,因为只要根据开关的闭就绪,因为只要根据开关的闭/合就可以输入合就可以输入0/10/1信号
4、;例如信号;例如:显显示二极管,示二极管,CPUCPU认为输出设备的状态一定就绪,因为只要认为输出设备的状态一定就绪,因为只要CPU输输出出0/10/1信号,显示二级就可以灭信号,显示二级就可以灭/亮。亮。CPUCPU和这类设备的数据交换一般采用和这类设备的数据交换一般采用无条件传送方式无条件传送方式。慢速外围设备慢速外围设备 由于这类设备的速度和由于这类设备的速度和CPU的速度不在一个数量级上,如的速度不在一个数量级上,如打印机;或由于设备本身是在不规则时间间隔下操作的,如键打印机;或由于设备本身是在不规则时间间隔下操作的,如键盘,因此盘,因此CPU与这类设备之间的通常采用与这类设备之间的通
5、常采用异步定时方式异步定时方式。输入:输入:CPU首先查询外部设备的数据是否就绪,如果就绪则通首先查询外部设备的数据是否就绪,如果就绪则通过数据总线输入数据,否则循环等待直到数据就绪;或者由外过数据总线输入数据,否则循环等待直到数据就绪;或者由外部设备在数据就绪时通知部设备在数据就绪时通知CPU,CPU通过数据总线输入数据。通过数据总线输入数据。输出:输出:CPU首先查询外部设备的状态是否就绪,如果就绪则通首先查询外部设备的状态是否就绪,如果就绪则通过数据总线输出数据,否则循环等待直到外设就绪;或者由外过数据总线输出数据,否则循环等待直到外设就绪;或者由外部设备在状态就绪时通知部设备在状态就绪
6、时通知CPU,CPU通过数据总线输出数据。通过数据总线输出数据。CPU和这类设备的数据交换一般采用和这类设备的数据交换一般采用程序查询方式程序查询方式或者或者中中断方式断方式。高速的外围设备高速的外围设备 由于这类外设是以相等的时间间隔操作的,则由于这类外设是以相等的时间间隔操作的,则CPU可以用可以用等间隔的速率执行输入等间隔的速率执行输入/输出指令。因此输出指令。因此CPUCPU与这类设备之间的与这类设备之间的通常采用通常采用同步定时方式同步定时方式。例如外设外设的速度是例如外设外设的速度是2400B/s2400B/s,则,则CPUCPU每隔每隔1/24001/2400执行一执行一次输入指
7、令即可。次输入指令即可。CPUCPU和这类设备的数据交换一般采用和这类设备的数据交换一般采用DMADMA方式方式或或通道方式通道方式。vCPUCPU和外设的数据交换方式和外设的数据交换方式无条件方式:无条件方式:CPUCPU认为外设的输入数据始终有效,随时可以认为外设的输入数据始终有效,随时可以输入;或外设的状态始终有序,随时可以输出。输入;或外设的状态始终有序,随时可以输出。-程序查询方式程序查询方式CPU 和和 I/O 串行工作串行工作踏步等待踏步等待从从I/O接口中读接口中读 一个字到一个字到CPU从从CPU向主存向主存 写入一个字写入一个字CPU向向I/O发发 读指令读指令CPU读读I
8、/O状态状态检查状态检查状态 完成否完成否未准备就绪未准备就绪现行程序现行程序是是出错出错已准备就绪已准备就绪否否 CPUCPU通过执行程序不通过执行程序不断读取并测试外设的状断读取并测试外设的状态,如果外设处于就绪态,如果外设处于就绪状态,则状态,则CPU执行输入执行输入指令或输出指令与外设指令或输出指令与外设交换数据。否则交换数据。否则CPU必必须循环等待。须循环等待。中断方式中断方式 在查询方式中,在查询方式中,CPUCPU需要不断查询外部设备的状态,不能需要不断查询外部设备的状态,不能有效的利用有效的利用CPUCPU。为了提高。为了提高CPUCPU的利用率,于是产生了中断处理的利用率,
9、于是产生了中断处理技术。在中断系统中,技术。在中断系统中,CPUCPU与外设交换数据时,与外设交换数据时,CPUCPU不需要查询不需要查询外部设备的状态,当外设没有做好传送数据的准备时,外部设备的状态,当外设没有做好传送数据的准备时,CPUCPU可可以执行其他操作,当外设准备好后,向以执行其他操作,当外设准备好后,向CPUCPU发送中断请求,发送中断请求,CPUCPU暂停当前的程序,执行中断程序来完成数据传送,接着返回原暂停当前的程序,执行中断程序来完成数据传送,接着返回原来的程序继续执行。来的程序继续执行。DMADMA方式方式(直接内存访问方式直接内存访问方式)在中断处理中,数据传送需要在中
10、断处理中,数据传送需要CPUCPU执行中断程序来实现。执行中断程序来实现。对于高速外设仍不能满足需要。在大量数据传送过程中,利用对于高速外设仍不能满足需要。在大量数据传送过程中,利用专门的控制芯片完成数据输入输出,不需要专门的控制芯片完成数据输入输出,不需要CPUCPU参与,这种方参与,这种方式称为式称为DMADMA方式,专门的控制芯片称为方式,专门的控制芯片称为DMADMA控制器。控制器。通道方式通道方式 利用输入输出处理机完成对利用输入输出处理机完成对对外围设备的统一管理和外对外围设备的统一管理和外围设备与内存之间的数据传送。围设备与内存之间的数据传送。8.2 程序查询方式程序查询方式v
11、I/O 设备编址方式设备编址方式 统一编址统一编址 不统一编址不统一编址用取数、存数指令用取数、存数指令有专门的有专门的 I/O 指令指令v 输入输出指令输入输出指令 I/OI/O指令主要功能是用于控制设备的动作,如启动、关闭设备指令主要功能是用于控制设备的动作,如启动、关闭设备等;测试设备的状态,如等;测试设备的状态,如“忙忙”、“就绪就绪”等,传送数据。等,传送数据。输入输入 端口地址端口地址 CPU 的寄存器的寄存器输出输出 CPU 的寄存器的寄存器 端口地址端口地址IN AL,61H如如IN AL,nOUT 60H,AL如如OUT n,AL设备选择电路设备选择电路数据缓冲寄存器数据缓冲
12、寄存器QQ&数据线数据线准备就绪准备就绪启动命令启动命令地址线地址线SEL输入数据输入数据启动设备启动设备设备工作设备工作 结束结束就绪就绪忙忙10 10v 程序查询方式的接口程序查询方式的接口 1 1)设备选择电路)设备选择电路 2 2)数据缓冲寄存器)数据缓冲寄存器 3 3)设备状态标志)设备状态标志 CPU通过执行程序不断读取并测试外设的状态,如果外设通过执行程序不断读取并测试外设的状态,如果外设处于就绪状态,则处于就绪状态,则CPUCPU执行输入指令执行输入指令(in)(in)或输出指令或输出指令(out)(out)与外与外设交换数据。否则设交换数据。否则CPUCPU循环等待。循环等待
13、。检查状态标记检查状态标记交换数据交换数据准备就绪准备就绪?是是否否测测试试指指令令转转移移指指令令传传送送指指令令打打印印机机 状态寄存器状态寄存器CPUCPU数据总线数据总线控制总线控制总线地址总线地址总线0:忙忙1:空闲空闲端口地址:端口地址:61H61H设设打印机打印机控制器的数据寄存器端口地址为控制器的数据寄存器端口地址为62H(62H(图图中未给出),待打印的字符在中未给出),待打印的字符在BLBL中,则处理器通中,则处理器通过查询状态寄存器输出过查询状态寄存器输出待打印待打印数据的程序如下:数据的程序如下:INPUT:IN AL,61H INPUT:IN AL,61H ;读状态寄
14、存器;读状态寄存器 AND AL,01H AND AL,01H ;测试最低位;测试最低位 JZ INPUT JZ INPUT ;继续读入;继续读入 OUT BL,62H OUT BL,62H ;输出待打印数据;输出待打印数据BUSY多个设备程序查询流程图多个设备程序查询流程图8.3 中断方式中断方式v中断的基本概念中断的基本概念 在在CPUCPU正正常常运运行行程程序序时时,由由于于内内部部或或外外部部某某个个非非预预料料事事件件的的发发生生,使使CPUCPU暂暂停停正正在在运运行行的的程程序序,而而转转去去执执行行处处理理引引起起中中断断事事件件的的程程序序,然然后后再再返返回回被被中中断断
15、了了的的程程序序,继继续续执执行行。这这个个过过程程就就是是中中断断。中中断断适适合合随随机机出出现现的的请请求求,例例如如输输入入输输出出设设备备的的请请求。求。主主程程序序主主程程序序中断请求中断请求中断返回中断返回中断服务中断服务子程序子程序I/OI/O中断的产生中断的产生以打印机为例以打印机为例发发中中断断请请求求 空闲空闲接收接收数据数据接收接收数据数据准备准备发发中中断断请请求求打印打印打印打印打印机打印机执行主程序执行主程序继续执行主程序继续执行主程序继续执行主程序继续执行主程序响响应应中中断断中中断断返返回回响响应应中中断断中中断断返返回回 启动启动打印机打印机传送传送数据数据
16、传送传送数据数据CPUCPU 与打印机并行工作与打印机并行工作v中断的过程中断的过程 能向能向CPUCPU发出中断请求的中断源很多,而且中断请求又是随机的,但发出中断请求的中断源很多,而且中断请求又是随机的,但CPUCPU对中断的响应和处理必须经过以下几个过程:对中断的响应和处理必须经过以下几个过程:1)1)中断请求:外设通过中断请求输入中断请求:外设通过中断请求输入线线INTRINTR给出中断请求给出中断请求。2)2)中断判优:对于一个复杂的系统同一时刻会出现多个中断请求。对每一个中断判优:对于一个复杂的系统同一时刻会出现多个中断请求。对每一个中断请求设置一个中断优先权。当多个中断请求同时出
17、现时,中断请求设置一个中断优先权。当多个中断请求同时出现时,CPU按中断优按中断优先级的高低,通过中断请求应答线先级的高低,通过中断请求应答线INTAINTA对优先级别最高的中断给予响应。对优先级别最高的中断给予响应。3)3)中断响应:中断响应:CPU在每一条指令执行结束之后,在每一条指令执行结束之后,即转入即转入公操作公操作时才受理设备时才受理设备的中断请求,这样才不致于使当前指令的执行受到干扰。的中断请求,这样才不致于使当前指令的执行受到干扰。每当一条指令执行每当一条指令执行完毕,完毕,CPU便检查外设的中断请求信号,若中断请求信号为便检查外设的中断请求信号,若中断请求信号为1 1,并且,
18、并且CPUCPU内部内部的中断管理部件的的中断管理部件的中断屏蔽触发器中断屏蔽触发器为为0 0时,时,(为为1 1时时CPUCPU不响应外设的中断不响应外设的中断)则则CPUCPU通过通过INTAINTA引腿给出中断响应输出信号,转入中断周期。引腿给出中断响应输出信号,转入中断周期。4)4)保存断点:为了在中断服务结束之后,能返回中断的主程序继续执行原保存断点:为了在中断服务结束之后,能返回中断的主程序继续执行原来的程序,中断之前来的程序,中断之前CPUCPU要将执行的下一条指令的地址,即要将执行的下一条指令的地址,即程序程序计数器计数器PCPC的的值和值和状态寄存器状态寄存器推入堆栈。推入堆
19、栈。5)5)关闭中断:为了在中断服务过程中,关闭中断:为了在中断服务过程中,CPUCPU不再被新的中断源的中断请求所不再被新的中断源的中断请求所打扰,将打扰,将中断屏蔽触发器中断屏蔽触发器置置1 1。6)6)中断地址的形成:中断地址是中断服务子程序入口地址,即运行服务程中断地址的形成:中断地址是中断服务子程序入口地址,即运行服务程序在内存中的起始地址。序在内存中的起始地址。7)7)转入中断服务处理程序。转入中断服务处理程序。8)8)保护现场:中断服务子程序运行过程时,若要使用保护现场:中断服务子程序运行过程时,若要使用CPU中的某些通用寄中的某些通用寄存器,为了在中断服务结束之后能使原来的程序
20、继续运行,必须恢复中存器,为了在中断服务结束之后能使原来的程序继续运行,必须恢复中断响应之前程序使用的断响应之前程序使用的CPU各通用寄存器中的数据。为此,在中断处理之各通用寄存器中的数据。为此,在中断处理之前,必须把前,必须把中断处理将要使用的寄存器的数据压入堆栈中断处理将要使用的寄存器的数据压入堆栈加以保护,这个过加以保护,这个过程称为保存现场。程称为保存现场。10)10)恢复现场:恢复现场:将原来推入堆栈的通用寄存器的数据弹出,恢复响应中断之将原来推入堆栈的通用寄存器的数据弹出,恢复响应中断之前的程序的运行状态。前的程序的运行状态。12)12)恢复断点:恢复恢复断点:恢复程序程序计数器计
21、数器PCPC以及以及状态寄存器状态寄存器的内容,使处理器从被中的内容,使处理器从被中断的主程序的下一条指令继续运行。断的主程序的下一条指令继续运行。9)9)执行中断服务处理程序:为提出中断请求的设备服务执行中断服务处理程序:为提出中断请求的设备服务13)13)返回主程序继续执行返回主程序继续执行11)11)开放中断:为了在中断服务结束之后,开放中断:为了在中断服务结束之后,CPU能够响应新的中断源的中断能够响应新的中断源的中断请求,将请求,将中断屏蔽触发器中断屏蔽触发器置置0 0。中断判优中断判优关闭中断关闭中断形成中断地址形成中断地址CPU主主程程序序响应中断响应中断开放中断开放中断主主程程
22、序序中断处理过程中断处理过程中断请求中断请求外部设备外部设备中断请求中断请求外部设备外部设备保护现场保护现场执行中断服务程序执行中断服务程序恢复现场恢复现场保存断点保存断点恢复断点恢复断点中断结束中断结束中断服务子程序中断服务子程序v程序中断方式的基本接口程序中断方式的基本接口 中断由外设接口的状态和中断由外设接口的状态和CPUCPU两方面来控制:两方面来控制:外设部分:外设部分:准备就绪触发器准备就绪触发器(RD)(RD):一旦设备做好一次数据的接收或发送,使:一旦设备做好一次数据的接收或发送,使RDRD标志标志置置“1 1”。在中断方式中该标志称为。在中断方式中该标志称为中断触发器中断触发
23、器。允许中断触发器允许中断触发器(EI)(EI):EIEI为为“1 1”时,设备可以向时,设备可以向CPUCPU发出中断请求;发出中断请求;EIEI为为“0 0”时,不能向时,不能向CPUCPU发出中断请求。设置发出中断请求。设置EIEI标志的目的,就是通过软件标志的目的,就是通过软件来控制是否允许某设备发出中断请求。来控制是否允许某设备发出中断请求。CPUCPU部分:部分:中断请求触发器中断请求触发器(IR)(IR):它用来暂存中断请求线上由设备发出的中断请求:它用来暂存中断请求线上由设备发出的中断请求信号。当信号。当IRIR标志为标志为“1 1”时,表示设备发出了中断请求。时,表示设备发出
24、了中断请求。中断屏蔽触发器中断屏蔽触发器(IM)(IM):它决定:它决定CPUCPU是否受理外设的中断。是否受理外设的中断。IMIM标志为标志为“0 0”时,时,CPUCPU可以受理外界的中断请求,反之,可以受理外界的中断请求,反之,IMIM标志为标志为“1 1”时,时,CPUCPU不受理不受理外界的中断。外界的中断。程序中断方式的基本程序中断方式的基本接口的动作过程参看动画接口的动作过程参看动画8.48.4v单级中断单级中断 根据计算机系统对中断处理的策略不同,可分为单级中断根据计算机系统对中断处理的策略不同,可分为单级中断系统和多级中断系统。系统和多级中断系统。单级中断的概念单级中断的概念
25、 单级中断系统是中断结构中最基本的形式。在单级中断系单级中断系统是中断结构中最基本的形式。在单级中断系统中,所有的中断源都属于同一级,所有中断源触发器排成一统中,所有的中断源都属于同一级,所有中断源触发器排成一行,其行,其优先次序是离优先次序是离CPU近的优先权高近的优先权高。当响应某一中断请求。当响应某一中断请求时,执行该中断源的中断服务程序。在此过程中,时,执行该中断源的中断服务程序。在此过程中,不允许其他不允许其他中断源再打断中断服务程序中断源再打断中断服务程序,即使优先权比它高的中断源也不,即使优先权比它高的中断源也不能再打断。能再打断。在单级中断系统中,所有的在单级中断系统中,所有的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 输入输出系统 输入输出 系统
限制150内