【ディーエムエー】
DMA(ダイレクトメモリアクセス) とは?
最終更新:
💡 荷物の運搬を任せる、CPUの「直送サービス」
CPUがデータを逐次読み書きせずに、周辺機器とメモリの間で転送する仕組み。CPUは設定や完了処理などを担当し、転送作業をDMAのハードウェアに任せる。
📌 このページのポイント
ダイレクトメモリアクセスって何のこと?
CPUを通さないって、何が変わるの?
転送はどう指示するの?
どんな機器で使われるの?
機器がメモリへ直接アクセスしても大丈夫?
機器の直接アクセスを悪用し、権限のないメモリ領域を読み書きする攻撃が問題になることがあるよ。IOMMUで機器が使える領域を制限する方法があるけれど、ハードウェア・ファームウェア・ドライバーなどの対応が必要。この転送方式なら自動的に保護されるわけではないんだ
📖 おまけ:英語の意味
「Direct Memory Access」 = 直接メモリアクセス
💬 Directは「直接」、Memory Accessは「メモリへのアクセス」。CPUがデータを逐次読み書きする代わりに、機器などがメモリへアクセスすることを表すよ