DMAとは?でぃーえむえー
DMAとは、CPUを介さずに、DMAコントローラが周辺装置と主記憶の間でデータを直接やり取りする転送方式。転送中もCPUは別の処理を進められ、完了は割込みで通知される。大量のデータを低いオーバヘッドで移すための基本の仕組みである。
最終更新:2026-10-06
ネットワークSPを最短で暗記・合格する →背景
CPUが1語ずつ読み書きしていては、回線速度が上がるほどCPUが転送そのもので埋まってしまう。1Gビット/秒でも小さなフレームが連続すれば毎秒百万回規模の処理になり、1フレームごとに割込みを上げるだけで飽和する。データの移動をCPUから外し、通知をまとめて回数を減らすという方向は、高速なネットワークインタフェースの設計の出発点になっている。
具体例
ネットワークインタフェースは受信したフレームをDMAでリングバッファへ直接書き込み、一定数たまるか一定時間が過ぎた時点でまとめて割込みを上げる。1フレームごとに割込みを上げる方式に比べ、高負荷時のCPU使用率が大きく下がる。
試験での引っ掛け
DMAが書き換えた領域はキャッシュの内容と食い違うため、読む前に無効化、書く前にフラッシュが要る。またDMAがバスを占有するとCPUのメモリアクセスが待たされ、1語ずつ譲るサイクルスチールと、まとめて占有するバースト転送とで待たされ方が変わる。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。