JPH02173828A - 割込み処理方式 - Google Patents
割込み処理方式Info
- Publication number
- JPH02173828A JPH02173828A JP32803488A JP32803488A JPH02173828A JP H02173828 A JPH02173828 A JP H02173828A JP 32803488 A JP32803488 A JP 32803488A JP 32803488 A JP32803488 A JP 32803488A JP H02173828 A JPH02173828 A JP H02173828A
- Authority
- JP
- Japan
- Prior art keywords
- resident
- level
- context
- register
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title abstract description 6
- 238000003672 processing method Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野コ
本発明はプロセッサの割込み処理方式に関し、特に割込
み発生時にプログラムの走行状態を表すコンテクストを
セーブ/リストアするオーバ・ヘッドを少なくするため
の方式に関する。
み発生時にプログラムの走行状態を表すコンテクストを
セーブ/リストアするオーバ・ヘッドを少なくするため
の方式に関する。
[従来の技術]
従来の割込み処理方式では、割込みが発生しプログラム
走行レベルが変わるときに、まずその時のプロセッサの
レジスタの状B(コンテクスト)をその時のプログラム
走行レベルに対応したメモリ領域にセーブして、次に新
しい走行レベルに対応したコンテクストをメモリからリ
ストアしてくる。プロセッサのレジスタの数が増すにし
たがって、このスイッチ時にプロセッサ、メモリ間で転
送される情報量が多くなり、割込み処理のオーバ・ヘッ
ドが大きくなる。
走行レベルが変わるときに、まずその時のプロセッサの
レジスタの状B(コンテクスト)をその時のプログラム
走行レベルに対応したメモリ領域にセーブして、次に新
しい走行レベルに対応したコンテクストをメモリからリ
ストアしてくる。プロセッサのレジスタの数が増すにし
たがって、このスイッチ時にプロセッサ、メモリ間で転
送される情報量が多くなり、割込み処理のオーバ・ヘッ
ドが大きくなる。
又、割込み処理の性能を上げるために、割込みレベルの
全てに対してコンテクストを格納できるレジスタ・セッ
トを設けたプロセッサがあるが、プロセッサの定義する
割込みレベルが例えば64だと通常のプロセッサの64
倍のハードウェア量をレジスタに割かなければならない
ので、ハードウェア・コストが大きくなってしまう。一
般にプロセッサでは、レジスタ部のハードウェア量は制
御部のそれよりもずっと多く、膨大な数のレジスタを持
ったプロセッサでは、チップの数が多くなってコンパク
トな実装が困難となる。
全てに対してコンテクストを格納できるレジスタ・セッ
トを設けたプロセッサがあるが、プロセッサの定義する
割込みレベルが例えば64だと通常のプロセッサの64
倍のハードウェア量をレジスタに割かなければならない
ので、ハードウェア・コストが大きくなってしまう。一
般にプロセッサでは、レジスタ部のハードウェア量は制
御部のそれよりもずっと多く、膨大な数のレジスタを持
ったプロセッサでは、チップの数が多くなってコンパク
トな実装が困難となる。
[発明が解決しようとする課題]
上述した従来の割込み処理方式では、前者の方式では割
込み時のオーバーヘッドが大きくなり、通信制御など高
いリアルタイム応答性が要求される分野では性能が問題
になってくる。この様なアプリケーションではその基本
的な制御に割込みのレベル制御を陽に利用するので、そ
の時のコンテクストのセーブ/リストアにかかる時間に
対して厳しい性能が要求される。一方、後者の方式では
、そのハードウェア量が大きくなり、価格やサイズの点
で競争力が劣ってしまう。
込み時のオーバーヘッドが大きくなり、通信制御など高
いリアルタイム応答性が要求される分野では性能が問題
になってくる。この様なアプリケーションではその基本
的な制御に割込みのレベル制御を陽に利用するので、そ
の時のコンテクストのセーブ/リストアにかかる時間に
対して厳しい性能が要求される。一方、後者の方式では
、そのハードウェア量が大きくなり、価格やサイズの点
で競争力が劣ってしまう。
[課題を解決するための手段]
上述した問題点を解決するために、本発明の目的は、特
定の限られた割込みレベルに対してはプロセッサ内でそ
のコンテクストを保持することによって、プログラム走
行レベルのスイッチを高速に処理することが出来る割込
み処理方式を提供することにある。
定の限られた割込みレベルに対してはプロセッサ内でそ
のコンテクストを保持することによって、プログラム走
行レベルのスイッチを高速に処理することが出来る割込
み処理方式を提供することにある。
即ち、本発明の割込み処理方式は、汎用レジスタ、プロ
グラム・カウンタ、ステータス・レジスタ等のプログラ
ムの走行状態を記録するコンテクストを複数個保持でき
るレジスタ・ファイルと命令実行ユニットとを含み、上
記命令実行ユニットのデコード指示を契機に、保留中の
最も優先順位の高い割込みレベルが、現在走行中のプロ
グラムの走行レベルより優先順位が高い時に、割込み許
可信号と新しいプログラム走行レベルとを出力する割込
み調停回路を有するプロセッサに於て、特殊なソフトウ
ェア命令で値が設定可能で、各エントリがハードウェア
の定義している割込みレベルに対応していて、その割込
みレベルで走行するプログラムのコンテクストが上S己
しジスタ・ファイルに常駐するか否かを示している常駐
フラグと、該常駐フラグで常駐すると記されたレベルに
対してはそのコンテクストを上記レジスタ・ファイルの
どのフレームに格納するかを表すフレーム番号が、常駐
フラグで非常駐と記されたレベルに対してはそのコンテ
クストを格納しているメモリ領域を指すアドレスが登録
されているコンテクスト・テーブルと、 現在走行中のプログラムの走行レベルを保持し、その出
力を上記割込み調停回路及び前記命令実行ユニットに提
供し、上記割込み調停回路の出力する割込み許可信号の
指示でその割込み調停回路の出力するプログラム走行レ
ベルを格納するカレント走行レベル・レジスタと、 上記割込み調停回路の出力するプログラム走行レベルと
上記コンテクスト・テーブルの出力を入力として、上記
コンテクスト・テーブルから走行レベルに対応したエン
トリを取り出し、エントリの常駐フラグとフレーム番号
/アドレス部を出力し、さらに常駐フラグが常駐の時は
そのエントリのフレーム番号を、非常駐の時はディフォ
ルトとして“O“をフレーム番号として出力する常駐チ
ェック回路と、 上記常駐チェック回路の出力するフレーム番号を保持し
、現在走行中のプログラムが参照しているフレーム番号
としてその出力を上記レジスタ・ファイルに提供するフ
レーム番号レジスタと、上記常駐チェック回路の出力す
る常駐フラグを保持する常駐フラグ・レジスタと、 上記常駐チェック回路の出力するフレーム番号/アドレ
ス部を保持し、コンテクストの格納メモリアドレスとし
てその内容を前記命令実行ユニットに出力するコンテク
スト・アドレス・レジスタと、 上記常駐チェック回路の常駐フラグをこれから移ろうと
する新しいプログラム走行レベルの常駐7/非常駐情報
として入力し、上記常駐フラグ・レジスタをいままで走
っていたプログラム走行レベルの常駐・非常駐情報とし
て入力して、プログラム走行レベルの変更に際してコン
テクストのセーブ/リストアを前記命令実行ユニットに
対して指示するセーブ/リストア指示回路とから構成さ
れている。
グラム・カウンタ、ステータス・レジスタ等のプログラ
ムの走行状態を記録するコンテクストを複数個保持でき
るレジスタ・ファイルと命令実行ユニットとを含み、上
記命令実行ユニットのデコード指示を契機に、保留中の
最も優先順位の高い割込みレベルが、現在走行中のプロ
グラムの走行レベルより優先順位が高い時に、割込み許
可信号と新しいプログラム走行レベルとを出力する割込
み調停回路を有するプロセッサに於て、特殊なソフトウ
ェア命令で値が設定可能で、各エントリがハードウェア
の定義している割込みレベルに対応していて、その割込
みレベルで走行するプログラムのコンテクストが上S己
しジスタ・ファイルに常駐するか否かを示している常駐
フラグと、該常駐フラグで常駐すると記されたレベルに
対してはそのコンテクストを上記レジスタ・ファイルの
どのフレームに格納するかを表すフレーム番号が、常駐
フラグで非常駐と記されたレベルに対してはそのコンテ
クストを格納しているメモリ領域を指すアドレスが登録
されているコンテクスト・テーブルと、 現在走行中のプログラムの走行レベルを保持し、その出
力を上記割込み調停回路及び前記命令実行ユニットに提
供し、上記割込み調停回路の出力する割込み許可信号の
指示でその割込み調停回路の出力するプログラム走行レ
ベルを格納するカレント走行レベル・レジスタと、 上記割込み調停回路の出力するプログラム走行レベルと
上記コンテクスト・テーブルの出力を入力として、上記
コンテクスト・テーブルから走行レベルに対応したエン
トリを取り出し、エントリの常駐フラグとフレーム番号
/アドレス部を出力し、さらに常駐フラグが常駐の時は
そのエントリのフレーム番号を、非常駐の時はディフォ
ルトとして“O“をフレーム番号として出力する常駐チ
ェック回路と、 上記常駐チェック回路の出力するフレーム番号を保持し
、現在走行中のプログラムが参照しているフレーム番号
としてその出力を上記レジスタ・ファイルに提供するフ
レーム番号レジスタと、上記常駐チェック回路の出力す
る常駐フラグを保持する常駐フラグ・レジスタと、 上記常駐チェック回路の出力するフレーム番号/アドレ
ス部を保持し、コンテクストの格納メモリアドレスとし
てその内容を前記命令実行ユニットに出力するコンテク
スト・アドレス・レジスタと、 上記常駐チェック回路の常駐フラグをこれから移ろうと
する新しいプログラム走行レベルの常駐7/非常駐情報
として入力し、上記常駐フラグ・レジスタをいままで走
っていたプログラム走行レベルの常駐・非常駐情報とし
て入力して、プログラム走行レベルの変更に際してコン
テクストのセーブ/リストアを前記命令実行ユニットに
対して指示するセーブ/リストア指示回路とから構成さ
れている。
[実施例コ
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例による割込み処理方式の構成
を示すブロック図である。
を示すブロック図である。
命令実行ユニット1は、複数のコンテクスト・レジスタ
・ファイル2と内部バス3で接続されている。レジスタ
番号指示伝達信号線4は、命令実行ユニット1からコン
テクスト・レジスタ・ファイル2に対してレジスタ番号
を示す。割込み調停回路5は、カレント走行レベル・レ
ジスタ8の出力を入力として、プロセッサ内、外の割込
み要求を基にレベル・スイッチを行うべきタイミングを
検出して、変更する新しいプログラム走行レベル及び割
込み指示を新プログラム走行レベル伝達信号線6と割込
み許可信号線7で出力する。カレント走行レベル信号1
9は、現在のプログラム走行レベルを命令実行ユニット
1と割込み調停回路5に伝える。
・ファイル2と内部バス3で接続されている。レジスタ
番号指示伝達信号線4は、命令実行ユニット1からコン
テクスト・レジスタ・ファイル2に対してレジスタ番号
を示す。割込み調停回路5は、カレント走行レベル・レ
ジスタ8の出力を入力として、プロセッサ内、外の割込
み要求を基にレベル・スイッチを行うべきタイミングを
検出して、変更する新しいプログラム走行レベル及び割
込み指示を新プログラム走行レベル伝達信号線6と割込
み許可信号線7で出力する。カレント走行レベル信号1
9は、現在のプログラム走行レベルを命令実行ユニット
1と割込み調停回路5に伝える。
コンテクスト・テーブル1oは、全ての割込みレベルに
対して常駐/非常駐の区別と、対応するレジスタ・ファ
イルのフレーム番号またはコンテクスト格納領域のメモ
リアドレスを格納している。
対して常駐/非常駐の区別と、対応するレジスタ・ファ
イルのフレーム番号またはコンテクスト格納領域のメモ
リアドレスを格納している。
例えば、レジスタ・ファイル2が、第2図に示される様
に、4個のフレーム成り、割込みレベルが0〜63の6
4レベルにあるとすると、コンテクスト・テーブル10
は、第3図に示される様になる。第3図において、31
は常駐フラグを表し、32はコンテクスト格納アドレス
またはフレーム番号を表す。
に、4個のフレーム成り、割込みレベルが0〜63の6
4レベルにあるとすると、コンテクスト・テーブル10
は、第3図に示される様になる。第3図において、31
は常駐フラグを表し、32はコンテクスト格納アドレス
またはフレーム番号を表す。
第1図に戻って、11はテーブル出力信号線で、12は
常駐チェック回路を表す。常駐チェック回路12は、新
プログラム走行レベル伝達信号線6のレベル番号をイン
デックスとしてテーブル出力信号線11のテーブルをひ
き、該当するエントリのフレーム番号/コンテクスト格
納アドレスと常駐フラグを、それぞれコンテクスト格納
アドレス出力信号線20と常駐フラグ指示伝達信号線1
4で出力する。さらに、常駐チェック回路12、テーブ
ルから取り出されたエントリの常駐フラグの値に従い、
フラグが常駐の時はエントリのフレーム番号を、非常駐
の時はディフォルトとして“0゜を、フレーム番号出力
信号線13でフレーム番号レジスタ15に出力する。フ
レーム番号指示伝達信号線16のフレーム番号とレジス
タ番号指示伝達信号線4のレジスタ番号の組でレジスタ
・ファイル2のフレームとその中のレジスタがリード、
ライトの対象として指定される。常駐フラグ・レジスタ
17は、常駐フラグ指示伝達信号線14の内容を格納す
る。セーブ/リストア指示回路18は、プログラム走行
レベルが変更されるときに、常駐フラグ指示伝達信号線
14と常駐フラグ・レジスタ17を基にコンテクストの
セーブ、リストアの指示を命令実行ユニット1に対して
セーブ/リストア指示伝達信号線19を介して伝える。
常駐チェック回路を表す。常駐チェック回路12は、新
プログラム走行レベル伝達信号線6のレベル番号をイン
デックスとしてテーブル出力信号線11のテーブルをひ
き、該当するエントリのフレーム番号/コンテクスト格
納アドレスと常駐フラグを、それぞれコンテクスト格納
アドレス出力信号線20と常駐フラグ指示伝達信号線1
4で出力する。さらに、常駐チェック回路12、テーブ
ルから取り出されたエントリの常駐フラグの値に従い、
フラグが常駐の時はエントリのフレーム番号を、非常駐
の時はディフォルトとして“0゜を、フレーム番号出力
信号線13でフレーム番号レジスタ15に出力する。フ
レーム番号指示伝達信号線16のフレーム番号とレジス
タ番号指示伝達信号線4のレジスタ番号の組でレジスタ
・ファイル2のフレームとその中のレジスタがリード、
ライトの対象として指定される。常駐フラグ・レジスタ
17は、常駐フラグ指示伝達信号線14の内容を格納す
る。セーブ/リストア指示回路18は、プログラム走行
レベルが変更されるときに、常駐フラグ指示伝達信号線
14と常駐フラグ・レジスタ17を基にコンテクストの
セーブ、リストアの指示を命令実行ユニット1に対して
セーブ/リストア指示伝達信号線19を介して伝える。
コンテクスト格納アドレスレジスタ21は、格納アドレ
ス伝達信号線22で自レジスタの内容を命令実行ユニッ
ト1に伝達する。
ス伝達信号線22で自レジスタの内容を命令実行ユニッ
ト1に伝達する。
今、仮にレジスタ・ファイル2が、第2図に示される様
に、4個のフレームから成っているとする。この4個の
フレームそれぞれをフレーム0゜1.2.3と呼ぶ。そ
してコンテクストテーブル10は、第3図に示される様
に、常駐フラグ31とフレーム番号/格納アドレス部3
2から構成されている。そして、レベル61,62.6
3は常駐として定義され、常駐フラグ31にはそれぞれ
フレーム1,2.3が割り当てられていて、それ以外の
レベルは非常駐で、対応するコンテクストが格納されて
いるアドレスが、エントリのフレーム番号/格納アドレ
ス部32に登録されている。
に、4個のフレームから成っているとする。この4個の
フレームそれぞれをフレーム0゜1.2.3と呼ぶ。そ
してコンテクストテーブル10は、第3図に示される様
に、常駐フラグ31とフレーム番号/格納アドレス部3
2から構成されている。そして、レベル61,62.6
3は常駐として定義され、常駐フラグ31にはそれぞれ
フレーム1,2.3が割り当てられていて、それ以外の
レベルは非常駐で、対応するコンテクストが格納されて
いるアドレスが、エントリのフレーム番号/格納アドレ
ス部32に登録されている。
このテーブルの内容は、特殊なソフトウェア命令で更新
できる。
できる。
さて、レベル63でユーザプログラムが実行中と仮定す
ると、レジスタ8は“63′でレジスタ15は“3″を
指定している。又、制御フリップフロップ17は常駐の
意味の“1“を示している。
ると、レジスタ8は“63′でレジスタ15は“3″を
指定している。又、制御フリップフロップ17は常駐の
意味の“1“を示している。
こノ時、命令実行ユニット1はフレーム3のレジスタの
みを参照できる。
みを参照できる。
この状態で、仮にレベル62の割込みがあったとする。
現在の走行レベルも新しい割込みレベルも常駐なので、
この時のレベル中スイッチではコンテクストのセーブ、
リストアは友に必要ない。
この時のレベル中スイッチではコンテクストのセーブ、
リストアは友に必要ない。
従って、指示回路18はセーブ、リストアを指示せず、
レジスタ8の走行レベルは“622となり、レジスタ1
5のフレーム番号は“2mとなる。この時、割込み処理
ルーチンはセーブ、リストアすることなく、それ以降自
動的に命令実行ユニット1はフレーム2のレジスタを参
照する。この様に、常駐レベル間のレベル・スイッチで
はオーバ・ヘッドがゼロとなる。
レジスタ8の走行レベルは“622となり、レジスタ1
5のフレーム番号は“2mとなる。この時、割込み処理
ルーチンはセーブ、リストアすることなく、それ以降自
動的に命令実行ユニット1はフレーム2のレジスタを参
照する。この様に、常駐レベル間のレベル・スイッチで
はオーバ・ヘッドがゼロとなる。
次に、レベル10の割り込みがあったとする。
レベル10は、第3図に示す通りに非常駐である。
この時は、カレント走行レベル信号線9の走行レベルは
“10“となり、レジスタ15のフレーム番号は“0″
となる。そして指示回路18はレベル10のコンテクス
トをメモリ領域からリストアしてくることを命令実行ユ
ニット1に指示する。
“10“となり、レジスタ15のフレーム番号は“0″
となる。そして指示回路18はレベル10のコンテクス
トをメモリ領域からリストアしてくることを命令実行ユ
ニット1に指示する。
アドレスレジスタ21のコンテクスト領域アドレスに従
い、メモリから取り出されたコンテクストは、フレーム
0にロードされる。レベル62は常駐なので、レベル・
スイッチ前のプロセッサの状態はメモリにセーブする必
要はない。この場合でも、通常のプロセッサに比べれば
半分のオーバ・ヘッドでレベルの切り替えが行われる。
い、メモリから取り出されたコンテクストは、フレーム
0にロードされる。レベル62は常駐なので、レベル・
スイッチ前のプロセッサの状態はメモリにセーブする必
要はない。この場合でも、通常のプロセッサに比べれば
半分のオーバ・ヘッドでレベルの切り替えが行われる。
セーブ/リストア指示回路18の動作は、以上説明した
様に、レベル・スイッチ前後のプログラム走行レベルで
、第4図に示される様な動作指示を命令実行ユニット1
に対して行う。
様に、レベル・スイッチ前後のプログラム走行レベルで
、第4図に示される様な動作指示を命令実行ユニット1
に対して行う。
[発明の効果]
以上説明したように、本発明はプロセッサで定義してい
る割込みレベルの一部に対してはそのコンテクストをプ
ロセッサ内部に保持することによって、ハードウェアの
増加を抑えながら割込み処理時のコンテクストのセーブ
/リストアのす−バ・ヘッドを小さくする効果がある。
る割込みレベルの一部に対してはそのコンテクストをプ
ロセッサ内部に保持することによって、ハードウェアの
増加を抑えながら割込み処理時のコンテクストのセーブ
/リストアのす−バ・ヘッドを小さくする効果がある。
又、本発明ではプロセッサに常駐させる割込みレベルを
特殊なソウトウエア命令で指定できるので、アプリケジ
ョンに応して頻繁に使うレベルを常駐に割り当てていく
ことで、レジスタ・ファイルのフレームの有効活用を計
ることが出来る。一般に、与えられた全ての割込みレベ
ルを使うアブリケーンヨン・プログラムは希で、本発明
のように、ある限られたレベルに対してのみ常駐をサポ
ートすることは合理的と思われる。特に常駐のレベル間
でのコンテクスト・スイッチではセーブ/リストアは不
飲なので、きわめて高速にその割込み処理を行うことが
出来る。
特殊なソウトウエア命令で指定できるので、アプリケジ
ョンに応して頻繁に使うレベルを常駐に割り当てていく
ことで、レジスタ・ファイルのフレームの有効活用を計
ることが出来る。一般に、与えられた全ての割込みレベ
ルを使うアブリケーンヨン・プログラムは希で、本発明
のように、ある限られたレベルに対してのみ常駐をサポ
ートすることは合理的と思われる。特に常駐のレベル間
でのコンテクスト・スイッチではセーブ/リストアは不
飲なので、きわめて高速にその割込み処理を行うことが
出来る。
第1図は本発明の一実施例による割込み処理方式の構成
を示すブロック図、第2図は複数コンテクスト・レジス
タψファイルの一構成例を示す図、第3図はコンテクス
ト・テーブルの一例を示す図、第4図はセーブ/リスト
ア指示回路の動作を現在のプログラム走行レベルと新し
いプログラム走行レベルとの組合せで示した図である。 1・・・命令実行ユニット、2・・・複数コンテクスト
・レジスタ・ファイル、3・・・内部バス、4・・・レ
ジスタ番号指示伝達信号線、5・・・割込み調停回路、
6・・・新プログラム走行レベル伝達信号線、7・・・
割込み許可信号線、8・・・カレント走行レベル・レジ
スタ、9・・・カレント走行レベル信号線、10・・・
コンテクスト・テーブル、11・・・テーブル出力信号
線、12・・・常駐チェック回路、13・・・フレーム
番号出力信号線、14・・・常駐フラグ指示伝達信号線
、15・・・フレーム番号レジスタ、16・・・フレー
ム番号指示伝達信号線、17・・・常駐フラグ・レジス
タ、18・・・セーブ/リストア指示回路、19・・・
セーブ/リストア指示伝達信号線、20・・・コンテク
スト格納アドレス出力信号線、21・・・コンテクスト
格納アドレスレジスタ、22・・・格納アドレス伝達信
号線、31・・・常駐フラグ、32・・・フレーム番号
/格納アドレス部。 第1図 第2図 第3図
を示すブロック図、第2図は複数コンテクスト・レジス
タψファイルの一構成例を示す図、第3図はコンテクス
ト・テーブルの一例を示す図、第4図はセーブ/リスト
ア指示回路の動作を現在のプログラム走行レベルと新し
いプログラム走行レベルとの組合せで示した図である。 1・・・命令実行ユニット、2・・・複数コンテクスト
・レジスタ・ファイル、3・・・内部バス、4・・・レ
ジスタ番号指示伝達信号線、5・・・割込み調停回路、
6・・・新プログラム走行レベル伝達信号線、7・・・
割込み許可信号線、8・・・カレント走行レベル・レジ
スタ、9・・・カレント走行レベル信号線、10・・・
コンテクスト・テーブル、11・・・テーブル出力信号
線、12・・・常駐チェック回路、13・・・フレーム
番号出力信号線、14・・・常駐フラグ指示伝達信号線
、15・・・フレーム番号レジスタ、16・・・フレー
ム番号指示伝達信号線、17・・・常駐フラグ・レジス
タ、18・・・セーブ/リストア指示回路、19・・・
セーブ/リストア指示伝達信号線、20・・・コンテク
スト格納アドレス出力信号線、21・・・コンテクスト
格納アドレスレジスタ、22・・・格納アドレス伝達信
号線、31・・・常駐フラグ、32・・・フレーム番号
/格納アドレス部。 第1図 第2図 第3図
Claims (1)
- 【特許請求の範囲】 1、汎用レジスタ、プログラム・カウンタ、ステータス
・レジスタ等のプログラムの走行状態を記録するコンテ
クストを複数個保持できるレジスタ・ファイルと命令実
行ユニットとを含み、上記命令実行ユニットのデコード
指示を契機に、保留中の最も優先順位の高い割込みレベ
ルが、現在走行中のプログラムの走行レベルより優先順
位が高い時に、割込み許可信号と新しいプログラム走行
レベルとを出力する割込み調停回路を有するプロセッサ
に於て、 特殊なソフトウェア命令で値が設定可能で、各エントリ
がハードウェアの定義している割込みレベルに対応して
いて、その割込みレベルで走行するプログラムのコンテ
クストが上記レジスタ・ファイルに常駐するか否かを示
している常駐フラグと、該常駐フラグで常駐すると記さ
れたレベルに対してはそのコンテクストを上記レジスタ
・ファイルのどのフレームに格納するかを表すフレーム
番号が、常駐フラグで非常駐と記されたレベルに対して
はそのコンテクストを格納しているメモリ領域を指すア
ドレスが登録されているコンテクスト・テーブルと、 現在走行中のプログラムの走行レベルを保持し、その出
力を上記割込み調停回路及び前記命令実行ユニットに提
供し、上記割込み調停回路の出力する割込み許可信号の
指示でその割込み調停回路の出力するプログラム走行レ
ベルを格納するカレント走行レベル・レジスタと、 上記割込み調停回路の出力するプログラム走行レベルと
上記コンテクスト・テーブルの出力を入力として、上記
コンテクスト・テーブルから走行レベルに対応したエン
トリを取り出し、エントリの常駐フラグとフレーム番号
/アドレス部を出力し、さらに常駐フラグが常駐の時は
そのエントリのフレーム番号を、非常駐の時はディフォ
ルトとして“0”をフレーム番号として出力する常駐チ
ェック回路と、 上記常駐チェック回路の出力するフレーム番号を保持し
、現在走行中のプログラムが参照しているフレーム番号
としてその出力を上記レジスタ・ファイルに提供するフ
レーム番号レジスタと、上記常駐チェック回路の出力す
る常駐フラグを保持する常駐フラグ・レジスタと、 上記常駐チェック回路の出力するフレーム番号/アドレ
ス部を保持し、コンテクストの格納メモリアドレスとし
てその内容を前記命令実行ユニットに出力するコンテク
スト・アドレス・レジスタと、 上記常駐チェック回路の常駐フラグをこれから移ろうと
する新しいプログラム走行レベルの常駐/非常駐情報と
して入力し、上記常駐フラグ・レジスタをいままで走っ
ていたプログラム走行レベルの常駐・非常駐情報として
入力して、プログラム走行レベルの変更に際してコンテ
クストのセーブ/リストアを前記命令実行ユニットに対
して指示するセーブ/リストア指示回路とを具備するこ
とを特徴とする割込み処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32803488A JPH02173828A (ja) | 1988-12-27 | 1988-12-27 | 割込み処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32803488A JPH02173828A (ja) | 1988-12-27 | 1988-12-27 | 割込み処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02173828A true JPH02173828A (ja) | 1990-07-05 |
Family
ID=18205776
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32803488A Pending JPH02173828A (ja) | 1988-12-27 | 1988-12-27 | 割込み処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02173828A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010134496A (ja) * | 2008-12-02 | 2010-06-17 | Hitachi Ltd | 仮想計算機システム、仮想計算機システムにおけるハイパバイザ、及び仮想計算機システムにおけるスケジューリング方法 |
| US8024732B2 (en) * | 2008-07-28 | 2011-09-20 | Microsoft Corporation | State separation for application changes |
-
1988
- 1988-12-27 JP JP32803488A patent/JPH02173828A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8024732B2 (en) * | 2008-07-28 | 2011-09-20 | Microsoft Corporation | State separation for application changes |
| US20110302581A1 (en) * | 2008-07-28 | 2011-12-08 | Microsoft Corporation | State Separation for Virtual Applications |
| US8458701B2 (en) * | 2008-07-28 | 2013-06-04 | Microsoft Corporation | State separation for virtual applications |
| US8984512B2 (en) | 2008-07-28 | 2015-03-17 | Microsoft Technology Licensing, Llc | State separation for applications |
| US9304791B2 (en) | 2008-07-28 | 2016-04-05 | Microsoft Technology Licensing, Llc | State separation for virtual applications |
| JP2010134496A (ja) * | 2008-12-02 | 2010-06-17 | Hitachi Ltd | 仮想計算機システム、仮想計算機システムにおけるハイパバイザ、及び仮想計算機システムにおけるスケジューリング方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5161226A (en) | Microprocessor inverse processor state usage | |
| US6360243B1 (en) | Method, device and article of manufacture for implementing a real-time task scheduling accelerator | |
| US6430593B1 (en) | Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system | |
| US6128672A (en) | Data transfer using software interrupt service routine between host processor and external device with queue of host processor and hardware queue pointers on external device | |
| US5812868A (en) | Method and apparatus for selecting a register file in a data processing system | |
| US6553487B1 (en) | Device and method for performing high-speed low overhead context switch | |
| US7810096B2 (en) | Computer executing multiple operating systems | |
| EP0266800B1 (en) | Data processor having different interrupt processing modes | |
| US7412590B2 (en) | Information processing apparatus and context switching method | |
| JP3970609B2 (ja) | プロセッサシステム | |
| JPH02173828A (ja) | 割込み処理方式 | |
| US4816992A (en) | Method of operating a data processing system in response to an interrupt | |
| GB2372348A (en) | A multi-mode, multi-tasking processor with reduction in context preservation and restoration to save processing time | |
| JPH0414376B2 (ja) | ||
| JP2643931B2 (ja) | 情報処理装置 | |
| JPH039431A (ja) | 割込み処理方式 | |
| JPS59218569A (ja) | マイクロ・コンピユ−タ | |
| JPH0298744A (ja) | 割込み処理方式 | |
| JPH02163834A (ja) | マルチ・タスク処理方式 | |
| WO1999046679A1 (en) | Apparatus, method and article of manufacture for use with a priority based real-time operating system | |
| JPH04195540A (ja) | 割り込み処理方式 | |
| JPH03182945A (ja) | 主記憶内データ転送方式 | |
| JP2742245B2 (ja) | 並列計算機 | |
| JPH0477930A (ja) | マイクロコンピュータ | |
| JPS63142416A (ja) | 入出力制御方式 |