DMA(ダイレクトメモリアクセス)とは?でぃーえむえー
DMA(ダイレクトメモリアクセス)とは、入出力装置と主記憶の間のデータ転送を、CPUに代わって専用のDMAコントローラが直接行う方式。CPUは転送の開始を指示し、終わったことを割込みで受け取るだけで済むため、転送中は別の処理を進められ、遅い装置に引きずられずに全体の処理効率が上がる。
最終更新:2026-10-06
ITサービスマネージャを最短で暗記・合格する →背景
ディスクや通信装置はCPUに比べて桁違いに遅い。CPUが1語ずつ運ぶ方式では、待ち時間の大半をCPUが空回りして過ごすことになり、接続する装置が増えるほど無駄が積み上がる。この待ちをCPUから切り離すために、転送だけを担う回路を独立させたのがDMAである。
具体例
ネットワークカードが受信したフレームを主記憶へ書き込む処理はDMAで行われ、CPUはまとまった単位で割込みを受けて処理する。高速な回線では割込みの回数がCPUを圧迫するため、割込みをまとめる設定で負荷を調整する。
試験での引っ掛け
「CPUを介さない」を「CPUが一切関与しない」と読み違えない。開始の指示と完了割込みの受付はCPUが行う。またDMAはCPUと主記憶へのバスを共有するため、転送中はCPUのメモリアクセスが待たされる(サイクルスチール)。チャネル制御方式との差は、入出力の手順全体まで肩代わりするかどうか。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。