- 13
- 0
- 约6.83千字
- 约 48页
- 2017-06-08 发布于湖北
- 举报
微机原理与接口技术
第十一章、DMA 数据传送原理
及DMA 控制器8237A
乔少杰
DMA
DMA 之前外设与存储器(存储器与存储器)之间
传送数据需要通过CPU来完成。
当传送大量连续的数据时(例如磁盘数据),CPU
对数据的中转将影响数据的传送速度
不用处理器干预完成M与I/O 间数据传送。
与CPU 共享系统总线。
DMA 控制器在DMA 数据传送过程中行使对微机系
统总线的控制(产生存储器地址信号及存储器与外
设的读写控制信号)
CPU 与DMA 控制器对系统总线的共享
隔离驱动组件包括地址锁存器,数据收发器
以及总线控制器中对系统总线的输出端口
在普通情况下CPU 将行使对系统总线的掌控权(
CPUAEN 有效),此时DMA 控制器对系统总线的
输出被隔离部件所阻断(通过DMAAEN 信号无效
)。
当外设A 欲与存储器交换数据时会向DMA 控制器
发出数据请求信号DREQ (Data Request )。
DMA 控制器收到DREQ 信号后再向系统总线仲裁
器发出系统总线请求信号HRQ 。
系统总线仲裁器在CPU 的LOCK 信号无效情况下(LOCK 信
号无效的条件是:CPU 没有执行带LOCK 前缀的指令;没有
INTA 有效信号;S1,S0 = 11 )将响应HRQ 信号,并进行系
统总线控制权的转换,然后向DMA 控制器回送HLDA应答
信号。系统总线控制权的转换具体包含两方面的操作。
产生DMAWAIT 有效信号并转送CPU 的READY 引脚,使CPU
进入等待周期。
产生CPUAEN 无效信号(隔离CPU 与系统总线)和DMAAEN
有效信号(开通DMA 控制器与系统总线的联系)。
DMA 控制器接管系统总线控制权,并向外设A 发出请求应
答信号DRQA ,实现外设与存储器的数据交换。
DMA 控制器的特点
既是一个具有系统总线控制能力的主控部件,又是
一个工作方式必须由CPU 进行设置的受控部件。
受控部件:需要由CPU 对它进行工作方式的设置
,以确定通道的选择、数据传送模式及类型、内存
区域的首地址、地址是递增还是递减、传送的总字
节数等。
主控部件:掌握总线,可以产生寻址存储器的地址
信号以及进行数据读/写的控制信号。
当DMA 控制器从数据源(外设或存储器)将数据
读到数据线后,会立刻在同一个DMA 周期内把数
据直接送到目标地址单元内,而不需要像CPU 那
样先接收再转发。
8237A 的内部编程结构及引脚功能
当8237 没有受理DMA 任务时处于受控状态,其用
于控制DMA 操作的输出引脚处于高阻态,同时总
线仲裁机构输出的DMAAEN 无效信号,使得DMA
控制器输出端与系统总线处于隔离态
当8237 收到DMA 请求时,在相关条件满足情况下
DMA 控制器将受理请求并向总线仲裁逻辑发HRQ
信号,总线仲裁逻辑在LOCK 无效的条件下先发出
DMAWAIT 信号使CPU 处于等待态同时用PUAEN
信号隔离CPU 与系统总线的联系,然后向DMA 控
制器回送HLDA信号并输出DMAAEN 信号开通
DMA 控制器与系统总线的联系
主控状态下DMA 控制器开始的一项主要工作
是按照初始地址寄存器的设定值产生A0~A15
的存储器起始地址。
由DB0~DB7 输出A8~A15 高8 位地址并在ADSTB 信
号作用下锁存入外部的8D锁存器74LS373 内
由A0~A7 输出低8 位地址
74LS670 内含四个4 位的锁存器,其作用就是在CPU
的设置下为8237的四个通道提供各自的A16~A19 地
址信号。
1M存储空间由此可以划分为16 个连续的64K 存储块
,每个64K 的存储块称为一个页,A1
原创力文档

文档评论(0)