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

下载本文档

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

文档简介

第七章输入输出系统,7.1输入输出系统概述,7.3程序中断方式,7.4DMA方式,7.2程序查询方式,7.4DMA方式,7.4.1基本概念1、定义DMA(DirectMemoryAccess,直接存储器访问)是一种完全由硬件执行I/O交换的工作方式.在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,不需要CPU暂停现行程序为设备服务,而直接在内存和I/O设备之间进行.DMA方式一般用于高速传送成组数据.,2、DMA和中断的区别(1)中断是程序切换,需要保护和恢复现场;而DMA方式除了开始和结束时,不占用CPU的任何资源;(2)对中断请求的响应时间只能发生在每条指令执行完毕时;而对DMA请求的响应时间可以发生在每个机器周期结束时;,取指令,取源操作数,取目的操作数,执行,图7.24两种请求的响应时刻比较,DMA断点,中断断点,2、DMA和中断的区别(3)DMA请求的优先级高于中断请求;(4)程序中断具有实时处理异常事件的能力,而DMA方式仅用于实现外设与主存之间的数据块传送.(5)中断传送过程需要CPU的干预;而DMA方式传送过程不需要CPU的干预,所以数据传送速率高,适合于高速外设的成组数据传送.,7.4.2DMA接口(DMA控制器DMAC),1、DMA控制器的功能(1)接受外设发出的DMA请求,并向CPU发出总线请求;(2)当CPU响应总线请求并发出总线响应信号后,接管对总线的控制,进入DMA操作周期;(3)确定传送数据的主存单元地址及传送长度,并能自动修改主存地址计数器和传送长度计数器;(4)规定数据在主存与外设之间的传送方向,发出读写或其他控制信号,并执行数据传送的操作;(5)向CPU报告DMA操作的结束.,7.4.2DMA接口(DMA控制器DMAC),2、DMA控制器的基本组成(1)寄存器组:四个主要寄存器主存地址计数器:存放待交换数据的主存地址.其初值为主存缓冲区首地址,当DAM传送时,每传送一个数据,地址计数器加1,直到这批数据传送完为止;字计数器:纪录传送数据块的长度.初始时将待传送的字数或字节数求补后送计数器,每传送一个字或一个字节,计数器加1,当计数器溢出时,表示数据传送完毕;数据缓冲寄存器:暂存放每次传送的数据;外围设备地址寄存器:存放I/O设备的设备码或表示设备信息存储区的寻址信息;,7.4.2DMA接口(DMA控制器),2、DMA控制器的基本组成(2)控制/状态逻辑:由状态标志和控制逻辑电路组成,发出各种控制信号,用于指定传送方向、修改主存地址计数器和字计数器、并对DMA请求信号和CPU响应信号进行协调同步;(3)DMA请求触发器:每当外设准备好数据后给出一个控制信号,使DMA触发器置位;(4)中断机构:当一个数据块传送完毕后触发中断机构,向CPU提出中断请求,CPU将进行DMA传送的结尾处理.一个简单的DMA控制器如图7.25所示:,系统总线,内存,CPU,MAR,MDR,中断机构,控制/状态逻辑,内存地址计数器,字计数器,数据缓冲寄存器,设备选择,01DMA请求触发器,HOLD(总线请求),HLDA(总线响应),DMA响应,DMA请求,+1,+1,溢出信号,中断请求,地址线,数据线,设备,数据,7.25简单的DMA控制器组成框图,DMAC,返回,2、DMA控制器的数据传送过程DMA的数据传送过程分为3个阶段:DMA传送前的预处理、数据传送和传送后的结束处理,如图7.26(a)所示.(1)传送前的预处理需要CPU来完成(软件方式):CPU在对DMA控制器编程,实施必要的初始化操作:测试外设的状态;设置数据的传送方向;设置主存起始地址;设置数据传输个数;向DMA设备地址寄存器送入设备号,并启动外设.,2、DMA控制器的数据传送过程之后,CPU继续执行原程序,在外设准备好发送的数据(输入)或接收的数据(输出)已经处理完毕,外设向DMA控制器发出DMA请求,进入下一阶段-数据传送.(2)数据传送DMA数据传送流程图示于图7.26(b).下面以外设将一个数据块写入主存的操作为例,简述DMA的数据传送过程(结合图7.25):,外设给出一个控制信号使DMA请求触发器置位;DMA请求触发器向控制状态逻辑发DMA请求;DMA控制器向CPU发出总线请求信号HOLD;CPU接到该请求后,在正在执行的指令的当前机器周期结束时响应该请求,并向DMA控制器发发总线响应信号HLDA,表示DMAC已经获得总线控制权;控制状态逻辑将DMA请求触发器置0;DMAC向外设发出DMA响应信号;,将外设数据读入数据缓冲寄存器;DMA控制器按照主存地址计数器的内容发出地址信号作为主存地址的选择,数据缓冲寄存器中的内容在DMAC发出的写信号的控制下经数据线写入指定单元;内存地址计数器、字计数器增1;判断字计数器是否溢出,若未溢出,则重复;如溢出,则停止传送,向CPU发结束中断请求.(3)传送后处理DMA的中断请求得到响应,CPU停止原程序的执行,转去执行中断服务程序,包括:校验送入主存的数据是否正确;若继续交换数据,则对DMA控制器进行初始化;若不需交换数据,则停止外设等.,DMA请求,DMA响应,发送内存地址,传送一个字数据,检测传送是否结束?,向CPU申请程序中断,修改地址指针和字计数器,是,否,图7.26DMA传送数据的流程图,传送前预处理,数据传送,传送后处理,CPU,继续执行主程序,(a)数据传送的三个阶段,(b)第二阶段的数据传送过程,7.4.3DMA传送方式问题:DMAC和CPU如何分时使用系统总线和主存?1、CPU停止法当外设要求传送一批数据时,由DMAC发出一个总线请求信号.DMAC获得总线控制权后,进行数据传送.期间,CPU一直处于保持状态直至整块数据传送完毕.图7.27(a)为该方法的时间图:,DMA不工作,DMA工作,DMA不工作,图7.27DMA传送方法,(a),CPU停止法的优点:控制简单,减少系统总线控制权的交换次数;缺点:CPU在较长一段时间内原地踏步,适用于高速成组数据传送,可以减少系统总线控制权的交换次数,有利于提高输入输出的速度.适用于:外设的数据传输率接近主存工作速度(否则内存效能不能充分发挥,例如软盘读一个8位二进制数大约需要32us,而半导体存储器的存取周期远小于1us.)且成组传送.,DMA不工作,DMA工作,DMA不工作,图7.27DMA传送方法,(a),2、总线周期分时法DMAC与CPU交替访问主存:把原来的一个存取周期分为两个时间片,一片分给CPU,一片分给DMA.优点:无需经过总线控制权的申请、建立和归还过程.传送效率高,称为“透明的DMA”.缺点:相应硬件逻辑复杂.,图7.27DMA传送方法,(b),3、总线周期挪用法前两种方法的折中:当外设有DMA请求时,由DMAC挪用一个主存周期;然后DMA立即将总线控制权交还CPU,CPU将继续刚才被暂停的工作并等待下一个DMA请求的到来.重复上述过程直至数据块传送完毕.适用于:主存工作速度高于外设较多时,可提高主存利用率(如“CPU停止法”中的例子).,图7.27DMA传送方法,(c),例:某计算机的CPU主频为500MHZ,CPI为5(即每条指令平均需要5个时钟周期).假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间.请回答下列问题,要求给出计算过程.(2)当该外设的数据传输率达到5MB/s时,改用DMA方式传输数据,假定每次DMA传送块大小为5000B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假定DMA与CPU之间没有访存冲突),解:外设数据传输率提高到5MB/s时,1秒内需产生的DMA次数:5MB/5000B=1000CPU用于DMA处理的总开销:1000500=500000=0.5M个时钟周期CPU用于外设I/O的时间占整个CPU的时间百分比:0.5M/500M=0.1%,例:假定硬盘传输数据以32位的字为单位,传输率为1MB/s,CPU的时钟频率为50MHz.请比较采用以下三种I/O方式实现该硬盘I/O的可能性.(1)程序查询方式:一个查询操作需要100个时钟周期,求CPU为I/O查询所花费的时间比率,假定必须进行足够查询以避免数据丢失.解答:(1)根据题意可知:传输率为:1MB/s=0.25M字/s需执行中断服务程序0.25M次,花费时钟周期数0.25M100=25MCPU为I/O查询所花费的时间比率为:25M/50M=1/2=50%采用程序查询方式不可取,4、假定硬盘传输数据以32位的字为单位,传输率为2MB/s,CPU的时钟频率为50MHz。请比较采用以下三种I/O方式实现该硬盘I/O的可能性。(2)程序中断方式。每次传输的开销(包括中断处理)为100个时钟周期,求CPU为传输数据所花费的时间比例。解:程序中断方式,CPU为I/o查询所花费的时间比率为:100%结论:采用程序中断方式亦不可取。,4.假定硬盘传输数据以32位的字为单位,传输率为2MB/s,CPU的时钟频率为50MHz。请比较采用以下三种I/O方式实现该硬盘I/O的可能性。(3)采用DMA方式。假定DMA的启动操作需要1000个时钟周期,DMA完成处理时中断需要500个时钟周期,如果平均传输的数据长度为4KB。

温馨提示

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

评论

0/150

提交评论