スポンサーリンク

【応用情報技術者試験】DMAを5分で理解!

「DMAって何?」
応用情報技術者試験でもコンピュータシステム分野で頻出ですが、

  • CPUを使わずに転送できる?
  • 割込みと何が違う?
  • DMAコントローラって何?
  • なぜ高速化できるの?

で混乱する人がかなり多いテーマです。

この記事では、

  • DMAとは?
  • なぜ必要なのか?
  • DMAの処理の流れ
  • 割込み制御との違い
  • 試験での頻出ポイント

を5分で理解できるように解説します!


まず結論

DMAとは?

「CPUを介さずに主記憶と入出力装置の間でデータ転送を行う仕組み」

です!


超簡単にいうと

「荷物運びを専門業者に任せる」

イメージです。


なぜ必要?

通常のデータ転送では、

CPUが転送作業を担当します。


通常の転送

入出力装置

CPU

主記憶


問題

CPUが

データ1個転送
データ1個転送
データ1個転送

を繰り返す。


結果

CPUが忙しくなる。


DMAの登場


DMA

Direct Memory Access

(直接メモリアクセス)


DMA利用時

入出力装置

DMA

主記憶


CPUは?

ほぼ転送に関与しない。


イメージ


CPU

荷物運び

をしていた。


DMA導入後

専門業者へ委託


CPUは他の仕事ができる。


DMAコントローラ

超頻出!


DMAコントローラ

DMA転送を管理する装置


役割

  • 転送開始
  • 転送管理
  • 転送終了通知

処理の流れ

超重要!


① CPUがDMA設定


転送元
転送先
転送量

を指定。


② DMA転送開始


DMA

直接転送


③ CPUは別作業


並行して処理可能。


④ 転送完了


DMAが

割込み通知

を送る。


イメージ

CPU
↓ 設定

DMA転送

完了

割込み通知


DMAのメリット

超頻出!


CPU負荷軽減


高速転送


並行処理可能


DMAのデメリット

重要!


制御回路が必要


メモリ競合が発生する場合がある


割込み制御との違い

超頻出!

比較割込み制御DMA
データ転送CPUが実施DMAが実施
CPU負荷高い低い
転送速度普通高速
用途少量データ大量データ

イメージ


割込み制御

CPUが運ぶ


DMA

DMAが運ぶ


DMAが活躍する例

重要!


  • SSD
  • HDD
  • ネットワーク通信
  • 音声データ
  • 動画データ

大量データ転送で活躍。


応用情報で超頻出

かなり狙われる👇

  • DMA
  • DMAコントローラ
  • CPU負荷軽減
  • 割込み
  • 入出力制御

よくあるひっかけ

「DMAはCPUを使わない」

→ △半分正しい!

転送設定や完了確認には

CPUが関与します。


1分で復習!

DMA

直接メモリアクセス


役割

CPUを介さず転送


DMAコントローラ

転送管理


効果

  • CPU負荷軽減
  • 高速転送

超重要

転送完了時は割込み通知


練習問題

問題

DMAの特徴として最も適切なものはどれか。

CPUが全てのデータ転送を行う

主記憶と入出力装置間を直接転送できる

暗号化を高速化する技術

キャッシュヒット率を向上させる技術


解答

正解:イ

解説

DMAは、DMAコントローラを利用して主記憶と入出力装置間で直接データ転送を行う仕組みです。


まとめ

DMAとは

「CPUの代わりにデータ転送する仕組み」


超重要

  • DMAコントローラ
  • CPU負荷軽減
  • 大量データ転送
  • 転送完了時の割込み

まずは、

「CPUが荷物を運ぶのが割込み制御」

「専門業者が運ぶのがDMA」

このイメージを持つとかなり理解しやすくなります!


知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント