Pika (@Pika-Yalei)图解 DMA:数据绕过 CPU 直达内存 中发帖

前言
最近偶然了解到 DMA 游戏外挂实现原理,作为一个计算机从业人员,探索心作祟,顺便了解一下 DMA 原理。 
什么是 DMA
DMA(Direct Memory Access,直接存储器访问) 是一种让外设绕过 CPU、直接和内存交换数据的机制。 
简单来说,CPU 就是一个“老板”,一个人干活的时候必须要亲力亲为,DMA 是“老板”招的“员工”。老板通知员工干活,员工开始干,干完之后再通知给老板就行了。 
 [DMA 控制器连接 CPU、内存与磁盘] 
DMA 工作流程
一次完整的工作流程: 

CPU 启动磁盘,将搬迁的数据信息告诉 DMA 控制器。
等磁盘数据准备好,告诉 DMA 控制器开始"工作"。
DMA 控制器向 CPU 申请系统总线。
DMA 控制器接管总线,数据直接从磁盘搬进内存,不经过 CPU。
DMA 控制器通知 CPU"完成",CPU 来做收尾。


CPU 只...
 
 
Back to Top