IT用語集 › ハードウェア › DMAエンジン(ダイレクトメモリアクセス)

DMAエンジン(ダイレクトメモリアクセス)

ハードウェア Svenska → 更新: 2026-10-22

周辺機器(ディスク、ネットワークカード、GPUなど)がCPUを介さず、RAMと直接データをやり取りできるようにするハードウェア。バイト単位のコピーという退屈な仕事からプロセッサを解放し、その間に別の仕事をさせる。

DMAがなければ、CPUがデバイスから1バイトずつ自分で読んでメモリに書く(プログラムI/O)ことになる。計算ではなくデータの移動に時間を費やす、ひどく無駄な方式だ。DMAエンジンはこれを解決する。CPUは「このデバイスからこのメモリアドレスへNバイト移して」と指示するだけで、転送はDMAエンジンが裏で独立して行い、完了したときだけCPUに割り込みをかける。その間CPUは別の処理を走らせられる。

用途は、大きなファイルのディスク読み出し、ネットワークパケットの受信、GPUメモリへの書き込みなど、大量のI/Oである。関連する点として、割り込み(完了の知らせ方)と、キャッシュコヒーレンスがある。DMAはCPUの知らないところでメモリに書くため、システムはキャッシュの整合性を保つ必要がある。現代のコンピューターすべてに共通する、基本的な効率化の仕組みである。

← 用語集に戻る