基本情報技術者試験 練習問題 30:入出力制御方式:DMA
コンピュータの入出力制御方式であるDMA(Direct Memory Access)について述べた文として、正しいものはどれか。
- DMAでは、CPUを介さずに周辺装置とメモリの間で直接データ転送が行われる
- DMAを用いると、データ転送中もCPUが転送処理そのものを継続的に実行し続ける
- DMA方式は、プログラム制御による入出力方式よりも常にCPU負荷が高くなる
- DMAコントローラは、割込みを一切発生させることなく処理を完了させる
- DMAは主記憶装置内でのみ使用され、外部記憶装置とのデータ転送には使用できない
Qraftユーザーの成績:難易度 Dランク(レーティング1125)・正答率 71%(10/14回正解)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)
正解と解説を見る
正解:DMAでは、CPUを介さずに周辺装置とメモリの間で直接データ転送が行われる
DMA(Direct Memory Access)は、CPUを介さずに周辺装置と主記憶装置の間で直接データ転送を行う仕組みであり、これによりCPUの負荷を軽減できる。
【正解の理由】
DMAコントローラがバスの制御を担い、CPUの介入なしにメモリと周辺機器間のデータ転送を行うことで、CPUは他の処理を並行して実行できるようになる。
【不正解の理由】
• 「CPUが転送処理そのものを継続的に実行し続ける」:誤り。DMAの目的はまさにCPUを転送処理から解放することにある。
• 「常にCPU負荷が高くなる」:誤り。DMAはプログラム制御方式に比べてCPU負荷を軽減する方式である。
• 「割込みを一切発生させることなく処理を完了させる」:誤り。DMAは転送完了時にCPUへ割込みを発生させて処理完了を通知するのが一般的である。
• 「外部記憶装置とのデータ転送には使用できない」:誤り。DMAはディスク装置など外部記憶装置とのデータ転送にも広く使用される。