智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3757|回复: 10
打印 上一主题 下一主题

DMA原理

[复制链接]

68

主题

718

帖子

0

精华

跨届大侠

火云邪神

Rank: 10Rank: 10Rank: 10

积分
6644

论坛元老奖章

QQ
威望
3359
贡献
2001
兑换币
765
注册时间
2011-8-24
在线时间
642 小时
跳转到指定楼层
1#
发表于 2012-2-7 19:58:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DMA - Direct Memory Access 直接存储器访问
DMA原理
DMA 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段
DFM
的资料复制到 暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。   DMA 传输重要地将一个内存区从一个装置复制到另外一个。当 CPU初始化这个传输动作,传输动作本身是由 DMA 控制器 来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存去。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统 算法和网络是很重要的。  
  在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。 一个完整的DMA传输过程必须经过下面的4个步骤。
1.DMA请求
  CPU对DMA控制器初始化,并向I/O接口发出操作命令,I/O接口提出DMA请求。
2.DMA响应
  DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。
3.DMA传输
  DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。
  在DMA控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送过中不需要中央处理器的参与。开始时需提供要传送的数据的起始位置和数据长度。
4.DMA结束
  当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。当I/O接口收到结束信号后,一方面停 止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。最后,带着本次操作结果及状态继续执行原来的程序。
  由此可见,DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。

24

主题

431

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4768

优秀会员奖章活跃会员奖章论坛元老奖章资源大师奖章

威望
1642
贡献
2832
兑换币
13
注册时间
2011-1-21
在线时间
147 小时
2#
发表于 2012-2-7 20:02:11 | 只看该作者
嘻嘻 受教了 当复习一下计算机硬件技术基础了。
回复 支持 反对

使用道具 举报

1

主题

27

帖子

0

精华

高级会员

Rank: 4

积分
778
威望
516
贡献
152
兑换币
2
注册时间
2011-4-9
在线时间
55 小时
3#
发表于 2012-3-13 13:13:04 | 只看该作者
受教了
回复 支持 反对

使用道具 举报

23

主题

250

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2137

优秀会员奖章活跃会员奖章

QQ
威望
1153
贡献
722
兑换币
89
注册时间
2011-4-16
在线时间
131 小时
4#
发表于 2012-5-10 12:43:49 | 只看该作者
顶一个
回复 支持 反对

使用道具 举报

42

主题

299

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4405
QQ
威望
2280
贡献
1049
兑换币
767
注册时间
2011-11-29
在线时间
538 小时
5#
发表于 2012-5-11 08:13:34 | 只看该作者
理解了
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
威望
168
贡献
39
兑换币
0
注册时间
2012-3-29
在线时间
14 小时
毕业学校
河科大
6#
发表于 2012-5-13 23:08:16 | 只看该作者
顶一下!
回复 支持 反对

使用道具 举报

0

主题

29

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
498
威望
308
贡献
114
兑换币
81
注册时间
2012-4-14
在线时间
38 小时
7#
发表于 2012-7-24 10:46:58 | 只看该作者
好东西····
回复 支持 反对

使用道具 举报

16

主题

124

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3239
威望
1778
贡献
929
兑换币
803
注册时间
2009-11-25
在线时间
266 小时
8#
发表于 2012-7-29 20:14:59 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

25

主题

658

帖子

0

精华

跨届大侠

电子狂人

Rank: 10Rank: 10Rank: 10

积分
10047
QQ
威望
2923
贡献
1624
兑换币
1630
注册时间
2012-3-6
在线时间
2750 小时
毕业学校
惠州学院
9#
发表于 2012-9-15 17:54:47 | 只看该作者
bucuo ha
回复 支持 反对

使用道具 举报

7

主题

52

帖子

0

精华

高级会员

Rank: 4

积分
527
QQ
威望
351
贡献
96
兑换币
62
注册时间
2012-9-9
在线时间
40 小时
10#
发表于 2012-9-18 11:18:15 | 只看该作者
复习微机原理了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 13:30 , Processed in 0.050439 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表