「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転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…
まずは無料でキャリア相談

コメント