基本情報技術者試験「DMA制御」の問題
DMA(ダイレクトメモリアクセス)方式による入出力の特徴を最も適切に説明したものはどれか。
アCPUが入出力装置の状態を繰り返し確認しながら1語ずつ転送を制御する
イ入出力専用のプロセッサがチャネルプログラムを解釈し複雑な制御を代行する
ウ割込みを用いず入出力命令だけで全データを主記憶へ書き込む
エCPUを介さず専用回路が主記憶と入出力装置の間で直接データ転送を行う
正解
エ.CPUを介さず専用回路が主記憶と入出力装置の間で直接データ転送を行う
DMAはDMAコントローラがCPUに代わって主記憶と入出力装置の間でデータを直接やり取りする。CPUは転送開始を指示した後は他処理を進められ、効率が高いため正しい。
?選択肢ごとの解説
ア ×CPUが状態を繰り返し確認しながら1語ずつ制御するのはプログラム制御方式(特にポーリング)であり、CPUを介さないDMAとは逆の説明である。
イ ×専用プロセッサがチャネルプログラムを解釈し複雑な制御を代行するのはチャネル制御方式の説明で、DMAより高機能な別方式である。
ウ ×割込みを用いず入出力命令だけで全データを書き込むという説明はプログラム制御方式の特徴に近く、DMAは転送完了時に割込みでCPUへ通知する。
エ ○DMAはDMAコントローラがCPUに代わって主記憶と入出力装置の間でデータを直接やり取りする。CPUは転送開始を指示した後は他処理を進められ、効率が高いため正しい。
✎くわしく
入出力制御方式はプログラム制御(直接・割込み)、DMA、チャネル制御に大別される。DMAは専用回路が主記憶と装置を直結し、CPU負荷を大きく下げる。転送完了は割込みで通知される。さらに高機能化したのがチャネル制御である。
✓本番での押さえどころ
試験のコツ
DMA=『CPUを介さず直接転送』。CPUが逐一確認する方式や1語ずつ制御する方式は除外する。
覚え方
DMAは『代理人がメモリへ直接届ける』。CPUは指示だけして手を離す、と覚える。
よくある誤り
DMAとチャネル制御を混同しやすい。『専用回路で直接転送=DMA』『チャネルプログラムを解釈する専用プロセッサ=チャネル』と区別する。
コンピュータ構成要素の他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0176