JP2008530713A - 分岐予測ミスを訂正するシステムおよび方法 - Google Patents
分岐予測ミスを訂正するシステムおよび方法 Download PDFInfo
- Publication number
- JP2008530713A JP2008530713A JP2007556350A JP2007556350A JP2008530713A JP 2008530713 A JP2008530713 A JP 2008530713A JP 2007556350 A JP2007556350 A JP 2007556350A JP 2007556350 A JP2007556350 A JP 2007556350A JP 2008530713 A JP2008530713 A JP 2008530713A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- pipeline
- branch
- instructions
- branch instruction
- 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 description 25
- 230000004044 response Effects 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000002618 waking effect Effects 0.000 description 2
- 208000033986 Device capturing issue Diseases 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 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/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
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
-
- 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
-
- 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
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- 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)
Abstract
Description
Claims (17)
- パイプラインプロセッサーにおいて分岐予測ミスを処理する方法において、
分岐命令が予測ミスされたことを検出することと、
前記予測ミスを検出することに応答して、前記パイプラインからの分岐命令より古い少なくとも1つの命令を消去することと、
を備えた方法。 - 前記分岐命令より古い少なくとも1つの命令はコミットされていない、請求項1の方法。
- 前記少なくとも1つのコミットされていない命令はパイプラインにおいて行き詰る、請求項2の方法。
- 前記分岐予測を訂正することと、
前記分岐命令を前記パイプラインから消去することと、
をさらに備えた、請求項1の方法。 - プログラムの順番に前記分岐命令および前記分岐命令より古いすべての消去された命令をフェッチすることをさらに備えた、請求項4の方法。
- 前記分岐命令より古い少なくとも1つの命令を前記パイプラインから消去することは、すべてのコミットされていない命令を前記パイプラインから消去することを備えた、請求項1の方法。
- 少なくとも1つの命令実行パイプラインと、
条件付分岐命令のパイプライン内の評価を予測する分岐予測器と、
前記パイプライン内の命令の順番を追跡する命令順番マネージャーと、
分岐命令が予測ミスしたことを検出することに応答して、前記分岐命令より古い少なくとも1つの命令を前記パイプラインから消去するパイプラインコントローラーと、
を備えたプロセッサー。 - 前記分岐予測器は、前記分岐命令が予測ミスされたことを検出することに応答して分岐予測を無効にする、請求項7のプロセッサー。
- 分岐命令より古い少なくとも1つの命令を前記パイプラインから消去することは、すべてのコミットされていない命令をパイプラインから消去することを備えた、請求項7のプロセッサー。
- 前記分岐命令が予測ミスされたことを検出することに応答して、前記分岐命令を前記パイプラインから消去することをさらに備えた、請求項7のプロセッサー。
- プログラムの順番に前記分岐命令および前記分岐命令より古いすべての消去された命令をフェッチすることをさらに備えた、請求項7のプロセッサー。
- パイプラインプロセッサーにおいて、分岐予測ミスを訂正する方法において、
分岐命令が予測ミスされたことを検出することと、
長い待ち時間動作への前記分岐命令より古い第1の命令の依存状態を検出することと、
すべてのコミットされていない命令を前記パイプラインから消去することと、
を備えた方法。 - 前記分岐予測ミスを訂正することをさらに備えた、請求項12の方法。
- プログラムの順番で、前記分岐命令と前記分岐命令より古いすべての消去された命令をフェッチすることをさらに備えた、請求項13の方法。
- パイプラインプロセッサーにおいて分岐予測ミスを訂正する方法において、
分岐命令が予測ミスされたことを検出することと、
前記分岐命令が前記パイプライン内の最後のコミットされていない命令かどうか決定することと、
前記分岐命令が前記パイプライン内の最後のコミットされていない命令なら、前記分岐命令をコミットし、すべてのコミットされていない命令を前記パイプラインから消去することと、
前記分岐命令が前記パイプライン内の最後のコミットされていない命令でないなら、前記分岐命令より古い命令が長い待ち時間動作により前記パイプラインにおいて行き詰っているかどうか決定することと、
前記分岐命令より古い命令が長い待ち時間動作によりパイプラインにおいて行き詰っているなら、前記分岐命令および全ての他のコミットされていない命令を前記パイプラインから消去することと、
を備えた方法。 - 前記分岐予測ミスを訂正することをさらに備えた、請求項15の方法。
- プログラムの順番に、前記分岐命令と前記分岐命令より古いすべての消去された命令をフェッチすることをさらに備えた、請求項15の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/061,981 US7152155B2 (en) | 2005-02-18 | 2005-02-18 | System and method of correcting a branch misprediction |
US11/061,981 | 2005-02-18 | ||
PCT/US2006/005776 WO2006089189A2 (en) | 2005-02-18 | 2006-02-17 | System and method of correcting a branch misprediction |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008530713A true JP2008530713A (ja) | 2008-08-07 |
JP2008530713A5 JP2008530713A5 (ja) | 2011-02-17 |
JP4763727B2 JP4763727B2 (ja) | 2011-08-31 |
Family
ID=36685580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007556350A Expired - Fee Related JP4763727B2 (ja) | 2005-02-18 | 2006-02-17 | 分岐予測ミスを訂正するシステムおよび方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7152155B2 (ja) |
EP (1) | EP1849063B1 (ja) |
JP (1) | JP4763727B2 (ja) |
KR (1) | KR100938367B1 (ja) |
CN (1) | CN100538629C (ja) |
IL (1) | IL185301A0 (ja) |
MX (1) | MX2007010048A (ja) |
WO (1) | WO2006089189A2 (ja) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7254700B2 (en) * | 2005-02-11 | 2007-08-07 | International Business Machines Corporation | Fencing off instruction buffer until re-circulation of rejected preceding and branch instructions to avoid mispredict flush |
US7949861B2 (en) | 2005-06-10 | 2011-05-24 | Qualcomm Incorporated | Method and apparatus for managing instruction flushing in a microprocessor's instruction pipeline |
CN101449256B (zh) | 2006-04-12 | 2013-12-25 | 索夫特机械公司 | 对载明并行和依赖运算的指令矩阵进行处理的装置和方法 |
EP2527972A3 (en) | 2006-11-14 | 2014-08-06 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
US7624254B2 (en) * | 2007-01-24 | 2009-11-24 | Qualcomm Incorporated | Segmented pipeline flushing for mispredicted branches |
US8601234B2 (en) * | 2007-11-07 | 2013-12-03 | Qualcomm Incorporated | Configurable translation lookaside buffer |
US8261025B2 (en) | 2007-11-12 | 2012-09-04 | International Business Machines Corporation | Software pipelining on a network on chip |
US8874885B2 (en) * | 2008-02-12 | 2014-10-28 | International Business Machines Corporation | Mitigating lookahead branch prediction latency by purposely stalling a branch instruction until a delayed branch prediction is received or a timeout occurs |
US8443227B2 (en) * | 2008-02-15 | 2013-05-14 | International Business Machines Corporation | Processor and method for workaround trigger activated exceptions |
US7890739B2 (en) * | 2008-02-19 | 2011-02-15 | Oracle America, Inc. | Method and apparatus for recovering from branch misprediction |
US20090260013A1 (en) * | 2008-04-14 | 2009-10-15 | International Business Machines Corporation | Computer Processors With Plural, Pipelined Hardware Threads Of Execution |
US8423715B2 (en) | 2008-05-01 | 2013-04-16 | International Business Machines Corporation | Memory management among levels of cache in a memory hierarchy |
US8271765B2 (en) * | 2009-04-08 | 2012-09-18 | International Business Machines Corporation | Managing instructions for more efficient load/store unit usage |
EP2616928B1 (en) | 2010-09-17 | 2016-11-02 | Soft Machines, Inc. | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
WO2012051281A2 (en) | 2010-10-12 | 2012-04-19 | Soft Machines, Inc. | An instruction sequence buffer to store branches having reliably predictable instruction sequences |
TWI541721B (zh) | 2010-10-12 | 2016-07-11 | 軟體機器公司 | 使用指令序列緩衝器來增強分支預測效能的方法、系統及微處理器 |
EP2689327B1 (en) | 2011-03-25 | 2021-07-28 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
KR101966712B1 (ko) | 2011-03-25 | 2019-04-09 | 인텔 코포레이션 | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트 |
TWI518504B (zh) | 2011-03-25 | 2016-01-21 | 軟體機器公司 | 使用可分割引擎實體化的虛擬核心以支援程式碼區塊執行的暫存器檔案節段 |
US8886920B2 (en) | 2011-05-13 | 2014-11-11 | Oracle International Corporation | Associating tag to branch instruction to access array storing predicted target addresses for page crossing targets for comparison with resolved address at execution stage |
US8862861B2 (en) | 2011-05-13 | 2014-10-14 | Oracle International Corporation | Suppressing branch prediction information update by branch instructions in incorrect speculative execution path |
WO2012162188A2 (en) | 2011-05-20 | 2012-11-29 | Soft Machines, Inc. | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
KR101639854B1 (ko) | 2011-05-20 | 2016-07-14 | 소프트 머신즈, 인크. | 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조 |
CN108427574B (zh) | 2011-11-22 | 2022-06-07 | 英特尔公司 | 微处理器加速的代码优化器 |
US10191746B2 (en) | 2011-11-22 | 2019-01-29 | Intel Corporation | Accelerated code optimizer for a multiengine microprocessor |
US8930674B2 (en) | 2012-03-07 | 2015-01-06 | Soft Machines, Inc. | Systems and methods for accessing a unified translation lookaside buffer |
US9710399B2 (en) | 2012-07-30 | 2017-07-18 | Intel Corporation | Systems and methods for flushing a cache with modified data |
US9740612B2 (en) | 2012-07-30 | 2017-08-22 | Intel Corporation | Systems and methods for maintaining the coherency of a store coalescing cache and a load cache |
US9916253B2 (en) | 2012-07-30 | 2018-03-13 | Intel Corporation | Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput |
US9229873B2 (en) | 2012-07-30 | 2016-01-05 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load and store accesses of a cache |
US9678882B2 (en) | 2012-10-11 | 2017-06-13 | Intel Corporation | Systems and methods for non-blocking implementation of cache flush instructions |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
KR102083390B1 (ko) | 2013-03-15 | 2020-03-02 | 인텔 코포레이션 | 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법 |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
EP2972845B1 (en) | 2013-03-15 | 2021-07-07 | Intel Corporation | A method for executing multithreaded instructions grouped onto blocks |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9792252B2 (en) | 2013-05-31 | 2017-10-17 | Microsoft Technology Licensing, Llc | Incorporating a spatial array into one or more programmable processor cores |
US9672298B2 (en) * | 2014-05-01 | 2017-06-06 | Oracle International Corporation | Precise excecution of versioned store instructions |
US10175988B2 (en) | 2015-06-26 | 2019-01-08 | Microsoft Technology Licensing, Llc | Explicit instruction scheduler state information for a processor |
US9952867B2 (en) | 2015-06-26 | 2018-04-24 | Microsoft Technology Licensing, Llc | Mapping instruction blocks based on block size |
US10191747B2 (en) | 2015-06-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Locking operand values for groups of instructions executed atomically |
US9946548B2 (en) | 2015-06-26 | 2018-04-17 | Microsoft Technology Licensing, Llc | Age-based management of instruction blocks in a processor instruction window |
US10409606B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Verifying branch targets |
US9720693B2 (en) | 2015-06-26 | 2017-08-01 | Microsoft Technology Licensing, Llc | Bulk allocation of instruction blocks to a processor instruction window |
US10409599B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Decoding information about a group of instructions including a size of the group of instructions |
US10169044B2 (en) | 2015-06-26 | 2019-01-01 | Microsoft Technology Licensing, Llc | Processing an encoding format field to interpret header information regarding a group of instructions |
US10346168B2 (en) | 2015-06-26 | 2019-07-09 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
CN112559048B (zh) * | 2019-09-25 | 2023-12-12 | 阿里巴巴集团控股有限公司 | 一种指令处理装置、处理器及其处理方法 |
US11360773B2 (en) | 2020-06-22 | 2022-06-14 | Microsoft Technology Licensing, Llc | Reusing fetched, flushed instructions after an instruction pipeline flush in response to a hazard in a processor to reduce instruction re-fetching |
US11074077B1 (en) | 2020-06-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Reusing executed, flushed instructions after an instruction pipeline flush in response to a hazard in a processor to reduce instruction re-execution |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07152566A (ja) * | 1993-10-18 | 1995-06-16 | Cyrix Corp | スーパーパイプライン式スーパースカラーマイクロプロセッサ用の書き込みバッファ |
US6205542B1 (en) * | 1997-12-24 | 2001-03-20 | Intel Corporation | Processor pipeline including replay |
US20040187119A1 (en) * | 1998-09-30 | 2004-09-23 | Intel Corporation | Non-stalling circular counterflow pipeline processor with reorder buffer |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5487156A (en) * | 1989-12-15 | 1996-01-23 | Popescu; Valeri | Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched |
US5226130A (en) * | 1990-02-26 | 1993-07-06 | Nexgen Microsystems | Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency |
US5584009A (en) | 1993-10-18 | 1996-12-10 | Cyrix Corporation | System and method of retiring store data from a write buffer |
SG52391A1 (en) * | 1994-01-03 | 1998-09-28 | Intel Corp | Method and apparatus for implementing a four stage branch resolution system in a computer processor |
US5978909A (en) * | 1997-11-26 | 1999-11-02 | Intel Corporation | System for speculative branch target prediction having a dynamic prediction history buffer and a static prediction history buffer |
US6799263B1 (en) * | 1999-10-28 | 2004-09-28 | Hewlett-Packard Development Company, L.P. | Prefetch instruction for an unpredicted path including a flush field for indicating whether earlier prefetches are to be discarded and whether in-progress prefetches are to be aborted |
-
2005
- 2005-02-18 US US11/061,981 patent/US7152155B2/en active Active
-
2006
- 2006-02-17 KR KR1020077021439A patent/KR100938367B1/ko not_active IP Right Cessation
- 2006-02-17 MX MX2007010048A patent/MX2007010048A/es active IP Right Grant
- 2006-02-17 WO PCT/US2006/005776 patent/WO2006089189A2/en active Application Filing
- 2006-02-17 EP EP06735438.1A patent/EP1849063B1/en not_active Not-in-force
- 2006-02-17 JP JP2007556350A patent/JP4763727B2/ja not_active Expired - Fee Related
- 2006-02-17 CN CNB2006800115780A patent/CN100538629C/zh not_active Expired - Fee Related
-
2007
- 2007-08-15 IL IL185301A patent/IL185301A0/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07152566A (ja) * | 1993-10-18 | 1995-06-16 | Cyrix Corp | スーパーパイプライン式スーパースカラーマイクロプロセッサ用の書き込みバッファ |
US6205542B1 (en) * | 1997-12-24 | 2001-03-20 | Intel Corporation | Processor pipeline including replay |
US20040187119A1 (en) * | 1998-09-30 | 2004-09-23 | Intel Corporation | Non-stalling circular counterflow pipeline processor with reorder buffer |
Also Published As
Publication number | Publication date |
---|---|
KR100938367B1 (ko) | 2010-01-22 |
US20060190707A1 (en) | 2006-08-24 |
WO2006089189A3 (en) | 2006-10-12 |
EP1849063A2 (en) | 2007-10-31 |
EP1849063B1 (en) | 2018-08-01 |
MX2007010048A (es) | 2007-11-06 |
WO2006089189A2 (en) | 2006-08-24 |
CN101156136A (zh) | 2008-04-02 |
KR20070105366A (ko) | 2007-10-30 |
IL185301A0 (en) | 2008-02-09 |
US7152155B2 (en) | 2006-12-19 |
CN100538629C (zh) | 2009-09-09 |
JP4763727B2 (ja) | 2011-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4763727B2 (ja) | 分岐予測ミスを訂正するシステムおよび方法 | |
JP2008530713A5 (ja) | ||
JP6370829B2 (ja) | 誤予測された分岐のためにフラッシュするセグメント化パイプライン | |
JP5313279B2 (ja) | 非アラインドメモリアクセス予測 | |
TWI470546B (zh) | 微處理器、管線式微處理器、快速執行條件分支指令之方法、以及解析第一或第二類別條件分支指令之方法 | |
KR101099203B1 (ko) | 명시적 서브루틴 호출의 브랜치 예측 동작을 에뮬레이트하기 위한 방법 및 장치 | |
US7444501B2 (en) | Methods and apparatus for recognizing a subroutine call | |
US20110320787A1 (en) | Indirect Branch Hint | |
US9021240B2 (en) | System and method for Controlling restarting of instruction fetching using speculative address computations | |
JP2008530714A5 (ja) | ||
JP2009540412A (ja) | ローカル及びグローバル分岐予測情報の格納 | |
JPH0334024A (ja) | 分岐予測の方法とそのための装置 | |
KR20090009955A (ko) | 블록-기반 브랜치 타겟 어드레스 캐시 | |
Morancho et al. | Recovery mechanism for latency misprediction | |
CN110402434B (zh) | 缓存未命中线程平衡 | |
US6871275B1 (en) | Microprocessor having a branch predictor using speculative branch registers | |
US6948055B1 (en) | Accuracy of multiple branch prediction schemes | |
Shah et al. | SPSIM: SuperScalar Processor SIMulater CS305 Project Report | |
Prémillieu | Microarchitecture exploration of control flow reconvergence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100824 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101124 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101201 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20101222 |
|
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: 20110510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110609 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140617 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4763727 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |