第4节 直接存储器存取讲述.ppt

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.4 直接存储器存取(Direct Memory Access) * * 图 DMA方式传送路径 程序控制的数据输入 / 输出 DMA 控制的数据输入 / 输出 CPU 总 线 外设 存储器 1.当系统中无DMA时,数据沿实线进行传送。 2.当系统中有DMA时,在DMA控制下,数据沿虚线进行传送。 DMA传送方式是外设与内存之间,在DMA控制器的控制下,直接进行数据交换而不通过CPU。这样数据传送的速度上限将主要取决于存储器/外设的存取速度。DMA方式传送时,CPU让出总线(即CPU连到总线上的这些线处于高阻抗状态),系统总线由DMA控制器接管。 6.4.1 DMA的工作过程 当外设把数据准备好后,可进行DMA传送时,向DMA控制器发出DMA请求信号DREQ. DMA控制器收到请求后,向CPU发HOLD信号,请求使用总线。 CPU在当前总线周期结束后,响应DMA请求,发出HLDA信号,表示CPU已让出总线。CPU与系统总线之间呈高阻抗状态。 DMA控制器收到HLDA信号就接管总线, 6.4.1 DMA的工作过程 在全部数据传送完后,DMA控制器撤除总线请求信号HOLD(变低),在下一个总线周期的上升沿,CPU就使HLDA变低,重新获得对总线的控制。 DMA传送方式还可以在存储器的两个区域或两种高速的外设之间进行。 DMA控制器向地址总线发存储器地址信号,向外设端口发DMA响应信号和读控制信号,因而将外设端口中的数据送上数据总线,并发出存储器写命令,这样就把外设输入的数据直接写入到存储器中。 适用场合: 硬盘和软盘I/O 快速通信通道I/O 多处理机和多程序数据块传送 扫描操作 快速数据采集 地址寄存器 数据块长度计数器 控制寄存器和状态寄存器 总线控制逻辑 附加功能的硬件支持 DMAC主要硬件 被动态:受控器 主动态:主控器 DMAC在系统中地位 8237所处的两种不同的工作状态是,在8237未取得总线控制权以前,CPU处于主控状态,而8237处于从属状态。 一旦8237取得总线控制权后,8237便上升为主控状态,完全在8237控制下完成存储器和外设之间的数据传送功能,CPU不再参与数据传送的操作。 6.4.2 DMA控制器8237(P239自学!) 8237的工作方式 8237的每个通道都有自己的模式寄存器,通过对模式寄存器写入不同的内容,各通道可以独立地选择不同的工作模式和操作类型。 (1) 单字节传输方式 每次DMA操作只传送一个字节。 即DMAC发出一次占用总线请求,获得总线控制权后,只传送一个字节的数据,然后就自动把总线控制权交还给CPU,让CPU至少占用一个总线周期。 (2) 数据块传输方式 (3) 请求传输方式 (4) 级联传输方式 DMAC发出占用总线请求,获得总线控制权后,就连续地传送数据,直到整块数据全部传送完毕。然后就自动把总线控制权交还给CPU,退出DMA操作方式。 当DMAC采样到有效的通道请求信号DREQ时,向CPU发出占用总线的请求信号HRQ,获得总线控制权后,就开始传送数据,但在DREQ变为无效后,DMAC立即停止传送数据,把总线控制权交还给CPU,仅当DREQ再次有效时,DMAC再次获得总线控制权后,继续进行数据传送。直到数据全部传送完毕。然后就自动把总线控制权交还给CPU,退出DMA操作方式。 利用这种方式可以把多个8237连接在一起,以便扩充系统的DMA通道数。 *

文档评论(0)

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

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

1亿VIP精品文档

相关文档