Chinaunix首页 | 论坛 | 博客
  • 博客访问: 109641
  • 博文数量: 21
  • 博客积分: 85
  • 博客等级: 民兵
  • 技术积分: 364
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-08 00:28
文章分类

全部博文(21)

文章存档

2013年(1)

2012年(7)

2011年(13)

分类:

2011-12-08 00:29:42

原文地址:nios DMA的原理 作者:FBI888XH

在需要大量数据的传输时,使用DMA往往会比使用cpu传输速度快。
1、cpu传输数据需要通过指令来完成,而执行指令需要取指、译码、执行等等步骤,编写程序往往还涉及对循环的处理。而本来传输数据需要的信号比较简单,理论上可以每个时钟周期传一个数据。因此把这部分功能给DMA来完成速度快得多。
2、cpu把数据传输任务交给DMA后,cpu可以继续执行其它的指令。因此可以达到并行的效果。所以程序整体的运行速度也会有所提高。

通过分别使用cpu和DMA向外设写入一些数据,比较其总线的时序信号可以直接观察到DMA的优势。
下图为直接使用cpu访问外设时的时序


而如果使用DMA时的时序如下:

从图中可以看出明显使用DMA访问外设效率会更高。

阅读(1458) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~