読み方 : にゅうしゅつりょくわりこみ

入出力割り込み【I/O interrupt】I/O割り込み

概要

入出力割り込みとは、キーボードストレージ装置などの入出力装置が処理の完了や状態の変化をCPUに通知する仕組み。専用の回路を通じてCPUに信号を送り、CPUは現在の処理を一時中断させて対応する。
入出力割り込みのイメージ画像

コンピュータにおける「割り込み」(interrupt)とは、CPUが現在実行中の処理を一時中断し、別の処理に切り替える仕組みである。入出力割り込みはその代表的な類型の一つで、ストレージへの読み書き完了、キーボード入力の検出、マウスボタンのクリックネットワークからのパケット受信、プリンタの印刷完了など、入力装置出力装置が特定の状態に達したことをCPUに伝える。

割り込みが発生するまでの流れは次のようになる。CPUは入出力処理を装置に指示した後、無関係な別の処理を進める。装置は与えられた処理が完了すると(あるいはあらかじめ指定されたイベントが発生すると)、割り込み信号をCPUに送出する。

CPUはこの信号を受け取ると現在実行中の命令を区切りのよい箇所で一時停止し、レジスタの内容などをスタックに退避してから、あらかじめ登録された「割り込みハンドラ」(ISRInterrupt Service Routine)と呼ばれるプログラムを実行する。割り込みハンドラの処理が終わったら、CPUは退避しておいた情報を復元して元の処理に復帰する。

現代のコンピュータでは、CPUが各装置から個別に報告を受けるのではなく、複数の装置からの割り込みを管理する「割り込みコントローラ」がCPUと装置の仲介役となっており、優先度制御の仕組みと組み合わせて使用されることが多い。一方、割り込みの仕組みを使わずにCPUが装置の完了を繰り返し確認し続ける方式は「ポーリング」(polling)と呼ばれる。ポーリングは実装が単純である反面、CPUは装置側の処理待ち状態となるため無駄が多い。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。