计算机组成原理课件第8章输入输出系统幻灯片.ppt

计算机组成原理课件第8章输入输出系统幻灯片.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三种DMA传送方式 1)停止CPU访问内存。 当外围设备要求传送一批数据时,由DMA控制器发一个总线请求信号给CPU,要求CPU放弃地址线、数据线和控制线的使用权。DMA控制器获得总线控制权后,开始进行数据传送。在一批数据传送完后,DMA控制器通知CPU可以使用内存,并把总线控制权还给CPU。 优点:控制简单。 缺点:I/O设备准备数据慢,主存很多时间处于等待,使用效率不高。 内存工作时间 CPU控制 内存 DMA控制 内存 CPU控制 内存 2)周期挪用 当I/O设备没有DMA请求时,CPU按程序要求访问内存,一旦I/O设备有DMA请求,则DMA控制器挪用一个或几个内存周期。 该方式优点是内存的使用效率比停止CPU访存效率高,因为: a.若I/O设备准备好一个数据后,CPU不使用内存,则DMA控制器访存与CPU不冲突,不存在效率问题。 b.若I/O设备准备好一个数据后,CPU正在访存,则DMA控制器等CPU访存周期结束后占用一个或几个存取周期,主存不需要长时间等待I/O设备准备数据,所以效率提高了。 内存工作时间 CPU控制 内存 DMA控制 内存 该方式下缺点是DMA控制器的申请总线和归还总线的次数比较频繁 3)DMA与CPU交替访内 将CPU周期一分为二,一半由DMA控制器使用,一半由CPU使用。时间上不会发生冲突,这种方式只适用于CPU的指令周期比主存存取周期长的情况下。 例如一个CPU的指令周期是1.2us,第一个机器周期0.6us取指令(访存),第一个机器周期0.6us执行指令(不访存),主存的存取时间小于0.6us,把一个指令周期分为C1和C2两个分周期,C1供CPU访存,C2供DMA控制器访存。 该方式不需要总线使用权的申请建立和归还过程,所以可以使DMA和CPU同时发挥最高的效率。 内存工作时间 CPU控制 内存 DMA控制 内存 DMA控制器的功能 外设准备进行DMA操作时,DMA控制器必须能够接收外设发来的DMA请求信号,并向CPU发送总线请求信号。 CPU接收到总线请求信号后,如果同意放弃总线,向DMA控制器发送总线请求应答信号。 DMA控制器得到总线控制权后,能向地址总线发地址信号指示出写入数据的内存单元或者读出数据的内存单元,因此DMA控制器中必须有地址寄存器存放读写数据的起始内存单元的地址。而且每传送一个字节,会自动对地址寄存器进行修改,指向下一个要传送的字节。 DMA控制器应该能判断DMA过程是否结束,即一次传送的字节数,因此DMA控制器必须有字节计数器,用来存放要传递的字节数,并且每传递一个字节字节计数器自动减1。 DMA过程结束时,DMA控制器能向CPU发DMA中断结束信号,交还总线控制权。 DMA控制器的一般结构 DMA接口 主 存 CPU DMA 控 制 逻 辑 中 断 逻 辑 设备 HLDA 地址寄存器 字节计数器 HOLD 中断请求 数据线 地址线 +1 -1 溢出信号 DREQ DACK 数据缓冲寄存器 DMA数据传送的过程 如果外设向内存传送一个数据块(输入过程),使用DMA方式时,系统按照下面的过程动作: 1)外设向DMA发送一个DMA请求 2)DMA控制器发总线请求,得到CPU的允许信号取得总线控制权 3)DMA寄存器中的地址寄存器的内容送地址总线 4)DMA控制器向外设发送确认DMA传输信号,用来通知外设将数据送到数据总线。 5)数据总线上的数据送到地址总线所指示的内存单元 6)地址寄存器的值加1,指示下一个数据存放的内存单元 7)字节计数器的值减1 8)如字节计数器的值不为0,则回到第3步,否则DMA过程结束 允许传送? 地址寄存器-地址总线 数据-数据总线-主存 地址寄存器 加 1 字节计数器 减 1 数据块 传送结束? 向CPU申请中断请求 DMA请求 否 否 是 是 DMA控制器 预处理: 主存起始地址 传送数据个数 启动设备 DMA DMA 继续执行主程序 后处理: 中断服务程序做DMA结束处理,如校验等工作 继续执行主程序 CPU DMA方式和中断控制方式的区别 (1)中断方式通过程序传送数据,DMA方式靠硬件实现。 (2)CPU对中断的响应是在一条指令执行完后,而DMA可以在指令周期中的任一存取周期结束时响应。 (3)中断方式能处理异常事件,DMA方式则不能。 (4)中断方式要中断CPU执行的现行程序,需保护现场,DMA只是挪用了一个或几个存储周期,不需要保护CPU现场。 (5)DMA优先级比中断优先级高。 选择型和多路型DMA控制器 选择型DMA控制器 -与前面的简单DMA控制器基本相同。除了前面讲到的基本逻辑

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档