外部割込みとは?がいぶわりこみ
外部割込みとは、いま実行している命令とは因果関係のない事象——タイマの満了、入出力の完了、外部端子の変化、電源異常やリセット——を要因として、プロセッサの外側から掛かる割込み。到来する時刻を命令列から予測できないため非同期割込みとも呼ばれ、どの命令の切れ目で入っても壊れないように共有データの保護を設計しておく必要がある。
最終更新:2026-10-06
この語が出る過去問を解く →背景
外部事象を取りこぼさずに拾う方法は、常時問い合わせ続けるポーリングか、事象の側から呼んでもらう割込みかの二択になる。ポーリングは応答時間が周期に縛られ、待っている間もCPUと電力を消費する。割込みはこの浪費を消す代わりに、処理がいつ中断されるか分からないという不確定性を持ち込んだ。組込みの設計は、この不確定性を優先度の配置と排他制御で押さえ込む作業であり、シラバスもソフトウェアとのインタフェース設計で割込みを優先レベルに応じて配置する能力を求めている。
具体例
Arm Cortex-MではNVICが各要因に優先度を割り付け、外部端子の変化やA/D変換完了を受け付ける。変換完了割込みでは結果をバッファへ取り込むだけにとどめ、通知を受けたタスク側で平均化や判定を行うという役割分担が典型になる。
試験での引っ掛け
内部割込みとの分岐点は「実行中の命令が原因かどうか」の一点。ゼロ除算・未定義命令・ページフォールト・システムコールは命令に起因するので内部割込み、タイマ満了・入出力完了・電源異常・リセットは外部割込みで、この振り分けを逆にした選択肢が定番。非同期であることは「優先度が低い」を意味しない点も混同しやすい。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成29年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2(IPA)解説で登場
内部割込みの要因として、適切なものはどれか。
正解:演算がオーバフローした。
要点:内部割込みは命令実行自体が原因、例外の類がこれ
内部割込みは、実行中のプログラム自身の処理が原因となって発生する割込みで、ゼロ除算やオーバフローなどの演算例外、ページフォールト、システムコールなどが該当する。これに対し、周辺装置やタイマ、電源監視回路のようにプロセッサの外側から信号が来るものは外部割込みに分類される。原因が命令実行の内側か外側かで区別する。
出典:令和2年度 10月試験 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問3(IPA)
外部割込みの要因となる事象として、適切なものはどれか。
正解:入出力動作が終了したので、DMAコントローラからプロセッサへの通知が発生した。
要点:外部割込みはCPU外部の装置からの信号が要因となる
割込みは、実行中のプログラム自身の処理が原因となる内部割込みと、プロセッサ外部の装置からの信号による外部割込みに分けられる。DMAコントローラが入出力の完了をプロセッサへ通知するのは、CPU外部のハードウェアが要因なので外部割込みに当たる。ページフォールト、特権命令違反、演算オーバフローはいずれも命令実行に伴って生じる内部割込みである。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。