JP2002287957A - キャッシュのような構造を使用してcpu設計におけるオペランド・アクセス・ステージを高速化するための方法及び装置 - Google Patents

キャッシュのような構造を使用してcpu設計におけるオペランド・アクセス・ステージを高速化するための方法及び装置

Info

Publication number
JP2002287957A
JP2002287957A JP2002042171A JP2002042171A JP2002287957A JP 2002287957 A JP2002287957 A JP 2002287957A JP 2002042171 A JP2002042171 A JP 2002042171A JP 2002042171 A JP2002042171 A JP 2002042171A JP 2002287957 A JP2002287957 A JP 2002287957A
Authority
JP
Japan
Prior art keywords
operand
buffer
instruction
queue
reading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002042171A
Other languages
English (en)
Inventor
Hung Qui Le
ハング・クイール
Dung Quoc Nguyen
ダンク・クォーク・ニュエン
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 JP2002287957A publication Critical patent/JP2002287957A/ja
Pending 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/3824Operand accessing
    • G06F9/383Operand prefetching
    • 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/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory

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)

Abstract

(57)【要約】 【課題】高周波数設計という時間的要求に適応すると共
に、単一のサイクルでオペランドをアクセスするための
方法及び装置を提供する。 【解決手段】複数のエントリを有し、各エントリが発生
待ち行列における命令に割り当てられるオペランド・バ
ッファが設けられる。オペランド・バッファは、発生待
ち行列と同じ数のエントリを有する。設計済みレジスタ
及び一時データのためのレジスタ・ファイルがインプリ
メントされる。オペランド・バッファにおけるデータ
は、エントリが割り当てられる時にレジスタ・ファイル
から書き込まれる。命令が実行される時、オペランド・
バッファにおける対応エントリは必要なく、そのエント
リは割り当て解除される。オペランド・バッファはレジ
スタ・ファイルよりも少ないエントリしか持たない。従
って、オペランド・アクセス・ステージは、レジスタ・
ファイルではなくオペランド・バッファの読み出しを必
要とし、オペランド・バッファは1サイクルで読み出さ
れ得る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理に関
し、特に、マイクロプロセッサ設計におけるオペランド
・アクセスに関するものである。更に詳しくいえば、本
発明は、キャッシュのような構造を使用してマイクロプ
ロセッサ設計におけるオペランド・アクセス・ステージ
を高速化するための方法及び装置を提供する。
【0002】
【従来技術】マイクロプロセッサにおいて命令がディス
パッチされる時、それらの命令に対するオペランドがレ
ジスタ・ファイルから読み出される。図1は、従来技術
のマイクロプロセッサ設計のブロック図である。命令が
ディスパッチ101から受け取られる時、マッパ102
はその命令を発生待ち行列(ISQ)104に送る。命
令はその発生待ち行列から実行ユニット110、112
に発生される。実行ユニット110は固定小数点実行ユ
ニットであり、実行ユニット112はロード/ストア実
行ユニットである。命令が命令ユニットに発生される
時、レジスタ・ファイル106からオペランドが読み出
される。一般に、オペランドは1サイクルで読み出さ
れ、命令が実行される。しかる後、次のサイクルでその
結果がレジスタ・ファイル106に書き戻される。
【0003】しかし、高周波数設計のマイクロプロセッ
サは多くのパイプライン・ステージを必要とする。パイ
プライン・ステージの数が増加するに従って、より大き
いレジスタ・ファイルに対する要求が増加する。同時マ
ルチスレッド化のような新しい技術は更に大きいレジス
タ・ファイルを必要とする。結局、周波数要件に適応す
るため、より大きいレジスタ・ファイルは、レジスタ・
ファイル・アクセス・ステージを複数サイクルで遂行さ
せることになろう。多サイクルのオペランド・アクセス
・ステージはプロセッサのパフォーマンスを低下させる
であろう。
【0004】
【発明が解決しようとする課題】従って、本発明の目的
は、高周波数設計という時間的要求に適応すると共に、
単一のサイクルでオペランドをアクセスするための方法
及び装置を提供すことにある。
【0005】
【課題を解決するための手段】本発明は、複数のエント
リを有し、各エントリが発生待ち行列における命令に割
り当てられるオペランド・バッファを提供する。オペラ
ンド・バッファは、発生待ち行列と同じ数のエントリを
有する。設計済みレジスタ及び一時データのためのレジ
スタ・ファイルがインプリメントされる。オペランド・
バッファにおけるデータは、エントリが割り当てられる
時にレジスタ・ファイルから書き込まれる。命令が実行
される時、オペランド・バッファにおける対応エントリ
は必要なく、そのエントリは割り当て解除される。オペ
ランド・バッファはレジスタ・ファイルよりも少ないエ
ントリしか持たない。従って、オペランド・アクセス・
ステージは、レジスタ・ファイルではなくオペランド・
バッファの読み出しを必要とし、オペランド・バッファ
は1サイクルで読み出され得る。
【0006】
【発明の実施の形態】次に、図面、特に、図2、図3、
及び図4を参照すると、本発明をインプリメントし得る
マイクロプロセッサ設計の概略的な表示が本発明の望ま
しい実施例に従って示される。特に、図2を参照する
と、命令がディスパッチ201から受け取られ、マッパ
202が命令を発生待ち行列(ISQ)204に送る。
ISQ204に送られた各命令に対して、マッパ202
は、オペランドをオペランド・バッファ208へ読み込
むようにレジスタ・ファイル206に命令する。オペラ
ンド・バッファ208は、ISQ204における各エン
トリに対して1つのエントリを有する。しかし、オペラ
ンド・バッファ208は、レジスタ・ファイル206よ
りも少ないエントリを有する。従って、オペランド・バ
ッファのエントリが割り当てられる時にオペランドがレ
ジスタ・ファイルから読み出される。この読み出しは1
サイクルよりも多いサイクルを取ることがある。
【0007】プロセッサは、使用可能なオペランドを有
するISQ204において最も古い命令を選択し、実行
ユニット当たり1つの命令を送る。命令が実行ユニット
210、212に発生される時、ISQ選択ポインタを
使用して、対応するオペランドがオペランド・バッファ
208から読み出される。オペランド・バッファからの
この読み出しは1サイクルしか取らない。簡単にするた
めに、2つの実行ユニットが示される。しかし、この分
野では知られているように、スーパースカラ・プロセッ
サ設計は多くのそのような実行ユニットを含み得る。
【0008】実行ユニット210、212による実行の
後、宛先アドレス・タグを使用してレジスタ・ファイル
に、そしてISQによって与えられたスヌープ・コント
ロールを使用してオペランド・バッファにデータが書き
戻される。ISQは、それが或るロケーションから命令
を選択する時、適正なオペランドを選択するために、対
応するロケーション・ポインタをオペランド・バッファ
に送るであろう。このロケーション・ポインタはISQ
選択ポインタと呼ばれる。ISQは、実行ユニットから
の戻った宛先アドレス・タグをそれのソース・オペラン
ド・アドレス・タグと比較する。それらが一致する場
合、データがデータ・オペランド・バッファにおける適
正なロケーションに記憶される。これはスヌープ・コン
トロールと呼ばれる。
【009】図3を参照すると、実行ユニットに対して発
生されるべき命令をISQ発生ロジック250が選択す
る。ISQ発生ロジック250はISQ254から命令
を選択するための制御信号を生成する。オペランド・バ
ッファ258からオペランド(S0、S1)を選択する
ために同じ制御が使用される。この制御信号はISQ選
択ポインタと呼ばれる。
【0010】図4を参照すると、スヌープ比較器270
が宛先アドレス・タグとISQ264におけるすべての
ソース・オペランドとを比較する。実行ユニット(FX
0、LS0)が宛先アドレス・タグ276、278を返
送する時、スヌープ比較器270は到来する宛先アドレ
ス・タグとISQにおけるすべてのソース・オペランド
(S0、S1)とを比較する。比較結果は、結果データ
をオペランド・バッファ268に書き込むためのバッフ
ァ書き戻しイネーブル信号として使用される。例えば、
結果データがISQにおけるロケーションNのS0に対
応することをスヌープ比較器270が表す場合、オペラ
ンド・バッファにおけるロケーションNのS0に対する
バッファ書き戻しイネーブル信号はアクティブであり、
その結果データがオペランド・バッファに書き込まれ
る。
【0011】図5を参照すると、本発明の望ましい実施
例に従って、オペランド・バッファの動作のフローチャ
ートが示される。プロセスが開始し、ディスパッチにお
いて論理的ポインタをマップする(ステップ302)。
次に、プロセスは物理的ソース・ポインタ及び宛先アド
レス・タグを実行ユニットに送り(ステップ304)、
オペランドをオペランド・バッファに入れる(ステップ
306)。しかる後、実行ユニットが結果データ及び宛
先アドレス・タグを返送する(ステップ308)。次
に、プロセスは、ISQによって与えられるスヌープ・
コントロールを使用してデータをレジスタ・ファイル及
びオペランド・バッファに書き戻し(ステップ30
8)、終了する。
【0012】従って、本発明は、オペランド・バッファ
を設けることによって従来技術の欠点を解決する。オペ
ランド・バッファは発生待ち行列と同じ数のエントリを
有する。オペランドは、エントリが発生待ち行列におけ
る命令に割り当てられる時、レジスタ・ファイルからオ
ペランド・バッファにロードされる。従って、レジスタ
・ファイルが前もって読み出されるので、その読み出し
は複数サイクルを取ることができる。プロセッサにおけ
る実行ユニットに対して命令が発生される時、オペラン
ドがオペランド・バッファから読み出される。オペラン
ド・バッファの読み出しは1サイクルを取る。
【0013】本発明の記述は図解及び説明を目的として
行われたが、網羅的であること及び開示された形式にお
ける発明に限定されることを意図するものではない。当
業者には多くの修正及び変更が明らかであろう。実施例
は、本発明の原理及び実用的な応用に関して最善の説明
を行うために、及び意図された特定の用途に適した種々
の修正を伴う種々の実施例に関しても当業者が本発明を
理解することを可能にするために、選択及び記述され
た。
【0014】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0015】(1)プロセッサにおいてオペランドをア
クセスするための方法にして、命令を発生待ち行列に割
り当てるステップと、前記命令に対するオペランドをレ
ジスタ・ファイルから読み出すステップと、前記発生待
ち行列における命令とオペランド・バッファにおけるオ
ペランドとの間の適合を実質的に維持するために前記オ
ペランドを前記オペランド・バッファにロードするステ
ップと、を含む方法。 (2)前記オペランドをロードするステップは、前記オ
ペランド・バッファにおけるエントリを前記発生待ち行
列における命令に割り当てるステップと、前記オペラン
ドを前記エントリにロードするステップと、を含む、上
記(1)に記載の方法。 (3)前記オペランドをレジスタ・ファイルから読み出
すステップは1サイクルよりも多いサイクルを取る、上
記(1)に記載の方法。 (4)前記発生待ち行列から命令を選択して発生するス
テップと、発生された命令を実行ユニットに送るステッ
プと、を更に含む、上記(1)に記載の方法。 (5)前記発生された命令に対応するオペランドを前記
オペランド・バッファから読み出すステップと、前記発
生された命令に対応するオペランドを前記実行ユニット
に供給するステップと、を更に含む、上記(4)に記載
の方法。 (6)前記発生された命令に対応するオペランドを前記
オペランド・バッファから読み出すステップは1サイク
ルを取る、上記(5)に記載の方法。 (7)前記発生された命令に対応するオペランドを前記
オペランド・バッファから読み出すステップは発生待ち
行列選択ポインタを使用するステップを含む、上記
(5)に記載の方法。 (8)前記実行ユニットからの結果を前記レジスタ・フ
ァイルに書き込むステップを更に含む、上記(4)に記
載の方法。 (9)前記実行ユニットからの結果を前記オペランド・
バッファに書き込むステップを更に含む、上記(4)に
記載の方法。 (10)前記実行ユニットからの結果を前記オペランド
・バッファに書き込むステップは、前記発生待ち行列に
よって与えられたスヌープ・コントロールを使用するス
テップを含む、上記(9)に記載の方法。 (11)プロセッサにおいてオペランドをアクセスする
ための装置にして、発生待ち行列と、命令を前記発生待
ち行列に割り当てるマッパと、オペランドを記憶するレ
ジスタ・ファイルと、前記発生待ち行列における命令に
対するオペランドを記憶するオペランド・バッファと、
を含み、前記オペランド・バッファにおけるオペランド
は前記発生待ち行列における命令に実質的に適合する、
装置。 (12)前記オペランド・バッファにおける各エントリ
は前記発生待ち行列における命令に対応する、上記(1
1)に記載の装置。 (13)前記オペランドを前記レジスタ・ファイルから
読み出すためのアクセス・ステージは1サイクルよりも
多いサイクルを取る、上記(11)に記載の装置。 (14)前記オペランドを前記オペランド・バッファか
ら読み出すためのアクセス・ステージは1サイクルを取
る、上記(11)に記載の装置。 (15)前記発生待ち行列及び前記オペランド・バッフ
ァは同じ数のエントリを有する、上記(11)に記載の
装置。 (16)プロセッサにおいてオペランドをアクセスする
ための装置にして、命令を発生待ち行列に割り当てるた
めの割り当て手段と、前記命令に対するオペランドをレ
ジスタ・ファイルから読み出すための読み出し手段と、
前記オペランドをオペランド・バッファにロードするた
めのバッファ手段と、を含む装置。 (17)前記バッファ手段は、前記オペランド・バッフ
ァにおけるエントリを前記発生待ち行列における命令に
割り当てるための割り当て手段と、前記オペランドを前
記エントリにロードするためのロード手段と、を含む、
上記(16)に記載の装置。 (18)前記発生待ち行列から命令を選択して発生する
ための選択手段と、発生された命令を実行ユニットに送
るための搬送手段と、を更に含む、上記(16)に記載
の装置。 (19)前記発生された命令に対応するオペランドを前
記オペランド・バッファから読み出すための手段と、前
記発生された命令に対応するオペランドを前記実行ユニ
ットに供給するための手段と、を更に含む、上記(1
8)に記載の装置。 (20)前記発生された命令に対応するオペランドを前
記オペランド・バッファから読み出すための手段は発生
待ち行列選択ポインタを含む、上記(19)に記載の装
置。 (21)前記実行ユニットからの結果を前記レジスタ・
ファイルに書き込むための手段を更に含む、上記(1
9)に記載の装置。 (22)前記実行ユニットからの結果を前記オペランド
・バッファに書き込むための手段を更に含む、上記(1
9)に記載の装置。 (23)前記書き込むための手段は前記発生待ち行列に
よって与えられたスヌープ・コントロールを含む、上記
(22)に記載の装置。
【図面の簡単な説明】
【図1】従来技術のマイクロプロセッサ設計のブロック
図である。
【図2】本発明の望ましい実施例に従ってインプリメン
トされ得るマイクロプロセッサ設計の概略表示である。
【図3】本発明の別の望ましい実施例に従ってインプリ
メントされ得るマイクロプロセッサ設計の概略表示であ
る。
【図4】本発明の更に別の望ましい実施例に従ってイン
プリメントされ得るマイクロプロセッサ設計の概略表示
である。
【図5】本発明の望ましい実施例によるオペランド・バ
ッファの動作のフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハング・クイール アメリカ合衆国78717、テキサス州、オー スチン、ドーマン・ドライブ 16310 (72)発明者 ダンク・クォーク・ニュエン アメリカ合衆国78759、テキサス州、オー スチン、スカイフラワー・ドライブ 10200 Fターム(参考) 5B013 AA02 CC10 5B033 AA01 BF00 DD01 DD04 DD06 DD09

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】プロセッサにおいてオペランドをアクセス
    するための方法にして、 命令を発生待ち行列に割り当てるステップと、 前記命令に対するオペランドをレジスタ・ファイルから
    読み出すステップと、 前記発生待ち行列における命令とオペランド・バッファ
    におけるオペランドとの間の適合を実質的に維持するた
    めに前記オペランドを前記オペランド・バッファにロー
    ドするステップと、 を含む方法。
  2. 【請求項2】前記オペランドをロードするステップは、 前記オペランド・バッファにおけるエントリを前記発生
    待ち行列における命令に割り当てるステップと、 前記オペランドを前記エントリにロードするステップ
    と、 を含む、請求項1に記載の方法。
  3. 【請求項3】前記オペランドをレジスタ・ファイルから
    読み出すステップは1サイクルよりも多いサイクルを取
    る、請求項1に記載の方法。
  4. 【請求項4】前記発生待ち行列から命令を選択して発生
    するステップと、 発生された命令を実行ユニットに送るステップと、 を更に含む、請求項1に記載の方法。
  5. 【請求項5】前記発生された命令に対応するオペランド
    を前記オペランド・バッファから読み出すステップと、 前記発生された命令に対応するオペランドを前記実行ユ
    ニットに供給するステップと、 を更に含む、請求項4に記載の方法。
  6. 【請求項6】前記発生された命令に対応するオペランド
    を前記オペランド・バッファから読み出すステップは1
    サイクルを取る、請求項5に記載の方法。
  7. 【請求項7】前記発生された命令に対応するオペランド
    を前記オペランド・バッファから読み出すステップは発
    生待ち行列選択ポインタを使用するステップを含む、請
    求項5に記載の方法。
  8. 【請求項8】前記実行ユニットからの結果を前記レジス
    タ・ファイルに書き込むステップを更に含む、請求項4
    に記載の方法。
  9. 【請求項9】前記実行ユニットからの結果を前記オペラ
    ンド・バッファに書き込むステップを更に含む、請求項
    4に記載の方法。
  10. 【請求項10】前記実行ユニットからの結果を前記オペ
    ランド・バッファに書き込むステップは、前記発生待ち
    行列によって与えられたスヌープ・コントロールを使用
    するステップを含む、請求項9に記載の方法。
  11. 【請求項11】プロセッサにおいてオペランドをアクセ
    スするための装置にして、 発生待ち行列と、 命令を前記発生待ち行列に割り当てるマッパと、 オペランドを記憶するレジスタ・ファイルと、 前記発生待ち行列における命令に対するオペランドを記
    憶するオペランド・バッファと、 を含み、前記オペランド・バッファにおけるオペランド
    は前記発生待ち行列における命令に実質的に適合する、
    装置。
  12. 【請求項12】前記オペランド・バッファにおける各エ
    ントリは前記発生待ち行列における命令に対応する、請
    求項11に記載の装置。
  13. 【請求項13】前記オペランドを前記レジスタ・ファイ
    ルから読み出すためのアクセス・ステージは1サイクル
    よりも多いサイクルを取る、請求項11に記載の装置。
  14. 【請求項14】前記オペランドを前記オペランド・バッ
    ファから読み出すためのアクセス・ステージは1サイク
    ルを取る、請求項11に記載の装置。
  15. 【請求項15】前記発生待ち行列及び前記オペランド・
    バッファは同じ数のエントリを有する、請求項11に記
    載の装置。
  16. 【請求項16】プロセッサにおいてオペランドをアクセ
    スするための装置にして、 命令を発生待ち行列に割り当てるための割り当て手段
    と、 前記命令に対するオペランドをレジスタ・ファイルから
    読み出すための読み出し手段と、 前記オペランドをオペランド・バッファにロードするた
    めのバッファ手段と、 を含む装置。
  17. 【請求項17】前記バッファ手段は、 前記オペランド・バッファにおけるエントリを前記発生
    待ち行列における命令に割り当てるための割り当て手段
    と、 前記オペランドを前記エントリにロードするためのロー
    ド手段と、 を含む、請求項16に記載の装置。
  18. 【請求項18】前記発生待ち行列から命令を選択して発
    生するための選択手段と、 発生された命令を実行ユニットに送るための搬送手段
    と、 を更に含む、請求項16に記載の装置。
  19. 【請求項19】前記発生された命令に対応するオペラン
    ドを前記オペランド・バッファから読み出すための手段
    と、 前記発生された命令に対応するオペランドを前記実行ユ
    ニットに供給するための手段と、 を更に含む、請求項18に記載の装置。
  20. 【請求項20】前記発生された命令に対応するオペラン
    ドを前記オペランド・バッファから読み出すための手段
    は発生待ち行列選択ポインタを含む、請求項19に記載
    の装置。
  21. 【請求項21】前記実行ユニットからの結果を前記レジ
    スタ・ファイルに書き込むための手段を更に含む、請求
    項19に記載の装置。
  22. 【請求項22】前記実行ユニットからの結果を前記オペ
    ランド・バッファに書き込むための手段を更に含む、請
    求項19に記載の装置。
  23. 【請求項23】前記書き込むための手段は前記発生待ち
    行列によって与えられたスヌープ・コントロールを含
    む、請求項22に記載の装置。
JP2002042171A 2001-03-01 2002-02-19 キャッシュのような構造を使用してcpu設計におけるオペランド・アクセス・ステージを高速化するための方法及び装置 Pending JP2002287957A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/798,293 US20020124157A1 (en) 2001-03-01 2001-03-01 Method and apparatus for fast operand access stage in a CPU design using a cache-like structure
US09/798293 2001-03-01

Publications (1)

Publication Number Publication Date
JP2002287957A true JP2002287957A (ja) 2002-10-04

Family

ID=25173027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002042171A Pending JP2002287957A (ja) 2001-03-01 2002-02-19 キャッシュのような構造を使用してcpu設計におけるオペランド・アクセス・ステージを高速化するための方法及び装置

Country Status (2)

Country Link
US (1) US20020124157A1 (ja)
JP (1) JP2002287957A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006039815A (ja) * 2004-07-26 2006-02-09 Fujitsu Ltd マルチスレッドプロセッサおよびレジスタ制御方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979677B2 (en) * 2007-08-03 2011-07-12 International Business Machines Corporation Adaptive allocation of reservation station entries to an instruction set with variable operands in a microprocessor
US8458443B2 (en) * 2008-09-08 2013-06-04 Smsc Holdings S.A.R.L. VLIW processor with execution units executing instructions from instruction queues and accessing data queues to read and write operands
US8458439B2 (en) * 2008-12-16 2013-06-04 International Business Machines Corporation Block driven computation using a caching policy specified in an operand data structure
US8407680B2 (en) * 2008-12-16 2013-03-26 International Business Machines Corporation Operand data structure for block computation
US8285971B2 (en) * 2008-12-16 2012-10-09 International Business Machines Corporation Block driven computation with an address generation accelerator
US8327345B2 (en) * 2008-12-16 2012-12-04 International Business Machines Corporation Computation table for block computation
US8281106B2 (en) * 2008-12-16 2012-10-02 International Business Machines Corporation Specifying an addressing relationship in an operand data structure
US9286068B2 (en) 2012-10-31 2016-03-15 International Business Machines Corporation Efficient usage of a multi-level register file utilizing a register file bypass
US10275251B2 (en) 2012-10-31 2019-04-30 International Business Machines Corporation Processor for avoiding reduced performance using instruction metadata to determine not to maintain a mapping of a logical register to a physical register in a first level register file
US9424045B2 (en) * 2013-01-29 2016-08-23 Arm Limited Data processing apparatus and method for controlling use of an issue queue to represent an instruction suitable for execution by a wide operand execution unit
US11630668B1 (en) 2021-11-18 2023-04-18 Nxp B.V. Processor with smart cache in place of register file for providing operands

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898882A (en) * 1993-01-08 1999-04-27 International Business Machines Corporation Method and system for enhanced instruction dispatch in a superscalar processor system utilizing independently accessed intermediate storage
US5465373A (en) * 1993-01-08 1995-11-07 International Business Machines Corporation Method and system for single cycle dispatch of multiple instructions in a superscalar processor system
US5754812A (en) * 1995-10-06 1998-05-19 Advanced Micro Devices, Inc. Out-of-order load/store execution control
US5884059A (en) * 1996-01-26 1999-03-16 Advanced Micro Devices, Inc. Unified multi-function operation scheduler for out-of-order execution in a superscalar processor
US6055621A (en) * 1996-02-12 2000-04-25 International Business Machines Corporation Touch history table
WO1998006030A1 (en) * 1996-08-07 1998-02-12 Sun Microsystems Multifunctional execution unit
US6070235A (en) * 1997-07-14 2000-05-30 International Business Machines Corporation Data processing system and method for capturing history buffer data
US6061777A (en) * 1997-10-28 2000-05-09 International Business Machines Corporation Apparatus and method for reducing the number of rename registers required in the operation of a processor
US5974524A (en) * 1997-10-28 1999-10-26 International Business Machines Corporation Method and apparatus for reducing the number of rename registers in a processor supporting out-of-order execution
US6449713B1 (en) * 1998-11-18 2002-09-10 Compaq Information Technologies Group, L.P. Implementation of a conditional move instruction in an out-of-order processor
US6647489B1 (en) * 2000-06-08 2003-11-11 Ip-First, Llc Compare branch instruction pairing within a single integer pipeline

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006039815A (ja) * 2004-07-26 2006-02-09 Fujitsu Ltd マルチスレッドプロセッサおよびレジスタ制御方法
US7805594B2 (en) 2004-07-26 2010-09-28 Fujitsu Limited Multithread processor and register control method
US8447959B2 (en) 2004-07-26 2013-05-21 Fujitsu Limited Multithread processor and method of controlling multithread processor

Also Published As

Publication number Publication date
US20020124157A1 (en) 2002-09-05

Similar Documents

Publication Publication Date Title
JP4553936B2 (ja) アウト・オブ・オーダーのdmaコマンドキューにおけるコマンド順序の設定に関する技術
EP3920032A1 (en) Backward compatibility testing of software in a mode that disrupts timing
US7958333B2 (en) Processor with memory access stage adapted to fetch an instruction of a thread when no memory access operation is detected
EP2411908B1 (en) Tracking deallocated load instructions using a dependence matrix
EP0677188B1 (en) System and method for assigning tags to instructions to control instruction execution
US20030105901A1 (en) Parallel multi-threaded processing
KR102524565B1 (ko) 로드 스토어 유닛들을 바이패싱하여 스토어 및 로드 추적
JP2005284749A (ja) 並列処理コンピュータ
EP2652613A1 (en) Accessibility of graphics processing compute resources
JPH05224921A (ja) データ処理システム
US6237066B1 (en) Supporting multiple outstanding requests to multiple targets in a pipelined memory system
JP2002287957A (ja) キャッシュのような構造を使用してcpu設計におけるオペランド・アクセス・ステージを高速化するための方法及び装置
US10740256B2 (en) Re-ordering buffer for a digital multi-processor system with configurable, scalable, distributed job manager
CN114514505A (zh) 退役队列压缩
US20130135327A1 (en) Saving and Restoring Non-Shader State Using a Command Processor
US9329893B2 (en) Method for resuming an APD wavefront in which a subset of elements have faulted
EP3497558B1 (en) System and method for load and store queue allocations at address generation time
CN117501254A (zh) 使用近存储器计算为复杂操作提供原子性
JP5058116B2 (ja) ストリーミングidメソッドによるdmac発行メカニズム
US20070043869A1 (en) Job management system, job management method and job management program
JP4631442B2 (ja) プロセッサ
US20040128484A1 (en) Method and apparatus for transparent delayed write-back
EP4002103A1 (en) User timer directly programmed by application
JP2023501069A (ja) 選択不可能なスケジューラキューの後のレジスタリネーミング

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050405