DMAコントローラーの説明|科目A-1(応用情報技術者) 令和7年 春期午前試験 問9

出典:令和7年春期 午前 問9 分野:コンピュータ構成要素 / 入出力デバイス
DMAコントローラーの説明として,適切なものはどれか。
  • ア:MPUでは時間が掛かる積和演算を,高速に行う。
  • イ:仮想メモリ機能,メモリ保護機能などのメモリ管理機能を提供する。
  • ウ:動作クロックに合わせてカウントするカウントレジスタをもち,それによって時間の経過を保持する。
  • エ:メモリと入出力装置,又はメモリとメモリとの間でのデータ転送を,MPUを介さずに行う。
応用情報技術者
解説

DMAコントローラーは、Direct Memory Accessを実現するための制御装置です。

通常、入出力装置とメモリとの間でデータを転送する際にはMPUが処理に関与します。DMAを利用すると、DMAコントローラーがMPUの代わりにデータ転送を制御するため、MPUは転送中にほかの処理を実行できます。

DMAコントローラー

DMAは、メモリと入出力装置の間だけでなく、メモリ間の高速なデータ転送にも利用されます。

したがって、が適切です。

❌他選択肢が誤りの理由
ア:MPUでは時間が掛かる積和演算を,高速に行う。
⇒DSPの説明です。DSPは、デジタル信号処理で多用される積和演算を高速に実行するプロセッサです。
イ:仮想メモリ機能,メモリ保護機能などのメモリ管理機能を提供する。
⇒MMUの説明です。MMUは、仮想アドレスと物理アドレスの変換や、メモリ保護などを行います。
ウ:動作クロックに合わせてカウントするカウントレジスタをもち,それによって時間の経過を保持する。
⇒タイマーの説明です。クロック信号に合わせてカウントし、時間の計測や一定時間後の割込み発生などに使用されます。
TSUNAGARU-ADVICE

まず押さえたいこと

DMAはDirect Memory Accessの略で、MPUを介さずにメモリと入出力装置などの間でデータを転送する仕組みです。大量のデータ転送をDMAコントローラーに任せることで、MPUはほかの処理を進められます。

迷ったときの判断軸

積和演算を高速化するのはDSPなど、仮想メモリやメモリ保護を担うのはMMU、時間の経過を管理するのはタイマーです。DMAは「データ転送」と「MPUを介さない」という二つの語を手掛かりに判断しましょう。

科目Bにつなげるために

特にプロフェッショナルデジタルスキル(システム)試験合格を目指す方は、DMAによってMPUの負荷を軽減できる一方、転送中はメモリバスの競合が起こり得ることも押さえておくと有効です。入出力制御やコンピュータアーキテクチャの問題につながります。