- 1、本文档共96页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
为了加快传输大批量数据的速度,常采用直接存储器存取方式(DMA,Direct Memory Access)进行数据传输。开辟在存储器和外设之间直接传输数据的通道,也能让两块存储器之间直接交换数据,而不需要CPU的干预,即不需要由CPU产生地址信息、数据信息、控制信号以及来回进行复制数据,这些信号和操作都是由DMA控制器形成和管理的,从而使传输数据的速度达到了硬件所允许的最快速度。利用DMA方式传送数据时,数据的传送过程完全由硬件控制,这种硬件电路称为DMA控制器。DMA控制器具有以下基本功能: (1) 能向CPU提出DMA请求,请求信号加到CPU的HOLD引脚上。 (2) ?CPU响应DMA请求后,DMA控制器从CPU获得对总线的控制权。在整个DMA操作期间,由DMA控制器管理系统总线并控制数据传递,CPU则暂停工作。 (3) 能提供读/写存储器或I/O设备的各种控制命令。 (4) 确定数据传输的起始地址和数据的长度,每传送一个数据,能自动修改地址,使地址增1或减1,数据长度减l。 (5) 数据传送完毕,能发出结束DMA传送的信号。 CPU在每一个非锁定时钟周期结束后,都要检测HOLD线上是否有DAM请求信号,若有,则转入DMA工作周期。 8237A是高性能的可编程DMA控制器芯片,工作在5?MHz时钟下的8237A-5其传输速率可达1.6 MB/s。每片8237A内部有4个独立的通道,每个通道寻址及字节计数都可达64 K地址和字节的计数能力,并具有4种不同的传送方式:单字节传送、数据块传送、请求传送和级联传送方式。通过级联,可以扩大通道数。对每个通道的DMA请求可以允许或禁止。4个通道的DMA请求有不同的优先级,优先级可以是固定的,也可以是循环的。 任一通道完成数据传送后,会产生过程结束信号(EOP,End Of Process),同时结束DMA传送,还可以从外界输入EOP信号,中止正在执行的DMA传送。它们可以分时地为4个外部设备实现DMA操作,以实现内存到端口、端口到内存及内存到内存之间的高速数据传送。在PC机中,利用8237A的传送速率仅仅是476 KB/s。 8237A控制器可以处于两种不同的工作状态。在DMA控制器未取得总线控制权时,必须由CPU对DMA控制器进行编程,以确定通道的选择、数据传送的方式和类型、内存单元的起始地址、地址是递增还是递减及要传送的总字节数等,CPU也可以读取DMA控制器的状态。这时,CPU处于主控状态,而DMA控制器就和一般的I/O芯片一样,是系统总线的从设备,DMA控制器的这种工作方式称为从态方式。当DMA控制器取得总线控制权后,系统就完全在它的控制下,使I/O设备和存储器之间或者存储器与存储器之间进行直接的数据传送,DMA控制器的这种工作方式称为主态方式。 为了能够实现高速率传送数据,人们提出了直接存储器存取方式(DMA)。本节将以广泛使用的DMA控制器Intel 8237A为例,分析DMA的一般原理及工作过程,最后举例说明其使用方法。 8.1.1 8237A的结构 如图8-1所示,8237A每一通道内包含4个16位的寄存器,即基地址寄存器、基字节数计数器、当前地址寄存器和当前字节数计数器。它们决定了DMA访问的存储器地址及传输数据的字节数。每个通道内还有一个6位的方式寄存器,用来在初始化编程时选定通道的工作方式。 图8-1 8237A的内部结构图 每片8237A中,4个通道还共用一个8位的命令寄存器、一个8位的状态寄存器、一个4位的屏蔽寄存器和一个4位的请求寄存器等。整个8237A的内部寄存器如表8-1所示。 表8-1 8237A的内部寄存器 8.1.2 8237A的引脚功能 8237A是一种40引脚的双列直插式器件,其引脚排列如图8-2所示,下面分别介绍各引脚的功能。 图8-2 8237A的引脚图 ·?CLK:时钟信号,输入。它用来控制8237A的内部操作和数据传送速率。8237A的时钟频率为3 MHz,8237A-5的时钟频率可达到5 MHz。8237A-5是8237A的改进型产品,其工作效率较高,但工作原理和使用方法与8237A完全一样。 · ?:片选信号,输入,低电平有效。在从态工作方式下, 有效时选中8237A,这时DMA控制器作为一个I/O设备,可以通过数据总线与CPU通信。 ·?READY:准备好,输入,高电平有效。当参与DMA传送的设备中有慢速I/O设备或存储器时,可能要求延长读/写操作周期,这时可使READY变成低电平,使8237A可在DMA周期中插入等待周期Tw。当存储器或外设准备就绪时,READY端变成高电平。 ·?A3~A0:最低4位地址线,三态
文档评论(0)