JP2633475B2 - 選択的セーブ方法及びシステム - Google Patents

選択的セーブ方法及びシステム

Info

Publication number
JP2633475B2
JP2633475B2 JP6186910A JP18691094A JP2633475B2 JP 2633475 B2 JP2633475 B2 JP 2633475B2 JP 6186910 A JP6186910 A JP 6186910A JP 18691094 A JP18691094 A JP 18691094A JP 2633475 B2 JP2633475 B2 JP 2633475B2
Authority
JP
Japan
Prior art keywords
instruction
register
execution
interrupt
instructions
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.)
Expired - Lifetime
Application number
JP6186910A
Other languages
English (en)
Other versions
JPH07105025A (ja
Inventor
デーヴィッド・スコット・レイ
アレクサンダー・コース・スペンサー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07105025A publication Critical patent/JPH07105025A/ja
Application granted granted Critical
Publication of JP2633475B2 publication Critical patent/JP2633475B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、二重実行装置を有する
コンピュータ処理システムに関する。より詳しくは、割
込み可能な命令が第1の実行装置で実行されている時で
さえ第2の実行装置を動作可能にする論理機構が提供さ
れる。
【0002】
【従来の技術】従来、二重実行装置の処理システムにお
いて、第1の実行装置で割込み可能な命令に出会うと、
第2の装置は、その命令が実行されるまで待たされる。
通常の多数の命令が潜在的に割込みを引き起こす可能性
があるので、第1の装置で実行中の命令が割込みを引き
起こすか否かにより、第2の装置で実行中の命令が保留
される場合には、処理システムの性能が低下する。
【0003】二重実行装置の処理装置の設計では、実行
したばかりの第2の命令を取り消さなければならないこ
とがしばしばある。この命令を取り消す理由は、第1の
命令の実行によって生ずる割込みの発生である場合があ
る。割込みは、「ページ不在」の発生(つまり、ページ
が記憶装置にない)、あるいはトラップ形式の割込みの
ために生じうる。両方の命令が同一の機械サイクルで実
行されるので、第2の命令が、アーキテクチャ式レジス
タ、すなわちソフトウェアによって変更できるレジスタ
を変更した可能性がある。これは、その以前の状態に復
元しなければならない。例えば、ロード命令が、第1の
実行装置で実行され、オーバフローの可能性のある加算
命令が、第2の実行装置で実行され、ロード命令が割込
みを起こす場合、加算命令によって固定小数点例外レジ
スタ(XER)内で設定されるビットを、その以前の値
に復元しなければならない。というのは、割込みのた
め、加算命令を取り消さなければならないからである。
【0004】したがって、問題は、第1の実行装置で実
行されている第1の命令の実行によって生じる副次的効
果のために、第2の実行装置で実行中の命令が取り消さ
れた時、多重実行装置設計のアーキテクチャ式レジスタ
の変更内容を復元することである。言うまでもなく、書
戻しサイクル(実行サイクルではない)の間に変更され
るアーキテクチャ式レジスタに関しては、この問題は存
在しない。というのは、割込みは、書戻しの間にわかる
からである。したがって、実際の割込みが実行サイクル
の間に発生した場合には、これらのレジスタの内容は、
割込み前と同じ機械状態を含む。これは、その実際の割
込みが書戻しサイクルまで識別されないので、通常は、
書戻しサイクルの間に更新されるレジスタの更新が妨げ
られるからである。したがって、これらのレジスタの内
容が書戻しサイクルの間に変更されることはない。実行
サイクルの間に更新されたレジスタは、復元しなければ
ならない。
【0005】IBMテクニカル・ディスクロージャ・ブ
ルテン、第35巻、1B号、1992年6月、ページ3
98−399では、いくつの浮動小数点装置(FPU)
命令が、固定小数点装置(FXU)パイプラインの最終
段階を越えて移動したかを追跡するカウンタを有する多
重実行処理装置が論じられている。このカウンタは、F
PUにも送られた命令がFXUの最終段階を越えて移動
した時に増分され、FPUが命令を完了した時に減分さ
れる。このシステムは、カウンタが0より大きな値を有
し、命令の終了が妨げられる時、FPUに命令を完了さ
せるだけである。
【0006】IBMテクニカル・ディスクロージャ・ブ
ルテン、第32巻、4A号、1989年9月、ページ4
74には、パイプライン式処理装置内での迅速な割込み
応答用のシステムが記載されている。割込み状態レジス
タ(ISR)は、全ての命令を割込みに対してトランス
ベアレントにするデータ流れで用いられる。ISRレジ
スタは、状況レジスタの他に、復元命令を含めることに
より割込みサービスの終りに復元されるパイプライン状
態パラメータをセーブする、追加レジスタである。
【0007】米国特許第5148530号及び第490
1222号は、仮想記憶装置のアドレス指定方式により
システム内のアドレスを変更することによって命令を再
実行する方法を記載している。仮想アドレスは、以前の
オペランドの読出しサイクルの間に増分又は減分され
る。オペランドが物理的記憶装置にない場合、基底レジ
スタの内容がその元の値に復元される。このシステム
は、実行開始後にソフトウェア命令をバックアウトす
る。
【0008】米国特許第4766566号は、専用二重
実行装置を有する処理装置を全般的に記載している。米
国特許第4912628号には、中断及び再開制御機能
を提供する特殊プログラムを有する仮想機械システムが
開示されている。このプログラムは、仮想機械に割込み
を処理させるのではなく、機械の外的割込み制御の制御
権を握り、かつ全ての入来する割込みをプログラム自体
に向ける。この機械は、その後、動作状態に復元され、
全てのレジスタの内容を復元することにより、ユーザの
タスクが、その割り込まれた点から再開される。米国特
許第4589065号によれば、トラップ例外が割込み
を引き起こさない場合には、記憶アドレスの妥当性検査
を単一サイクルで実施する。割込みが生じた場合には、
より多くのサイクルが必要となる。
【0009】
【発明が解決しようとする課題】明らかなように、これ
らの従来型のシステムはどれも、第2の実行装置の命令
が、実行サイクル中にアーキテクチャ式レジスタを変更
したか否かを判定し、第1の実行装置上の命令によって
割込みが生じた場合には、これらのレジスタを復元する
ためのバックアップ論理機構を提供する、汎用二重実行
装置処理システムを有していない。
【0010】
【課題を解決するための手段】従来技術とは対照的に、
本発明は、第1の実行装置で実行される命令が、割込み
可能なものであるかどうかを判定し、そうである場合
は、第2の実行装置で実行される命令が独自のアーキテ
クチャ式レジスタを変更するかどうか、これらの独自の
レジスタの状態を維持するために、バックアウト操作を
実施することが出来るかどうかを判定する。これらのレ
ジスタは書戻しサイクルの間に更新されるレジスタ・フ
ァイルとは対照的に、パイプラインの実行サイクルの間
に更新される。実行サイクルの間には、割込み可能な命
令が実際に割込み信号を発生させたかどうかはわからな
いので、これらのレジスタの内容をセーブしなければな
らない。これにより、第2の実行装置の命令は、割込み
可能な命令によって割込みが発生したかどうかを確認す
るために保留されて待機する必要なく、実行を継続する
ことができる。
【0011】一般的には、本発明は、バックアウト条件
が生じうるかどうかを判定するために、両方の実行装置
に追加の論理機構を提供する。独自のレジスタ用のバッ
クアウト論理機構は、現在実行中の命令が独自のレジス
タを変更するかどうかを判定するために、2つの復号動
作を使用する。単一の命令が、複数の独自のレジスタを
変更することが可能である。本発明のバックアウト論理
機構は、両方の実行装置に存在するが、特に、実行中の
命令によって変更される各独自のレジスタを有する実行
装置に存在する。1台の独自のレジスタを変更する命令
が実行されている場合、そのレジスタの内容がバックア
ウト・ラッチにセーブされる。割込み可能な命令が割込
みを生ずることなく実行される場合に、取消し信号が提
供される。しかし、割込み可能な命令が割込みを引き起
こした場合には、バックアウト・ラッチの内容が独自の
レジスタ内に再ロードされる。当然ながら、バックアウ
ト・システムが無い場合には、一時に1個の割込み可能
命令しかディスパッチできない。これは、二重実行装置
の設計にとっては厳しい性能上のペナルティである。と
いうのは、全てのロード命令及び記憶命令が割込みを引
き起こす可能性があるからである。したがって、本発明
によれば、命令が割込み可能か否かにかかわらず、両方
の命令が両方の実行装置で実行される。
【0012】したがって、前述の要約によれば、本発明
の目的、特徴及び利点は、添付の図面を参照しながら、
以下の記載及び冒頭の特許請求の範囲を読めば、当業者
にとっては明白となろう。
【0013】
【実施例】図1は、本発明の二重処理システムの構成図
である。システム記憶装置は、キャッシュ1に接続され
る。このキャッシュ1は、システム記憶装置(図示せ
ず)からのデータを、レジスタ・ファイル5に転送す
る。次にレジスタ・ファイル5内のデータは、二重固定
小数点装置9及び11に提供される。
【0014】命令が、命令バス(図示せず)から命令キ
ャッシュ装置3に提供される。これらの命令は、次に復
号装置7により復号されディスパッチ(タスク指名)さ
れる。命令が復号されると、前述のように、レジスタ・
ファイル5から供給されるデータを操作するため、固定
小数点装置9あるいは11に供給される。固定小数点装
置9及び11は、次いで、復号/ディスパッチ装置7か
ら受け取った命令を実行し、かつレジスタ・ファイル5
によって供給されるデータを操作する。出力データは次
に、データをレジスタ・ファイル5に戻すために汎用ラ
ッチ(21及び23)に供給され、再び別の命令、例え
ば加算命令によって操作される。あるいは、操作される
データ用の先に計算された有効アドレスをシステム記憶
装置(あるいはキャッシュ1)の物理的記憶位置に変換
する変換論理機構にデータを供給することもできる。次
に、データは、記憶装置の変換された物理的アドレスに
記憶される。こうして、固定小数点装置9及び11から
出力されたデータは、さらに処理するためにレジスタ・
ファイル5に戻され、あるいはシステム記憶装置(キャ
ッシュ1を含む)に記憶される。
【0015】図1には、固定小数点例外レジスタ(XE
R)13及び乗算商(MQ)15レジスタも図示されて
いる。XERレジスタ及びMQレジスタは、共にアーキ
テクチャ上独自のレジスタであり、パイプラインの実行
サイクルの間に更新される。したがってバス25に沿っ
た書戻しサイクルの間に更新されるレジスタ・ファイル
5とは異なり、XERレジスタ及びMQレジスタは、命
令が実施されている時に変更される。固定小数点例外レ
ジスタは、中間結果にではなく、命令の演算全体に基づ
くビット定義を有する32ビット・レジスタである。一
般的に、XERレジスタは、算術演算のためオーバフロ
ー及び桁上げ状態を保持する。例えば、桁上げからの減
算命令(SUBFCX)の結果は、3つの値の合計とし
て指定される。この命令は、中間合計ではなく演算全体
に基づいて、XER中のビットをセットする。XER中
のゼロ・ビットは、命令がオーバフローを示すためにオ
ーバフロー・ビットをセットする時にセットされ、ソフ
トウェアによってクリアされるまでセットされたままに
なる、合計オーバフロー・ビットである。ビット1は、
オーバフロー・ビットであり、これがセットされると、
命令の実行中にオーバフローが発生したことを示す。加
算命令及び減算命令は、ビット0からの桁上げがビット
1からの桁上げに等しくない場合に、オーバフロー・ビ
ットを論理機構1にセットすることができる。そうでな
い場合、オーバフロー・ビットはクリアされる。ビット
2は、命令の実行中にビット0からの桁上げが生じたこ
とを示すために一般的にセットされる、桁上げビットで
ある。桁上げ加算命令、桁上げからの減算命令、拡張加
算命令及び拡張からの減算命令は、ビット0からの桁上
げがある場合に桁上げビットを論理機構1にセットし、
そうでない場合にはビット0をクリアする。ビット3−
15は予約される。ビット16−23は、ストリング・
ロード及びバイト比較命令によって比較されるバイトを
含むフィールドである。ビット24は予約され、ビット
25−31は、ストリング・ワード・インデックス・ロ
ード命令あるいはストリング・ワード・インデックス記
憶命令によって転送されるバイトの数を指定するフィー
ルドである。
【0016】商乗算レジスタは、乗算命令の積及び除算
命令の被除数を収容するための拡張レジスタとして用い
られる32ビット・レジスタである。このレジスタは、
ロング命令、回転命令及びシフト命令のオペランドとし
ても使用される。又、これは、実施態様に特有なMUL
I、MULS、DIVS、DIVU等を含む種々の命令
の実行の間に変更することができる。これらの演算の間
にMQレジスタに書き込まれる値はオペランドに依存す
るもので、したがってこれらの命令のいずれかが実行さ
れた後にMQレジスタの内容が未定義となることもあ
る。乗算、除算、左シフト、右シフトなどの他の命令
も、MQレジスタを変更する。移動先専用レジスタ及び
移動元専用レジスタも、MQレジスタにアクセスするこ
とができる。
【0017】さらに、バックアップ・レジスタ17及び
19(B_XER及びB_MQ)が本発明に含まれる。
これらは、それぞれXERレジスタ13及びMQレジス
タ15の内容のコピーを記憶するための非アーキテクチ
ャ式ラッチである。前述のように、XERレジスタ及び
MQレジスタは、実行サイクルの間に更新される。した
がって、割込みが生じ、これらのレジスタの内容が記憶
されていない場合には、処理装置は、割込みを発生させ
た命令が実行された時の状態に復帰することが出来な
い。他の全ての専用及び汎用レジスタは、実行サイクル
の後に続く書戻しサイクルの間に更新され、割込みを受
け取った場合には、これらのレジスタは、その割込みを
引き起こした命令の実行の間に存在していたものと同一
の内容を含むことになることに留意されたい。バックア
ップXER17及びバックアップMQ19は、XERレ
ジスタ及びMQレジスタを、その割込みを引き起こした
命令が実行される時の状態に復元させる。
【0018】従来のシステムは、第1の実行装置9で割
込み可能な命令に出会った時に、第2の実行装置、例え
ば11をロックする。これにより、命令は順序通り実行
されるが、二重実行装置システムの能力は充分に活用さ
れないことになる。さらに、ロード命令及び記憶命令
は、割込み可能であり、より頻繁に出会う命令であり、
第2の実行装置を長時間ロックさせてしまい、二重実行
装置システムの目的を妨げる。したがって、本発明は、
割込み可能な命令を認識し、かつバックアップ・ラッチ
17及び19がそれぞれレジスタ13及び15の内容を
受け入れることができるようにする、バックアップ論理
機構を両方の実行装置9及び11に提供する。これらの
レジスタは、固定小数点装置9で実行される命令が割込
み可能な命令であり、FXU11上の命令がXERレジ
スタ13あるいはMQレジスタ15の内容を変更する時
にバックアップされる。この場合、バックアップ論理機
構(図2を参照)は、これらのレジスタの内容のコピー
をバックアップ・ラッチ17及び19内に置き、割込み
が実際に生じた場合、このデータは、XERレジスタ及
びMQレジスタを割込みを引き起こした命令が実行され
ていた時の状態に復元するために使用される。割込み可
能な命令が実際には割込みを起こさなかった場合は、こ
のデータは、別の割込み可能な命令に出会うまでバック
アップ・ラッチ17及び19に単に保持され、かつその
時のXERレジスタ及びMQレジスタの内容がその後で
バックアップ・ラッチ17及び19に記憶される。
【0019】本発明のバックアウト論理機構は、固定小
数点装置9及び11に含まれる。XERレジスタ及びM
Qレジスタのバックアウト論理機構は、第2の実行装置
11の復号動作から開始する。この復号動作によって、
現在実行中の命令が、XERレジスタまたはMQレジス
タを変更するかどうかが判定される。例えば、MULO
命令のように、両方のレジスタを変更する命令を有する
ことが可能である。MQバックアウト用の論理機構の残
りの部分は、第2の実行装置に含まれる。というのは、
MQレジスタは、データ流れの一部であるからである。
他方、XERバックアウト論理機構は、XERレジスタ
が第1の実行装置中にあるので、それに含まれる。
【0020】MQバックアップ論理機構は、MQ変更命
令が、第2の実行装置で実行されているかどうかを判定
し、そうである場合は、MQレジスタがMQバックアッ
プ・ラッチ19にセーブされる。次のサイクルで、FX
_CANCEL信号が活動状態になり(割込み条件が起
こったことを示す)、ラッチされたMQ変更復号が依然
としてセットされている場合、MQレジスタに、MQバ
ックアウト・ラッチの内容が再ロードされる。MQ変更
復号ラッチは、FX_CANCELが数サイクル後に活
動状態になり、かつMQレジスタを復元することができ
るように保持される。
【0021】XERバックアップ論理機構は、XER変
更命令が第2の実行装置で実行されている場合にセット
される。このラッチは、両方の実行装置が保留される場
合に保持され、そうでない場合にはリセットされる。X
ERレジスタの3ビットは、XERバックアウト・ラッ
チ17にセーブされる。FX_CANCEL信号が活動
状態になり、ラッチされたXER変更復号が依然として
セットされている場合、XERレジスタの3ビットに、
XERバックアウト・ラッチ17の内容が再ロードされ
る。この前サイクルにおいて、第2の実行装置上の命令
がXERのSOビットをセットした場合、この条件はX
ERの状態にまだ反映されず、したがって第2の実行装
置からXER内へのSOデータのラッチは迂回しなけれ
ばならない。
【0022】表1は、本発明を例示する2つの例を含む
図表である。第1の例Aでは、実行装置1で実行されて
いる命令からの割込みが実際には起こらない状況が示さ
れている。復号サイクルの間に、ロード命令が実行装置
1に提供され、加算命令が実行装置2に提供される。復
号論理機構は、実行装置1に提供されるロード命令が割
込み可能であり、実行装置2に提供される加算命令がX
ERレジスタを変更すると判断する。ロード命令は、実
行サイクルの間に実行装置1で実行され、加算命令は実
行装置2で実行される。復号論理機構は、加算命令がX
ERレジスタを変更すると判断するので、XERレジス
タの値がバックアウトXERラッチ17にコピーされ、
XERラッチが、実行装置2上での加算命令の実行の後
の加算に対応するデータ値で更新される。書戻しサイク
ルの間に実行装置1で実行されるロード命令が、割込み
を発生しないと判断され、その後にロードデータがレジ
スタ・ファイル5に書き込まれる。さらに、実行装置2
上の加算命令の結果が、レジスタ・ファイル5に書き込
まれる。この場合、復元動作あるいは「バックアウト」
動作は必要でない。
【0023】例Bは、実行装置1で実行される命令が、
実際に割込みを発生させる状況を示している。この場合
も、復号論理機構は、実行装置1上のロード命令が割込
み可能であり、かつ実行装置2上の加算命令がXERレ
ジスタを変更すると判断する。実行サイクルの間に、ロ
ード命令が実行装置1によって実行される。加算命令が
実行装置2によって実行され、XERレジスタの値が、
バックアウト・レジスタにコピーされる。書戻しサイク
ルの間に実行装置1によって実行されるロード命令によ
って実際に割込みが発生したと判断される。したがっ
て、ロード・データは、レジスタ・ファイル5に書き込
まれない。割込みが生じたので、XERバックアウト・
ラッチ17の内容がXERレジスタ13に書き戻され、
このレジスタを加算命令の実行前の状態に復元する。明
らかなように、レジスタ・ファイルは書戻しサイクルの
間に更新されるので、これらの値をバックアウトする必
要はない。というのは、割込みがレジスタ・ファイルの
更新前に実際に発生したかどうかわかっており、更新が
防止できるからである。MQレジスタ及びXERレジス
タの場合には、そうではない。というのは、これらのレ
ジスタは、実行サイクルの間に更新され、したがって割
込みを発生した実行装置1上での命令の実行前の状態の
MQレジスタ及びXERレジスタの内容をセーブするた
めに、バックアウト論理機構が必要だからである。
【0024】
【表1】例A:実行装置1で実行される命令からの割込
みはない サイクル 固定小数点 固定小数点 命令 装置1 装置2 復号 ロード 加算 ロードは、割込みを発生する 復号論理は加算をXER変更 可能性がある 操作として検出する 実行 ロード 加算 XERレジスタの値が、バック アウト・レジスタにコピーされ る XERレジスタは加算の実行後 に更新される 書き戻し ロード操作は割込みを発生 加算の結果はレジスタ・ファイ しない。ロード・データは ルに書き込まれる レジスタ・ファイルに書き 込まれる 例B:実行装置1で実行される命令からの割込みがある サイクル 固定小数点 固定小数点 命令 装置1 装置2 復号 ロード 加算 ロードは、割込みを発生する 復号論理は加算をXER変更 可能性がある 操作として検出する 実行 ロード 加算 XERレジスタの値が、バック アウト・レジスタにコピーされ る XERレジスタは加算の実行後 に更新される 書き戻し ロード操作は割込みを発生 XERバックアウト・レジスタ する。ロード・データは の内容がXERレジスタに書き レジスタ・ファイルに書き 戻され、その状態を加算命令前 込まれない の状態に復元する。加算結果は レジスタ・ファイルに書き戻さ れない
【0025】図2及び3のフローチャートについて以下
に述べる。ステップ1で処理が開始され、ステップ2で
実行装置に供給される命令が実際に割込み可能かどうか
を判定する。そうでない場合は、バックアウト動作が必
要でないのでステップ3に進み、ステップ12へ進んで
終了する。ステップ2で復号論理機構により、実行装置
1の命令が実際に割込み可能であると判定された場合に
は、ステップ4で復号論理機構は、実行装置2の命令が
XERレジスタあるいはMQレジスタを変更するかどう
かを判定する。実行装置2の命令がこれらのレジスタの
どちらも変更しない場合には、バックアウト動作は必要
でなく、処理はステップ3に進み、ステップ12で終了
する。
【0026】しかし、ステップ4で、実行装置2の命令
が、XERレジスタあるいはMQレジスタを変更すると
判定された場合には、ステップ5で、これらのレジスタ
の内容がバックアウト・ラッチ17及び19にセーブさ
れる。ステップ6で実行装置1及び2の命令の両方が実
行され、かつMQレジスタ又はXERレジスタあるいは
その両方が、実行装置2で実行される命令からの値で更
新される(ステップ7)。書戻しサイクルの間に、ステ
ップ8で、実行装置1で実行される命令が実際に割込み
を発生させたかどうかを判定する。割込みが起こらなか
った場合には、処理はステップ9に進み、ここで、実行
装置1及び2で実行される命令から発生したデータがレ
ジスタ・ファイル5に書き込まれ、命令のパイプライン
実行が続行される。ステップ9の後に、処理はステップ
12で終了する。
【0027】実際に、実行装置1で実行される命令が割
込みを発生させたと判定された場合、ステップ10で、
MQレジスタ又はXERレジスタをバックアップ・ラッ
チ17及び19から、割込みを発生させた実行装置1上
での命令の実行以前の状態に復元する。ステップ11
で、レジスタ・ファイルは、実行装置1で実行される割
込みを発生させた命令に対応するデータで更新されない
ようにされる。ステップ11の後で処理はステップ12
で終了する。
【0028】前述の説明は、命令パイプラインの単一セ
グメントに関するものであるが、当業者には理解できる
ように、ステップ1−12は、実行装置1及び2に提供
される命令用のパイプラインの各段毎に実施される。
【0029】図4及び図5は、本発明で使用される実際
の制御信号及びそれらの相互関係を示すタイミング図で
ある。信号1、SOX_.FXU_.XGC_XER_
MOD(0)は、XERレジスタ13を変更する実行装
置2の命令を検出する信号である。この信号は、復号論
理機構7によって発行され、実行サイクルの間に、本発
明のバックアウト論理機構によって検出される。制御信
号2、SOX_.FXU_.XGA.L_XER_MO
D(0)は、制御信号1のラッチされたコピーであり、
割込みが実際に生じた場合に使用できるようにセーブさ
れる。制御信号3、SOX_.FXU_.XGA.XE
R_SL_(0)、及び制御信号4、SOX_.FXU
_.XGA.XER_BAK_SL_(0)は、データ
が、XERレジスタにあるか、それともバックアウト・
レジスタにあるかを判定するために用いられる。本発明
では、実行装置2では割込みが起こらないので、常にX
ERレジスタが選択される。制御信号5、SOX_.F
XU_.XGA.HOLD_EXO(0)、及び制御信
号6、SOX_.FXU_.XGA.HOLD_EXO
(1)は、それぞれ実行装置0及び1の停止を示す。こ
れらの信号(5及び6)の第1の遷移は、実行装置1の
命令が実行されたことを示す。これらの信号(5及び
6)の次の3つの遷移は、割込みハンドラが実行され
て、割込みが実際に生じたことを示していることを示
す。これらの信号の最後の遷移は、実行装置2の命令
(図2の例を用いた加算命令)が再実行された時に生じ
る。制御信号9、SOX_.FXU_.XJH_FX
CANCEL(0)は、実行装置1の命令が実際に割込
みを発生したかどうかを本発明のバックアウト論理機構
に示す。この信号は、割込みが起こった時に活動状態に
なる。制御信号10、11及び12(SOX_.FXU
_.XGA_XER(0)、SOX_.FXU_.XG
A_XER(1)及びSOX_.FXU_.XGA_X
ER(2))は、バックアウトすべきXERレジスタの
内容を供給する。信号11及び12の非活動化の後縁
は、XERレジスタがこのとき、実行装置2によって実
行される命令からの新しい値を含んでいることを示す。
信号11及び12の活動化の前縁は、XERレジスタ
が、前の値で復元され、割込みハンドラがXERレジス
タの正しい状態を確認したことを示す。信号11及び1
2の活動化の第2の後縁は、この命令が再実行された
後、XERレジスタが、実行装置2で実行される命令か
らの値にセットされることを示す。制御信号13、14
及び15(SOX_.FXU_.XGA.SO_BAC
K(0)、SOX_.FXU_.XGA.OV_BAC
K(0)、SOX.FXU_.XGA.CA_BACK
(0))は、バックアウトXERラッチ17の内容に対
応する制御信号である。これらの信号は、XERレジス
タの内容が、バックアウト・ラッチにセーブされること
を示す。図5は、XERレジスタに関して記載したもの
であるが、当業者には理解できるように、同一の機能を
果たす制御信号が、MQレジスタ15の内容をバックア
ウトするために利用される。
【0030】表2は、図4、5に類似したタイミング図
であるが、本発明の論理機構が使用する2進信号も示
す。ここで、ピリオドは論理0を示し、1は論理1を示
す。この場合、制御信号1−15が、本発明のバックア
ウト機能を実施するために利用される。
【0031】
【表2】 E2Y_32G 0000000000 1111111111 2222222222 3333 333333 4444444444 5555555555 6666666666 777777777 スタート時間:0 0123456789 0123456789 0123456789 012 3456789 0123456789 0123456789 0123456789 0123456789 ------------------------------------------------------------------------ /* XER BACKOUT論理のタイミング図 */ /* 開始 この信号は装置2の命令を変 */ /* 更するXERを検出する */ (1) SOX_.FXU_.XGC_XER_MOD(0) .......... .......1.. .......... ... ^XER変更命令が実行サイクル(17) で検出される /* この信号は次にこれを遅らすため */ /* に書戻しサイクルにラッチされる */ (2) SOX_.FXU_.XGA.L_XER_MOD(0) .......... ........11 1111111111 11. ^変更命令復号器が割込みが発生 したか否かを確認するためにラッ チされる (3) SOX_.FXU_.XGA.XER_SL_(0) /* 次の2個の信号はXERとBACKOUTの */ /* どちらのデータが用いられるかを */ /* 制御する */ .......... .......... .......... ... (4) SOX_.FXU_.XGA.XER_BAK_SL_(0) 1111111111 1111111111 1111111111 11. 割込みが発生しないのでXERが 常に選択される /* これらの信号はEXECUTEサイクルの */ /* 間実行装置1で実行される命令を */ /* 示す */ (5) SOX_.FXU_.XGA.HOLD_EX0(0) 1111111111 1111111.11 1111111111 11. (6) SOX_.FXU_.XGA.HOLD_EX0(1) 1111111111 1111111.11 1111111111 11. ^ロードはサイクル17で実行装 置 1上で実行される /* これらの信号はEXECUTEサイクルの */ /* 間に実行装置2で実行される命令 */ /* を示す */ (7) SOX_.FXU_.XGA.HOLD_EX1(0) 1111111111 1111111.11 1111111111 11. (8) SOX_.FXU_.XGA.HOLD_EX1(1) 1111111111 1111111.11 1111111111 11. ^加算はサイクル17で実行装置 2上で実行される −・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・ A A A A −・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・−・ /* この信号は実行装置1の命令が実際 */ /* に割込みを発生したか否かを知ら */ /* せる */ (9) SOX_.FXU_.XJH_FX_CANCEL(0) .......... .......... .......... ... 割込みは起こらない /* 次の3個の信号はXERレジスタの内容 */ /* である */ (10) SOX_.FXU_.XGA_XER_(0) .......... ..11111111 1111111111 11. (11) SOX_.FXU_.XGA_XER_(1) .......... ..111111.. .......... ... (12) SOX_.FXU_.XGA_XER_(2) .......... ..111111.. .......... ... ^XERレジスタは加算命令から の 新しい値を含んでいる /* 次の3個の信号はBACKOUT XERのレジ */ /* スタの内容である */ (13) SOX_.FXU_.XGA.SO_BACK(0) .......... .......111 1111111111 11. (14) SOX_.FXU_.XGA.OV_BACK(0) .......... .......111 1111111111 11. (15) SOX_.FXU_.XGA.CA_BACK(0) .......... .......111 1111111111 11. ^XERレジスタの内容はBACKOUT レジスタにセーブされる /* XER BACKOUT論理のためのタイミン */ /* グ図終了
【0032】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0033】(1)第1の命令が割込み可能であるかど
うかを判定する段階と、前記第1の命令と同時に実行さ
れる第2の命令が、実行サイクルの間に更新されるレジ
スタを変更するかどうかを判定する段階と、前記第1の
命令が割込み可能であり、かつ前記第2の命令が前記レ
ジスタを変更した時に、前記レジスタの内容をセーブす
る段階と、割込みが生じた時に、前記レジスタを前記内
容によって復元する段階とを含む、多重実行装置処理シ
ステムの状態を選択的にセーブする方法。 (2)前記第1及び第2の命令をそれぞれ第1及び第2
の実行装置で実行する段階をさらに含む、上記(1)に
記載の方法。 (3)前記実行段階が、前記第1及び第2の命令の実行
から生ずる新しい値で前記レジスタを変更する段階を含
むことを特徴とする、上記(2)に記載の方法。 (4)前記復元段階が、前記割込み可能な第1の命令が
実際に割込みを発生させたかどうかを判定する段階を含
むことを特徴とする、上記(3)に記載の方法。 (5)前記復元段階が、セーブした内容を前記レジスタ
内に置き、これにより、前記レジスタを前記第1及び第
2の命令の実行前の状態に復元する段階をさらに含むこ
とを特徴とする、上記(4)に記載の方法。 (6)前記実行サイクルの後に更新された他のレジスタ
が、割込みが実際に起こった場合に前記第1及び第2の
命令の実行に対応する結果で更新されることを防止する
段階をさらに含む、上記(5)に記載の方法。 (7)前記他のレジスタを、割込みが実際に起こらなか
った場合に前記第1及び第2の命令の実行に対応する結
果で更新する段階をさらに含む、上記(6)に記載の方
法。 (8)割込みが実際に起こった場合に前記第1及び第2
の命令を再実行する段階をさらに含む、上記(5)に記
載の方法。 (9)第1の命令が割込み可能であるかどうかを判定す
る手段と、前記第1の命令と同時に実行される第2の命
令が、実行サイクルの間に更新されるレジスタを変更す
るかどうかを判定する手段と、前記第1の命令が割込み
可能であり、かつ前記第2の命令が前記レジスタを変更
した時に、前記レジスタの内容をセーブする手段と、割
込みが生じた時に、前記レジスタを前記内容によって復
元する手段とを含む、多重実行装置処理システムの状態
を選択的にセーブするシステム。 (10)前記第1及び第2の命令を実行する手段をさら
に含む、上記(9)に記載のシステム。 (11)前記実行手段が、前記第1及び第2の命令の実
行から生ずる新しい値で前記レジスタを変更する手段を
含むことを特徴とする、上記(10)に記載のシステ
ム。 (12)前記復元手段が、前記割込み可能な第1の命令
が実際に割込みを発生させたかどうかを判定する手段を
備えることを特徴とする、上記(11)に記載のシステ
ム。 (13)前記復元手段が、セーブした内容を前記レジス
タ内に置き、これにより、前記レジスタを第1及び第2
の命令の実行前の状態に復元する手段をさらに含むこと
を特徴とする、上記(12)に記載のシステム。 (14)前記実行サイクルの後に更新された他のレジス
タが、割込みが実際に起こった場合に前記第1及び第2
の命令の実行に対応する結果で更新されることを防止す
る手段をさらに含む、上記(13)に記載のシステム。 (15)前記他のレジスタを、割込みが起こらなかった
場合に前記第1及び第2の命令の実行に対応する結果で
更新する手段をさらに含む、上記(14)に記載のシス
テム。 (16)割込みが実際に起こった場合に、前記第1及び
第2の命令を再実行する手段をさらに含む、上記(1
5)に記載のシステム。 (17)第1の命令が割込み可能であるかどうかを判定
するための前記手段、及び第2の命令がレジスタを変更
するかどうかを判定するための前記手段が、中央演算処
理装置に含まれる復号回路を備えることを特徴とする、
上記(9)に記載のシステム。 (18)前記セーブ手段が、バックアウト・ラッチを備
えることを特徴とする、上記(17)に記載のシステ
ム。
【0034】
【発明の効果】明らかなように、実行サイクルの間に機
械状態を変更することができる命令を検出し、これらの
命令をバッックアウトするための機構を提供することに
より、処理装置の性能を大幅に向上させることができ
る。従来のシステムでは、第1の実行装置上で割込み可
能な命令に出会った場合、第2の実行装置は、割込み可
能な命令が実行されるまで待たされる(使用されない)
ことがある。割込み可能な非常に多数の種々の命令があ
るので、第2の実行装置が使用されないままでいるケー
スは多数存在する。これとは対照的に、本発明は、第2
の実行装置で同時に実行されている命令によって変更さ
れたレジスタの内容をバックアップする。これにより、
第1の装置で割込み可能な命令に出会った時、第2の実
行装置を、使用されないままでおくのではなく、その使
用時間を増加させることができるようになる。ロード命
令など多数の命令が割込み可能性なので、これは明らか
な処理上の利点である。
【図面の簡単な説明】
【図1】本発明の好ましい実施例の二重実行処理装置シ
ステムの構成要素を示す構成図である。
【図2】独自のレジスタ中の命令をバックアウトするた
めに本発明で使用するステップを示すフローチャートで
ある。
【図3】独自のレジスタ中の命令をバックアウトするた
めに本発明で使用するステップを示すフローチャートで
ある。
【図4】本発明を実施するために使用される、実際の制
御信号及びその順序を示すタイミング図である。
【図5】本発明を実施するために使用される、実際の制
御信号及びその順序を示すタイミング図である。
【符号の説明】 1 キャッシュ 3 キャッシュ装置 5 レジスタ・ファイル 7 復号装置 9 固定小数点装置 11 固定小数点装置 13 XERレジスタ 15 MQレジスタ 17 バックアップXERレジスタ 19 バックアップMQレジスタ 21 汎用ラッチ 23 汎用ラッチ 25 バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アレクサンダー・コース・スペンサー アメリカ合衆国78750 テキサス州オー スチン ルスティック・ロック・ドライ ブ 11412 (56)参考文献 特開 平5−53806(JP,A) 特開 平4−69734(JP,A) 特開 平5−181676(JP,A) 特開 平2−10427(JP,A) 特開 平3−158928(JP,A) 特開 平4−188229(JP,A) 特開 平4−130537(JP,A) DAVID A.PATTERSO N,JOHN L.HENNESSY 著、富田▲真▼治他訳「コンピュータ・ アーキテクチャー −設計・実現・評価 の定量的アプローチ−」(1992−12− 25)日経BP社PP.206−210

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】第1の命令及び第2の命令がそのそれぞれ
    で実行可能な第1及び第2の実行装置を有する多重実行
    装置処理システムにおいて、 前記第1の命令が割込み可能であるかどうかを判定する
    段階と、 前記第1の命令と同時に実行される前記第2の命令が、
    実行サイクルの間に更新されるレジスタを変更するかど
    うかを判定する段階と、 前記第1の命令が割込み可能であり、かつ前記第2の命
    令が前記レジスタを変更する時に、前記レジスタの内容
    をセーブする段階と、 割込みが生じた時に、前記レジスタを前記内容によって
    復元する段階とを含み、割込み可能な第1の命令が第1
    の実行装置で実行されている時であっても第2の実行装
    置で第2の命令を実行可能にする多重実行装置処理シス
    テムの状態を選択的にセーブする方法。
  2. 【請求項2】前記実行段階が、前記第1及び第2の命令
    の実行から生ずる新しい値で前記レジスタを変更する段
    階を含むことを特徴とする、請求項1に記載の方法。
  3. 【請求項3】前記復元段階が、前記割込み可能な第1の
    命令が実際に割込みを発生させたかどうかを判定する段
    階を含むことを特徴とする、請求項2に記載の方法。
  4. 【請求項4】前記復元段階が、セーブした内容を前記レ
    ジスタ内に置き、これにより、前記レジスタを前記第1
    及び第2の命令の実行前の状態に復元する段階をさらに
    含むことを特徴とする、請求項3に記載の方法。
  5. 【請求項5】前記実行サイクルの後に更新された他のレ
    ジスタが、割込みが実際に起こった場合に前記第1及び
    第2の命令の実行に対応する結果で更新されることを防
    止する段階をさらに含む、請求項4に記載の方法。
  6. 【請求項6】前記他のレジスタを、割込みが実際に起こ
    らなかった場合に前記第1及び第2の命令の実行に対応
    する結果で更新する段階をさらに含む、請求項5に記載
    の方法。
  7. 【請求項7】割込みが実際に起こった場合に前記第1及
    び第2の命令を再実行する段階をさらに含む、請求項4
    に記載の方法。
  8. 【請求項8】第1の命令及び第2の命令がそのそれぞれ
    で実行可能な第1及び第2の実行装置を有する多重実行
    装置処理システムにおいて、 第1の命令が割込み可能であるかどうかを判定する手段
    と、 前記第1の命令と同時に実行される第2の命令が、実行
    サイクルの間に更新されるレジスタを変更するかどうか
    を判定する手段と、 前記第1の命令が割込み可能であり、かつ前記第2の命
    令が前記レジスタを変更する時に、前記レジスタの内容
    をセーブする手段と、 割込みが生じた時に、前記レジスタを前記内容によって
    復元する手段とを含み、割込み可能な第1の命令が第1
    の実行装置で実行されている時であっても第2の実行装
    置で第2の命令を実行可能にする多重実行装置処理シス
    テムの状態を選択的にセーブするシステム。
  9. 【請求項9】前記実行手段が、前記第1及び第2の命令
    の実行から生ずる新しい値で前記レジスタを変更する手
    段を含むことを特徴とする、請求項8に記載のシステ
    ム。
  10. 【請求項10】前記復元手段が、前記割込み可能な第1
    の命令が実際に割込みを発生させたかどうかを判定する
    手段を備えることを特徴とする、請求項9に記載のシス
    テム。
  11. 【請求項11】前記復元手段が、セーブした内容を前記
    レジスタ内に置き、これにより、前記レジスタを第1及
    び第2の命令の実行前の状態に復元する手段をさらに含
    むことを特徴とする、請求項10に記載のシステム。
  12. 【請求項12】前記実行サイクルの後に更新された他の
    レジスタが、割込みが実際に起こった場合に前記第1及
    び第2の命令の実行に対応する結果で更新されることを
    防止する手段をさらに含む、請求項11に記載のシステ
    ム。
  13. 【請求項13】前記他のレジスタを、割込みが起こらな
    かった場合に前記第1及び第2の命令の実行に対応する
    結果で更新する手段をさらに含む、請求項12に記載の
    システム。
  14. 【請求項14】割込みが実際に起こった場合に、前記第
    1及び第2の命令を再実行する手段をさらに含む、請求
    項13に記載のシステム。
  15. 【請求項15】第1の命令が割込み可能であるかどうか
    を判定するための前記手段、及び第2の命令がレジスタ
    を変更するかどうかを判定するための前記手段が、中央
    演算処理装置に含まれる復号回路を備えることを特徴と
    する、請求項8に記載のシステム。
  16. 【請求項16】前記セーブ手段が、バックアウト・ラッ
    チを備えることを特徴とする、請求項15に記載のシス
    テム。
JP6186910A 1993-09-20 1994-08-09 選択的セーブ方法及びシステム Expired - Lifetime JP2633475B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/123,816 US5440703A (en) 1993-09-20 1993-09-20 System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified
US123816 1993-09-20

Publications (2)

Publication Number Publication Date
JPH07105025A JPH07105025A (ja) 1995-04-21
JP2633475B2 true JP2633475B2 (ja) 1997-07-23

Family

ID=22411063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6186910A Expired - Lifetime JP2633475B2 (ja) 1993-09-20 1994-08-09 選択的セーブ方法及びシステム

Country Status (7)

Country Link
US (1) US5440703A (ja)
EP (1) EP0644481A1 (ja)
JP (1) JP2633475B2 (ja)
KR (1) KR0133237B1 (ja)
CN (1) CN1099631C (ja)
BR (1) BR9403515A (ja)
CA (1) CA2123448C (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752013A (en) * 1993-06-30 1998-05-12 Intel Corporation Method and apparatus for providing precise fault tracing in a superscalar microprocessor
US5805849A (en) * 1997-03-31 1998-09-08 International Business Machines Corporation Data processing system and method for using an unique identifier to maintain an age relationship between executing instructions
US6098167A (en) * 1997-03-31 2000-08-01 International Business Machines Corporation Apparatus and method for fast unified interrupt recovery and branch recovery in processors supporting out-of-order execution
US5913048A (en) * 1997-03-31 1999-06-15 International Business Machines Corporation Dispatching instructions in a processor supporting out-of-order execution
US5887161A (en) * 1997-03-31 1999-03-23 International Business Machines Corporation Issuing instructions in a processor supporting out-of-order execution
US5870582A (en) * 1997-03-31 1999-02-09 International Business Machines Corporation Method and apparatus for completion of non-interruptible instructions before the instruction is dispatched
JP3650519B2 (ja) * 1997-12-17 2005-05-18 株式会社ルネサステクノロジ マイクロコンピュータ
US6088792A (en) * 1998-04-30 2000-07-11 International Business Machines Corporation Avoiding processor serialization after an S/390 SPKA instruction
US6088791A (en) * 1998-04-30 2000-07-11 International Business Machines Corporation Computer processor system for implementing the ESA/390 STOSM and STNSM instructions without serialization or artificially extending processor execution time
US6345356B1 (en) * 1999-07-16 2002-02-05 International Business Machines Corporation Method and apparatus for software-based dispatch stall mechanism for scoreboarded IOPs
US6442675B1 (en) 1999-07-29 2002-08-27 International Business Machines Corporation Compressed string and multiple generation engine
JP3564445B2 (ja) * 2001-09-20 2004-09-08 松下電器産業株式会社 プロセッサ、コンパイル装置及びコンパイル方法
US7313797B2 (en) * 2002-09-18 2007-12-25 Wind River Systems, Inc. Uniprocessor operating system design facilitating fast context switching
US7681022B2 (en) * 2006-07-25 2010-03-16 Qualcomm Incorporated Efficient interrupt return address save mechanism
US8806181B1 (en) * 2008-05-05 2014-08-12 Marvell International Ltd. Dynamic pipeline reconfiguration including changing a number of stages
EP2940575B1 (en) * 2014-05-02 2018-05-09 Nxp B.V. Controller circuits, data interface blocks, and methods for transferring data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54107645A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Information processor
US4589065A (en) * 1983-06-30 1986-05-13 International Business Machines Corporation Mechanism for implementing one machine cycle executable trap instructions in a primitive instruction set computing system
DE3587643T2 (de) * 1984-03-02 1994-03-24 Nec Corp Informationsverarbeitungseinheit mit Unterbrechungsfunktion.
US4670835A (en) * 1984-10-19 1987-06-02 Honeywell Information Systems Inc. Distributed control store word architecture
JPH0795278B2 (ja) * 1985-08-30 1995-10-11 株式会社日立製作所 処理装置の割込制御方式
US4766566A (en) * 1986-08-18 1988-08-23 International Business Machines Corp. Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing
JPS63131230A (ja) * 1986-11-21 1988-06-03 Hitachi Ltd 情報処理装置
US4901222A (en) * 1987-05-19 1990-02-13 Bull Nh Information Systems Inc. Method and apparatus for backing out of a software instruction after execution has begun
US5148530A (en) * 1987-05-19 1992-09-15 Bull Hn Information Systems Inc. Method for reexecuting instruction by altering high bits of instruction address based upon result of a subtraction operation with stored low bits
US5134561A (en) * 1987-07-20 1992-07-28 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
US4901233A (en) * 1987-07-20 1990-02-13 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
CA1313275C (en) * 1987-11-30 1993-01-26 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US4912628A (en) * 1988-03-15 1990-03-27 International Business Machines Corp. Suspending and resuming processing of tasks running in a virtual machine data processing system
US5187796A (en) * 1988-03-29 1993-02-16 Computer Motion, Inc. Three-dimensional vector co-processor having I, J, and K register files and I, J, and K execution units
JPH0469734A (ja) * 1990-07-11 1992-03-04 Toshiba Corp 浮動小数点加減算のアンダーフロー例外発生予測回路
JP2925818B2 (ja) * 1991-04-05 1999-07-28 株式会社東芝 並列処理制御装置
JP3146058B2 (ja) * 1991-04-05 2001-03-12 株式会社東芝 並列処理型プロセッサシステムおよび並列処理型プロセッサシステムの制御方法
US5345567A (en) * 1991-06-10 1994-09-06 International Business Machines Corporation System and method for modifying program status word system mask, system access key, and address space code with overlap enabled

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DAVID A.PATTERSON,JOHN L.HENNESSY著、富田▲真▼治他訳「コンピュータ・アーキテクチャー −設計・実現・評価の定量的アプローチ−」(1992−12−25)日経BP社PP.206−210

Also Published As

Publication number Publication date
CN1117166A (zh) 1996-02-21
CA2123448A1 (en) 1995-03-21
BR9403515A (pt) 1995-06-20
US5440703A (en) 1995-08-08
EP0644481A1 (en) 1995-03-22
CN1099631C (zh) 2003-01-22
KR950009454A (ko) 1995-04-24
KR0133237B1 (ko) 1998-04-24
JPH07105025A (ja) 1995-04-21
CA2123448C (en) 1998-10-13

Similar Documents

Publication Publication Date Title
JP3637920B2 (ja) スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法
JP2633475B2 (ja) 選択的セーブ方法及びシステム
JP3520371B2 (ja) レジスタ・ファイル・バックアップ・キュー
US5887161A (en) Issuing instructions in a processor supporting out-of-order execution
US5913048A (en) Dispatching instructions in a processor supporting out-of-order execution
US6098167A (en) Apparatus and method for fast unified interrupt recovery and branch recovery in processors supporting out-of-order execution
US5794024A (en) Method and system for dynamically recovering a register-address-table upon occurrence of an interrupt or branch misprediction
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
JPH11316680A (ja) デ―タ処理システムにおいてレジスタを保存し且つ回復するシステム及び方法
US6216222B1 (en) Handling exceptions in a pipelined data processing apparatus
JP3142813B2 (ja) レジスタの名前変更を管理するための情報処理システムおよび方法
US5870612A (en) Method and apparatus for condensed history buffer
US6237076B1 (en) Method for register renaming by copying a 32 bits instruction directly or indirectly to a 64 bits instruction
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
EP0212132A1 (en) Method and digital computer for recovering from errors
JP2000099330A (ja) コンピュ―タ・プロセッサ・システム
JPH04218841A (ja) 割り込み処理方式
JPH076038A (ja) 情報処理装置