内部割込みとは?ないぶわりこみ
内部割込みとは、実行中の命令そのものが原因で発生する割込み。ゼロ除算、未定義命令、メモリ保護違反、ページフォールト、システムコール命令などが該当する。原因となった命令と発生タイミングが1対1で対応するため、同期割込みとも呼ばれ、同じ入力なら必ず同じ場所で再現する。
最終更新:2026-10-06
この語が出る過去問を解く →背景
外から来る要求だけを割込みとして扱っていては、命令の実行そのものが続行不能になった状況を処理できない。ゼロ除算やアクセス違反は「その命令をこれ以上進められない」という報告であり、これを例外として同じ機構に流し込むことで、OSや監視処理が一元的に受け止められるようになった。組込みでは、この報告を握りつぶすか、安全側へ遷移させるか、リセットして再起動するかが製品の安全設計そのものになるため、分類の暗記ではなく後始末の設計として問われる。
具体例
Arm Cortex-Mでは、未定義命令やアラインメント違反、設定によってはゼロ除算がUsageFaultとして通知され、深刻な場合はHardFaultに集約される。ハンドラでフォールト状態レジスタと退避されたプログラムカウンタを不揮発領域へ記録し、そのうえで安全側へ遷移させるかリセットするかを決める構成が採られる。
試験での引っ掛け
電源異常、入出力完了通知、タイマ満了のようにCPUの外の装置に起因するものは外部割込みで、この振り分けを逆にする選択肢が定番。CPU内蔵タイマであっても要因は周辺回路からの信号なので外部割込みに分類される。システムコール命令は自発的に起こす内部割込みであり、異常だけが内部割込みではない点も押さえる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成29年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2(IPA)
内部割込みの要因として、適切なものはどれか。
正解:演算がオーバフローした。
要点:内部割込みは命令実行自体が原因、例外の類がこれ
内部割込みは、実行中のプログラム自身の処理が原因となって発生する割込みで、ゼロ除算やオーバフローなどの演算例外、ページフォールト、システムコールなどが該当する。これに対し、周辺装置やタイマ、電源監視回路のようにプロセッサの外側から信号が来るものは外部割込みに分類される。原因が命令実行の内側か外側かで区別する。
出典:令和2年度 10月試験 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問3(IPA)解説で登場
外部割込みの要因となる事象として、適切なものはどれか。
正解:入出力動作が終了したので、DMAコントローラからプロセッサへの通知が発生した。
要点:外部割込みはCPU外部の装置からの信号が要因となる
割込みは、実行中のプログラム自身の処理が原因となる内部割込みと、プロセッサ外部の装置からの信号による外部割込みに分けられる。DMAコントローラが入出力の完了をプロセッサへ通知するのは、CPU外部のハードウェアが要因なので外部割込みに当たる。ページフォールト、特権命令違反、演算オーバフローはいずれも命令実行に伴って生じる内部割込みである。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。