DMAとは?
DMAとは、CPUを介さずに、DMAコントローラが周辺デバイスと主記憶の間でデータを直接転送する方式。転送中CPUは別の処理を実行でき、大量データを低オーバヘッドで移動できる。転送完了は割込みでCPUへ通知する。
エンベデッドシステムスペシャリスト試験の過去問では1回出題されています。
でぃーえむえー
DMAの意味
CPUを介さずに、DMAコントローラが周辺デバイスと主記憶の間でデータを直接転送する方式。転送中CPUは別の処理を実行でき、大量データを低オーバヘッドで移動できる。転送完了は割込みでCPUへ通知する。
DMAの具体例
DMAは試験でどう引っ掛けられる?
DMAが書き換えた領域はキャッシュと食い違うため、読む前にキャッシュ無効化、書く前にキャッシュフラッシュが必要。またバスをDMAが占有するとCPUのメモリアクセスが待たされる(サイクルスチール/バーストの違い)。
DMAと関連する用語
DMAが出た過去問
外部割込みの要因となる事象として、適切なものはどれか。
正解:入出力動作が終了したので、DMAコントローラからプロセッサへの通知が発生した。
要点:外部割込みはCPU外部の装置からの信号が要因となる
割込みは、実行中のプログラム自身の処理が原因となる内部割込みと、プロセッサ外部の装置からの信号による外部割込みに分けられる。DMAコントローラが入出力の完了をプロセッサへ通知するのは、CPU外部のハードウェアが要因なので外部割込みに当たる。ページフォールト、特権命令違反、演算オーバフローはいずれも命令実行に伴って生じる内部割込みである。
出典:令和2年度 10月 エンベデッドシステムスペシャリスト試験 am2 問3(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。