割込み処理とは?わりこみしょり
割込み処理とは、割込みを受け付けてから元の処理へ戻るまでの一連の手順。プログラムカウンタとPSWを退避し、割込みベクタから対応するハンドラのアドレスを求めて実行し、終了後にレジスタを復元して中断点から再開する。処理中にさらに高優先度の要因を受け付けるかどうかが、多重割込みの論点になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
割込みは処理を横取りするため、戻ったときに何も起きなかったように見せる責任がハンドラ側にある。退避と復元、ハンドラを短く保ち残りを後回しにする作り方は、この要請から生まれた。高速なネットワークではこの前提が破れる。1フレームごとに割込みを上げるとCPUがハンドラだけで埋まるため、通知をまとめる方向の作り込みが性能設計の中心になる。
具体例
10ギガビットイーサネットでは秒間百万単位のフレームが届くため、NICは一定数または一定時間ごとにまとめて通知する割込み合体(interrupt coalescing)を行う。Linuxのネットワークスタックは、最初の受信割込みのあとポーリングへ切り替えるNAPIによって割込み回数を抑える。
試験での引っ掛け
割込みの分類(内部/外部)と、割込み処理中の優先度制御は別の論点。多重割込みを許すのは高優先度の要因だけで、同レベル以下はマスクするのが通常。ハンドラ内で時間のかかる処理を行うと、その間の要因を取りこぼす。また割込み合体はCPU負荷を下げる一方、通知を待つぶんレイテンシは増える方向に働く。
関連用語
出た過去問
出典:平成28年度 秋期 ネットワークスペシャリスト試験 午前Ⅱ 問22(IPA)
ユーザプログラムの実行中に割込みが発生した場合のプロセッサの処理として、適切なものはどれか。(①プログラムレジスタ(プログラムカウンタ)などの退避、②ユーザモー…
正解:②→①→③→④
要点:割込みは特権モード移行→退避→番地決定→実行の順
割込みが発生すると、プロセッサはまず特権モードへ移行してから、実行中プログラムのプログラムカウンタなどのレジスタ内容を退避する。次に割込み要因に対応する割込み処理ルーチンの開始番地を決定し、そのルーチンを実行する。特権モードへの移行を先に行うのは、レジスタの退避などの処理自体が特権的な操作を伴うためである。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。