JP2010505210A - 同時に予測された分岐命令を解決するための方法および装置 - Google Patents
同時に予測された分岐命令を解決するための方法および装置 Download PDFInfo
- Publication number
- JP2010505210A JP2010505210A JP2009530609A JP2009530609A JP2010505210A JP 2010505210 A JP2010505210 A JP 2010505210A JP 2009530609 A JP2009530609 A JP 2009530609A JP 2009530609 A JP2009530609 A JP 2009530609A JP 2010505210 A JP2010505210 A JP 2010505210A
- Authority
- JP
- Japan
- Prior art keywords
- predicted
- branch
- instruction
- state
- instructions
- 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 58
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000012790 confirmation Methods 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 description 21
- 238000013461 design Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000010129 solution processing Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch 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/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/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
いくつかのユニットがいくつかの命令の適切な部分を同時に処理することができるように設計されている。パイプライン方式の利点の1つは、命令が並列に評価されるため、命令の実行が重なっていることである。パイプライン方式は、命令レベル並列性(instruction level parallelism)(ILP)とも呼ばれている。
下位のパイプライン210または220に達し、実行を持続させるために更なる情報またはデータを要求する場合、プロセッサ100は、分岐命令を実行する前に、他の命令または命令のグループを実行することができる。この場合において、分岐命令は、実行を用意にするために必要な情報が利用可能となる前に、リザベーションステーション(reservation station)(図示しない)に保有されることがある。例えば、分岐命令は、分岐命令が特定のレジスタに記憶されたターゲットアドレスに分岐され、ターゲットアドレスがまだ利用可能でない場合、リザベーション局に保有される。ターゲットアドレスの値は、他の次の実行された命令として決定されることがある。分岐命令は、次の命令が実行されるまで保有され、特定のレジスタを更新し、ターゲットアドレスが利用可能となる。ターゲットアドレスが利用可能となった後、分岐命令は、更なる実行のために開放される。このような方法で実行された命令は、従来のプログラムシーケンスではなく、利用可能なリソースに基づいて並列に実行される。下位のパイプライン210および220において命令が実行された後、結果は、プロセッサ100が正しくに更新されるように、適切なシーケンスに集められ、再び配列される。
Claims (28)
- 予測された分岐命令の確認の前に同時に予測された分岐命令を解決する方法であって、
2つ以上の予測された分岐命令を処理することと、各予測された分岐命令は予測された状態および訂正された状態を有し、前記予測された分岐命令は、解決ステージに同時に入り、
前記予測された分岐命令の1つから前記訂正された状態の1つを選択することと、
予測ミスされた前記予測された分岐命令の少なくとも1つを決定することと、
前記選択された訂正された状態に基づく先の命令フェッチを導くことと、
を含む方法。 - 前記予測された状態は、さらに分岐方向を含む請求項1に記載の方法。
- 前記予測された状態は、さらにプロセッサのモードを含む請求項1に記載の方法。
- 前記予測された状態は、さらにターゲットアドレスを含む請求項1に記載の方法。
- 前記選択された訂正された状態は、最も古い前記予測された分岐命令の1つに関連する請求項1に記載の方法。
- 前記選択された訂正された状態は、ランダムに選ばれる請求項1に記載の方法。
- 前記選択された訂正された状態は、最後に予測されたパイプラインに基づく請求項1に記載の方法。
- 前記選択された訂正された状態は、最後に予測ミスされたパイプラインに基づく請求項1に記載の方法。
- 前記選択された訂正された状態は、前記予測された分岐命令のタイプを基礎とする請求項1に記載の方法。
- 複数のパイプラインにおいて、予測された分岐命令の確認の前に、同時に予測された命令を解決する方法であって、
2つ以上の予測された分岐命令を処理することと、各予測された分岐命令は予測された状態および訂正された状態を有し、前記予測された分岐命令は、別々のパイプラインの解決ステージに同時に入り、
前記予測された分岐命令の1つから前記訂正された状態の1つを選択することと、
予測ミスされた前記予測された分岐命令の少なくとも1つを決定することと、
前記選択された訂正された状態に基づいて先の命令フェッチを導くことと、
を含む方法。 - 前記予測された状態は、さらに分岐方向を含む請求項10に記載の方法。
- 前記予測された状態は、さらにプロセッサのモードを含む請求項10に記載の方法。
- 前記予測された状態は、さらにターゲットアドレスを含む請求項10に記載の方法。
- 前記選択された訂正された状態は、最も古い前記予測された分岐命令の1つに関連する請求項10に記載の方法。
- 前記選択された訂正された状態は、ランダムに選ばれる請求項10に記載の方法。
- 前記選択された訂正された状態は、最後に予測されたパイプラインに基づく請求項10に記載の方法。
- 前記選択された訂正された状態は、最後に予測ミスされたパイプラインに基づく請求項10に記載の方法。
- 前記選択された訂正された状態は、前記予測された分岐命令のタイプに基づく請求項10に記載の方法。
- 予測された分岐命令の確認の前に同時に予測された分岐命令を解決するシステムは、
複数の分岐命令を予測するように構成された予測ロジックと、各予測された分岐命令は、予測された状態および訂正された状態を有しており、
2つ以上の予測された分岐命令が解決ステージに同時に達したときに決定するように構成された解決ロジックと、前記解決ロジックは、前記分岐命令の少なくとも1つが予測ミスされたとき、前記予測された分岐命令の1つから前記訂正された状態の1つを選ぶ、
前記選択された訂正された状態に基づいて命令をフェッチするように構成されたフェッチロジックと、
を備えるシステム。 - 前記予測された状態は、さらに分岐方向を備える請求項19に記載のシステム。
- 前記システムは、プロセッサである請求項19に記載の方法。
- 前記予測された状態は、さらに前記プロセッサのモードを備える請求項20に記載のシステム。
- 前記予測された状態は、さらにターゲットアドレスを備える請求項19に記載のシステム。
- 前記選択された訂正された状態は、最も古い前記予測された分岐命令の1つに関連する請求項19のシステム。
- 前記選択された訂正された状態は、ランダムに選ばれる請求項19に記載の方法。
- 前記選択された訂正された状態は、最後に予測されたパイプラインに基づく請求項19に記載の方法。
- 前記選択された訂正された状態は、最後に予測ミスされたパイプラインに基づく請求項19に記載の方法。
- 前記選択された訂正された状態は、前記予測された分岐命令のタイプを基礎とする請求項19に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/535,536 | 2006-09-27 | ||
US11/535,536 US7617387B2 (en) | 2006-09-27 | 2006-09-27 | Methods and system for resolving simultaneous predicted branch instructions |
PCT/US2007/079781 WO2008039947A1 (en) | 2006-09-27 | 2007-09-27 | Methods and system for resolving simultaneous predicted branch instructions |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013003355A Division JP2013122774A (ja) | 2006-09-27 | 2013-01-11 | 同時に予測された分岐命令を解決するための方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010505210A true JP2010505210A (ja) | 2010-02-18 |
JP5221546B2 JP5221546B2 (ja) | 2013-06-26 |
Family
ID=38924371
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009530609A Expired - Fee Related JP5221546B2 (ja) | 2006-09-27 | 2007-09-27 | 同時に予測された分岐命令を解決するための方法および装置 |
JP2013003355A Pending JP2013122774A (ja) | 2006-09-27 | 2013-01-11 | 同時に予測された分岐命令を解決するための方法および装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013003355A Pending JP2013122774A (ja) | 2006-09-27 | 2013-01-11 | 同時に予測された分岐命令を解決するための方法および装置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US7617387B2 (ja) |
EP (1) | EP2069915B1 (ja) |
JP (2) | JP5221546B2 (ja) |
KR (1) | KR101073732B1 (ja) |
CN (1) | CN101523344B (ja) |
AT (1) | ATE511674T1 (ja) |
WO (1) | WO2008039947A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617387B2 (en) * | 2006-09-27 | 2009-11-10 | Qualcomm Incorporated | Methods and system for resolving simultaneous predicted branch instructions |
CN102184091A (zh) * | 2011-04-18 | 2011-09-14 | 孙瑞琛 | 一种分支预测方法及装置 |
US20140156977A1 (en) * | 2011-12-28 | 2014-06-05 | Mark J. Dechene | Enabling and disabling a second jump execution unit for branch misprediction |
US20140195790A1 (en) * | 2011-12-28 | 2014-07-10 | Matthew C. Merten | Processor with second jump execution unit for branch misprediction |
US9268569B2 (en) * | 2012-02-24 | 2016-02-23 | Apple Inc. | Branch misprediction behavior suppression on zero predicate branch mispredict |
US9411590B2 (en) | 2013-03-15 | 2016-08-09 | Qualcomm Incorporated | Method to improve speed of executing return branch instructions in a processor |
US10108419B2 (en) * | 2014-09-26 | 2018-10-23 | Qualcomm Incorporated | Dependency-prediction of instructions |
US10853076B2 (en) * | 2018-02-21 | 2020-12-01 | Arm Limited | Performing at least two branch predictions for non-contiguous instruction blocks at the same time using a prediction mapping |
US10782976B2 (en) * | 2018-05-07 | 2020-09-22 | Dejan Spasov | Issuing and flushing instructions from reservation stations using wrap bits and indexes |
US20190369999A1 (en) * | 2018-06-04 | 2019-12-05 | Advanced Micro Devices, Inc. | Storing incidental branch predictions to reduce latency of misprediction recovery |
US11086629B2 (en) * | 2018-11-09 | 2021-08-10 | Arm Limited | Misprediction of predicted taken branches in a data processing apparatus |
US20210149676A1 (en) * | 2019-11-14 | 2021-05-20 | Higon Austin R&D Center Corporation | Branch Prediction Method, Branch Prediction Unit and Processor Core |
CN111459549B (zh) * | 2020-04-07 | 2022-11-01 | 上海兆芯集成电路有限公司 | 具有高度领先分支预测器的微处理器 |
CN112256331B (zh) * | 2020-12-22 | 2021-04-27 | 鹏城实验室 | 虚拟机指令解析加速方法、装置和计算机存储介质 |
US11663013B2 (en) | 2021-08-24 | 2023-05-30 | International Business Machines Corporation | Dependency skipping execution |
US11809874B2 (en) * | 2022-02-01 | 2023-11-07 | Apple Inc. | Conditional instructions distribution and execution on pipelines having different latencies for mispredictions |
US11915001B1 (en) | 2022-12-26 | 2024-02-27 | Rebellions Inc. | Neural processor and method for fetching instructions thereof |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05143336A (ja) * | 1991-04-18 | 1993-06-11 | Internatl Business Mach Corp <Ibm> | デジタル・コンピユータ及び分岐命令実行方法 |
JPH0756735A (ja) * | 1993-08-16 | 1995-03-03 | Nkk Corp | 並列演算処理装置 |
JPH096612A (ja) * | 1995-06-07 | 1997-01-10 | Internatl Business Mach Corp <Ibm> | カウント・レジスタおよびリンク・レジスタへの書込みを行う多重分岐命令を処理するための方法と装置 |
JPH10133874A (ja) * | 1996-11-01 | 1998-05-22 | Mitsubishi Electric Corp | スーパスカラプロセッサ用分岐予測機構 |
JPH10171652A (ja) * | 1996-10-07 | 1998-06-26 | Internatl Business Mach Corp <Ibm> | ブランチ・ヒストリ・テーブルを更新するための方法および装置 |
JPH10333908A (ja) * | 1997-05-30 | 1998-12-18 | Mitsubishi Electric Corp | 分岐予測方法 |
JP2004326752A (ja) * | 2003-04-21 | 2004-11-18 | Internatl Business Mach Corp <Ibm> | 同時マルチスレッド化プロセッサ |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5434985A (en) * | 1992-08-11 | 1995-07-18 | International Business Machines Corporation | Simultaneous prediction of multiple branches for superscalar processing |
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 |
US5586278A (en) * | 1994-03-01 | 1996-12-17 | Intel Corporation | Method and apparatus for state recovery following branch misprediction in an out-of-order microprocessor |
WO1996025705A1 (en) * | 1995-02-14 | 1996-08-22 | Fujitsu Limited | Structure and method for high-performance speculative execution processor providing special features |
US5740417A (en) * | 1995-12-05 | 1998-04-14 | Motorola, Inc. | Pipelined processor operating in different power mode based on branch prediction state of branch history bit encoded as taken weakly not taken and strongly not taken states |
US5752014A (en) * | 1996-04-29 | 1998-05-12 | International Business Machines Corporation | Automatic selection of branch prediction methodology for subsequent branch instruction based on outcome of previous branch prediction |
JP3717524B2 (ja) * | 1996-07-16 | 2005-11-16 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ストアおよびロードミス命令を完了するための複数のポインタを備えるロード/ストアユニット |
US6119075A (en) * | 1997-11-26 | 2000-09-12 | Digital Equipment Corporation | Method for estimating statistics of properties of interactions processed by a processor pipeline |
US6157998A (en) * | 1998-04-03 | 2000-12-05 | Motorola Inc. | Method for performing branch prediction and resolution of two or more branch instructions within two or more branch prediction buffers |
US6260138B1 (en) * | 1998-07-17 | 2001-07-10 | Sun Microsystems, Inc. | Method and apparatus for branch instruction processing in a processor |
JP2000132391A (ja) * | 1998-10-23 | 2000-05-12 | Nec Corp | 分岐予測機構 |
US6460132B1 (en) * | 1999-08-31 | 2002-10-01 | Advanced Micro Devices, Inc. | Massively parallel instruction predecoding |
US6578134B1 (en) * | 1999-11-29 | 2003-06-10 | Ati International Srl | Multi-branch resolution |
US6757816B1 (en) * | 1999-12-30 | 2004-06-29 | Intel Corporation | Fast branch misprediction recovery method and system |
SE0003446L (sv) * | 2000-09-27 | 2002-03-28 | Ericsson Telefon Ab L M | En pipelinemikroprocessor och ett förfarnade relaterande därtill |
WO2002082717A1 (en) * | 2001-04-05 | 2002-10-17 | Kent Ridge Digital Labs | Method and apparatus for constructing efficient elliptic curve cryptosystems |
US7107438B2 (en) | 2003-02-04 | 2006-09-12 | Via Technologies, Inc. | Pipelined microprocessor, apparatus, and method for performing early correction of conditional branch instruction mispredictions |
JP4009248B2 (ja) * | 2003-12-05 | 2007-11-14 | 富士通株式会社 | 分岐予測装置および分岐予測方法 |
US7949861B2 (en) * | 2005-06-10 | 2011-05-24 | Qualcomm Incorporated | Method and apparatus for managing instruction flushing in a microprocessor's instruction pipeline |
US7617387B2 (en) | 2006-09-27 | 2009-11-10 | Qualcomm Incorporated | Methods and system for resolving simultaneous predicted branch instructions |
-
2006
- 2006-09-27 US US11/535,536 patent/US7617387B2/en not_active Expired - Fee Related
-
2007
- 2007-09-27 KR KR1020097008607A patent/KR101073732B1/ko not_active IP Right Cessation
- 2007-09-27 EP EP07843403A patent/EP2069915B1/en not_active Not-in-force
- 2007-09-27 AT AT07843403T patent/ATE511674T1/de not_active IP Right Cessation
- 2007-09-27 WO PCT/US2007/079781 patent/WO2008039947A1/en active Application Filing
- 2007-09-27 JP JP2009530609A patent/JP5221546B2/ja not_active Expired - Fee Related
- 2007-09-27 CN CN200780034761.7A patent/CN101523344B/zh not_active Expired - Fee Related
-
2009
- 2009-09-29 US US12/569,365 patent/US8082428B2/en not_active Expired - Fee Related
-
2013
- 2013-01-11 JP JP2013003355A patent/JP2013122774A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05143336A (ja) * | 1991-04-18 | 1993-06-11 | Internatl Business Mach Corp <Ibm> | デジタル・コンピユータ及び分岐命令実行方法 |
JPH0756735A (ja) * | 1993-08-16 | 1995-03-03 | Nkk Corp | 並列演算処理装置 |
JPH096612A (ja) * | 1995-06-07 | 1997-01-10 | Internatl Business Mach Corp <Ibm> | カウント・レジスタおよびリンク・レジスタへの書込みを行う多重分岐命令を処理するための方法と装置 |
JPH10171652A (ja) * | 1996-10-07 | 1998-06-26 | Internatl Business Mach Corp <Ibm> | ブランチ・ヒストリ・テーブルを更新するための方法および装置 |
JPH10133874A (ja) * | 1996-11-01 | 1998-05-22 | Mitsubishi Electric Corp | スーパスカラプロセッサ用分岐予測機構 |
JPH10333908A (ja) * | 1997-05-30 | 1998-12-18 | Mitsubishi Electric Corp | 分岐予測方法 |
JP2004326752A (ja) * | 2003-04-21 | 2004-11-18 | Internatl Business Mach Corp <Ibm> | 同時マルチスレッド化プロセッサ |
Non-Patent Citations (3)
Title |
---|
CSNG199900533005; 中西知嘉子,安藤秀樹,町田浩久,中屋雅夫: '"スーパスカラ・プロセッサ-SARCH-のコード・スケジューラ"' 電子情報通信学会技術研究報告 Vol.92,No.289, 19921022, p.33-40, 社団法人電子情報通信学会 * |
JPN6012010087; 中西知嘉子,安藤秀樹,町田浩久,中屋雅夫: '"スーパスカラ・プロセッサ-SARCH-のコード・スケジューラ"' 電子情報通信学会技術研究報告 Vol.92,No.289, 19921022, p.33-40, 社団法人電子情報通信学会 * |
JPN6012010090; J. H. Pomerene and R. N. Rechtschaffen: '"REDUCTION OFBRANCH DELAY BY OUT-OF-SEQUENCE DECODING UNDER CONTROL OF A DECODE HISTORY TABLE"' IBM Technical Disclosure Bulletin vol.25, no.4, 198209, p.2141, IBM Corp. * |
Also Published As
Publication number | Publication date |
---|---|
US7617387B2 (en) | 2009-11-10 |
EP2069915A1 (en) | 2009-06-17 |
US20080077781A1 (en) | 2008-03-27 |
US20100023696A1 (en) | 2010-01-28 |
CN101523344B (zh) | 2013-01-23 |
KR101073732B1 (ko) | 2011-10-13 |
KR20090061667A (ko) | 2009-06-16 |
EP2069915B1 (en) | 2011-06-01 |
US8082428B2 (en) | 2011-12-20 |
CN101523344A (zh) | 2009-09-02 |
JP2013122774A (ja) | 2013-06-20 |
JP5221546B2 (ja) | 2013-06-26 |
ATE511674T1 (de) | 2011-06-15 |
WO2008039947A1 (en) | 2008-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5221546B2 (ja) | 同時に予測された分岐命令を解決するための方法および装置 | |
US9021240B2 (en) | System and method for Controlling restarting of instruction fetching using speculative address computations | |
KR100234648B1 (ko) | 프로세서내 인스트럭션 실행 방법 및 시스템과 데이타 처리 시스템 | |
US7478228B2 (en) | Apparatus for generating return address predictions for implicit and explicit subroutine calls | |
US7707398B2 (en) | System and method for speculative global history prediction updating | |
US7444501B2 (en) | Methods and apparatus for recognizing a subroutine call | |
JP5209633B2 (ja) | ワーキング・グローバル・ヒストリ・レジスタを備えるシステム及び方法 | |
US11163577B2 (en) | Selectively supporting static branch prediction settings only in association with processor-designated types of instructions | |
US7844806B2 (en) | Global history branch prediction updating responsive to taken branches | |
TWI436274B (zh) | 一種微處理器及其執行方法 | |
US20100287358A1 (en) | Branch Prediction Path Instruction | |
JP4134179B2 (ja) | ソフトウエアによる動的予測方法および装置 | |
TW201617877A (zh) | 管理用於分支預測的歷史資訊 | |
US9639370B1 (en) | Software instructed dynamic branch history pattern adjustment | |
JP2001236224A (ja) | 分岐予測テーブル汚染の低減方法 | |
WO2004068337A1 (ja) | 情報処理装置 | |
US7472264B2 (en) | Predicting a jump target based on a program counter and state information for a process | |
US7849299B2 (en) | Microprocessor system for simultaneously accessing multiple branch history table entries using a single port | |
JP4728877B2 (ja) | マイクロプロセッサおよびパイプライン制御方法 | |
US20060259752A1 (en) | Stateless Branch Prediction Scheme for VLIW Processor | |
KR20230058523A (ko) | 분기 예측 리디렉션을 위한 대체 경로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120605 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130111 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130118 |
|
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: 20130205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130307 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5221546 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 |
|
LAPS | Cancellation because of no payment of annual fees |