[计算机硬件及网络]73DMA控制器.ppt

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

第7章 DMA技术 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 【例7-4】利用8237A的通道0将外设54KB的数据块传送至内存5678H开始的区域(增量传送),采用块传输方式,非自动预置。外设的DREQ和DACK均高电平有效。已知8237A的端口地址为50H~5FH,试给出初始化程序段。 * 发送总清命令(复位) 写基本地址和当前地址寄存器 写基本字节和当前字节寄存器 写工作方式寄存器 写屏蔽寄存器 写命令寄存器 写请求寄存器 MOV AL, ; 通道0不被屏蔽 OUT 5AH,AL ; 使用单通道屏蔽寄存器 【例7-4】利用8237A的通道0将外设54KB的数据块传送至内存5678H开始的区域(增量传送),采用块传输方式,非自动预置。外设的DREQ和DACK均高电平有效。已知8237A的端口地址为50H~5FH,试给出初始化程序段。 * 发送总清命令(复位) 写基本地址和当前地址寄存器 写基本字节和当前字节寄存器 写工作方式寄存器 写屏蔽寄存器 写命令寄存器 写请求寄存器 MOV AL, 1010 0000H ; 命令寄存器:DACK和DREQ高 OUT 58H,AL ; 启动8237A,非M→M传输 0: DREQ 高有效 1: DREQ 低有效 0: DACK 低有效 1: DACK 高有效 D7 D6 D5 D4 D3 D2 D1 D0 0: 滞后写 1: 扩展写 0: 固定优先级 1: 循环优先级 0: 普通时序 1: 压缩时序 0: 启动8237A 1: 停止8237A 0: 通道0地 址不保持 1: 通道0地 址保持 0: 禁止M→M 1: 允许M→M 【例7-4】利用8237A的通道0将外设54KB的数据块传送至内存5678H开始的区域(增量传送),采用块传输方式,非自动预置。外设的DREQ和DACK均高电平有效。已知8237A的端口地址为50H~5FH,试给出初始化程序段。 * 发送总清命令(复位) 写基本地址和当前地址寄存器 写基本字节和当前字节寄存器 写工作方式寄存器 写屏蔽寄存器 写命令寄存器 写请求寄存器 MOV AL, ; 通道0有请求 OUT 59H,AL ; 请求寄存器 (2) 初始化编程 * OUT 5DH,AL ; 总清命令 MOV AL, 0 ; 写基字节和当前字节寄存器(低字节) OUT 51H,AL ; 54K = D800H MOV AL, 0D8H ; 写基字节和当前字节寄存器(高字节) OUT 51H,AL MOV AL, 78H ; 写基地址和当前地址寄存器(低字节) OUT 50H,AL MOV AL, 56H ; 写基地址和当前地址寄存器(高字节) OUT 50H,AL * MOV AL, 1000 0100H ; 工作方式:块传输,地址增量 OUT 5BH,AL ; 非预置,DMA写,通道0 MOV AL, ; 通道0不被屏蔽 OUT 50H,AL ; 使用单通道屏蔽寄存器 MOV AL, 1010 0000H ; 命令寄存器:DACK和DREQ高 OUT 58H,AL ; 启动8237A,非M→M传输 MOV AL, ; 通道0有请求 OUT 59H,AL ; 请求寄存器 8237A 工作周期分为2类:空闲周期和有效周期。 空闲周期 Si 复位后8237A处于空闲周期。此时,8237A处于被动状态,CPU可对其进行初始化;或虽已初始化,但尚未有DMA请求。 有效周期 8237A获得外设的DMA请求后,从空闲周期转入有效周期。此时,它作为主控芯片,控制DMA的传输过程。 有效周期由 S0 ~ S4 5个周期组成。 * 8237A 的工作时序P229 S0:等待周期 8237A收到外设的DREQ请求,并向CPU发送HRQ后,就从空闲周期 Si 转入等待周期 S0,并重复执行 S0,等

文档评论(0)

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

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

1亿VIP精品文档

相关文档