DMA简单介绍

举报
神的孩子在歌唱 发表于 2021/10/24 09:17:13 2021/10/24
【摘要】 这是获取图片的连接前言:为了使数据在计算机中更快的工作运行,设置了DMA与主存==直接==连接,不用像==程序中断方式==一样等等待==CPU==做出响应后在进行。适用于==高速== I/O或辅存与 ==主存==之间的信息交换。 一.DMA的方式和特点特点:(1)进一步把CPU从==数据传送==过程当中解放出来,进一步实现外部设备,数据传输它的==独立性==。(2)可以直接通过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)测试在传送中是否发生错误。若有,先诊断处理。

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

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。