JP2013537996A - コミット時における状態アップデート実行インストラクション、装置、方法、およびシステム - Google Patents
コミット時における状態アップデート実行インストラクション、装置、方法、およびシステム Download PDFInfo
- Publication number
- JP2013537996A JP2013537996A JP2013530397A JP2013530397A JP2013537996A JP 2013537996 A JP2013537996 A JP 2013537996A JP 2013530397 A JP2013530397 A JP 2013530397A JP 2013530397 A JP2013530397 A JP 2013530397A JP 2013537996 A JP2013537996 A JP 2013537996A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- commit
- state update
- execution
- time
- 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 title claims abstract description 31
- 239000000872 buffer Substances 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000796 flavoring agent Substances 0.000 description 1
- 235000019634 flavors Nutrition 0.000 description 1
- -1 for example Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000000696 magnetic material Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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/46—Multiprogramming 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
-
- 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/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/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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (20)
- インストラクションを実行するための回路を含む実行ロジックと;
前記実行ロジックに結合されたインストラクション実行スケジューラーロジックと、を含み、
前記インストラクション実行スケジューラーロジックは、コミット時における状態アップデート実行インストラクションを受け取り、
前記インストラクション実行スケジューラーロジックは:
コミット時における状態アップデートロジックを含み、前記コミット時における状態アップデート実行インストラクションが、コミットする次のインストラクションになるまで、前記コミット時における状態アップデート実行インストラクションを実行するようにスケジュールすることを待つ、
ことを特徴とする装置。 - 前記インストラクション実行スケジューラーロジックは、アウトオブオーダーインストラクション実行スケジューラーキューを含み、
前記アウトオブオーダーインストラクション実行スケジューラーキューは、前記コミット時における状態アップデート実行インストラクションを実行するようにスケジュールする前に、より新しいインストラクションを実行するようにスケジュールするよう動作可能である、
請求項1に記載の装置。 - 前記装置は、さらに、
前記アウトオブオーダーインストラクション実行スケジューラーキューに結合されたリオーダーバッファーを含み、
前記リオーダーバッファーは、前記アウトオブオーダーインストラクション実行スケジューラーキューに対して、前記コミット時における状態アップデート実行インストラクションが前記コミットする次のインストラクションであることの指標を提供する、
請求項2に記載の装置。 - 前記コミット時における状態アップデート実行インストラクションは、コミット時におけるコントロールレジスター書き込みインストラクションを含み、コントロールレジスターに書き込みをする、
請求項1に記載の装置。 - 前記コミット時における状態アップデート実行インストラクションは、リネイムされるように構成されてはいない状態をアップデートする、
請求項1に記載の装置。 - 前記インストラクション実行スケジューラーロジックは、予約ステーションを含む、
請求項1に記載の装置。 - 前記コミット時における状態アップデートロジックは:
一つまたはそれ以上のコミット時でのビットの複数のセットを含み、前記一つまたはそれ以上のコミット時でのビットの前記セットのそれぞれは、前記インストラクション実行スケジューラーロジックのインストラクション実行スケジューラーキューにおける異なるエントリーに対応しており;
ビット値調整ロジックを含み、前記コミット時における状態アップデート実行インストラクションに応じて、前記コミット時における状態アップデート実行インストラクションに応じた前記インストラクション実行スケジューラーキューにおけるエントリーにおいて、一つまたはそれ以上のコミット時でのビットのセットの値を与えられた値に調整するように動作可能であり;
決定ロジックを含み、前記コミット時における状態アップデート実行インストラクションに応じた前記インストラクション実行スケジューラーキューにおけるエントリーにおいて前記一つまたはそれ以上のコミット時でのビットが前記与えられた値を有するときに、前記コミットする次のインストラクションの指標が、前記コミット時における状態アップデート実行インストラクションに応じた前記インストラクション実行スケジューラーキューにおけるエントリーにおける前記コミット時における状態アップデート実行インストラクションの指標と一致するかどうかを決定するように動作可能である、
請求項1に記載の装置。 - 前記ビット値調整ロジックは、前記コミット時における状態アップデートインストラクションをデコードするように動作可能なデコーダーを含み、
前記決定ロジックは、それぞれが異なるエントリーに対応する決定ロジックの複数のセットを含み、前記コミット時における状態アップデート実行インストラクションに応じた前記エントリーのための決定ロジックのセットは、前記コミットする次のインストラクションを表す複数のビットが前記コミット時における状態アップデート実行インストラクションを表す複数のビットと同じであるかを決定するように動作可能である、
請求項7に記載の装置。 - 前記インストラクションスケジューラーロジックは、前記コミットする次のインストラクションの前記指標が前記コミット時における状態アップデート実行インストラクションの前記指標と一致しないと前記決定ロジックが決定する場合に、前記コミット時における状態アップデート実行インストラクションの発行をブロックするように動作可能である、
請求項7に記載の装置。 - コミット時における状態アップデート実行インストラクションを受け取るステップと;
前記コミット時における状態アップデート実行インストラクションが、コミットする次のインストラクションになるまで、前記コミット時における状態アップデート実行インストラクションを実行するようにスケジュールすることを待つステップと;
前記コミット時における状態アップデート実行インストラクションが、前記コミットする次のインストラクションであるときに、実行するようにスケジュールするステップと、を含む
ことを特徴とする方法。 - 前記方法は、さらに、
前記インストラクションを受け取った後で、前記インストラクションを実行するようにスケジュールする前に、より新しいインストラクションを実行するようにスケジュールするステップを含み、
前記より新しいインストラクションは、前記コミット時における状態アップデート実行インストラクションより新しい、
請求項10に記載の方法。 - 前記方法は、さらに、
前記状態アップデートインストラクションを実行するときにインストラクション処理装置の内部状態をアップデートするステップを含み、
前記内部状態は、リネイムされるように構成されてはいないコントロールレジスターを含む、
請求項10に記載の方法。 - 前記インストラクションをスケジュールすることを待つステップは、インストラクション実行スケジューラーキューのインストラクションキューにおいて前記インストラクションを保管するステップを含む、
請求項10に記載の方法。 - 前記方法は、さらに、
前記インストラクションを受け取るステップに対応して、一つまたはそれ以上のコミット時におけるビットの値を変更するステップと;
前記一つまたはそれ以上のコミット時におけるビットの値が変更された後で、前記コミット時における状態アップデート実行インストラクションの指標が前記コミットする次のインストラクションの指標と一致するまで、前記インストラクションをスケジュールするのをブロックするステップと、を含む
請求項10に記載の方法。 - 媒体上にコミット時における状態アップデート実行インストラクションを保管した機械で読取り可能なストレージ媒体を有し、
インストラクションが機械によって処理されると前記機械にオペレーションを実行させ、
前記オペレーションは、
前記コミット時における状態アップデート実行インストラクションが、コミットする次のインストラクションになるまで、前記コミット時における状態アップデート実行インストラクションを実行するようにスケジュールすることを待つステップと;
前記コミット時における状態アップデート実行インストラクションが、前記コミットする次のインストラクションであるときに、実行するようにスケジュールするステップと、を含む
ことを特徴とする製品。 - 前記コミット時における状態アップデート実行インストラクションは、さらに、前記機械にオペレーションを実行させ、
前記オペレーションは:
前記コミット時における状態アップデート実行インストラクションを受け取った後で、前記コミット時における状態アップデート実行インストラクションを実行するようにスケジュールする前に、より新しいインストラクションを実行するようにスケジュールするステップを含み、
前記より新しいインストラクションは、前記コミット時における状態アップデート実行インストラクションより新しい、
請求項15に記載の製品。 - 前記コミット時における状態アップデート実行インストラクションは、さらに、前記機械にオペレーションを実行させ、
前記オペレーションは:
前記コミット時における状態アップデート実行インストラクションをコミットするときに前記機械の内部状態をアップデートするステップを含み、
前記内部状態は、レジスターのリネイムを通じてはリネイムされないコントロールレジスターを含む、
請求項15に記載の製品。 - 相互接続と;
前記相互接続に結合されたプロセッサであり、前記プロセッサはインストラクション実行スケジューラーロジックを有し、
前記インストラクション実行スケジューラーロジックは:
前記コミット時における状態アップデート実行インストラクションに対応して、前記コミット時における状態アップデート実行インストラクションが、コミットする次のインストラクションになるまで、前記コミット時における状態アップデート実行インストラクションを実行するようにスケジュールすることをブロックするロジックを有する、
プロセッサと;
前記相互接続に結合されたダイナミックランダムアクセスメモリー(DRAM)と、を含む
ことを特徴とするシステム。 - 前記インストラクション実行スケジューラーロジックは、前記プロセッサのアウトオブオーダー部分に含まれる、
請求項18に記載のシステム。 - 前記コミット時における状態アップデート実行インストラクションは、
前記プロセッサにコントロールレジスターへの書き込みをさせるように動作可能なコントロールレジスター書き込みインストラクションを含み、
前記コントロールレジスターはリネイムされるように構成されていない、
請求項18に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/924,311 US9052890B2 (en) | 2010-09-25 | 2010-09-25 | Execute at commit state update instructions, apparatus, methods, and systems |
US12/924,311 | 2010-09-25 | ||
PCT/US2011/053266 WO2012040708A2 (en) | 2010-09-25 | 2011-09-26 | Execute at commit state update instructions, apparatus, methods, and systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013537996A true JP2013537996A (ja) | 2013-10-07 |
JP5635701B2 JP5635701B2 (ja) | 2014-12-03 |
Family
ID=45872029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013530397A Expired - Fee Related JP5635701B2 (ja) | 2010-09-25 | 2011-09-26 | コミット時における状態アップデート実行インストラクション、装置、方法、およびシステム |
Country Status (8)
Country | Link |
---|---|
US (1) | US9052890B2 (ja) |
JP (1) | JP5635701B2 (ja) |
KR (1) | KR101508566B1 (ja) |
CN (1) | CN103119562B (ja) |
DE (1) | DE112011103219T5 (ja) |
GB (1) | GB2497467B (ja) |
TW (1) | TWI552070B (ja) |
WO (1) | WO2012040708A2 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9052890B2 (en) | 2010-09-25 | 2015-06-09 | Intel Corporation | Execute at commit state update instructions, apparatus, methods, and systems |
US20130124805A1 (en) * | 2011-11-10 | 2013-05-16 | Advanced Micro Devices, Inc. | Apparatus and method for servicing latency-sensitive memory requests |
WO2013100783A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
US9015423B2 (en) | 2012-06-14 | 2015-04-21 | International Business Machines Corporation | Reducing store operation busy times |
US9075727B2 (en) | 2012-06-14 | 2015-07-07 | International Business Machines Corporation | Reducing penalties for cache accessing operations |
CN102819419B (zh) * | 2012-07-25 | 2016-05-18 | 龙芯中科技术有限公司 | 指令执行流信息处理系统和装置及方法 |
KR102010317B1 (ko) * | 2013-03-14 | 2019-08-13 | 삼성전자주식회사 | 재명명 테이블 재구성을 위한 리오더-버퍼를 기초로 하는 동적 체크포인팅 |
US9448799B2 (en) * | 2013-03-14 | 2016-09-20 | Samsung Electronics Co., Ltd. | Reorder-buffer-based dynamic checkpointing for rename table rebuilding |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
RU2644528C2 (ru) * | 2013-12-23 | 2018-02-12 | Интел Корпорейшн | Инструкция и логика для идентификации инструкций для удаления в многопоточном процессоре с изменением последовательности |
US11755484B2 (en) | 2015-06-26 | 2023-09-12 | Microsoft Technology Licensing, Llc | Instruction block allocation |
US10409606B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Verifying branch targets |
US10346168B2 (en) | 2015-06-26 | 2019-07-09 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
US9940136B2 (en) | 2015-06-26 | 2018-04-10 | Microsoft Technology Licensing, Llc | Reuse of decoded instructions |
US10095519B2 (en) | 2015-09-19 | 2018-10-09 | Microsoft Technology Licensing, Llc | Instruction block address register |
US9824012B2 (en) * | 2015-09-24 | 2017-11-21 | Qualcomm Incorporated | Providing coherent merging of committed store queue entries in unordered store queues of block-based computer processors |
US10318295B2 (en) * | 2015-12-22 | 2019-06-11 | Intel Corporation | Transaction end plus commit to persistence instructions, processors, methods, and systems |
US10275250B2 (en) * | 2017-03-06 | 2019-04-30 | Arm Limited | Defer buffer |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
CN113326524B (zh) * | 2021-06-18 | 2024-05-28 | 鹏城实验室 | 指令处理方法及处理器 |
CN114995884A (zh) * | 2022-06-14 | 2022-09-02 | 平头哥(上海)半导体技术有限公司 | 指令退休单元、指令执行单元及相关装置和方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10105400A (ja) * | 1996-08-30 | 1998-04-24 | Internatl Business Mach Corp <Ibm> | 浮動小数点実行ユニットにおける状態フラグ及び条件コードの保持装置及び方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265233A (en) | 1991-05-17 | 1993-11-23 | Sun Microsystems, Inc. | Method and apparatus for providing total and partial store ordering for a memory in multi-processor system |
US5636374A (en) | 1994-01-04 | 1997-06-03 | Intel Corporation | Method and apparatus for performing operations based upon the addresses of microinstructions |
US5898854A (en) | 1994-01-04 | 1999-04-27 | Intel Corporation | Apparatus for indicating an oldest non-retired load operation in an array |
US5452426A (en) | 1994-01-04 | 1995-09-19 | Intel Corporation | Coordinating speculative and committed state register source data and immediate source data in a processor |
JPH07302200A (ja) | 1994-04-28 | 1995-11-14 | Hewlett Packard Co <Hp> | 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。 |
US5724565A (en) * | 1995-02-03 | 1998-03-03 | International Business Machines Corporation | Method and system for processing first and second sets of instructions by first and second types of processing systems |
US6230253B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Executing partial-width packed data instructions |
US6240510B1 (en) * | 1998-08-06 | 2001-05-29 | Intel Corporation | System for processing a cluster of instructions where the instructions are issued to the execution units having a priority order according to a template associated with the cluster of instructions |
US6636950B1 (en) | 1998-12-17 | 2003-10-21 | Massachusetts Institute Of Technology | Computer architecture for shared memory access |
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 |
US6678810B1 (en) | 1999-12-30 | 2004-01-13 | Intel Corporation | MFENCE and LFENCE micro-architectural implementation method and system |
JP2001209535A (ja) | 2000-01-27 | 2001-08-03 | Toshiba Corp | プロセッサの命令スケジューリング装置 |
US6799268B1 (en) | 2000-06-30 | 2004-09-28 | Intel Corporation | Branch ordering buffer |
US6950925B1 (en) | 2002-08-28 | 2005-09-27 | Advanced Micro Devices, Inc. | Scheduler for use in a microprocessor that supports data-speculative execution |
US7269711B2 (en) | 2003-12-29 | 2007-09-11 | Intel Corporation | Methods and apparatus for address generation in processors |
TWI273485B (en) * | 2004-02-04 | 2007-02-11 | Via Tech Inc | Pipeline microprocessor, apparatus, and method for generating early status flags |
US7496735B2 (en) * | 2004-11-22 | 2009-02-24 | Strandera Corporation | Method and apparatus for incremental commitment to architectural state in a microprocessor |
US7882339B2 (en) | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
TWI334571B (en) * | 2007-02-16 | 2010-12-11 | Via Tech Inc | Program instruction rearrangement methods |
US7769986B2 (en) * | 2007-05-01 | 2010-08-03 | International Business Machines Corporation | Method and apparatus for register renaming |
US8635437B2 (en) * | 2009-02-12 | 2014-01-21 | Via Technologies, Inc. | Pipelined microprocessor with fast conditional branch instructions based on static exception state |
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 |
US8966230B2 (en) | 2009-09-30 | 2015-02-24 | Intel Corporation | Dynamic selection of execution stage |
US9052890B2 (en) | 2010-09-25 | 2015-06-09 | Intel Corporation | Execute at commit state update instructions, apparatus, methods, and systems |
-
2010
- 2010-09-25 US US12/924,311 patent/US9052890B2/en not_active Expired - Fee Related
-
2011
- 2011-09-26 GB GB1304555.4A patent/GB2497467B/en not_active Expired - Fee Related
- 2011-09-26 TW TW100134558A patent/TWI552070B/zh not_active IP Right Cessation
- 2011-09-26 KR KR1020137007559A patent/KR101508566B1/ko not_active IP Right Cessation
- 2011-09-26 CN CN201180045945.XA patent/CN103119562B/zh not_active Expired - Fee Related
- 2011-09-26 DE DE112011103219T patent/DE112011103219T5/de not_active Withdrawn
- 2011-09-26 WO PCT/US2011/053266 patent/WO2012040708A2/en active Application Filing
- 2011-09-26 JP JP2013530397A patent/JP5635701B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10105400A (ja) * | 1996-08-30 | 1998-04-24 | Internatl Business Mach Corp <Ibm> | 浮動小数点実行ユニットにおける状態フラグ及び条件コードの保持装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101508566B1 (ko) | 2015-04-07 |
WO2012040708A3 (en) | 2012-07-05 |
WO2012040708A2 (en) | 2012-03-29 |
GB2497467A (en) | 2013-06-12 |
JP5635701B2 (ja) | 2014-12-03 |
US9052890B2 (en) | 2015-06-09 |
DE112011103219T5 (de) | 2013-07-11 |
CN103119562A (zh) | 2013-05-22 |
KR20130064109A (ko) | 2013-06-17 |
GB2497467B (en) | 2018-10-10 |
US20120079488A1 (en) | 2012-03-29 |
TW201224919A (en) | 2012-06-16 |
GB201304555D0 (en) | 2013-04-24 |
CN103119562B (zh) | 2017-01-18 |
TWI552070B (zh) | 2016-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5635701B2 (ja) | コミット時における状態アップデート実行インストラクション、装置、方法、およびシステム | |
US8245018B2 (en) | Processor register recovery after flush operation | |
US9430235B2 (en) | Predicting and avoiding operand-store-compare hazards in out-of-order microprocessors | |
EP3001308B1 (en) | Loop predictor-directed loop buffer | |
US8074060B2 (en) | Out-of-order execution microprocessor that selectively initiates instruction retirement early | |
US7937561B2 (en) | Merge microinstruction for minimizing source dependencies in out-of-order execution microprocessor with variable data size macroarchitecture | |
US7624253B2 (en) | Determining register availability for register renaming | |
WO2017032022A1 (en) | Device and processing architecture for instruction memory efficiency | |
US8856496B2 (en) | Microprocessor that fuses load-alu-store and JCC macroinstructions | |
US10802829B2 (en) | Scalable dependency matrix with wake-up columns for long latency instructions in an out-of-order processor | |
US20120023314A1 (en) | Paired execution scheduling of dependent micro-operations | |
US20120089819A1 (en) | Issuing instructions with unresolved data dependencies | |
US7711934B2 (en) | Processor core and method for managing branch misprediction in an out-of-order processor pipeline | |
US6332191B1 (en) | System for canceling speculatively fetched instructions following a branch mis-prediction in a microprocessor | |
US8468325B2 (en) | Predicting and avoiding operand-store-compare hazards in out-of-order microprocessors | |
US20150006496A1 (en) | Method and apparatus for continued retirement during commit of a speculative region of code | |
US10977040B2 (en) | Heuristic invalidation of non-useful entries in an array | |
US20160170770A1 (en) | Providing early instruction execution in an out-of-order (ooo) processor, and related apparatuses, methods, and computer-readable media | |
US20100306513A1 (en) | Processor Core and Method for Managing Program Counter Redirection in an Out-of-Order Processor Pipeline | |
US10387162B2 (en) | Effective address table with multiple taken branch handling for out-of-order processors | |
US7457932B2 (en) | Load mechanism | |
JP5093237B2 (ja) | 命令処理装置 | |
JP2001142706A (ja) | 命令上での依存性チェックの実行方法と命令実行用のコンピュータシステム | |
US20070283129A1 (en) | Vector length tracking mechanism | |
US11314505B2 (en) | Arithmetic processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130322 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140401 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140626 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140703 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140729 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140805 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140829 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140916 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141016 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |