DMA原来如此简单

这是获取图片的连接

前言:

为了使数据在计算机中更快的工作运行,设置了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)各个逻辑部件介绍

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

三.DMA工作过程

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

在这里插入图片描述

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

2. 数据传送

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

在这里插入图片描述
在这里插入图片描述

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

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

发布了15 篇原创文章 · 获赞 201 · 访问量 5509

猜你喜欢

转载自blog.csdn.net/weixin_46654114/article/details/105725775