1、2018年10月27日,第1页,第8章 输入输出系统 三两草,计算机组成原理(第二版) 清华大学出版社,教学目标 教学重点 教学过程,2018年10月27日,第2页,教学目标,了解信息交换的控制方式 掌握I/O的组织方式,2018年10月27日,第3页,教学重点,信息交换的控制方式 I/O的组织方式,2018年10月27日,第4页,教学过程,8.1 信息交换的控制方式 8.2 程序查询方式 8.3 程序中断方式 8.4 DMA方式 8.5 I/O通道方式 8.6 例题解析,2018年10月27日,第5页,8.1 信息交换的控制方式,1、 外设特点(1)种类多:有常规的输入输出设备,如键盘、显示
2、器、打印机;有辅助存储的外存储器驱动器;有用于通讯的调制解调器;有控制系统常用的数字/模拟转换器和模拟/数字转换器,;(2)工作原理各不相同:有电子式、电动式、光电式、机械式或其它形式;(3)要求的信号各不相同,有模拟量、数字量和开关量;(4)传输信息的速度也千差万别。 2、输入输出系统的基本功能是:(1)为数据传输操作选择输入输出(I/O)设备;(2)使得选定的输入输出设备和主机之间交换数据。,2018年10月27日,第6页,8.1.1 外部设备与主机的连接方式,1、辐射式:控制简单,但连线多、结构复杂。 2、总线式:结构简单、易于扩展等优点,其缺点是所有的外设都通过同一组总线分时工作,将影
3、响其信息交换速度。这种结构广泛应用于微型、小型计算机中。 3、通道式:效率高:大大提高了CPU的效率;同时,外设又可以分类连接到不同的通道上,最大限度地提高各自的工作速度。,2018年10月27日,第7页,8.1.2 外部设备的编址方式,1、统一编址统一编址指外设接口中的I/O寄存器和主存单元一样看待,将它们和主存单元组合在一起编排地址;或者说,将主存的一部分地址空间用作I/O地址空间。这样就可以用访问主存的指令去访问外设的某个寄存器,因而也就不需要专门的I/O指令,可以简化CPU的设计。微型机M6800和小型机PDP-11系列采用的就是统一编址方法。 2、单独编址为了更清楚地区别I/O操作和
4、存储器操作,I/O地址通常与存储地址分开独立编址。这样,在系统中就存在了另一种与存储地址无关的I/O地址,CPU也必须具有专用于输入输出操作的I/O指令和控制逻辑。例如,广泛使用的Intel 80x86 CPU就可以采用单独编址方法连接外设。,2018年10月27日,第8页,8.1.3 I/O组织与外设接口 (1/5),1、I/O组织(1)概念:指计算机主机与外部设备之间的信息交换方式。(2)涉及问题:(A) 支持该方式的硬件组成,即相应的接口电路设计;(B) 支持该方式的软件配置,即相应的I/O程序设计。(3)组织方式:(A)程序查询式(B)中断式(C)DMA式(D)通道式(E)外围处理机方
5、式,2018年10月27日,第9页,8.1.3 I/O组织与外设接口 (2/5),2、外设接口也叫I/O接口,是主机和外设(控制器)之间的实体部件,是实现主机与外设之间信息交换所必不可少的硬件支持。 基本功能: (1)数据的暂存与缓冲。用来实现将不同工作速度的设备连接起来进行数据传送时的速度匹配。 (2)保存设备的工作状态,这是为了便于CPU对外设的查询和控制,通常是通过设立设备状态寄存器实现的,这个寄存器的各位被用来标志设备的不同状态。 (3)信息交换方式的控制。通常是用信息交换方式的控制逻辑电路来保证主机与外设在规定的通信方式下实现信息交换。如小型机和微型机经常会用到程序查询式、中断式或D
6、MA式这3种通信方式,要保证能进行选择和实现。 (4)通信联络控制。其作用是给出主机与外设(接口)在信息交换过程中所需要的联络控制信号,进行定时控制,解决时间配合问题。 (5)外设的识别。为了解决CPU呼叫通信对方并且对方也能识别是呼叫自己这一问题,需要设立外设识别电路。通常这部分电路称为地址译码电路或设备选择电路,用来接收地址总线上的I/O识别信息。 (6)数据格式的变换控制。接口连接主机和外设,往往这两边的数据格式是不相同的。在输入和输出操作时,为了满足两边各自的要求,必须使接口具有相应的变换功能。,2018年10月27日,第10页,8.1.3 I/O组织与外设接口 (3/5),2、外设接
7、口接口分类:(1) 按主机与外设交换信息的方式来分,可以有4种不同类型的接口。(a) 程序查询式接口 CPU执行相应的程序段来完成I/O数据传送; I/O接口逻辑:数据缓冲寄存器,设备状态寄存器,设备地址译码器以及I/O操作方式和定时联络控制等电路。(b) 中断式接口 CPU执行中断服务程序来完成I/O数据传送;除上述电路外,还要有一个中断控制器。(c) DMA接口 支持直接存储器存取方式工作的(I/O)数据传送,即无需CPU的干预,可在主存与外设之间直接进行数据传送。 需要的接口硬件除了基本的I/O接口逻辑外,最为关键的还应有一个DMA控制器。(d) 通道式控制接口通信的实质与第3种方式相同
8、,2018年10月27日,第11页,8.1.3 I/O组织与外设接口 (4/5),2、外设接口接口分类: (2)按接口与外设这一边数据传送的形式来分,有两种不同类型的接口。(a)并行接口,即数据是以字字节的各位同时在总线上流通的方式传送的。(b)串行接口,即在接口和外设的一边,数据是以字字节的各位沿一根数据线一位接一位的按时间先后顺序逐位传送的,而在接口电路中还要增加一些其它有关逻辑,如串行变换等。,2018年10月27日,第12页,8.1.3 I/O组织与外设接口 (5/5),2018年10月27日,第13页,8.2 程序查询方式,8.2.1 程序查询输入输出方式 8.2.2 程序查询方式的
9、接口,2018年10月27日,第14页,8.2.1 程序查询输入输出方式,1、工作过程 (1)预置参数:设定数据传送长度;设置数据缓冲区首地址; (2)向外设发出命令,启动外设开始工作,并请求进行数据交换; (3)从外设读取反映外设当前工作进程的状态字; (4)检查状态字中的标志,看外设能否进行数据交换; (5)如果外设没有准备就绪,则重复上述(3)和(4),一直到这个外设准备就绪,发出准备就绪信号为止; (6)CPU从外设输入数据,或将数据输出给外设,完成数据交换;同时,CPU将状态字中的外设就绪状态信号标志清除。 2、 改进:适时查询法:启动外设后,不等待,而去执行其它程序,估计外设已接近
10、完成时,则进入测试程序段。 3、 多个外设查询:轮流查询:前面优先级高,后面优先级别低。,2018年10月27日,第15页,8.2.2 程序查询方式的接口,1、 外设状态寄存器2、 数据缓冲寄存器3、 地址译码器4、 控制逻辑,2018年10月27日,第16页,8.3程序中断方式,8.3.1 中断的基本概念 8.3.2 CPU响应中断的条件 8.3.3 中断处理 8.3.4 单级中断与多级中断,2018年10月27日,第17页,8.3.1中断的基本概念 (1/3),1、概念:当计算机执行正常程序时,系统中出现某些异常情况或特殊请求,这些情况和请求可能来自计算机内部,也可能来自计算机外部;一旦有
11、上述事件发生,计算机执行正常程序的状态被中断,就是说,CPU要暂停它正在执行的程序,而转去处理所发生的事件(通常就是执行一段特殊程序,被称为中断服务程序);CPU处理完毕后,自动返回到原来被中断了的程序继续运行。,2018年10月27日,第18页,8.3.1中断的基本概念 (2/3),2、与子程序调用的比较(1)相同点:正常程序:主程序中断服务程序:子程序(2)区别:(A)子程序的执行是程序员事先安排好的;中断服务程序的执行则是由随机的中断事件引起的,比如电源掉电、请求I/O数据传送、现场报警等。(B)子程序的执行往往与主程序有关;中断服务程序可能与被中断的程序毫无关系。(C)有可能出现多个中
12、断事件同时请求的情况,此时,主机就需要进行判优,进而决定为哪一个请求服务。子程序不存在此种情况。,2018年10月27日,第19页,8.3.1中断的基本概念 (3/3),3、中断的作用(1) 主机与外部设备并行工作(2) 实现实时处理(3) 硬件故障处理(4) 实现多道程序和分时操作,2018年10月27日,第20页,8.3.2 CPU响应中断的条件 (1/11),一、中断源(1)概念:能够引起CPU中断的原因就是中断源。中断源是指形成这个原因的设备、部件或条件。(2)种类: 输入输出设备。系统中的外部设备都可以设计成为以中断方式与主机进行数据的交换,从而作为系统的中断源。 故障与错误。系统运
13、行中会出现诸如电源掉电、运算出错、非法指令等问题,它们也常采用中断方式请求CPU立即处理。 实时时钟。系统中的时钟定时电路是必不可少的,若定时时间到,时钟电路就可以通过中断告知主机。 程序调试和软件中断。程序调试中常常采用设置中断断点的方法来观察程序运行是否正确;有些机器的指令系统设计有软件中断指令,利用中断机制实现操作系统的功能调用以及调试程序。需要说明一点,这类中断是由程序员事先安排好的,和调用子程序的作用一样,与上述由外部硬件产生的中断有些不同。,2018年10月27日,第21页,8.3.2 CPU响应中断的条件 (2/11),二、中断的分类:(1)按中断源是在主机之内还是外分:(A)内
14、部中断内部中断是指中断源来自主机内部,如运算出错、程序调试和软件中断等;(B)外部中断外部中断来自主机之外,如外部设备、实时时钟和硬件故障产生的中断等。,2018年10月27日,第22页,8.3.2 CPU响应中断的条件 (3/11),二、中断的分类: (2) 按中断对CPU的打扰情况分:(A)程序中断CPU要用专门的中断服务程序为中断源服务,并且在服务前要进行断点和现场的保护,在服务后要进行现场和断点恢复的中断。这种中断就是一般所说的中断,是大多数中低速外设以及内中断常用的中断方式。(B)简单中断当这种中断发生时,相应的请求源只是请求CPU的正常程序暂停一下,通常称为总线请求或DMA请求。暂
15、停的目的是把主存和接口的数据通路让给请求源使用(即总线使用权),使得能在主存和请求源之间直接进行一次数据传送,当这次传送结束后,请求源立即把这个使用权归还给CPU。接着运行刚才暂停的程序,这个暂停时间通常一次一个存取周期。,2018年10月27日,第23页,8.3.2 CPU响应中断的条件 (4/11),二、中断的分类: (3) 按寻找中断服务程序入口的实现方法区分:(A)向量中断(矢量中断):中断服务程序入口由中断源自己提供。(B) 非向量中断:入口由CPU查询得到。,2018年10月27日,第24页,8.3.2 CPU响应中断的条件 (5/11),三、中断工作过程: 1、中断请求 (1)中
16、断请求是中断源向CPU发出中断请求信号,要求CPU为它服务的过程。 (2)何时?基本条件两个:(A) 外设本身工作已经完成(B) 外设被允许中断 (3)硬件支持:中断请求电路,基本组成是两个触发器:(A) 一个反映外设工作是否完成,其形成与程序查询的准备就绪状态标志一样;(B) 另一个反映外设是否允许采用中断方式,即中断屏蔽功能。只有当外设工作完成而且被允许中断时,相应中断源才可以通过这个请求电路形成中断请求信号。,2018年10月27日,第25页,8.3.2 CPU响应中断的条件 (6/11),三、中断工作过程:2、中断判优(1) 中断优先级有两个方面的含义:(A) 一是中断请求与CPU现行
17、程序优先级的问题;(B) 另一含义是各中断源之间,谁更迫切的问题。(2) 方法:(A) 软件(B) 硬件:为了得到较高的效率,一般采用硬件判优方法。判优逻辑随着判优方案的不同可有不同的结构,其组成部分既可能在设备接口之中,也可能在CPU内部,也可能这两部分都有。其作用是决定CPU的响应并且找出最高优先请求者,如果确定接收这个请求的话,就由CPU发出中断响应信号INTA(C) 软硬件结合。,2018年10月27日,第26页,8.3.2 CPU响应中断的条件 (7/11),三、中断工作过程:3、中断响应 (1)CPU响应最高优先级的中断请求,并且在适当时会向中断源提供一个应答的响应信号,表明主机承
18、认了它的请求,这就是中断响应。在采用硬件向量中断的方式中,通常,CPU还要利用它告知中断接口电路向CPU提供一个中断向量。 (2)响应条件:(A) 一条指令执行结束时刻(B) 中断允许:(a) 可屏蔽中断(Maskable Interrupt):计算机中断系统对一般外设的中断请求就采用受中断标志位控制;(b) 非屏蔽中断(Non-Maskable Interrupt):而对必须立刻响应的中断请求,如电源掉电、机器故障等,则采用不受中断标志位控制。,2018年10月27日,第27页,8.3.2 CPU响应中断的条件 (8/11),中断屏蔽(A) 概念:对中断的允许或禁止的控制(B) 必要性:eg
19、1:中断服务程序与正常程序共享数据区eg2:CPU正在用软件查询中断源时eg3:正在执行中断服务程序而不允许嵌套时eg4:进行现场保护和恢复现场时(C)方法:软硬结合和内外结合的方法。不同的计算机可能在具体措施上有差异,但基本的思想是相同的。外部中断请求电路设置中断屏蔽触发器控制某一个中断源能否产生中断请求信号,CPU内部设置中断标志位用于控制全部可屏蔽中断的响应。一般计算机中都有实现中断屏蔽的指令和相应的硬件电路。,2018年10月27日,第28页,8.3.2 CPU响应中断的条件 (9/11),中断屏蔽(D)实现:(a) 在大多数计算机CPU内,都设置一个中断触发器,由这个触发器的状态来决
20、定CPU对中断请求是否响应。能使中断触发器置“1”的指令,一般称为开中断指令,表示系统允许中断;能使中断触发器置“0”的指令,一般称为关中断指令,表示系统禁止中断。用户在适当时可以用这些指令来对中断的能与否进行选择和控制。例如8088/8086 CPU中,其程序状态字PSW寄存器中就有IF位(第10位),开中断指令STI可以使IF位置为“1”,达到允许中断的目的,关中断指令CLI可以使IF位清“0”,达到禁止中断的目的。再如:PDP11,PSW的7,6,5位改变会达到对某些中断的允许或禁止。,2018年10月27日,第29页,8.3.2 CPU响应中断的条件 (10/11),中断屏蔽 (D)实
21、现:(b) 在外部中断源的接口,一般都设立中断屏蔽触发器,通常这个触发器的状态可由CPU用指令改变。例如当这个触发器为1时,表示不允许该中断源发出中断请求,否则为允许。PDP-11机中,外设接口电路中的设备状态寄存器第6位就是用于这个目的。当第6位(允许中断),第7位(完成位)都成立时,才允许发中断请求。IBMPC,8259可编程中断控制器,有中断屏蔽R,8259可接收来自外设的8个各自独立的中断请求,信号分别为IRQ0IRQ7,IRQ0优先级最高,中断源07对应于中断类型号08H0FH,(其中IRQ3和IRQ5未用)。例如IRQ1对应09H中断,对应设备键盘。8259中断屏蔽寄存器(IMR)
22、,I/O端口地址21H,它的位07位对应于IRQ0IRQ7,可通过设置任一位控制任一中断源的允许或禁止(0代表允许,1代表禁止)例如,只允许键盘中断,可设置MOV AL,0FDHOUT 21H,AL,2018年10月27日,第30页,8.3.2 CPU响应中断的条件 (11/11),2018年10月27日,第31页,8.3.3 中断处理 (1/5),1、中断识别(1)中断源的识别(A)识别的主体:WHO:CPU识别(B)与中断优先级的判定密切相关:中断优先级的判定是解决这一问题的前提和基础。(C)目的:使CPU转入相应的服务程序。,2018年10月27日,第32页,8.3.3 中断处理 (2/
23、5),1、中断识别 (2)方法:(A) 软件查询法:采用与程序查询传送方式一样的方法,用软件查询程序段检测中断请求的标志,同时还可以实现中断判优(详见7.3.5节软件查询判优法)。(B) 硬件向量法:(a) 中断向量是中断源向CPU提供的唯一识别码;(b) 识别码是有方向的;(c) 识别码实际是主存的一个地址码;(d) 硬件支持:接口电路中:向量地址产生器主机之内:保存向量的R(e) 向量地址的存在情况:(i)服务程序入口(ii)服务程序入口地址,2018年10月27日,第33页,8.3.3 中断处理 (3/5),2、中断服务 (1)中断现场:中断现场是指在发生中断时,CPU及其现行程序的当前
24、主要状态。这其中最为关键的状态是程序计数器PC的值,也就是CPU现行程序被中断时的下条指令的存储地址,即断点地址,简称断点。除断点外,中断现场应包含CPU程序运行情况的状态,这些状态有程序状态字PSW以及程序执行的当前结果等。,2018年10月27日,第34页,8.3.3 中断处理 (4/5),2、中断服务 (2)中断服务程序:3个部分(A) 起始部分:起始部分的主要功能是保护CPU原来程序的一些现场,另一个功能是控制系统在执行中断服务程序过程中是否允许再被中断。(B) 主体部分:主体部分的主要功能应该是完成中断源的请求任务。对一般输入输出外部设备来说,就是进行数据的输入输出操作,并且修改相应
25、的传送参数。这部分是中断服务程序中核心的,也就是实质性的部分。(C) 结尾部分:结尾部分的主要功能是恢复起始部分所保护的现场内容,然后准备返回。通常是用一条返回指令作为整个中断服务程序的最后一条指令。,2018年10月27日,第35页,8.3.3 中断处理 (5/5),3、中断返回中断服务程序的结束是一条中断返回指令,由它实现从中断处理过程返回被中断的程序断点位置处继续执行,从而完成了一次中断过程。以上所述的6个阶段是外部设备作为中断源引起中断的全过程。显然, 整个过程只有中断服务这个阶段才是实际有效的部分,其中的关键是执行I/O指令实现数据交换。其余几个阶段可认为是中断服务的前后处理,是一种
26、辅助性的但不可缺少的操作。当中断频繁发生时,这个辅助性操作是降低CPU利用率和限制外设速度的原因所在。,2018年10月27日,第36页,8.3.4 单级中断与多级中断 (1/7),一、基本概念 1、根据计算机系统对中断处理的策略不同,可分为单级中断系统和多级中断系统。单级中断系统是中断结构中最基本的形式。在单级中断系统中,所有的中断源都属于同一级,优先次序是离CPU近的优先权高。 2、多重中断:是指当一个中断服务程序执行其间,系统出现了更高优先级的中断请求,CPU暂停现行的中断服务程序的执行而转去执行优先级更高的中断源服务程序的过程。 3、实现多重中断的基本保证:(1)系统要具备对多个中断现
27、场的保护能力:堆栈(2)保证中断优先级高的中断源首先得到CPU的服务;(3)在CPU进入中断服务程序后,系统必须处于开中断状态。具体作法是,进入中断服务程序后,在关中断的情况下进行一些必要的现场保护,然后采用软件手段,如8088/8086中的STI来达到开中断的目的,使CPU在执行中断服务程序期间是允许中断的。,2018年10月27日,第37页,8.3.4 单级中断与多级中断 (2/7),二、中断优先级判定 1、中断判优的目的(1) 为了解决多个中断源同时发出中断请求的问题。(2) 为了解决当系统正在为某个中断源服务时,又产生新的中断请求,CPU是否转入新的中断服务程序中,从而形成中断嵌套(或
28、称多重中断)的问题。,2018年10月27日,第38页,8.3.4 单级中断与多级中断 (3/7),二、中断优先级判定2、软件查询判优法(1) 实现:(2) 优点:(A) 优先权的排队顺序可以由程序很方便地改变,因此很灵活。(B) 硬件成本较小,只要在每个中断源电路中设立供CPU查询的中断请求标志(状态位)即可。(C) 能与软件识别中断源方法结合在一起使用。(3) 缺点:(A) 占用CPU的时间;(B) 速度慢效率低。,2018年10月27日,第39页,8.3.4 单级中断与多级中断 (4/7),二、中断优先级判定3、链式电路判优法(1)实现(A) INTR线共用(B) INTA以串行方式依此
29、连接所有外设(C) 处于前面的设备若接收INTA信号便阻塞后面(2)优点:电路较简单缺点:是优先权不灵活,一旦线路连接好之后,想要改变或调整优先权就困难。此时,只有使用程序对某些 中断源的请求进行屏蔽的办法来改变先后次序。,2018年10月27日,第40页,8.3.4 单级中断与多级中断 (5/7),二、中断优先级判定 4、编码电路判优法 (1)实现(A)各中断源都通过自己的请求信号线INTR发出中断请求。(B)中断请求信号,都被送到一个中断优先权编码电路中,由这个电路对各个请求进行编码和判优。每个中断请求各有自己所对应的唯一编码。经判别后,代表最高优先权的中断源的编码被送到CPU,并得到响应
30、。需要时,如在允许中断嵌套时,这个电路还可以把选择出的最高优先权编码与CPU现行中断服务程序的优先权进行比较判定。,2018年10月27日,第41页,8.3.4 单级中断与多级中断 (6/7),二、中断优先级判定 4、编码电路判优法 (2)例:8个请求源:INTR0,INTR1,INTR7,编码3位INTR7, 6, 5, 4, 3, 2, 1, 0 A2 A1 A00 0 0 0 0 0 0 1 0 0 00 0 0 0 0 0 1 X 0 0 10 0 0 0 0 1 X X 0 1 00 0 0 0 1 X X X 0 1 10 0 0 1 X X X X 1 0 00 0 1 X X
31、X X X 1 0 10 1 X X X X X X 1 1 01 X X X X X X X 1 1 1说明:INTR0中断请求编码为000INTR2中断请求编码为002INTR7中断请求编码为111优先级:INTR7INTR6.INTR0,2018年10月27日,第42页,8.3.4 单级中断与多级中断 (7/7),二、中断优先级判定5、多组结构判优法 (1)实现:这是一种两维的优先权结构。中断请求以组的形式发向CPU,每组有一条中断请求线,各组的中断请求都通过自己的请求线到达CPU。CPU对各组的优先权进行判定,然后对最高优先权组发出相应的响应信号。每组都有自己的中断响应线,接收到CPU
32、发来的响应信号的组再进行组内设备的优先权判定。组内设备优先权判定采用了串行链式电路(当然也可以采用编码比较电路),处在前面的中断源设备,其优先权高。 (2)两级判优:当有一个或多个中断请求发生时,CPU先进行组间优先权的判定,确定其中最高优先权组,再对这个组发出中断响应信号,进行组内的优先权判定,经过两次选优后,就可得到同时请求设备中最高优先权组的最高优先权设备。,2018年10月27日,第43页,8.3.5 程序中断方式的基本接口,2018年10月27日,第44页,8.4 DMA方式,8.4.1 DMA的基本概念 8.4.2 DMA传送方式 8.4.3 基本的DMA控制器 8.4.4 选择型
33、和多路型DMA控制器,2018年10月27日,第45页,8.4.1 DMA的基本概念,直接内存访问(DMA)是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。DMA方式一般用于高速传送成组数据。DMA控制器将向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式向CPU报告传送操作的结束。 DMA方式的主要优点是速度快。由于CPU根本不参加传送操作,因此省去了CPU取指令、取数、送数等操作。在数据传送过程中,没有保存现场、恢复现场之类的工作。内存地址修改、传送字个数的计数等
34、等,也不是由软件实现,而是用硬件线路直接实现的。 DMA的种类很多,但多种DMA至少能执行以下一些基本操作:(1)从外围设备发出DMA请求; (2)CPU响应请求,把CPU工作改成DMA操作方式,DMA控制器从CPU接管总线的控制;(3)由DMA控制器对内存寻址,即决定数据传送的内存单元地址及数据传送个数的计数,并执行数据传送的操作; (4)向CPU报告DMA操作的结束。,2018年10月27日,第46页,8.4.2 DMA传送方式 (1/6),1、工作过程 (1)预处理。CPU针对外设想要通过DMA传送完成的工作对DMA控制器进行设定,例如,设置DMA控制器的地址寄存器,指明数据存储的主存地
35、址;设置字节计数寄存器,指明此次传送的数据量等;然后开放DMA通道,准备好接收外设的请求。 (2)DMA请求的应答。外设要进行数据传送时,向DMA控制器提出DMA传送请求,DMA控制器则向CPU提出使用系统的总线的要求;CPU此时释放总线的控制权,交由DMA控制器管理,并用响应信号通知DMA控制器,DMA控制器接管系统的总线。,2018年10月27日,第47页,8.4.2 DMA传送方式 (2/6),1、工作过程 (3)DMA传送。DMA控制器此时向外设返回一个应答信号,表明外设的DMA请求得到响应,可以开始数据交换。同时,DMA控制器发出存储器地址、存储器和外设的传送控制信号。在这些信号的控
36、制下,外设与主存通过系统的总线直接交换数据。 (4)判断DMA传送结束否。DMA控制器内具有计数寄存器,利用它可以知道此次预定的数据量传送完否。如果尚未完成,则自动修改存储器地址,并开始再次DMA传送。 (5)最后,CPU要进行DMA后处理。如果DMA控制器完成了此次数据交换,则会告知CPU恢复对总线行使控制权,CPU还会以程序查询或程序中断方式获知传送结束,进行相应的处理。CPU可能对输入的数据进行操作,也可能为下次的输出准备好数据,还可能又要对DMA控制器进行设定,以便随时开始响应新的DMA传送请求。,2018年10月27日,第48页,8.4.2 DMA传送方式 (3/6),2、分析(1)
37、系统效率提高:与程序中断相比(2)CPU对DMA工作的介入和管理表现在:(A) 预置参数(B) 传送后处理及出错处理(3)DMA接口除管理DMA传送外,还应具有中断能力。,2018年10月27日,第49页,8.4.2 DMA传送方式 (4/6),3、DMA传送的类型(1) DMA独占系统总线方式(A)DMA控制器获得总线控制权后,开始进行数据传送。在一批数据传送完毕后,DMA控制器通知CPU可以使用主存,并把总线控制权交回给CPU。(B)优点:控制简单,适用于数据传输率很高的设备进行成组传送。缺点:在DMA控制器传送阶段,CPU不能工作,影响了CPU的工作效率。 (2)DMA与CPU分时共用系
38、统总线方式(A)一旦外设有DMA请求,DMA控制器占用很短时间完成一个数据的DMA传送;此时,CPU并未完全放弃总线控制权,只是不进行访问主存操作或者说处于等待状态。,2018年10月27日,第50页,8.4.2 DMA传送方式 (5/6),3、DMA传送的类型 (2)DMA与CPU分时共用系统总线方式 (B)方法: 周期挪用当外设请求DMA传送时,DMA控制器挪用一、二个主存周期进行DMA传送。如果此时CPU不需要访问主存,则DMA操作不与CPU发生冲突,不影响CPU执行程序;另一方面,如果DMA传送时,CPU也要访问主存,这就产生了冲突,通常DMA传送优先,即在CPU执行访问主存指令的过程
39、中插入了DMA传送,挪用了一、二个主存周期,意味着CPU延缓了对指令执行。 周期扩展当外设请求DMA传送时,系统利用专门的时钟电路,一方面给CPU提供较宽的时钟信号,临时延缓CPU的操作;另一方面给DMA控制器仍提供正常了时钟信号,DMA控制器利用这段时间完成DMA传送。 周期交替如果CPU的工作周期比主存存取周期长很多,可以在CPU工作周期中安排DMA传送周期。CPU工作周期的前一段时间用于CPU访问主存,如果有DMA请求,则利用CPU工作周期的后一段时间进行DMA传送。这种方法不需要总线控制权的请求与响应,对CPU没有任何影响,也称为“透明的DMA传送方法”。,2018年10月27日,第5
40、1页,8.4.2 DMA传送方式 (6/6),3、DMA传送的类型(2)DMA与CPU分时共用系统总线方式(C)DMA与CPU分时共用系统总线方式的优点是对CPU程序执行操作影响较小,其缺点是DMA传送规律性不强,通常一次只能传送一个数据,DMA传送效率不高。,2018年10月27日,第52页,8.4.3 基本的DMA控制器 (1/2),2018年10月27日,第53页,8.4.3 基本的DMA控制器 (2/2),2018年10月27日,第54页,8.4.4 选择型和多路型DMA控制器,1、选择型DMA控制器选择型DMA控制器在物理上可以连接多个设备,而在逻辑上只允许连接一个设备。 2、多路型
41、DMA控制器选择型DMA控制器不适用于慢速设备。但多路型DMA控制器适合于同时为多个慢速外围设备服务。,2018年10月27日,第55页,8.5 I/O通道方式,8.5.1 通道的基本概念 8.5.2 通道的类型 8.5.3 通道控制方式工作过程和通道内部逻辑结构,2018年10月27日,第56页,8.5.1 通道的基本概念 (1/5),I/O通道进一步提高了CPU的效率。这是因为通道是一个特殊功能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控制,而CPU将“传输控制”的功能下放给通道后只负责“数据处理”功能。这样,通道与CPU分时使用主存,实现了CPU内部运算与外设的并行工作。
42、在通道控制方式下,一个主机可以连接几个通道。每个通道又可以连接多台外设,这些设备可具有不同速度,可以是不同种类。这种输入输出系统增强了主机与通道操作的并行能力以及各通道之间、同一通道的各设备之间的并行操作能力。同时也为用户提供了增减外设的灵活性。,2018年10月27日,第57页,8.5.1 通道的基本概念 (2/5),1、功能: 根据CPU要求选择某一指定外设与系统相连,向该外设发出操作命令,并进行初始化; 从主存选取该通道的通道程序,译码指令向外设发送各种命令; 组织外设和主存之间进行数据传送,并提供数据缓冲区以及主存地址和传送的数据量; 从外设得到设备的状态信息,形成通道本身的状态信息,
43、根据要求将这些状态信息送到主存的指定单元,供CPU使用; 将外设的中断请求和通道本身的中断请求,按次序及时报告CPU。,2018年10月27日,第58页,8.5.1 通道的基本概念 (3/5),2、与DMA区别(1)DMA完全借助于硬件完成数据传送,而通道则是通过一组通道命令与硬件一起完成数据传送;(2)一个通道可控制多台不同类型的设备,而一个DMA控制器通常只控制一台或几台同类设备。 总结:通道方式比DMA方式(A)更灵活,(B)更独立,(C)更并行。说明:(A)执行通道程序(B)通道是一处理器(C)更多地免除了CPU的介入 例如,首地址,长度等参数可包含在通道指令中,不必由CPU提供。,2
44、018年10月27日,第59页,8.5.1 通道的基本概念 (4/5),3、通道工作过程 (1)预处理:系统在进行一次通道I/O操作之前,CPU管理程序要完成如下工作: 准备通道程序; 安排数据缓冲区; 给通道和外设发启动命令。 (2)从主存中取出通道程序:通道接到启动命令后,便到固定联络点取通道地址字。固定联络点是系统设计好的,由通道硬件实现。通道根据通道地址字指示的主存地址从中取出CPU为它准备的通道程序。,2018年10月27日,第60页,8.5.1 通道的基本概念 (5/5),3、通道工作过程 (3)选择设备后,通道根据第一条通道指令的命令码向外设接口发命令。外设接口接到命令后回送状态
45、码。此时,通道便以条件码形式回答CPU,表示这次启动成功。于是,CPU便可以转去执行其它程序,通道程序将由通道独立完成。 (4)执行通道程序:通道取出后续通道指令执行,控制外设与主存间数据交换。当通道指令中的计数值减到“零”时,表示通道程序执行完毕,这次数据传送结束。 (5)通道程序执行完毕,通道以“结束”命令通知外设。外设接到“结束”命令后,进行必要的动作。在外设动作结束后给通道以状态回答,表示设备结束,并断开与通道的连接。,2018年10月27日,第61页,8.5.2 通道的类型 (1/3),根据多台设备共享通道的不同情况,可将通道分为3类: 1、字节多路通道(1) 由多个子通道构成(共享
46、通道)(2) 主要用于连接大量的低速设备(3) 工作方式:字节交叉方式(4) 执行多道程序,效率低,时间片的选择须满足最慢设备。 2、选择通道(1) 某段时间内,通道只选择一个设备进行数传(2) 适合于信息以数据块方式成组高速传送,因此,它主要连接高速外部设备(3) 工作方式:独占方式(4) 系统在某时只执行一道程序。,2018年10月27日,第62页,8.5.2 通道的类型 (2/3),3、成组多路通道(1) 在结构上含有多个子通道,分时共享总通道,多路传送。(2) 适用于中高速外设(3) 工作方式:成组交叉方式(4) 前两者折衷,例如磁带机,2018年10月27日,第63页,8.5.2 通
47、道的类型 (3/3),举例:假设有3个设备:A、B、C,它们传输的信息分别为a1,a2,.am;b1,b2,.bn;c1,c2,.ck。对于这3个设备来说,把它们连接在不同类型的通道中,会出现不同的信息传送状态。其中ai ,bi ,ci 各为一个字节。连接在字节多路通道中的传送:a1b1c1a2b2c2 .连接在选择通道中的传送:a1a2.amb1b2.bnc1c2.ck连接在成组多路通道中的传送:a1a2.aib1b2.bic1c2.ci,ai+1ai+2.ai+ibi+1bi+2.bi+ici+1ci+2.ci+i,.通道方式的进一步发展便成为外围处理机控制I/O方式,即用一台或若干台计算
48、机来专门处理有关外部设备事务。信息的输入和输出管理以及部分运算和处理工作由外围处理机完成,这样可以大大减轻CPU的负担,提高系统的效率。,2018年10月27日,第64页,8.5.3 通道工作过程和内部逻辑结构,通道结构的进一步发展,出现了两种计算机I/O系统结构。 通道结构的I/O处理器,通常称为输入输出处理器(IOP)。 外围处理机(PPU)。,2018年10月27日,第65页, 本章小结,输入输出系统的基本功能是:为数据传输操作选择输入输出(I/O)设备;使得选定的输入输出设备和主机之间交换数据。 I/O组织是指计算机主机与外部设备之间的信息交换方式。随着信息交换方式的不同,会涉及到两个方面的问题,一方面是支持该方式的硬件组成,即相应的接口电路设计;另一方面是支持该方式的软件配置,即相应的I/O程序设计。 计算机主机与外设之间的信息交换方式有5种: 程序查询式; 中断式; DMA式; 通道式; 外围处理机方式。 从系统结构的观点看,前两种方式是以CPU为中心的控制,都需要CPU执行程序来进行I/O数据传送,而DMA式和通道式这两种方式是以主存贮器为中心的控制,数据可以在主存和外设之间直接传送。对于最后一种方式,则是用微型或小型计算机进行输入和输出控制。,