スポンサーリンク

【応用情報技術者試験】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転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

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

コメント