問9 DMA コントローラーの働き

応用情報​技術者試験 令和7年度 春期 午前、全80問のうちの問9。

出典:令和7年度 春期 応用情報技術者試験 午前 問9

DMA コントローラーの説明として,適切なものはどれか。

  1. アMPU では時間が掛かる積和演算を,高速に行う。
  2. イ仮想メモリ機能,メモリ保護機能などのメモリ管理機能を提供する。
  3. ウ動作クロックに合わせてカウントするカウントレジスタをもち,それによって時間の経過を保持する。
  4. エメモリと入出力装置,又はメモリとメモリとの間のデータ転送を,MPU を介さずに行う。
答えと解説を開く

正解はエです。

DMA は Direct Memory Access (直接メモリアクセス) の略です。大量のデータを入出力装置からメモリへ移すとき、MPU が 1 語ずつ読んで書いていると、その間ほかの仕事ができません。DMA コントローラーは、MPU から転送元、転送先、量を指示されると、自分でバスを使ってデータを移し、終わったら割込みで知らせます。MPU はその間、別の処理を進められます。正解はエです。

ほかの選択肢が違う理由

  • ア積和演算を速く行うのは、DSP (デジタル信号処理のためのプロセッサ) の説明です。
  • イ仮想メモリやメモリ保護などのメモリ管理をするのは、MMU (メモリ管理ユニット) の説明です。
  • ウクロックを数えて時間の経過を測るのは、タイマー (カウンター) の説明です。

仕組み

DMA を使わない入出力では、MPU がデータを 1 つずつ運びます。DMA を使うと運ぶ仕事を任せられるので、ディスクやネットワークの大量のデータを効率よく扱えます。

DMA の転送中は、DMA コントローラーがメモリにつながる道 (バス) を使います。MPU とバスを取り合うことがあるので、使う順番を調整する仕組みがあります。

この問に出る言葉