计算机组成原理第七章输入输出系统[四]_第1页
计算机组成原理第七章输入输出系统[四]_第2页
计算机组成原理第七章输入输出系统[四]_第3页
计算机组成原理第七章输入输出系统[四]_第4页
计算机组成原理第七章输入输出系统[四]_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章第七章 输入输入 输出系统输出系统 7.1 7.1 输入输出系统概述输入输出系统概述 7.3 7.3 程序中断方式程序中断方式 7.4 DMA7.4 DMA方式方式 7.2 7.2 程序查询方式程序查询方式7.47.4 DMADMA方式方式 7.4.1 7.4.1 基本概念基本概念 1 1、定义、定义 DMA(Direct Memory Access,DMA(Direct Memory Access,直接存储器访直接存储器访问问) )是一种完全由硬件执行是一种完全由硬件执行I/OI/O交换的工作方式交换的工作方式. . 在这种方式中在这种方式中,DMA,DMA控制器从控制器从CPUCPU

2、完全接管对完全接管对总线的控制总线的控制, ,数据交换不经过数据交换不经过CPU,CPU,不需要不需要CPUCPU暂停现行程序为设备服务暂停现行程序为设备服务, ,而直接在内存和而直接在内存和I/OI/O设备之间进行设备之间进行. . DMADMA方式一般用于高速传送成组数据方式一般用于高速传送成组数据. . 2 2、DMADMA和中断的区别和中断的区别 (1) (1) 中断是程序切换中断是程序切换, ,需要保护和恢复现场需要保护和恢复现场; ;而而DMADMA方式除了开始和结束时方式除了开始和结束时, ,不占用不占用CPUCPU的任的任何资源;何资源; (2) (2) 对中断请求的响应时间只

3、能发生在每条指对中断请求的响应时间只能发生在每条指令执行完毕时令执行完毕时; ;而对而对DMADMA请求的响应时间可以请求的响应时间可以发生在每个机器周期结束时发生在每个机器周期结束时; ;取指令取指令取源操作数取源操作数 取目的操作数取目的操作数执行执行图图7.24 7.24 两种请求的响应时刻比较两种请求的响应时刻比较DMADMA断点断点中断断点中断断点 2 2、DMADMA和中断的区别和中断的区别 (3) DMA(3) DMA请求的优先级高于中断请求;请求的优先级高于中断请求; (4) (4) 程序中断具有实时处理异常事件的能力程序中断具有实时处理异常事件的能力, ,而而DMADMA方式

4、仅用于实现外设与主存之间的数据方式仅用于实现外设与主存之间的数据块传送块传送. . (5) (5) 中断中断传送过程传送过程需要需要CPUCPU的干预的干预; ;而而DMADMA方方式式传送过程传送过程不需要不需要CPUCPU的干预的干预, ,所以数据传送所以数据传送速率高速率高, ,适合于高速外设的成组数据传送适合于高速外设的成组数据传送. .7.4.27.4.2 DMADMA接口接口(DMA(DMA控制器控制器DMAC)DMAC) 1 1、DMADMA控制器的功能控制器的功能 (1) (1) 接受外设发出的接受外设发出的DMADMA请求请求, ,并向并向CPUCPU发出总发出总线请求线请求

5、; ; (2) (2) 当当CPUCPU响应总线请求并发出总线响应信号后响应总线请求并发出总线响应信号后, ,接管对总线的控制接管对总线的控制, ,进入进入DMADMA操作周期操作周期; ; (3) (3) 确定传送数据的主存单元地址及传送长度确定传送数据的主存单元地址及传送长度, ,并并能自动修改主存地址计数器和传送长度计数器能自动修改主存地址计数器和传送长度计数器; ; (4) (4) 规定数据在主存与外设之间的传送方向规定数据在主存与外设之间的传送方向, ,发出发出读写或其他控制信号读写或其他控制信号, ,并执行数据传送的操作并执行数据传送的操作; ; (5) (5) 向向CPUCPU报

6、告报告DMADMA操作的结束操作的结束. . 7.4.27.4.2 DMADMA接口接口(DMA(DMA控制器控制器DMAC)DMAC) 2 2、DMADMA控制器的基本组成控制器的基本组成 (1)(1)寄存器组寄存器组: :四个主要寄存器四个主要寄存器 主存地址计数器主存地址计数器: :存放待交换数据的主存地址存放待交换数据的主存地址. .其初值其初值为主存缓冲区首地址为主存缓冲区首地址, ,当当DAMDAM传送时传送时, ,每传送一个数据每传送一个数据, ,地址计数器加地址计数器加1, 1,直到这批数据传送完为止直到这批数据传送完为止; ; 字计数字计数器器: :纪录传送数据块的长度纪录传

7、送数据块的长度. .初始时将待传送的初始时将待传送的字数或字节数求补后送计数器字数或字节数求补后送计数器, ,每传送一个字或一个字每传送一个字或一个字节节, ,计数器加计数器加1, 1,当计数器溢出时当计数器溢出时, ,表示数据传送完毕表示数据传送完毕; ; 数据缓冲寄存器数据缓冲寄存器: :暂存放每次传送的数据暂存放每次传送的数据; ; 外围设备地址寄存器外围设备地址寄存器: :存放存放I/OI/O设备的设备码或表示设备的设备码或表示设备信息存储区的寻址信息;设备信息存储区的寻址信息; 7.4.27.4.2 DMADMA接口接口(DMA(DMA控制器控制器) ) 2 2、DMADMA控制器的

8、基本组成控制器的基本组成 (2)(2) 控制控制/ /状态逻辑状态逻辑: :由状态标志和控制逻辑电路组由状态标志和控制逻辑电路组成成, ,发出各种控制信号发出各种控制信号, ,用于指定传送方向、修改用于指定传送方向、修改主存地址计数器和字计数器、并对主存地址计数器和字计数器、并对DMADMA请求信请求信号和号和CPUCPU响应信号进行协调同步响应信号进行协调同步; ; (3) DMA (3) DMA请求触发器请求触发器: :每当外设准备好数据后给出每当外设准备好数据后给出一个控制信号一个控制信号, ,使使DMADMA触发器置位触发器置位; ; (4) (4) 中断机构中断机构: :当一个数据块

9、传送完毕后触发中断当一个数据块传送完毕后触发中断机构机构, ,向向CPUCPU提出中断请求提出中断请求,CPU,CPU将进行将进行DMADMA传送传送的结尾处理的结尾处理. . 一个简单的一个简单的 DMADMA控制器如图控制器如图7.257.25所示所示: : 系统总线系统总线内存内存CPUCPUMARMARMDRMDR中断机构中断机构控制控制/ /状态逻辑状态逻辑内存地址计数器内存地址计数器字计数器字计数器数据缓冲寄存器数据缓冲寄存器 设备选择设备选择0 1 0 1 DMADMA请求请求触发器触发器HOLD(HOLD(总线请求总线请求) )HLDAHLDA( (总线响应总线响应) )DMA

10、DMA响应响应DMADMA请求请求+1+1+1+1溢出信号溢出信号中断请求中断请求地址线地址线数据线数据线设设 备备数据数据7.25 7.25 简单的简单的DMADMA控制器组成框图控制器组成框图DMACDMAC返回返回 2 2、DMADMA控制器的数据传送过程控制器的数据传送过程 DMADMA的数据传送过程分为的数据传送过程分为3 3个阶段个阶段:DMA:DMA传送传送前的预处理、数据传送和传送后的结束处理前的预处理、数据传送和传送后的结束处理, ,如图如图7.26(a)7.26(a)所示所示. . (1) (1) 传送前的预处理传送前的预处理 需要需要CPUCPU来完成来完成( (软件方式

11、软件方式): ): CPU CPU在对在对DMADMA控制器编程控制器编程, ,实施必要的初始化操作实施必要的初始化操作: : 测试外设的状态测试外设的状态; ;设置数据的传送方向设置数据的传送方向; ;设置主存起始地址设置主存起始地址; ;设置数据传输个数设置数据传输个数; ;向向DMADMA设备地址寄存器送入设备号设备地址寄存器送入设备号, ,并启动外设并启动外设. . 2 2、DMADMA控制器的数据传送过程控制器的数据传送过程 之后之后,CPU ,CPU 继续执行原程序继续执行原程序, ,在外设准备好发在外设准备好发送的数据送的数据( (输入输入) )或接收的数据或接收的数据( (输出

12、输出) )已经处理已经处理完毕完毕, ,外设向外设向DMA DMA 控制器发出控制器发出DMA DMA 请求请求, ,进入进入下一阶段下一阶段-数据传送数据传送. . (2) (2) 数据传送数据传送 DMADMA数据传送流程图示于图数据传送流程图示于图7.26(b)7.26(b). .下面以下面以外设将一个数据块写入主存的操作为例外设将一个数据块写入主存的操作为例, ,简述简述DMADMA的数据传送过程的数据传送过程( (结合图结合图7.257.25) ): 外设给出一个控制信号使外设给出一个控制信号使DMADMA请求触发器置请求触发器置位位; ; DMA DMA请求触发器向控制状态逻辑发请

13、求触发器向控制状态逻辑发DMADMA请求请求; ; DMA DMA控制器向控制器向CPUCPU发出总线请求信号发出总线请求信号HOLD;HOLD; CPU CPU接到该请求后接到该请求后, ,在正在执行的指令的当前在正在执行的指令的当前机器周期结束时响应该请求机器周期结束时响应该请求, ,并向并向DMADMA控制器发控制器发发总线响应信号发总线响应信号HLDA,HLDA,表示表示DMACDMAC已经获得总已经获得总线控制权;线控制权; 控制状态逻辑将控制状态逻辑将DMADMA请求触发器置请求触发器置0 0; DMAC DMAC向外设发出向外设发出DMADMA响应信号;响应信号; 将外设数据读入

14、数据缓冲寄存器;将外设数据读入数据缓冲寄存器; DMADMA控制器按照主存地址计数器的内容发出地址控制器按照主存地址计数器的内容发出地址信号作为主存地址的选择信号作为主存地址的选择, ,数据缓冲寄存器中的内容数据缓冲寄存器中的内容在在DMACDMAC发出的写信号的控制下经数据线写入指定单发出的写信号的控制下经数据线写入指定单元元; ; 内存地址计数器、字计数器增内存地址计数器、字计数器增1 1; 判断字计数器是否溢出判断字计数器是否溢出, ,若未溢出若未溢出, ,则重复则重复; ;如如溢出溢出, ,则停止传送则停止传送, ,向向CPUCPU发结束中断请求发结束中断请求. (3)(3)传送后处理

15、传送后处理 DMADMA的中断请求得到响应的中断请求得到响应,CPU,CPU停止原程序的执行停止原程序的执行, ,转转去执行中断服务程序去执行中断服务程序, ,包括包括: :校验送入主存的数据是否正确校验送入主存的数据是否正确; ; 若继续交换数据若继续交换数据, ,则对则对DMADMA控制器进行初始化;控制器进行初始化;若不需交换数据若不需交换数据, ,则停止外设等则停止外设等. .DMADMA请求请求DMADMA响应响应发送内存地址发送内存地址传送一个字数据传送一个字数据检测传送检测传送是否结束?是否结束?向向CPUCPU申请申请程序中断程序中断修改地址指针和字计数器修改地址指针和字计数器

16、是是否否图图7.26 DMA7.26 DMA传送数据的流程图传送数据的流程图传送前预处理传送前预处理数据传送数据传送传送后处理传送后处理CPUCPU继续执行主程序继续执行主程序(a) 数据传送的三个阶段数据传送的三个阶段(b) (b) 第二阶段的数据传送过程第二阶段的数据传送过程 7.4.37.4.3 DMA DMA传送方式传送方式 问题:问题:DMACDMAC和和CPUCPU如何分时使用系统总线和主存?如何分时使用系统总线和主存? 1 1、CPUCPU停止法停止法 当外设要求传送一批数据时当外设要求传送一批数据时, ,由由DMAC DMAC 发出一个总线发出一个总线请求信号请求信号.DMAC

17、.DMAC获得总线控制权后获得总线控制权后, ,进行数据传送进行数据传送. .期期间间,CPU,CPU一直处于保持状态直至整块数据传送完毕一直处于保持状态直至整块数据传送完毕. .图图7.27(a)7.27(a)为该方法的时间图为该方法的时间图: :内存工作时间内存工作时间CPUCPU控制并控制并使用主存使用主存DMACDMAC控制控制并使用主存并使用主存DMADMA不工作不工作DMADMA工作工作DMADMA不工作不工作图图7.27 DMA7.27 DMA传送方法传送方法 (a) CPUCPU停止法的优点停止法的优点: :控制简单控制简单, ,减少系统总线控制权的减少系统总线控制权的交换次数

18、交换次数; ;缺点缺点:CPU:CPU在较长一段时间内原地踏步在较长一段时间内原地踏步, ,适用适用于高速成组数据传送于高速成组数据传送, ,可以减少系统总线控制权的交可以减少系统总线控制权的交换次数换次数, ,有利于提高输入输出的速度有利于提高输入输出的速度. . 适用于适用于: :外设的数据传输率接近主存工作速度外设的数据传输率接近主存工作速度( (否则内否则内存效能不能充分发挥存效能不能充分发挥, ,例如软盘读一个例如软盘读一个8 8位二进制数大位二进制数大约需要约需要32us,32us,而半导体存储器的存取周期远小于而半导体存储器的存取周期远小于1us.)1us.)且且成组传送成组传送

19、. .内存工作时间内存工作时间CPUCPU控制并控制并使用主存使用主存DMACDMAC控制控制并使用主存并使用主存DMADMA不工作不工作DMADMA工作工作DMADMA不工作不工作图图7.27 DMA7.27 DMA传送方法传送方法 (a) 2 2、总线周期分时法、总线周期分时法DMACDMAC与与CPUCPU交替访问主存交替访问主存: :把原来的一个存取周期分把原来的一个存取周期分为两个时间片为两个时间片, ,一片分给一片分给CPU,CPU,一片分给一片分给DMA.DMA.优点优点: :无需经过总线控制权的申请、建立和归还过程无需经过总线控制权的申请、建立和归还过程. .传传送效率高送效率

20、高, ,称为称为“透明的透明的DMA”.DMA”.缺点缺点: :相应硬件逻辑复杂相应硬件逻辑复杂. .内存工作时间内存工作时间CPUCPU控制并控制并使用主存使用主存DMACDMAC控制控制并使用主存并使用主存图图7.27 DMA7.27 DMA传送方法传送方法(b)(b) 3 3、总线周期挪用法、总线周期挪用法 前两种方法的折中前两种方法的折中: :当外设有当外设有DMADMA请求时请求时, ,由由DMACDMAC挪用挪用一个主存周期一个主存周期; ;然后然后DMADMA立即将总线控制权交还立即将总线控制权交还CPU,CPUCPU,CPU将继续刚才被暂停的工作并等待下一个将继续刚才被暂停的工

21、作并等待下一个DMADMA请求的到来请求的到来. .重复上述过程直至数据块传送完毕重复上述过程直至数据块传送完毕. . 适用于适用于: :主存工作速度高于外设较多时主存工作速度高于外设较多时, ,可提高主存利用可提高主存利用率率( (如如“CPUCPU停止法停止法”中的例子中的例子). ).内存工作时间内存工作时间CPUCPU控制并控制并使用主存使用主存DMACDMAC控制控制并使用主存并使用主存图图7.27 DMA7.27 DMA传送方法传送方法(c) 例例: :某计算机的某计算机的CPUCPU主频为主频为500MHZ,CPI500MHZ,CPI为为5(5(即每条指令平均需要即每条指令平均需

22、要5 5个时钟周期个时钟周期). ).假定某假定某外设的数据传输率为外设的数据传输率为0.5MB/s,0.5MB/s,采用中断方式采用中断方式与主机进行数据传送与主机进行数据传送, ,以以3232位为传输单位位为传输单位, ,对应对应的中断服务程序包含的中断服务程序包含1818条指令条指令, ,中断服务的其中断服务的其他开销相当于他开销相当于2 2条指令的执行时间条指令的执行时间. .请回答下请回答下列问题列问题, ,要求给出计算过程要求给出计算过程. . (2)(2)当该外设的数据传输率达到当该外设的数据传输率达到5MB/s5MB/s时时, ,改用改用DMADMA方式传输数据方式传输数据,

23、,假定每次假定每次DMADMA传送块大传送块大小为小为5000B,5000B,且且DMADMA预处理和后处理的总开销预处理和后处理的总开销为为500500个时钟周期个时钟周期, ,则则CPUCPU用于该外设用于该外设I/OI/O的时的时间占整个间占整个CPUCPU时间的百分比是多少时间的百分比是多少?( ?(假定假定DMADMA与与CPUCPU之间没有访存冲突之间没有访存冲突) ) 解解: :外设数据传输率提高到外设数据传输率提高到5MB/s5MB/s时时,1 ,1秒内需秒内需产生的产生的DMADMA次数次数: : 5MB/5000B=1000 5MB/5000B=1000 CPU CPU用于

24、用于DMADMA处理的总开销处理的总开销: : 1000 1000500=500 000=0.5M500=500 000=0.5M个时钟周期个时钟周期 CPUCPU用于外设用于外设I/OI/O的时间占整个的时间占整个CPUCPU的时间百的时间百分比分比: : 0.5M/500M=0.1% 0.5M/500M=0.1%例例: :假定硬盘传输数据以假定硬盘传输数据以3232位的字为单位位的字为单位, ,传输率为传输率为1MB/s,CPU1MB/s,CPU的时钟频率为的时钟频率为50MHz.50MHz.请比较采用以下三请比较采用以下三种种I/OI/O方式实现该硬盘方式实现该硬盘I/OI/O的可能性的

25、可能性. .(1)(1)程序查询方式程序查询方式: :一个查询操作需要一个查询操作需要100100个时钟周期个时钟周期, ,求求CPUCPU为为I/OI/O查询所花费的时间比率查询所花费的时间比率, ,假定必须进行足够假定必须进行足够查询以避免数据丢失查询以避免数据丢失. .解答解答:(1) :(1) 根据题意可知根据题意可知: : 传输率为传输率为: :1MB/s=0.25M1MB/s=0.25M字字/s /s 需执行中断服务程序需执行中断服务程序0.25M0.25M次,花费时钟周期数次,花费时钟周期数0.25M0.25M100=25M100=25M CPUCPU为为I/OI/O查询所花费的时间比率为:查询所花费的时间比率为:25M/50M=1/2=50%25M/50M=1/2=50% 采用程序查询方式不可取采用程序查询方式不可取4 4、假定硬盘传输数据以、假定硬盘传输数据以3232位的字为单位,位的字为单位,传输率为传输率为2MB/s2MB/s,CPUCPU的时钟频率为的时钟频率为50MHz50MHz。请比较采用以下三种。请比较采用以下三种I/OI/O方式方式实现该硬盘实现该硬盘I/OI/O的可能性。的可能性。(2)(2)程序中断方式。每次传输的开销程序中断方式。每次传输的开销( (包括中包括

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论