DMA 简介

来源:互联网 发布:数据挖掘开发规范 编辑:程序博客网 时间:2024/06/06 09:38
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应答信号。系统总线控制权的转换具体包含两方面的操作。

1、产生DMAWAIT 有效信号并转送CPU 的READY 引脚,使CPU进入等待周期。

2、产生CPUAEN 无效信号(隔离CPU 与系统总线)和DMAAEN有效信号(开通DMA 控制器与系统总线的联系)

DMA 控制器接管系统总线控制权,并向外设A 发出请求应答信号DRQA,实现外设与存储器的数据交换。
原创粉丝点击