わり‐こみ【割(り)込み】
割り込み
割り込み
【英】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」の概要を参照ください。
割り込み
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/07 20:51 UTC 版)
テンションゲージ75%以上で使用可能に。相手の口撃中に「割り込み」性能を持つセリフを選択し□ボタンを押すことで発動。相手のセリフを遮り無効化して、こちらの口撃を行える。相手の連撃も中断させることができる。
※この「割り込み」の解説は、「化物語 ポータブル」の解説の一部です。
「割り込み」を含む「化物語 ポータブル」の記事については、「化物語 ポータブル」の概要を参照ください。
割り込み
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/26 17:01 UTC 版)
割り込みシステムはなるべく単純になるよう設計され、割り込みシーケンスでイベントを逃さないことを保証している。デバイスが割り込みを発生する場合、4本の優先度ラインのいずれかをアサートする。プロセッサは優先度毎の割り込みデイジーチェインに応答する(デイジーチェインはイベントを順番に並べる一種の論理回路である。最初の論理ゲートが最初に処理される。デイジーチェインはその優先度でのデバイス間の優先順位に従って設定される)。 PDP-11の設計では、この割り込み応答順はデバイスが物理的にCPUに近い順番になっている。CPUが応答すると、デバイスはそのベクターアドレスをバスに出力する。これは4バイトのメモリブロックのアドレスである。CPUはステータスレジスタとプログラムカウンタをベクターテーブルからロードする。このときのステータスレジスタの値は割り込みを不可とするようになっている。プログラムカウンタにロードされるアドレスは割り込みハンドラのスタートアドレスである。割り込みハンドラがデバイスに関する処理を行い、その過程で割り込んできたデバイスの割り込み信号を再設定する。最後に特殊なRTI (Return From Interrupt) 命令でCPUが割り込まれた箇所に戻る。戻ったところが低優先度の割り込みの処理中の場合もあり、割り込み処理の入れ子が可能である。このような処理によって割り込みを受け付けそこなうことを防いでいる。未処理の割り込みはどの段階であってもそのまま存在していて、次のサイクルで処理可能である。割り込み処理が間違って起動されるとCPUはタイムアウトとなり、特殊な擬似割り込みを発生してユーザーに対してハードウェア故障を警告する。
※この「割り込み」の解説は、「PDP-11」の解説の一部です。
「割り込み」を含む「PDP-11」の記事については、「PDP-11」の概要を参照ください。
割り込み
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/05 04:59 UTC 版)
「オペレーティングシステム」の記事における「割り込み」の解説
詳細は「割り込み (コンピュータ)」を参照 割り込みはOSの要であり、OSが周囲の環境と相互作用し反応するための効率的手段となっている。非常に小さなスタック(50バイトや60バイト)しか持たない古いシステムでは、OSが対応しなければならないイベントの発生源を「監視」するポーリング方式を採用していたが、現代の大きなスタックを持つシステムでは一般的ではない。現代の多くのCPUは、割り込みをベースとしたプログラミングを直接サポートしている。割り込みが発生すると、その時点のレジスタコンテキストを退避し、そのイベントに対応した特定のコードを実行する。非常に基本的なコンピュータにもハードウェア割り込み機能があり、プログラマは特定の割り込みが発生したときに実行すべきコードを設定することができる。 割り込みを受信すると、コンピュータのハードウェアは実行中のプログラムを自動的に一時停止させ、状態を退避させ、その割り込みに事前に割り当てられているコードを実行する。これは例えば読書中に電話が鳴ったとき、本にしおりを挟み、電話に出るのに似ている。現代的なOSでは、割り込みはOSのカーネルが扱う。割り込みはコンピュータのハードウェアが発生させる場合もあるし、実行中のプログラムが発生させる場合もある。 ハードウェアから割り込みが発生した場合、OSのカーネルがそのイベントにどう対応するかを一般に何らかの処理コードを実行して決定する。割り込みには優先順位があり、それに従って実行するコードが決定される。再び人間にたとえれば、電話が鳴ると同時に火災を知らせる火災報知器の非常ベルも鳴ったら、電話には出ずに避難するだろう。ハードウェア割り込みの処理は通常、デバイスドライバと呼ばれるソフトウェアに委任される。デバイスドライバはOSのカーネルの一部という場合もあるし、別のプログラムという場合もあるし、混在する場合もある。デバイスドライバは割り込みによって得た情報を各種手段を通じて動作中のプログラムに中継する。 実行中のプログラムがOSに対して割り込みを発生させる場合もある。例えば、あるプログラムがハードウェアにアクセスしたい場合、OSのカーネルに対して割り込みを発生させ、結果として制御をカーネルに移す。するとカーネルは必要な処理を行う。また、プログラムがメモリなどの資源を追加で要求する場合、割り込みを発生させてカーネルに知らせる。ただし、それらは一般にシステムコールと呼ばれ、ハードウェア割り込みとは実装が異なることもある。
※この「割り込み」の解説は、「オペレーティングシステム」の解説の一部です。
「割り込み」を含む「オペレーティングシステム」の記事については、「オペレーティングシステム」の概要を参照ください。
割り込み
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/07 02:15 UTC 版)
「夏色ハイスクル★青春白書」の記事における「割り込み」の解説
会話イベントの最中、相手の話に割り込むか否かの選択を迫られる事がある。〇ボタンを押せばそのまま話が進み、□ボタンを押すと主人公が話を遮って割り込む。それによってその後の会話が変化したり、好感度に影響を及ぼす事がある。
※この「割り込み」の解説は、「夏色ハイスクル★青春白書」の解説の一部です。
「割り込み」を含む「夏色ハイスクル★青春白書」の記事については、「夏色ハイスクル★青春白書」の概要を参照ください。
割り込み(状況起因処理)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/15 09:59 UTC 版)
ゲーム中に特定の状況が発生した際に発生する処理のこと。これはカードに付与された効果が持つ処理ではなく、ルールによる処理である。
※この「割り込み(状況起因処理)」の解説は、「大富豪」の解説の一部です。
「割り込み(状況起因処理)」を含む「大富豪」の記事については、「大富豪」の概要を参照ください。
割り込み
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/24 08:50 UTC 版)
「Intel 80286」の記事における「割り込み」の解説
8086では割り込みは、割り込み4まで定義されており、80286では割り込み5以降が追加された。割り込み5から31まではインテル予約済みであったが、IBM PCでは割り込み8から15までを8259A経由の外部割込みに割り当てていた。プロテクトモードのOSは8259Aの割り込み番号を別の値に変更する。 割り込み0:除算エラー 除算命令(DIV, IDIV)で0で割ろうとした場合や商が大きすぎてレジスタに収まらない場合に発生する。 割り込み1:シングルステップ割り込み 割り込み2:NMI(マスク不可能割り込み) 割り込み3:ブレークポイント割り込み 割り込み4:INTOオーバーフロー 割り込み5:バウンドチェック BOUND命令に指定されたオペランドが、配列の範囲外に出ていると発生する。 割り込み6:無効オペコード 割り込み7:コプロセッサ不在 タスクスイッチ後、または、80287が装着されていないときに80287の命令を実行すると発生する。 割り込み8:ダブルフォルト 例外を処理しているときにさらに別の例外が発生し処理できなくなったときに発生する。 割り込み9:コプロセッサ・セグメント・オーバーラン 割り込み10:無効タスク・ステート・セグメント 割り込み11:セグメント不在 メモリ上に無いスワップアウトされたセグメントにアクセスした場合に発生する。この割り込みは80286のプロテクトモードで仮想記憶のために使用される。 割り込み12:スタック・フォルト 割り込み13:一般保護例外 80286のリアルモードでは、オフセットFFFFにあるワードオペランドをアクセスしたり、オフセットFFFFから複数バイトの命令を実行しようとすると発生する。8086ではオフセット0にラップアラウンドし例外は発生しない。80286のプロテクトモードでは、現在の特権レベルより高い特権レベルのセグメントへのアクセスなどでも発生する。 割り込み14 - 15:インテル予約済み 割り込み16:コプロセッサ・エラー IBM PC/ATでは80287のERROR#ピンを80286に直結せず、割り込みコントローラ8259Aに接続する設計とした。コプロセッサ(FPU)を内蔵した80486以降のCPUではIBM PC/ATとの互換性を維持するためにCPUにFERR#, IGNNE#というピンを追加したが、CR0レジスタのNEビットを1にすると8259A経由ではなく本来の割り込み16でコプロセッサのエラーを通知する。 割り込み17 - 31:インテル予約済み
※この「割り込み」の解説は、「Intel 80286」の解説の一部です。
「割り込み」を含む「Intel 80286」の記事については、「Intel 80286」の概要を参照ください。
割り込み
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/16 13:57 UTC 版)
PDP-8の入出力バスには1本の割り込みラインがあり、割り込みが発生すると割り込み不可状態となって 0番地のサブルーチンを呼び出すように動作する。サブルーチンと同様、割り込みもリエントラント性は無く、割り込みを不可とした状態で割り込みハンドラが動作し、JMP I 0 命令で割り込まれた箇所に戻るとき割り込み可とする。 I/Oバスの割り込みラインが1本なので、割り込み発生源が何かということは分からない。そのため、割り込み処理ルーチンは順に各デバイスのステータスをポーリングしてチェックし、割り込み元を識別した。この処理は条件スキップ命令が並ぶので "skip chain" と呼ばれた。skip chain の最後まで実行しても割り込み元が見つからないことは珍しいことではなかった。相対的な割り込みの優先順位は skip chain でチェックする順番で決定され、先に見つかった割り込みの処理が優先される。
※この「割り込み」の解説は、「PDP-8」の解説の一部です。
「割り込み」を含む「PDP-8」の記事については、「PDP-8」の概要を参照ください。
「割り込み」の例文・使い方・用例・文例
固有名詞の分類
- 割り込みのページへのリンク