JP2014182830A - ベクトルレジスターファイルの動的再命名基盤のレジスター再構成 - Google Patents
ベクトルレジスターファイルの動的再命名基盤のレジスター再構成 Download PDFInfo
- Publication number
- JP2014182830A JP2014182830A JP2014051610A JP2014051610A JP2014182830A JP 2014182830 A JP2014182830 A JP 2014182830A JP 2014051610 A JP2014051610 A JP 2014051610A JP 2014051610 A JP2014051610 A JP 2014051610A JP 2014182830 A JP2014182830 A JP 2014182830A
- Authority
- JP
- Japan
- Prior art keywords
- register
- micro
- information
- fragmentation
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000013467 fragmentation Methods 0.000 claims description 77
- 238000006062 fragmentation reaction Methods 0.000 claims description 77
- 230000004048 modification Effects 0.000 claims description 49
- 238000012986 modification Methods 0.000 claims description 49
- 230000003111 delayed effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 206010000210 abortion Diseases 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000001960 triggered effect 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- 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
-
- 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
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】本発明の実施形態によるレジスターファイルを再構成する方法は、再命名テーブルを提供する段階と、前記再命名テーブルに命令のソースレジスターに対する断片化情報を書き込む段階と、を含み、前記断片化情報は、前記ソースレジスターの少なくとも1つのプロデューサーに対する情報を含む。前記ソースレジスターは、前記命令の構造ソースレジスターであり、前記方法は、前記断片化情報から前記構造ソースレジスターが断片化したかを判別する段階をさらに含み、前記構造ソースレジスターのコンテンツが複数の物理レジスターに分散している時、前記構造ソースレジスターは、断片化したと判別される。
【選択図】図2
Description
実施形態として、前記断片化情報は、前記構造ソースレジスターのタイプを示す構造ソースタグの第1情報及び前記構造ソースレジスターが断片化したかを示す前記構造ソースタグの第2情報から導出される。
実施形態として、前記第1情報は、前記構造ソースレジスターのタイプがシングル、ダブル又はクワッドのうちのいずれか1つであることを示し、前記第2情報は、前記少なくとも1つのプロデューサーがシングル、ダブル、又はクワッドであることを示す。
実施形態として、前記修正マイクロオペレーションを再命名する段階をさらに含む。
実施形態として、前記第1情報及び前記第2情報に基づいて、前記少なくとも1つの修正マイクロオペレーションの数を判別する段階をさらに含む。
実施形態として、前記マイクロオペレーションの前記構造ソースレジスターが断片化したと判別されれば、前記レジスターファイルで、2つ以上のプロデューサーの2つ以上のレジスターを読み出し、読み出された結果を前記2つ以上のプロデューサーのレジスターの各々のサイズよりも大きいサイズを有するレジスターに書き込むことによって、前記断片化を修正する段階をさらに含む。
実施形態として、前記マイクロオペレーションの前記構造ソースレジスターが断片化したと判別されれば、前記レジスターファイルで、2つ以上のプロデューサーの2つ以上のレジスターを読み出し、読み出された結果を前記2つ以上のプロデューサーのレジスターの各々のサイズよりも大きいサイズを有するレジスターに書き込むことによって、前記断片化を修正する段階をさらに含む。
実施形態として、前記断片化情報は、前記構造ソースレジスターのタイプを示す構造ソースタグの第1情報及び前記構造ソースレジスターが断片化したことを示す前記構造ソースタグの第2情報から導出される。
実施形態として、前記第1情報は、前記構造ソースレジスターのタイプがシングル、ダブル、又はクワッドのうちの1つであることを示し、前記第2情報は、前記少なくとも1つのプロデューサーがシングル、ダブル、又はクワッドであることを示す。
実施形態として、前記再命名器は、前記修正マイクロオペレーションを再命名する。
実施形態として、前記修正ステートマシンは、前記第1情報及び前記第2情報に基づいて前記少なくとも1つの修正マイクロオペレーションの数を決定する。
実施形態として、前記マイクロオペレーションの前記構造ソースレジスターが断片化したと判別されれば、前記修正ステートマシンは、前記レジスターファイルで、2つ以上のプロデューサーの2つ以上のレジスターを読み出し、読み出された結果を前記2つ以上のプロデューサーのレジスターの各々のサイズよりも大きいサイズを有するレジスターに書き込むことによって、前記断片化を修正する。
実施形態として、前記マイクロオペレーションの前記構造ソースレジスターが断片化したと判別されれば、前記修正ステートマシンは、前記レジスターファイルで、2つ以上のプロデューサーの2つ以上のレジスターを読み出し、読み出された結果を前記2つ以上のプロデューサーのレジスターの各々のサイズよりも大きいサイズを有するレジスターに書き込むことによって、前記断片化を修正する。
100 デコーダー
200 再命名器
210 再命名テーブル
220 断片化判別器
230 修正ステートマシン
300 スケジューラー
Claims (10)
- レジスターファイルを再構成する方法において、
再命名テーブルを提供する段階と、
前記再命名テーブルに命令のソースレジスターに対する断片化情報を書き込む段階と、を含み、
前記断片化情報は、前記ソースレジスターの少なくとも1つのプロデューサーに対する情報を含む方法。 - 前記ソースレジスターは、前記命令の構造ソースレジスターであり、
前記方法は、前記断片化情報から前記構造ソースレジスターが断片化したかを判別する段階をさらに含み、
前記構造ソースレジスターのコンテンツが複数の物理レジスターに分散している時、前記構造ソースレジスターは断片化したと判別される請求項1に記載の方法。 - 前記断片化情報は、前記構造ソースレジスターのタイプを示す構造ソースタグの第1情報及び前記構造ソースレジスターが断片化したかを示す前記構造ソースタグの第2情報から導出される請求項2に記載の方法。
- 前記第1情報は、前記構造ソースレジスターのタイプがシングル、ダブル、又はクワッドのうちのいずれか1つであることを示し、
前記第2情報は、前記少なくとも1つのプロデューサーがシングル、ダブル、又はクワッドであることを示す請求項3に記載の方法。 - 前記構造ソースレジスターが断片化したと判別されれば、少なくとも1つの修正マイクロオペレーションを生成する段階と、
前記レジスターファイルで、2つ以上のプロデューサーの2つ以上のレジスターを読み出し、読み出された結果を前記2つ以上のプロデューサーのレジスターの各々のサイズよりも大きいサイズを有するレジスターに書き込むことによって、前記断片化を修正するように前記修正マイクロオペレーションを実行する段階と、をさらに含む請求項3に記載の方法。 - 前記修正マイクロオペレーションを再命名する段階をさらに含む請求項5に記載の方法。
- 前記第1情報及び前記第2情報に基づいて、前記少なくとも1つの修正マイクロオペレーションの数を判別する段階をさらに含む請求項5に記載の方法。
- マイクロオペレーションの前記構造ソースレジスターが断片化したと判別されれば、再命名及び実行のためのスケジュールがされないマイクロオペレーションを中止する段階をさらに含む請求項3に記載の方法。
- 前記マイクロオペレーションの前記構造ソースレジスターが断片化したと判別されれば、前記レジスターファイルで、2つ以上のプロデューサーの2つ以上のレジスターを読み出し、読み出された結果を前記2つ以上のプロデューサーのレジスターの各々のサイズよりも大きいサイズを有するレジスターに書き込むことによって、前記断片化を修正する段階をさらに含む請求項8に記載の方法。
- 再命名テーブルを提供する再命名器を含み、
前記再命名器は、前記再命名テーブルに命令のソースレジスターに対する断片化情報を書き込み、
前記断片化情報は、前記ソースレジスターの少なくとも1つのプロデューサーに対する情報を含む命令処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/837,213 | 2013-03-15 | ||
US13/837,213 US9588770B2 (en) | 2013-03-15 | 2013-03-15 | Dynamic rename based register reconfiguration of a vector register file |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014182830A true JP2014182830A (ja) | 2014-09-29 |
JP2014182830A5 JP2014182830A5 (ja) | 2017-04-20 |
JP6196176B2 JP6196176B2 (ja) | 2017-09-13 |
Family
ID=51419102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014051610A Active JP6196176B2 (ja) | 2013-03-15 | 2014-03-14 | ベクトルレジスターファイルの動的再命名基盤のレジスター再構成 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9588770B2 (ja) |
JP (1) | JP6196176B2 (ja) |
KR (1) | KR101952209B1 (ja) |
CN (1) | CN104049947B (ja) |
DE (1) | DE102014103184A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11429393B2 (en) * | 2015-11-11 | 2022-08-30 | Arm Limited | Apparatus and method for supporting out-of-order program execution of instructions |
CN106095393B (zh) | 2016-06-22 | 2019-04-30 | 上海兆芯集成电路有限公司 | 在回退阶段期间合并部分写结果的系统和方法 |
CN107291425B (zh) * | 2017-06-23 | 2020-11-24 | 上海兆芯集成电路有限公司 | 合并解决重命名尺寸问题的部分写入结果的系统和方法 |
US11256509B2 (en) * | 2017-12-07 | 2022-02-22 | International Business Machines Corporation | Instruction fusion after register rename |
US11276223B2 (en) | 2018-12-13 | 2022-03-15 | Advanced Micro Devices, Inc. | Merged data path for triangle and box intersection test in ray tracing |
US10747538B2 (en) | 2018-12-21 | 2020-08-18 | Intel Corporation | Method and apparatus to re-configure MDIO registers on an ethernet device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205409A1 (en) * | 2009-02-04 | 2010-08-12 | Stmicroelectronics (Beijing) R&D Co. Ltd. | Novel register renaming system using multi-bank physical register mapping table and method thereof |
US7809932B1 (en) * | 2004-03-22 | 2010-10-05 | Altera Corporation | Methods and apparatus for adapting pipeline stage latency based on instruction type |
JP2011018120A (ja) * | 2009-07-07 | 2011-01-27 | Nec Computertechno Ltd | 情報処理装置及びベクトル型情報処理装置 |
US20120124337A1 (en) * | 2010-11-16 | 2012-05-17 | Arm Limited | Size mis-match hazard detection |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5481683A (en) | 1992-10-30 | 1996-01-02 | International Business Machines Corporation | Super scalar computer architecture using remand and recycled general purpose register to manage out-of-order execution of instructions |
US5628021A (en) * | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
US6609189B1 (en) | 1998-03-12 | 2003-08-19 | Yale University | Cycle segmented prefix circuits |
US20030217249A1 (en) | 2002-05-20 | 2003-11-20 | The Regents Of The University Of Michigan | Method and apparatus for virtual register renaming to implement an out-of-order processor |
US20080077782A1 (en) | 2006-09-26 | 2008-03-27 | Arm Limited | Restoring a register renaming table within a processor following an exception |
US7765384B2 (en) * | 2007-04-18 | 2010-07-27 | International Business Machines Corporation | Universal register rename mechanism for targets of different instruction types in a microprocessor |
US7725439B2 (en) | 2007-08-03 | 2010-05-25 | International Business Machines Corporation | Handling column renaming as part of schema evolution in a data archiving tool |
US8250346B2 (en) | 2009-06-04 | 2012-08-21 | Arm Limited | Register renaming of a partially updated data granule |
TWI389026B (zh) | 2009-06-08 | 2013-03-11 | Rdc Semiconductor Co Ltd | 暫存器更名表的回復方法與回復系統 |
US20110238962A1 (en) | 2010-03-23 | 2011-09-29 | International Business Machines Corporation | Register Checkpointing for Speculative Modes of Execution in Out-of-Order Processors |
US8725989B2 (en) | 2010-12-09 | 2014-05-13 | Intel Corporation | Performing function calls using single instruction multiple data (SIMD) registers |
-
2013
- 2013-03-15 US US13/837,213 patent/US9588770B2/en active Active
- 2013-12-20 KR KR1020130160351A patent/KR101952209B1/ko active IP Right Grant
-
2014
- 2014-03-11 DE DE102014103184.9A patent/DE102014103184A1/de active Pending
- 2014-03-14 CN CN201410097579.8A patent/CN104049947B/zh active Active
- 2014-03-14 JP JP2014051610A patent/JP6196176B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809932B1 (en) * | 2004-03-22 | 2010-10-05 | Altera Corporation | Methods and apparatus for adapting pipeline stage latency based on instruction type |
US20100205409A1 (en) * | 2009-02-04 | 2010-08-12 | Stmicroelectronics (Beijing) R&D Co. Ltd. | Novel register renaming system using multi-bank physical register mapping table and method thereof |
JP2011018120A (ja) * | 2009-07-07 | 2011-01-27 | Nec Computertechno Ltd | 情報処理装置及びベクトル型情報処理装置 |
US20120124337A1 (en) * | 2010-11-16 | 2012-05-17 | Arm Limited | Size mis-match hazard detection |
Also Published As
Publication number | Publication date |
---|---|
CN104049947B (zh) | 2018-03-09 |
DE102014103184A1 (de) | 2014-09-18 |
KR20140113307A (ko) | 2014-09-24 |
KR101952209B1 (ko) | 2019-04-22 |
US20140281415A1 (en) | 2014-09-18 |
US9588770B2 (en) | 2017-03-07 |
JP6196176B2 (ja) | 2017-09-13 |
CN104049947A (zh) | 2014-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10261879B2 (en) | Instruction and logic to test transactional execution status | |
JP6196176B2 (ja) | ベクトルレジスターファイルの動的再命名基盤のレジスター再構成 | |
CN108351839B (zh) | 挂起/恢复飞地页面高速缓存中飞地的迁移的设备和方法 | |
JP6702590B2 (ja) | セキュアエンクレーブのプロセスを分岐してセキュアエンクレーブページキャッシュに子エンクレーブを確立する命令及びロジック | |
US9250901B2 (en) | Execution context swap between heterogeneous functional hardware units | |
JP5758515B2 (ja) | バイパスマルチプルインスタンス化テーブルを用いた移動除去のためのシステム及び方法 | |
US8386754B2 (en) | Renaming wide register source operand with plural short register source operands for select instructions to detect dependency fast with existing mechanism | |
US9830158B2 (en) | Speculative execution and rollback | |
KR101655713B1 (ko) | 이동 제거 연산들에서의 플래그 트래킹을 위한 시스템들 및 방법들 | |
JP2018500657A5 (ja) | ||
WO2014004222A1 (en) | Instruction and logic to test transactional execution status | |
JP2018512631A (ja) | アトミックな範囲演算を提供する命令及びロジック | |
TW201741867A (zh) | 記憶體複製指令、處理器、方法及系統 | |
JP2018504667A (ja) | ベクトルパックドタプル相互比較機能を提供する方法、装置、命令、およびロジック | |
US10146691B2 (en) | System and method for performing partial cache line writes without fill-reads or byte enables | |
KR20160075639A (ko) | 이미디에이트 핸들링 및 플래그 핸들링을 위한 프로세서 및 방법 | |
US10255072B2 (en) | Architectural register replacement for instructions that use multiple architectural registers | |
US9710389B2 (en) | Method and apparatus for memory aliasing detection in an out-of-order instruction execution platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20141226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170314 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170314 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170314 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170522 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170712 |
|
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: 20170724 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170817 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6196176 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |