わり‐こみ【割(り)込み】
割り込み
割り込み
【英】interrupt
割り込みとは、ただいま実行されている処理を、一時的に中断して、より優先される別の処理を行うことである。
外部装置からのデータ転送要求などのように、優先順位の一層高い処理要求が発生すると、CPUは実行している最中のプログラムを一時退避させ、割り込みを要求をした装置に応じる処理プログラムを実行する。割り込みの処理が終了すると、中断したプログラムの処理が中断されたところから再開される。あるいは、割り込みを要求した処理が実行中の処理よりも優先度が低い場合は、実行中の処理が終了するまで割り込みを待機させる。
割り込みを要請するものがプログラムであるものは、特にソフトウェア割り込みと呼ばれ、同じく周辺機器であるものは特にハードウェア割り込みと呼ばれる。
割り込み
割り込み
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/18 09:45 UTC 版)
68000は8つの割り込みレベルを持つ。レベル0から7まで厳密に優先順位が決まっている。番号が大きい割り込みが番号の小さい割り込みに対して割り込むことが出来る。ステータスレジスタには現在の割り込みレベルを特権命令でセットすることができ、これにより低いレベルの割り込みをブロックする。レベル7はマスクすることができないため、NMI(英: Non-Maskable Interrupt)とも言う。レベル0は他の全てのレベルが割り込むことができる。レベル0は割り込み要求がないことを示す。レベルはステータスレジスタに格納され、ユーザレベルプログラムからも見ることが出来る。 ハードウェア割り込みは3本の信号線によってCPUに伝えられ、この3本の値がペンディング中の最も高い割り込みレベルにエンコードされる。別途割り込みをエンコードするための割り込みコントローラが必要である。ただし、割り込み発生源が三つ以下のシステムでは、各割り込みを三本の信号線にそれぞれつなぐことで割り込みコントローラを省略できる。ただし、割り込みレベルと割り込みの対応が単純ではないためソフトウェアでの処理が複雑になる。割り込みコントローラは汎用ロジックIC74148のような単純なエンコーダでもよいし、VLSIの周辺チップでもよい。例えばMC68901は、割り込み制御だけでなくUART(シリアル)、タイマー、パラレルI/Oを備えている。 例外テーブル(割り込みベクターテーブル)はアドレス0番地から1023番地まで固定で置かれ、256個の32ビットアドレスを表す。最初のベクターは初期スタックアドレスであり、二番目のベクターは初期コードアドレスである。3番から15番のベクターは各種エラー処理ルーチンのアドレスである。エラーの種類としてはバスエラー、アドレスエラー、不正命令、ゼロによる割り算、CHK/CHK2命令ベクター、特権違反、そして予約されたベクター(後にline 1010エミュレータ、line 1111エミュレータ、ハードウェアブレークポイントに割り当てられた)がある。ベクター24から実際の割り込みに対応する。ハードウェアに対応しない擬似割り込み、レベル1から7のベクター、15個のTRAPベクター、いくつかの予約されたベクター、ユーザ定義ベクターの順番で並んでいる。 リセットされたとき、少なくともスタートコードアドレスのベクターには正しいアドレスが入っている必要がある。多くのシステムは不揮発メモリ(つまりROM)を持っていて、0番地に配置し、そのROMにベクターテーブルとブートストラップコードが入っている。しかし、汎用システムでは動作中にベクターを書き換えられるのが望ましい。これを実現するため、ROM上のベクターがRAM上のジャンプテーブルを指すようにするか、バンク切り替えで動作中に0番地付近の配置をROMからRAM変更する。 68000はPopekとGoldbergの仮想化要件(英: virtualization requirements for full processor virtualization)を満たしていない。というのは、"MOVE from SR" 命令が特権命令でないため、ユーザモードから特権ステータスが見えてしまうからである。この問題は後述する仮想記憶サポートの問題とともに後のMC68010で改善された。"MOVE from SR" 命令は特権命令となり、ユーザモードのソフトウェア用に "MOVE from CCR" 命令を追加した。ユーザモードで "MOVE from SR" 命令を使った場合、トラップが発生してOS側でエミュレートすることも可能である。
※この「割り込み」の解説は、「MC68000」の解説の一部です。
「割り込み」を含む「MC68000」の記事については、「MC68000」の概要を参照ください。
「割り込み」の例文・使い方・用例・文例
固有名詞の分類
- 割り込みのページへのリンク