JP7156776B2 - リタイアフェーズ中に部分書込み結果をマージするシステムおよび方法 - Google Patents
リタイアフェーズ中に部分書込み結果をマージするシステムおよび方法 Download PDFInfo
- Publication number
- JP7156776B2 JP7156776B2 JP2016224437A JP2016224437A JP7156776B2 JP 7156776 B2 JP7156776 B2 JP 7156776B2 JP 2016224437 A JP2016224437 A JP 2016224437A JP 2016224437 A JP2016224437 A JP 2016224437A JP 7156776 B2 JP7156776 B2 JP 7156776B2
- Authority
- JP
- Japan
- Prior art keywords
- write
- instruction
- size
- register
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 32
- 238000013507 mapping Methods 0.000 claims description 60
- 239000000872 buffer Substances 0.000 claims description 41
- 230000001419 dependent effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000004064 recycling Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000007704 transition Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004513 sizing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- OWZPCEFYPSAJFR-UHFFFAOYSA-N 2-(butan-2-yl)-4,6-dinitrophenol Chemical compound CCC(C)C1=CC([N+]([O-])=O)=CC([N+]([O-])=O)=C1O OWZPCEFYPSAJFR-UHFFFAOYSA-N 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result 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)
Description
μop1) MOV EAX, EBX
μop2) MOV AX, CX
μop3) MOV ESP, EAX
各命令は、マイクロ命令またはマイクロ動作(μop)として示されている。第1の物理レジスタが第1のMOV命令(μop1)に割り当てられ、前記割り当てられた物理レジスタがEAXアーキテクチャレジスタにマッピングされる。前記第1のMOV命令μop1は、プロセッサ100に、32ビットレジスタEBXのコンテンツを32ビットレジスタEAXに移動するように命令する。動作中、EBXに割り当てられた物理レジスタのコンテンツは、EAXに割り当てられた物理レジスタに移動される。第2の物理レジスタは、第2のMOV命令(μop2)に割り当てられ、AXアーキテクチャレジスタにマッピングされる。前記第2のMOV命令μop2は、プロセッサ100に、16ビットレジスタCXのコンテンツを16ビットレジスタAXに移動するように命令する。動作中、前記コンテンツは、前記マッピングに従って1つの物理レジスタから別の物理レジスタに移動される。しかし、アーキテクチャレジスタAXは、前記EAXアーキテクチャレジスタの最下位部分(下半部)であるため、前記EAXレジスタのコンテンツはμop2によって効果的且つ意図的に修正される。したがって、前記第1および第2の物理レジスタのいずれも、前記EAXアーキテクチャレジスタの完全なコンテンツを保持しない、その代わりに、それぞれに一部が記憶される。第3の物理レジスタは、第3のMOV命令(μop3)に割り当てられ、ESPアーキテクチャレジスタ(例えば、スタックポインタレジスタ)にマッピングされる。前記第3のMOV命令は、EAXの前記コンテンツを意図的にESPに移動する。しかし、EAXの前記コンテンツは2つの異なる物理レジスタ間に分配されるため、μop3は単一の物理レジスタからEAXの前記完全なコンテンツをフェッチできない。このような条件を解決するには、複数のソース依存性やプリマージ動作など、さまざまな方法が使用されるが、これらの方法には重大な欠点がある。
102…命令キャッシュ
104…命令変換器
106…レジスタエイリアステーブル
108…リザベーションステーション
110…リオーダバッファ
112…実行ユニット
113…部分書込みバッファ
114…物理レジスタファイル
115…マージロジック
116…リネームテーブル
117…エントリ
118…マッピングロジック
120…フリーリスト
122…サイズトラッキングロジック
202…第1のエントリ
204…第2のエントリ
206…第3のエントリ
208…第4のエントリ
302…RATフェーズ
304…RS/EU/WBフェーズ
305…位置
306…RETIREフェーズ
402…リネーミングスイッチロジック
404…リタイア解析ロジック
406…マージ制御ロジック
502…アイドル状態
504…未完了状態
506…完了状態
508…リサイクルに対するリタイアされた待機状態
510…リタイアされたアーキテクチャ状態
MI…マージ指示
WB…ライトバック
SZ1、SZ2…サイズ値
Claims (19)
- プロセッサであって、
複数の物理レジスタインデックスのうちの対応する1つによって、それぞれ識別される複数の物理レジスタを含む物理レジスタファイルであって、前記複数の物理レジスタは前記プロセッサの内部レジスタである、物理レジスタファイルと、
複数のエントリを有し、前記複数のエントリの各々は、複数のアーキテクチャレジスタのうちの1つ、より大きい物理レジスタインデックスおよびより小さい物理レジスタインデックスを識別するアーキテクチャ識別子を記憶するリネームテーブルと、
部分書込み命令より大きい書込みサイズを有する先行書込み命令に対する前記リネームテーブル内の既存エントリによってすでに識別されたアーキテクチャレジスタを指定する前記部分書込み命令を検出し、フリーリストを調べ、前記複数の物理レジスタの第1の物理レジスタを割り当て、前記既存エントリの前記より小さい物理レジスタインデックスを前記第1の物理レジスタの第1の物理レジスタインデックスで更新するマッピングロジックであって、前記フリーリストは、割り当てられていない物理レジスタに対応するインデックスのリストを記憶する、マッピングロジックと、
前記先行書込み命令の前記書込みサイズが前記部分書込み命令より大きい場合、前記部分書込み命令に対するマージ指示をセットするサイズトラッキングロジックと、
前記マージ指示に応じる前記部分書込み命令のリタイアメント中に、前記部分書込み命令の結果を前記複数の物理レジスタの第2の物理レジスタとマージし、前記第2の物理レジスタは、前記既存エントリの前記より大きい物理レジスタインデックスによって識別されるマージロジックと、を備え、前記先行書込み命令の前記書込みサイズは、前記既存エントリのより大きい書込みサイズ位置に記憶されることを特徴とするプロセッサ。 - 前記サイズトラッキングロジックは、読出し命令が前記先行および部分書込み命令の両方にマッピングされた前記アーキテクチャレジスタとしてソースを指定するか否かを判定するために、前記既存エントリの最後書込みサイズ位置にアクセスし、前記最後書込みサイズ位置は、最後書込み命令の書込みサイズを記憶し、前記最後書込み命令は、前記先行書込み命令および前記部分書込み命令のうちの後に書込まれた1つであることを特徴とする請求項1に記載のプロセッサ。
- 前記読出し命令の前記ソースのサイズが前記最後書込み命令の前記書込みサイズより大きい場合、前記サイズトラッキングロジックは、前記読出し命令が前記先行および部分書込み命令の両方にマッピングされた前記アーキテクチャレジスタとして前記ソースを指定するか否かを判定することを特徴とする請求項2に記載のプロセッサ。
- 前記サイズトラッキングロジックは、読出し命令が、前記先行および部分書込み命令の両方にマッピングされた前記アーキテクチャレジスタとしてソースを指定すると判定した場合、前記サイズトラッキングロジックは、前記読出し命令を自己直列化するようにマーキングし、前記読出し命令を前記先行書込み命令に依存するようにセットすることを特徴とする請求項3に記載のプロセッサ。
- 前記部分書込み命令のリタイアメントの時、前記第1の物理レジスタをリタイアされた非アーキテクチャ状態に移行させ、前記先行書込み命令のリタイアメントの時、前記第2の物理レジスタをリタイアされたアーキテクチャ状態に移行させるリネーミングスイッチロジックをさらに備えることを特徴とする請求項1に記載のプロセッサ。
- 前記リネーミングスイッチロジックは、後続命令が、前記リネームテーブルの前記既存エントリに識別された前記アーキテクチャレジスタをリマッピングする時、前記第1および第2の物理レジスタをリサイクルすることを特徴とする請求項5に記載のプロセッサ。
- 前記部分書込み命令のライトバック中に、前記部分書込み命令の前記結果を記憶する部分書込みバッファをさらに備え、前記マージロジックが、前記部分書込みバッファから前記部分書込み命令の前記結果を読出すことを特徴とする請求項1に記載のプロセッサ。
- 前記マッピングロジックは、前記既存エントリの前記より小さい物理レジスタインデックスを更新するか否かを判定するために、前記より大きい書込みサイズ位置にアクセスすることを特徴とする請求項1に記載のプロセッサ。
- 前記サイズトラッキングロジックは、前記マージ指示を提供するか否かを判定するために、前記より大きい書込みサイズ位置にアクセスすることを特徴とする請求項1に記載のプロセッサ。
- 前記マージ指示は、前記部分書込み命令に対するリオーダバッファのエントリにマージビットとして記憶されることを特徴とする請求項1に記載のプロセッサ。
- 部分書込み結果をマージしてプロセッサ内のサイズ問題を解決する方法であって、
前記プロセッサのマッピングロジックが、フリーリストを調べ、第1の物理レジスタを物理レジスタファイルから第1の書込み命令に割り当て、前記第1の物理レジスタをアーキテクチャレジスタにマッピングするステップであって、前記プロセッサのリネームテーブルは、複数のエントリを有し、前記複数のエントリの各々は、複数のアーキテクチャレジスタのうちの1つ、より大きい物理レジスタインデックスおよびより小さい物理レジスタインデックスを識別するアーキテクチャ識別子を記憶し、前記フリーリストは、割り当てられていない物理レジスタに対応するインデックスのリストを記憶する、マッピングするステップと、
前記プロセッサの前記マッピングロジックが、前記アーキテクチャレジスタを参照する第2の書込み命令に、第2の物理レジスタを前記レジスタファイルから割り当てるステップと、
前記プロセッサの前記マッピングロジックが、前記第2の書込み命令の書込みサイズを前記第1の書込み命令の書込みサイズと比較するステップであって、前記第1の書込み命令の前記書込みサイズは、既存エントリのより大きい書込みサイズ位置に記憶される、比較するステップと、
前記プロセッサの前記マッピングロジックが、前記比較の結果に従って前記第2の物理レジスタを前記アーキテクチャレジスタにマッピングするステップと、
前記プロセッサのサイズトラッキングロジックが、前記第2の書込み命令の前記書込みサイズが前記第1の書込み命令の前記書込みサイズよりも小さい場合、前記第2の書込み命令に対してマージ指示を提供するステップと、
前記第2の書込み命令のリタイアメントの時、前記プロセッサのマージロジックが、前記第2の書込み命令の結果を、前記マージ指示に応じて前記第1の物理レジスタにマージするステップであって、前記物理レジスタファイルは、それぞれが複数の物理レジスタインデックスの対応する1つによって識別される複数の物理レジスタを備え、前記複数の物理レジスタは、前記プロセッサの内部レジスタである、マージするステップと、を備え、
前記第1の物理レジスタおよび前記第2の物理レジスタは、前記複数の物理レジスタのレジスタであり、前記プロセッサの前記マッピングロジックが前記比較の結果に従って前記第2の物理レジスタを前記アーキテクチャレジスタにマッピングするステップは、前記第2の書込み命令の前記書込みサイズが前記第1の書込み命令の前記書込みサイズよりも小さい場合、前記第2の物理レジスタの第2のインデックスを前記アーキテクチャレジスタのリネームテーブルのエントリのより小さい位置に記憶するステップと、前記第2の書込み命令の前記書込みサイズが前記第1の書込み命令の前記書込みサイズよりも小さくない場合、前記第2の物理レジスタの前記第2のインデックスを前記エントリのより大きい位置に記憶することを特徴とする方法。 - 前記プロセッサの前記マッピングロジックが前記第1の物理レジスタをアーキテクチャレジスタにマッピングするステップは、前記アーキテクチャレジスタに対するリネームテーブルの前記エントリの前記より大きい位置に前記第1の物理レジスタの第1のインデックスを記憶するステップを備えることを特徴とする請求項11に記載の方法。
- 前記プロセッサの前記マッピングロジックが、前記第2の書込み命令にマッピングされたリネームテーブルのエントリに記憶された前記第2の書込み命令のサイズ値を読出すステップをさらに備えることを特徴とする請求項11に記載の方法。
- 読出し命令が、前記第1の書込み命令および前記第2の書込み命令の両方にマッピングされた前記アーキテクチャレジスタをソースとして指定する時、前記プロセッサの前記サイズトラッキングロジックが、前記読出し命令を自己直列化するようにマーキングするステップと、前記読出し命令を第1の書込み命令に依存させるステップとをさらに備えることを特徴とする請求項11に記載の方法。
- 前記第2の書込み命令のリタイアメントの時、前記プロセッサのリネーミングスイッチロジックが、前記第1の物理レジスタをリタイアされた非アーキテクチャ状態に移行させるステップと、
前記第1の書込み命令のリタイアメントの時、前記プロセッサの前記リネーミングスイッチロジックが、前記第2の物理レジスタをリタイアされたアーキテクチャ状態に移行させるステップと、をさらに備えることを特徴とする請求項11に記載の方法。 - 後続命令が前記アーキテクチャレジスタをリマッピングする時、前記プロセッサの前記リネーミングスイッチロジックが、前記第1および第2の物理レジスタをリサイクルするステップをさらに備えることを特徴とする請求項15に記載の方法。
- 前記第2の書込み命令の前記書込みサイズが、前記第1の書込み命令の前記書込みサイズよりも小さい場合、前記プロセッサの前記マッピングロジックが、前記第2の書込み命令のライトバック中に前記第2の書込み命令の結果を部分書込みバッファに記憶するステップと、前記プロセッサの前記マージロジックが、前記マージ中に、前記第2の書込み命令の結果を前記部分書込みバッファから読出すステップとをさらに備えることを特徴とする請求項11に記載の方法。
- 前記プロセッサの前記マッピングロジックが、前記第1の書込み命令の前記書込みサイズを記憶するステップをさらに備えることを特徴とする請求項11に記載の方法。
- 前記プロセッサの前記マッピングロジックが、前記マージ指示を、前記第2の書込み命令に対するリオーダバッファのエントリにマージビットとして記憶するステップをさらに備えることを特徴とする請求項11に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610455541.2A CN106095393B (zh) | 2016-06-22 | 2016-06-22 | 在回退阶段期间合并部分写结果的系统和方法 |
CN201610455541.2 | 2016-06-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017228267A JP2017228267A (ja) | 2017-12-28 |
JP7156776B2 true JP7156776B2 (ja) | 2022-10-19 |
Family
ID=57238678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016224437A Active JP7156776B2 (ja) | 2016-06-22 | 2016-11-17 | リタイアフェーズ中に部分書込み結果をマージするシステムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10042646B2 (ja) |
EP (1) | EP3260978A1 (ja) |
JP (1) | JP7156776B2 (ja) |
CN (1) | CN106095393B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291425B (zh) * | 2017-06-23 | 2020-11-24 | 上海兆芯集成电路有限公司 | 合并解决重命名尺寸问题的部分写入结果的系统和方法 |
US11157280B2 (en) * | 2017-12-07 | 2021-10-26 | International Business Machines Corporation | Dynamic fusion based on operand size |
US11256509B2 (en) | 2017-12-07 | 2022-02-22 | International Business Machines Corporation | Instruction fusion after register rename |
US10956157B1 (en) | 2018-03-06 | 2021-03-23 | Advanced Micro Devices, Inc. | Taint protection during speculative execution |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446912A (en) | 1993-09-30 | 1995-08-29 | Intel Corporation | Partial width stalls within register alias table |
US5590352A (en) * | 1994-04-26 | 1996-12-31 | Advanced Micro Devices, Inc. | Dependency checking and forwarding of variable width operands |
US5675758A (en) * | 1994-11-15 | 1997-10-07 | Advanced Micro Devices, Inc. | Processor having primary integer execution unit and supplemental integer execution unit for performing out-of-order add and move operations |
US5878244A (en) * | 1995-01-25 | 1999-03-02 | Advanced Micro Devices, Inc. | Reorder buffer configured to allocate storage capable of storing results corresponding to a maximum number of concurrently receivable instructions regardless of a number of instructions received |
US6094719A (en) * | 1997-06-25 | 2000-07-25 | Sun Microsystems, Inc. | Reducing data dependent conflicts by converting single precision instructions into microinstructions using renamed phantom registers in a processor having double precision registers |
US6493819B1 (en) * | 1999-11-16 | 2002-12-10 | Advanced Micro Devices, Inc. | Merging narrow register for resolution of data dependencies when updating a portion of a register in a microprocessor |
US7228403B2 (en) * | 2000-12-23 | 2007-06-05 | International Business Machines Corporation | Method for handling 32 bit results for an out-of-order processor with a 64 bit architecture |
US20020083307A1 (en) | 2000-12-26 | 2002-06-27 | Sager David J. | System and method for partial merges for sub-register data operations |
US7428631B2 (en) * | 2003-07-31 | 2008-09-23 | Intel Corporation | Apparatus and method using different size rename registers for partial-bit and bulk-bit writes |
US7840783B1 (en) * | 2007-09-10 | 2010-11-23 | Netlogic Microsystems, Inc. | System and method for performing a register renaming operation utilizing hardware which is capable of operating in at least two modes utilizing registers of multiple widths |
US8458444B2 (en) * | 2009-04-22 | 2013-06-04 | Oracle America, Inc. | Apparatus and method for handling dependency conditions between floating-point instructions |
US20100274961A1 (en) * | 2009-04-22 | 2010-10-28 | Golla Robert T | Physically-indexed logical map table |
TWI389026B (zh) * | 2009-06-08 | 2013-03-11 | Rdc Semiconductor Co Ltd | 暫存器更名表的回復方法與回復系統 |
US9588770B2 (en) * | 2013-03-15 | 2017-03-07 | Samsung Electronics Co., Ltd. | Dynamic rename based register reconfiguration of a vector register file |
US10318299B2 (en) * | 2013-10-31 | 2019-06-11 | International Business Machines Corporation | Reading a register pair by writing a wide register |
-
2016
- 2016-06-22 CN CN201610455541.2A patent/CN106095393B/zh active Active
- 2016-08-25 US US15/246,922 patent/US10042646B2/en active Active
- 2016-11-17 JP JP2016224437A patent/JP7156776B2/ja active Active
- 2016-11-25 EP EP16200743.9A patent/EP3260978A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3260978A1 (en) | 2017-12-27 |
CN106095393A (zh) | 2016-11-09 |
CN106095393B (zh) | 2019-04-30 |
JP2017228267A (ja) | 2017-12-28 |
US20170371667A1 (en) | 2017-12-28 |
US10042646B2 (en) | 2018-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9575754B2 (en) | Zero cycle move | |
CN106648843B (zh) | 用于改善连续的事务性存储器区的吞吐量的系统、方法和装置 | |
US9311084B2 (en) | RDA checkpoint optimization | |
US7003629B1 (en) | System and method of identifying liveness groups within traces stored in a trace cache | |
US7711898B2 (en) | Register alias table cache to map a logical register to a physical register | |
US7769986B2 (en) | Method and apparatus for register renaming | |
US7428631B2 (en) | Apparatus and method using different size rename registers for partial-bit and bulk-bit writes | |
US11068271B2 (en) | Zero cycle move using free list counts | |
US9454371B2 (en) | Micro-architecture for eliminating MOV operations | |
US10691462B2 (en) | Compact linked-list-based multi-threaded instruction graduation buffer | |
JP2008537231A (ja) | 条件付き命令が無条件で出力を提供するシステム及び方法 | |
JP7156776B2 (ja) | リタイアフェーズ中に部分書込み結果をマージするシステムおよび方法 | |
US7822948B2 (en) | Apparatus, system, and method for discontiguous multiple issue of instructions | |
US10296341B2 (en) | Latest producer tracking in an out-of-order processor, and applications thereof | |
US8078846B2 (en) | Conditional move instruction formed into one decoded instruction to be graduated and another decoded instruction to be invalidated | |
US7747840B2 (en) | Method for latest producer tracking in an out-of-order processor, and applications thereof | |
US7321964B2 (en) | Store-to-load forwarding buffer using indexed lookup | |
WO2020117512A1 (en) | Register renaming-based techniques for block-based processors | |
US7694110B1 (en) | System and method of implementing microcode operations as subroutines | |
US10248425B2 (en) | Processor with slave free list that handles overflow of recycled physical registers and method of recycling physical registers in a processor using a slave free list | |
WO2013101323A1 (en) | Micro-architecture for eliminating mov operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191107 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20191107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210510 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220126 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220322 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220715 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20220715 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220726 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220802 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220920 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221006 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7156776 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |