首页 > 编程知识 正文

DMA的使用,dma是什么

时间:2023-05-04 20:02:52 阅读:207723 作者:4416

这是获取图片的连接

前言:

为了使数据在计算机中更快的工作运行,设置了DMA与主存直接连接,不用像程序中断方式一样等等待CPU做出响应后在进行。适用于高速 I/O或辅存与 主存之间的信息交换。

一.DMA的方式和特点

特点
(1)进一步把CPU从数据传送过程当中解放出来,进一步实现外部设备,数据传输它的独立性。
(2)可以直接通过DMA实现外部设备和主存之间的数据传输

2.DMA与主存交换数据的三种方法

它们通过字传送得

(1)停止CPU访问主存
(2)周期挪用(周期窃取):有三种情况

CPU此时不访问主存CPU正在访问主存CPU与DMA同时请求访存,因为DMA控制权高,所以把总线控制权交给DMA

(3)DMA与CPU交替访问

二.DMA接口的功能和组成

1.功能

(1)向CPU申请DMA 传送
(2)工作时处理总线控制权的转交
(3)管理系统总线,控制数据传输
(4)确定数据传送的起始地址和数据长度,修正数据传送过程中的数据地址和长度。
(5)给出DMA操作完成的信号。

2.组成

(1)原理图

(2)各个逻辑部件介绍

主存地址寄存器(AR):用于存放主存需要交换数据的地址。没交换一次,内容加1。字数计数器(WC):记录传送数据总字数。每传送一个字节,字计数器加1,。数据缓冲寄存器(BR):暂存每次传送的数据。与设备之间采用字节或位传送。DMA控制逻辑:管理DMA的传输过程。
DREQ(发出请求)
DACK(一个周期)
HRQ(请求信号):申请总线使用权
HLDA(响应信号):作用对象主存地址寄存器设备地址寄存器(DAR) 三.DMA工作过程

DMA的数据传送过程:预处理,数据传送,后处理

1. 预处理: DMA开始工作前,CPU给它的配置
(1)主存地址:DMA的AR
(2)设备地址:DMA的DAR
(3)传送字数: DMA的WC

2. 数据传送

DMA方式以数据块为单位传送
以下图片是DMA的周期挪用,与组成原理图一起观看效果更佳


3.后处理:由中断程序完成
(1)效验送入主存的数据是否正确
(2)继续传送数据块,初始化DMA接口。若不送,停止外设
(3)测试在传送中是否发生错误。若有,先诊断处理。

就讲到这里啦,希望对你有帮助,欢迎留言点赞

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。