54
第8 第 第第第第第第 第第第第第8 8 第第第第第第第第第第8.1 8.1 第第第第第第第第第第第第第第第 第第第第第第第第第第第第第第第 8.2 8.2 第第第第第 第第第第第 8.3 8.3 第第第第第 第第第第第 8.4 8.4 D D MA MA 第第 第第 8.5 8.5 第第第第 第第第第

第 8 章 输入输出系统

Embed Size (px)

DESCRIPTION

第 8 章 输入输出系统. 8.1 外 围设备的速度分级和信息交换方式 8.2 程 序查询方式 8.3 程 序中断方式 8.4 D MA 方式 8.5 通道方式. 8.1 外围设备的速度分级和信息交换方式. 一、 外 围设备的速度分级 二、信 息交换方式. 外设的分类. 按照外设的工作速度又可以分为低速设备、中速设备、高速设备。例如,键盘、鼠标是常见的低速设备,磁盘是常见的高速设备。 根据外设在计算机系统中所起的作用,可以分为人 — 机交互设备、外存储器设备、通信设备。. 8.1.1 外围设备的速度分级. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统第第 88 章 输入输出系统章 输入输出系统

8.1 8.1 外外围设备的速度分级和信息交换方式围设备的速度分级和信息交换方式

8.2 8.2 程程序查询方式序查询方式

8.3 8.3 程程序中断方式序中断方式

8.4 8.4 DDMAMA 方式方式

8.5 8.5 通道方式通道方式

Page 2: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

8.1 8.1 外围设备的速度分级和信息交换方式外围设备的速度分级和信息交换方式

一、一、外外围设备的速度分级围设备的速度分级

二、信二、信息交换方式息交换方式

Page 3: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统外设的分类外设的分类

按照外设的工作速度又可以分为低速设按照外设的工作速度又可以分为低速设备、中速设备、高速设备。例如,键盘、备、中速设备、高速设备。例如,键盘、鼠标是常见的低速设备,磁盘是常见的鼠标是常见的低速设备,磁盘是常见的高速设备。高速设备。

根据外设在计算机系统中所起的作用,根据外设在计算机系统中所起的作用,可以分为人—机交互设备、外存储器设可以分为人—机交互设备、外存储器设备、通信设备。 备、通信设备。

Page 4: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

8.1.1 8.1.1 外围设备的速度分级外围设备的速度分级

输入输入 // 输出设备同输出设备同 CPUCPU 交换数据的过交换数据的过程:程:

CPU 外围设备

地址

数据

控制信号

Page 5: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

输入过程:输入过程:

((1) CPU1) CPU 把一个地址值放在地址总线上,把一个地址值放在地址总线上,这一步将选择某一输入设备; 这一步将选择某一输入设备;

(2) CPU(2) CPU 等候输入设备的数据成为有效; 等候输入设备的数据成为有效;

(3) CPU(3) CPU 从数据总线读入数据,并放在一从数据总线读入数据,并放在一个相应的寄存器中。个相应的寄存器中。

Page 6: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

输出过程:输出过程:

(1)CPU(1)CPU 把一个地址值放在地址总线上,选把一个地址值放在地址总线上,选择输出设备; 择输出设备;

(2)CPU(2)CPU 把数据放在数据总线上; 把数据放在数据总线上;

(3)(3) 输出设备认为数据有效,从而把数据取输出设备认为数据有效,从而把数据取走。走。

Page 7: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

CPUCPU 与外围设备的定时与外围设备的定时

1.1. 速度极慢或简单的外围设备速度极慢或简单的外围设备

对这类设备,如机械开关、显示二极对这类设备,如机械开关、显示二极管等等,管等等, CPUCPU 总是能足够快地作出响总是能足够快地作出响应。所以,在这种情况下,应。所以,在这种情况下, CPUCPU 只要只要接收或发送数据就可以了。 接收或发送数据就可以了。

Page 8: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

2.2. 慢速或中速的外围设备慢速或中速的外围设备

CPUCPU 与这类设备之间的数据交换通常采与这类设备之间的数据交换通常采用异步定时方式。 用异步定时方式。

这种在这种在 CPUCPU 和外设间用问答信号进行定和外设间用问答信号进行定时的方式叫做应答式数据交换时的方式叫做应答式数据交换

Page 9: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

3.3. 高速的外围设备高速的外围设备

这类外设是以相等的时间间隔操作的,而这类外设是以相等的时间间隔操作的,而CPUCPU 也是以等间隔的速率执行输入也是以等间隔的速率执行输入 // 输出输出指令的 ,因此,这种方式叫做同步定时方指令的 ,因此,这种方式叫做同步定时方式。一旦式。一旦 CPUCPU 和外设发生同步,它们之间和外设发生同步,它们之间的数据交换便靠时钟脉冲控制来进行。的数据交换便靠时钟脉冲控制来进行。

Page 10: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

程序查询方式方式程序查询方式方式• 程序中断方式方式

• 直接内存访问方式

•通道方式

外围设备“主动”通知 CPU ,要送出输入数据或接收输出数据。当外围设备完成数据传送的准备后,便向 CPU 发“中断请求”信号。 CPU 接到请求后停止正在运行的程序,转去执行中断服务程序,完成传送数据工作。传送完毕后仍返回原来的程序。

在外围设备和主存之间开辟直接的数据传送通路

通道是一个具有特殊功能的处理器,通道能独立地执行用通道命令编写的输入输出控制程序,产生相应的控制信号送给由它管辖的设备控制器,继而完成复杂的输入输出过程。

8.1.2 8.1.2 信息交换方式信息交换方式

Page 11: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

输入输出控制方式

主要由程序实现主要由程序实现 主要由硬件实现主要由硬件实现

程序查询方式

程序中断方式 DMA 方式 通道方式

Page 12: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

1. 1. 设备编址设备编址

I/OI/O 统一编址统一编址输入输出设备中的控制寄存器、数据寄存器、输入输出设备中的控制寄存器、数据寄存器、状态寄存器等和内存单元一样看待,大家联状态寄存器等和内存单元一样看待,大家联合在一起编排地址。合在一起编排地址。

I/OI/O 独立编址独立编址

8.2 8.2 程序查询方式程序查询方式

Page 13: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

3.3. 程序查询方式的接口程序查询方式的接口设备选择电路数据缓冲寄存器 设备状态寄存器

接口

动作开始

Page 14: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

4. 4. 程序查询输入输出方式程序查询输入输出方式程序的执行动作如图。程序的执行动作如图。

接口

动作开始

Page 15: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统程序查询方式程序查询方式

工作原理:工作原理: CPUCPU 查询外设查询外设已准备好后,才传送数据。已准备好后,才传送数据。特点:特点: CPUCPU 与外设间通过与外设间通过程序同步,程序同步, CPUCPU 被外设独被外设独占,占, CPUCPU 效率低下。效率低下。要求:要求:不需要增加额外的硬不需要增加额外的硬件电路。件电路。应用: 应用: 适适同在同在 CPUCPU 不太忙不太忙且传送速度要求不高时。且传送速度要求不高时。

Page 16: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统典型的程序查询流程典型的程序查询流程

Page 17: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

8.3 8.3 程序中断方式程序中断方式一、中一、中断的基本概念断的基本概念

二、程二、程序中断方式的基本接口序中断方式的基本接口

三、单级中断三、单级中断

四、多级中断四、多级中断

Page 18: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统一、中断的基本概念一、中断的基本概念

中断(中断( InterruptInterrupt )是指)是指 CPUCPU暂时中止现行程序,暂时中止现行程序,转去处理随机发生的紧急事件,处理完后自动返回转去处理随机发生的紧急事件,处理完后自动返回原程序的功能和技术。中断系统是计算机实现中断原程序的功能和技术。中断系统是计算机实现中断功能的软硬件总称。一般在功能的软硬件总称。一般在 CPUCPU 中设置中断机构,中设置中断机构,在外设接口中设置中断控制器,在软件上设置相应在外设接口中设置中断控制器,在软件上设置相应的中断服务程序。的中断服务程序。中断的过程:中断的过程:

Page 19: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统中断处理过程流程中断处理过程流程

Page 20: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统中断处理的一些问题中断处理的一些问题

CPUCPU 只有在当前一条指令执行完毕后,即转只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求,这样才入公操作时才受理设备的中断请求,这样才不致于使当前指令的执行受到干扰。 不致于使当前指令的执行受到干扰。

保存现场:为了在中断服务程序执行完毕以保存现场:为了在中断服务程序执行完毕以后正确地返回到原来主程序被中断的断点后正确地返回到原来主程序被中断的断点 (P(PCC 内容内容 )) 继续执行主程序,必须把程序计数继续执行主程序,必须把程序计数器器 PCPC 的内容,以及当前指令执行结束后的内容,以及当前指令执行结束后 CPCPUU 的状态的状态 (( 包括寄存器的内容和一些状态标包括寄存器的内容和一些状态标志位志位 )) 都保存到堆栈中去。都保存到堆栈中去。

Page 21: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

中断屏蔽 :当中断屏蔽 :当 CPUCPU 响应中断后,正要去执行中断服响应中断后,正要去执行中断服务程序时,有另一个新的中断源向它发出中断请求。务程序时,有另一个新的中断源向它发出中断请求。为了不致造成混乱,在为了不致造成混乱,在 CPUCPU 的中断管理部件中有一的中断管理部件中有一个中断屏蔽触发器,可在程序的控制下置“个中断屏蔽触发器,可在程序的控制下置“ 1”(1”( 设置设置屏蔽屏蔽 )) ,或置“,或置“ 0”(0”( 取掉屏蔽取掉屏蔽 )) 。。

中断处理过程是由硬件和软件结合来完成的。中断中断处理过程是由硬件和软件结合来完成的。中断周期由硬件实现,中断服务程序由机器指令序列实现。周期由硬件实现,中断服务程序由机器指令序列实现。后者除执行保存现场、恢复现场、开放中断并返回主后者除执行保存现场、恢复现场、开放中断并返回主程序任务外,对要求中断的设备进行服务,使其同程序任务外,对要求中断的设备进行服务,使其同 CCPUPU 交换一个字的数据,或作其他服务。 交换一个字的数据,或作其他服务。

Page 22: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统二、程序中断方式的基本接口二、程序中断方式的基本接口

控制

设备选择

数据缓冲寄存器公用寄存器

动作开始动作结束

输入数据

( 1 )

( 5 )( 6 )

( 4 )

( 3 )

( 2)

CPU 接口 外设

忙RDEI

( 10 )&

&

IRIM

PC IR 中断向量逻辑

( 9 )

( 8 )( 7 )

( 8 )

程序中断由外设接口的状态和 CPU 两方面来控制:在接口方面,是“准备就绪”标志 (RD) 和“允许中断”标志 (EI) 两个触发器;在 CPU 方面,是“中断请求”标志 (IR) 和“中断屏蔽”标志 (IM) 两个触发器。

Page 23: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统准备就绪的标志准备就绪的标志 (RD) (RD) :一旦设备做好一次数据的接:一旦设备做好一次数据的接

收或发送,便发出一个设备动作完毕信号 ,使收或发送,便发出一个设备动作完毕信号 ,使 RDRD标志置“标志置“ 1”1” 。。允许中断触发器允许中断触发器 (EI)(EI) : : EIEI 为“为“ 1”1” 时,外设可以向时,外设可以向CPUCPU 发出中断请求;发出中断请求; EIEI 为“为“ 0”0” 时,不能向时,不能向 CPUCPU 发发出中断请求,这意味着某中断源的中断请求被禁止。出中断请求,这意味着某中断源的中断请求被禁止。中断请求触发器中断请求触发器 (IR)(IR) : 暂存中断请求线上由设备发: 暂存中断请求线上由设备发出的中断请求信号。当出的中断请求信号。当 IRIR 标志为“标志为“ 1”1” 时,表示设时,表示设备发出了中断请求。 备发出了中断请求。 中断屏蔽触发器中断屏蔽触发器 (IM)(IM) : 是: 是 CPUCPU 是否受理中断或批是否受理中断或批准中断的标志。准中断的标志。 IMIM 标志为“标志为“ 0”0” 时,时, CPUCPU 可以受理可以受理外界的中断请求,反之,外界的中断请求,反之, IMIM 标志为“标志为“ 1”1” 时,时, CPUCPU不受理外界的中断。不受理外界的中断。

Page 24: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统三、单级中断三、单级中断

单级中断的概念单级中断的概念根据计算机系统对中断处理的策略不同,可分为根据计算机系统对中断处理的策略不同,可分为单级中断系统和多级中断系统。单级中断系统和多级中断系统。 在单级中断系统中,所有的中断源都属于同一级,在单级中断系统中,所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离所有中断源触发器排成一行,其优先次序是离 CPCPUU近的优先权高。当响应某一中断请求时,执行近的优先权高。当响应某一中断请求时,执行该中断源的中断服务程序。在此过程中,不允许该中断源的中断服务程序。在此过程中,不允许其他中断源再打断中断服务程序,即使优先权比其他中断源再打断中断服务程序,即使优先权比它高的中断源也不能再打断。 它高的中断源也不能再打断。

Page 25: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

Page 26: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统单级中断源的识别单级中断源的识别

在单级中断中,采用串行排队链法来实现具在单级中断中,采用串行排队链法来实现具有公共请求线的中断源判优识别。 有公共请求线的中断源判优识别。

Page 27: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

中断向量的产生中断向量的产生

中断向量的定义:中断向量的定义:开关理论中把若干个布开关理论中把若干个布尔量排成的序列定义为布尔向量。由于存尔量排成的序列定义为布尔向量。由于存储器的地址码是一串布尔量的序列,因此储器的地址码是一串布尔量的序列,因此把地址码称为把地址码称为向量地址向量地址。。

当当 CPUCPU 响应中断时,由硬件直接产生一个响应中断时,由硬件直接产生一个固定的地址固定的地址 (( 即向量地址即向量地址 )) ,由向量地址,由向量地址指出每个中断源设备的中断服务程序入口,指出每个中断源设备的中断服务程序入口,这种方法通常称为向量中断。 这种方法通常称为向量中断。

Page 28: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

每个中断源分别有一个中断服务程序,每个中断源分别有一个中断服务程序,而每个中断服务程序又有自己的向量而每个中断服务程序又有自己的向量地址。当地址。当 CPUCPU 识别出某中断源时,由识别出某中断源时,由硬件直接产生一个与该中断源对应的硬件直接产生一个与该中断源对应的向量地址,引入中断服务程序。向量地址,引入中断服务程序。

Page 29: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统四、多级中断四、多级中断

1.1.多级中断的概念多级中断的概念多级中断系统是指计算机系统中有很多中断多级中断系统是指计算机系统中有很多中断源,根据各中断事件的轻重缓急程度不同分源,根据各中断事件的轻重缓急程度不同分成若干级别,每一中断级分配给一个优先权。成若干级别,每一中断级分配给一个优先权。优先权高的中断级可以打断优先权低的中断优先权高的中断级可以打断优先权低的中断服务程序。服务程序。

这种重叠处理中断的现象又称为这种重叠处理中断的现象又称为中断嵌中断嵌套套 。 。

Page 30: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

Page 31: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统根据系统的配置不同,多级中断可分为一根据系统的配置不同,多级中断可分为一

维多级中断和二维多级中断 维多级中断和二维多级中断

一维、二维多级中断结构

Page 32: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统对多级中断的几点说明:对多级中断的几点说明:

一个系统若有一个系统若有 nn 级中断,在级中断,在 CPUCPU 中就有中就有 nn 个个中断请求触发器,总称为中断请求寄存器 ;中断请求触发器,总称为中断请求寄存器 ;与之对应的有与之对应的有 nn 个中断屏蔽触发器,总称为个中断屏蔽触发器,总称为中断屏蔽寄存器。中断屏蔽寄存器。

在响应中断时,需要把中断屏蔽寄存器的内容保在响应中断时,需要把中断屏蔽寄存器的内容保存起来,并设置新的中断屏蔽状态。一般在某一存起来,并设置新的中断屏蔽状态。一般在某一级中断被响应后,要对本级和优先权低于本级的级中断被响应后,要对本级和优先权低于本级的中断屏蔽位置“中断屏蔽位置“ 1 ”1 ” ,关闭其中断;对更高级的,关闭其中断;对更高级的中断屏蔽位要置“中断屏蔽位要置“ 0”0” ,开放其中断,以实现正常,开放其中断,以实现正常的中断嵌套。 的中断嵌套。

Page 33: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

在不同级别的中断之间可以实现中断嵌套,在不同级别的中断之间可以实现中断嵌套,但是同一级内不同中断源的中断不能嵌套,但是同一级内不同中断源的中断不能嵌套,必须是处理完一个中断后再响应和处理同一必须是处理完一个中断后再响应和处理同一级内其他中断源。 级内其他中断源。

多级中断的系统首先响应哪一级中断和哪一多级中断的系统首先响应哪一级中断和哪一个中断源,都是由硬件逻辑实现。 个中断源,都是由硬件逻辑实现。

在多级中断中也使用中断堆栈保存现场信息。在多级中断中也使用中断堆栈保存现场信息。

Page 34: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

2.2. 多级中断源的识别多级中断源的识别

在多级中断中,每一级均有一根中断请求在多级中断中,每一级均有一根中断请求线送往线送往 CPUCPU 的中断优先级排队电路,对每的中断优先级排队电路,对每一级赋予了不同的优先级。这种结构是独一级赋予了不同的优先级。这种结构是独立请求方式的逻辑结构。立请求方式的逻辑结构。

Page 35: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统中断优先排队电路

中断向量产生电路

Page 36: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

【例【例 11】参见本小节所示的二维中断系统。请问: 】参见本小节所示的二维中断系统。请问:

(1)(1) 在中断情况下,在中断情况下, CPUCPU 和设备的优先级如何考虑和设备的优先级如何考虑 ??请按降序排列各设备的中断优先级。 请按降序排列各设备的中断优先级。

(2)(2)若若 CPUCPU现执行设备现执行设备 BB 的中断服务程序,的中断服务程序, IM2IM2 ,,IM1IM1 ,, IM0IM0 的状态是什么的状态是什么 ?? 如果如果 CPUCPU 执行设 备执行设 备DD 的中断服务程序,的中断服务程序, IM2IM2 ,, IM1IM1 ,, IM0IM0 的状态的状态又是什么又是什么 ? ?

(3)(3)每一级的每一级的 IMIM 能否对某个优先级的个别设备单独能否对某个优先级的个别设备单独进行屏蔽进行屏蔽 ?? 如果不能,采取什么办法可达到目的如果不能,采取什么办法可达到目的 ??

(4)(4)假如设备假如设备 CC 一提出中断请求,一提出中断请求, CPUCPU 立即进行响立即进行响应,如何调整才能满足此要求应,如何调整才能满足此要求 ? ?

Page 37: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

【解】【解】

(1)(1) 在中断情况下,在中断情况下, CPUCPU 的优先级最低。各设备的优的优先级最低。各设备的优先次序是:先次序是: A→B→C→ D→E→F→G→H→I→CPUA→B→C→ D→E→F→G→H→I→CPU 。。

(2)(2) 执行设备执行设备 BB 的中断服务程序时的中断服务程序时 IMIM22IMIM11IMIM00=111=111 ;;执行设备执行设备 DD 的中断服务程序时,的中断服务程序时, IMIM22IMIM11IMIM00=011=011 。。

(3)(3)每一级的每一级的 IMIM 标志不能对某个优先级的个别设备标志不能对某个优先级的个别设备进行单独屏蔽。可将接口中的进行单独屏蔽。可将接口中的 EI(EI( 中断允许中断允许 )) 标志清标志清““ 0”0” ,它禁止设备发出中断请求。 ,它禁止设备发出中断请求。

(4)(4) 要使设备要使设备 CC 的中断请求及时得到响应,可将设备的中断请求及时得到响应,可将设备CC 从第从第 22 级取出来,单独放在第级取出来,单独放在第 33 级上,使第级上,使第 33 级级的优先级最高,即令的优先级最高,即令 IMIM33=0=0即可。即可。

Page 38: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

8.3 DMA8.3 DMA 方式方式一、一、DDMAMA 的基本概念的基本概念

二、二、DDMAMA 传送方式传送方式

三、基三、基本本 DMADMA 控制器控制器

Page 39: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统一、一、 DMADMA 的基本概念的基本概念

直接内存访问直接内存访问 (DMA)(DMA) 是一种完全由硬件执行是一种完全由硬件执行 I/OI/O

交换的工作方式。在这种方式中,交换的工作方式。在这种方式中, DMADMA 控制器从控制器从CPUCPU 完全接管对总线的控制,数据交换不经过完全接管对总线的控制,数据交换不经过 CPCP

UU ,而直接在内存和,而直接在内存和 I/OI/O 设备之间进行 。设备之间进行 。DMADMA 控制器的功能控制器的功能

向向 CPUCPU 请求总线接管请求总线接管主存寻址主存寻址数据向主存的传送与控制数据向主存的传送与控制接受设备的接受设备的 DMADMA 请求和优先权处理请求和优先权处理

Page 40: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

DMADMA 的基本操作:的基本操作:

(1)(1) 从外围设备发出从外围设备发出 DMADMA 请求; 请求;

(2)CPU(2)CPU 响应请求,把响应请求,把 CPUCPU 工作改成工作改成 DMADMA 操作操作方式,方式, DMADMA 控制器从控制器从 CPUCPU 接管总线的控制;接管总线的控制;

(3)(3) 由由 DMADMA 控制器对内存寻址,即决定数据传送控制器对内存寻址,即决定数据传送的内存单元地址及数据传送个数的计数,并执的内存单元地址及数据传送个数的计数,并执行数据传送的操作; 行数据传送的操作;

(4)(4) 向向 CPUCPU报告报告 DMADMA 操作的结束。 操作的结束。

Page 41: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

二、二、 DMADMA 传送方式传送方式停止停止 CPUCPU 访内访内

周期挪用周期挪用

DMADMA 与与 CPUCPU 交替访内交替访内

Page 42: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

1.1. 停止停止 CPUCPU 访问内存访问内存 在一批数据传送完毕后,在一批数据传送完毕后, DMADMA 控制器通知控制器通知 CPUCPU 可可以使用内存,并把总线控制权交还给以使用内存,并把总线控制权交还给 CPUCPU 。。优点优点 : : 控制简单,适用于数据传输率很高的设备。控制简单,适用于数据传输率很高的设备。缺点缺点 : DMA: DMA 访内阶段,内存的效能没有充分发挥。访内阶段,内存的效能没有充分发挥。

Page 43: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统2. 周期挪用

若有 DMA 请求,由 I/O 设备挪用一个或几个内存周期。I/O 设备要求 DMA 传送时可能遇到两种情况:(1) 此时 CPU 不需要访内,如 CPU 正在执行指令。挪用一二个内存周期对 CPU 执行程序没有任何影响。(2) CPU 也要求访内,这就产生了访内冲突。在这种情况 CPU

要延缓对指令的执行。

Page 44: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

周期挪用的方法,既实现了周期挪用的方法,既实现了 I/OI/O 传送,又较传送,又较好地发挥了内存和好地发挥了内存和 CPUCPU 的效率,是一种广的效率,是一种广泛采用的方法。泛采用的方法。周期挪用的方法适用于周期挪用的方法适用于 I/OI/O 设备读写周期大设备读写周期大于内存存储周期的情况。 于内存存储周期的情况。

Page 45: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

3.DMA3.DMA 与与 CPUCPU 交替访内交替访内 如果如果 CPUCPU 的工作周期比内存存取周期长很多,此的工作周期比内存存取周期长很多,此时采用交替访内的方法可以使时采用交替访内的方法可以使 DMADMA 传送和传送和 CPUCPU 同同时发挥最高的效率。时发挥最高的效率。

Page 46: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

这种方式不需要总线使用权的申请、建立和归还过这种方式不需要总线使用权的申请、建立和归还过程,总线使用权是通过程,总线使用权是通过 C1C1 和和 C2C2 分时进行的。分时进行的。在在 C1C1 周期中,如果周期中,如果 DMADMA 控制器有访内请求,可将控制器有访内请求,可将地址、数据等信号送到总线上。在地址、数据等信号送到总线上。在 C2C2 周期中,如周期中,如 CCPUPU 有访内请求,同样传送地址、数据等信号。有访内请求,同样传送地址、数据等信号。这种传送方式又称为“这种传送方式又称为“透明的透明的 DMADMA”” 方式,在透明方式,在透明的的 DMADMA 方式下工作,方式下工作, CPUCPU 既不停止主程序的运行,既不停止主程序的运行,也不进入等待状态,是一种高效率的工作方式。也不进入等待状态,是一种高效率的工作方式。

Page 47: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

1.DMA1.DMA 控制器的基本组成控制器的基本组成

DMADMA 控制器实际上是采用控制器实际上是采用 DMADMA 方式的外围方式的外围设备与系统总线之间的接口电路。设备与系统总线之间的接口电路。

三、基本的三、基本的 DMADMA 控制器控制器

Page 48: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统系统总线

内存 CPU

中断机构

0 1DMA

请求标志

控制 / 状态逻辑

内存地址计数器

设备选择数据缓冲

设备

字计数器

用于存放内存中要交换的数据的地址

用于记录传送数据块的长度 ( 多少字数 ) 。

用于暂存每次传送的数据 ( 一个字 )

每当设备准备好一个数据字后给出一个控制信号,使“ DMA 请求” 标志置“ 1”

用于修改内存地址计数器和字计数器,指定传送类型,并对“ DMA 请求”信号和 CPU 响应信号进行协调和同步。

当字计数器溢出时,表示一组数据交换完毕,由溢出信号触发中断机构,向CPU 提出中断报告。

Page 49: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统2.DMA2.DMA 数据传送过程数据传送过程

DMADMA 的数据块传送过程可分为三个阶段:的数据块传送过程可分为三个阶段:传送传送前预处理;正式传送;传送后处理前预处理;正式传送;传送后处理。 。

预处理预处理:向内存地址计数器中送入起始地址,向字:向内存地址计数器中送入起始地址,向字计数器中送入交换的数据字个数。计数器中送入交换的数据字个数。正式传送:正式传送:当外设准备好发送数据当外设准备好发送数据 (( 输入输入 )) 或接受数或接受数据据 (( 输出输出 )) 时,它发出时,它发出 DMADMA 请求,由请求,由 DMADMA 控制器向控制器向CPUCPU 发出总线使用权的请求发出总线使用权的请求 (HOLD)(HOLD) 。下图示出了。下图示出了停止停止 CPUCPU 访内方式的访内方式的 DMADMA 传送数据的流程图。传送数据的流程图。后处理后处理:: DMADMA 中断请求,中断请求, CPUCPU 停止主程序的执行,停止主程序的执行,转去执行中断服务程序做一些转去执行中断服务程序做一些 DMADMA 的结束处理工作。的结束处理工作。

Page 50: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

Page 51: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

通道的功能:通道的功能: (1)(1) 接受接受 CPUCPU 的的 I/OI/O 指令,按指令要求与指定的外围设备指令,按指令要求与指定的外围设备进行通信进行通信(2)(2) 从内存选取属于该通道程序的通道指令,经译码后向从内存选取属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令。 设备控制器和设备发送各种命令。 (3)(3) 组织外围设备和内存之间进行数据传送,并根据需要组织外围设备和内存之间进行数据传送,并根据需要提供数据缓存的空间,以及提供数据存入内存的地址和提供数据缓存的空间,以及提供数据存入内存的地址和传送的数据量。 传送的数据量。 (4)(4) 从外围设备得到设备的状态信息,形成并保存通道本从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指身的状态信息,根据要求将这些状态信息送到内存的指定单元,供定单元,供 CPUCPU使用。 使用。 (5)(5) 将外围设备的中断请求和通道本身的中断请求,按次将外围设备的中断请求和通道本身的中断请求,按次序及时报告序及时报告 CPUCPU 。。

8.5 8.5 通道方式通道方式

Page 52: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统 通道结构

Page 53: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统

通道类型通道类型选择通道选择通道多路通道多路通道

数组多路通道数组多路通道字节多路通道字节多路通道

Page 54: 第 8 章  输入输出系统

第第 88 章 输入输出系章 输入输出系统统