第8章输入输出系统.ppt
《第8章输入输出系统.ppt》由会员分享,可在线阅读,更多相关《第8章输入输出系统.ppt(102页珍藏版)》请在三一办公上搜索。
1、第八章 输入输出系统,计算机输入输出系统组成计算机总线输入输出接口输入输出设备硬件部分主要由计算机总线和输入输出接口两部分组成,软件方面需要操作系统的支持输入输出系统的作用连通计算机的各个功能部件和设备,并在它们之间实现数据交换系统复杂多变的原因太多的CPU系列和型号:运行速度、处理功能、接口逻辑各不相同;更多的外围设备:运行原理、提供的功能、读写速度、接口逻辑千差万别不同的用户、不同的应用场合提出众多不同的使用要求,无法使用一种方式、一套方法全面解决问题,计算机输入输出系统概述,解决问题的途径建立公用的交换信息的通路,提供各部件协调使用通路的规则,这个通路就是计算机总线在众多不同的CPU和各
2、种不同的外围设备之间设置功能电路,解决二者之间的连接、沟通、匹配、缓冲等,这个功能电路就是设备接口卡(输入输出接口)支持多个I/O设备并发执行输入输出操作,降低输入输出操作对CPU干预的需求,采用多种不同的输入输出方式,例如中断方式、DMA方式等,第八章 输入输出系统,CPU对外围设备的管理方式程序中断方式DMA方式通道方式,外围设备的速度分级,外设种类繁多,存在以下几种情况:不同种类的外设数据传输速率差别很大;同一种设备在不同时刻传输速率也可能不同。高速的CPU与速度参差不齐的外设怎样在时间上同步呢?解决办法时在CPU和外设之间数据传送时加以定时。对于不同速度的外围设备,需要有不同的定时方式
3、。,外围设备的速度分级,1.速度极慢或简单的外围设备 对这类设备,如机械开关、显示二极管等,CPU总是能足够快地作出响应。换句话说,对机械开关来讲,CPU可以认为输入的数据一直有效,因为机械开关的动作相对CPU的速度来讲是非常慢的,对显示二极管来讲,CPU可以认为输出一定准备就绪,因为只要给出数据,显示二极管就能进行显示,所以,在这种情 况下,CPU只要接收或发送数据就可以了。,外围设备的速度分级,2.慢速或中速的外围设备 由于这类设备的速度和CPU的速度并不在一个数量级,或者由于设备(如键盘)本身是在不规则时间间隔下操作的,因此,CPU与这类设备之间的数据交换通常采用异步定时方式。其定时过程
4、如下:如果CPU从外设接收一个字,则它首先询问外设的状态,如果该外设的状态标志表明设备已“准备就绪”,那么CPU就从总线上接收数据。CPU在接收数 据以后,发出输入响应信号,告诉外设已经把数据总线上的数据取走。然后,外设把“准备就绪”的状态标志复位,并准备下一个字的交换。如果CPU起先询问外 设时,外设没有“准备就绪”,那么它就发出表示外设“忙”的标志。于是,CPU将进入一个循环程序中等待,并在每次循环中询问外设的状态,一直到外设发出“准备就绪”信号以后,才从外设接收数据。通常,把这种在CPU和外设间用问答信号进行定时的方式叫做应答式数据交换。,外围设备的速度分级,3.高速的外围设备由于这类外
5、设是以相等的时间间隔操作的,而CPU也是以等间隔的速率执行输入/输出指令的,因此,这种方式叫做同步定时方式。一旦CPU和外设发生同步,它们之间的数据交换便靠时钟脉冲控制来进行。,8.1 CPU对外围设备的管理方式,例子假设幼儿园一个阿姨带10个孩子,要给每个孩子分4块水果糖。假设孩子们把4块糖都吃完,那么她采用什么方法呢?方法1:她先给孩子甲一块糖,盯着甲吃完,然后再给第二块,等吃完第二块又给第三 块,吃完第三块又给第四块。接着给孩子乙,其过程与孩子甲完全一样。依次类推,直至到 第10个孩子发完四块糖。看来这种方法效率太低,重要之点还在于孩子们吃糖时她一直在守 候,什么事也不能干。方法2:每人
6、发一块糖各自去吃,并约定谁吃完后就 向她举手报告,再发第二块。看来这种新方法提高了工作效率,而且在未接到孩子们吃完糖 的 报告以前,她还可以腾出时间给孩子们改作业。但是这种方法还可以改进。方法3:进行批处理:每人拿2块糖各自去吃,吃完2块糖后再向她报告。显然这种方法工作 效率大大提高,她可以腾出更多的时间改作业。方法4:权力下放,把发糖的事交给另一个人分管,只是必要时她才过问一下。,8.1 CPU对外围设备的管理方式,管理方式有以下几种:程序控制方式程序查询方式程序中断方式DMA方式通道方式,1.程序查询方式,程序查询方式是早期计算机中使用的一种方式。数据在CPU和外围设备之间的传送完全靠计算
7、机程序控制,查询方式的优点是CPU的操作和外围设备的操作能够同步,而且硬件结构比较简单。但问题是,外围设备动作很慢,程序进入查询循环时将白白浪费掉CPU很多时间。这种情况同上述例子中第一种方法相仿,CPU此时只能等待,不能处理其他业务。即使CPU采用定期地由主程序转向查询设备状态的子程序进行扫描轮询的办法,CPU宝贵资源的浪费也是可观的。因此当前除单片机外,很少使用程序查询方式。,2.程序中断方式,中断是外围设备用来“主动”通知CPU,准备送出输入数据或接收输出数据的一种方法。通常,当一个中断发生时,CPU暂停它的现行程序,而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,CP
8、U又返回到它原来的任务,并从它停止的地方开始执行程序。这种方式和我们前述例子的第二种方法相类似。可以看出,它节省了CPU宝贵的时间,是管理I/O操作的一个比较有效的方法。中断方式一般适用于随机出现的服务,并且一旦提出要求,应立即进行。同程序查询方式相比,硬件结构相对复杂一些,服务开销时间较大。,查询:,程序,并行操作,主机,外设,空闲,启动,等待,工作,程序,交换数据,中断:,主机,程序,外设,空闲,启动,工作,程序,请求,中断程序,交换数据,程序,3直接内存访问(DMA)方式,用中断方式交换数据时,每处理一次I/O交换,约需几十微秒到几百微秒。对于一些高速的外围设备,以及成组交换数据的情况,
9、仍然显得速度太慢。直接内存访问(DMA)方式是一种完全由硬件执行I/O交换的工作方式。这种方式既考虑到中断响应,同时又要节约中断开销。此时,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和外围设备之间进行,以高速传送数据。这种方式和前述例子的第三种方法相仿,主要优点是数据传送速度很高,传送速率仅受到内存访问时间的限制。与中断方式相比,需要更多的硬件。DMA方式适用于内存和高速外围设备之间大批数据交换的场合。,4通道方式,DMA方式的出现已经减轻了CPU对I/O操作的控制,使得CPU的效率有显著的提高,而通道的出现则进一步提高了CPU的效率。这是因为,CPU将部分权
10、力下放给通道。通道是一个具有特殊功能的处理器,某些应用中称为输入输出处理器(IOP),它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。这种方式与前述例子的第四种方法相仿,大大提高了CPU的工作效率。然而这种提高CPU效率的办法是以花费更多硬件为代价的。,程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式 适用于数据传输率比较高的设备。目前,单片机和微型机中多采用程序查询方式、程序中断方式和DMA方式。通道方式大都用在中、大型计算机中。,8.2程序查询方式,用I/O指令编程实现信息传送。,(1)外设状态,启动,完成一次工作,调用完,再请求,00,01
11、,10,空闲:调用前,设备不工作;,结束:调用后,设备完成工作。,在接口中设置状态字表示这些状态。,(2)查询流程,启动外设,N,Y,入/出操作,(3)优缺点,硬件开销小;,实时处理能力差,并行程度低。,(4)应用场合,对CPU效率要求不高的场合,,或诊断、,调试过程。,8.2 程序查询方式,1、设备编址 I/O端口(Port)泛指I/O地址,对应I/O接口寄存器一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端口和控制端口,用于保存数据、状态和控制信息输入、输出端口可以是同一个I/O地址,8.2
12、程序查询方式,独立编址:内存地址和I/O设备地址是分开的,访问内存和访问I/O设备使用不同操作码的指令,即访问I/O设备有专门的I/O指令组。优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富,8.2 程序查询方式,统一编址:输入/输出设备中的控制寄存器、数据寄存器、状态寄存器等和内存单元一样看待,它们和内存单元联合在一起编排地址。这样就可用访问内存的指令(读、写指令)去访问I/O设备的某个寄存器,因而不需要专门的I/O指令组。优点:不需要专门的I/O指令I/O数据存取灵活缺点:占去部分存储器空间程序不易阅读(在汇编语言级不
13、容易区别访问存储器和访问外设,8.2 程序查询方式,2、输入输出指令 当用程序实现输入/输出传送时,I/O指令一般具有如下功能:置“1”或置“0”I/O接口的某些控制触发器,用于控制设备进行某些动作,如启动、关闭设备等。测试设备的某些状态,如“忙”、“准备就绪”等,以便决定下一步的操作。传送数据,当输入数据时,将I/O接口中数据寄存器的内容送到CPU某一寄存器;当输出数据时,将CPU中某一寄存器的内容送到I/O接口的数据寄存器。不同的机器,所采用的I/O指令格式和操作也不相同。,8.2 程序查询方式,3、程序查询接口设备选择电路数据缓冲寄存器设备状态寄存器,(1)先向I/O设备发出命令字,请求
14、进行数据传送;,(2)从I/O接口读入状态字;,(3)检查状态字中的标志,看看数据交换是否可以进行;,(4)假如这个设备没有准备就绪,则第(2)、第(3)步重复进行,一直到这个设备准备好交换数据,发出准备就绪信号“Ready”为止;,(5)CPU从I/O接口的数据缓冲寄存器输入数据,或者将数据从CPU输出至接口的数据缓冲寄存器。与此同时,CPU将接口中的状态标志复位。,(6)数据传送,8.2 程序查询方式,4、程序查询输入/输出方式 程序查询方式是利用程序控制实现CPU和外部设备之间的数据传送。程序执行的动作如下:(1)先向I/O设备发出命令字,请求进行数据传送。(2)从I/O接口读入状态字。
15、(3)检查状态字中的标志,看看数据交换是否可以进行。(4)假如这个设备没有准备就绪,则第(2)、第(3)步重复进行,直到这个设备发出准备就绪信号“Ready”为止。(5)CPU从I/O接口的数据缓冲寄存器输入数据,或者将数据从CPU输出至接口的数据缓冲寄存器。与此同时,CPU将接口中的状态标志复位。,8.2程序查询方式,8.2程序查询方式,设备服务子程序的主要功能:实现数据传输修改内存地址,为下一次数据传送做准备修改传送字节数,以便修改传送长度进行状态分析或其他控制,8.3 中断方式及接口,8.3.1中断基本概念,1.定义,CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序
16、。处理完毕后自动恢复原程序的执行。中断系统是计算机实现中断功能的软硬件总称。一般在CPU中设置中断机构,在外设接口中设置中断控制器,在软件上设置相应的中断服务程序。,中断处理过程如图:中断处理示意图主程序只是在设备A,B,C数据准备就绪时,才去处理A,B,C,进行数据交换。在速度较慢的外围设备准备自己的数据时,CPU照常执行自己的主程序。在这个意义上说,CPU和外围设备的一些操作是并行地进行的,因而同串行进行的程序查询方式相比,计算机系统的效率是大大提高了。,2.实质与特点,(1)实质,8.3 中断方式及接口,程序切换,方法:,保存断点,保护现场;,恢复现场,返回断点。,时间:,一条指令结束时
17、切换。,保证程序的完整性。,(2)特点:,随机性,8.3 中断方式及接口,3、与子程序调用的比较(1)相同点:正常程序:主程序 中断服务程序:子程序(2)区别:(A)子程序的执行是程序员事先安排好的;中断服务程序的执行则是由随机的中断事件引起的,比如电源掉电、请求I/O数据传送、现场报警等。(B)子程序的执行往往与主程序有关;中断服务程序可能与被中断的程序毫无关系。(C)有可能出现多个中断事件同时请求的情况,此时,主机就需要进行判优,进而决定为哪一个请求服务。子程序不存在此种情况。,中断源:能引起中断的事件或能发出中断请求的设备常见中断源有:输入、输出设备中断。如键盘、打印机等工作过程中已做好
18、接收或发送准备。数据通道中断。如磁盘、磁带等要同主机进行数据交换等。实时时钟中断。故障中断。例如电源掉电、设备故障等要求CPU进行紧急处理等。系统中断。如运算过程出现溢出、数据格式非法,数据传送过程出现校验错,控制器遇到非法指令等等。为了调试程序而设置的中断。,4.中断分类,(1)硬件中断与软中断,硬件中断:由各种输入/输出设备、一些接口卡等引起的中断被称为外(部)中断,而由处理机硬件故障、程序运行出错等引起的中断被称为内(部)中断,例如非法指令、算术运算溢出、校验错、电源故障等都会产生内中断。软件中断:由写在程序中的语句(例如用户程序中的系统调用指令,trap指令等)引起的一段程序的执行过程
19、,它很类似于一次中断处理过程。软件中断是严格的与程序运行过程同步的,而硬件中断则是随机发生的。,4.中断分类,(2)可屏蔽中断与非屏蔽中断,当产生中断请求后,用程序方式有选择的封锁部分中断,而允许其他部分中断仍得到响应,称为中断屏蔽。实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。从CPU要不要接收中断请求,从能不能限制某些中断发生的角度,可以把中断分成可屏蔽中断和不可屏蔽中断。可以被CPU通过指令限制其发出中断请求的中断属于可屏蔽中断,例如对某些外围设备就可以在一段时间里执行中断屏蔽;一些中断是不允许执行屏蔽中断的,例如电源掉电中断,称这类中断为不可屏蔽中断。,4.中断分
20、类,由硬件提供服务程序入口地址,(3)向量中断与非向量中断,由软件提供服务程序入口地址,向量中断即中断源的识别标志,可用来存放中断服务程序的入口地址或跳转到中断服务程序的入口地址。,工作原理:在速度较慢的外围设备准备自己的数据时,CPU照常执行自己的主程序。采用中断的方式可以使CPU和外围设备在一些操作上并行工作,来提高CPU效率。但是中断方式的操作复杂,并需要硬件支持。,在中断处理过程中需要注意的:,(1)CPU只有在当前一条指令执行完毕后,才能响应中断,(2)中断时的现场保存和返回时的现场恢复(3)“中断屏蔽”触发器IM:0允许中断,1不接受中断(4)中断处理过程由硬件和软件协作完成;中断
21、周期和服务程序,8.3.2程序中断方式的基本接口,程序中断由外设接口的状态和CPU两方面来控制:在接口方面,有决定是否向CPU发出中断请求的机构,主要是接口中的“准备就绪”标志(RD)和“允许中断”标志(EI)两个触发器;在CPU方面,有决定是否受理中断请求的机构,主要是“中断请求”标志(IR)和“中断屏蔽”标志(IM)两个触发器。,8.3.2程序中断方式的基本接口,设备选择器。设备选择器用来判别总线上送出的地址(或称呼叫的设备)是否为本设备,它实际上是设备地址的译码比较电路。BS外设接口忙(BuSy)标志RD外设准备就绪(ReaDy)标志EI(Enable Interrupt中断允许触发器)
22、IR(Interrupt Request)中断请求触发器IM(Interrupt Mask)中断屏蔽触发器,8.3.2程序中断方式的基本接口,准备就绪的标志(RD)一旦设备做好一次数据的接收或发送工作,便发出一个设备动作完毕信号,使RD标志为“1”,它就是程序查询方式中的Ready(就绪)标志。在中断方式中,该标志用作为中断源触发器,简称中断触发器。允许中断触发器(EI)可以用程序指令来置位。EI为“1”时,某设备可以向CPU发出中断请求;EI为“0”时,不能向CPU发出中断请求,这意味着某中断的中断请求被禁止。设置EI标志的目的就是通过程序来控制是否允许某设备发出中断请求。,8.3.2程序中
23、断方式的基本接口,中断请求触发器(IR)它暂存中断请求线上由设备发出的中断请求,当IR标志为“1”时,表示设备发出了中断请求。中断屏蔽触发器(IM)CPU是否受理中断的标志。IM标志为“0”时,CPU可以受理外界的中断请求,反之,IM标志为“1”时,CPU不受理外界的中断请求。,8.3.2程序中断方式的基本接口,设备选择器。设备选择器用来判别总线上送出的地址(或称呼叫的设备)是否为本设备,它实际上是设备地址的译码比较电路。BS外设接口忙(BuSy)标志RD外设准备就绪(ReaDy)标志EI(Enable Interrupt中断允许触发器)IR(Interrupt Request)中断请求触发器
24、IM(Interrupt Mask)中断屏蔽触发器,表示由程序启动外设,将该外设接口的“忙”标志BS置“1”,“准备就绪”标志RD清“0”;,表示接口向外设发出启动信号;,表示数据由外设传送到接口的缓冲寄存器;,表示当设备动作结束或缓冲寄存器数据填满时,设备向接口送出一控制信号,将数据“准备就绪”标志RD置“1”;,表示允许中断标志EI为“1”时,接口向CPU发出中断请求信号;,表示在一条指令执行末尾CPU检查中断请求线,将中断请求线的请求信号接收到“中断请求”标志IR;,表示如果“中断屏蔽”标志IM为“0”时,CPU在一条指令执行结束后受理外设的中断请求,向外设发出响应中断信号并关闭中断;,
25、表示转向该设备的中断服务程序入口;,表示在中断服务程序通过输入指令把接口中数据缓冲寄存器的数据读至CPU中的寄存器;,(10)表示CPU发出控制信号C将接口中的BS和RD标志复位。,1.单级中断的概念,单级中断系统是中断结构中最基本的形式。在单级中断系统中,所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离CPU近的优先权高。当响应某一中断请求时,执行该中断源的中断服务程序。在此过程中,不允许其他中断源再打断中断服务程序,即使优先权比它高的中断源也不能再打断。单级中断示意图和体系结构图如下:,8.3.3 单级中断和多级中断,1.单级中断系统,2.单级中断源的识别,如何确定中断源
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 系统

链接地址:https://www.31ppt.com/p-4952140.html