今回は、「内部割込み」「外部割込み」について解説していきます。
「割込みってなにが起こってるの?」
「内部割込みと外部割込みの違いってなに?」
そんな疑問を持つ方は、ぜひこの記事をご覧ください。
こちらの記事もぜひご覧ください。
割込みの基本
割込みとは、コンピューターシステムにおいて、実行中のプログラムを一時的に中断し、別の処理を行う仕組みです。
この仕組みにより、外部からの信号や要求に迅速に対応できます。
割込みは、主に内部割込みと外部割込みに分かれます。
内部割込みの特徴

内部割り込みは、コンピューターシステム内で発生する割り込みです。
通常、CPU内部の特定の状態や条件が変化したときに発生します。
内部割込みの例としては、以下のようなものがあります。
- 命令のエラー: CPUが実行しようとする命令に何らかのエラーがある場合、内部割込みが発生してエラー処理が行われます。
- プログラムの実行状態の変化: ゼロ除算やオーバーフローなどが発生した場合、内部割込みが発生して対処が行われます。
- スーパーバイザコール割込み(SVC割込み): プログラムがOSの機能を使うために、自発的に内部割込みを起こします。
外部割込みの仕組み

外部割り込みは、コンピューターシステムにおいて、CPUの外部から発生する割り込みです。
CPUが実行しているプログラムに対して、外部からの信号や要求がある場合に発生します。
外部割込みの例としては、以下のようなものがあります。
- 入出力装置からの信号: デバイス(キーボード、マウス、ストレージなど)が、CPUに対して処理の要求やデータの転送を必要とするとき、外部割り込みが発生します。
- タイマーの通知: システムが時間経過を監視しているとき、タイマーが設定された時間に達すると外部割り込みが発生します。
- マシンチェック割込み: 外部装置など、CPUの外部でエラーが起こったときに外部割込みが発生します。
試験対策のポイント
割込みについて、試験対策の上でポイントとなる点を解説します。
割込みの試験対策
割込みは、まず「こんなときに割込みが発生しました」と説明されたとき、
「この割込みは、内部割込みなのか?外部割込みなのか?」
これを判断できるようになりましょう。
「判断が難しい!」と思う人は、ざっくりと「今やってる命令文がトリガーになっているなら内部割込み」「命令に関係なく発生していたら外部割込み」と考えると良いです。
そこがマスターできたら、逆の手順で
「内部割込み(外部割込み)」にはどんなものがあるのか
これをすらすらと答えられるようになれば、午前問題で出題されるような問題には困らなくなります。
割込みの手順
さらに深く割込みを理解したい方は、「割込みってどんな順番で処理が走ってるの?」ということを考えてみましょう。
割込みの手順としては、
- 割込みが発生
- 実行中のプログラムが一時的に中断される
- 割込み発生時に処理をするサービスルーチンが呼び出される
- 割込み処理前に実行されていたプログラムの状態(レジスタの内容など)が保存される
- 割込み処理が実行される
- 保存された状態が復元され、元のプログラムが再開
という順番になっています。
まとめ
今回は、内部割込みと外部割込みについて解説していきました。この内容については、午前問題だけではなく、午後問題の内容に含まれることもあるので、基礎の部分をしっかり理解しておきましょう!
次のステップへ:応用情報技術者試験合格者の声
合格者の体験談と学習のコツ
こちらの記事もぜひご覧ください。




コメント