JPH09146770A - 命令を実行する方法およびマイクロプロセッサ - Google Patents

命令を実行する方法およびマイクロプロセッサ

Info

Publication number
JPH09146770A
JPH09146770A JP8191865A JP19186596A JPH09146770A JP H09146770 A JPH09146770 A JP H09146770A JP 8191865 A JP8191865 A JP 8191865A JP 19186596 A JP19186596 A JP 19186596A JP H09146770 A JPH09146770 A JP H09146770A
Authority
JP
Japan
Prior art keywords
instruction
load
store
instructions
registers
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
JP8191865A
Other languages
English (en)
Other versions
JP3096427B2 (ja
Inventor
James A Kahle
ジェームス・エイ・カーレ
Albert J Loper
アルバート・ジェイ・ローパー
Mallick Soummya
ソウンミヤ・マリック
Aubrey D Ogden
オーブリ・ディー・オグデン
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 JPH09146770A publication Critical patent/JPH09146770A/ja
Application granted granted Critical
Publication of JP3096427B2 publication Critical patent/JP3096427B2/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
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/3824Operand accessing
    • 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/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding

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)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 スーパースカラー・マイクロプロセッサで複
数ロード命令を実行する方法および装置を提供する。 【解決手段】 複数のレジスタのうちの各レジスタをリ
ストし、実行中の複数ロード命令によって各レジスタに
データがロードされた時期を示すテーブルを管理するス
テップをさらに含む。この方法は、ソース・オペランド
・データがソース・レジスタにロードされたことをテー
ブルが示したときに、複数ロード命令がその実行を完了
する前に、その命令がソース・レジスタとして示した複
数のレジスタのうちの1つのレジスタに複数ロード命令
によってロードされたソース・オペランド・データに依
存する命令を実行することによって終了する。また、本
発明によれば、スーパースカラー・マイクロプロセッサ
で複数ストア命令を実行する方法も提供される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にはマイク
ロプロセッサ内で命令実行中に行うリソースの割振りに
関し、具体的には本発明は、追加命令の同時実行を可能
にするために逐次化した複数ロード/ストア操作専用の
リソースの早期割振り解除に関する。
【0002】
【従来の技術】マルチレジスタ・ロード/ストア命令で
は、1つのマイクロプロセッサ内に含まれるすべての汎
用レジスタ(通常は32個)を変更するかまたは使い果
たすので、完全な逐次化が必要である。IBM製のPo
werPCTM系列のマイクロプロセッサには、整数複数
ロード/ストア命令が収容され、これらの命令がマイク
ロプロセッサの汎用レジスタ(GPR)との間でデータ
・ブロックを移動させる。複数レジスタ命令としては、
複数ワード・ロード(lmw)命令と、複数ワード・ス
トア(stmw)命令とが用意されている。
【0003】先行技術では、このようなマルチレジスタ
・ロード/ストア命令がシステム内のすべての汎用レジ
スタを変更するかまたは使い果たす可能性があるので、
命令シーケンス内の後続命令は、マルチレジスタ命令が
完了するまで命令バッファ内に保持される。したがっ
て、マルチレジスタ命令は命令ストリーム内のこのよう
な命令の完全な逐次化を強要するものであると想定され
ていた。先行技術でこのような逐次化を実現するため
に、マルチレジスタ命令が完了するまで、必要な汎用レ
ジスタがすべてその命令に割り振られる。このようなシ
ステムは、マルチレジスタ命令が完了するまで命令パイ
プラインを保持することによって、パフォーマンスを大
幅に制限することになる。
【0004】
【発明が解決しようとする課題】必要なものは、マルチ
レジスタ命令が実行されリソースが使用可能になったと
きにこれらの命令からリソースを割振り解除できるよう
にして、後続命令が実行中のマルチレジスタ命令と同時
に実行を開始できるようにするためのメカニズムであ
る。このようなメカニズムは、複数のレジスタを使用す
る命令がGPRを使用する後続命令と並列に実行できる
ようにすることにより、スーパースカラー設計を有する
マイクロプロセッサのパフォーマンスを大幅に改善する
はずである。
【0005】
【課題を解決するための手段】本発明によれば、スーパ
ースカラー・マイクロプロセッサで複数ロード命令を実
行する方法および装置が提供される。この方法は、ロー
ド/ストア・ユニットに複数ロード命令をディスパッチ
するステップであって、ロード/ストア・ユニットがデ
ィスパッチされた複数ロード命令の実行を開始し、複数
ロード命令がメモリから複数のレジスタにデータをロー
ドするステップを含む。この方法は、複数のレジスタの
うちの各レジスタをリストし、実行中の複数ロード命令
によって各レジスタにデータがロードされた時期を示す
テーブルを管理するステップをさらに含む。この方法
は、ソース・オペランド・データがソース・レジスタに
ロードされたことをテーブルが示したときに、複数ロー
ド命令がその実行を完了する前に、その命令がソース・
レジスタとして示した複数のレジスタのうちの1つのレ
ジスタに複数ロード命令によってロードされたソース・
オペランド・データに依存する命令を実行することによ
って終了する。また、本発明によれば、スーパースカラ
ー・マイクロプロセッサで複数ストア命令を実行する方
法も提供される。この方法は、ロード/ストア・ユニッ
トに複数ストア命令をディスパッチし、その直後にロー
ド/ストア・ユニットが複数ストア命令の実行を開始
し、複数ストア命令が複数のレジスタからメモリにデー
タを格納するステップと、複数ストア命令がその実行を
完了する前に、その固定小数点命令がソース・レジスタ
として示した複数のレジスタのうちの1つのレジスタか
ら複数ストア命令によって格納されるデータに依存する
固定小数点命令を実行するが、複数ストア命令が完了す
る前に実行中の固定小数点命令を複数のレジスタのうち
の1つのレジスタに書き込むことを禁止するステップと
を含む。
【0006】本発明の上記および追加の目的、特徴、利
点は、以下の詳細な説明において明らかになるだろう。
【0007】本発明の特色を示すと思われる新規の特徴
については、特許請求の範囲に記載する。しかし、本発
明そのもの、ならびにその好ましい使用態様、追加の目
的および利点については、添付図面に関連して以下の実
施例の詳細な説明を参照することによって最も理解され
るだろう。
【0008】
【発明の実施の形態】次に添付図面、特に図1を参照す
ると、同図には、本発明の好ましい実施例により情報を
処理するためのプロセッサ(全体を10で示す)のブロ
ック図が示されている。図示の実施例のプロセッサ10
は、単一集積回路スーパースカラー・マイクロプロセッ
サを含む。したがって、以下に詳述するように、プロセ
ッサ10は、様々な実行ユニット、レジスタ、バッフ
ァ、メモリ、その他の機能ユニットを含み、いずれも集
積回路で形成されている。本発明の好ましい実施例のプ
ロセッサ10は、IBM製のPowerPCTM系列のマ
イクロプロセッサの1つを含み、これは縮小命令セット
・コンピューティング(RISC)技法により動作す
る。
【0009】図1に示すように、プロセッサ10は、プ
ロセッサ10内のバス・インタフェース・ユニット(B
IU)12を介してシステム・バス11に結合されてい
る。BIU12は、メイン・メモリ(図示せず)など、
システム・バス11に結合されたその他の装置とプロセ
ッサ10との間の情報転送を制御する。プロセッサ10
と、システム・バス11と、システム・バス11に結合
されたその他装置とはあいまってホスト・データ処理シ
ステムを形成する。BIU12は、プロセッサ10内の
命令キャッシュ14およびデータ・キャッシュ16に接
続されている。命令キャッシュ14およびデータ・キャ
ッシュ16などの高速キャッシュにより、プロセッサ1
0はメイン・メモリから高速キャッシュに事前転送され
たデータまたは命令のサブセットに対して比較的高速の
アクセス時間を達成することができ、その結果、ホスト
・データ処理システムの動作速度が改善される。命令キ
ャッシュ14は順次取出し器17にさらに結合され、こ
の順次取出し器17は各実行サイクル中に命令キャッシ
ュ14から命令を取り出す。順次取出し器17は、実行
のために分岐処理ユニット(BPU)18に分岐命令を
転送し、プロセッサ10内のその他の実行回路によって
実行される前の一時記憶のために命令待ち行列19に順
次命令を転送する。
【0010】図示の実施例では、プロセッサ10の実行
回路がBPU18以外に、固定小数点ユニット(FX
U)22、ロード/ストア・ユニット(LSU)28、
浮動小数点ユニット(FPU)30を含む、複数の実行
ユニットを含んでいる。コンピュータ分野の当業者には
周知のように、それぞれの実行ユニット22、28、3
0は、各プロセッサ・サイクル中に特定クラスの順次命
令内の1つまたは複数の命令を実行する。たとえば、F
XU22は、指定の汎用レジスタ(GPR)32または
GPRリネーム・バッファ33から受け取ったソース・
オペランドを使用して、加算、減算、AND、OR、X
ORなどの固定小数点数値演算を実行する。固定小数点
命令の実行後、FXU22は、その命令のデータ結果を
GPRリネーム・バッファ33に出力し、GPRリネー
ム・バッファ33からGPR32の1つまたは複数に結
果データを転送することによって命令が完了するまで、
GPRリネーム・バッファ33が結果データの一時記憶
を行う。これに対して、FPU30は、浮動小数点レジ
スタ(FPR)36またはFPRリネーム・バッファ3
7から受け取ったソース・オペランドに基づいて、浮動
小数点の乗算や除算などの浮動小数点演算を実行する。
FPU30は、浮動小数点命令を実行した結果得られる
データを指定のFPRリネーム・バッファ37に出力
し、FPRリネーム・バッファ37から指定のFPR3
6に結果データを転送することによって命令が完了する
まで、FPRリネーム・バッファ37が結果データを一
時的に格納する。LSU28は、メモリ(すなわち、デ
ータ・キャッシュ16またはメイン・メモリのいずれ
か)から指定のGPR32またはFPR36にデータを
ロードするか、またはGPR32、GPRリネーム・バ
ッファ33、FPR36、またはFPRリネーム・バッ
ファ37の指定の1つからのデータをメモリに格納する
ような、浮動小数点命令と固定小数点命令を実行する。
【0011】プロセッサ10は、そのスーパースカラー
・アーキテクチャのパフォーマンスをさらに改善するた
めに、命令のパイプライン化と順不同実行の両方を使用
している。したがって、データの従属関係を監視してい
る限り、FXU22、LSU28、FPU30は任意の
順序で命令を実行することができる。さらに、一連のパ
イプライン・ステージでFXU22、LSU28、FP
U30のそれぞれが命令を処理する。ハイパフォーマン
ス・プロセッサでは一般的なように、それぞれの命令
は、5通りのパイプライン・ステージ、すなわち、取出
し、デコード/ディスパッチ、実行、終了、完了の各ス
テージで処理される。
【0012】取出しステージ中に順次取出し器17は、
命令キャッシュ14から1つまたは複数のメモリ・アド
レスに関連する1つまたは複数の命令を取り出す。命令
キャッシュ14から取り出された順次命令は、順次取出
し器17によって命令待ち行列19内に格納される。取
り出された分岐命令は、命令ストリームから除去され、
実行のためにBPU18に転送される。BPU18は、
分岐が行われるかどうかを予測することによってBPU
18が未解決の条件付き分岐命令を推論実行できるよう
にするための、分岐履歴テーブルなどの分岐予測メカニ
ズムを含んでいる。
【0013】デコード/ディスパッチ・ステージ中にデ
ィスパッチ・ユニット20は、命令待ち行列19からの
1つまたは複数の命令をデコードし、実行ユニット2
2、28、30のうちの適切なユニットにその命令をデ
ィスパッチする。また、デコード/ディスパッチ・ステ
ージ中にディスパッチ・ユニット20は、ディスパッチ
された命令の結果データごとに、GPRリネーム・バッ
ファ33またはFPRリネーム・バッファ37内のリネ
ーム・バッファを1つずつ割り振る。本発明の好ましい
実施例によれば、プロセッサ10は、プログラムの順序
で命令をディスパッチし、固有の命令IDを使用して順
不同実行中にディスパッチされた命令のプログラム順序
を追跡する。プロセッサ10の実行パイプライン内の各
命令は、命令IDに加え、その命令のAオペランドおよ
びBオペランドのソースを示すrAタグおよびrBタグ
と、その命令の結果データ用のGPRリネーム・バッフ
ァ33またはFPRリネーム・バッファ37内の宛先リ
ネーム・バッファを示すrDタグとを有する。
【0014】実行ステージ中に実行ユニット22、2
8、30は、示された操作用のオペランドと実行リソー
スが使用可能であるときにディスパッチ・ユニット20
から受け取った命令を便宜的に実行する。実行の終了
後、実行ユニット22、28、30は、命令タイプに応
じて、GPRリネーム・バッファ33またはFPRリネ
ーム・バッファ37内に結果データを格納する。次に実
行ユニット22、28、30は、どの命令が実行を終了
したかを完了ユニット40に通知する。最後に、GPR
リネーム・バッファ33およびFPRリネーム・バッフ
ァ37からGPR32およびFPR36に結果データを
それぞれ転送することにより、プログラムの順序で完了
ユニット40が命令を完了する。
【0015】本発明の好ましい実施例のプロセッサ10
は、複数の汎用レジスタ内のデータをメモリからロード
したり、メモリに格納する、マルチレジスタ・ロード/
ストア命令を実行することができる。特に、Power
PCTMマイクロプロセッサの好ましい実施例のマイクロ
プロセッサ10は、複数のワードをメモリからロードす
る複数ロード命令(lmw)と、複数のワードをメモリ
に格納する複数ストア命令(stmw)とを実行するこ
とになる。
【0016】このようなマルチレジスタ命令は、順次取
出し器17によって命令キャッシュ14から取り出さ
れ、命令待ち行列19にロードされる。ディスパッチ・
ユニット20によってマルチレジスタ命令をディスパッ
チすると、LSU28は、そのマルチレジスタ命令の実
行を開始する。また、その命令をディスパッチすると、
マルチレジスタ命令で識別されたGPR32内のいくつ
かのレジスタがその命令に割り振られる。
【0017】好ましい実施例の複数ロード命令では、最
高32個の連続レジスタに最高32個の連続ワードをメ
モリからロードする必要がある。たとえば、「lmw r3,
r2,r1」という命令は、メモリ内の位置<r2 + r1>で検
出されたデータをレジスタ3〜31にロードすることに
なる。したがって、この例では、最初にロードすべきレ
ジスタはレジスタ3(r3)になる。次にLSU28
は、レジスタ31を含むすべてのレジスタがロードされ
るまで、レジスタ4、レジスタ5などに順にロードする
作業に移行する。その時点で複数ロード命令は実行を終
了している。これは完了ユニット40に報告され、完了
ユニット40はシステム内の設計済みレジスタにそれを
コミットすることによって命令を完了する。
【0018】図2を参照すると、同図には、複数ロード
命令と後続の固定小数点命令を処理するのに必要なサイ
クルのタイミング図が示されている。複数ロード命令
(LoadMult)は、サイクル1中に順次取出し器17によ
って命令キャッシュ14から取り出される(F)。その
命令は、サイクル2中にデコードされ(Dec)、サイク
ル3中にディスパッチ・ユニット20によってLSU2
8にディスパッチされる(Disp)。LSU28はサイク
ル4〜7中に複数ロード命令を実行し(E)、命令はサ
イクル8中に完了ユニット40によって完了する
(C)。
【0019】この例では、4つの汎用レジスタがロード
される。好ましい実施例の複数ロード命令は、lmw r28,
r2, r1としてフォーマットされるはずである。この命
令はレジスタ28〜31にロードするはずなので、図2
に示すように、サイクル4〜7の間にシステム・クロッ
ク・サイクルごとに1つのレジスタがロードされる。
【0020】先行技術では、複数ロード命令以降のすべ
ての固定小数点命令が逐次化されるので、複数ロード命
令が完了するまでそのような命令は取り出されないはず
である。このため、後続の固定小数点命令が使用するオ
ペランド・データの整合性を維持することができる。し
たがって、図2の例では、先行技術のサイクル9に達す
るまで、後続の固定小数点命令を取り出すことができな
い。
【0021】本発明によれば、複数ロード命令の完了前
に命令バッファ内で待機中の固定小数点命令をディスパ
ッチできるようにするための割振り解除メカニズムが提
供される。図2に示すように、サイクル4の前にレジス
タ28〜31は複数ロード命令に割り振られる。しか
し、たとえば、レジスタ28が複数ロード命令によって
ロードされると、後続命令用のオペランド・データとし
てその内容を使用できるようにするために、このリソー
スは割振り解除される。その結果、複数ロード命令の完
了前に、複数ロード命令の結果に依存する後続の固定小
数点命令を他の機能ユニットにディスパッチすることが
できる。
【0022】プロセッサ10は、それぞれのレジスタを
リストし、複数ロード命令がその関連レジスタにロード
する時期を示す、スコアボードまたはテーブルをすべて
の汎用レジスタ(GPR)32に関して管理している。
ディスパッチ・ユニット20は、後続命令がディスパッ
チ可能であるかどうかを判定するためにスコアボードに
アクセスするはずである。たとえば、図2に示すよう
に、複数ロード命令(Load Mult)とそれに続く第1お
よび第2の固定小数点命令(FX Inst 1およびFX Inst
2)とを本発明がどのように処理するかについて検討す
る。たとえば、命令シーケンスが次のようになっている
とする。 lmw r28, r2, r1 add r2, r2, r28 add r3, r3, r30 (注:「add」とは、第1のレジスタの内容を第2のレ
ジスタの内容に加算して、その結果オペランドを第1の
レジスタに格納するための固定小数点命令である。)
【0023】図2に示すように、ロード/ストア・ユニ
ットによってレジスタ28がスコアボードに解放される
と、ただちにFX Inst 1をディスパッチすることができ
る。サイクル4中にロード/ストア・ユニットがレジス
タ28用の複数ロード命令を実行したので、このレジス
タはスコアボード上で割振り解除される。次の後続サイ
クルでは、ディスパッチ・ユニット20がFXU22に
FX Inst 1をディスパッチする。というのは、この命令
用のソース・オペランド・データがこの時点で汎用レジ
スタ内で使用可能になっているからである。この命令は
サイクル6中にFXU22によって実行されるが、完了
ユニット40は、レジスタ・データの整合性を保障する
ためにサイクル9になるまで命令を完了しない。図2か
ら分かるように、FX Inst 2は、サイクル3および4中
に取り出され、デコードされる。しかし、複数ロード命
令がサイクル6中にレジスタ30をロードし、このロー
ドをスコアボード上に示してしまうまで、ディスパッチ
・ユニット20はこの命令をFXU22にディスパッチ
しない。ディスパッチ・ユニット20は、サイクル7中
にレジスタ30の割振り解除を読み取り、第2の固定小
数点命令をディスパッチし、FXU22はサイクル8中
にその命令を実行する。すべての固定小数点命令がプロ
グラミング順に完了しなければならないので、完了ユニ
ット40はサイクル10になるまでこの命令を完了しな
い。
【0024】この例に示すように、(単一ポート式レジ
スタ・ファイルとキャッシュを想定すると)後続の固定
小数点命令のディスパッチと実行にとって、最高8クロ
ック・サイクル分の改善が得られている。これは、先行
技術に比べ、プロセッサの効率の大幅上昇である。事
実、所与の例では、最高32クロック・サイクル分の改
善が実現可能である。お分かりのように、本発明のパフ
ォーマンス強化を制限するものは、複数ロードが完了す
る前に実行パイプラインに入れることができる命令数に
関する完了ユニット内の完了バッファの深さのみであ
る。
【0025】本発明の他の態様によれば、リソースの早
期割振り解除は複数ストア命令の実行中に実施される。
好ましい実施例の複数ストア動作では、最高32個の連
続レジスタをメモリ内の最高32個の連続ワード位置に
格納する必要がある。たとえば、stmw r3, r2, r1とい
う複数ストア命令は、<r2 + r1>に位置するメモリに
レジスタ3〜レジスタ31の内容を格納することにな
る。本発明によれば、複数ストア命令をディスパッチす
ると、マイクロプロセッサ内の他の固定小数点実行ユニ
ットに追加の後続固定小数点命令を無条件でディスパッ
チすることができる。従来通り、このような命令はプロ
グラミング順に完了しなければならないが、その命令を
ディスパッチした直後に実行を開始することができる。
【0026】本発明では、複数ストア命令を後続の固定
小数点命令と逐次化する必要はないと認識されている。
その結果、複数ストア命令に必要な複数のレジスタから
なる連続セット全体をその命令に排他的に割り振る必要
がなく、むしろ、後続命令用のソース・オペランド・リ
ソースとして使用することができる。しかし、まだ格納
されていないレジスタの書込みを防止するために、複数
ストア命令が完了するまで、後続命令の結果をGPRリ
ネーム・バッファ33に格納しておかなければならな
い。複数ストア命令が完了すると、GPRリネーム・バ
ッファ33からGPR32内の設計済みレジスタに結果
オペランドを転送することによって、後続命令を完了す
ることができる。
【0027】次に図3を参照すると、同図には、本発明
の好ましい実施例によりマイクロプロセッサ内で1つの
複数ストア命令(Store Mult)と2つの固定小数点命令
(FXInst3およびFX Inst4)が処理されるサイクルのタ
イミング図が示されている。一例として、以下の命令シ
ーケンスの処理について検討する。 stmw r28, r2, r1 add r2, r2, r28 add r3, r3, r30
【0028】図3に示すように、複数ストア命令は、サ
イクル1中に取り出され、サイクル2でデコードされ、
サイクル3でディスパッチされ、サイクル4〜7中にロ
ード/ストア・ユニット28によって実行され、サイク
ル8で完了する。本発明によれば、前の複数ストア命令
がサイクル3でディスパッチされた後、できるだけ早い
時期にFX Inst1およびFX Inst2がディスパッチされる。
FX Inst1はサイクル4中にディスパッチされ、1つのサ
イクル当たり1つの命令しか取り出すことができないの
で、FX Inst2はサイクル5中にディスパッチされる。こ
れらの固定小数点命令は、サイクル5および6で実行さ
れるようにただちに実行することができる。というの
は、複数ストア命令実行の進捗状況にかかわらず、実行
に必要なオペランド・データがすでにレジスタ28およ
び30に存在するからである。事実、サイクル6中にL
SU28はレジスタ30からのデータをメモリに格納
し、FXU22はレジスタ30に収容されているオペラ
ンド・データをレジスタ3に収容されているオペランド
・データに加算する。固定小数点命令1および2の結果
は、それぞれサイクル9および10になるまでリネーム
・バッファ33に保持され、その時点で結果オペランド
がレジスタ2および3にそれぞれ格納される。前述のよ
うに、リソースの整合性を維持するために、複数ストア
命令が完了するまで、このような固定小数点命令は完了
しない。
【0029】要約すると、本発明は、逐次化したロード
およびストアに関連するオーバヘッドの増加という重大
問題を解決するものである。このように操作を逐次化す
るには、逐次化した操作をディスパッチする前にマイク
ロプロセッサのレジスタを完全に空にし、完了するまで
このようなリソースをその逐次化命令に割り振った状態
に維持する必要がある。本発明では、逐次化を不要に
し、複数ロードおよびストア命令と同時に追加の後続命
令を実行できるようにすることによって、マイクロプロ
セッサのパフォーマンスを大幅に上昇させる。マイクロ
プロセッサの完了バッファに応じて、マイクロプロセッ
サはマルチレジスタ命令の実行中に相当な量の追加命令
を実行することができる。たとえば、好ましい実施例で
は、完了バッファの深さが5レジスタである場合、パイ
プラインの停止なしに最高4つの追加命令を完了できる
可能性がある。このような複数ロードおよびストア命令
が完了までに要する時間は最高36サイクルなので、本
発明により、マイクロプロセッサの速度と効率の強化に
つながる大幅な時間節約が可能である。
【0030】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0031】(1)複数のレジスタのうちの複数のレジ
スタにロードする少なくとも1つの複数ロード命令を含
む複数の命令をスーパースカラー・マイクロプロセッサ
で実行する方法において、ロード/ストア・ユニットに
複数ロード命令をディスパッチするステップであって、
ロード/ストア・ユニットがディスパッチされた複数ロ
ード命令の実行を開始し、複数ロード命令がメモリから
複数のレジスタにデータをロードするステップと、複数
のレジスタのうちの各レジスタをリストし、実行中の複
数ロード命令によって各レジスタにデータがロードされ
た時期を示すテーブルを管理するステップと、ソース・
オペランド・データがソース・レジスタにロードされた
ことをテーブルが示したときに、複数ロード命令がその
実行を完了する前に、その命令がソース・レジスタとし
て示した複数のレジスタのうちの1つのレジスタに複数
ロード命令によってロードされたソース・オペランド・
データに依存する命令を実行するステップとを含むこと
を特徴とする方法。 (2)複数のレジスタのうちの複数のレジスタからメモ
リにデータを格納する少なくとも1つの複数ストア命令
を含む複数の命令をスーパースカラー・マイクロプロセ
ッサで実行する方法において、ロード/ストア・ユニッ
トに複数ストア命令をディスパッチし、その直後にロー
ド/ストア・ユニットが複数ストア命令の実行を開始
し、複数ストア命令が複数のレジスタからメモリにデー
タを格納するステップと、複数ストア命令がその実行を
完了する前に、その固定小数点命令がソース・レジスタ
として示した複数のレジスタのうちの1つのレジスタか
ら複数ストア命令によって格納されるデータに依存する
固定小数点命令を実行するが、複数ストア命令が完了す
る前に実行中の固定小数点命令を複数のレジスタのうち
の1つのレジスタに書き込むことを禁止するステップと
を含むことを特徴とする方法。 (3)複数の命令を同時に実行するための複数の実行ユ
ニットを有し、メモリに接続されるスーパースカラー・
マイクロプロセッサにおいて、実行ユニットによる実行
の結果得られるデータを選択的に格納するための複数の
レジスタと、複数のレジスタからデータをロードする
か、または複数のレジスタにデータを格納するためのロ
ード命令とストア命令を実行するロード/ストア実行ユ
ニットと、複数のレジスタのソース・レジスタに格納さ
れたオペランド・データについて固定小数点演算を実行
するための固定小数点実行ユニットと、複数のレジスタ
のうちの1つまたは複数のレジスタをリストし、ロード
/ストア実行ユニットで実行中の複数ロード命令によっ
て各レジスタにデータがロードされた時期を示すテーブ
ルを管理するディスパッチャとを含み、複数ロード命令
がメモリから複数のレジスタのうちの複数にデータをロ
ードし、ディスパッチャがロード/ストア実行ユニット
および固定小数点実行ユニットを含む複数の実行ユニッ
トに命令をディスパッチし、さらにディスパッチャがロ
ード/ストア・ユニットに複数ロード命令をディスパッ
チし、ロード/ストア・ユニットが複数ロード命令の実
行を開始し、さらにロード/ストア実行ユニットでの複
数ロード命令の実行によってソース・オペランド・デー
タがソース・レジスタにロードされたことをテーブルが
示したときに、複数ロード命令がその実行を終了する前
に、ソース・レジスタとしてその命令によって示された
複数のレジスタのうちの1つのレジスタに複数ロード命
令によってロードされたソース・オペランド・データに
依存する固定小数点命令をディスパッチすることを特徴
とする、スーパースカラー・マイクロプロセッサ。 (4)複数の命令を同時に実行するための複数の実行ユ
ニットを有し、メモリに接続されるスーパースカラー・
マイクロプロセッサにおいて、実行ユニットによる実行
の結果得られるデータを選択的に格納するための複数の
レジスタと、複数のレジスタからデータをロードする
か、または複数のレジスタにデータを格納するためのロ
ード命令とストア命令を実行するロード/ストア実行ユ
ニットと、複数のレジスタのソース・レジスタに格納さ
れたオペランド・データについて固定小数点演算を実行
するための固定小数点実行ユニットと、ロード/ストア
実行ユニットと固定小数点実行ユニットとを含む複数の
実行ユニットに命令をディスパッチするディスパッチャ
とを含み、ディスパッチャがロード/ストア・ユニット
に複数ストア命令をディスパッチし、ロード/ストア・
ユニットが複数ストア命令の実行を開始し、複数ストア
命令が複数のレジスタのうちの複数からメモリにデータ
を格納し、さらに複数ストア命令が終了する前に、実行
中の複数ストア命令によってメモリに格納される、複数
のレジスタのうちの1つのレジスタに格納されたソース
・オペランド・データに依存する固定小数点命令を固定
小数点実行ユニットにディスパッチし、複数ストア命令
が終了する前に固定小数点実行ユニットがディスパッチ
された固定小数点命令を実行するが、複数ストア命令が
終了する前に複数のレジスタのうちの1つのレジスタに
実行済み固定小数点命令の結果を格納しないことを特徴
とする、スーパースカラー・マイクロプロセッサ。
【図面の簡単な説明】
【図1】本発明の好ましい実施例により情報を処理する
ためのプロセッサのブロック図である。
【図2】本発明の好ましい実施例により複数ロード命令
と後続の固定小数点命令を処理するのに必要なサイクル
のタイミング図である。
【図3】本発明の好ましい実施例によりマイクロプロセ
ッサ内で1つの複数ストア命令と2つの固定小数点命令
が処理されるサイクルを示すタイミング図である。
【符号の説明】
10 プロセッサ 11 システム・バス 12 バス・インタフェース・ユニット(BIU) 14 命令キャッシュおよびMMU 16 データ・キャッシュおよびMMU 17 順次取出し器 18 分岐処理ユニット 19 命令待ち行列 20 ディスパッチ・ユニット 22 固定小数点ユニット(FXU) 28 ロード/ストア・ユニット(LSU) 30 浮動小数点ユニット(FPU) 32 汎用レジスタ(GPR) 33 GPRリネーム・バッファ 36 浮動小数点レジスタ(FPR) 37 FPRリネーム・バッファ 40 完了ユニット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アルバート・ジェイ・ローパー アメリカ合衆国78613 テキサス州シーダ ー・パーク フォレスト・トレール 1003 (72)発明者 ソウンミヤ・マリック アメリカ合衆国78729 テキサス州オース チン パートリッジ・ベンド・ドライブ 13032 (72)発明者 オーブリ・ディー・オグデン アメリカ合衆国78681 テキサス州ラウン ド・ロック ストーンリース・ドライブ 1905

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】複数のレジスタのうちの複数のレジスタに
    ロードする少なくとも1つの複数ロード命令を含む複数
    の命令をスーパースカラー・マイクロプロセッサで実行
    する方法において、 ロード/ストア・ユニットに複数ロード命令をディスパ
    ッチするステップであって、ロード/ストア・ユニット
    がディスパッチされた複数ロード命令の実行を開始し、
    複数ロード命令がメモリから複数のレジスタにデータを
    ロードするステップと、 複数のレジスタのうちの各レジスタをリストし、実行中
    の複数ロード命令によって各レジスタにデータがロード
    された時期を示すテーブルを管理するステップと、 ソース・オペランド・データがソース・レジスタにロー
    ドされたことをテーブルが示したときに、複数ロード命
    令がその実行を完了する前に、その命令がソース・レジ
    スタとして示した複数のレジスタのうちの1つのレジス
    タに複数ロード命令によってロードされたソース・オペ
    ランド・データに依存する命令を実行するステップとを
    含むことを特徴とする方法。
  2. 【請求項2】複数のレジスタのうちの複数のレジスタか
    らメモリにデータを格納する少なくとも1つの複数スト
    ア命令を含む複数の命令をスーパースカラー・マイクロ
    プロセッサで実行する方法において、 ロード/ストア・ユニットに複数ストア命令をディスパ
    ッチし、その直後にロード/ストア・ユニットが複数ス
    トア命令の実行を開始し、複数ストア命令が複数のレジ
    スタからメモリにデータを格納するステップと、 複数ストア命令がその実行を完了する前に、その固定小
    数点命令がソース・レジスタとして示した複数のレジス
    タのうちの1つのレジスタから複数ストア命令によって
    格納されるデータに依存する固定小数点命令を実行する
    が、複数ストア命令が完了する前に実行中の固定小数点
    命令を複数のレジスタのうちの1つのレジスタに書き込
    むことを禁止するステップとを含むことを特徴とする方
    法。
  3. 【請求項3】複数の命令を同時に実行するための複数の
    実行ユニットを有し、メモリに接続されるスーパースカ
    ラー・マイクロプロセッサにおいて、 実行ユニットによる実行の結果得られるデータを選択的
    に格納するための複数のレジスタと、 複数のレジスタからデータをロードするか、または複数
    のレジスタにデータを格納するためのロード命令とスト
    ア命令を実行するロード/ストア実行ユニットと、 複数のレジスタのソース・レジスタに格納されたオペラ
    ンド・データについて固定小数点演算を実行するための
    固定小数点実行ユニットと、 複数のレジスタのうちの1つまたは複数のレジスタをリ
    ストし、ロード/ストア実行ユニットで実行中の複数ロ
    ード命令によって各レジスタにデータがロードされた時
    期を示すテーブルを管理するディスパッチャとを含み、
    複数ロード命令がメモリから複数のレジスタのうちの複
    数にデータをロードし、ディスパッチャがロード/スト
    ア実行ユニットおよび固定小数点実行ユニットを含む複
    数の実行ユニットに命令をディスパッチし、さらにディ
    スパッチャがロード/ストア・ユニットに複数ロード命
    令をディスパッチし、ロード/ストア・ユニットが複数
    ロード命令の実行を開始し、さらにロード/ストア実行
    ユニットでの複数ロード命令の実行によってソース・オ
    ペランド・データがソース・レジスタにロードされたこ
    とをテーブルが示したときに、複数ロード命令がその実
    行を終了する前に、ソース・レジスタとしてその命令に
    よって示された複数のレジスタのうちの1つのレジスタ
    に複数ロード命令によってロードされたソース・オペラ
    ンド・データに依存する固定小数点命令をディスパッチ
    することを特徴とする、スーパースカラー・マイクロプ
    ロセッサ。
  4. 【請求項4】複数の命令を同時に実行するための複数の
    実行ユニットを有し、メモリに接続されるスーパースカ
    ラー・マイクロプロセッサにおいて、 実行ユニットによる実行の結果得られるデータを選択的
    に格納するための複数のレジスタと、 複数のレジスタからデータをロードするか、または複数
    のレジスタにデータを格納するためのロード命令とスト
    ア命令を実行するロード/ストア実行ユニットと、 複数のレジスタのソース・レジスタに格納されたオペラ
    ンド・データについて固定小数点演算を実行するための
    固定小数点実行ユニットと、 ロード/ストア実行ユニットと固定小数点実行ユニット
    とを含む複数の実行ユニットに命令をディスパッチする
    ディスパッチャとを含み、ディスパッチャがロード/ス
    トア・ユニットに複数ストア命令をディスパッチし、ロ
    ード/ストア・ユニットが複数ストア命令の実行を開始
    し、複数ストア命令が複数のレジスタのうちの複数から
    メモリにデータを格納し、さらに複数ストア命令が終了
    する前に、実行中の複数ストア命令によってメモリに格
    納される、複数のレジスタのうちの1つのレジスタに格
    納されたソース・オペランド・データに依存する固定小
    数点命令を固定小数点実行ユニットにディスパッチし、
    複数ストア命令が終了する前に固定小数点実行ユニット
    がディスパッチされた固定小数点命令を実行するが、複
    数ストア命令が終了する前に複数のレジスタのうちの1
    つのレジスタに実行済み固定小数点命令の結果を格納し
    ないことを特徴とする、スーパースカラー・マイクロプ
    ロセッサ。
JP08191865A 1995-09-11 1996-07-22 複数ロード命令の実行方法、複数ストア命令の実行方法およびマイクロプロセッサ Expired - Fee Related JP3096427B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/526,343 US5694565A (en) 1995-09-11 1995-09-11 Method and device for early deallocation of resources during load/store multiple operations to allow simultaneous dispatch/execution of subsequent instructions
US08/526343 1995-09-11

Publications (2)

Publication Number Publication Date
JPH09146770A true JPH09146770A (ja) 1997-06-06
JP3096427B2 JP3096427B2 (ja) 2000-10-10

Family

ID=24096948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08191865A Expired - Fee Related JP3096427B2 (ja) 1995-09-11 1996-07-22 複数ロード命令の実行方法、複数ストア命令の実行方法およびマイクロプロセッサ

Country Status (5)

Country Link
US (2) US5694565A (ja)
EP (1) EP0762270B1 (ja)
JP (1) JP3096427B2 (ja)
KR (1) KR100234646B1 (ja)
DE (1) DE69636861T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100322149B1 (ko) * 1998-02-17 2002-02-04 포만 제프리 엘 고성능 추론적 스트링/다중 연산 방법

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096614A (ja) * 1995-06-21 1997-01-10 Sanyo Electric Co Ltd データ処理装置
US6006320A (en) * 1996-07-01 1999-12-21 Sun Microsystems, Inc. Processor architecture with independent OS resources
US5859999A (en) * 1996-10-03 1999-01-12 Idea Corporation System for restoring predicate registers via a mask having at least a single bit corresponding to a plurality of registers
US5913054A (en) * 1996-12-16 1999-06-15 International Business Machines Corporation Method and system for processing a multiple-register instruction that permit multiple data words to be written in a single processor cycle
US6006325A (en) * 1996-12-19 1999-12-21 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for instruction and data serialization in a computer processor
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
US6039765A (en) * 1997-12-15 2000-03-21 Motorola, Inc. Computer instruction which generates multiple results of different data types to improve software emulation
US6202130B1 (en) 1998-04-17 2001-03-13 Motorola, Inc. Data processing system for processing vector data and method therefor
US20080184017A1 (en) * 1999-04-09 2008-07-31 Dave Stuttard Parallel data processing apparatus
GB0023697D0 (en) * 2000-09-27 2000-11-08 Univ Bristol Register assignment in a processor
US6789187B2 (en) * 2000-12-15 2004-09-07 Intel Corporation Processor reset and instruction fetches
JP2004151915A (ja) * 2002-10-30 2004-05-27 Renesas Technology Corp データ処理装置
GB2402759B (en) * 2003-06-12 2005-12-21 Advanced Risc Mach Ltd Data processing apparatus and method for transferring data values between a register file and a memory
CA2434257A1 (en) * 2003-07-03 2005-01-03 Ibm Canada Limited - Ibm Canada Limitee Pairing of spills for parallel registers
US8078845B2 (en) * 2005-12-16 2011-12-13 Freescale Semiconductor, Inc. Device and method for processing instructions based on masked register group size information
CN101529377B (zh) * 2006-10-27 2016-09-07 英特尔公司 处理器中多线程之间通信的方法、装置和系统
US7600099B2 (en) * 2007-03-08 2009-10-06 International Business Machines Corporation System and method for predictive early allocation of stores in a microprocessor
US7913067B2 (en) * 2008-02-20 2011-03-22 International Business Machines Corporation Method and system for overlapping execution of instructions through non-uniform execution pipelines in an in-order processor
US7987343B2 (en) * 2008-03-19 2011-07-26 International Business Machines Corporation Processor and method for synchronous load multiple fetching sequence and pipeline stage result tracking to facilitate early address generation interlock bypass
US8082467B2 (en) * 2009-12-23 2011-12-20 International Business Machines Corporation Triggering workaround capabilities based on events active in a processor pipeline
US9104399B2 (en) * 2009-12-23 2015-08-11 International Business Machines Corporation Dual issuing of complex instruction set instructions
US9135005B2 (en) * 2010-01-28 2015-09-15 International Business Machines Corporation History and alignment based cracking for store multiple instructions for optimizing operand store compare penalties
US8495341B2 (en) * 2010-02-17 2013-07-23 International Business Machines Corporation Instruction length based cracking for instruction of variable length storage operands
US8938605B2 (en) * 2010-03-05 2015-01-20 International Business Machines Corporation Instruction cracking based on machine state
US8464030B2 (en) 2010-04-09 2013-06-11 International Business Machines Corporation Instruction cracking and issue shortening based on instruction base fields, index fields, operand fields, and various other instruction text bits
US8645669B2 (en) 2010-05-05 2014-02-04 International Business Machines Corporation Cracking destructively overlapping operands in variable length instructions
US8914616B2 (en) 2011-12-02 2014-12-16 Arm Limited Exchanging physical to logical register mapping for obfuscation purpose when instruction of no operational impact is executed
US9201656B2 (en) * 2011-12-02 2015-12-01 Arm Limited Data processing apparatus and method for performing register renaming for certain data processing operations without additional registers
US20130173886A1 (en) * 2012-01-04 2013-07-04 Qualcomm Incorporated Processor with Hazard Tracking Employing Register Range Compares

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493020A (en) * 1980-05-06 1985-01-08 Burroughs Corporation Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation
US4903196A (en) * 1986-05-02 1990-02-20 International Business Machines Corporation Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor
GB8817911D0 (en) * 1988-07-27 1988-09-01 Int Computers Ltd Data processing apparatus
US5471593A (en) * 1989-12-11 1995-11-28 Branigin; Michael H. Computer processor with an efficient means of executing many instructions simultaneously
US5241636A (en) * 1990-02-14 1993-08-31 Intel Corporation Method for parallel instruction execution in a computer
JPH0455986A (ja) * 1990-06-26 1992-02-24 Toshiba Corp 画像処理装置
JP2556182B2 (ja) * 1990-08-29 1996-11-20 三菱電機株式会社 デ−タ処理装置
US5355457A (en) * 1991-05-21 1994-10-11 Motorola, Inc. Data processor for performing simultaneous instruction retirement and backtracking
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
KR100248903B1 (ko) * 1992-09-29 2000-03-15 야스카와 히데아키 수퍼스칼라마이크로프로세서에서의 적재 및 저장연산처리방법 및 시스템
US5416911A (en) * 1993-02-02 1995-05-16 International Business Machines Corporation Performance enhancement for load multiple register instruction
US5878245A (en) * 1993-10-29 1999-03-02 Advanced Micro Devices, Inc. High performance load/store functional unit and data cache
DE69429061T2 (de) * 1993-10-29 2002-07-18 Advanced Micro Devices Inc Superskalarmikroprozessoren
US5559976A (en) * 1994-03-31 1996-09-24 International Business Machines Corporation System for instruction completion independent of result write-back responsive to both exception free completion of execution and completion of all logically prior instructions
DE69506623T2 (de) * 1994-06-03 1999-07-22 Motorola Inc Datenprozessor mit einer Ausführungseinheit zur Durchführung von Ladebefehlen und Verfahren zu seinem Betrieb

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100322149B1 (ko) * 1998-02-17 2002-02-04 포만 제프리 엘 고성능 추론적 스트링/다중 연산 방법

Also Published As

Publication number Publication date
EP0762270A2 (en) 1997-03-12
EP0762270A3 (en) 2004-07-28
DE69636861D1 (de) 2007-03-15
JP3096427B2 (ja) 2000-10-10
US5694565A (en) 1997-12-02
DE69636861T2 (de) 2007-07-05
KR100234646B1 (ko) 1999-12-15
KR970016945A (ko) 1997-04-28
EP0762270B1 (en) 2007-01-24
US5867684A (en) 1999-02-02

Similar Documents

Publication Publication Date Title
JP3096427B2 (ja) 複数ロード命令の実行方法、複数ストア命令の実行方法およびマイクロプロセッサ
JP3580657B2 (ja) 並列マルチタスキングの方法及びシステム
US5802386A (en) Latency-based scheduling of instructions in a superscalar processor
US5611063A (en) Method for executing speculative load instructions in high-performance processors
JPH07160501A (ja) データ処理システム
RU2142157C1 (ru) Способ функционирования системы обработки
US6338134B1 (en) Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data
EP0675433A2 (en) Processing system and method of operation
US6192461B1 (en) Method and apparatus for facilitating multiple storage instruction completions in a superscalar processor during a single clock cycle
US5778248A (en) Fast microprocessor stage bypass logic enable
US5872948A (en) Processor and method for out-of-order execution of instructions based upon an instruction parameter
US7302553B2 (en) Apparatus, system and method for quickly determining an oldest instruction in a non-moving instruction queue
KR20010077997A (ko) 단일 사이클 파이프라인 기능 정지를 발생하기 위한파이프라인 프로세서 시스템 및 방법
JP3096429B2 (ja) 複数の命令の非整順完了をサポートする方法およびスーパースカラ・マイクロプロセッサ
JP2004038753A (ja) プロセッサ及び命令制御方法
US5765017A (en) Method and system in a data processing system for efficient management of an indication of a status of each of multiple registers
JPH06242952A (ja) スーパースカラ・プロセッサにおける命令処理の選択的逐次化の方法およびシステム
RU2150738C1 (ru) Система обработки и способ ее функционирования
JPH10222378A (ja) 命令を処理するための方法およびシステム
US5664120A (en) Method for executing instructions and execution unit instruction reservation table within an in-order completion processor
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
US5758117A (en) Method and system for efficiently utilizing rename buffers to reduce dispatch unit stalls in a superscalar processor
JPH117389A (ja) プロセサ用の命令を処理するシステム及び方法
US6266761B1 (en) Method and system in an information processing system for efficient maintenance of copies of values stored within registers
JPH10283178A (ja) 命令を発行するための方法及びシステム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees