- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 6. 3 DMA方式 6.3.1 概述 直接存储器访问(Direct Memory Access)不需要CPU和软件介入,CPU只负责启动而不参与传送过程,整个传送过程由DMA控制器(DMAC)来控制,完全由硬件实现,数据传送速度快,主要用于需要高速大批量数据传送的场合 正常方式下: CPU控制总线,包括数据总线(DB)、地址总线(AB)和控制总线(CB) DMA方式下: CPU让出总线的控制权(CPU相应引脚输出置为高阻),而由DMA控制器来接管这些总线,负责DMA传送的全过程控制。 DMA的工作流程 1.DMA操作的基本方式 把CPU不访问存储器的时间周期“挪用”来实现DMA操作 DMAC不用通知CPU就可直接使用总线 关键是如何识别合适的可挪用的周期 产生特定信号 特定状态CPU不访问存储器 外加电路识别——不减慢CPU,复杂,不连续不规则 方法 (1)周期挪用方式 (2)周期扩展方式 专门的时钟发生器 / 驱动器电路。 CPU的处理速度减慢,而且CPU时钟周期的加宽是有限的,一次只能传送一个字节 供给CPU的时钟周期加宽,宽度相当于若干个正常的时钟周期,而供给存储器和DMAC的时钟周期不变 加宽时钟周期内CPU的操作不往下进行,用来DMA操作 (3)CPU停机方式√ DMAC向CPU发出DMA请求信号HOLD CPU在现行的总线周期结束后让出总线控制权,并向DMAC发回DMA响应信号HLDA DMAC接管总线进行数据传送 传送结束后,CPU恢复对总线的控制,继续执行被中断的程序 可传送单字节,也可传送数据块 CPU利用率降低 会影响CPU对中断等的响应 2.DMA的传送方式 每次请求只传送一个字节数据,占用一个总线周期 (1)单字节传送方式 一次请求可传送一组数据信息,所字节数由DMAC初始化时编程决定 (2)成组传送方式 每传送一个字节后,DMAC要检测(查询)外设原来发出的DMA请求信号是否继续有效,以决定是否继续传送 (3)请求传送方式——查询传送方式 3.DMA系统的组成及功能 ① 接收外设发出的DMA请求信号DREQ,并能向CPU发出总线请求信号HOLD 组成: 功能: DMAC ② 当收到CPU发出DMA响应信号HLDA后,能向外设发回DMA服务认可信号DACK,接管系统总线,进入DMA方式 ③ 输出地址信息,对存储器寻址并修改地址指针; ④ 向存储器和外设发出相应的读/写控制信号; ⑤ 控制传送的字节数,判断DMA传送是否结束; ⑥ DMA传送结束后,结束DMA请求信号,释放总线,使CPU恢复对总线的控制权 DMA方式数据传送示意图 4.PC微机的DMA控制器 系统板上采用一片可编程DMAC8237A,有4个独立可编程DMA通道,其端口地址为00H~0FH,分别控制DRAM的刷新、预留用户、软磁盘接口和硬磁盘接口的DMA传送 PC/XT微机 系统板上采用两片8237A级连,级连后共有7个独立的可编程DMA通道 PC/AT微机 不再采用专门的DMA芯片,而是采用多功能外围芯片中的DMAC实现DMA传送,有8个独立的可编程DMA通道,允许使用全部32位总线宽度,系统的I/O操作速度大大提高 80386及以上的微机 6.3.2 DMA控制器8237A 8237A的基本功能 ① 有4个独立的可编程DMA通道(可级连扩展通道数) ② 每个通道请求的优先权可编程,也可被屏蔽 ③ 有单字节传送方式、成组传送方式、请求传送方式和级连方式 ④ 可在存储器与外设间,也可以在存储器与存储器之间传送数据,每次传送的最大长度可达64KB ⑤ 可由外部输入结束处理信号来结束DMA传送或重新初始化 8237A的内部结构 8237A的外部引脚 DIP40 主机接口 外设接口 其它 电源线 VCC、GND CLK、RESET NC 请求线DREQ0~DREQ3 响应线DACK0~DACK3 过程结束信号EOP 地址线A0~A3、A4~A7 数据线DB0~DB7复用 控制线 CS、MEMR、MEMW、IOR、IOW、AEN、READY、HLDA、HRQ、ADSTB 8237A的数据传送方式 (1)单字节传送方式 (2)成组传送方式 (3)请求传送方式 (4)级连方式 ——主从式 从芯片的HRQ和HLDA端分别连到主芯片相应通道的DREQ和DACK端上 主芯片的HRQ和HLDA连到系统总线上 主芯片的方式寄存器设置为级连方式,而从芯片可设置为其它3种方式之一。 当主芯片某个级连通道被响应后,由相应的从芯片来控制外设与存储器数据的传送。而主芯片仅对从芯片的DREQ请求作出DACK响应,故除了HRQ外,主芯片的其它输出均被禁止 823
文档评论(0)