如果你只造 “一台计算机”
但如果你希望给未来留点空间?
提供
lspci -tv
和 lsusb -tv
: 查看系统中总线上的设备CPU 有一个中断引脚
系统中的其他设备可以向中断控制器连线
假设程序希望写入 1 GB 的数据到磁盘
for (int i = 0; i < 1 GB / 4; i++) {
outl(PORT, ((u32 *)buf)[i]);
}
能否把 CPU 从执行循环中解放出来?
memcpy_to_port(ATA0, buf, length);
DMA: memcpy
” 程序的 CPU
支持的几种 memcpy
PCI 总线支持 DMA
sudo cat /proc/iomem