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

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

Info

Publication number
JP2858140B2
JP2858140B2 JP1272756A JP27275689A JP2858140B2 JP 2858140 B2 JP2858140 B2 JP 2858140B2 JP 1272756 A JP1272756 A JP 1272756A JP 27275689 A JP27275689 A JP 27275689A JP 2858140 B2 JP2858140 B2 JP 2858140B2
Authority
JP
Japan
Prior art keywords
instruction
execution
exception
pipeline processor
short
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 - Fee Related
Application number
JP1272756A
Other languages
English (en)
Other versions
JPH02257219A (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.)
AHORO KONPYUUTAA Inc
Original Assignee
AHORO KONPYUUTAA 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 AHORO KONPYUUTAA Inc filed Critical AHORO KONPYUUTAA 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 or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or 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 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)

Description

【発明の詳細な説明】 <発明の分野> 本発明は、コンピュータのパイプラインプロセッサに
関し、特に、例外および種々の命令実行段階カウント待
ち時間を有する命令を処理するパイプラインプロセッサ
方法および装置に関する。
<発明の背景> プログラムされた命令の実行は、典型的には、例え
ば、命令フェッチ、復号化、実行および操作結果の読み
込み/記憶等の、命令に直接関係する種々の操作の逐次
実行を必要とする。パイプラインプロセッサは、これら
の操作のそれぞれに対して特定のハードウェア素子を割
り当て、2個以上の別々の命令に対しても、上記種々の
命令操作と関連する各ハードウェア素子が定常的に機能
するように、後続命令を逐次加工する。時間的に逐次執
行してもよい4個の別々の操作段階を有する命令に対し
て、パイプラインプロセッサは、4個の別々のハードウ
ェア素子を組み込んでいる。各ハードウエア素子は、命
令の4個の別々の操作段階に対応する操作を特定的に行
う。第1命令は、第1時間段階中に第1操作を行う第1
素子に入力される。第2素子は、第1命令の第2操作を
遂行し、第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図のブロック線図10
0に示された装置においては、整数および浮動小数点プ
ロセッサが存在し、各プロセッサが固有の実行パイプを
有する。本実施例においては、整数実行パイプライン
は、浮動小数点実行パイプラインよりも相当短い。例外
型式がステップ58において整数型と決定された場合に
は、保留中命令の実行は、禁止され、既存のレジスタが
変化するのを防ぐ。保留中命令は、パイプラインプロセ
ッサ中の少なくとも1個の実行素子に入力されたが、例
外がプロセッサの命令実行を停止する時点で、プロセッ
サ中の終端素子によって処理が完了していない命令とし
て定義される。該例外は、当業者に知られているよう
に、例外を呼び出した違反状態を訂正し、装置のため公
知の例外取り扱い装置ルーチンを有していることもある
例外取り扱いサブルーチンもしくはプロセッサ部分構造
によって処理される。例外がステップ62において処理さ
れた後、整数プロセッサの保留中命令は、ステップ64に
おいて再開され、プロセス50は、上述の通り、続いて実
行される命令の検査を再開する。ステップ58において、
浮動小数点例外が発生したと判断された場合には、ステ
ップ66において、全ての保留中命令が停止され、浮動小
数点例外は、ステップ68において浮動小数点例外ハンド
ラによって処理される。この浮動小数点例外ハンドラ
は、第2図の構造100に関して図示された、または当業
者に他の形式で公知のソフトウェアサブルーチンまたは
ハードウェア構造体から成る。浮動小数点例外が処理さ
れ、違反状態が訂正された後、例外を引起した浮動小数
点命令は、ステップ70において再開され、整数プロセッ
サは、機能停止状態に保留されるか、または、代わりに
ノーオペコードを実行する。実行開始が整数再開アドレ
ス点に先行した浮動小数点命令がこれ以上ない、とステ
ップ72において判断された場合には、例外を引き起こし
た浮動小数点命令が完全実行されたか否かを、ステップ
76において判定しなければならない。例外を引起した浮
動小数点命令がステップ76において完全実行されなかっ
たと判定された場合には、整数プロセッサは、機能停止
状態に保持されるか、ステップ78において、ノーオペ命
令を実行する。割り込みを引起した浮動小数点命令が完
全実行された場合には、保留中整数命令は、ステップ64
において再開され、ステップ54における例外の検査プロ
セスおよびステップ56において例外が存在しない状態に
おける次の命令の実行が継続する。
ステップ72において判定されるように、実行開始が整
数再開点に先行した浮動小数点命令が多く存在する場合
には、次の保留中浮動小数点命令がステップ74において
再開され、整数プロセッサは、機能停止状態に保持され
るか、または、ステップ74においてノーオペ命令を実行
する。ステップ72の判定は、アドレスが再開点に先行す
る命令が全く存在しなくなるまで続行される。
第2図に示された構造100は、命令が命令キャッシュ
メモリ102からディスパッチ部104を経て供給される本発
明の一実施例を有する。この一実施例は、1988年10月7
日に出願され、係属中であり、発明の名称が「複数個の
機能ユニットへの命令同時ディスパッチ方法および装
置」の米国特許出願APLL−105XXに詳しく記載されてい
る。本明細書は、この記載を組み入れるものである。浮
動小数点プロセッサ106および整数プロセッサ108は、整
数プロセッサ108が発するPCSRC信号(図示せず)に従っ
て、命令キャッシュから一連の命令群を受け入れる。本
発明の一実施例においては、命令キャッシュに与えられ
たアドレスも、浮動小数点実行ユニット110および整数
実行ユニット120の命令実行段階に対応して順次記憶さ
れる。順次アドレスは、浮動小数点レジスト114、116、
118、120、124および126に格納される。本発明は、可変
実行長を有することもあるので、特定命令の実行に必要
な延長サイクルカウントに対応するために、上記浮動小
数点レジスタには、例示されたレジスタ122のような追
加の中間格納レジスタが含まれていてもよい。命令アド
レスも、整数プロセッサレジスタ132、134、136および1
38に格納され、整数実行ユニット120による命令実行の
種々の段階に対応する。
第2図に示された本発明の実施例においては、例外
は、浮動小数点命令の実行における多くの時点のうちの
一つにおいて起こることがある。浮動小数点実行ユニッ
トは、当業者に公知のように、データ命令もしくはアド
レスを個別に検査し、レジスタ116〜126の各1個に確保
された位置において浮動小数点プログラムカウンタ待ち
行列130に格納される少なくとも1個の有効標識ビット
を与える。このビットがセットされると、生起した格納
信号が例外検出器140に入力される。例外検出器140は、
例外ハンドラ142に信号を出力する。例外ハンドラ142
は、素子144に浮動小数点実行ユニットによって実行さ
れるノーオペもしくは無演算命令信号を生じさせるか、
または、浮動小数点実行ユニット110を機能停止状態に
する。例外ハンドラ142は、浮動小数点実行ユニットに
例外を引起した状態を訂正させる。浮動小数点プログラ
ムカウンタ待ち行列130の内容および対応する命令は、
例外回復バッファ146に格納される。浮動小数点プロセ
ッサカウンタ待ち行列130の内容に含まれた保留中命令
は、例外の処理が完了すると、実行される。プロセッカ
カウンタ発生器148は、例外が処理されている間、新た
な命令を出すことを禁止される一方、複数個の保留中命
令の最後のものの再実行が開始された時、新たな命令ア
ドレスの出力再開が可能となる。例外処理によって、プ
ロセッサの状態がダンプされ、例外が処理され、その
後、プロセッサの状態が回復される。整数プロセッサ12
0(例外ハンドラ142が例外を処理する時、禁止状態にあ
る)も、例外が例外ハンドラ142によって処理された
後、保留中命令の再実行が可能となる。
本発明の他の実施例は、図示されたレジスタ114から1
26および132から138におけるアドレスのように、命令の
格納の代わりに一連のレジスタ中に命令を格納すること
を目指す。
タイミング線図150は、2本の別個の命令の流れの並
列実行から2個の別個のプロセッサに至る間に生じる事
象の順序を示している。図示された例示のタイミング線
図においては、浮動少数点プロセッサが6個の命令実行
段階から成る短命令を有する一方、整数プロセッサが4
個の命令実行段階から成る同一命令実行段階長を有す
る。もし、対応する各プロセッサが未だ実行の完了して
いない各命令の完全なアカウントを維持しようとすれ
ば、該当プロセッサは、このプロセッサによって実行さ
れる命令の実行に必要な命令実行段階の数と少なくとも
同一の数のレジスタを有することになる。したがって、
158および166で示された少なくとも6個および少なくと
も4個の命令実行段階から成る命令実行長に対応して、
浮動少数点プロセッサ106は、少なくとも6個のレジス
タを伴って図示される一方、整数プロセッサ108は、4
個のレジスタを有する。長浮動小数点命令156により短
い命令158が後続する。命令158は、この長浮動小数点15
6よりも少なくとも1命令実行段階後に始まり、長浮動
小数点命令156の正しい実行前、または、ステップ162に
おける例外の検出前に終了する。本発明によれば、命令
158および160の実行が完了しても、命令156の実行の休
止前であるため、および、ステップ162における例外の
ために、これらの命令158および160の再実行は、なされ
ない。同様に、整数プロセッサ命令154,164、166、168
および170の実行が完了しても、命令156の実行の休止前
であるため、および、ステップ162における例外のため
に、これらの命令154〜165、166、168および170の再実
行は、なされない。
時点175において、命令の実行がステップ162における
例外のために禁止された場合には、長浮動小数点命令15
6、浮動小数点命令172、174および176、および整数命令
178および180の実行は、時点175において禁止される。
例外は、182において処理されるので、184において長命
令156Aが再開される。これは、例外がないので、時点18
7における終了まで継続する。
上述の通り、実行完了した浮動小数点命令158および1
60は、再実行されない。仮に、このような再実行がなさ
れると、同一レジスタの複数倍の変更となるエラーとな
る虞が強い。実行完了が禁止されていた命令172、174お
よび176は、時点186、188および190において実行が再開
され、命令が最初に生じた順序で通常の実行の再開が可
能であった第2図のプロセッサカウンタ発生器148は、
新たな命令を191を生じる。この命令191は、最後の命令
190に続いて浮動小数点プロセッサ106に入力される。
時点175において禁止されていた整数命令178および18
0も、時点192および194において、それぞれ実行が再開
され、例外が生じることなく実行が完了される。
当業者によってなされる変形例および置換例は、本発
明の範囲に含まれるものである。例えば、レジスタの数
およびパイプラインプロセッサの特定の実施例は、当業
者であれば、レジスタの構造および数の一例を含めるよ
うに変形することができるが、この変形例も本発明の範
囲に含まれるものである。したがって、本発明は、特許
請求の範囲以外のものによって限定されない。
【図面の簡単な説明】
第1図は、本発明にかかる方法を示すフローチャートで
ある。第2図は、命令同時ディスパッチ機能を有する浮
動小数点および整数プロセッサに適用された本発明にか
かる一実施例のブロック線図である。第3図は、第2図
に示された実施例にかかる多重プロセッサによる可変長
命令の実行を示すタイミング線図である。 FIG.1 *:例外を引起した命令を含む 52:命令実行開始 54:例外か 56:(浮動小数点+1)次命令の実行続行 58:例外型式は Integer:整数 FP:浮動小数点 60:保留中命令がレジスタを変更するのを停止 62:例外処理 64:保留中整数命令の実行再開 66:保留中命令がレジスタを変更するのを停止 68:浮動小数点例外処理 70:例外を生じた浮動小数点命令実行再開ノーオペI命
令/機能停止実行 72:実行開始が再開点に先行する浮動小数点命令がほか
に存在するか 74:次の保留中浮動小数点命令実行再開 76:例外を引起こす浮動小数点命令の実行は完了したか 78:ノーオペI命令実行
フロントページの続き (72)発明者 クリストファー・エッチ・ミルズ アメリカ合衆国 01824マサチューセッ ツ州 クレムスフォード、オリオレ・ス トリート 10 (72)発明者 ミッシェル・カハイヤン アメリカ合衆国 02333マサチューセッ ツ州 イー・ブリッジウォーター、セダ ー・ストリート 394 (72)発明者 ジョン・マントン アメリカ合衆国 01752マサチューセッ ツ州 マールボロ、デノンコート・スト リート 112 (58)調査した分野(Int.Cl.6,DB名) G06F 9/38

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】並列の第1および第2プログラム命令列を
    有する命令ワードを逐次実行するためのものであり、前
    記第1プログラム命令列は複数の可変長実行サイクル数
    を有し、これらのプログラム命令列は短命令および長命
    令を含み、長命令は短命令よりも前に実行が開始された
    場合には短命令の実行が完了した後に継続され、前記第
    2プログラム命令列は一定にサイクル数を有する装置で
    あって、 第1プログラム命令列を実行する第1パイプラインプロ
    セッサ並びに第2プログラム命令列を実行する第2パイ
    プラインプロセッサを備え、 前記第1パイプラインプロセッサは、 例外を検出する手段と、 例外が検出された後、例外を引き起こした命令および実
    行が保留されている少なくとも1つの命令の以後の実行
    を禁止する手段と、 例外を処理する手段と、 例外を引き起こした命令の実行を再開する手段と、そし
    て 実行が保留されている前記少なくとも1つの命令の実行
    を再開する手段とを有し、 前記第1パイプラインプロセッサは、前記少なくとも1
    つの短命令の完了と、前記完了した短命令の実行が開始
    される前に実行開始された長命令の継続実行を前記禁止
    手段が禁止することを可能とし、 該禁止手段は、長命令の実行が禁止された時点で実行が
    保留されている命令の以後の実行を禁止し、 上記例外を処理する手段は、例外を処理し、 例外を引き起こした命令の上記実行再開手段は、長命令
    の実行を再開し、 実行が保留されている命令の実行再開手段は、上記少な
    くとも1つの実行完了した短命令を再実行することな
    く、少なくとも1つの実行が保留されている命令の実行
    を再開するものであり、 前記第2パイプラインプロセッサは、 第1パイプラインプロセッサによる長命令の実行が禁止
    された時、以後の命令の実行を禁止する手段と、 第1パイプラインプロセッサの上記保留中命令再開手段
    が第1パイプラインプロセッサの実行が保留されている
    命令の実行を再開した後に、実行が保留されている命令
    の実行を再開する手段と、そして 第2パイプラインプロセッサの命令の実行が禁止され、
    第2パイプラインプロセッサの実行が保留されている命
    令の実行再開が禁止された後の時間間隔において、ノー
    オペ命令を実行する手段とを有するものである ことを特徴とする装置。
  2. 【請求項2】複数の可変長実行サイクル数を有する並列
    の第1及び第2プログラム命令列を有する命令ワードを
    逐次実行する方法であって、 第1パイプラインプロセッサにおいて第1プログラム命
    令列を実行する工程と、 第2パイプラインプロセッサにおいて第2プログラム命
    令列を実行する工程と、 第1パイプラインプロセッサにおいて長命令の実行を開
    始する工程と、 長命令の実行が開始された後、第1パイプラインプロセ
    ッサにおいて少なくとも1つの短命令の実行を開始する
    工程と、 第1パイプラインプロセッサにおいて短命令の実行を終
    了する工程と、 長命令の実行中に例外を検出する工程と、 例外が検出された後且つ少なくとも1つの短命令の実行
    が完了した後、長命令の以後の実行を禁止する工程と、 第1パイプラインプロセッサにおいて長命令の実行が禁
    止されている間、第1及び第2のパイプラインプロセッ
    サの双方において命令の実行を禁止する工程と、 例外を処理する工程と、 第1パイプラインプロセッサにおいて例外を引き起こし
    た長命令の実行を再開する工程と、 例外が処理され、そして長命令の実行が再開される間、
    第2パイプラインプロセッサにおいてノーオペ命令を実
    行する工程と、 長命令の実行が禁止されたとき、実行が保留されていた
    命令の、第1及び第2のパイプラインプロセッサにおけ
    る実行を再開する工程と を備えることを特徴とする方法。
  3. 【請求項3】複数の可変長実行サイクル数を有するプロ
    グラム命令を実行する装置であって、 少なくとも1つの短命令が後続する長命令を含む命令列
    を逐次受け入れ、そして実行するためのパイプラインプ
    ロセッサであって、前記長命令の完了前に少なくとも1
    つの短命令の実行を完了するパイプラインプロセッサ
    と、 命令の実行中に例外を検出する手段と、 検出された例外を処理するための処理手段であって、先
    行する長命令中で例外が検出される前に前記パイプライ
    ンプロセッサが少なくとも1つの短命令の実行を完了す
    る処理手段とを備え、 前記パイプラインプロセッサは、例外を引き起こした命
    令の実行および例外が検出されたとき実行が保留されて
    いた命令の実行を禁止する手段を有し、 前記パイプラインプロセッサは更に、例外を引き起こし
    た命令を最初に再実行し、次いで例外が検出されたとき
    に存在した順序において、例外が検出されたとき実行が
    保留されていた命令を逐次再開する手段を有し、 少なくとも1つの短命令は、その他の命令が再開される
    ときは、再開されないものである ことを特徴とする装置。
  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 JPH02257219A (ja) 1990-10-18
JP2858140B2 true 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)

Families Citing this family (58)

* 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
EP0827070B1 (en) * 1989-09-25 1999-08-04 Matsushita Electric Industrial Co., Ltd. Pipelined computer
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
DE4211245B4 (de) * 1991-04-05 2009-05-14 Kabushiki Kaisha Toshiba, Kawasaki Prozessorsystem in Parallelverarbeitungsbauart und Verfahren zu dessen Steuerung
JP2925818B2 (ja) * 1991-04-05 1999-07-28 株式会社東芝 並列処理制御装置
CA2124333A1 (en) * 1992-02-27 1993-09-02 John A. Saba Cpu having pipelined instruction unit and effective address calculation unit with retained virtual address capability
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
GB2284493B (en) * 1993-12-01 1998-04-01 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
GB2307072B (en) 1994-06-10 1998-05-13 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
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
US5996058A (en) * 1996-08-19 1999-11-30 Samsung Electronics Company, Ltd. System and method for handling software interrupts with argument passing
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
US7191436B1 (en) 2001-03-08 2007-03-13 Microsoft Corporation Computer system utility facilitating dynamically providing program modifications for identified programs
US7055146B1 (en) * 2001-03-08 2006-05-30 Microsoft Corporation Method and system for dynamically inserting 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
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
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
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
US7865769B2 (en) * 2007-06-27 2011-01-04 International Business Machines Corporation In situ register state error recovery and restart mechanism
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
WO2010021119A1 (ja) * 2008-08-21 2010-02-25 パナソニック株式会社 命令制御装置

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 マイクロプログラム制御装置のエラ−処理方式
US4521851A (en) * 1982-10-13 1985-06-04 Honeywell Information Systems Inc. Central processor
US4594660A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Collector
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
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
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
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
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
US5119483A (en) * 1988-07-20 1992-06-02 Digital Equipment Corporation Application of state silos for recovery from memory management exceptions
US5019967A (en) * 1988-07-20 1991-05-28 Digital Equipment Corporation Pipeline bubble compression in a computer system
US4875160A (en) * 1988-07-20 1989-10-17 Digital Equipment Corporation Method for implementing synchronous pipeline exception recovery
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

Also Published As

Publication number Publication date
EP0365322A2 (en) 1990-04-25
EP0365322A3 (en) 1991-11-27
US5193158A (en) 1993-03-09
JPH02257219A (ja) 1990-10-18

Similar Documents

Publication Publication Date Title
JP2858140B2 (ja) パイプラインプロセッサ装置および方法
JP2597811B2 (ja) データ処理システム
US5495590A (en) Checkpoint synchronization with instruction overlap enabled
US5257354A (en) System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results
US20060190702A1 (en) Device and method for correcting errors in a processor having two execution units
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
US4903264A (en) Method and apparatus for handling out of order exceptions in a pipelined data unit
JPH0242569A (ja) ベクター処理システムに用いる文脈スイッチング方法及び装置
US5488728A (en) Microprocessor having a run/stop pin for accessing an idle mode
US5961633A (en) Execution of data processing instructions
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
US6760835B1 (en) Instruction branch mispredict streaming
JPH04223532A (ja) 改良されたプロセッサ
JPH0863365A (ja) データ処理装置
JPH1021074A (ja) 割り込み制御方式、プロセッサ及び計算機システム
US11789742B2 (en) Pipeline protection for CPUs with save and restore of intermediate results
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
US5469552A (en) Pipelined data processor having combined operand fetch and execution stage to reduce number of pipeline stages and penalty associated with branch instructions
US6543003B1 (en) Method and apparatus for multi-stage hang recovery in an out-of-order microprocessor
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
JPH07141176A (ja) コマンドリトライ制御方式
US5283891A (en) Error information saving apparatus of computer
US5673391A (en) Hardware retry trap for millicoded processor
US5898867A (en) Hierarchical memory system for microcode and means for correcting errors in the microcode
Tamir et al. The UCLA mirror processor: A building block for self-checking self-repairing computing nodes

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