IT用語集 › ハードウェア › バスマスタリング

バスマスタリング

ハードウェア Svenska → 更新: 2026-11-04

CPUに呼ばれて応答するだけでなく、デバイス自身がバス上で転送を開始できること。

バスにはイニシエータ(開始側)とレスポンダ(応答側)がある。長いあいだイニシエータはCPUだけだった。PCのISAカードは、Intelの8237という中央集約型のDMAコントローラに転送を代行させていた。いわゆるサードパーティDMAで、代償はサイクルスチールである。1992年にPCIがバスマスタリングを標準にし、ネットワークカードやディスクコントローラがバスを要求してRAMへ直接書き込めるようになった。Linuxでは今も pci_set_master() がその呼び出しだ。

マイコンでは日常的な仕組みである。DMAコントローラ、Ethernet MAC、USBはいずれもAHB上のマスタで、バスマトリクスが順番を決める。欠点はセキュリティだ。メモリのどこにでも書けるデバイスは、そこから鍵を読み出すこともできる。FireWireやThunderboltを経由したDMA攻撃、そしてIOMMUが存在する理由はここにある。

← 用語集に戻る