JPH02257219A - パイプラインプロセッサ装置および方法 - Google Patents

パイプラインプロセッサ装置および方法

Info

Publication number
JPH02257219A
JPH02257219A JP1272756A JP27275689A JPH02257219A JP H02257219 A JPH02257219 A JP H02257219A JP 1272756 A JP1272756 A JP 1272756A JP 27275689 A JP27275689 A JP 27275689A JP H02257219 A JPH02257219 A JP H02257219A
Authority
JP
Japan
Prior art keywords
instruction
execution
exception
instructions
processor
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
Application number
JP1272756A
Other languages
English (en)
Other versions
JP2858140B2 (ja
Inventor
Daryl F Kinney
ダリル・エフ・キニー
Anthony N Drogaris
アンソニー・エヌ・ドロガリス
Christopher H Mills
クリストファー・エッチ・ミルズ
Michael Kahaiyan
ミッシェル・カハイヤン
John Manton
ジョン・マントン
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.)
Apollo Computer Inc
Original Assignee
Apollo Computer Inc
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 Apollo Computer Inc filed Critical Apollo Computer Inc
Publication of JPH02257219A publication Critical patent/JPH02257219A/ja
Application granted granted Critical
Publication of JP2858140B2 publication Critical patent/JP2858140B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • 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, 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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〈発明の分野〉 本発明は、コンピュータのパイプラインプロセッサに関
し、特に、例外および種々の命令実行段階カウント待ち
時間を有する命令を処理するパイプラインプロセッサ方
法および装置に関する。
〈発明の背景〉 プログラムされた命令の実行は、典型的には、例えば、
命令フェッチ、復号化、実行および操作結果の読み込み
/記憶等の、命令に直接関係する種々の操作の逐次実行
を必要とする。パイプラインプロセッサは、これらの操
作のそれぞに対して特定のハードウェア素子を割り当て
、2個以上の別々の命令に対しても、上記種々の命令操
作と関連する各ハードウェア素子が定常的に機能するよ
うに、後続命令を逐次加工する。時間的に逐次執行して
もよい4個の別々の操作段階を有する命令に対して、パ
イプラインプロセッサは、4個の別々のハードウェア素
子を組み込んでいる。各ハードウェア素子は、命令の4
個の別々の操作段階に対応する操作を特定的に行う。第
1命令は、第1時間段階中に第1操作を行う第1素子に
入力れさる。第2素子は、第1操作を遂行し、第1素子
は、次の第2命令を受は入れて、第2命令の第1操作を
行う。2個の段階に続いて、第4素子が第1命令に第4
操作を施し、第3素子が第2命令に第3操作を施し、第
2素子が第3命令に第2操作を施し、第1素子が第4命
令に第1操作を施す。パイプライン処理は、命令がプロ
セッサパイプラインに入力される限り、または、パイプ
ラインプロセッサの4個の素子のうちの1個が例外を生
じるまで継続する。例外は、ページ不在、レジスタあふ
れ、または、無効データもしくは命令の他の状態のよう
な、命令の処理から生じる受は入れ不能な状態に関する
。例外は、命令の実行のいかなる時点においても生じ得
る何時法、最も厳しい例外回復要求は、例外が命令実行
の後の法の段階で指摘された時に生じる。
命令の実行に必要な段階の数は、命令によって定まる。
命令は、同一数の命令実行段階を必要とする複数の命令
から構成されていてもよいし、可変の数の命令実行段階
を必要とする結果、プロセッサの実行素子の数も可変の
命令を存していてもよい。例外が生じた時、プロセッサ
は、例外を呼び出す命令の以後の実行を禁止し、例外を
処理、該命令および後続の全ての命令の実行を再開する
。しかし、可変長自前実行時間を有する複数のプロセッ
サは、後続のより短い命令よりも前に始まった長命前に
よって例外が生じる状態に直面する。例外が生じた時、
後続のより短い命令は、その実行を終了していてもよい
し、また、適当な情報を用いて対応するレジスタを修正
していてもよい。しかし、例外が、より短い命令の実行
完了後に生じた場合には、公知の例外処理技術は、例外
を呼び出す命令を必要とし、また、実行が完了した、よ
り短い命令および後続の命令の再実行を必要とする。こ
の結果、より短い命令を複数回実行することになり、エ
ラー操作を生じる。この結果、可変実行長命令を処理す
るパイプラインプロセッサの実現は、不利であると従来
判断されるに至っているか、または、命令の長さの可変
性は、後に開始される、より短い命令の実行完了の上述
状態を避けるように厳しく制御される。このような設計
上の考慮は、コンビ二一夕のアーキテクチャ、機能およ
び効率に不必要な限定を課すことになる。〈発明の要約
〉 本発明にかかる方法および装置は、可変長実行段階時間
を育する命令を含めて、命令セットを実行する。命令の
編集および実行は、例外処理の判断により制限されない
。特に、1個以上の後続のより短い命令の実行完了後に
生じる、長命令中の報告遅れという最悪状態は、例外と
、例外が検出され、例外を生ずる命令のそれ以上の実行
の禁止となった時に未だ終了せず、または、保留中であ
った命令とを呼び出す命令のみを選択的に再実行する結
果となる。
本発明の好適な実施態様は、更に、1個の命令メモリか
ら入力された共通語に基づく異なる複数の命令が同時に
入力される複数のプロセッサの制御を目指す。例外は、
上述の例外処理を行い、該例外処理において実行が完了
した命令は、再実行されず、保留中命令は、例外処理後
に再実行される第1プロセツサ中に生じる。また、1個
のCPU中の複数個の機能ユニットのための第2プロセ
ツサも同様に上述の例外処理を行う。また、本発明によ
れば、複数個の機能ユニットも、命令ディスパッチと同
期する複数個のプロセッサから構成することができる。
この結果、本発明の装置および方法により例外に続く乱
れた命令実行の完了から生じるエラーを避ける一方、処
理の柔軟性が増大する。
〈実施例〉 第1図のフローチャート50は、本発明にかかる方法の
一実施例を示し、第2図に示された実施例100と関係
するとともに第3図のタイミング線図150と関係する
。命令の実行は、ステップ52において開始され、本発
明にかかる方法は、ステップ54において例外の出現を
検査する。この検査により、いかなる例外も発生しなか
った場合には、ステップ56において次の命令が連続し
て実行される。しかし、例外が発生した場合には、択一
的分岐がステップ58における例外型式検査に接続する
。1個のプロセッサのみを有する実施例においては、ス
テップ58における検査も生じないし、後続のステップ
60および62も生じない。しかし、複数個のプロセッ
サを有する本発明の実施例においては、使用プロセッサ
によって例外型式が異なることがある。例えば、第2図
のブロック線図100に示された装置においては、整数
および浮動小数点プロセッサが存在し、各プロセッサが
固をの例外パイプを有する。本実施例においては、整数
実行パイプラインは、浮動小数点実行パイプラインより
も相当短い。例外型式がステップ58に$いて整数型と
決定された場合には、保留中命令の実行は、禁止され、
既存のレジスタが変化するのを防ぐ。保留中句令は、パ
イプラインプロセッサ中の少なくとも1個の実行素子に
入力されたが、プロセッサ中の終端素子によって処理が
完了していない命令として定義される。
例外のために、プロセッサが命令実行を停止する時、該
例外は、当業者に知られているように、例外を呼び出し
た違反状態を訂正し、装置のため公知の例外取り扱い装
置ルーチンを有していることもある例外取り扱いサブル
ーチンもしくはプロセッサ部分構造によって処理される
。例外がステップ62において処理された後、整数プロ
セッサの保留中命令は、ステップ84において再開され
、プロセス50は、上述の通り、続いて実行されるプロ
グラムの検査を再開する。ステップ58において、浮動
小数点例外が発生したと判断された場合には、ステップ
66において、全ての保留中命令が停止され、浮動小数
点例外は、ステップ68において浮動小数点例外ハンド
ラによって処理される。この浮動小数点例外ハンドラは
、第2図の構造100に関して図示された、または当業
者に他の形式で公知のソフトウェアサブルーチンまたは
ハードウェア構造体から成る。浮動小数点例外が処理さ
れ、違反状態が訂正された後、例外を引起した浮動小数
点命令は、ステップ70において再開され、整数プロセ
ッサは、機能停止状態に保持されるか、または、代わり
にノーオペコードを実行する。実行開始が整数再開アド
レス点に先行した浮動小数点命令が最早ないと判断され
た場合において、例外を引き起こした浮動小数点命令が
ステップ76において完全実行されたときは、これが判
定されなければならない。例外を引起した浮動小数点命
令がステップ76において完全実行されなかった場合に
は、整数プロセッサは、機能停止状態に保持されるか、
ステップ78において、ノーオペ命令を実行する。割り
込みを引起した浮動小数点命令が完全実行された場合に
は、保留中整数会令は、ステップ64において再開され
、ステップ54における例外の検査プロセスおよびステ
ップ56において例外が存在しない状態における次の命
令の実行が継続する。
ステップ72において判定されるように、実行開始が整
数再開点に先行した浮動小数点命令が多く存在する場合
には、次の係留中浮動小数点命令がステップ74におい
て再開され、整数プロセッサは、機能停止状態に保持さ
れるか、または、ステップ74においてノーオペ命令を
実行する。ステップ72の判定は、アドレスが再開点に
先行する命令が全く存在しなくなるまで続行される。
第2図に示された構造100は、命令が命令キャッシュ
メモリ102からディスパッチ部104を経て供給され
る本発明の一実施例を有する。この一実施例は、198
8年10月7日に出願され、係属中であり、発明の名称
が「複数個の機能ユニットへの命令同時ディスパッチ方
法および装置」の米国特許出願APLL−105xxに
詳しく記載されている。本明細書は、この記載を組み入
れるものである。浮動小数点プロセッサ108および整
数プロセッサ10Bは、整数プロセッサ108が発する
PC8RC信号(図示せず)に従って、命令キャッシユ
から一連の命令群を受は入れる。本発明の一実施例にお
いては、命令キャッシュに与えられたアドレス゛も、浮
動小数点実行ユニット110および整数実行ユニット1
20の命令実行段階に対応して順次記憶される。順次ア
ドレスは、浮動小数点レジスタ114.116.118
.120.124および126に格納される。
本発明は、可変実行長を有することもあるので、特定命
令の実行に必要な延長サイクルカウントに対応するため
に、上記浮動小数点レジスタには、例示されたレジスタ
122のような追加の中間格納レジスタが含まれていて
もよい。命令アドレスも、整数プロセッサレジスタ13
2,134,138および138に格納され、整数実行
ユニット120による命令実行の種々の段階に対応する
第2図に示された本発明の実施例においては、例外は、
浮動小数点命令の実行における多くの時点のうちの一つ
において起こることがある。浮動小数点実行ユニットは
、当業者に公知のように、−タ命令もしくはアドレスを
個別に検査し、レジスタ116〜12θの各1個に確保
された位置において浮動小数点プログラムカウンタ待ち
行列130に格納される少なくとも1個の有効標識ビッ
トを与える。このビットがセットされると、生起した格
納信号が例外検出器140に入力される。
例外検出器140は、例外ハンドラ142に信号を出力
する。例外ハンドラ142は、素子144に浮動小数点
実行ユニットによって実行されるノーオペもしくは無演
算命令信号を生じさせるか、または、浮動小数点実行ユ
ニット110を機能停止状態にする。例外ハンドラ14
2は、浮動小数点実行ユニットに例外を引起した状態を
訂正させる。浮動小数点プログラムカウンタ待ち行列1
3Oの、内容および対応する命令は、例外回復バッファ
146に格納される。浮動小数点プロセッサカウンタ待
ち行列130の内容に含まれた保留中命令は、例外の処
理が完了すると、実行される。プロセッサカウンタ発生
器148は、例外が処理されている間、新たな命令を出
すことを禁止される一方、複数個の保留中命令の最後の
ものの再実行が開始された時、新たな命令アドレスの出
力再開が可能となる。例外処理によって、プロセッサの
状態がダンプされ、例外が処理され、その後、プロセッ
サの状態が回復される。整数プロセッサ120(例外ハ
ンドラ142が例外を処理する時、禁止状態にある)も
、例外が例外ハンドラ142によって処理された後、保
留中命令の再実行が可能となる。
本発明の他の実施例は、図示されたレジスタ114から
126および132から138におけるアドレスのよう
に、命令の格納の代わりに一連のレジスタ中に命令を格
納することを目指す。
タイミング線図150は、2本の別個の命令の流れの並
列実行から2個の別個のプロセッサに至る間に生じる事
象の順序を示している。図示された例示のタイミング線
図においては、浮動小数点プロセッサが6個の命令実行
段階から成る短命前を育する一方、整数プロセッサが4
個の命令実行段階から成る同−命令実行段階長を有する
。もし、対応する各プロセッサが未だ実行の完了してい
ない各命令の完全なアカウントを維持しようとすれば、
該当プロセッサは、このプロセッサによって実行される
命令の実行に必要な命令実行段階の数と少なくとも同一
の数のレジスタを有することになる。したがうて、15
2および154で示された少なくとも6個および少なく
とも4個の命令実行段階から成る命令実行長に対応して
、浮動小数点プロセッサ108は、少なくとも8個のレ
ジスタを伴って図示される一方、整数プロセッサ108
は、4個のレジスタを宵する。長浮動小数点命令156
により短い命令158が後続する。命令158は、この
長浮動小数点158よりも少なくとも1命令実行段階後
に始まり、長浮動小数点命令156の正しい実行前、ま
たは、ステップ62における例外の検出前に終了する。
本発明によれば、命令158および160の実行が完了
しても、命令156の実行の休止前であるため、および
、ステップ62における例外のために、これらの命令1
58および160の再実行は、なされない。同様に、整
数プロセッサ命令154〜16416θ、168および
170の実行が完了しても、命令156の実行の休止前
であるため、および、ステップ62における例外のため
に、これらの命令154〜164.188.16Bおよ
び170の再実行は、なされない。
時点175において、命令の実行がステップ62におけ
る例外のために禁止された場合には、長浮動小数点命令
156、浮動小数点命令172.174および176、
および整数命令178および180の実行は、時点17
6において禁止される。例外は、182において処理さ
れるので、184において長命令156Aが再開される
。これは、例外がないので、時点186における終了ま
で継続する。
上述の通り、実行完了した浮動小数点命令158および
160は、再実行されない。仮に、このような再実行が
なされると、同一レジスタの複数倍の変更となるエラー
となる虞が強い。実行完了が禁止されていた命令172
.174および176は、時点18B、188および1
90において実行が再開され、命令が最初に生じた順序
で通常の実行の再開が可能であった第2図のプロセッサ
カウンタ発生器148は、新たな命令192を生じる。
この命令192は、最後の命令176Aに続いて浮動小
数点プロセッサ106に入力される時点175において
禁止されていた整数命令178および180も、時点1
92および184において、それぞれ実行が再開され、
例外が生じることなく実行が完了される。
当業者によってなされる変形例および置換例は、本発明
の範囲に含まれるものである。例えば、レジスタの数お
よびパイプラインプロセッサの特定の実施例は、当業者
であれば、レジスタの構造および数の一例を含めるよう
に変形することができるが、この変形例も本発明の範囲
に含まれるものである。したがって、本発明は、特許請
求の範囲以外のものによって限定されない。
【図面の簡単な説明】
第1図は、本発明にかかる方法を示すフローチャートで
ある。第2図は、命令同時ディスバッチ機能を有する浮
動小数点および整数プロセッサに適用された本発明にが
かる一実施例のブロック線図である。第3図は、第2図
に示された実施例にかかる多重プロセッサによる可変長
命令の実行を示すタイミング線図である。 FIG、1 *:例外を引起した命令を含む 52:命令実行開始 54:例外か 56:(浮動小数点+1)次命令の実行続行58:例外
型式は Integer:整数 FP:浮動小数点 60:保留中命令がレジスタを変更するのを停止62:
例外処理 64:係留中整数命令の実行再開 68:保留中命令がレジスタを変更するのを停止68:
浮動小数点例外処理 70:例外を生じた浮動小数点命令実行再開ノーオペI
命令/機能停止実行 72:実行開始が再開点に先行する浮動小数点命令がほ
かに存在するか 74:次の係留中浮動小数点命令実行再開78二例外を
引起こす浮動小数点命令の実行は完了したか 78二ノ一オペI命令実行

Claims (4)

    【特許請求の範囲】
  1. (1)複数の可変長実行段階カウントを有する並列の第
    1及び第2プログラム命令列を有する命令ワードを逐次
    実行し、これらのプログラム命令列は、短命令及び長命
    令を含み、短命令よりも前に実行が開始された場合には
    、短命令の実行が完了した後に継続する装置であって、
    第1プログラム命令列を実行する第1パイプラインプロ
    セッサであって、例外検出手段と、例外が検出された後
    、例外を引起した命令及び保留中命令の以後の実行を禁
    止する手段と、例外を処理する手段と、例外を引起した
    命令の実行を再開する手段と、保留中命令の実行を再開
    する手段とを有し、短命令及び実行が完了する短命令の
    実行が開始される前に実行開始される長命令の継続実行
    を禁止する手段の完了を可能とし、該禁止手段は、更に
    長命令の実行が禁止された時、保留中の命令の実行を禁
    止し、上記例外を処理し、例外を引起した命令の上記実
    行再開手段は、長命令の実行を再開し、保留中命令の実
    行再開手段は、上記実行完了した短命令を再実行するこ
    となく、保留中命令の実行を再開する第1パイプライン
    プロセッサと、第2プログラム命令列を実行する第2パ
    イプラインプロセッサであって、長命令の第2パイプラ
    インプロセッサによる実行が禁止された時、以後の命令
    の実行を禁止する手段と、第1パイプラインプロセッサ
    の上記保留中命令再開手段が第1パイプラインプロセッ
    サの保留中命令の実行を再開したとき、保留中命令の実
    行を再開する手段と、第2パイプラインプロセッサの命
    令の実行が禁止され、第2パイプラインプロセッサの保
    留中命令の実行再開が禁止された後の時間間隔において
    、ノーオペ命令を実行する手段とを有する第2パイプラ
    インプロセッサとからなる装置。
  2. (2)複数の可変長実行段階時間を有する並列の第1及
    び第2プログラム命令列を有する命令ワードを逐次実行
    する方法であって、 第1パイプラインプロセッサにおいて第1プログラム命
    令列を実行する工程と、第2パイプラインプロセッサに
    おいて第2プログラム命令列を実行する工程と、第1パ
    イプラインプロセッサにおいて長命令の実行を開始する
    工程と、長命令の実行が開始された後、第1パイプライ
    ンプロセッサにおいて短命令の実行を開始する工程と、
    第1パイプラインプロセッサにおいて短命令の実行を終
    了する工程と、長命令の実行中に例外を検出する工程と
    、例外が検出され、短命令の実行が完了したのち、長命
    令の以後の実行を禁止する手段と、第1パイプラインプ
    ロセッサにおいて長命令の実行が禁止されている間、第
    1および第2パイプラインプロセッサにおいて命令の実
    行を禁止する工程と、例外を処理する工程と、第1パイ
    プラインプロセッサにおいて例外を引起した長命令の実
    行を再開する工程と、例外が処理され、長命令の実行が
    再開される間、第2パイプラインプロセッサにおいて、
    ノーオペ命令を実行する工程と、長命令の実行が禁止さ
    れたとき、保留中であった命令の、第1および第2パイ
    プラインプロセッサにおける実行を再開する工程とから
    なる方法。
  3. (3)複数の可変長段階カウンタを有するプログラム命
    令を逐次実行する装置であって、短命令が後続する長命
    令を含む命令列を逐次受け入れ実行するパイプライン手
    段であって、最初に短命令の実行を完了するパイプライ
    ン手段と、命令の実行中に例外を検出する手段と、検出
    された命令を処理する手段であって該手段において、先
    行する長命令中に例外が検出される前に、パイプライン
    プロセッサが短命令の実行をパイプラインプロセッサが
    短命令の実行を完了する手段とを有し、パイプラインプ
    ロセッサは、例外の検出後、例外を引起した命令の実行
    および例外が検出されたとき、保留中であった命令の実
    行を禁止する手段を有し、パイプラインプロセッサは、
    さらに最初に、例外を引起した命令を再実行し、次いで
    例外が検出されたときに存在した順序において、例外が
    検出されたとき、保留中であった命令を逐次再会する手
    段とを有し、短命令は、その他の命令が再開されない時
    、再開されないことを特徴とする装置。
  4. (4)複数の可変長段階カウンタを有するプログラム命
    令を逐次実行する方法であって、パイプラインプロセッ
    サにおいて命令列を実行し、該命令列は、パイプライン
    命令において生じる短命令の実行完了後に、完了が生じ
    る長命令を含む工程と、長命令において例外を検出する
    工程と、短命令の実行を完了する工程と、長命令と例外
    が検出された時、保留中の命令との継続実行を禁止する
    工程と、例外を処理する工程と、長命令を再開する工程
    と、例外検出時に保留中の命令を再開する工程とを有し
    、短命令の再実行が回避されることを特徴とする方法。
JP1272756A 1988-10-19 1989-10-19 パイプラインプロセッサ装置および方法 Expired - Fee Related JP2858140B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US25979388A 1988-10-19 1988-10-19
US259793 1988-10-19

Publications (2)

Publication Number Publication Date
JPH02257219A true JPH02257219A (ja) 1990-10-18
JP2858140B2 JP2858140B2 (ja) 1999-02-17

Family

ID=22986411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1272756A Expired - Fee Related JP2858140B2 (ja) 1988-10-19 1989-10-19 パイプラインプロセッサ装置および方法

Country Status (3)

Country Link
US (1) US5193158A (ja)
EP (1) EP0365322A3 (ja)
JP (1) JP2858140B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009570A (ja) * 2007-06-27 2009-01-15 Internatl Business Mach Corp <Ibm> レジスタ状態エラー回復および再開機構

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8828817D0 (en) * 1988-12-09 1989-01-18 Int Computers Ltd Data processing apparatus
US5134693A (en) * 1989-01-18 1992-07-28 Intel Corporation System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel
DE69033240T2 (de) * 1989-09-25 2000-01-05 Matsushita Electric Ind Co Ltd Rechner mit Pipeline-Struktur
JP2581236B2 (ja) * 1989-11-16 1997-02-12 三菱電機株式会社 データ処理装置
US5243705A (en) * 1989-12-11 1993-09-07 Mitsubishi Denki K.K. System for rapid return of exceptional processing during sequence operation instruction execution
AU629007B2 (en) * 1989-12-29 1992-09-24 Sun Microsystems, Inc. Apparatus for accelerating store operations in a risc computer
JP3118266B2 (ja) * 1990-03-06 2000-12-18 ゼロックス コーポレイション 同期セグメントバスとバス通信方法
EP0463966B1 (en) * 1990-06-29 1998-11-25 Digital Equipment Corporation High-performance multi-processor having floating point unit and operation method
JP2682232B2 (ja) * 1990-11-21 1997-11-26 松下電器産業株式会社 浮動小数点演算処理装置
US5590294A (en) * 1991-03-19 1996-12-31 Silicon Graphics, Inc. Method and apparatus for retarting pipeline processing
JP2925818B2 (ja) * 1991-04-05 1999-07-28 株式会社東芝 並列処理制御装置
DE4211245B4 (de) * 1991-04-05 2009-05-14 Kabushiki Kaisha Toshiba, Kawasaki Prozessorsystem in Parallelverarbeitungsbauart und Verfahren zu dessen Steuerung
DE69227465T2 (de) * 1992-02-27 1999-06-10 Samsung Electronics Co Ltd Cpu mit pipeline-einheit und effektiv-adressenrechnungseinheit mit möglichkeit zur beibehaltung von virtuellen operandenadressen.
US5559977A (en) * 1992-08-04 1996-09-24 Intel Corporation Method and apparatus for executing floating point (FP) instruction pairs in a pipelined processor by stalling the following FP instructions in an execution stage
CA2105806C (en) * 1992-09-18 2001-11-20 Paul V. Jeffs Apparatus for implementing interrupts in pipelined processors
US5410657A (en) * 1992-10-09 1995-04-25 International Business Machines Corporation Method and system for high speed floating point exception enabled operation in a multiscalar processor system
CA2107305A1 (en) * 1993-01-08 1994-07-09 James Allen Kahle Method and system for nonsequential instruction dispatch and execution in a superscalar processor system
US5710912A (en) * 1993-05-06 1998-01-20 Hewlett-Packard Co. Method and apparatus for enabling a computer system to adjust for latency assumptions
US5428807A (en) * 1993-06-17 1995-06-27 Digital Equipment Corporation Method and apparatus for propagating exception conditions of a computer system
SG48907A1 (en) * 1993-12-01 1998-05-18 Intel Corp Exception handling in a processor that performs speculative out-of-order instruction execution
DE4434895C2 (de) * 1993-12-23 1998-12-24 Hewlett Packard Co Verfahren und Vorrichtung zur Behandlung von Ausnahmebedingungen
US5745770A (en) * 1993-12-27 1998-04-28 Intel Corporation Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor
US5724566A (en) * 1994-01-11 1998-03-03 Texas Instruments Incorporated Pipelined data processing including interrupts
US5625788A (en) * 1994-03-01 1997-04-29 Intel Corporation Microprocessor with novel instruction for signaling event occurrence and for providing event handling information in response thereto
US5537560A (en) * 1994-03-01 1996-07-16 Intel Corporation Method and apparatus for conditionally generating a microinstruction that selects one of two values based upon control states of a microprocessor
US5546599A (en) * 1994-03-31 1996-08-13 International Business Machines Corporation Processing system and method of operation for processing dispatched instructions with detected exceptions
TW260765B (ja) * 1994-03-31 1995-10-21 Ibm
GB2290395B (en) 1994-06-10 1997-05-28 Advanced Risc Mach Ltd Interoperability with multiple instruction sets
US5627981A (en) * 1994-07-01 1997-05-06 Digital Equipment Corporation Software mechanism for accurately handling exceptions generated by instructions scheduled speculatively due to branch elimination
JPH0887411A (ja) * 1994-09-19 1996-04-02 Fujitsu Ltd パイプライン演算方法およびパイプライン演算装置
US5619408A (en) * 1995-02-10 1997-04-08 International Business Machines Corporation Method and system for recoding noneffective instructions within a data processing system
US5668984A (en) * 1995-02-27 1997-09-16 International Business Machines Corporation Variable stage load path and method of operation
US5787241A (en) * 1995-12-18 1998-07-28 Integrated Device Technology, Inc. Method and apparatus for locating exception correction routines
US6209083B1 (en) * 1996-02-28 2001-03-27 Via-Cyrix, Inc. Processor having selectable exception handling modes
US5761492A (en) * 1996-05-07 1998-06-02 Lucent Technologies Inc. Method and apparatus for uniform and efficient handling of multiple precise events in a processor by including event commands in the instruction set
US5729729A (en) * 1996-06-17 1998-03-17 Sun Microsystems, Inc. System for fast trap generation by creation of possible trap masks from early trap indicators and selecting one mask using late trap indicators
US5996058A (en) * 1996-08-19 1999-11-30 Samsung Electronics Company, Ltd. System and method for handling software interrupts with argument passing
US6003129A (en) * 1996-08-19 1999-12-14 Samsung Electronics Company, Ltd. System and method for handling interrupt and exception events in an asymmetric multiprocessor architecture
US6061711A (en) * 1996-08-19 2000-05-09 Samsung Electronics, Inc. Efficient context saving and restoring in a multi-tasking computing system environment
US5764971A (en) * 1996-12-11 1998-06-09 Industrial Technology Research Institute Method and apparatus for implementing precise interrupts in a pipelined data processing system
US5890009A (en) * 1996-12-12 1999-03-30 International Business Machines Corporation VLIW architecture and method for expanding a parcel
US5887175A (en) * 1997-02-14 1999-03-23 Integrated Device Technology, Inc. Apparatus and method for managing interrupt delay on floating point error
US6021486A (en) * 1997-09-30 2000-02-01 Intel Corporation Continued processing of out-of-order non-architectual operations upon exceptions until flushing by architectual operations exceptions to avoid resume deadlock
US7149878B1 (en) 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US7055146B1 (en) * 2001-03-08 2006-05-30 Microsoft Corporation Method and system for dynamically inserting modifications for identified programs
US7191436B1 (en) 2001-03-08 2007-03-13 Microsoft Corporation Computer system utility facilitating dynamically providing program modifications for identified programs
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
US7707389B2 (en) * 2003-10-31 2010-04-27 Mips Technologies, Inc. Multi-ISA instruction fetch unit for a processor, and applications thereof
US7401206B2 (en) * 2004-06-30 2008-07-15 Sun Microsystems, Inc. Apparatus and method for fine-grained multithreading in a multipipelined processor core
US7373489B1 (en) * 2004-06-30 2008-05-13 Sun Microsystems, Inc. Apparatus and method for floating-point exception prediction and recovery
US7437538B1 (en) 2004-06-30 2008-10-14 Sun Microsystems, Inc. Apparatus and method for reducing execution latency of floating point operations having special case operands
US7475232B2 (en) * 2005-07-19 2009-01-06 International Business Machines Corporation Performance of an in-order processor by no longer requiring a uniform completion point across different execution pipelines
US7467277B2 (en) * 2006-02-07 2008-12-16 International Business Machines Corporation Memory controller operating in a system with a variable system clock
US20090172370A1 (en) * 2007-12-31 2009-07-02 Advanced Micro Devices, Inc. Eager execution in a processing pipeline having multiple integer execution units
US8086825B2 (en) * 2007-12-31 2011-12-27 Advanced Micro Devices, Inc. Processing pipeline having stage-specific thread selection and method thereof
US7793080B2 (en) * 2007-12-31 2010-09-07 Globalfoundries Inc. Processing pipeline having parallel dispatch and method thereof
US20110138152A1 (en) * 2008-08-21 2011-06-09 Panasonic Corporation Instruction control device

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3654448A (en) * 1970-06-19 1972-04-04 Ibm Instruction execution and re-execution with in-line branch sequences
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
US4161026A (en) * 1977-11-22 1979-07-10 Honeywell Information Systems Inc. Hardware controlled transfers to microprogram control apparatus and return via microinstruction restart codes
JPS54107645A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Information processor
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
JPS58189739A (ja) * 1982-04-30 1983-11-05 Hitachi Ltd デ−タ処理システム
JPS592143A (ja) * 1982-06-29 1984-01-07 Hitachi Ltd 情報処理装置
JPS5958547A (ja) * 1982-09-28 1984-04-04 Fujitsu Ltd マイクロプログラム制御装置のエラ−処理方式
US4594660A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Collector
US4521851A (en) * 1982-10-13 1985-06-04 Honeywell Information Systems Inc. Central processor
US4597044A (en) * 1982-10-14 1986-06-24 Honeywell Information Systems, Inc. Apparatus and method for providing a composite descriptor in a data processing system
US4530052A (en) * 1982-10-14 1985-07-16 Honeywell Information Systems Inc. Apparatus and method for a data processing unit sharing a plurality of operating systems
US4488228A (en) * 1982-12-03 1984-12-11 Motorola, Inc. Virtual memory data processor
US4498136A (en) * 1982-12-15 1985-02-05 Ibm Corporation Interrupt processor
US4914578A (en) * 1983-04-18 1990-04-03 Motorola, Inc. Method and apparatus for interrupting a coprocessor
WO1985000453A1 (en) * 1983-07-11 1985-01-31 Prime Computer, Inc. Data processing system
JPS60136872A (ja) * 1983-12-26 1985-07-20 Hitachi Ltd ベクトル処理装置
BR8503913A (pt) * 1984-08-18 1986-05-27 Fujitsu Ltd Sistema e processo de recuperacao de erros em um processador de dados do tipo de canalizacao tendo um dispositivo de memoria de controle e processo de recuperacao de erros em um processador de dados do tipo de canalizacao
JPH0668739B2 (ja) * 1985-01-28 1994-08-31 株式会社日立製作所 データ処理装置
JPH0766329B2 (ja) * 1985-06-14 1995-07-19 株式会社日立製作所 情報処理装置
US4745547A (en) * 1985-06-17 1988-05-17 International Business Machines Corp. Vector processing
EP0208181A1 (en) * 1985-06-28 1987-01-14 Hewlett-Packard Company Programme counter queue for a pipelined processor
JPS6226580A (ja) * 1985-07-29 1987-02-04 Hitachi Ltd 障害処理方式
JPS6280743A (ja) * 1985-10-01 1987-04-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション アドレス変換例外処理方法
US4763294A (en) * 1985-12-19 1988-08-09 Wang Laboratories, Inc. Method and apparatus for floating point operations
US4845659A (en) * 1986-08-15 1989-07-04 International Business Machines Corporation Accelerated validity response permitting early issue of instructions dependent upon outcome of floating point operations
DE3735828C2 (de) * 1986-10-24 1994-11-10 Hitachi Ltd Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung
US5063497A (en) * 1987-07-01 1991-11-05 Digital Equipment Corporation Apparatus and method for recovering from missing page faults in vector data processing operations
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
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
US4956767A (en) * 1988-02-23 1990-09-11 Stellar Computer, Inc. Data processing system with model for status accumulating operation by simulating sequence of arithmetic steps performed by arithmetic processor
US4879676A (en) * 1988-02-29 1989-11-07 Mips Computer Systems, Inc. Method and apparatus for precise floating point exceptions
US4893233A (en) * 1988-04-18 1990-01-09 Motorola, Inc. Method and apparatus for dynamically controlling each stage of a multi-stage pipelined data unit
US4903264A (en) * 1988-04-18 1990-02-20 Motorola, Inc. Method and apparatus for handling out of order exceptions in a pipelined data unit
US5003462A (en) * 1988-05-31 1991-03-26 International Business Machines Corporation Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
US4924466A (en) * 1988-06-30 1990-05-08 International Business Machines Corp. Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system
US4875160A (en) * 1988-07-20 1989-10-17 Digital Equipment Corporation Method for implementing synchronous pipeline exception recovery
US5019967A (en) * 1988-07-20 1991-05-28 Digital Equipment Corporation Pipeline bubble compression in a computer system
US5119483A (en) * 1988-07-20 1992-06-02 Digital Equipment Corporation Application of state silos for recovery from memory management exceptions
US5109514A (en) * 1988-07-28 1992-04-28 Sun Microsystems, Inc. Method and apparatus for executing concurrent CO processor operations and precisely handling related exceptions
US5051885A (en) * 1988-10-07 1991-09-24 Hewlett-Packard Company Data processing system for concurrent dispatch of instructions to multiple functional units

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009570A (ja) * 2007-06-27 2009-01-15 Internatl Business Mach Corp <Ibm> レジスタ状態エラー回復および再開機構

Also Published As

Publication number Publication date
EP0365322A3 (en) 1991-11-27
EP0365322A2 (en) 1990-04-25
US5193158A (en) 1993-03-09
JP2858140B2 (ja) 1999-02-17

Similar Documents

Publication Publication Date Title
JPH02257219A (ja) パイプラインプロセッサ装置および方法
JP2597811B2 (ja) データ処理システム
US4701915A (en) Error recovery system in a data processor having a control storage
EP0380858A2 (en) Method and apparatus for detecting and correcting errors in a pipelined computer system
US4903264A (en) Method and apparatus for handling out of order exceptions in a pipelined data unit
JPS59114641A (ja) 割込処理装置
JPH06214799A (ja) コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
US6760835B1 (en) Instruction branch mispredict streaming
US6412067B1 (en) Backing out of a processor architectural state
JPH044616B2 (ja)
JPS6218057B2 (ja)
US6820216B2 (en) Method and apparatus for accelerating fault handling
US6543003B1 (en) Method and apparatus for multi-stage hang recovery in an out-of-order microprocessor
JPH07141176A (ja) コマンドリトライ制御方式
US5283891A (en) Error information saving apparatus of computer
JPH1196006A (ja) 情報処理装置
EP0212132A1 (en) Method and digital computer for recovering from errors
JPS5868162A (ja) 再試行処理方式
KR950000088B1 (ko) 데이터처리시스템
JPS63240634A (ja) 情報処理装置
JP4423757B2 (ja) 例外処理システム及び方法、並びに、プロセッサ
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JPS59220844A (ja) 命令再実行制御方式
JP3037863B2 (ja) 投機的実行制御機能を有するプロセッサ

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081204

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees