news 2026/9/15 22:55:08

DMA传输:不经过CPU的数据传输

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DMA传输:不经过CPU的数据传输

140: DMA传输:不经过CPU的数据传输

CPU是计算机的大脑,非常强大,但它不应该把所有事情都包揽。

比如,把1GB文件从硬盘复制到内存——如果CPU亲自一个字一个字地搬,那得搬到什么时候?CPU这么贵的大脑,怎么能干这种"搬运工"的活?

DMA(Direct Memory Access,直接内存访问)就是专门干这种搬运活的"搬运工"——它可以在不经过CPU的情况下,直接在内存和I/O设备之间传输数据。

没有DMA的世界

先看看没有DMA时数据怎么传输。以"从硬盘读取文件到内存"为例:

硬盘 ──→ CPU ──→ 内存

过程:

  1. CPU发指令给硬盘:“把第N块数据给我”
  2. 硬盘准备好数据
  3. 硬盘把数据发给CPU
  4. CPU把数据写入内存
  5. 重复步骤1-4,直到所有数据传输完成

假设文件有100万个数据块,CPU就要做100万次"接收+写入"的操作。CPU全程参与,被牢牢占用。

就像你搬家,每件家具都亲自搬运——从大件沙发到小件螺丝刀,全是你一个人搬。累死不说,效率极低。

有了DMA之后

DMA控制器是专门的数据搬运工:

硬盘 ──→ DMA控制器 ──→ 内存 ↑ CPU只发一条指令
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 22:50:20

Mode仿真目录设计:提升工程效率的黄金结构

1. Mode仿真目录:概念与核心价值在工程设计与科研领域,仿真技术已成为验证方案可行性的关键手段。Mode作为仿真工具链中的重要环节,其目录结构的设计直接影响仿真效率与结果可靠性。一个规范的Mode仿真目录应当包含完整的输入文件、参数配置、…

作者头像 李华
网站建设 2026/9/15 22:48:25

从2021年5月35笔并购案看网络安全行业风向与从业者机遇

2021年5月份值得关注的35笔网络安全并购案,我是当成一份“行业体检报告”来看的。单月35笔相关并购,放在任何年份都算一个不小的数字。热闹归热闹,但如果不拆开看其中的买家类型、标的赛道和交易背后的真实动机,这份列表和八卦没什…

作者头像 李华
网站建设 2026/9/15 22:47:35

Java泛型深入:类型擦除、通配符与PECS原理实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/15 22:47:16

C/C++内存管理完全指南:从内存布局到智能指针实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华