打印

DMA是否不需要CPU的参与,除初始化外不占用cpu时间呢

[复制链接]
2472|9
手机看帖
扫描二维码
随时随地手机跟帖
沙发
情深一往| | 2015-8-17 08:30 | 只看该作者
同问,初始化肯定是占用的,传输数据过程中完全独立的么?

使用特权

评论回复
板凳
柠檬酸| | 2015-8-17 14:56 | 只看该作者
DMA请求仅仅使CPU暂停一下,不需要对断点和现场的处理,并且是由DMA控制外设与主存之间的数据传送,无需CPU的干预,DMA只是借用了一点CPU的时间而已。这是网上找的,占用了一点点cpu时间而已,不对断点和现场进行处理

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
蔚蓝的海 + 1 赞一个!
地板
蔚蓝的海| | 2015-8-18 10:33 | 只看该作者
柠檬酸 发表于 2015-8-17 14:56
DMA请求仅仅使CPU暂停一下,不需要对断点和现场的处理,并且是由DMA控制外设与主存之间的数据传送,无需CPU ...

讲的不错,赞一个!应该就是这个

使用特权

评论回复
5
yyj8902| | 2015-8-19 15:54 | 只看该作者
DMA传送高速数据时,会由DMA控制器发送一个停止信号给CPU,请求获取对地址总线、数据总线以及其他控制总线的控制权,获取后,进行有关数据的传送,在此期间,CPU基本处于不工作状态,直到数据传送完毕,DMA控制器再度通知CPU,并把总线控制权交还给CPU

使用特权

评论回复
6
公孙璇娟| | 2015-8-19 16:52 | 只看该作者
DMA传输的时候无需CPU控制,只是在传输结束时发出一个中断通知CPU来响应。

使用特权

评论回复
7
若相依| | 2015-8-19 22:33 | 只看该作者
DMA是一种不需要CPU干预,也不需要 (通过CPU) 的高速数据传送方式。

使用特权

评论回复
8
李少帅| | 2015-8-20 09:34 | 只看该作者
本帖最后由 李少帅 于 2015-8-20 09:35 编辑

看看DMA的定义就知道了,DMA的英文拼写是“Direct Memory Access”,汉语的意思就是直接内存访问,是一种不经过CPU而直接从内存存取数据的数据交换模式。在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率,可以大大节省系统资源。

使用特权

评论回复
9
blong75|  楼主 | 2015-8-29 09:41 | 只看该作者
yyj8902 发表于 2015-8-19 15:54
DMA传送高速数据时,会由DMA控制器发送一个停止信号给CPU,请求获取对地址总线、数据总线以及其他控制总线 ...

学习了,说的很好。

使用特权

评论回复
10
柠檬酸| | 2015-9-27 18:51 | 只看该作者
李少帅 发表于 2015-8-20 09:34
看看DMA的定义就知道了,DMA的英文拼写是“Direct Memory Access”,汉语的意思就是直接内存访问,是一种不 ...

看来还是需要耗费一点点时间的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

83

帖子

1

粉丝