8章节DMA技术与DMA控制器.pptVIP

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8章节DMA技术与DMA控制器

第8章 DMA技术与DMA控制器 ;1.DMA(Direct Memory Access)的概念 DMA方式不用处理器干预完成M与I/O间数据传送。 DMA期间系统总线由其它主模块控制(驱动) 控制总线的主模块要提供系统的地址及控制信号。 DMA控制器与处理器配合可实现系统的DMA功能。;地址总线;DMAC的基本功能 ;DMAC的基本功能;允许 DMA;允许 DMA;允许 DMA;;§8.2 可编程DMA控制器8237A ;8237A的主要特性;8.采用5MHz时钟,传送速率可达1.6M字节/秒。 8237进行一次DMA传送需要3个时钟周期(不包括插入的等待周期SW)。时钟周期为200 ns,则一次DMA传送需要200 ns×3+200 ns=700 ns(1.6 M字节/秒)。多加一个200 ns是考虑到人为插入一个SW的缘故。另外,8237为了提高传输速率,可以在压缩定时状态下工作。在此状态下,每一个DMA总线周期仅用两个时钟周期(200 ns×2=400ns )就可实现,这大大提高了传输速率。  ;§8.2.2 8237A的工作原理 ;Intel 8237A可编程DMA控制器框图;1)8237A组成说明: 8237A有四个独立通道:通道0~通道3。每个通道可独立响应外部DMA请求,完成DMA传送。;控制寄存器, 8位;8237的引脚功能;8237的引脚功能;8237的引脚功能;8237的引脚功能;8237的引脚功能;8237的引脚功能;8237的引脚功能; DMA控制器8237 ;DMA控制器8237 ; DMA控制器8237 ;DMA控制器8237 ;DMA控制器8237 ;;8237A的工作方式;(1) DMA传送-单字节方式;(2) DMA传送-数据块方式;(3) DMA传送-请求方式;(4) DMA传送-级连方式;8237A的级联 ;DMA读——把数据由存储器传送到外设 由MEMR*有效从存储器读出数据,由IOW*有效把这一数据写入外设 DMA写——把外设输入的数据写入存储器 由IOR*有效从外设输入数据,由MEMW*有效把这一数据写入存储器。 DMA检验——空操作 8237A不进行任何检验 外设可以进行DMA校验 存储器和I/O控制线保持无效,不进行传送 ;固定使用通道0和通道1 通道0的地址寄存器存源区地址 通道1的地址寄存器存目的区地址,通道1的字节数寄存器存传送的字节数 传送由设置通道0的软件请求启动 每传送一字节需用8个时钟周期 前4个时钟周期用通道0地址寄存器的地址从源区读数据送入8237A的临时寄存器 后4个时钟周期用通道1地址寄存器的地址把临时寄存器中的数据写入目的区; 8237A的工作方式由写模式寄存器决定;方式字格式(写B号);DMA控制器8237 ; DMA控制器8237 ;DMA控制器8237 ;当8237A没有被外围设备用来进行DMA操作时,此时它处于所谓空闲状态。在这种状态下,微处理器可以向这个DMA控制器输出命令以及读/写它的内部寄存器 。;DMA控制器的工作时序;8237A的工作时序·空闲周期;8237A的工作时序·有效周期;DMA传送时序;a) S1 周期: DMAC在S1 状态发出地址允许AEN信号,通过数据总线DB0~DB7将高8位地址A8 ~A15锁存起来。多数情况下,这几位地址不需改变,故可直接进入S2周期。 b) S2周期:①修改存储单元的低8位地址,(高8位已锁存) ②向I/O发请求回答信号DACK,准备 传送数据。 c) S3周期:送高8位地址A8 ~A15到地址总线,发出MEMR或IOR读命令,从内存或I/O准备传送数据。 d) S4周期:发IOW或MEMR命令。 用普通时序时,每进行一次DMA传输,一般用3个时钟周期( S2 S3 S4 );压缩时序,用两个时钟周期(S2 S4 ),此时只更新低8位地址,不修改高8位地址;8237A的寄存器; 1. 8237A 的控制寄存器;命令字格式; DMA控制器8237 ;DMA控制器8237 ;DMA控制器8237 ; DMA通道的优先权方式;DMA控制器8237 ; 3. 请求寄存器;请求字格式; 屏蔽寄存器;单通道屏蔽字格式;主屏蔽字格式; 临时寄存器;4. 8237的字节指针 (1) 现行地址寄存器;(2) 现行字节数寄存器;读写通道寄存器;高/低触发器;3个软件命令;内部寄存器的寻址问题;8237内部寄存器的寻址;8.7 8237的编程;;编程举例 在IBMPC系统中,试利用8237通道1,将内存8000H:0H开始的16K字节数据传送至磁盘(地址增量传送)。 要求采用块传送方式,传送完不自动预置,DREQ和DACK均为高电平有效,

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档