英特尔在其当前一代处理器中是否提供任何直接内存访问 (DMA) 控制器?如果有,它是否内置在芯片中? http://en.wikipedia.org/wiki/Direct_memory_access
答案1
DMA 几乎是现代芯片组的标准。通常它是主板南桥中的独立模块,实际上不是 CPU 芯片本身的一部分。现代英特尔处理器(如 Sandy Bridge 系列)应该支持该技术,但这更多的是主板的问题,而不是 CPU 的问题。
答案2
虽然 DMA 是现代 x86 系统的标准,但对中央专用 DMA 控制器的需求已经不复存在:在 ISA 时代,可以对 DMA 控制器进行编程以代表 CPU 执行 DMA 操作。
现代机器支持总线控制。这样就不再需要中央 DMA 控制器,并允许单个设备(例如 PCI 卡)自行执行总线控制,因此单个设备无需中央 DMA 控制器的帮助即可执行 DMA 操作。
答案3
虽然这与 x86 无关,但我在搜索哪里可以找到有关英特尔 CPU 的 DMA 的信息时来到这里,因为我花了很长时间查看 CPU 手册,所以我想把它留在这里。
在尝试弄清楚这一点时,我发现 DMA 控制器并不位于 CPU 上,而是位于芯片组上。我尝试弄清楚这一点,但在 Intels i-7 LGA 2011 手册中找不到有关 DMA 的信息(DMA 重新映射信息除外)。
但是,如果我查看芯片组手册(X79 高速,英特尔),我可以找到有关 DMA 控制器的信息(参见第 101 页及以后)。