【发布时间】:2011-04-12 14:57:00
【问题描述】:
乍一看,让硬盘自行写入 RAM 似乎是个好主意,无需 CPU 指令复制数据,特别是考虑到异步网络的成功。但是直接内存访问 (DMA) 上的 Wikipedia article 声明如下:
使用 DMA,CPU 可以从这种开销中解放出来,并且可以在数据传输期间执行有用的任务(尽管 CPU 总线会被 DMA部分阻塞)。
我不明白公交线路如何“部分阻塞”。据推测,当时一台设备可以访问内存,然后看起来 CPU 实际上可以做的有用工作很少。它会在第一次尝试读取未缓存的内存时被阻止,我预计在 2 mb 缓存的情况下会非常快。
释放 CPU 以执行其他任务的目标似乎是无缘无故的。硬盘 DMA 是否会在实践中促进任何性能提升?
【问题讨论】:
标签: memory io system cpu blocking