JPH076038A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH076038A JPH076038A JP14901693A JP14901693A JPH076038A JP H076038 A JPH076038 A JP H076038A JP 14901693 A JP14901693 A JP 14901693A JP 14901693 A JP14901693 A JP 14901693A JP H076038 A JPH076038 A JP H076038A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- interrupt
- information
- interrupt request
- saves
- 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
Abstract
(57)【要約】
【目的】 この発明は、割込み応答の高速化ならびに命
令実行効率の向上を達成し得る情報処理装置を提供する
ことを目的とする。 【構成】 この発明は、割込み検出ユニット6により命
令の実行中に発生した割込み要求を受付け、実行されて
いた命令を中断して命令が使用していた情報ならびに得
られた情報を汎用レジスタ14a,14bに退避保存
し、中断された命令の再開位置を復帰マイクロアドレス
レジスタ10又はループカウンタ13にセットし、割込
み処理が終了すると、退避保存されていた情報を復帰し
た後中断された命令を復帰マイクロアドレスレジスタ1
0又はループカウンタ13の指示に基づいて中断された
時点以降から再開実行するように構成される。
令実行効率の向上を達成し得る情報処理装置を提供する
ことを目的とする。 【構成】 この発明は、割込み検出ユニット6により命
令の実行中に発生した割込み要求を受付け、実行されて
いた命令を中断して命令が使用していた情報ならびに得
られた情報を汎用レジスタ14a,14bに退避保存
し、中断された命令の再開位置を復帰マイクロアドレス
レジスタ10又はループカウンタ13にセットし、割込
み処理が終了すると、退避保存されていた情報を復帰し
た後中断された命令を復帰マイクロアドレスレジスタ1
0又はループカウンタ13の指示に基づいて中断された
時点以降から再開実行するように構成される。
Description
【0001】
【産業上の利用分野】この発明は、命令実行時間の長い
命令を実行処理する情報処理装置における割込み応答な
らびに命令実行効率の改善に関する。
命令を実行処理する情報処理装置における割込み応答な
らびに命令実行効率の改善に関する。
【0002】
【従来の技術】マイクロプロセッサ等の情報処理装置で
は、機械語命令を主記憶装置から読み込み、読み込んだ
機械語命令を内部で実行可能な形式の命令にデコード
し、デコードされた命令を実行処理するという基本的な
動作を繰り返し行いプログラムを実行処理している。
は、機械語命令を主記憶装置から読み込み、読み込んだ
機械語命令を内部で実行可能な形式の命令にデコード
し、デコードされた命令を実行処理するという基本的な
動作を繰り返し行いプログラムを実行処理している。
【0003】このような命令の処理過程において、高機
能な命令を実行処理する場合に、1つの命令の実行処理
に多くの時間がかかり、例えば乗算,除算命令、ビット
フィールド操作命令,キュー操作命令等では数十クロッ
クの時間を要する場合がある。
能な命令を実行処理する場合に、1つの命令の実行処理
に多くの時間がかかり、例えば乗算,除算命令、ビット
フィールド操作命令,キュー操作命令等では数十クロッ
クの時間を要する場合がある。
【0004】一方、上述したような情報処理装置にあっ
ては、上述したような命令の実行と並行して割込み例外
要因を監視しており、割込み要求が発生した場合には、
発生した割込み要求を受付けるか否かを判断している。
発生した割込み要求を受付ける場合には、現在実行して
いるプログラムを中断して割込み処理を行い、割込み要
求を受付けない場合には現在実行しているプログラムを
続行する。
ては、上述したような命令の実行と並行して割込み例外
要因を監視しており、割込み要求が発生した場合には、
発生した割込み要求を受付けるか否かを判断している。
発生した割込み要求を受付ける場合には、現在実行して
いるプログラムを中断して割込み処理を行い、割込み要
求を受付けない場合には現在実行しているプログラムを
続行する。
【0005】このような割込み制御にあっては、ハード
ウェアリセット、未定義命令などを除いて、命令の実行
中に発生した割込み要求は、実行中の命令を中断して受
付けることができず、実行中の命令が終了した後に受付
けられていた。このため、前述したような数十サイクロ
の時間を要する除算命令等の実行中に割込み要求が発生
した場合には、命令が終了するまで割込み要求は受付け
られず、割込み応答が悪くなっていた。
ウェアリセット、未定義命令などを除いて、命令の実行
中に発生した割込み要求は、実行中の命令を中断して受
付けることができず、実行中の命令が終了した後に受付
けられていた。このため、前述したような数十サイクロ
の時間を要する除算命令等の実行中に割込み要求が発生
した場合には、命令が終了するまで割込み要求は受付け
られず、割込み応答が悪くなっていた。
【0006】そこで、命令の実行途中であっても割込み
要求を受付けることができる割込み制御方式を採用した
情報処理装置が開発されている。しかしながら、このよ
うな割込み制御方式にあっては、命令の実行途中におい
て割込み要求を受付けて割込み処理を行なった場合に
は、割込み要求を受付けた際に実行されて中断された命
令のそれまでの処理結果は放棄されていた。このため、
中断された命令は再度最初から実行し直さなければなら
ず、命令の実行効率が悪くなっていた。
要求を受付けることができる割込み制御方式を採用した
情報処理装置が開発されている。しかしながら、このよ
うな割込み制御方式にあっては、命令の実行途中におい
て割込み要求を受付けて割込み処理を行なった場合に
は、割込み要求を受付けた際に実行されて中断された命
令のそれまでの処理結果は放棄されていた。このため、
中断された命令は再度最初から実行し直さなければなら
ず、命令の実行効率が悪くなっていた。
【0007】
【発明が解決しようとする課題】以上説明したように、
実行処理時間が長くかかる高機能命令を実行処理する従
来の情報処理装置にあっては、命令の実行中に割込み要
求を受付けることができず、割込み応答の悪化を招いて
いた。また、命令の実行中に割込み要求を受付けること
ができるようにした従来の情報処理装置にあっては、割
込み要求を受付けたことにより中断された命令は再度実
行しなければならなかったので、命令の実行効率の低下
を招いていた。
実行処理時間が長くかかる高機能命令を実行処理する従
来の情報処理装置にあっては、命令の実行中に割込み要
求を受付けることができず、割込み応答の悪化を招いて
いた。また、命令の実行中に割込み要求を受付けること
ができるようにした従来の情報処理装置にあっては、割
込み要求を受付けたことにより中断された命令は再度実
行しなければならなかったので、命令の実行効率の低下
を招いていた。
【0008】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、命令の実行中
であっても割込み要求の受付を可能にするとともに、割
込み要求を受付けた際に中断された命令を中断されない
場合と同等の処理時間で処理を可能とし、割込み応答の
高速化ならびに命令実行効率の向上を達成し得る情報処
理装置を提供することにある。
たものであり、その目的とするところは、命令の実行中
であっても割込み要求の受付を可能にするとともに、割
込み要求を受付けた際に中断された命令を中断されない
場合と同等の処理時間で処理を可能とし、割込み応答の
高速化ならびに命令実行効率の向上を達成し得る情報処
理装置を提供することにある。
【0009】
【課題を解決するための手段】上記目的を達成するため
に、請求項1記載の発明は、実行中の命令の所定の処理
段階において、割込み要求の発生を検出し、発生した割
込み要求が受付け可能な割込み要求であれば、それまで
実行されていた命令を中断して発生した割込み要求を受
付け、中断された命令を再開する際の処理段階を示す指
示情報をセットする割込み要求検出手段と、割込み要求
検出手段によって割込み要求が受付けられると、それま
で実行されていた命令の処理で使用されていた情報及び
それまでの処理によって得られた情報を退避させて保存
する退避保存手段と、割込み要求検出手段によって受付
けられた割込み処理が終了した後、退避保存手段によっ
て退避保存された情報を復帰させる復帰手段と、割込み
要求検出手段によって指示情報がセットされ、セットさ
れた指示情報によって中断された命令を中断された時点
以降から再開実行させる指示を与える指示手段とから構
成される。
に、請求項1記載の発明は、実行中の命令の所定の処理
段階において、割込み要求の発生を検出し、発生した割
込み要求が受付け可能な割込み要求であれば、それまで
実行されていた命令を中断して発生した割込み要求を受
付け、中断された命令を再開する際の処理段階を示す指
示情報をセットする割込み要求検出手段と、割込み要求
検出手段によって割込み要求が受付けられると、それま
で実行されていた命令の処理で使用されていた情報及び
それまでの処理によって得られた情報を退避させて保存
する退避保存手段と、割込み要求検出手段によって受付
けられた割込み処理が終了した後、退避保存手段によっ
て退避保存された情報を復帰させる復帰手段と、割込み
要求検出手段によって指示情報がセットされ、セットさ
れた指示情報によって中断された命令を中断された時点
以降から再開実行させる指示を与える指示手段とから構
成される。
【0010】
【作用】上記構成において、この発明は、命令の実行中
に割込み要求の発生を検出し、発生した割込み要求を受
付ける場合には、それまで実行されていた命令を中断し
てその命令が使用していた情報ならびにそれまでの処理
で得られた情報を退避保存した後割込み要求を受付け、
中断された命令を再開する際の処理段階を示す指示情報
をセットし、割込み処理が終了すると、退避保存されて
いた情報を復帰した後セットされた指示情報に基づいて
中断された命令を中断された時点以降から再開実行する
ようにしている。
に割込み要求の発生を検出し、発生した割込み要求を受
付ける場合には、それまで実行されていた命令を中断し
てその命令が使用していた情報ならびにそれまでの処理
で得られた情報を退避保存した後割込み要求を受付け、
中断された命令を再開する際の処理段階を示す指示情報
をセットし、割込み処理が終了すると、退避保存されて
いた情報を復帰した後セットされた指示情報に基づいて
中断された命令を中断された時点以降から再開実行する
ようにしている。
【0011】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
する。
【0012】図1はこの発明の一実施例に係わる情報処
理装置の構成を示す図である。図1に示す装置における
一実施例は、除算処理の実行途中で割込み要求を受付け
可能としたものである。
理装置の構成を示す図である。図1に示す装置における
一実施例は、除算処理の実行途中で割込み要求を受付け
可能としたものである。
【0013】図1において、情報処理装置は、システム
バス1に接続されたメモリ2,バスインターフェイスユ
ニット3,命令デコードユニット4を有し、内部バス5
に接続された割込み検出ユニット6,演算ユニット7,
演算制御ユニット8,レジスタファイル9を有して構成
されている。
バス1に接続されたメモリ2,バスインターフェイスユ
ニット3,命令デコードユニット4を有し、内部バス5
に接続された割込み検出ユニット6,演算ユニット7,
演算制御ユニット8,レジスタファイル9を有して構成
されている。
【0014】命令デコードユニット4は、復帰マイクロ
アドレス10を備えており、この復帰マイクロアドレス
は、割込み処理が終了した後に中断された命令を中断さ
れた時点から実行処理する際のマイクロ命令を保持する
レジスタであり、図2に示すように構成されている。
アドレス10を備えており、この復帰マイクロアドレス
は、割込み処理が終了した後に中断された命令を中断さ
れた時点から実行処理する際のマイクロ命令を保持する
レジスタであり、図2に示すように構成されている。
【0015】図2において、復帰マイクロアドレスレジ
スタ10は、戻りステート情報を保持するRSTフィー
ルドと、ソースオペランドの種別(レジスタ又はメモ
リ)を示す情報を保持するSフィールドと、ディスティ
ネーションオペランドの種類を示す情報を保持するDフ
ィールドと、演算のサイズを示す情報を保持するSZフ
ィールドと、オペレーションの内容を示す情報を保持す
るOPCフィールドとから構成されている。
スタ10は、戻りステート情報を保持するRSTフィー
ルドと、ソースオペランドの種別(レジスタ又はメモ
リ)を示す情報を保持するSフィールドと、ディスティ
ネーションオペランドの種類を示す情報を保持するDフ
ィールドと、演算のサイズを示す情報を保持するSZフ
ィールドと、オペレーションの内容を示す情報を保持す
るOPCフィールドとから構成されている。
【0016】図1に戻って、割込み検出ユニット6は、
命令の実行中に割込み要求をモニターして、マイクロ命
令によって予め決められた所定の段階において、発生し
た割込み要求の許可/不許可を判定する。割込み検出ユ
ニット6は、命令の実行途中で割込み要求を受付けた場
合には、割込みプログラム終了後の復帰マイクロアドレ
スが復帰マイクロアドレスレジスタ10にセットされる
とともに、割込み検出ユニット6に備えられた割込みフ
ラグ11に割込み受付けを示すフラグをセットする。
命令の実行中に割込み要求をモニターして、マイクロ命
令によって予め決められた所定の段階において、発生し
た割込み要求の許可/不許可を判定する。割込み検出ユ
ニット6は、命令の実行途中で割込み要求を受付けた場
合には、割込みプログラム終了後の復帰マイクロアドレ
スが復帰マイクロアドレスレジスタ10にセットされる
とともに、割込み検出ユニット6に備えられた割込みフ
ラグ11に割込み受付けを示すフラグをセットする。
【0017】演算ユニット7は、論理演算ならびに算術
演算を実行するものであり、図3に示すように構成され
ている。
演算を実行するものであり、図3に示すように構成され
ている。
【0018】図3において、演算ユニット7は、8個の
ラッチ回路L1〜L8と、3個のシフタS1〜S3と、
4個のセレクタSE1〜SE4及びALU12を備え、
3本の内部バスX,Y,Zとの間でデータの入出力を行
い、演算処理を実行している。
ラッチ回路L1〜L8と、3個のシフタS1〜S3と、
4個のセレクタSE1〜SE4及びALU12を備え、
3本の内部バスX,Y,Zとの間でデータの入出力を行
い、演算処理を実行している。
【0019】図1に戻って、演算制御ユニット8は、演
算ユニット7で実行される演算処理を制御するものであ
り、ループカウンタ13を備えている。このループカウ
ンタ13は、除算処理における繰り返し演算の回数がセ
ットされる。
算ユニット7で実行される演算処理を制御するものであ
り、ループカウンタ13を備えている。このループカウ
ンタ13は、除算処理における繰り返し演算の回数がセ
ットされる。
【0020】レジスタファイル9は、汎用レジスタ群1
4を備えており、汎用レジスタ群14のうち例えば汎用
レジスタ14a,14bが割込み処理を受付けた際のデ
ータの退避場所に指定される。
4を備えており、汎用レジスタ群14のうち例えば汎用
レジスタ14a,14bが割込み処理を受付けた際のデ
ータの退避場所に指定される。
【0021】次に、このように構成された情報処理装置
において、除算処理の途中で割込み要求を受付ける場合
について説明する。
において、除算処理の途中で割込み要求を受付ける場合
について説明する。
【0022】除算命令DIV dst,srcは、ds
tの内容がsrcの内容で符号なし除算され、商がds
tの下位半分に、余りがdstの上位半分に転送され
る。演算結果にはオーバフローフラグがセットされる。
除算は被除数から除数の引き算をシフト操作で桁をずら
しながら繰り返し行うことにより実行される。例えば1
6ビット÷8ビットではこの繰り返しが8回、32ビッ
ト÷16ビットでは16回必要である。
tの内容がsrcの内容で符号なし除算され、商がds
tの下位半分に、余りがdstの上位半分に転送され
る。演算結果にはオーバフローフラグがセットされる。
除算は被除数から除数の引き算をシフト操作で桁をずら
しながら繰り返し行うことにより実行される。例えば1
6ビット÷8ビットではこの繰り返しが8回、32ビッ
ト÷16ビットでは16回必要である。
【0023】図4(A)は、従来の除算命令の実行サイ
クルを一般化したものを示す図である。
クルを一般化したものを示す図である。
【0024】図4(A)において(a)の期間で、命令
デコードを行い、必要に応じてアドレス計算、メモリリ
ードを行う。src,dstともに単純なレジスタ直接
アドレッシングの場合は、このサイクルは2サイクルで
ある。一方、複雑なアドレッシングモードでしかもsr
cがメモリの場合には、このサイクルは最も長くなり、
サイクル数はメモリリードに要するクロック数によって
規定される。
デコードを行い、必要に応じてアドレス計算、メモリリ
ードを行う。src,dstともに単純なレジスタ直接
アドレッシングの場合は、このサイクルは2サイクルで
ある。一方、複雑なアドレッシングモードでしかもsr
cがメモリの場合には、このサイクルは最も長くなり、
サイクル数はメモリリードに要するクロック数によって
規定される。
【0025】(b)のサイクルは、演算実行ステート
で、数ステップのマイクロ命令によって制御される。こ
の(b)のサイクルの中で、(c)のサイクルは1ステ
ップのマイクロ命令で制御され、上述の繰り返し動作を
実行する。
で、数ステップのマイクロ命令によって制御される。こ
の(b)のサイクルの中で、(c)のサイクルは1ステ
ップのマイクロ命令で制御され、上述の繰り返し動作を
実行する。
【0026】割込み要求は、図4(B)において、
(a)及び(b)で示されるサイクル間の中断点(g)
と(c)のサイクルの途中の中断点(h)で受け付け
る。それ以外のサイクルでは命令実行途中の割込みを許
可しない。また、命令実行途中に受け付けるべきでない
割込み要因にはマスクする。
(a)及び(b)で示されるサイクル間の中断点(g)
と(c)のサイクルの途中の中断点(h)で受け付け
る。それ以外のサイクルでは命令実行途中の割込みを許
可しない。また、命令実行途中に受け付けるべきでない
割込み要因にはマスクする。
【0027】(g)点で割込みを受け付けるためには、
直前のサイクルで割込み検出ユニット6によって割込み
チェックを行う。割込み要求がなければそのまま命令実
行を続行する。割込み要求があった場合には、割込みが
許可されて、命令途中の割込みフラグ11がセットさ
れ、割込み処理が開始される。
直前のサイクルで割込み検出ユニット6によって割込み
チェックを行う。割込み要求がなければそのまま命令実
行を続行する。割込み要求があった場合には、割込みが
許可されて、命令途中の割込みフラグ11がセットさ
れ、割込み処理が開始される。
【0028】割込み処理は、途中結果の退避方法によっ
て異なる。
て異なる。
【0029】補助オペランドを使用する場合は、途中結
果を補助オペランドで指定した場所に退避する。まず、
srcアドレス計算結果に基づきメモリから読み出され
たデータを第3オペランドで指定した場所に退避する。
次に、dstアドレス計算結果を第4オペランドで指定
した場所に退避する。復帰マイクロアドレスは(b)で
示されるサイクルの先頭である。
果を補助オペランドで指定した場所に退避する。まず、
srcアドレス計算結果に基づきメモリから読み出され
たデータを第3オペランドで指定した場所に退避する。
次に、dstアドレス計算結果を第4オペランドで指定
した場所に退避する。復帰マイクロアドレスは(b)で
示されるサイクルの先頭である。
【0030】この時、第3,4オペランドとして汎用レ
ジスタ14を指定すると、途中割込みのための処理が不
要となる。命令途中の割込みフラグ11と復帰マイクロ
アドレスレジスタ10の値を(b)で示されるサイクル
の先頭にセットして退避する。
ジスタ14を指定すると、途中割込みのための処理が不
要となる。命令途中の割込みフラグ11と復帰マイクロ
アドレスレジスタ10の値を(b)で示されるサイクル
の先頭にセットして退避する。
【0031】また、割込みフラグ11ならびに復帰マイ
クロレジスタ10の内容をプロセッサステータスワード
(PSW)に置くようにしておけば、通常の割込み処理
の際に、PSW,汎用レジスタが退避されるので、命令
途中の割込みのために特別な処理をする必要がなくな
る。
クロレジスタ10の内容をプロセッサステータスワード
(PSW)に置くようにしておけば、通常の割込み処理
の際に、PSW,汎用レジスタが退避されるので、命令
途中の割込みのために特別な処理をする必要がなくな
る。
【0032】一方、マイクロ命令で指示された記憶領域
に退避する場合には、除算命令中に割込みが発生した場
合の退避先の汎用レジスタ14をあらかじめ指定する方
式で、割込み処理としては上述した場合と同様である。
また、他の命令ではこの領域を使用しないようにする。
に退避する場合には、除算命令中に割込みが発生した場
合の退避先の汎用レジスタ14をあらかじめ指定する方
式で、割込み処理としては上述した場合と同様である。
また、他の命令ではこの領域を使用しないようにする。
【0033】通常の割込み処理では、割込み受付け直後
に割込み処理が開始されるが、割込み処理にウェイトを
かけてリソースの退避が終了した後に、割込み処理を開
始する。
に割込み処理が開始されるが、割込み処理にウェイトを
かけてリソースの退避が終了した後に、割込み処理を開
始する。
【0034】割込みプログラムからの復帰は、通常の命
令間の割込みと同様に、リターン命令を実行して行う
が、命令をフェッチして最初のステートは実行するが、
命令途中の割込みフラグ11の値によりリソース復帰処
理を行い、復帰マイクロアドレスレジスタ10の値を示
す処理から命令を再開する。
令間の割込みと同様に、リターン命令を実行して行う
が、命令をフェッチして最初のステートは実行するが、
命令途中の割込みフラグ11の値によりリソース復帰処
理を行い、復帰マイクロアドレスレジスタ10の値を示
す処理から命令を再開する。
【0035】次に、除算命令実行中の演算ユニット7の
ループ動作によって演算を実行している(c)の期間の
割込み受付けについて述べる。
ループ動作によって演算を実行している(c)の期間の
割込み受付けについて述べる。
【0036】従来では、この期間の割込み受付は禁止さ
れているので、割込み応答の面からは不利であった。
れているので、割込み応答の面からは不利であった。
【0037】まず、除算命令実行中の演算ユニット7の
動作について述べる。
動作について述べる。
【0038】除算命令実行中の演算ユニット7は、演算
制御ユニット8によって制御され、演算制御ユニット8
から演算ユニット7への制御信号は、マイクロ命令をデ
コードすることによって得られる。
制御ユニット8によって制御され、演算制御ユニット8
から演算ユニット7への制御信号は、マイクロ命令をデ
コードすることによって得られる。
【0039】演算ユニット7の動作は、32ビット÷1
6ビットの場合、まず、除算と被除数を所定のラッチに
ロードする。除数をラッチL3に、被除数の下位をラッ
チL5に、上位側をラッチL7にセットする。演算は除
数と被除数の符号をチェックしながら加/減算を行い、
オーバフローのチェックを行い、被除数を1ビット左シ
フトするという一連の動作の繰り返しである。これを1
6回行う。
6ビットの場合、まず、除算と被除数を所定のラッチに
ロードする。除数をラッチL3に、被除数の下位をラッ
チL5に、上位側をラッチL7にセットする。演算は除
数と被除数の符号をチェックしながら加/減算を行い、
オーバフローのチェックを行い、被除数を1ビット左シ
フトするという一連の動作の繰り返しである。これを1
6回行う。
【0040】従来では、1回目の演算実行時に、演算制
御ユニット8内のループカウンタ13の値を15に設定
し、0になるまでループを繰り返す。商ビットはシフタ
S1に追加されていく。最後の演算終了後、まず、剰余
をdstの上位側に書き込み、最後に商をdstの下位
側に書き込んで演算終了となる。繰り返し演算実行中
は、除数はラッチL3にラッチされ保持されている。被
除数は1ビットずつ左にシフトしながら下位側はラッチ
L5,L6,Xバスをループし、シフタS2の左シフト
によるオーバフロービットはシフタS3の上位側LSB
に追加される。上位側はラッチL7,ALU12,ラッ
チL8,Zバスをループする。
御ユニット8内のループカウンタ13の値を15に設定
し、0になるまでループを繰り返す。商ビットはシフタ
S1に追加されていく。最後の演算終了後、まず、剰余
をdstの上位側に書き込み、最後に商をdstの下位
側に書き込んで演算終了となる。繰り返し演算実行中
は、除数はラッチL3にラッチされ保持されている。被
除数は1ビットずつ左にシフトしながら下位側はラッチ
L5,L6,Xバスをループし、シフタS2の左シフト
によるオーバフロービットはシフタS3の上位側LSB
に追加される。上位側はラッチL7,ALU12,ラッ
チL8,Zバスをループする。
【0041】この実施例では、まず、演算制御ユニット
8のループカウンタ13の設定を6回に設定し、従来法
通りの演算を行う。次のサイクルでは、演算ユニット7
の動作は、従来法通りであるが、同時に割込み検出ユニ
ット6で割込みチェックを行う。また、ループカウンタ
13を8回に設定する。ここで、割込み要求を検出すれ
ば、次のサイクルから割り込み処理を行う。通常の割込
み処理に対してウェイトをかけ、最初に演算途中結果の
退避を行う。
8のループカウンタ13の設定を6回に設定し、従来法
通りの演算を行う。次のサイクルでは、演算ユニット7
の動作は、従来法通りであるが、同時に割込み検出ユニ
ット6で割込みチェックを行う。また、ループカウンタ
13を8回に設定する。ここで、割込み要求を検出すれ
ば、次のサイクルから割り込み処理を行う。通常の割込
み処理に対してウェイトをかけ、最初に演算途中結果の
退避を行う。
【0042】演算途中結果として必要なリソース(退避
情報)は、除数、被除数、商である。したがって、ラッ
チL3,L6,L8,L2の内容を退避すればよい。ラ
ッチL3に保持された除数はデータレジスタに保持さ
れ、ラッチL6、ラッチL8,ラッチL2の内容につい
ては、機械語命令で指示したディスティネーションアド
レス又は補助オペランドあるいはマイクロ命令で指示し
ている記憶領域に退避される。この時、被除数と商の途
中結果を連結して32ビット幅のデータとして退避する
ようにすれば、リソースの退避先はdstだけでよくな
る。
情報)は、除数、被除数、商である。したがって、ラッ
チL3,L6,L8,L2の内容を退避すればよい。ラ
ッチL3に保持された除数はデータレジスタに保持さ
れ、ラッチL6、ラッチL8,ラッチL2の内容につい
ては、機械語命令で指示したディスティネーションアド
レス又は補助オペランドあるいはマイクロ命令で指示し
ている記憶領域に退避される。この時、被除数と商の途
中結果を連結して32ビット幅のデータとして退避する
ようにすれば、リソースの退避先はdstだけでよくな
る。
【0043】このように、除算命令のような実行サイク
ル数の大きい命令の実行途中に割込みを受け付けるよう
にしたため、割込み応答の高速化が期待される。また、
中断時点から命令の実行処理を再開して、命令自体の実
行サイクル数を従来と同じ長さに抑えたので、命令実行
効率が下がるのを防止することができる。
ル数の大きい命令の実行途中に割込みを受け付けるよう
にしたため、割込み応答の高速化が期待される。また、
中断時点から命令の実行処理を再開して、命令自体の実
行サイクル数を従来と同じ長さに抑えたので、命令実行
効率が下がるのを防止することができる。
【0044】
【発明の効果】以上説明したように、この発明によれ
ば、命令の実行中に割込み要求の受付けを可能にすると
ともに、割込み受け付けによって中断された命令を中断
された時点から再開実行するようにしたので、割込み応
答性を向上させることができるとともに、命令の実行効
率を向上させることができる。
ば、命令の実行中に割込み要求の受付けを可能にすると
ともに、割込み受け付けによって中断された命令を中断
された時点から再開実行するようにしたので、割込み応
答性を向上させることができるとともに、命令の実行効
率を向上させることができる。
【図1】この発明の一実施例に係わる情報処理装置の構
成を示す図である。
成を示す図である。
【図2】図1に示す復帰マイクロアドレスレジスタの構
成を示す図である。
成を示す図である。
【図3】図1に示す演算ユニットの構成を示す図であ
る。
る。
【図4】除算命令の実行サイクルを示す図である。
4 命令デコードユニット 6 割込み検出ユニット 7 演算ユニット 8 演算制御ユニット 10 復帰マイクロアドレスレジスタ 11 割込みフラグ 13 ループカウンタ 14 汎用レジスタ
Claims (5)
- 【請求項1】 実行中の命令の所定の処理段階におい
て、割込み要求の発生を検出し、発生した割込み要求が
受付け可能な割込み要求であれば、それまで実行されて
いた命令を中断して発生した割込み要求を受付け、中断
された命令を再開する際の処理段階を示す指示情報をセ
ットする割込み要求検出手段と、 割込み要求検出手段によって割込み要求が受付けられる
と、それまで実行されていた命令の処理で使用されてい
た情報及びそれまでの処理によって得られた情報を退避
させて保存する退避保存手段と、 割込み要求検出手段によって受付けられた割込み処理が
終了した後、退避保存手段によって退避保存された情報
を復帰させる復帰手段と、 割込み検出手段によって指示情報がセットされ、セット
された指示情報によって中断された命令を中断された時
点以降から再開実行させる指示を与える指示手段とを有
することを特徴とする情報処理装置。 - 【請求項2】 前記退避保存手段は、退避保存する情報
を機械語命令により指示されたアドレスで指定される記
憶領域に退避保存させることを特徴とする請求項1記載
の情報処理装置。 - 【請求項3】 前記退避保存手段は、退避保存する情報
を機械語命令により指示された補助オペランドで指定さ
れる記憶領域に退避保存させることを特徴とする請求項
1記載の情報処理装置。 - 【請求項4】 前記退避保存手段は、退避保存する情報
をマイクロ命令により指定された記憶領域に退避保存さ
せることを特徴とする請求項1記載の情報処理装置。 - 【請求項5】 前記退避保存手段は、退避保存する情報
を機械語命令により指示されたアドレス又は補助オペラ
ンドで指定される記憶領域あるいはマイクロ命令により
指定される記憶領域に選択的に退避保存させることを特
徴とする請求項1記載の情報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14901693A JPH076038A (ja) | 1993-06-21 | 1993-06-21 | 情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14901693A JPH076038A (ja) | 1993-06-21 | 1993-06-21 | 情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH076038A true JPH076038A (ja) | 1995-01-10 |
Family
ID=15465833
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14901693A Pending JPH076038A (ja) | 1993-06-21 | 1993-06-21 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH076038A (ja) |
-
1993
- 1993-06-21 JP JP14901693A patent/JPH076038A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100588790B1 (ko) | 데이터처리기에서의후속명령처리에작용하는방법및장치 | |
| US5093908A (en) | Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor | |
| US6216222B1 (en) | Handling exceptions in a pipelined data processing apparatus | |
| JPH07248897A (ja) | コンピュータ・システムにおける例外からの回復方法、及びそのための装置 | |
| JPH0792739B2 (ja) | 浮動小数点データ正規化方式 | |
| KR0133237B1 (ko) | 다중 실행장치 처리시스템 상태의 선택적 저장방법 및 시스템 | |
| EP0482200B1 (en) | Interrupt processing system | |
| CN111857826A (zh) | 指令执行方法及指令执行装置 | |
| JP2000137611A (ja) | 特殊ミリコ―ド命令によって条件の設定およびテストを行う方法 | |
| JP2000137612A (ja) | 特殊ミリコ―ド命令によって条件の設定およびテストを行う方法 | |
| CN108834427B (zh) | 处理向量指令 | |
| US5784606A (en) | Method and system in a superscalar data processing system for the efficient handling of exceptions | |
| US4991130A (en) | Normalization control system for floating point arithmetic operation | |
| JPH076038A (ja) | 情報処理装置 | |
| JPS6161416B2 (ja) | ||
| AU1490888A (en) | Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units | |
| JPH0192843A (ja) | データ処理装置 | |
| JPH0222413B2 (ja) | ||
| JP2894438B2 (ja) | パイプライン処理装置 | |
| JP2824484B2 (ja) | パイプライン処理計算機 | |
| JP5012562B2 (ja) | マイクロコンピュータ | |
| JP2793396B2 (ja) | 電子計算機の演算ステータス保持装置 | |
| JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
| JP2793386B2 (ja) | 電子計算機の演算エラー情報保持装置 | |
| JP3114909B2 (ja) | プログラマブルコントローラの演算エラー処理方法 |