DMA技术教学课件PPT

上传人:豆浆 文档编号:51390216 上传时间:2018-08-13 格式:PPT 页数:39 大小:388KB
返回 下载 相关 举报
DMA技术教学课件PPT_第1页
第1页 / 共39页
DMA技术教学课件PPT_第2页
第2页 / 共39页
DMA技术教学课件PPT_第3页
第3页 / 共39页
DMA技术教学课件PPT_第4页
第4页 / 共39页
DMA技术教学课件PPT_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《DMA技术教学课件PPT》由会员分享,可在线阅读,更多相关《DMA技术教学课件PPT(39页珍藏版)》请在金锄头文库上搜索。

1、第4章 DMA技术 主要内容:1、DMA传送的特点2、DMA传送的过程3、DMA传送的方式4、DMA控制器5、DMA系统6、DMA传送的应用重点内容: DMA方式的有关概念及应用第4章 DMA技术 一、DMA方式(direct memory access)直接存储器存取DMA是指计算机的外设与存储器之间或存储器与存储器间直接进行数据交换的一种方式。在这种方式下,DMA控制器拥有总线控制权,操纵数据在存储器与外设间直接传送,不需要CPU执行指令。、DMA传送DMA读传送DMA写传送存储单元传送I/O RAMRAM I/ORAMRAM第4章 DMA技术 2、DMA传送过程(1)I/O端口向DMA发

2、出DMA请求DREQ; (2)DMAC向CPU发出总线请求HRQ,请求CPU让出总线控制权; (3)CPU在每个总线周期结束时检测HRQ,响应DMAC的HRQ请求,CPU与总线间成高阻态,向DMAC发回总线响应信号HLDA; (4)DMAC接管总线控制权,DMAC向I/O设备发出DMA响应信号; (5)DMAC把要进行DMA传送涉及RAM地址送地址线,则DMAC向端口或RAM发R/W命令来完成数据传送。 (6)当传送结束,DMAC将总线请求信号变得无效。CPUDMACI/OAB DB CBDMA请求DMA响应总线请求总线响应第4章 DMA技术 3、DMA传送方式与中断传送方式的区别(1)传送速

3、度:DMA一个总线周期传送一个字节;中断程序 (2)响应速度:DAM总线周期结束;指令结束(3)请求方式:外部和内部中断;DMA软件和硬件发出4、DMA占用总线方式(1)周期挪用:挪用CPU不访问存储器的机器周期进行DMA操作。DMA操作不影响CPU的工作,电路复杂。 (2)周期扩展:采用专门的时钟发生电路加宽 CPU 的时钟周期,利用 CPU 每个时钟周期的剩余时间进行DAM操作。降低CPU速度。 (3)CPU停机:在DMA操作期间,CPU 交出总线的控制权,由DMA控制器接管总完成数据传送。CPU不能使用总线,只能进行内部操作。第4章 DMA技术 二、8237A的引脚功能和内部结构1、82

4、37A的基本功能(3)8237具有4种传送方式:单字节传送方式,数据块传送方式,请求传送方式和级连传送方式。(1)每片8237内部有4个独立的通道,每个通道可分别进行数据传送,一次传送的最大字节数为64KB,能实现存储器与外设或存储器与存储器两个区域的数据传送。(2)每个通道的DMA请求可以分别被允许或禁止,具有不同的优先级, 并且每个通道的优先级可以时固定的,也可以是循环的。IORMEMRIOW1 23 MEMW45 67 8 910 11 12131516 17 1819NC READYHLDAADSTBAENHRQ CSCLK RESET DACK2DACK3 DREQ3 DREQ2 D

5、REQ1DREQ0GND201440 3938 3736 3534 33 3231 30 29282625 24 2322 2127A7A3A2 A1A0VCC D0A6 A5 A4 EOPD1 D2 D3 D4DACK0 DACK1 D5 D6 D7IOW:I/O写信号当CPU控制总线时,输入信号,CPU向8237A 内部寄存器写命令字完成初始化。当 8237A控制总线时,输出信号,与 MEMR 配合, 完成数据由存储器到 I/O 端口的传送。IOR:I/O读信号当CPU控制总线时,输入信号,读 8237A 内部寄存器。当 8237A 控制总线时,输出信号, 与 MEMW 配合,完成数据由

6、I/O 端口到存储器的传送。第4章 DMA技术 2、8237A的引脚及功能READY:准备好信号表示存储器或外设已经准备好,用于DMA 操作时与慢速存储器或外部设备同步。MEMR:存储器读信号此信号有效,被选中的存储单元的内容将被送往数据总线。 MEMW:存储器写信号此信号有效,数据总线上的内容写入选中的存储单元。HLDA:总线响应信号是CPU对HRQ信号的响应,通知 8237接管总线的控制权。ADSTB:地址选通输出信号在DMA传送期间,此信号用于将D7D0输出的当前地址寄存器中高 8 位地址送到外部地址锁存器,与 8237 芯片直接输出的低 8 位地址A7A0构成内存单元地址的偏移量。AE

7、N:地址允许输出信号允许8237将高8位地址输出至地址总线,同时使与 CPU 相连的地址锁存器无效, 禁止CPU 使用地址总线,AEN 为低电平时, 8237 被禁止,CPU占用总线。HRQ:总线请求输出信号当 8237的任一个未屏蔽通道接收到 DREQ请求时,8237向CPU输出HRQ信号,请求CPU 出让总线的控制权。CLK:时钟脉冲输入信号用以控制8237内部操作及数据传输率。DREQ0DREQ3:DMA请求信号通道 30分别对应 DREQ3DREQ0, 当外设请求DMA服务时,由I/O接口向 8237 发出DREQ 请求信号, 直到收到DMA 响应信号DACK后, 信号才撤消,在优先级

8、固定方式下,DREQ0最高。CS:片选输入信号由I/O端口地址译码电路经译码后产生, 该信号为低电平时, 8237A 控制器可以工作。RESET:复位输入信号复位后8237处于空闲状态,清零内部各寄存器,并置位屏蔽触发器。DACK0DACK3 :DMA响应信号是8237对DREQ信号的响应, 当 8237 接收到DMA 响应信号后, 开始DMA传送。D0D7:8位数据总线CPU读取状态寄存器、现行地址寄存器、字节数计数器的内容并可向8237写入控制命令进行初化编程;在DMA传送期间输出当前地址寄存器中的地址与A7A0组成16位地址。A0A3 :地址线为输入信号时,用于8237内部寄存器寻址使用

9、。为输出信号时, 与 A7A4 构成内存地址单元的低8位地址。 EOP:DMA过程结束信号在DMA传送期间, 当任一通道当前字节数寄存器的值为0时,8237从 EOP 输出一低电平,表示DMA转输结束。外部送入一个有效的 EOP 信号,强制结束DMA传送过程。第4章 DMA技术 3、8237A的内部结构基地址寄存器:用来保存DMA传送时本通道所用到的数据段地址初值,由CPU对8237进行初始化编程时写入的。当前地址寄存器:用来保存DMA传送过程中现行地址值,初值时该寄存器的值是与基地址寄存器相同,每次DMA传送后其内容自动增1或减1。基字节寄存器:用来保存整个DMA操作过程中要传送数据的字节数

10、,这个初值由CPU在编程时写入的。当前字节寄存器:保存当前要传送的字节数,每次DMA传送后内容减1,在自动预置状态下,EOP有效可自动恢复起始状态。方式寄存器:用在CPU对8237初始化编程时设定8237的工作模式、地址增减、是否自动预置、传输类型及通道选择。暂存器:在DMA进行RAM传送方式时,它暂存中间数据。控制寄存器请求寄存器状态寄存器屏蔽寄存器HRQ HLDACLKAENADSTBDB0DB7 A0A3 A4A7IOR MEMR IOW MEMWREADYDREQ0 DACK0暂存器通道1通道2通道3DREQ1 DACK1 DREQ2 DACK2 DREQ3 DACK3模式寄存器基地址

11、寄存器基本字节寄存器当前地址寄存器当前字节寄存器请求触发器 屏蔽触发器CS EOPRESET第4章 DMA技术 4、8237A的内部逻辑框图定时和控制逻辑减1电路暂时字计数据 (16位)加1/减1电路暂时地址寄存器 (16位)读缓冲器基地址 基字计数 寄存器 寄存器(16位) (16位)读/写缓冲器当前地址 当前字计寄存器 数寄存器(16位) (16位)命令寄存器(8位)缓冲器命令 控制I/O 缓冲器状态 寄存器 (8位)读/写工作方式 寄存器 (8位)写缓冲器读缓冲器优先权控制逻辑缓冲器屏蔽寄存器(1位)请求寄存器(1位)暂存 寄存器 (8位)16位总路线16位总路线A8A15内部数据 总路

12、A0A7A0A3A4A7DB0DB7D0D7CS RESETCLK EOP IOR IOW MEMR MEMW AEN ADSTBREADYHRQHLDADREQ0 DREQ3DACK0 DACK3第4章 DMA技术 三、8237A的初始化编程8237工作前由CPU对其进行初始化编程,设定内部寄存器的值。一是设定通道计数初始值(基地址与当前地址寄存器、 基字节数与当前字节计数寄存器), 二是设置通道功能(设置 工作模式寄存器、设置屏蔽寄存器、设置命令寄存器)、8237A的工作模式(1)单字节传送模式每次只传送1个字节。8237每传送一个字节的数据 后, 当前字节计数器减 1 , 当前地址寄存器

13、也要修改 (增1或减1),HRQ无效,释放系统总线, 由CPU接 管总线。若当前字节计数器为 0,则结束 DMA 传送。 否则 8237 会对 DREQ 信号进行检测,当DREQ有效, 立即向CPU发出总线总线请求信号,获总线控制权后, 再传送下一个字节。第4章 DMA技术 (2)块传送模式8237获得总线控制权后,可以完成一个数据块的传输,直到 当前字节计数器减为 0 , 或由外部接口输入有效的 EOP 信号, 8237才释放总线,将总线控制权交还CPU。 (3)请求传送模式可连续传输多个字节的数据。当出现当前字节计数器减为0、 外部EOP有效、 外界的DREQ变为无效时, 8237结束传送

14、释放总 线,由 CPU接管总线。若此时当前字节计数器不为 0, 8237 相应 通道将保存当前地址和字节寄存器的中间值, 当 8237 检测到 DREQ后,传送可继续进行。 (4)级连传送模式通过级连方式扩展数据传输通道。构成主从式DMA系统,主 片的DREQ和DACK分别接从片的HRQ和HLDA, 主片的HRQ和 HLDA连接系统总线。5片8237构成的二级主从式DMA系统中, DMA数据通道可扩展到16个。第4章 DMA技术 (1)模式(方式)寄存器(0BH)D7D6D5D4D3D2D1D00:禁止自动重装 1:允许自动重装、8237A的工作模式通道传送方式选择: 00:请求传送 01:单

15、字节传送 10:数据块传送 11:级联方式地址增减方式选择: 0:地址加1 1:地址减1通道选择: 0011分别选择 通道0 通道3传送类型的选择: 00:校验传送 01:写传送 10:读传送 11:无意义第4章 DMA技术 例:PC机软盘读/写操作选择DMA通道 2,单字节传送,地址加1; 不用自动预置,分别写出读盘和写盘和校验操作的模式命令字。写操作:01000110B=46H;读盘(DMA写)读操作:01001010B=4AH;写盘(DMA读)校验操作:01000010B=42H;校验盘(DMA校验)因此,若采用上述方式从软盘上读出的数据存放在内存区,则方式字为46H,若从内存取出数据写

16、到软盘上,则方式字为4AH。0:DREQ高 1:DREQ低第4章 DMA技术 0:禁止RAM 1:允许RAM 0:固定优先级 1:循环优先级(2)控制寄存器(08H)D7D6D5D4D3D2D1D00:DACK低 1:DACK高 RAM 0:源地址不保持 1:源地址保持不变0:正常时序 1:压缩时序0:不扩展写信号 1:扩展写信号0:启动8237工作 1:停止8237工作第4章 DMA技术 例:PC机8237按如下要求工作,禁止存储器到存储器传送,正常时序, 滞后写入, 固定优先级,允许8237 工作, DREQ 和 DACK 均为高电平, 写出8237的控制字。命令字为:00000000B=00H将命令字写入命令口的程序段为:MOV AL,00HOUT 08H,AL第4章 DMA技术 (3)状态寄存器(08H)通道3通道2通道1通道0通道3通道2通道1通道00:无DMA请求 1:有DMA

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号