スポンサーリンク

【応用情報技術者試験】DMA制御と割込み制御の違いをわかりやすく解説

「DMA制御と割込み制御って何が違うの?」
応用情報技術者試験でもCPU・入出力分野で超頻出ですが、

  • どっちもI/O制御?
  • CPUは何してる?
  • DMAの方が速い?

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

この記事では、

  • 割込み制御とは?
  • DMA制御とは?
  • 違い
  • 試験での頻出ポイント

を分かりやすく解説します!


まず結論

割込み制御

「CPUが途中で呼び出されて処理する」

DMA制御

「CPUを介さずデータ転送する」

これが最大の違い!


超簡単にいうと

技術イメージ
割込み店員を呼ぶ
DMA配送業者へ直接依頼

なぜ必要?

CPUは超高速。

でも:

  • キーボード
  • HDD
  • SSD
  • ネットワーク

などのI/O装置は比較的遅い。


問題

CPUがずっと待つと:

無駄時間発生!


そこで割込み

必要時だけCPU呼び出し!


割込み制御とは?

I/O装置が:

「終わったよ!」

とCPUへ通知する仕組み。


流れ


① CPUは別作業中


② I/O完了


③ 割込み発生


④ CPUが処理へ移動


イメージ

通常作業

割込み発生!

割込み処理

元へ戻る


メリット

CPU効率向上

待機不要!


割込みの種類

応用情報で超頻出!

種類内容
外部割込みI/O機器
内部割込みゼロ除算
ソフトウェア割込みOS呼出し

DMA制御とは?

Direct Memory Access


特徴

CPUを介さず転送


誰がやる?

DMAコントローラ


流れ


① CPUがDMA設定


② DMAが直接転送

I/O ↔ 主記憶


③ 完了後だけCPU通知


なぜ高速?

通常は👇

I/O → CPU → 主記憶


DMAなら👇

I/O → 主記憶


CPUを経由しない!

だから高速。


DMAのメリット

  • 高速転送
  • CPU負荷軽減

DMAが使われる例

  • SSD
  • ネットワーク
  • 音声転送
  • GPU

DMAと割込みの関係

ここ超重要!


DMAでも最後は?

割込み通知

することが多い。


DMA制御と割込み制御の違い

比較割込み制御DMA制御
CPU関与多い少ない
転送CPU経由直接転送
速度普通高速
用途一般I/O大量転送

ポーリングとの違い

応用情報で超頻出!


ポーリング

CPUが:

「終わった?」

を繰り返し確認。


問題

CPU無駄待機


割込み

必要時だけ通知。

効率良い!


応用情報で超頻出

かなり狙われる👇

  • 割込み
  • DMA
  • DMAコントローラ
  • ポーリング
  • I/O制御

よくあるひっかけ

「DMAはCPU不要」

→ 完全には違う!

最初の設定は:

CPUが行う


1分で復習!

割込み制御

必要時だけCPU呼出し


DMA制御

CPUを介さず転送


DMAメリット

  • 高速
  • CPU負荷軽減

ポーリング

CPUが確認し続ける


練習問題

問題

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

CPUが全データ転送を実行する

CPUを介さず主記憶とI/O間で転送する

CPUが一定時間ごとに状態確認する

通信内容を暗号化する


解答

正解:イ

解説

DMA制御ではDMAコントローラを利用し、CPUを介さずに主記憶とI/O装置間でデータ転送を行います。


まとめ

割込み制御とは

「必要時だけCPU呼出し」


DMA制御とは

「CPUなしで高速転送」


超重要

  • DMAコントローラ
  • 割込み
  • ポーリング
  • CPU負荷軽減

まずは、

「割込み=呼び出し」

「DMA=直接配送」

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


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

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

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

コメント