JP2016534429A - 分岐予測ユニット及びレベル1命令キャッシュにおける帯域幅の増加 - Google Patents
分岐予測ユニット及びレベル1命令キャッシュにおける帯域幅の増加 Download PDFInfo
- Publication number
- JP2016534429A JP2016534429A JP2016525857A JP2016525857A JP2016534429A JP 2016534429 A JP2016534429 A JP 2016534429A JP 2016525857 A JP2016525857 A JP 2016525857A JP 2016525857 A JP2016525857 A JP 2016525857A JP 2016534429 A JP2016534429 A JP 2016534429A
- Authority
- JP
- Japan
- Prior art keywords
- bip
- btb
- prediction
- processor
- branch
- 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 description 22
- 230000006870 function Effects 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 8
- 230000002902 bimodal effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 239000007787 solid 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/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- 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
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3848—Speculative instruction execution using hybrid branch prediction, e.g. selection between prediction techniques
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
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
本願は、2013年10月25日に出願された米国仮特許出願番号第61/895,624号の利益を主張するものであり、その内容は引用により完全に説明されるように本明細書に組み込まれる。
また、BIP536は、インデックス予測に類似した方法で、上述したようにL1 BTBウェイを予測するのにも用いられる。BIP536(ウェイ予測608)の出力部分は、ヒット結果についてどの「ウェイ」を見るのかを知らせる。予測されたL1 BTBウェイ以外の全てのウェイは、L1 BTBに対する読取りパワーを節約するためにオフにされる。L2 BTB(図5には図示されていない)ウェイも、L2 BTBパワーを節約するためにオフにされる。
図8は、プロセッサ800の一部での命令タグ(IT)パイプライン及び命令キャッシュ(IC)パイプラインのブロック図である。図8は、ITパイプライン及びICパイプラインを実装するプロセッサ800の部分のみを示す。明確にするために、図8には示されていないプロセッサ800の他のコンポーネントが存在する。図8の下部に示した符号IT0,IT1,IT2,IC0,IC1は、ITパイプライン及びICパイプラインの何れのサイクルで異なるコンポーネントが動作するのかを示している。
1.命令タグ(IT)パイプラインと、ITパイプラインと通信する命令キャッシュ(IC)パイプラインと、を含むプロセッサであって、ITパイプライン及びICパイプラインが互いに独立して動作できるように、ICパイプラインがITパイプラインから分離している、プロセッサ。
Claims (24)
- フロントエンドユニットを備えるプロセッサであって、
前記フロントエンドユニットは、
ターゲットアドレスを予測するように構成されたレベル1分岐ターゲットバッファ(BTB)と、
プログラムカウンタとグローバル履歴とに基づいて予測を生成するように構成されたBTBインデックス予測器(BIP)であって、前記予測が、投機的部分ターゲットアドレスと、グローバル履歴値と、グローバル履歴シフト値と、ウェイ予測と、を含む、BTBインデックス予測器(BIP)と、
分岐命令が成立するか否かを予測するように構成されたレベル1ハッシュパーセプトロン(HP)と、を含む、
プロセッサ。 - 前記BIPは、前記予測を生成するために前記プログラムカウンタ及び前記グローバル履歴を組み合わせるようにさらに構成されている、請求項1のプロセッサ。
- 前記BIPは、前記プログラムカウンタ及び前記グローバル履歴を組み合わせるために排他的論理和演算を実行するようにさらに構成されている、請求項2のプロセッサ。
- 前記BIPは、前記プログラムカウンタ及び前記グローバル履歴を組み合わせるためにハッシュ関数を用いるようにさらに構成されている、請求項2のプロセッサ。
- 前記BIPからの前記投機的部分ターゲットアドレスは、前記BTBのインデックスを予測するために前記BTBによって、及び、前記HPのインデックスを予測するために前記HPによって、前記予測の直後のサイクルで用いられる、請求項1のプロセッサ。
- 前記フロントエンドユニットは、
入力プログラムカウンタからの予測されたプログラムカウンタと、前記BIPからの前記投機的部分ターゲットアドレスと、前記BTBからの前記ターゲットアドレスと、を選択するように構成された第1選択回路をさらに含む、請求項1のプロセッサ。 - 前記フロントエンドユニットは、
入力グローバル履歴からの予測されたグローバル履歴と、前記BIPからの前記グローバル履歴値と、ターゲットグローバル履歴と、を選択するように構成された第2選択回路をさらに含む、請求項1のプロセッサ。 - 前記フロントエンドユニットは、
前記BIPからの前記投機的部分ターゲットアドレスと、前記BTBからの前記ターゲットアドレスとを比較するように構成された第1コンパレータをさらに含む、請求項1のプロセッサ。 - 前記フロントエンドユニットは、
前記HPからの分岐成立/分岐不成立の予測に基づいてグローバル履歴シフト値を生成するように構成されたグローバル履歴シフタと、
前記BIPからの前記グローバル履歴シフト値と、前記グローバル履歴シフタからの前記グローバル履歴シフト値とを比較するように構成された第2コンパレータと、をさらに含む、請求項8のプロセッサ。 - 前記フロントエンドユニットは、
前記第1コンパレータの出力と、前記第2コンパレータの出力とに基づいて一致信号を生成するように構成された論理ゲートであって、前記一致信号が、前記BIPが正しい予測を行ったか否かを示す、論理ゲートをさらに含む、請求項9のプロセッサ。 - 前記BTBは、前記BIPによって予測された前記ウェイ以外の全てのウェイをオフにするようにさらに構成されている、請求項1のプロセッサ。
- 前記BTBは、直前のサイクルから前記BIPによって予測された前記ウェイに基づいて、ウェイを読み取るようにさらに構成されている、請求項1のプロセッサ。
- 命令タグ(IT)パイプラインと、
前記ITパイプラインと通信する命令キャッシュ(IC)パイプラインと、を含み、
前記ITパイプライン及び前記ICパイプラインが互いに独立して動作できるように、前記ICパイプラインが前記ITパイプラインから分離している、請求項1のプロセッサ。 - プロセッサにおいて分岐予測を実行するための方法であって、
前記プロセッサは、レベル1分岐ターゲットバッファ(BTB)と、BTBインデックス予測器(BIP)と、を含み、
前記BTB及び前記BIPへのルックアップのために用いられるインデックスを生成することと、
ターゲットアドレスを予測するために前記インデックスを用いて前記BTBにおいてルックアップを実行することと、
投機的部分ターゲットアドレスを予測するために前記インデックスを用いて前記BIPにおいてルックアップを実行することと、
次のフローのための前記インデックスを生成するために、前記BTBからの前記ターゲットアドレスと、前記BIPからの前記投機的部分ターゲットアドレスと、を用いることと、を含む、
方法。 - 前記BTBにおいてルックアップを実行することは、
想定アドレスのセットを生成するために前記インデックスを用いることと、
想定アドレスの前記セットから前記ターゲットアドレスを選択することと、を含む、請求項14の方法。 - 前記プロセッサは、レベル1ハッシュパーセプトロン(HP)をさらに含み、
分岐が成立するか否かを予測するために前記インデックスを用いて前記HPにおいてルックアップを実行することと、
分岐成立予測又は分岐不成立予測に基づいてグローバル履歴を更新することと、をさらに含む、請求項14の方法。 - 前記インデックスを用いて前記BIPにおいてルックアップを実行することによって、予測されたグローバル履歴シフトを生成することと、
前記分岐成立予測又は前記分岐不成立予測を用いて前記HPにおいてグローバル履歴シフトを生成することと、
第1一致信号を生成するために、前記BIPからの前記予測されたグローバル履歴シフトと、前記HPからの前記グローバル履歴シフトとを比較することと、をさらに含む、請求項16の方法。 - 第2一致信号を生成するために、前記BTBからの前記ターゲットアドレスと、前記BIPからの前記投機的部分ターゲットアドレスとを比較することと、をさらに含む、請求項17の方法。
- 前記BIPが正しい予測を行ったか否かを判断するために、前記第1一致信号と前記第2一致信号とを比較すること、をさらに含む、請求項18の方法。
- 前記BTBによって用いられるウェイを予測することであって、前記予測が、前記インデックスを用いて前記BIPにおいてルックアップすることによって実行されること、をさらに含む、請求項14の方法。
- 前記BIPによって予測された前記ウェイ以外の前記BTBの全てのウェイをオフにすること、をさらに含む、請求項20の方法。
- 直前のサイクルから前記BIPによって予測された前記ウェイに基づいて前記BTBにおいてウェイを読み取ること、をさらに含む、請求項20の方法。
- プロセッサにおいて分岐予測を実行するために汎用コンピュータによる実行のための命令のセットを記憶するコンピュータ可読記憶媒体であって、前記プロセッサが、レベル1分岐ターゲットバッファ(BTB)と、BTBインデックス予測器(BIP)と、を含み、
前記命令のセットが、
前記BTB及び前記BIPへのルックアップのために用いられるインデックスを生成するための生成コードセグメントと、
ターゲットアドレスを予測するために前記インデックスを用いて前記BTBにおいてルックアップを実行するための第1実行コードセグメントと、
投機的部分ターゲットアドレスを予測するために前記インデックスを用いて前記BIPにおいてルックアップを実行するための第2実行コードセグメントと、
次のフローのための前記インデックスを生成するために、前記BTBからの前記ターゲットアドレスと、前記BIPからの前記投機的部分ターゲットアドレスと、を用いるための使用コードセグメントと、を備える、
コンピュータ可読記憶媒体。 - 前記命令は、装置の製造に用いられるハードウェア記述言語(HDL)命令である、請求項23のコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361895624P | 2013-10-25 | 2013-10-25 | |
US61/895,624 | 2013-10-25 | ||
PCT/US2014/062107 WO2015061648A1 (en) | 2013-10-25 | 2014-10-24 | Bandwidth increase in branch prediction unit and level 1 instruction cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016534429A true JP2016534429A (ja) | 2016-11-04 |
JP6523274B2 JP6523274B2 (ja) | 2019-05-29 |
Family
ID=52993597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016525857A Active JP6523274B2 (ja) | 2013-10-25 | 2014-10-24 | 分岐予測ユニット及びレベル1命令キャッシュにおける帯域幅の増加 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10127044B2 (ja) |
EP (1) | EP3060983B1 (ja) |
JP (1) | JP6523274B2 (ja) |
KR (1) | KR102077753B1 (ja) |
CN (1) | CN106030516B (ja) |
WO (1) | WO2015061648A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019537163A (ja) * | 2016-12-09 | 2019-12-19 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | オペレーションキャッシュ |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160239309A1 (en) * | 2015-02-12 | 2016-08-18 | International Business Machines Corporation | Branch target buffer column predictor |
KR102635965B1 (ko) * | 2015-06-26 | 2024-02-13 | 삼성전자주식회사 | 마이크로 프로세서의 프론트 엔드 및 이를 이용한 컴퓨터 구현 방법 |
US10402200B2 (en) * | 2015-06-26 | 2019-09-03 | Samsung Electronics Co., Ltd. | High performance zero bubble conditional branch prediction using micro branch target buffer |
US10157137B1 (en) | 2015-09-22 | 2018-12-18 | Apple Inc. | Cache way prediction |
US20170153894A1 (en) * | 2015-11-27 | 2017-06-01 | Arm Limited | Apparatus and method for branch prediction |
US9442726B1 (en) | 2015-12-15 | 2016-09-13 | International Business Machines Corporation | Perceptron branch predictor with virtualized weights |
US10223123B1 (en) | 2016-04-20 | 2019-03-05 | Apple Inc. | Methods for partially saving a branch predictor state |
US10282296B2 (en) | 2016-12-12 | 2019-05-07 | Intel Corporation | Zeroing a cache line |
US10394559B2 (en) | 2016-12-13 | 2019-08-27 | International Business Machines Corporation | Branch predictor search qualification using stream length prediction |
US11281586B2 (en) * | 2017-05-09 | 2022-03-22 | Andes Technology Corporation | Processor and way prediction method thereof |
US10540287B2 (en) * | 2017-05-12 | 2020-01-21 | Samsung Electronics Co., Ltd | Spatial memory streaming confidence mechanism |
US10599437B2 (en) | 2018-01-19 | 2020-03-24 | Marvell World Trade Ltd. | Managing obscured branch prediction information |
US10747541B2 (en) | 2018-01-19 | 2020-08-18 | Marvell Asia Pte, Ltd. | Managing predictor selection for branch prediction |
US10929136B2 (en) * | 2018-04-11 | 2021-02-23 | Futurewei Technologies, Inc. | Accurate early branch prediction using multiple predictors having different accuracy and latency in high-performance microprocessors |
US10776119B2 (en) * | 2018-06-15 | 2020-09-15 | Marvell Asia Pte, Ltd. | Combined conditional branch and indirect branch target predictor |
US11301253B2 (en) * | 2018-08-10 | 2022-04-12 | Arm Limited | Branch prediction structure indexed based on return address popped from a call-return stack |
US11029959B2 (en) * | 2018-09-04 | 2021-06-08 | Arm Limited | Branch target look up suppression |
CN111507463B (zh) * | 2019-01-30 | 2023-06-20 | 芯立嘉集成电路(杭州)有限公司 | 神经形态的符码处理器及操作所述符码处理器的方法 |
CN110825442B (zh) * | 2019-04-30 | 2021-08-06 | 成都海光微电子技术有限公司 | 一种指令预取方法及处理器 |
US11294681B2 (en) | 2019-05-31 | 2022-04-05 | Texas Instruments Incorporated | Processing device with a microbranch target buffer for branch prediction using loop iteration count |
CN114003292B (zh) * | 2021-12-30 | 2022-03-15 | 中科亿海微电子科技(苏州)有限公司 | 一种分支预测方法、装置及处理器核 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040225872A1 (en) * | 2002-06-04 | 2004-11-11 | International Business Machines Corporation | Hybrid branch prediction using a global selection counter and a prediction method comparison table |
JP2012173967A (ja) * | 2011-02-21 | 2012-09-10 | Nec Corp | 分岐予測装置及び分岐予測方式 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100310581B1 (ko) * | 1993-05-14 | 2001-12-17 | 피터 엔. 데트킨 | 분기목표버퍼의추측기록메카니즘 |
US5604909A (en) | 1993-12-15 | 1997-02-18 | Silicon Graphics Computer Systems, Inc. | Apparatus for processing instructions in a computing system |
US5574871A (en) * | 1994-01-04 | 1996-11-12 | Intel Corporation | Method and apparatus for implementing a set-associative branch target buffer |
JP3599409B2 (ja) * | 1994-06-14 | 2004-12-08 | 株式会社ルネサステクノロジ | 分岐予測装置 |
US7000096B1 (en) * | 2000-08-03 | 2006-02-14 | International Business Machines Corporation | Branch prediction circuits and methods and systems using the same |
US7165169B2 (en) * | 2001-05-04 | 2007-01-16 | Ip-First, Llc | Speculative branch target address cache with selective override by secondary predictor based on branch instruction type |
US7203825B2 (en) * | 2001-10-03 | 2007-04-10 | Intel Corporation | Sharing information to reduce redundancy in hybrid branch prediction |
US7082520B2 (en) * | 2002-05-09 | 2006-07-25 | International Business Machines Corporation | Branch prediction utilizing both a branch target buffer and a multiple target table |
US20050216714A1 (en) * | 2004-03-25 | 2005-09-29 | Intel Corporation | Method and apparatus for predicting confidence and value |
US7590830B2 (en) | 2004-05-28 | 2009-09-15 | Sun Microsystems, Inc. | Method and structure for concurrent branch prediction in a processor |
US7752426B2 (en) * | 2004-08-30 | 2010-07-06 | Texas Instruments Incorporated | Processes, circuits, devices, and systems for branch prediction and other processor improvements |
US7328332B2 (en) * | 2004-08-30 | 2008-02-05 | Texas Instruments Incorporated | Branch prediction and other processor improvements using FIFO for bypassing certain processor pipeline stages |
KR100630702B1 (ko) | 2004-10-05 | 2006-10-02 | 삼성전자주식회사 | 명령어 캐쉬와 명령어 변환 참조 버퍼의 제어기, 및 그제어방법 |
US7278012B2 (en) * | 2005-06-02 | 2007-10-02 | Qualcomm Incorporated | Method and apparatus for efficiently accessing first and second branch history tables to predict branch instructions |
US7644258B2 (en) * | 2005-08-29 | 2010-01-05 | Searete, Llc | Hybrid branch predictor using component predictors each having confidence and override signals |
US20070083735A1 (en) * | 2005-08-29 | 2007-04-12 | Glew Andrew F | Hierarchical processor |
US20110078425A1 (en) * | 2009-09-25 | 2011-03-31 | Shah Manish K | Branch prediction mechanism for predicting indirect branch targets |
US9405544B2 (en) * | 2013-05-14 | 2016-08-02 | Apple Inc. | Next fetch predictor return address stack |
-
2014
- 2014-10-24 EP EP14856053.5A patent/EP3060983B1/en active Active
- 2014-10-24 JP JP2016525857A patent/JP6523274B2/ja active Active
- 2014-10-24 WO PCT/US2014/062107 patent/WO2015061648A1/en active Application Filing
- 2014-10-24 CN CN201480065959.1A patent/CN106030516B/zh active Active
- 2014-10-24 KR KR1020167013001A patent/KR102077753B1/ko active IP Right Grant
- 2014-10-24 US US14/522,831 patent/US10127044B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040225872A1 (en) * | 2002-06-04 | 2004-11-11 | International Business Machines Corporation | Hybrid branch prediction using a global selection counter and a prediction method comparison table |
JP2012173967A (ja) * | 2011-02-21 | 2012-09-10 | Nec Corp | 分岐予測装置及び分岐予測方式 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019537163A (ja) * | 2016-12-09 | 2019-12-19 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | オペレーションキャッシュ |
JP7097361B2 (ja) | 2016-12-09 | 2022-07-07 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | オペレーションキャッシュ |
Also Published As
Publication number | Publication date |
---|---|
CN106030516B (zh) | 2019-09-03 |
EP3060983A1 (en) | 2016-08-31 |
US20150121050A1 (en) | 2015-04-30 |
EP3060983B1 (en) | 2020-01-08 |
KR102077753B1 (ko) | 2020-04-07 |
EP3060983A4 (en) | 2017-05-17 |
KR20160078380A (ko) | 2016-07-04 |
CN106030516A (zh) | 2016-10-12 |
JP6523274B2 (ja) | 2019-05-29 |
US10127044B2 (en) | 2018-11-13 |
WO2015061648A1 (en) | 2015-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6523274B2 (ja) | 分岐予測ユニット及びレベル1命令キャッシュにおける帯域幅の増加 | |
US10248570B2 (en) | Methods, systems and apparatus for predicting the way of a set associative cache | |
JP6744423B2 (ja) | プロセッサベースシステム内のロード経路履歴に基づくアドレス予測テーブルを使用したロードアドレス予測の実現 | |
US9367471B2 (en) | Fetch width predictor | |
US10402200B2 (en) | High performance zero bubble conditional branch prediction using micro branch target buffer | |
US11687343B2 (en) | Data processing apparatus and method for providing candidate prediction entries | |
CN101176060A (zh) | 每索引存储两个或更多分支目标地址的分支目标地址高速缓冲存储器 | |
CN109643237B (zh) | 分支目标缓冲器压缩 | |
US20180349144A1 (en) | Method and apparatus for branch prediction utilizing primary and secondary branch predictors | |
CN112579175B (zh) | 分支预测方法、分支预测装置和处理器核 | |
US11579884B2 (en) | Instruction address translation and caching for primary and alternate branch prediction paths | |
JP2019537163A (ja) | オペレーションキャッシュ | |
JP2016505972A (ja) | 仮想アドレス−物理アドレスページクロスバッファを用いた推測的なアドレッシング | |
CN101681258A (zh) | 使用可变长度指令集处理器中分支目标地址缓存的分支预测 | |
CN106293639B (zh) | 使用微分支目标缓冲器的高性能零气泡条件分支预测 | |
US9778934B2 (en) | Power efficient pattern history table fetch in branch predictor | |
US11175916B2 (en) | System and method for a lightweight fencing operation | |
US10318303B2 (en) | Method and apparatus for augmentation and disambiguation of branch history in pipelined branch predictors | |
KR20190031498A (ko) | 어드레스 생성 시간에서 로드 및 스토어 큐 할당 시스템 및 방법 | |
US11947461B2 (en) | Prefetch unit filter for microprocessor | |
US7343481B2 (en) | Branch prediction in a data processing system utilizing a cache of previous static predictions | |
KR20240068728A (ko) | 캐시 미스 예측기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160809 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180925 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181221 |
|
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: 20190402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190425 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6523274 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 |