JPH04247523A - 例外処理装置および例外処理方法 - Google Patents
例外処理装置および例外処理方法Info
- Publication number
- JPH04247523A JPH04247523A JP3013285A JP1328591A JPH04247523A JP H04247523 A JPH04247523 A JP H04247523A JP 3013285 A JP3013285 A JP 3013285A JP 1328591 A JP1328591 A JP 1328591A JP H04247523 A JPH04247523 A JP H04247523A
- Authority
- JP
- Japan
- Prior art keywords
- exception
- instruction
- execution
- address
- stack
- 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.)
- Granted
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、並列同時実行可能な複
数の演算処理ユニットを有するプロセッサにおける例外
処理および例外ハンドラからの復帰を制御する例外処理
装置および例外処理方法に関する。
数の演算処理ユニットを有するプロセッサにおける例外
処理および例外ハンドラからの復帰を制御する例外処理
装置および例外処理方法に関する。
【0002】
【従来の技術】従来の例外処理装置の例としては、MO
TOROLA社「MC88100 RISC MICR
OPROCESSOR USER’S MANUAL
second editon」1.4 「EXECUT
ION MODEL」およびSECTION 6 「E
XCEPTIONS」に示されている。図9はこの従来
の例外処理装置を備えたモトローラ社のマイクロプロセ
ッサMC88100の実行ユニットの構成図を示すもの
である。200は、2つのパイプラインステージからな
り、同時に処理可能な命令をフェッチし解読する命令ユ
ニットである。201は、整数演算、論理演算、および
ビットフィールドを処理する整数ユニットである。20
2は、アドレス計算をするステージと2段のメモリアク
セスをするステージからなるデータユニットである。 203は、5段のパイプラインステージからなる浮動小
数点加減算,比較,変換を行なう浮動小数点ユニットで
ある。204は、4つのステージで整数乗算機能を有し
、6段のパイプラインステージで浮動小数点乗算を演算
する浮動小数点ユニットである。
TOROLA社「MC88100 RISC MICR
OPROCESSOR USER’S MANUAL
second editon」1.4 「EXECUT
ION MODEL」およびSECTION 6 「E
XCEPTIONS」に示されている。図9はこの従来
の例外処理装置を備えたモトローラ社のマイクロプロセ
ッサMC88100の実行ユニットの構成図を示すもの
である。200は、2つのパイプラインステージからな
り、同時に処理可能な命令をフェッチし解読する命令ユ
ニットである。201は、整数演算、論理演算、および
ビットフィールドを処理する整数ユニットである。20
2は、アドレス計算をするステージと2段のメモリアク
セスをするステージからなるデータユニットである。 203は、5段のパイプラインステージからなる浮動小
数点加減算,比較,変換を行なう浮動小数点ユニットで
ある。204は、4つのステージで整数乗算機能を有し
、6段のパイプラインステージで浮動小数点乗算を演算
する浮動小数点ユニットである。
【0003】以上のような構成要素よりなる従来の例外
処理装置を持つマイクロプロセッサにおいては、データ
等の干渉が無い場合には、命令ユニット200で解読し
た命令を最大4個各ユニットにおいて同時に並列処理で
きる。処理は各ユニットでパイプライン処理されるため
、通常は整数ユニット201,データユニット202,
浮動小数点ユニット203,浮動小数点ユニット204
の順に終了していく。たとえば、データユニット202
で例外が発生した場合には、2組の浮動小数点ユニット
203,204については直ちに処理を中断させ、ユニ
ット内部を凍結させる。整数ユニット201については
既に処理は完了しているため、続いて例外処理を行なう
。例外ハンドラによってデータアクセス例外に関する例
外原因を除去した後、例外からの復帰命令により元の処
理シーケンスに戻り後続する命令を実行する。同時に復
帰命令によって、浮動小数点ユニット203,204の
凍結は解除になり、中断したところから継続実行する。 また、整数ユニット201で例外が発生した場合には、
2組の浮動小数点ユニット203,204については直
ちに処理を中断させ、ユニット内部を凍結させる。 外部バスアクセスを伴うデータユニット202について
は処理完了を待ち、その後例外処理を行なう。データユ
ニット202での例外と同様、例外ハンドラによって整
数処理例外に関する例外原因を除去した後、例外からの
復帰命令により元の処理シーケンスに戻り後続する命令
を実行する。復帰命令によって、浮動小数点ユニット2
03,204の凍結は解除になり、中断したところから
継続実行する。
処理装置を持つマイクロプロセッサにおいては、データ
等の干渉が無い場合には、命令ユニット200で解読し
た命令を最大4個各ユニットにおいて同時に並列処理で
きる。処理は各ユニットでパイプライン処理されるため
、通常は整数ユニット201,データユニット202,
浮動小数点ユニット203,浮動小数点ユニット204
の順に終了していく。たとえば、データユニット202
で例外が発生した場合には、2組の浮動小数点ユニット
203,204については直ちに処理を中断させ、ユニ
ット内部を凍結させる。整数ユニット201については
既に処理は完了しているため、続いて例外処理を行なう
。例外ハンドラによってデータアクセス例外に関する例
外原因を除去した後、例外からの復帰命令により元の処
理シーケンスに戻り後続する命令を実行する。同時に復
帰命令によって、浮動小数点ユニット203,204の
凍結は解除になり、中断したところから継続実行する。 また、整数ユニット201で例外が発生した場合には、
2組の浮動小数点ユニット203,204については直
ちに処理を中断させ、ユニット内部を凍結させる。 外部バスアクセスを伴うデータユニット202について
は処理完了を待ち、その後例外処理を行なう。データユ
ニット202での例外と同様、例外ハンドラによって整
数処理例外に関する例外原因を除去した後、例外からの
復帰命令により元の処理シーケンスに戻り後続する命令
を実行する。復帰命令によって、浮動小数点ユニット2
03,204の凍結は解除になり、中断したところから
継続実行する。
【0004】この例外発生時における浮動小数点処理の
即時中断によって、並列同時実行する4命令のうちの先
行する命令での例外発生時において、後続命令の例外発
生による多重例外を避けることができる。そして、中断
後の状態凍結および復帰後の継続実行によって、浮動小
数点ユニット203,204内部の資源の外部への退避
、復元を削減することができる。
即時中断によって、並列同時実行する4命令のうちの先
行する命令での例外発生時において、後続命令の例外発
生による多重例外を避けることができる。そして、中断
後の状態凍結および復帰後の継続実行によって、浮動小
数点ユニット203,204内部の資源の外部への退避
、復元を削減することができる。
【0005】また、このマイクロプロセッサMC881
00は、命令終了ごとに内部状態をシャドーレジスタと
呼ばれる制御レジスタにコピーする。例外発生時にはシ
ャドーレジスタの更新を凍結し、例外処理ハンドラは、
シャドーレジスタの内容より例外要因の除去を行う。な
お、プロセッサは、例外発生時、自動的にシャドーレジ
スタの内容をスタックに退避しない。
00は、命令終了ごとに内部状態をシャドーレジスタと
呼ばれる制御レジスタにコピーする。例外発生時にはシ
ャドーレジスタの更新を凍結し、例外処理ハンドラは、
シャドーレジスタの内容より例外要因の除去を行う。な
お、プロセッサは、例外発生時、自動的にシャドーレジ
スタの内容をスタックに退避しない。
【0006】ところで、上述したように、整数ユニット
201で最初に例外が発生した場合には、継続実行する
データユニット202での例外発生により多重例外の可
能性があるが、データアクセス例外発生を示すフラグを
独立に設けることにより、例外ハンドラに多重例外を伝
え例外処理を任せることが可能になる。
201で最初に例外が発生した場合には、継続実行する
データユニット202での例外発生により多重例外の可
能性があるが、データアクセス例外発生を示すフラグを
独立に設けることにより、例外ハンドラに多重例外を伝
え例外処理を任せることが可能になる。
【0007】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、以下のような問題点を有している。 (1)例外発生時における浮動小数点処理の即時中断お
よび中断後の状態凍結によって、多重例外発生を避け、
ユニット内部の資源の外部への退避、復元によるオーバ
ーヘッドを削減することができるが、例外要因を除去す
る例外ハンドラ内では浮動小数点ユニット203,20
4を使用できない。今後、処理ユニットやユニットのパ
イプライン構成の多重化、多様化を考えると、ハンドラ
内での使用禁止の制限は大きな障害となる。たとえば、
マイクロプロセッサMC88100の整数ユニット20
1が複数の専用ユニット(整数演算ユニット,論理演算
ユニット,ビット操作ユニットなど)に細分化された場
合には、各専用ユニットをハンドラ内で使用禁止にでき
ないことは明かである。 (2)(1)の制限を解消するために、処理を中断した
ユニットの内部状態をシャドーレジスタに退避する方法
もあるが、途中段のパイプラインステージにおける管理
すべき内部資源は多く、ハードウェア量の増加を招く。 また、内部資源を外部に退避する方法もあるが、上述の
ように内部資源は多く、バスアクセスによるオーバーヘ
ッドの増大を引き起こす。 (3)(2)の問題を解決するために、処理を中断した
ユニットについては、例外から通常シーケンスへの復帰
時に、再度実行する方法がある。MC88100では、
通常のシーケンスに復帰するために、再実行する命令の
先頭アドレスをシャドーレジスタに退避しているので、
このアドレスを利用する方法もあるが、連続する命令の
うち一部の命令だけ再実行する場合には適用できない。 たとえば、命令NまでとN+3は既に実行を完了、N+
1とN+2は処理が中断、復帰後はN+1とN+2を処
理し、続いてN+4以降を処理する場合である。 (4)シャドーレジスタに内部資源を退避するために、
同時に例外が発生する多重例外への対応が困難である。 また、例外ハンドラ内での例外発生(例外のネスティン
グ)に対応するためには、ハンドラ自身が例外発生より
以前にシャドーレジスタをスタックに退避する必要があ
る。ハンドラによる例外要因除去において内部資源を高
速アクセスできるようシャドーレジスタを設けたにも関
わらず、例外のネスティングをサポートするためには結
局スタックを生成しなければならない。
うな構成では、以下のような問題点を有している。 (1)例外発生時における浮動小数点処理の即時中断お
よび中断後の状態凍結によって、多重例外発生を避け、
ユニット内部の資源の外部への退避、復元によるオーバ
ーヘッドを削減することができるが、例外要因を除去す
る例外ハンドラ内では浮動小数点ユニット203,20
4を使用できない。今後、処理ユニットやユニットのパ
イプライン構成の多重化、多様化を考えると、ハンドラ
内での使用禁止の制限は大きな障害となる。たとえば、
マイクロプロセッサMC88100の整数ユニット20
1が複数の専用ユニット(整数演算ユニット,論理演算
ユニット,ビット操作ユニットなど)に細分化された場
合には、各専用ユニットをハンドラ内で使用禁止にでき
ないことは明かである。 (2)(1)の制限を解消するために、処理を中断した
ユニットの内部状態をシャドーレジスタに退避する方法
もあるが、途中段のパイプラインステージにおける管理
すべき内部資源は多く、ハードウェア量の増加を招く。 また、内部資源を外部に退避する方法もあるが、上述の
ように内部資源は多く、バスアクセスによるオーバーヘ
ッドの増大を引き起こす。 (3)(2)の問題を解決するために、処理を中断した
ユニットについては、例外から通常シーケンスへの復帰
時に、再度実行する方法がある。MC88100では、
通常のシーケンスに復帰するために、再実行する命令の
先頭アドレスをシャドーレジスタに退避しているので、
このアドレスを利用する方法もあるが、連続する命令の
うち一部の命令だけ再実行する場合には適用できない。 たとえば、命令NまでとN+3は既に実行を完了、N+
1とN+2は処理が中断、復帰後はN+1とN+2を処
理し、続いてN+4以降を処理する場合である。 (4)シャドーレジスタに内部資源を退避するために、
同時に例外が発生する多重例外への対応が困難である。 また、例外ハンドラ内での例外発生(例外のネスティン
グ)に対応するためには、ハンドラ自身が例外発生より
以前にシャドーレジスタをスタックに退避する必要があ
る。ハンドラによる例外要因除去において内部資源を高
速アクセスできるようシャドーレジスタを設けたにも関
わらず、例外のネスティングをサポートするためには結
局スタックを生成しなければならない。
【0008】本発明はこのような点を改善するために、
並列同時実行可能な複数の実行ユニットを有するプロセ
ッサにおいて、ある実行ユニットで例外が発生した場合
に、その他の実行ユニットにおける処理を中断し、すべ
ての中断した命令のアドレスをスタックに格納する。そ
して例外ハンドラによる例外要因除去後には、スタック
上の未終了命令のアドレスより未終了命令をフェッチし
、順次、未終了命令を再実行する。未終了命令を再実行
するときに例外が発生した場合には、最初に生成したス
タックに続いて、新たに発生した例外情報をスタックに
格納する例外処理装置および例外処理方法を提供するこ
とを目的とする。
並列同時実行可能な複数の実行ユニットを有するプロセ
ッサにおいて、ある実行ユニットで例外が発生した場合
に、その他の実行ユニットにおける処理を中断し、すべ
ての中断した命令のアドレスをスタックに格納する。そ
して例外ハンドラによる例外要因除去後には、スタック
上の未終了命令のアドレスより未終了命令をフェッチし
、順次、未終了命令を再実行する。未終了命令を再実行
するときに例外が発生した場合には、最初に生成したス
タックに続いて、新たに発生した例外情報をスタックに
格納する例外処理装置および例外処理方法を提供するこ
とを目的とする。
【0009】
【課題を解決するための手段】上記の目的を達成するた
めに、請求項1〜6記載の本発明の例外処理装置および
例外処理方法は、並列実行可能な演算ユニットで実行さ
れる命令のアドレスを格納する複数の命令アドレスレジ
スタと、例外発生を検出する例外発生認識回路と、演算
ユニットに対しての命令の実行を起動しまたは中断する
ことを指令し、そして命令の実行終了を検出する実行制
御回路と、例外ハンドラが必要とする例外に関する情報
を生成する例外情報生成回路と、演算ユニットでの実行
終了後に実行される命令を格納する次命令アドレスレジ
スタと、例外ハンドラと例外ハンドラから例外発生前シ
ーケンスへの復帰に必要な情報をスタックに格納する例
外制御回路とを備えた構成となっている。
めに、請求項1〜6記載の本発明の例外処理装置および
例外処理方法は、並列実行可能な演算ユニットで実行さ
れる命令のアドレスを格納する複数の命令アドレスレジ
スタと、例外発生を検出する例外発生認識回路と、演算
ユニットに対しての命令の実行を起動しまたは中断する
ことを指令し、そして命令の実行終了を検出する実行制
御回路と、例外ハンドラが必要とする例外に関する情報
を生成する例外情報生成回路と、演算ユニットでの実行
終了後に実行される命令を格納する次命令アドレスレジ
スタと、例外ハンドラと例外ハンドラから例外発生前シ
ーケンスへの復帰に必要な情報をスタックに格納する例
外制御回路とを備えた構成となっている。
【0010】また請求項7および8記載の本発明の例外
処理装置は、並列実行可能な演算ユニットで実行される
命令のアドレスを格納する複数の命令アドレスレジスタ
と、例外発生を検出する例外発生認識回路と、演算ユニ
ットに対して実行する命令を最適に割り付けかつ命令の
実行を起動することを指令し、そして実行終了を検出す
る実行制御回路と、再実行すべき命令の個数を格納する
カウンタと、命令をフェッチする命令フェッチ回路と、
例外ハンドラからの復帰を制御するリターン制御回路と
を備えた構成となっている。
処理装置は、並列実行可能な演算ユニットで実行される
命令のアドレスを格納する複数の命令アドレスレジスタ
と、例外発生を検出する例外発生認識回路と、演算ユニ
ットに対して実行する命令を最適に割り付けかつ命令の
実行を起動することを指令し、そして実行終了を検出す
る実行制御回路と、再実行すべき命令の個数を格納する
カウンタと、命令をフェッチする命令フェッチ回路と、
例外ハンドラからの復帰を制御するリターン制御回路と
を備えた構成となっている。
【0011】さらに請求項9および10記載の本発明の
例外処理装置および例外処理方法は、並列実行可能な演
算ユニットで実行される命令のアドレスを格納する複数
の命令アドレスレジスタと、例外発生を検出する例外発
生認識回路と、演算ユニットに対して命令を最適に割り
付けかつ命令の実行を起動させ、または中断を指令し、
そして命令の実行終了を検出する実行制御回路と、例外
ハンドラが必要とする例外に関する情報を生成する例外
情報生成回路と、例外ハンドラと例外ハンドラからの復
帰に必要な情報をスタックに格納する例外制御回路と、
再実行すべき命令の個数を格納するカウンタと、命令を
フェッチする命令フェッチ回路と、例外発生前シーケン
スへの復帰を制御するリターン制御回路とを備えた構成
となっている。
例外処理装置および例外処理方法は、並列実行可能な演
算ユニットで実行される命令のアドレスを格納する複数
の命令アドレスレジスタと、例外発生を検出する例外発
生認識回路と、演算ユニットに対して命令を最適に割り
付けかつ命令の実行を起動させ、または中断を指令し、
そして命令の実行終了を検出する実行制御回路と、例外
ハンドラが必要とする例外に関する情報を生成する例外
情報生成回路と、例外ハンドラと例外ハンドラからの復
帰に必要な情報をスタックに格納する例外制御回路と、
再実行すべき命令の個数を格納するカウンタと、命令を
フェッチする命令フェッチ回路と、例外発生前シーケン
スへの復帰を制御するリターン制御回路とを備えた構成
となっている。
【0012】
【作用】本発明は上記の構成により、並列同時実行可能
な複数の実行ユニットを有するプロセッサにおいて、あ
る実行ユニットで例外が発生した場合に、その他の実行
ユニットにおける処理を中断し、すべての中断した命令
のアドレスをスタックに格納することにより、多重例外
の発生を禁止でき設計の複雑さおよびハードウェア量を
抑えることができる。また、例外発生時に処理を中断す
ることより、例外時の高速なレスポンスを得ることがで
きる。
な複数の実行ユニットを有するプロセッサにおいて、あ
る実行ユニットで例外が発生した場合に、その他の実行
ユニットにおける処理を中断し、すべての中断した命令
のアドレスをスタックに格納することにより、多重例外
の発生を禁止でき設計の複雑さおよびハードウェア量を
抑えることができる。また、例外発生時に処理を中断す
ることより、例外時の高速なレスポンスを得ることがで
きる。
【0013】そして例外ハンドラによる例外要因除去後
には、スタック上の未終了命令のアドレスより未終了命
令をフェッチし、順次、未終了命令を再実行することよ
り、並列同時実行可能な演算ユニットを持つプロセッサ
においても、例外発生に対して整合性を保証できる例外
処理が行え、システム全体としての信頼性も向上できる
。また、例外処理後、中断された命令を命令の先頭から
再実行するため、プロセッサ内の資源をすべて例外処理
ハンドラに解放でき、バスアクセスによるオーバーヘッ
ドの増化を抑えることができる。
には、スタック上の未終了命令のアドレスより未終了命
令をフェッチし、順次、未終了命令を再実行することよ
り、並列同時実行可能な演算ユニットを持つプロセッサ
においても、例外発生に対して整合性を保証できる例外
処理が行え、システム全体としての信頼性も向上できる
。また、例外処理後、中断された命令を命令の先頭から
再実行するため、プロセッサ内の資源をすべて例外処理
ハンドラに解放でき、バスアクセスによるオーバーヘッ
ドの増化を抑えることができる。
【0014】未終了命令を再実行するときに例外が発生
した場合、最初に生成したスタックに続いて、新たに発
生した例外情報をプッシュすることにより、例外処理の
整合性が保証できる。また、例外処理ハンドラや例外処
理からのリターンを行なう命令に対して、最初発生した
例外が生成するスタックと全く同じインタフェースを実
現できる。そして、最初の例外によって生成されたスタ
ックを使用することによって、新たにスタックに積む回
数を抑えることができる。
した場合、最初に生成したスタックに続いて、新たに発
生した例外情報をプッシュすることにより、例外処理の
整合性が保証できる。また、例外処理ハンドラや例外処
理からのリターンを行なう命令に対して、最初発生した
例外が生成するスタックと全く同じインタフェースを実
現できる。そして、最初の例外によって生成されたスタ
ックを使用することによって、新たにスタックに積む回
数を抑えることができる。
【0015】
【実施例】図1は本発明の例外処理装置の構成図である
。図1において、1は4つの命令を同時に解読し実行ユ
ニットに使用されるマイクロ命令を生成する解読ユニッ
トである。2は解読ユニット1が生成した4つのマイク
ロ命令のうち4つの実行ユニット30〜33で同時に実
行可能なマイクロ命令のみを取り出し、それぞれ最適な
実行ユニットに発行する実行制御ユニット(実行制御回
路)である。同時に、実行ユニット30〜33内での処
理が終了したか否かの管理も行なう。4は例外発生時に
例外処理を行なう例外処理ユニットである。5は、例外
ハンドラから通常シーケンスに戻る命令(以後、RFE
:Return From Exceptionと略)
を制御するRFE制御回路である。6は例外処理ユニッ
ト4やRFE制御回路5からの要求によりメモリとのア
クセスを行なうバス・インタフェース・ユニット(以後
、BIUと略)である。10〜13は解読ユニット1で
解読中の4つの命令に対応するアドレスを格納するPC
D_A,PCD_B,PCD_C,PCD_Dである。 次命令アドレスレジスタとしてPCD_Aには一番に実
行する命令のアドレスを格納する(通常、最も小さいア
ドレスになる)。20〜23は実行ユニット_A30〜
_D33で実行中の命令のアドレスを格納する命令アド
レスレジスタであるPCX_A,PCX_B,PCX_
C,PCX_Dである。24はプロセッサの状態を格納
したプロセッサ・ステータス・レジスタ(以後、PSR
:Processor StatusRegister
と略)である。30〜33は実行制御ユニット2で割り
当てられたマイクロ命令を実行する実行ユニット(演算
ユニット)_A〜_Dである。40は実行ユニット_A
30〜_D33の状態を監視し例外発生を検出する例外
発生認識回路である。41は例外発生認識回路40より
発生した例外に関する情報を受け取り、発生した例外を
特定する例外解析回路である。42は例外解析回路41
で特定した例外の種類に応じて、ソフトウエアである例
外処理ハンドラに伝える例外情報を生成する例外情報生
成回路である。43は例外発生時に作成するスタックの
管理を行なう例外制御回路である。50はスタック上の
値を格納し、かつ0検出の可能なカウンタである。図2
は本発明である例外処理装置を中心として例外発生時に
動作する例外処理フロー図である。図3はRFE命令の
処理フロー図である。図4はRFE命令で例外が発生し
たときの処理フロー図である。
。図1において、1は4つの命令を同時に解読し実行ユ
ニットに使用されるマイクロ命令を生成する解読ユニッ
トである。2は解読ユニット1が生成した4つのマイク
ロ命令のうち4つの実行ユニット30〜33で同時に実
行可能なマイクロ命令のみを取り出し、それぞれ最適な
実行ユニットに発行する実行制御ユニット(実行制御回
路)である。同時に、実行ユニット30〜33内での処
理が終了したか否かの管理も行なう。4は例外発生時に
例外処理を行なう例外処理ユニットである。5は、例外
ハンドラから通常シーケンスに戻る命令(以後、RFE
:Return From Exceptionと略)
を制御するRFE制御回路である。6は例外処理ユニッ
ト4やRFE制御回路5からの要求によりメモリとのア
クセスを行なうバス・インタフェース・ユニット(以後
、BIUと略)である。10〜13は解読ユニット1で
解読中の4つの命令に対応するアドレスを格納するPC
D_A,PCD_B,PCD_C,PCD_Dである。 次命令アドレスレジスタとしてPCD_Aには一番に実
行する命令のアドレスを格納する(通常、最も小さいア
ドレスになる)。20〜23は実行ユニット_A30〜
_D33で実行中の命令のアドレスを格納する命令アド
レスレジスタであるPCX_A,PCX_B,PCX_
C,PCX_Dである。24はプロセッサの状態を格納
したプロセッサ・ステータス・レジスタ(以後、PSR
:Processor StatusRegister
と略)である。30〜33は実行制御ユニット2で割り
当てられたマイクロ命令を実行する実行ユニット(演算
ユニット)_A〜_Dである。40は実行ユニット_A
30〜_D33の状態を監視し例外発生を検出する例外
発生認識回路である。41は例外発生認識回路40より
発生した例外に関する情報を受け取り、発生した例外を
特定する例外解析回路である。42は例外解析回路41
で特定した例外の種類に応じて、ソフトウエアである例
外処理ハンドラに伝える例外情報を生成する例外情報生
成回路である。43は例外発生時に作成するスタックの
管理を行なう例外制御回路である。50はスタック上の
値を格納し、かつ0検出の可能なカウンタである。図2
は本発明である例外処理装置を中心として例外発生時に
動作する例外処理フロー図である。図3はRFE命令の
処理フロー図である。図4はRFE命令で例外が発生し
たときの処理フロー図である。
【0016】以上のように構成された本実施例の例外処
理装置および例外処理方法について、以下図5に示すプ
ログラムの説明図と、図6に示す実行制御ユニット2と
実行ユニット_A30〜_D33の詳細な構成図と、図
7および図8に示すメモリ上のスタックの説明図とを併
用して本実施例の動作を説明する。図5は図1に示した
例外処理装置上で処理させるプログラムの一部で左から
命令のアドレス、命令、コメントの順に記述してある。 実施例の動作を理解しやすくするために命令は1バイト
単位にしてある。命令の動作については簡単にコメント
を示している。図6は図5のプログラムを図1の例外処
理装置上で処理させた時点での実行制御ユニット2と実
行ユニット_A30〜_D33の動作を示している。P
CX_A20〜PCX_D23にはそれぞれ対応する実
行ユニット_A30〜実行ユニット_D33で実行中の
命令アドレス103,100,101,102が格納さ
れている。実施例の動作を理解し易くするため、図6に
示したように、実行ユニットについては処理する演算の
種類とパイプラインのステージ数を変えてある(非均質
型)。実行ユニット_A30はパイプラインステージ1
段で構成され、整数・論理演算を処理する。実行ユニッ
ト_A31はパイプラインステージ3段で構成され、ロ
ード・ストアを処理する。実行ユニット_A32はパイ
プラインステージ5段で構成され、乗算を処理する。実
行ユニット_A33はパイプラインステージ5段で構成
され、除算を処理する。図7は図5のプログラムを実行
中、アドレス100の命令で例外が発生した場合に例外
処理で生成されるスタックを示している。このスタック
は図2に示された例外処理フローに基づき作成される。 図8は例外ハンドラの最後で通常シーケンスに制御を戻
すためのRFE命令の途中で例外が発生した後に生成さ
れるスタックである。この例外は図7に示すスタックに
おいて上方から5段目までポップした状態で発生し、図
4に示す例外処理フローによって図8に示すスタックが
生成される。
理装置および例外処理方法について、以下図5に示すプ
ログラムの説明図と、図6に示す実行制御ユニット2と
実行ユニット_A30〜_D33の詳細な構成図と、図
7および図8に示すメモリ上のスタックの説明図とを併
用して本実施例の動作を説明する。図5は図1に示した
例外処理装置上で処理させるプログラムの一部で左から
命令のアドレス、命令、コメントの順に記述してある。 実施例の動作を理解しやすくするために命令は1バイト
単位にしてある。命令の動作については簡単にコメント
を示している。図6は図5のプログラムを図1の例外処
理装置上で処理させた時点での実行制御ユニット2と実
行ユニット_A30〜_D33の動作を示している。P
CX_A20〜PCX_D23にはそれぞれ対応する実
行ユニット_A30〜実行ユニット_D33で実行中の
命令アドレス103,100,101,102が格納さ
れている。実施例の動作を理解し易くするため、図6に
示したように、実行ユニットについては処理する演算の
種類とパイプラインのステージ数を変えてある(非均質
型)。実行ユニット_A30はパイプラインステージ1
段で構成され、整数・論理演算を処理する。実行ユニッ
ト_A31はパイプラインステージ3段で構成され、ロ
ード・ストアを処理する。実行ユニット_A32はパイ
プラインステージ5段で構成され、乗算を処理する。実
行ユニット_A33はパイプラインステージ5段で構成
され、除算を処理する。図7は図5のプログラムを実行
中、アドレス100の命令で例外が発生した場合に例外
処理で生成されるスタックを示している。このスタック
は図2に示された例外処理フローに基づき作成される。 図8は例外ハンドラの最後で通常シーケンスに制御を戻
すためのRFE命令の途中で例外が発生した後に生成さ
れるスタックである。この例外は図7に示すスタックに
おいて上方から5段目までポップした状態で発生し、図
4に示す例外処理フローによって図8に示すスタックが
生成される。
【0017】最初に、例外発生から例外ハンドラへ制御
を移すまでを、図5のプログラムを実行中に命令100
がデータアクセス例外を発生する例を用いて説明する。 例外発生認識から例外ハンドラへの分岐に関しては図2
の処理フローに示し、生成されるスタックについては図
7に示している。 (1)解読ユニット1でプログラムの一部である図5の
4命令(アドレスが100〜103)を解読し、実行ユ
ニットで使用されるマイクロ命令を生成する。同時に対
応する解読中の命令アドレスを格納するPCD_A10
〜PCD_D13には以下のようにアドレスが格納され
る。
を移すまでを、図5のプログラムを実行中に命令100
がデータアクセス例外を発生する例を用いて説明する。 例外発生認識から例外ハンドラへの分岐に関しては図2
の処理フローに示し、生成されるスタックについては図
7に示している。 (1)解読ユニット1でプログラムの一部である図5の
4命令(アドレスが100〜103)を解読し、実行ユ
ニットで使用されるマイクロ命令を生成する。同時に対
応する解読中の命令アドレスを格納するPCD_A10
〜PCD_D13には以下のようにアドレスが格納され
る。
【0018】PCD_A10=100,PCD_B11
=101,PCD_C12=102,PCD_D13=
103 (2)実行制御ユニット2は命令間のデータ依存関係の
有無、および実行ユニットへの割り付けが可能か否かを
調べる。100〜103の命令間には依存関係がなく同
時並列実行できることから解読ユニット1から4つのマ
イクロ命令を取り出し、それぞれ対応する実行ユニット
30〜33に割り付ける。PSR24は命令実行の結果
、およびプロセッサの状態・モードなどを反映する。 (3)実行ユニット30〜33の構成、および命令の割
り付け状態は図6に示されている。本実施例では説明の
都合上4つの実行ユニット30〜33は非均質型にして
ある。実行ユニット_A30には整数演算命令103、
実行ユニット_B31にはロード命令100、実行ユニ
ット_C32には乗算命令101、実行ユニット_D3
3には除算命令102を割り付ける。実行制御ユニット
2内のPCX_A20〜PCX_D23には実行ユニッ
トで実行中の命令がそれぞれ格納される。
=101,PCD_C12=102,PCD_D13=
103 (2)実行制御ユニット2は命令間のデータ依存関係の
有無、および実行ユニットへの割り付けが可能か否かを
調べる。100〜103の命令間には依存関係がなく同
時並列実行できることから解読ユニット1から4つのマ
イクロ命令を取り出し、それぞれ対応する実行ユニット
30〜33に割り付ける。PSR24は命令実行の結果
、およびプロセッサの状態・モードなどを反映する。 (3)実行ユニット30〜33の構成、および命令の割
り付け状態は図6に示されている。本実施例では説明の
都合上4つの実行ユニット30〜33は非均質型にして
ある。実行ユニット_A30には整数演算命令103、
実行ユニット_B31にはロード命令100、実行ユニ
ット_C32には乗算命令101、実行ユニット_D3
3には除算命令102を割り付ける。実行制御ユニット
2内のPCX_A20〜PCX_D23には実行ユニッ
トで実行中の命令がそれぞれ格納される。
【0019】PCX_A20=103,PCX_B21
=100,PCX_C22=101,PCX_D23=
102 (4)実行ユニット_B31で実行中のロード命令10
0でデータアクセス例外が発生したとする。 (5)例外発生認識回路40は常時実行ユニット_A3
0〜実行ユニット_D33を監視しており、例外発生を
検出する。例外発生認識回路40は、例外発生を実行制
御ユニット2に伝え、まだ処理が未終了である実行ユニ
ット_C32,実行ユニット_D33を中断させる。(
未終了命令のアドレスは101と102である)同時に
、例外の原因となった命令のアドレスや命令解読状態な
どを保持するために解読ユニット1内のPCD_A10
〜PCD_D13および実行制御ユニット2内のPCX
_A20〜PCX_D23,PSR24を凍結させる。 (6)例外解析回路41は、例外発生認識回路40の結
果より例外の種類などを解析し、例外情報生成回路42
に伝える。 (7)例外情報生成回路42は、スタックに格納して例
外ハンドラに通知するための情報(例外の種類など)お
よび例外ハンドラの先頭アドレスを生成する。 (8)例外制御回路43は、実行制御ユニット2より中
断により未終了となった命令とその命令数を確認する。 (9)例外制御回路43は、例外ハンドラから通常シー
ケンスに制御を戻すために、リターンアドレスとしてP
CD_A10をスタックにプッシュする。スタックへの
プッシュ、ポップ動作には、スタックポインタの操作や
BIU(バス・インタフェース・ユニット)6の制御が
含まれるが、本実施例では特に関係しないため詳細な説
明は加えない。図7のスタックにおいて、アドレス10
4が積まれたところである。 (10)例外制御回路43は、例外ハンドラから通常シ
ーケンスに制御を戻すためのRFE命令で、未終了であ
る命令を処理するために、未終了命令アドレスとしてP
CX_D23(102),PCX_C22(101)を
スタックにプッシュする。図7のスタックにおいて、ア
ドレス102、101が積まれたところである。 (11)例外制御回路43は、例外ハンドラから通常シ
ーケンスに制御を戻すためのRFE命令に未終了である
命令の数を通知するために、未終了の命令数として“2
”をスタックにプッシュする。図7のスタックにおいて
、命令数“2”が積まれたところである。 (12)例外制御回路43は、例外ハンドラに例外除去
または例外の後処理に対する情報として例外起因命令の
アドレス100をスタックにプッシュする。図7のスタ
ックにおいて、アドレス100が積まれたところである
。 (13)例外制御回路43は、例外ハンドラに例外除去
または例外の後処理に対する情報として、例外情報生成
回路42で生成した例外に関する情報(例外の種類等:
データアクセス例外)をスタックにプッシュする。図7
のスタックにおいて、例外の種類が積まれたところであ
る。 (14)例外ハンドラから通常シーケンスに制御を戻す
ために内部資源を例外処理前に復元する必要があり、例
外制御回路43は、プロセッサ・ステータス・レジスタ
PSR24をスタックにプッシュする。生成すべきスタ
ックは完成し、図7に示したスタックの図のようになる
。 (15)例外処理ユニット4は、例外除去などを行なう
例外ハンドラへ制御を移すために、例外情報生成回路4
2で作成された例外ハンドラの先頭アドレスへ分岐する
。実際の分岐動作はアドレスを基に分岐先命令のフェッ
チ動作などを含むが、本実施例では本発明のポイントで
はないので詳細な説明、図は用意しない。
=100,PCX_C22=101,PCX_D23=
102 (4)実行ユニット_B31で実行中のロード命令10
0でデータアクセス例外が発生したとする。 (5)例外発生認識回路40は常時実行ユニット_A3
0〜実行ユニット_D33を監視しており、例外発生を
検出する。例外発生認識回路40は、例外発生を実行制
御ユニット2に伝え、まだ処理が未終了である実行ユニ
ット_C32,実行ユニット_D33を中断させる。(
未終了命令のアドレスは101と102である)同時に
、例外の原因となった命令のアドレスや命令解読状態な
どを保持するために解読ユニット1内のPCD_A10
〜PCD_D13および実行制御ユニット2内のPCX
_A20〜PCX_D23,PSR24を凍結させる。 (6)例外解析回路41は、例外発生認識回路40の結
果より例外の種類などを解析し、例外情報生成回路42
に伝える。 (7)例外情報生成回路42は、スタックに格納して例
外ハンドラに通知するための情報(例外の種類など)お
よび例外ハンドラの先頭アドレスを生成する。 (8)例外制御回路43は、実行制御ユニット2より中
断により未終了となった命令とその命令数を確認する。 (9)例外制御回路43は、例外ハンドラから通常シー
ケンスに制御を戻すために、リターンアドレスとしてP
CD_A10をスタックにプッシュする。スタックへの
プッシュ、ポップ動作には、スタックポインタの操作や
BIU(バス・インタフェース・ユニット)6の制御が
含まれるが、本実施例では特に関係しないため詳細な説
明は加えない。図7のスタックにおいて、アドレス10
4が積まれたところである。 (10)例外制御回路43は、例外ハンドラから通常シ
ーケンスに制御を戻すためのRFE命令で、未終了であ
る命令を処理するために、未終了命令アドレスとしてP
CX_D23(102),PCX_C22(101)を
スタックにプッシュする。図7のスタックにおいて、ア
ドレス102、101が積まれたところである。 (11)例外制御回路43は、例外ハンドラから通常シ
ーケンスに制御を戻すためのRFE命令に未終了である
命令の数を通知するために、未終了の命令数として“2
”をスタックにプッシュする。図7のスタックにおいて
、命令数“2”が積まれたところである。 (12)例外制御回路43は、例外ハンドラに例外除去
または例外の後処理に対する情報として例外起因命令の
アドレス100をスタックにプッシュする。図7のスタ
ックにおいて、アドレス100が積まれたところである
。 (13)例外制御回路43は、例外ハンドラに例外除去
または例外の後処理に対する情報として、例外情報生成
回路42で生成した例外に関する情報(例外の種類等:
データアクセス例外)をスタックにプッシュする。図7
のスタックにおいて、例外の種類が積まれたところであ
る。 (14)例外ハンドラから通常シーケンスに制御を戻す
ために内部資源を例外処理前に復元する必要があり、例
外制御回路43は、プロセッサ・ステータス・レジスタ
PSR24をスタックにプッシュする。生成すべきスタ
ックは完成し、図7に示したスタックの図のようになる
。 (15)例外処理ユニット4は、例外除去などを行なう
例外ハンドラへ制御を移すために、例外情報生成回路4
2で作成された例外ハンドラの先頭アドレスへ分岐する
。実際の分岐動作はアドレスを基に分岐先命令のフェッ
チ動作などを含むが、本実施例では本発明のポイントで
はないので詳細な説明、図は用意しない。
【0020】つぎに、例外ハンドラから通常シーケンス
へ制御を戻すRFE命令について説明する。RFE命令
の主な機能は、1)資源を例外処理前の状態に復元する
、2)スタックの解放、3)未終了命令の実行、4)通
常シーケンスへのリターンである。例外ハンドラから通
常シーケンスへのリターン動作に関しては図3の処理フ
ローに示し、解放するスタックの初期状態は図7になる
。 (21)RFE制御回路5は、プロセッサの内部資源を
例外処理前に復元するため、スタック・トップの内容を
ポップしプロセッサ・ステータス・レジスタPSR24
に格納する。図7に示したスタックについては、例外情
報(データアクセス例外)を格納したところがスタック
・トップになる。 (22)例外ハンドラから通常シーケンスへのリターン
時には、例外情報や例外起因命令などは不要のため、ス
タックよりポップのみ行う。 (23)RFE制御回路5は、未終了である命令の数を
認識するために、スタックから未終了の命令数として“
2”をポップし、カウンタ50に値“2”をセットする
。図7に示したスタックについては、未終了の命令アド
レス101を格納したところがスタック・トップになる
。 (24)RFE制御回路5は、カウンタの内容を“0”
と比較することにより、未終了命令の有無を判断する。 未終了命令が無い場合には即座に通常シーケンスへ制御
を戻す。((30)以降の動作を続いて行なう)本実施
例では、2つの未終了命令が存在するので、スタック上
の未終了命令がなくなるまで以下の動作を行なう。カウ
ンタの内容との“0”比較については本発明のポイント
ではないので詳細な説明は省略する。 (25)RFE制御回路5は、未終了命令を再実行する
ために、まずスタック上の未終了命令のアドレスをポッ
プする。図7に示したスタックについては、未終了の命
令アドレス102を格納したところがスタック・トップ
になる。 (26)RFE制御回路5は、次に読み込んだ未終了命
令のアドレスを用いて命令をフェッチする。そして、フ
ェッチした命令と、アドレスを解読ユニット1に転送す
る。 (27)解読ユニット1は転送された命令を解読し、マ
イクロ命令を生成する。実行制御ユニット2は、マイク
ロ命令を適当な実行処理ユニットに割り付け、処理を行
なう。この場合、再実行する命令は乗算命令なので実行
ユニット_C32に割り付けられる。命令の実行につい
ては本発明のポイントではないので詳細な説明は省略す
る。 (28)1つ命令を再実行したのでカウンタから1を引
く。 (29)乗算命令が正常終了した場合には、続いて未終
了命令(102)についても(24)〜(28)の動作
を行なう。 (30)RFE制御回路5は、カウンタの内容が“0”
すなわち終了命令をすべて正常に再実行させたので、通
常シーケンスへ制御を戻す。 (31)RFE制御回路5は、例外ハンドラから通常シ
ーケンスに制御を移すため、スタック上のリターン命令
のアドレスをポップする。そしてこのアドレスに分岐し
て制御を戻す。以上で図7に示したスタックについては
、すべて解放される。分岐動作については本発明のポイ
ントではないので詳細な説明は省略する。
へ制御を戻すRFE命令について説明する。RFE命令
の主な機能は、1)資源を例外処理前の状態に復元する
、2)スタックの解放、3)未終了命令の実行、4)通
常シーケンスへのリターンである。例外ハンドラから通
常シーケンスへのリターン動作に関しては図3の処理フ
ローに示し、解放するスタックの初期状態は図7になる
。 (21)RFE制御回路5は、プロセッサの内部資源を
例外処理前に復元するため、スタック・トップの内容を
ポップしプロセッサ・ステータス・レジスタPSR24
に格納する。図7に示したスタックについては、例外情
報(データアクセス例外)を格納したところがスタック
・トップになる。 (22)例外ハンドラから通常シーケンスへのリターン
時には、例外情報や例外起因命令などは不要のため、ス
タックよりポップのみ行う。 (23)RFE制御回路5は、未終了である命令の数を
認識するために、スタックから未終了の命令数として“
2”をポップし、カウンタ50に値“2”をセットする
。図7に示したスタックについては、未終了の命令アド
レス101を格納したところがスタック・トップになる
。 (24)RFE制御回路5は、カウンタの内容を“0”
と比較することにより、未終了命令の有無を判断する。 未終了命令が無い場合には即座に通常シーケンスへ制御
を戻す。((30)以降の動作を続いて行なう)本実施
例では、2つの未終了命令が存在するので、スタック上
の未終了命令がなくなるまで以下の動作を行なう。カウ
ンタの内容との“0”比較については本発明のポイント
ではないので詳細な説明は省略する。 (25)RFE制御回路5は、未終了命令を再実行する
ために、まずスタック上の未終了命令のアドレスをポッ
プする。図7に示したスタックについては、未終了の命
令アドレス102を格納したところがスタック・トップ
になる。 (26)RFE制御回路5は、次に読み込んだ未終了命
令のアドレスを用いて命令をフェッチする。そして、フ
ェッチした命令と、アドレスを解読ユニット1に転送す
る。 (27)解読ユニット1は転送された命令を解読し、マ
イクロ命令を生成する。実行制御ユニット2は、マイク
ロ命令を適当な実行処理ユニットに割り付け、処理を行
なう。この場合、再実行する命令は乗算命令なので実行
ユニット_C32に割り付けられる。命令の実行につい
ては本発明のポイントではないので詳細な説明は省略す
る。 (28)1つ命令を再実行したのでカウンタから1を引
く。 (29)乗算命令が正常終了した場合には、続いて未終
了命令(102)についても(24)〜(28)の動作
を行なう。 (30)RFE制御回路5は、カウンタの内容が“0”
すなわち終了命令をすべて正常に再実行させたので、通
常シーケンスへ制御を戻す。 (31)RFE制御回路5は、例外ハンドラから通常シ
ーケンスに制御を移すため、スタック上のリターン命令
のアドレスをポップする。そしてこのアドレスに分岐し
て制御を戻す。以上で図7に示したスタックについては
、すべて解放される。分岐動作については本発明のポイ
ントではないので詳細な説明は省略する。
【0021】最後に、例外ハンドラから通常シーケンス
へ制御を戻すRFE命令について、未終了の命令で再度
例外が発生した場合を説明する。例外が発生した場合に
は、RFE命令によって途中まで解放されたスタックを
もう一度生成し、例外ハンドラに制御を移す。再度例外
発生した場合の例外処理動作に関しては図4の処理フロ
ーに示し、生成するスタックは図8に示す。
へ制御を戻すRFE命令について、未終了の命令で再度
例外が発生した場合を説明する。例外が発生した場合に
は、RFE命令によって途中まで解放されたスタックを
もう一度生成し、例外ハンドラに制御を移す。再度例外
発生した場合の例外処理動作に関しては図4の処理フロ
ーに示し、生成するスタックは図8に示す。
【0022】RFE命令の動作は(21)〜(28)に
ついては同じである。 (41)乗算命令でオーバーフローが発生し、RFE命
令の処理を中断し、図4に示された例外処理が行なわれ
る。図7のスタックについてはアドレス102がスタッ
ク・トップになるまで解放されている。例外処理時には
、このスタック上に再度生成すること、および途中まで
RFE命令が処理されていることより、図4の処理フロ
ーは図2の処理フローと以下の点で異なる。 1)リターンアドレスは、ポップしておらずスタック上
に存在するため、スタックにプッシュしない。 2)スタックにプッシュする未終了の命令の個数は、カ
ウンタ50の内容を用いる。 (42)例外発生認識回路40は常時実行ユニットを監
視しており、例外発生を検出する。例外の原因となった
命令のアドレスや命令解読状態などを保持するために解
読ユニット1内のPCD_A10〜PCD_D13およ
び実行制御ユニット2内のPCX_A20〜PCX_D
23、PSR24を凍結させる。実際には1命令しか実
行していないのですべてのPCD10〜13、PCX2
0〜23を凍結する必要はない。 (43)例外解析回路41は、例外発生認識回路40の
結果より例外の種類などを解析し、例外情報生成回路4
2に伝える。 (44)例外情報生成回路42は、スタックに格納して
例外ハンドラに通知するための情報(例外の種類など)
および例外ハンドラのアドレスを生成する。 (45)例外制御回路43は、実行制御ユニット2より
中断により未終了となった命令とその命令数を確認する
。実際には1命令しか実行していないので確認する必要
はない。 (46)例外制御回路43は、例外ハンドラから通常シ
ーケンスに制御を戻すためのRFE命令で、未終了命令
を処理するために、未終了命令アドレスをスタックにプ
ッシュする。実際には1命令しか実行していないため、
未終了命令は有り得ず、スタックには何もプッシュしな
い。 (47)例外制御回路43は、例外ハンドラから通常シ
ーケンスに制御を戻すためのRFE命令に未終了である
命令の数を通知するために、カウンタ50の内容“1”
をスタックにプッシュする。図8のスタックにおいて、
命令数“1”が積まれたところである。 (48)例外制御回路43は、例外ハンドラに例外除去
または例外の後処理に対する情報として例外起因命令の
アドレス101をスタックにプッシュする。図8のスタ
ックにおいて、アドレス101が積まれたところである
。 (49)例外制御回路43は、例外ハンドラに例外除去
または例外の後処理に対する情報として、例外情報生成
回路42で生成した例外に関する情報(例外の種類等:
オーバーフロー例外)をスタックにプッシュする。図8
のスタックにおいて、例外の種類が積まれたところであ
る。 (50)例外ハンドラから通常シーケンスに制御を戻す
ために内部資源を例外処理前に復元する必要があり、例
外制御回路43は、プロセッサ・ステータス・レジスタ
PSR24をスタックにプッシュする。生成すべきスタ
ックは完成し、図8に示したスタックの図のようになる
。 (51)例外処理装置は、例外除去などを行なう例外ハ
ンドラへ制御を移すために、例外情報生成回路42で作
成された例外ハンドラの先頭アドレスへ分岐する。
ついては同じである。 (41)乗算命令でオーバーフローが発生し、RFE命
令の処理を中断し、図4に示された例外処理が行なわれ
る。図7のスタックについてはアドレス102がスタッ
ク・トップになるまで解放されている。例外処理時には
、このスタック上に再度生成すること、および途中まで
RFE命令が処理されていることより、図4の処理フロ
ーは図2の処理フローと以下の点で異なる。 1)リターンアドレスは、ポップしておらずスタック上
に存在するため、スタックにプッシュしない。 2)スタックにプッシュする未終了の命令の個数は、カ
ウンタ50の内容を用いる。 (42)例外発生認識回路40は常時実行ユニットを監
視しており、例外発生を検出する。例外の原因となった
命令のアドレスや命令解読状態などを保持するために解
読ユニット1内のPCD_A10〜PCD_D13およ
び実行制御ユニット2内のPCX_A20〜PCX_D
23、PSR24を凍結させる。実際には1命令しか実
行していないのですべてのPCD10〜13、PCX2
0〜23を凍結する必要はない。 (43)例外解析回路41は、例外発生認識回路40の
結果より例外の種類などを解析し、例外情報生成回路4
2に伝える。 (44)例外情報生成回路42は、スタックに格納して
例外ハンドラに通知するための情報(例外の種類など)
および例外ハンドラのアドレスを生成する。 (45)例外制御回路43は、実行制御ユニット2より
中断により未終了となった命令とその命令数を確認する
。実際には1命令しか実行していないので確認する必要
はない。 (46)例外制御回路43は、例外ハンドラから通常シ
ーケンスに制御を戻すためのRFE命令で、未終了命令
を処理するために、未終了命令アドレスをスタックにプ
ッシュする。実際には1命令しか実行していないため、
未終了命令は有り得ず、スタックには何もプッシュしな
い。 (47)例外制御回路43は、例外ハンドラから通常シ
ーケンスに制御を戻すためのRFE命令に未終了である
命令の数を通知するために、カウンタ50の内容“1”
をスタックにプッシュする。図8のスタックにおいて、
命令数“1”が積まれたところである。 (48)例外制御回路43は、例外ハンドラに例外除去
または例外の後処理に対する情報として例外起因命令の
アドレス101をスタックにプッシュする。図8のスタ
ックにおいて、アドレス101が積まれたところである
。 (49)例外制御回路43は、例外ハンドラに例外除去
または例外の後処理に対する情報として、例外情報生成
回路42で生成した例外に関する情報(例外の種類等:
オーバーフロー例外)をスタックにプッシュする。図8
のスタックにおいて、例外の種類が積まれたところであ
る。 (50)例外ハンドラから通常シーケンスに制御を戻す
ために内部資源を例外処理前に復元する必要があり、例
外制御回路43は、プロセッサ・ステータス・レジスタ
PSR24をスタックにプッシュする。生成すべきスタ
ックは完成し、図8に示したスタックの図のようになる
。 (51)例外処理装置は、例外除去などを行なう例外ハ
ンドラへ制御を移すために、例外情報生成回路42で作
成された例外ハンドラの先頭アドレスへ分岐する。
【0023】以上のように本実施例によれば、並列同時
実行可能な複数の実行ユニットを有するプロセッサにお
いて、ある実行ユニットで例外が発生した場合に、その
他の実行ユニットにおける処理を中断し、すべての中断
した命令のアドレスをスタックに格納することにより、
多重例外の発生を禁止でき設計の複雑さおよびハードウ
ェア量を抑えることができる。また、例外発生時に処理
を中断することより、例外時の高速なレスポンスを得る
ことができる。
実行可能な複数の実行ユニットを有するプロセッサにお
いて、ある実行ユニットで例外が発生した場合に、その
他の実行ユニットにおける処理を中断し、すべての中断
した命令のアドレスをスタックに格納することにより、
多重例外の発生を禁止でき設計の複雑さおよびハードウ
ェア量を抑えることができる。また、例外発生時に処理
を中断することより、例外時の高速なレスポンスを得る
ことができる。
【0024】そして例外ハンドラによる例外要因除去後
には、スタック上の未終了命令のアドレスより未終了命
令をフェッチし、順次、未終了命令を再実行することよ
り、並列同時実行可能な演算ユニットを持つプロセッサ
においても、例外発生に対して整合性を保証できる例外
処理が行え、システム全体としての信頼性も向上できる
。また、例外処理後、中断された命令を命令の先頭から
再実行するため、プロセッサ内の資源をすべて例外処理
ハンドラに解放でき、バスアクセスによるオーバーヘッ
ドの増化を抑えることができる。
には、スタック上の未終了命令のアドレスより未終了命
令をフェッチし、順次、未終了命令を再実行することよ
り、並列同時実行可能な演算ユニットを持つプロセッサ
においても、例外発生に対して整合性を保証できる例外
処理が行え、システム全体としての信頼性も向上できる
。また、例外処理後、中断された命令を命令の先頭から
再実行するため、プロセッサ内の資源をすべて例外処理
ハンドラに解放でき、バスアクセスによるオーバーヘッ
ドの増化を抑えることができる。
【0025】未終了命令を再実行するときに例外が発生
した場合、最初に生成したスタックに続いて、新たに発
生した例外情報をプッシュすることにより、例外処理の
整合性が保証できる。また、例外処理ハンドラや例外処
理からのリターンを行なう命令に対して、最初発生した
例外が生成するスタックと全く同じインタフェース実現
できる。そして、最初の例外によって生成されたスタッ
クを使用することによって、新たにスタックに積む回数
を抑えることができる。
した場合、最初に生成したスタックに続いて、新たに発
生した例外情報をプッシュすることにより、例外処理の
整合性が保証できる。また、例外処理ハンドラや例外処
理からのリターンを行なう命令に対して、最初発生した
例外が生成するスタックと全く同じインタフェース実現
できる。そして、最初の例外によって生成されたスタッ
クを使用することによって、新たにスタックに積む回数
を抑えることができる。
【0026】なお、本実施例において、例外情報生成回
路42で生成しスタックにプッシュする例外情報は例外
の種類だけとしたが、そのほかの状態等を生成、プッシ
ュしてもかまわない。例外ハンドラへのアドレスは例外
情報生成回路42で生成するようになっているが、例外
ハンドラのコーリングシーケンスは自由である。未実行
命令のアドレスをスタックにプッシュする順番は、デバ
ッグ等を考えると、アドレス順が都合よいが、どちらに
しても同時に実行できると判断された命令であるので、
どちらを先にプッシュしてもかまわない。本実施例では
説明の都合上、4個、かつ非均質型の実行ユニット30
〜33を用いたが、4個以外や均質型であっても同じ効
果が得られる。RFE制御回路5内でのカウンタ50の
制御は、均質型の実行ユニットを採用した場合には実行
ユニットで行なってもよい。本実施例で用いた命令は説
明の単純化のために1バイトの固定長命令にしたが、命
令長および可変長・固定長によって効果が変わることは
ない。実行ユニット30〜33はマイクロ命令を採用し
ているが、マクロ命令より直接制御してもかまわない。
路42で生成しスタックにプッシュする例外情報は例外
の種類だけとしたが、そのほかの状態等を生成、プッシ
ュしてもかまわない。例外ハンドラへのアドレスは例外
情報生成回路42で生成するようになっているが、例外
ハンドラのコーリングシーケンスは自由である。未実行
命令のアドレスをスタックにプッシュする順番は、デバ
ッグ等を考えると、アドレス順が都合よいが、どちらに
しても同時に実行できると判断された命令であるので、
どちらを先にプッシュしてもかまわない。本実施例では
説明の都合上、4個、かつ非均質型の実行ユニット30
〜33を用いたが、4個以外や均質型であっても同じ効
果が得られる。RFE制御回路5内でのカウンタ50の
制御は、均質型の実行ユニットを採用した場合には実行
ユニットで行なってもよい。本実施例で用いた命令は説
明の単純化のために1バイトの固定長命令にしたが、命
令長および可変長・固定長によって効果が変わることは
ない。実行ユニット30〜33はマイクロ命令を採用し
ているが、マクロ命令より直接制御してもかまわない。
【0027】また、上記のように本実施例では実行ユニ
ットは非均質型で、かつロード命令において例外が発生
した場合について解説しているため、例外発生時にバス
アクセスが発生することはない。しかし、実行ユニット
が均質型でかつ例外が発生する場合、また、実行ユニッ
トが非均質でもロード命令以外で例外が発生する場合に
は、例外発生時にバスアクセスが行なわれている可能性
がある。この場合には、例外発生認識装置40は、バス
アクセス終了後に実行ユニットの処理を中断させてもよ
い。(通常は、本制御方式が最も簡単である。)
ットは非均質型で、かつロード命令において例外が発生
した場合について解説しているため、例外発生時にバス
アクセスが発生することはない。しかし、実行ユニット
が均質型でかつ例外が発生する場合、また、実行ユニッ
トが非均質でもロード命令以外で例外が発生する場合に
は、例外発生時にバスアクセスが行なわれている可能性
がある。この場合には、例外発生認識装置40は、バス
アクセス終了後に実行ユニットの処理を中断させてもよ
い。(通常は、本制御方式が最も簡単である。)
【00
28】
28】
【発明の効果】以上説明したように、本発明によれば、
以下のようなメリットが得られ、その実用的効果は大き
い。
以下のようなメリットが得られ、その実用的効果は大き
い。
【0029】ある1つの実行ユニットで例外が発生した
場合に、その他の実行ユニットにおける処理を中断し、
すべての中断した命令のアドレスをスタックに格納する
ことにより、多重例外の発生を禁止でき設計の複雑さお
よびハードウェア量を抑えることができる。また、例外
発生時に処理を中断することより、例外時の高速なレス
ポンスを得ることができる。
場合に、その他の実行ユニットにおける処理を中断し、
すべての中断した命令のアドレスをスタックに格納する
ことにより、多重例外の発生を禁止でき設計の複雑さお
よびハードウェア量を抑えることができる。また、例外
発生時に処理を中断することより、例外時の高速なレス
ポンスを得ることができる。
【0030】そして例外ハンドラからのリターン時には
、すべての未終了命令を再実行することより、並列同時
実行可能な演算ユニットを持つプロセッサにおいても、
例外発生に対して整合性を保証できる例外処理が行え、
システム全体としての信頼性も向上できる。また、例外
処理後、中断された命令を命令の先頭から再実行するた
め、プロセッサ内の資源をすべて例外処理ハンドラに解
放でき、バスアクセスによるオーバーヘッドの増化を抑
えることができる。
、すべての未終了命令を再実行することより、並列同時
実行可能な演算ユニットを持つプロセッサにおいても、
例外発生に対して整合性を保証できる例外処理が行え、
システム全体としての信頼性も向上できる。また、例外
処理後、中断された命令を命令の先頭から再実行するた
め、プロセッサ内の資源をすべて例外処理ハンドラに解
放でき、バスアクセスによるオーバーヘッドの増化を抑
えることができる。
【0031】未終了命令を再実行するときに例外が発生
した場合、新たに発生した例外情報をプッシュすること
により、例外処理の整合性が保証でき、また、例外処理
ハンドラや例外処理からのリターンを行なう命令に対し
て、最初発生した例外が生成するスタックと全く同じイ
ンタフェースを実現できる。同様に、最初の例外によっ
て生成されたスタックを使用することによって、新たに
スタックに積む回数を抑えることができる。
した場合、新たに発生した例外情報をプッシュすること
により、例外処理の整合性が保証でき、また、例外処理
ハンドラや例外処理からのリターンを行なう命令に対し
て、最初発生した例外が生成するスタックと全く同じイ
ンタフェースを実現できる。同様に、最初の例外によっ
て生成されたスタックを使用することによって、新たに
スタックに積む回数を抑えることができる。
【図1】本発明の一実施例の例外処理装置の構成図
【図
2】同じく例外処理動作のフロー図
2】同じく例外処理動作のフロー図
【図3】同じく例外
ハンドラから通常シーケンスへ戻るときの処理フロー図
ハンドラから通常シーケンスへ戻るときの処理フロー図
【図4】同じくRFE命令実行中にで例外が発生したと
きの処理フロー図
きの処理フロー図
【図5】同じくプログラムの説明図
【図6】同じく実行制御ユニット2と実行ユニット_A
30〜_D33の詳細な構成図
30〜_D33の詳細な構成図
【図7】同じくメモリ上のスタックの説明図
【図8】同
じくメモリ上のスタックの説明図
じくメモリ上のスタックの説明図
【図9】従来例の例外
処理装置を備えたモトローラ社のマイクロプロセッサM
C88100の実行ユニットの構成図
処理装置を備えたモトローラ社のマイクロプロセッサM
C88100の実行ユニットの構成図
2 実行制御ユニット(実行制御回路)4 例外処
理ユニット 5 RFE制御回路 10 次命令アドレスレジスタPCD_A20 命
令アドレスレジスタPCX_A21 命令アドレスレ
ジスタPCX_B22 命令アドレスレジスタPCX
_C23 命令アドレスレジスタPCX_D30
実行(演算)ユニット_A 31 実行(演算)ユニット_B 32 実行(演算)ユニット_C 33 実行(演算)ユニット_D 40 例外発生認識回路 41 例外解析回路 42 例外情報生成回路 43 例外制御回路 50 カウンタ
理ユニット 5 RFE制御回路 10 次命令アドレスレジスタPCD_A20 命
令アドレスレジスタPCX_A21 命令アドレスレ
ジスタPCX_B22 命令アドレスレジスタPCX
_C23 命令アドレスレジスタPCX_D30
実行(演算)ユニット_A 31 実行(演算)ユニット_B 32 実行(演算)ユニット_C 33 実行(演算)ユニット_D 40 例外発生認識回路 41 例外解析回路 42 例外情報生成回路 43 例外制御回路 50 カウンタ
Claims (10)
- 【請求項1】並列同時実行可能な複数の演算ユニットと
、前記演算ユニットと対応して前記演算ユニットで実行
される命令のアドレスを格納する複数の命令アドレスレ
ジスタと、前記複数の演算ユニットの状態を監視し例外
発生を検出する例外発生認識回路と、前記演算ユニット
に対しての命令の実行を起動しまたは中断することを指
令し、そして前記演算ユニットの状態を監視し命令の実
行終了を検出する実行制御回路と、例外要因除去または
例外後処理を行う例外ハンドラが必要とする例外に関す
る情報を生成する例外情報生成回路と、前記演算ユニッ
トでの実行終了後に実行される命令を格納する次命令ア
ドレスレジスタと、前記例外ハンドラに必要な情報およ
び前記例外ハンドラから例外発生前シーケンスへの復帰
に必要な情報をスタックに格納する例外制御回路とを備
え、前記例外発生認識回路が前記演算ユニットの例外を
検出した場合には、前記実行制御回路は命令の実行が終
了していない前記演算ユニットの動作を中断しかつ前記
命令アドレスレジスタと前記次命令アドレスレジスタの
更新を凍結させ、前記例外情報生成回路は発生した例外
に基づき前記例外ハンドラが必要とする例外情報を生成
し、前記例外制御回路は前記次命令アドレスレジスタに
格納されている次に実行されるべき命令のアドレスと、
前記命令アドレスレジスタに格納され前記演算ユニット
で実行を中断された命令のアドレスと、命令の実行を中
断した前記演算ユニットの個数と、前記命令アドレスレ
ジスタに格納され前記演算ユニットで例外を起こした命
令のアドレスと、前記例外情報生成回路が生成し前記例
外ハンドラが必要とする例外情報とをスタックにプッシ
ュするように構成した例外処理装置。 - 【請求項2】例外発生認識回路が演算ユニットの例外を
検出した場合には、実行制御回路は命令実行が終了して
いない演算ユニットのうち、バスアクセスを持たない命
令については動作を中断させ、バスアクセスをもつ命令
についてはバスアクセス期間以外に動作を中断させる請
求項1記載の例外処理装置。 - 【請求項3】例外制御回路は次命令アドレスレジスタに
格納されている次に実行されるべき命令のアドレスと、
命令アドレスレジスタに格納され演算ユニットで実行を
中断された命令のアドレス、および例外を発生した命令
のアドレスと、命令の実行を中断した前記演算ユニット
の個数に1を加算した値と、命令アドレスレジスタに格
納され演算ユニットで例外を起こした命令のアドレスと
、例外情報生成回路が生成し例外ハンドラが必要とする
例外情報とをスタックにプッシュする請求項1記載の例
外処理装置。 - 【請求項4】並列同時実行可能な演算ユニットの例外を
検出した場合には、命令の実行が終了していない前記演
算ユニットの動作を中断し、前記演算ユニットと対応し
て前記演算ユニットで実行される命令のアドレスを格納
する複数の命令アドレスレジスタと前記演算ユニットで
の実行終了後に実行される命令を格納する次命令アドレ
スレジスタの更新を凍結させ、発生した例外に基づき例
外ハンドラが必要とする例外情報を生成し、前記次命令
アドレスレジスタに格納されている次に実行されるべき
命令のアドレスと、前記命令アドレスレジスタに格納さ
れ前記演算ユニットで実行を中断された命令のアドレス
と、命令の実行を中断した前記演算ユニットの個数と、
前記命令アドレスレジスタに格納され前記演算ユニット
で例外を起こした命令のアドレスと、前記例外ハンドラ
が必要とする例外情報とをスタックにプッシュするよう
に処理する例外処理方法。 - 【請求項5】演算ユニットの例外を検出した場合には、
命令実行が終了していない演算ユニットのうち、バスア
クセスを持たない命令については動作を中断させ、バス
アクセスをもつ命令についてはバスアクセス期間以外に
動作を中断させる請求項4記載の例外処理方法。 - 【請求項6】次命令アドレスレジスタに格納されている
次に実行されるべき命令のアドレスと、命令アドレスレ
ジスタに格納され演算ユニットで実行を中断された命令
のアドレスおよび例外を発生した命令のアドレスと、命
令の実行を中断した前記演算ユニットの個数に1を加算
した値と、命令アドレスレジスタに格納され演算ユニッ
トで例外を起こした命令のアドレスと、例外ハンドラが
必要とする例外情報とをスタックにプッシュする請求項
4記載の例外処理方法。 - 【請求項7】並列同時実行可能な複数の演算ユニットと
、前記演算ユニットと対応して前記演算ユニットで実行
される命令のアドレスを格納する複数の命令アドレスレ
ジスタと、前記複数の演算ユニットの状態を監視し例外
発生を検出する例外発生認識回路と、前記演算ユニット
に対して実行する命令を最適に割り付けかつ命令の実行
を起動することを指令し、そして前記演算ユニットの状
態を監視し命令の実行終了を検出する実行制御回路と、
再実行すべき命令の個数を格納するカウンタと、与えら
れるアドレスより対応の命令をフェッチする命令フェッ
チ回路と、例外ハンドラから例外発生前シーケンスへの
復帰を制御するリターン制御回路と、前記例外ハンドラ
から前記例外発生前シーケンスに復帰するときの先頭命
令のアドレスと前記命令アドレスレジスタに格納され前
記演算ユニットで実行を中断された命令のアドレスと実
行を中断された命令の個数とをプッシュしたスタックと
を備え、例外要因除去または例外後処理を行う前記例外
ハンドラから前記例外発生前シーケンスに復帰するとき
に、前記リターン制御回路はスタックに積まれ中断され
た命令の個数を読みだして前記カウンタに格納し、前記
カウンタの値が0でない場合には前記スタックに積まれ
中断された命令のアドレスを1回ポップして前記命令フ
ェッチ回路に与え、前記カウンタの値から1を引き、前
記命令フェッチ回路はアドレスをもとにフェッチした命
令およびそのアドレスを前記実行制御回路に与え、前記
実行制御回路は与えられた命令を最適な前記演算ユニッ
トに割り付けると同時に対応する前記命令アドレスレジ
スタに格納し、前記実行制御回路が割り付けた命令の終
了を確認しかつ前記例外発生認識回路が命令実行による
例外を検出しなかった場合には前記カウンタが0になる
まで中断されスタックからポップした命令の再実行を繰
り返すように構成した例外処理装置。 - 【請求項8】例外要因除去または例外後処理を行う例外
ハンドラから例外発生前シーケンスに復帰するときに、
スタックに積まれ中断された命令の個数を読みだしてカ
ウンタに格納し、前記カウンタの値が0でない場合には
前記スタックに積まれ中断された命令のアドレスを1つ
ポップして命令フェッチ回路に与え、前記カウンタの値
から1を引き、前記命令フェッチ回路はアドレスをもと
にフェッチした命令およびそのアドレスを最適な並列実
行可能な演算ユニットの1つにに割り付けると同時に対
応する命令アドレスレジスタに格納し、割り付けた命令
の終了を確認しかつ命令実行による例外を検出しなかっ
た場合には前記カウンタが0になるまで中断された命令
の再実行を繰り返すように構成した例外処理装置。 - 【請求項9】並列同時実行可能な複数の演算ユニットと
、前記演算ユニットと対応して前記演算ユニットで実行
される命令のアドレスを格納する複数の命令アドレスレ
ジスタと、前記複数の演算ユニットの状態を監視し例外
発生を検出する例外発生認識回路と、前記演算ユニット
に対して命令を最適に割り付けかつ命令の実行を起動し
または中断することを指令し、そして前記演算ユニット
の状態を監視し命令の実行終了を検出する実行制御回路
と、例外要因除去または例外後処理を行う例外ハンドラ
が必要とする例外に関する情報を生成する例外情報生成
回路と、前記例外ハンドラに必要な情報および前記例外
ハンドラから例外発生前シーケンスへの復帰に必要な情
報をスタックに格納する例外制御回路と、命令の中断に
よって再実行すべき命令の個数を格納するカウンタと、
与えられるアドレスより対応の命令をフェッチする命令
フェッチ回路と、前記例外ハンドラから前記例外発生前
シーケンスへの復帰を制御するリターン制御回路と、前
記例外ハンドラから前記例外発生前シーケンスに復帰す
るときの先頭命令のアドレスと前記命令アドレスレジス
タに格納され前記演算ユニットで実行を中断された命令
のアドレスと実行を中断された命令の個数とをプッシュ
したスタックとを備え、例外要因除去または例外後処理
を行う前記例外ハンドラから例外発生前シーケンスに復
帰するときに、前記リターン制御回路はスタックにプッ
シュされ中断された命令の個数を読みだして前記カウン
タに格納し、前記カウンタの値が0でない場合にはスタ
ックにプッシュされ中断された命令のアドレスを1つ読
みだして前記命令フェッチ回路に与え、前記カウンタの
値から1を引き、前記命令フェッチ回路はアドレスをも
とにフェッチした命令およびそのアドレスを前記実行制
御回路に与え、前記実行制御回路は与えられた命令を最
適な前記演算ユニットに割り付けると同時に対応する前
記命令アドレスレジスタに格納し、前記実行制御回路が
割り付けた命令の終了を確認しかつ前記例外発生認識回
路が命令実行による例外を検出した場合には、前記実行
制御回路は前記命令アドレスレジスタの更新を凍結させ
、前記例外情報生成回路は発生した例外に基づき前記例
外ハンドラが必要とする例外情報を生成し、前記カウン
タに格納されて前記スタック上に残され再実行を必要と
する命令の個数と、前記命令アドレスレジスタに格納さ
れ前記演算ユニットで例外を起こした命令のアドレスと
、前記例外情報生成回路が生成する前記例外ハンドラが
必要とする例外情報とを既発生の例外によって生成され
た前記スタックに連続してプッシュするように構成した
例外処理装置。 - 【請求項10】例外要因除去または例外後処理を行う例
外ハンドラから例外発生前シーケンスに復帰するときに
、スタックに積まれ中断された命令の個数を読みだして
カウンタに格納し、前記カウンタの値が0でない場合に
は前記スタックに積まれ中断された命令のアドレスを1
つポップして命令フェッチ回路に与え、前記カウンタの
値から1を引き、前記命令フェッチ回路はアドレスをも
とにフェッチした命令およびそのアドレスを最適な並列
実行可能な演算ユニットの1つにに割り付けると同時に
対応する命令アドレスレジスタに格納し、割り付けた命
令の終了を確認しかつ命令実行による例外を検出した場
合には、前記命令アドレスレジスタの更新を凍結させ、
発生した例外に基づき前記例外ハンドラが必要とする例
外情報を生成し、前記カウンタに格納されて前記スタッ
ク上に残され再実行を必要とする命令の個数と、前記命
令アドレスレジスタに格納され前記演算ユニットで例外
を起こした命令のアドレスと、前記例外ハンドラが必要
とする例外情報とを既発生の例外によって生成された前
記スタックに連続してプッシュするように処理する例外
処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1328591A JP2876791B2 (ja) | 1991-02-04 | 1991-02-04 | 例外処理装置および例外処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1328591A JP2876791B2 (ja) | 1991-02-04 | 1991-02-04 | 例外処理装置および例外処理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04247523A true JPH04247523A (ja) | 1992-09-03 |
| JP2876791B2 JP2876791B2 (ja) | 1999-03-31 |
Family
ID=11828929
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1328591A Expired - Fee Related JP2876791B2 (ja) | 1991-02-04 | 1991-02-04 | 例外処理装置および例外処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2876791B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008293270A (ja) * | 2007-05-24 | 2008-12-04 | Mitsubishi Electric Corp | 演算処理装置 |
| CN110007968A (zh) * | 2017-12-29 | 2019-07-12 | 广东欧珀移动通信有限公司 | 信息处理方法、装置、计算机设备和计算机可读存储介质 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100451950C (zh) | 2004-08-27 | 2009-01-14 | 松下电器产业株式会社 | 信息处理装置、例外控制电路 |
-
1991
- 1991-02-04 JP JP1328591A patent/JP2876791B2/ja not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008293270A (ja) * | 2007-05-24 | 2008-12-04 | Mitsubishi Electric Corp | 演算処理装置 |
| CN110007968A (zh) * | 2017-12-29 | 2019-07-12 | 广东欧珀移动通信有限公司 | 信息处理方法、装置、计算机设备和计算机可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2876791B2 (ja) | 1999-03-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5349667A (en) | Interrupt control system for microprocessor for handling a plurality of maskable interrupt requests | |
| US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
| JP2518616B2 (ja) | 分岐方法 | |
| US5197138A (en) | Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching | |
| JP2645669B2 (ja) | データ処理システム | |
| JPH0242569A (ja) | ベクター処理システムに用いる文脈スイッチング方法及び装置 | |
| JPH07248897A (ja) | コンピュータ・システムにおける例外からの回復方法、及びそのための装置 | |
| JPS6217252B2 (ja) | ||
| JPH0215369A (ja) | ベクター処理システムの命令を実行する方法及び装置 | |
| US5574872A (en) | Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling | |
| US5276820A (en) | Arithmetic and logic processor and operating method therefor | |
| JPH10505444A (ja) | 処理システム、プロセッサ、命令ストリーム格納用メモリ及びコンパイラ | |
| US11327756B2 (en) | Methods and processors for performing resource deduction for execution of smart contract | |
| US5943494A (en) | Method and system for processing multiple branch instructions that write to count and link registers | |
| CN108834427B (zh) | 处理向量指令 | |
| US6405300B1 (en) | Combining results of selectively executed remaining sub-instructions with that of emulated sub-instruction causing exception in VLIW processor | |
| JPH04247523A (ja) | 例外処理装置および例外処理方法 | |
| EP0385136A2 (en) | Microprocessor cooperating with a coprocessor | |
| US20220342844A1 (en) | Method and Apparatus for Desynchronizing Execution in a Vector Processor | |
| JPS581246A (ja) | 命令処理順序制御方式 | |
| US6453412B1 (en) | Method and apparatus for reissuing paired MMX instructions singly during exception handling | |
| JPH0384632A (ja) | データ処理装置 | |
| JP2004508607A (ja) | 例外ルーチンを有するプロセッサのレジスタライトトラフィックを減じる装置及び方法 | |
| JP2934060B2 (ja) | 例外処理方法および例外処理装置 | |
| US5778207A (en) | Assisting operating-system interrupts using application-based processing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |