【发布时间】:2010-11-28 15:37:22
【问题描述】:
我的一个朋友告诉我,在 x86 架构上,DMA 控制器无法在两个不同的 RAM 位置之间传输。它只能在 RAM 和外围设备(如 PCI 总线)之间传输。
这是真的吗?
因为 AFAIK DMA 控制器应该能够在位于 BUS 上并具有地址的任意设备之间。特别是,如果源地址和目标地址属于同一个物理设备,我认为没有问题。
【问题讨论】:
-
为什么要将 RAM 从一个位置复制到另一个位置? x86 有一个内存分页系统,因此任何内存页面都可以在虚拟内存中的任何地址可见。