JP2016526745A - マイクロプロセッサにおける選択的リネーミングのための方法および装置 - Google Patents
マイクロプロセッサにおける選択的リネーミングのための方法および装置 Download PDFInfo
- Publication number
- JP2016526745A JP2016526745A JP2016525797A JP2016525797A JP2016526745A JP 2016526745 A JP2016526745 A JP 2016526745A JP 2016525797 A JP2016525797 A JP 2016525797A JP 2016525797 A JP2016525797 A JP 2016525797A JP 2016526745 A JP2016526745 A JP 2016526745A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- physical register
- processor
- architectural
- 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.)
- Ceased
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000012546 transfer Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 238000013507 mapping Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 229920001299 polypropylene fumarate Polymers 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 239000012086 standard solution Substances 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/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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- 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/3842—Speculative instruction execution
-
- 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/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
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)
- Devices For Executing Special Programs (AREA)
Abstract
Description
本特許出願は、2013年7月12日に出願され、本譲受人に譲渡され、本明細書に参照により明白に組み込まれた「Method and Apparatus for Selective Renaming in a Microprocessor」という名称の仮出願第61/845,476号に基づく優先権を主張する。
図1は、本明細書に記載する1つまたは複数の実施による例示的プロセッサ100のブロック図を示す。図示したプロセッサ100は、命令パイプラインでの命令の実行中に選択的レジスタリネーミングを使用するアウトオブオーダープロセッサである。図示したプロセッサ100などの従来のプロセッサは、データキャッシュからのデータおよび命令キャッシュからの命令を受け取るパイプラインを含むことが知られている。コントローラが、一般的に、パイプライン内の様々な段階および実行ユニット(フェッチ段階、デコード段階など)を制御して、命令をデコードし、実行する。これらが完了すると実行された命令からの結果が、レジスタファイルに、データキャッシュに、および他のバッファもしくはメモリユニットに、格納され得る。
上記の説明から、実施により、第1のアーキテクチャ上のレジスタの第2の生成は、第1のアーキテクチャ上のレジスタの第1の生成が割り当てられたものと同じ物理レジスタを割り当てられることを思い起こす。しかしながら一般的に、アーキテクチャ上のレジスタの第1の生成の第1のプロデューサは、第1の割り当てられた物理レジスタが、アーキテクチャ上のレジスタの第2の生成にも割り当てられたことを知らない。本明細書に記載する1つまたは複数の実施によれば、図示したプロセッサ100は、プロデューサ命令がどのような状況でその結果を特定の物理レジスタに書き込むことを許可されるか、およびコンシューマ命令がどのような状況で特定の物理レジスタから結果を読み出すことを許可されるかを判断する。
図3は、ある実施による、命令リネーム時間のプロセッサにおける選択的リネーミングのための方法300の例示的な流れ図を示す。
図4は、ある実施による、命令完了時間におけるプロセッサ内の選択的リネーミングのための方法400の例示的な流れ図を示している。本明細書で使用する命令完了時間とは、命令がフェッチされ、実行されたが、その結果は、割り当てられた物理レジスタにまだ書き込まれていないときである。
図5は、ある実施による、命令コミット/リタイア時間におけるプロセッサ内の選択的リネーミングのための方法500の例示的な流れ図を示している。本明細書で使用される、命令コミット/リタイア時間とは、命令がフェッチされ、実行され、その結果が割り当てられた物理レジスタに書き込まれ、アーキテクチャ上のレジスタに以前に割り当てられていた物理レジスタが解放されるときである。
いくつかの代替的実施では、アーキテクチャ上のレジスタの特定の生成を特定の物理レジスタに一意に結び付けるためにトークンを使用する代わりに、命令シーケンスID(たとえば、リオーダバッファID、マトリクスID、その他)などの任意の他の一意の識別子を使用することも可能である。この実施では、RMT102は、関連するアーキテクチャ上のレジスタが最後のPPF命令以降にリネームされたかどうかを示す、エントリあたり単一のビットを保持する。PPF命令が、これらのビットを「0」にリセットし、「0」は、新しいリネームが生産に割り当てられることになることを示す。アーキテクチャ上のレジスタに新しいリネームが割り当てられると、対応するビットは「1」に設定される。ビットは、次のPPF命令まで「1」のままであり、この「1」は、このアーキテクチャ上のレジスタに新しいリネームが割り当てられる必要がないことを示す。
現代のプロセッサハードウェアでは、一般的に、プロセッサパイプラインのフロントエンドにパイプライン段階があり、ハードウェアは、同時に(すなわち、同じクロックサイクルで)プログラム順の連続した命令の群への可視性(visibility)を有する。これが行われるとき、トークンおよび/または命令シーケンスIDなどのRMTトークンまたはPRF識別子を使用することなく、本明細書で説明するように選択的レジスタリネーミングを利用することができる。
102 リネームマップテーブル
104 物理レジスタファイル
106 アーキテクチャ上のレジスタ
108 物理レジスタファイル
110 トークン
112 物理レジスタ
114 物理レジスタステータス
116 トークン
124 データ転送機構
210 命令
Claims (30)
- プロセッサを操作する方法であって、
第1のプロデューサ命令を取得するステップであって、前記第1のプロデューサ命令が第1のプロデューサ命令結果を含み、前記第1のプロデューサ命令が第1の識別子を含む、ステップと、
前記第1のプロデューサ命令に対してアーキテクチャ上のレジスタの第1の生成を生成するステップと、
前記アーキテクチャ上のレジスタに物理レジスタを割り当てるステップと、
第2のプロデューサ命令を取得するステップであって、前記第2のプロデューサ命令が第2のプロデューサ命令結果を含み、前記第2のプロデューサ命令が第2の識別子を含む、ステップと、
前記アーキテクチャ上のレジスタの第2の生成を生成するステップと、
前記アーキテクチャ上のレジスタの前記第2の生成に前記物理レジスタを割り当てるステップと、
前記第2のプロデューサ命令結果が前記第1の物理レジスタに書き込まれることを許可するステップと、
前記第2のプロデューサ命令結果が前記第1の物理レジスタに書き込まれることを許可しないステップと
を含む、方法。 - 前記アーキテクチャ上のレジスタの前記第2の生成に新しい物理レジスタを割り当てるステップと、
前記新しい物理レジスタが前記物理レジスタと同じではない場合、前記物理レジスタを解放するステップと
をさらに含む、請求項1に記載の方法。 - 前記第1のプロデューサ命令に対して前記アーキテクチャ上のレジスタの前記第1の生成を生成するステップが、前記第1のプロデューサ命令に対して前記アーキテクチャ上のレジスタの前記第1の生成に対応するリネームマップテーブル(RMT)中のエントリを識別するステップを含む、請求項1に記載の方法。
- 前記アーキテクチャ上のレジスタに前記物理レジスタを割り当てるステップが、前記第1のプロデューサ命令に対して前記アーキテクチャ上のレジスタの前記第1の生成と関連する前記リネームマップテーブル(RMT)中の物理レジスタエントリを識別するステップを含む、請求項3に記載の方法。
- 命令が潜在的パイプラインフラッシュ命令であると判断するステップと、
前記第1のプロデューサ命令が潜在的パイプラインフラッシュ命令であるという前記判断に応じて、前記命令中の識別子をリセットするステップと
をさらに含む、請求項1に記載の方法。 - 前記第1の識別子が、命令シーケンス識別子を含む、請求項1に記載の方法。
- 前記第2の識別子が、命令シーケンス識別子を含む、請求項1に記載の方法。
- 前記第1の識別子が、トークンカウントを含む、請求項1に記載の方法。
- 前記第2の識別子が、トークンカウントを含む、請求項1に記載の方法。
- 前記プロセッサが、アウトオブオーダープロセッサである、請求項1に記載の方法。
- 前記第1の命令が、潜在的パイプラインフラッシュ命令である、請求項5に記載の方法。
- 前記アーキテクチャ上のレジスタの前記第1および第2の生成が、命令セットアーキテクチャによって定義される、請求項1に記載の方法。
- プロセッサを操作する方法であって、
プロセッサパイプラインから第1のプロデューサ命令を取得するステップであって、前記第1のプロデューサ命令が第1のプロデューサ命令結果を含み、前記プロセッサパイプラインがデータ転送ネットワークを含む、ステップと、
前記第1のプロデューサ命令に対してアーキテクチャ上のレジスタの第1の生成を生成するステップと、
第2のプロデューサ命令結果を含む第2のプロデューサ命令を取得するステップと、
前記アーキテクチャ上のレジスタの第2の生成を生成するステップと、
前記アーキテクチャ上のレジスタの前記第2の生成に物理レジスタを割り当てるステップと、
前記第2のプロデューサ命令結果が前記物理レジスタに書き込まれることを許可するステップと、
前記第1のプロデューサ命令結果が前記データ転送ネットワークから読み出されることを許可するステップと
を含む、方法。 - 前記プロセッサが、アウトオブオーダープロセッサである、請求項13に記載の方法。
- 前記アーキテクチャ上のレジスタの前記第1および第2の生成が、命令セットアーキテクチャによって定義される、請求項13に記載の方法。
- パイプラインで命令を処理して、少なくとも1つのアーキテクチャ上のレジスタ、および少なくとも1つの識別子と関連する少なくとも1つの命令結果を生成するように構成されたプロセッサであって、
少なくとも1つのアーキテクチャ上のレジスタを少なくとも1つの物理レジスタにそれぞれマップする少なくとも1つのエントリを含んだリネームマップテーブル(RMT)であって、前記RMT中の少なくとも1つのエントリがRMT識別子と関連している、RMTと、
前記少なくとも1つの物理レジスタをそれぞれ表す少なくとも1つのエントリを含んだ物理レジスタファイル(PRF)であって、前記PRF中の前記少なくとも1つのエントリがPRF識別子を含んだ、PRFと、
前記PRF識別子が前記命令結果識別子に対応する場合、前記命令結果が前記物理レジスタに書き込まれることを許可し、
前記PRF識別子が前記RMT識別子に対応しない場合、前記命令結果が前記物理レジスタに書き込まれることを許可しない
ように構成された実行モジュールと
を含む、プロセッサ。 - 前記命令結果識別子および前記PRF識別子が、トークンカウントを含む、請求項16に記載のプロセッサ。
- 前記命令結果識別子および前記PRF識別子が、命令シーケンス識別子を含む、請求項16に記載のプロセッサ。
- 前記プロセッサが、アウトオブオーダープロセッサである、請求項16に記載のプロセッサ。
- 前記PRFが、前記少なくとも1つの物理レジスタが空いているか、使用中であるかの表示を含む、請求項16に記載のプロセッサ。
- 機械によってアクセスされるとき、前記機械に、
プロセッサパイプラインから第1のプロデューサ命令を取得するステップであって、前記第1のプロデューサ命令が第1のプロデューサ命令結果を含み、前記プロセッサパイプラインがデータ転送ネットワークを含む、ステップと、
前記第1のプロデューサ命令に対してアーキテクチャ上のレジスタの第1の生成を生成するステップと、
第2のプロデューサ命令結果を含む第2のプロデューサ命令を取得するステップと、
前記アーキテクチャ上のレジスタの第2の生成を生成するステップと、
前記アーキテクチャ上のレジスタの前記第2の生成に物理レジスタを割り当てるステップと、
前記第2のプロデューサ命令結果が前記物理レジスタに書き込まれることを許可するステップと、
前記第1のプロデューサ命令結果が前記データ転送ネットワークから読み出されることを許可するステップと
を含む操作を行わせるデータを含んだ、非一時的コンピュータ可読記憶媒体。 - 前記機械によってアクセスされるとき、前記機械に、
前記アーキテクチャ上のレジスタの前記第2の生成に新しい物理レジスタを割り当てるステップと、
前記新しい物理レジスタが前記物理レジスタと同じではない場合、前記物理レジスタを解放するステップと
を含む操作を行わせるデータをさらに含んだ、請求項21に記載の非一時的コンピュータ可読記憶媒体。 - 第1のプロデューサ命令に対して前記アーキテクチャ上のレジスタの前記第1の生成を生成するステップが、前記第1のプロデューサ命令に対して前記アーキテクチャ上のレジスタの前記第1の生成に対応するリネームマップテーブル(RMT)中のエントリを識別するステップを含む、請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 前記アーキテクチャ上のレジスタに前記物理レジスタを割り当てるステップが、前記第1のプロデューサ命令に対して前記アーキテクチャ上のレジスタの前記第1の生成と関連する前記リネームマップテーブル(RMT)中の物理レジスタエントリを識別するステップを含む、請求項23に記載の非一時的コンピュータ可読記憶媒体。
- 前記機械によってアクセスされるとき、前記機械に、前記第1のプロデューサ命令が潜在的パイプラインフラッシュ命令であると判断する操作を行わせるデータをさらに含む、請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 前記第1の識別子が、命令シーケンス識別子を含む、請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 前記第2の識別子が、命令シーケンス識別子を含む、請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 前記第1の識別子が、トークンカウントを含む、請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 前記第2の識別子が、トークンカウントを含む、請求項21に記載の非一時的コンピュータ可読記憶媒体。
- 前記プロセッサが、アウトオブオーダープロセッサである、請求項21に記載の非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361845476P | 2013-07-12 | 2013-07-12 | |
US61/845,476 | 2013-07-12 | ||
US14/091,340 | 2013-11-27 | ||
US14/091,340 US9471325B2 (en) | 2013-07-12 | 2013-11-27 | Method and apparatus for selective renaming in a microprocessor |
PCT/US2014/046297 WO2015006659A1 (en) | 2013-07-12 | 2014-07-11 | Method and apparatus for selective renaming in a microprocessor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016526745A true JP2016526745A (ja) | 2016-09-05 |
Family
ID=52278112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016525797A Ceased JP2016526745A (ja) | 2013-07-12 | 2014-07-11 | マイクロプロセッサにおける選択的リネーミングのための方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9471325B2 (ja) |
EP (1) | EP3019953A1 (ja) |
JP (1) | JP2016526745A (ja) |
KR (1) | KR20160031503A (ja) |
CN (1) | CN105359089B (ja) |
WO (1) | WO2015006659A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160232006A1 (en) * | 2015-02-09 | 2016-08-11 | Qualcomm Incorporated | Fan out of result of explicit data graph execution instruction |
US11429393B2 (en) * | 2015-11-11 | 2022-08-30 | Arm Limited | Apparatus and method for supporting out-of-order program execution of instructions |
US10572265B2 (en) | 2017-04-18 | 2020-02-25 | International Business Machines Corporation | Selecting register restoration or register reloading |
US11010192B2 (en) | 2017-04-18 | 2021-05-18 | International Business Machines Corporation | Register restoration using recovery buffers |
US10649785B2 (en) | 2017-04-18 | 2020-05-12 | International Business Machines Corporation | Tracking changes to memory via check and recovery |
US10963261B2 (en) | 2017-04-18 | 2021-03-30 | International Business Machines Corporation | Sharing snapshots across save requests |
US10782979B2 (en) | 2017-04-18 | 2020-09-22 | International Business Machines Corporation | Restoring saved architected registers and suppressing verification of registers to be restored |
US10838733B2 (en) | 2017-04-18 | 2020-11-17 | International Business Machines Corporation | Register context restoration based on rename register recovery |
US10545766B2 (en) | 2017-04-18 | 2020-01-28 | International Business Machines Corporation | Register restoration using transactional memory register snapshots |
US10740108B2 (en) | 2017-04-18 | 2020-08-11 | International Business Machines Corporation | Management of store queue based on restoration operation |
US10877768B1 (en) * | 2019-09-06 | 2020-12-29 | Microsoft Technology Licensing, Llc | Minimizing traversal of a processor reorder buffer (ROB) for register rename map table (RMT) state recovery for interrupted instruction recovery in a processor |
US11061677B1 (en) | 2020-05-29 | 2021-07-13 | Microsoft Technology Licensing, Llc | Recovering register mapping state of a flushed instruction employing a snapshot of another register mapping state and traversing reorder buffer (ROB) entries in a processor |
CN114356420B (zh) * | 2021-12-28 | 2023-02-17 | 海光信息技术股份有限公司 | 指令流水线的处理方法及装置、电子装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61253544A (ja) * | 1985-05-07 | 1986-11-11 | Hitachi Ltd | 情報処理装置 |
JP2004038750A (ja) * | 2002-07-05 | 2004-02-05 | Fujitsu Ltd | プロセッサ及び命令制御方法 |
US20080177983A1 (en) * | 2007-01-24 | 2008-07-24 | Arm Limited | Selective suppression of register renaming |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5197132A (en) * | 1990-06-29 | 1993-03-23 | Digital Equipment Corporation | Register mapping system having a log containing sequential listing of registers that were changed in preceding cycles for precise post-branch recovery |
US5694564A (en) * | 1993-01-04 | 1997-12-02 | Motorola, Inc. | Data processing system a method for performing register renaming having back-up capability |
WO1995032466A1 (en) * | 1994-05-19 | 1995-11-30 | Vlsi Technology, Inc. | Flexible register mapping scheme |
US5740414A (en) * | 1995-02-14 | 1998-04-14 | Hal Computer Systems, Inc. | Method and apparatus for coordinating the use of physical registers in a microprocessor |
US6356918B1 (en) * | 1995-07-26 | 2002-03-12 | International Business Machines Corporation | Method and system for managing registers in a data processing system supports out-of-order and speculative instruction execution |
US5764970A (en) * | 1995-11-20 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for supporting speculative branch and link/branch on count instructions |
US5996068A (en) * | 1997-03-26 | 1999-11-30 | Lucent Technologies Inc. | Method and apparatus for renaming registers corresponding to multiple thread identifications |
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 |
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
CN1264087C (zh) * | 1999-09-08 | 2006-07-12 | 关一 | 寄存器再命名方法 |
US7360063B2 (en) * | 2006-03-02 | 2008-04-15 | International Business Machines Corporation | Method for SIMD-oriented management of register maps for map-based indirect register-file access |
US7506139B2 (en) | 2006-07-12 | 2009-03-17 | International Business Machines Corporation | Method and apparatus for register renaming using multiple physical register files and avoiding associative search |
US7624253B2 (en) | 2006-10-25 | 2009-11-24 | Arm Limited | Determining register availability for register renaming |
CN100524208C (zh) * | 2006-10-26 | 2009-08-05 | 中国科学院计算技术研究所 | 对状态寄存器进行重命名的方法和使用该方法的处理器 |
US20080148022A1 (en) * | 2006-12-13 | 2008-06-19 | Arm Limited | Marking registers as available for register renaming |
CN101794214B (zh) | 2009-02-04 | 2013-11-20 | 世意法(北京)半导体研发有限责任公司 | 使用多块物理寄存器映射表的寄存器重命名系统及其方法 |
US8335912B2 (en) | 2009-04-22 | 2012-12-18 | Oracle America, Inc. | Logical map table for detecting dependency conditions between instructions having varying width operand values |
US8707015B2 (en) | 2010-07-01 | 2014-04-22 | Advanced Micro Devices, Inc. | Reclaiming physical registers renamed as microcode architectural registers to be available for renaming as instruction set architectural registers based on an active status indicator |
US8661230B2 (en) | 2011-04-15 | 2014-02-25 | International Business Machines Corporation | Allocation of counters from a pool of counters to track mappings of logical registers to physical registers for mapper based instruction executions |
-
2013
- 2013-11-27 US US14/091,340 patent/US9471325B2/en active Active
-
2014
- 2014-07-11 EP EP14748346.5A patent/EP3019953A1/en not_active Withdrawn
- 2014-07-11 KR KR1020167003105A patent/KR20160031503A/ko not_active Application Discontinuation
- 2014-07-11 CN CN201480038318.7A patent/CN105359089B/zh not_active Expired - Fee Related
- 2014-07-11 JP JP2016525797A patent/JP2016526745A/ja not_active Ceased
- 2014-07-11 WO PCT/US2014/046297 patent/WO2015006659A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61253544A (ja) * | 1985-05-07 | 1986-11-11 | Hitachi Ltd | 情報処理装置 |
JP2004038750A (ja) * | 2002-07-05 | 2004-02-05 | Fujitsu Ltd | プロセッサ及び命令制御方法 |
US20080177983A1 (en) * | 2007-01-24 | 2008-07-24 | Arm Limited | Selective suppression of register renaming |
Also Published As
Publication number | Publication date |
---|---|
US20150019843A1 (en) | 2015-01-15 |
CN105359089B (zh) | 2017-12-26 |
CN105359089A (zh) | 2016-02-24 |
KR20160031503A (ko) | 2016-03-22 |
WO2015006659A1 (en) | 2015-01-15 |
EP3019953A1 (en) | 2016-05-18 |
US9471325B2 (en) | 2016-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016526745A (ja) | マイクロプロセッサにおける選択的リネーミングのための方法および装置 | |
JP5653762B2 (ja) | 実行された命令の結果を選択的にコミットするためのシステムおよび方法 | |
CN106648843B (zh) | 用于改善连续的事务性存储器区的吞吐量的系统、方法和装置 | |
US9256433B2 (en) | Systems and methods for move elimination with bypass multiple instantiation table | |
US10678695B2 (en) | Migration of data to register file cache | |
CN108196884B (zh) | 利用生成重命名的计算机信息处理器 | |
KR20100032441A (ko) | 조건부 명령을 비조건부 명령 및 선택 명령으로 확장하기 위한 방법 및 시스템 | |
KR20100003309A (ko) | 파이프라인 프로세서에서 조건 명령 실행을 촉진시키기 위해 로컬 조건 코드 레지스터를 이용하기 위한 방법 및 장치 | |
US10073699B2 (en) | Processing instructions in parallel with waw hazards and via a distributed history buffer in a microprocessor having a multi-execution slice architecture | |
US11188332B2 (en) | System and handling of register data in processors | |
US10282205B2 (en) | Method and apparatus for execution of threads on processing slices using a history buffer for restoring architected register data via issued instructions | |
KR20190033084A (ko) | 로드 스토어 유닛들을 바이패싱하여 스토어 및 로드 추적 | |
US10776123B2 (en) | Faster sparse flush recovery by creating groups that are marked based on an instruction type | |
US11392386B2 (en) | Program counter (PC)-relative load and store addressing for fused instructions | |
US10545763B2 (en) | Detecting data dependencies of instructions associated with threads in a simultaneous multithreading scheme | |
US10007524B2 (en) | Managing history information for branch prediction | |
US10628157B2 (en) | Early predicate look-up | |
EP3260978A1 (en) | System and method of merging partial write result during retire phase | |
US11249757B1 (en) | Handling and fusing load instructions in a processor | |
KR20220065048A (ko) | 대기열 압축 해제 | |
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 | |
US7783692B1 (en) | Fast flag generation | |
TW201905681A (zh) | 合併解決重命名尺寸問題的部分寫入結果的系統和方法 | |
JP2015201026A (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP2010205088A (ja) | ベクトル処理装置、及びベクトル処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170620 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180730 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180906 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190208 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20190701 |