スポンサーリンク

【応用情報技術者試験】割込みを5分で理解!

割込みは、イベントに応じてCPUの処理を切り替える仕組みです。作業中に通知を受け、必要な対応をするイメージで考えましょう。元の処理を必ず破棄するわけではありません。

1.基本の処理順を図で追う

状態保存・ハンドラ実行・状態復元・再開の基本の流れ
状態保存・ハンドラ実行・状態復元・再開の基本の流れ

必要な状態を保存し、原因に応じたハンドラを実行します。復帰できる場合は状態を復元して再開します。割込み受付けや保存内容はCPU・OSの仕様によって異なります。

2.発生原因を比較する

例考えるポイント
I/O完了・タイマーなど装置からの非同期の通知
ゼロ除算・不正命令など実行した命令に起因する同期的な例外
OS呼出し等ソフトウェアが明示的に要求する処理

試験教材では内部割込み・外部割込みなどの分類を使いますが、用語の範囲はアーキテクチャによって違います。すべてを「CPUの外から来る緊急要求」とは覚えないでください。

3.ポーリングやDMAとの関係

ポーリングは状態を繰り返し確認する方法、割込みはイベントを通知する方法です。頻度や処理の設計に応じて使い分けます。DMAでデータを転送し、完了を割込みで通知することもできます。

理解を確かめる確認問題

外部装置に関わる通知の例は、キーボード入力の通知とゼロ除算のどちらでしょうか。

解答・解説を見る

キーボード入力の通知です。ゼロ除算は実行した命令に起因する例外として整理します。

まとめ:原因と処理の流れを対にする

何が起き、どの処理へ移るのかを確認すると、分類だけの暗記を避けられます。

参考:Intel:割込み・例外処理を含むアーキテクチャマニュアル

コメント