DMA方式和通道方式.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DMA方式和通道方式

6.6 直接存储器存取(DMA) 一、基本概念 DMA (Direct Memory Access) 直接存储器存取 在主存储器和外设之间直接进行数据交换,不需要CPU的程序干预。通过专门的硬件装置——DMA控制器(DMAC)来进行控制,并借用系统总线作为信息的传送通道。 除事先设置DMAC需要CPU介入外,一旦启动DMA传送,则完全由硬件自动操作完成,整个传送过程不再需要CPU的干预。 在微机系统中,DMAC有双重身份: 在CPU掌管总线时,它是总线上的被控设备(I/O设备),CPU可以对它进行I/O读和I/O写; 在DMAC接管总线时,它是总线的主控设备,通过系统总线来控制存储器和外设直接进行数据交换。 一、基本概念 DMA的适用场合 高速外设(当外设的速度接近或超过一条指令的处理速度) 用于磁盘、磁带、光盘等外存储设备的接口 用于网络通信接口 用于动态存储器的刷新 用于高速数据采集接口 二、 DMA的传送方式 周期挪用方式 当DMA要求访问主存时,如果CPU也要访问主存,则CPU暂时停顿一个存储周期。一个数据结束后,CPU立即继续运行。也称单字传送方式。 适用:主存储器工作速度高出I/O设备较多时。可以提高主存的时间利用率,对CPU程序执行的影响较小。 二、 DMA的传送方式 CPU暂停访问方式 当DMA传送数据时,CPU停止工作,把主存使用权交给DMA控制逻辑。在这批数据传送结束后,DMA再交还主存使用权。也称成组传送方式。 适用: I/O设备的数据传输率接近主存储器的工作速度。 二、 DMA的传送方式 3. DMA与CPU交替访存方式 “透明的DMA方式” 适用:外设的工作周期接近主存的存取周期 三、DMA接口组成 DMA接口 负责申请、控制总线,控制DMA传送 DMA接口的基本模型(图6.39) 三、DMA接口组成 四、DMA过程 包括:1 初始化、2 DMA传送、3 结束处理。 初始化,包括: 中断初始化(设置中断向量,允许中断等) 对DMA接口设置参数: 主存缓冲区首地址 传送的数据块长度 外设地址 启动命令及传送方向 四、DMA过程 DMA传送(以输入为例) DMA请求 当输入数据已准备好,接口缓冲寄存器已满时,接口通过DMA请求逻辑向CPU发DMA请求; DMA响应 CPU接到DMA请求,在当前内存周期结束后,将总线输出端置成高阻态,发出DMA应答信号,将总线控制权交给DMA控制器 DMA访问内存 接口接到应答信号后,接管总线使用权,将接口中主存地址送地址总线,将存储器读写信号送控制总线,完成一次数据传送。 每次DMA传送后,接口中主存地址自增(或自减), 数据块长度减1 完成一次传送后,清除DMA请求信号,准备好下一批时,再发DMA请求信号。重复直至传送结束。 四、DMA过程 结束处理 数据块传送完毕后,发中断请求信号,CPU进行中断处理。(重新初始化或中止DMA操作) 五、DMA方式特点 (与中断方式对比) DMA方式的并行性比中断方式更高; 仅初始化和结束处理需CPU干预 DMA传送无需程序切换、程序控制; DMA方式主要是靠硬件来实现数据传送; CPU响应DMA请求在CPU周期结束后,而响应中断是在当前指令周期结束后; DMA方式中存在CPU与DMA接口之间内存访问权和总线控制权的频繁转换; DMA只能完成数据传送,不能像中断那样实现各种处理功能。 6.7 I/O通道控制方式 程序查询方式、程序中断、DMA有共同特点: 1、都需要CPU的介入 程序查询:完全介入; 中断:需要CPU介入 ,但CPU可做其他事务; DMA:在传输开始和结束时介入。 2、都需要接口硬件支持 程序查询:最简单的硬件; 中断:需增加中断控制器; DMA:需增加DMA控制器但保留中断控制器。 因此,这三种方式适用于外设不太多的小型机、微型机。对于I/O数量多,输入输出频繁的系统,占用CPU时间太多,接口硬件太复杂。 6.7.1 基本概念 通道,能执行有限通道指令的I/O控制器,代替CPU管理控制外设。 与DMA相比 都能在I/O设备和主存之间建立数据直传通路; DMA只能实现固定的数据传送控制,而通道有自己的指令和程序,具有更强的独立处理数据输入和输出的能力。 DMA只能控制一台或少数几台同类设备,而一个通道可以同时控制多台同类或不同类设备。 通道是在一定的硬件基础上利用软件手段实现对I/O的控制和传送。 典型具有通道的计算机结构 6.7.2 通道的功能 接受CPU的I/O指令,并按指令要求选择指定外设。 从主存中取出相应通道程序执行,向设备控制器发送各种命令。 控制外设和主存间的数据交换,根据需要进行数据字的拆装,提供数据缓存空间以及指示数据存入主存的地址和数

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档