割り込みとI/Oアドレス

 「割り込み」と「I/Oアドレス」は,ドライバを介して周辺機器とプロセッサが通信するときに利用されるハードウエア・リソースを指している。
 コンピュータは基本的に,メモリー上に置かれたプログラムの命令を順番に実行していく。しかし,プログラムの実行状態とは関係なく,キーボードやマウスなどのデバイスからパソコン本体に信号が送られてくる。この信号を常にプログラム上で監視するのは無駄が多いため,プロセッサには「割り込み」という機能がある。
 PC/AT互換機では,デバイスがプロセッサに割り込み信号を送る信号線が16本あり,0番から15番までの割り込み番号が割り振られている。デバイスから特定の信号線に割り込み信号が送られてくると(これを「割り込み要求」または「IRQ:Interrupt Request」という),プロセッサはデバイスからデータが送信されてきたことを検知する。ここで,処理中のプログラムを一時中断し,デバイスからの信号を割り込み専用プログラム(割り込みハンドラ)で処理し始める。
このとき,割り込みハンドラがデバイスからデータを受け取る場所のアドレスを「I/Oアドレス」と呼ぶ。割り込みハンドラは,受け取ったデータをプログラムから使用できるように保存すると実行を終了し,中断していたプログラムに制御を戻す。これが割り込みとI/Oアドレスの仕組みだ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です