- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微型计算机原理与接口技术 第12章.ppt
第十二章 8237A DMA控制器及PC/XT机的系统板 DMA数据传送方式(已在第六章讲过) DMA控制器的功能 8237DMA控制器的两种工作状态 8237A的组成和工作原理 DMA数据传送方式 DMA方式的提出 DMA数据传送方式概述 DMA方式的提出 程序控制传送方式以CPU为中心,数据传送由CPU来控制 利用中断方式虽然可以提高效率,但也必须由CPU控制;CPU在执行中断服务程序、保护现场、恢复现场都会花费不少时间 总体评价:慢!不能满足高速数据传送的要求。 利用DMA可以实现高速数据传送! DMA数据传送方式概述 高速数据传送的需求 DMA方式特点 DMA方式传送数据路径 DMA方式的优点 DMA方式不是万能的 DMA的应用场合 高速数据传送的需求 某些外部设备的数据传送非常快! 例如:硬盘,其数据的最低传送速率达5MB/S。用程序控制方法传送数据的速率最高也只能达到530KB/S。因此完成硬盘与存储器之间的数据实时传送实际上是不可能的! 因此,在这种情况下,数据传送采用DMA方式。 DMA方式特点 DMA----Direct Memory Access 在存储器和外部设备之间,直接开辟高速的数据传送通路。 数据的传送过程不需要CPU介入,只用一个总线周期,就能完成存储器和外设之间的数据传送。 DMA方式传送数据路径 DMA方式的优点 由DMAC提供源地址和目的地址;修改地址、控制传送操作的结束和发出传送控制信号都由DMAC承担。即DMA方式是一种由硬件代替软件的方法,因而数据传送的速度显著提高了。 DMA方式大大缩短了数据传送的响应时间。 DMA方式不是万能的 在DMA方式传送数据时,CPU把总线的控制权让给DMAC,DMAC取代CPU控制总线,此时,CPU不能读取指令; 当DMAC控制总线时,CPU不能去检测和响应来自系统中其他设备的中断请求; DMA传送也存在以下两个额外开销: ①总线访问时间; ② DMAC的初始化,CPU要对DMAC写入控制字; 总之,采用DMA方式,会增加硬件投资,提高系统的成本! DMA控制器的功能 能向CPU提出DMA请求,请求信号加到CPU的HOLD引脚上 CPU响应DMA请求后,DMA控制器从CPU那获得对总线的控制权,CPU暂停工作。 提供读/写存储器或I/O设备的各种命令 确定数据传输的起始地址和数据的长度,能自动修改地址和数据长度 数据传送完毕,发出结束DMA传送的信号 8237DMA控制器的两种工作状态 从态方式:DMA控制器未取得总线控制权时,必须由CPU对DMA进行编程,以确定通道的选择、数据传送的方式和类型、内存单元起始地址、地址是递增还是递减、要传送的总字节数;CPU也可读取DMA的状态 主态方式:DMA控制器取得总线控制权后,系统完全在它的控制下,I/O设备和存储器之间或存储器与存储器之间进行直接的数据传送 8237A的组成和工作原理 8237A的内部结构 8237A的引脚功能 8237A的内部寄存器 8237A的内部结构 时序与控制逻辑 优先级编码电路 数据和地址缓冲器 命令控制逻辑 内部寄存器组 8237A引脚功能 CLK 时钟信号,输入 CS 片选信号 READY 准备好 A3~A0 DMAC的内部寄存器选择信号 DB7~DB0 数据线 AEN 地址允许信号 ADSTB 地址选通信号 IOR和IOW I/O读写信号 MEMR和MEMW 存储器读写信号 DREQ3~DREQ0 通道3~0的DMA请求信号 HRQ和HLDA 保持请求和保持响应信号 DACK3~DACK0 通道3~0的DMA响应信号 EOP 传输过程结束信号 8237A的内部寄存器 当前地址寄存器 每个通道都有一个16位的当前地址寄存器,用于存放DMA传送的存储器地址值。 每传送一个数据,地址值自动增1或减1,以指向下一个存储单元。 当前字计数寄存器 每个通道都有一个16位的当前字计数寄存器,它的初值比实际传送的字节数少1,该值是在编程状态下由CPU写入的。 在进行DMA传送时,每传送一个字节,字计数器的内容自动减1,当它的值减为0,再由0减到FFFFH,将产生终止计数信号TC。 基地址寄存器 每个通道都有一个16位的基地址寄存器,它用来存放对应通道当前地址寄存器的初值,该值是在CPU对DMA控制器进行编程时,与当前地址寄存器的值一起被写入的,即两个寄存器有相同的写入端口地址,编程时写入相同的内容。 但基地址寄存器的内容不能被CPU读出,也不能被修改。当执行自动预置操作时,使当前地址寄存器能恢复到初始值。 基字计数寄存器 每个通道都有一个16位基字计数寄存器。用于存放对应通道当前字计数器的初值,该值也是在CPU对8237A进行编程时与当前字计数器一起写入的,且两者具有相同的写入端口,写入相同的
原创力文档


文档评论(0)