JPWO2020014066A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2020014066A5
JPWO2020014066A5 JP2021500526A JP2021500526A JPWO2020014066A5 JP WO2020014066 A5 JPWO2020014066 A5 JP WO2020014066A5 JP 2021500526 A JP2021500526 A JP 2021500526A JP 2021500526 A JP2021500526 A JP 2021500526A JP WO2020014066 A5 JPWO2020014066 A5 JP WO2020014066A5
Authority
JP
Japan
Prior art keywords
btb
processor
branch
btb table
entries
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
Application number
JP2021500526A
Other languages
English (en)
Other versions
JP7149405B2 (ja
JP2021530782A (ja
Publication date
Priority claimed from US16/030,031 external-priority patent/US10713054B2/en
Application filed filed Critical
Publication of JP2021530782A publication Critical patent/JP2021530782A/ja
Publication of JPWO2020014066A5 publication Critical patent/JPWO2020014066A5/ja
Application granted granted Critical
Publication of JP7149405B2 publication Critical patent/JP7149405B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (10)

  1. 命令実行パイプラインと、
    第一数の第一分岐ターゲットバッファテーブルエントリを含む第一BTBテーブルであって、前記第一BTBテーブルエントリのそれぞれは第一タグ及び第一ターゲットアドレスを含み、前記第一ターゲットアドレスのそれぞれは第一幅を有する、前記第一BTBテーブルと、
    第二数の第二BTBテーブルエントリを含む第二BTBテーブルであって、前記第二BTBテーブルエントリのそれぞれは第二タグ及び第二ターゲットアドレスを含み、前記第二ターゲットアドレスのそれぞれは前記第一幅とは異なる第二幅を有する、前記第二BTBテーブルと、
    所与の予測アドレスについて予測されたターゲットアドレスを提供するように構成される分岐予測器と、
    を含む、プロセッサであって、
    前記プロセッサは分岐命令の分岐特性に基づいて、前記第一BTBテーブルの第一BTBテーブルエントリか、前記第二BTBテーブルの第二BTBテーブルエントリかのいずれかに前記第一ターゲットアドレスを含む分岐記述子を格納するように構成される、プロセッサ。
  2. 前記分岐特性は、分岐ターゲットアドレスサイズである、請求項1に記載のプロセッサ。
  3. 前記分岐特性は分岐タイプである、請求項1に記載のプロセッサ。
  4. 前記第一BTBテーブルエントリは、ジャンプ分岐命令、呼び出し分岐命令、戻り分岐命令、及び条件分岐命令のうちの少なくとも1つについて構成される、請求項3に記載のプロセッサ。
  5. 前記分岐特性は前記BTBエントリに格納されるビットの数である、請求項1に記載のプロセッサ。
  6. 前記分岐特性は前記BTBエントリのスレッド識別子である、請求項1に記載のプロセッサ。
  7. 第一メモリレベルキャッシュ及び第二メモリレベルキャッシュ、をさらに含み、
    前記第一BTBテーブル及び前記第二BTBテーブルは前記プロセッサの同じメモリレベルキャッシュに含まれる、請求項1に記載のプロセッサ。
  8. 前記第一BTBテーブルの前記第一BTBテーブルエントリは、予測ルックアップについてNウェイアソシアティブであり、
    前記第二BTBテーブルの前記第二BTBテーブルエントリは、予測ルックアップについてMウェイアソシアティブであり、
    前記M及び前記Nは1以上であり、前記Mは前記Nとは異なる、請求項1に記載のプロセッサ。
  9. 前記第一数の前記第一BTBテーブルエントリは、前記第二数の前記第二BTBテーブルエントリとは異なる、請求項1に記載のプロセッサ。
  10. 前記BTBテーブルエントリのそれぞれは、前記BTBエントリのそれぞれを、セット内で最近最も使用された(MRU)ステータス、及び最近最も使用されていない(LRU)ステータスのうちの1つとしてマーク付けする最近使用されたステータスビットを含み、
    前記プロセッサは、前記最近使用されたステータスビットの状態に基づいて置き換えポリシーに従い前記セット内のBTBエントリをエビクトするように構成される、請求項1に記載のプロセッサ。
JP2021500526A 2018-07-09 2019-07-03 複数のテーブルの分岐ターゲットバッファ Active JP7149405B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/030,031 2018-07-09
US16/030,031 US10713054B2 (en) 2018-07-09 2018-07-09 Multiple-table branch target buffer
PCT/US2019/040497 WO2020014066A1 (en) 2018-07-09 2019-07-03 Multiple-table branch target buffer

Publications (3)

Publication Number Publication Date
JP2021530782A JP2021530782A (ja) 2021-11-11
JPWO2020014066A5 true JPWO2020014066A5 (ja) 2022-07-26
JP7149405B2 JP7149405B2 (ja) 2022-10-06

Family

ID=69102066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021500526A Active JP7149405B2 (ja) 2018-07-09 2019-07-03 複数のテーブルの分岐ターゲットバッファ

Country Status (6)

Country Link
US (2) US10713054B2 (ja)
EP (1) EP3821339A4 (ja)
JP (1) JP7149405B2 (ja)
KR (1) KR102546238B1 (ja)
CN (1) CN112543916B (ja)
WO (1) WO2020014066A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550588B2 (en) * 2018-08-22 2023-01-10 Advanced Micro Devices, Inc. Branch target filtering based on memory region access count
US11507380B2 (en) * 2018-08-29 2022-11-22 Advanced Micro Devices, Inc. Branch confidence throttle
GB2577051B (en) * 2018-09-11 2021-03-03 Advanced Risc Mach Ltd Branch prediction using branch target buffer
US11163573B2 (en) * 2019-02-13 2021-11-02 International Business Machines Corporation Hierarchical metadata predictor with periodic updates
TWI768547B (zh) * 2020-11-18 2022-06-21 瑞昱半導體股份有限公司 管線式電腦系統與指令處理方法
US20220197657A1 (en) * 2020-12-22 2022-06-23 Intel Corporation Segmented branch target buffer based on branch instruction type
US12014182B2 (en) * 2021-08-20 2024-06-18 International Business Machines Corporation Variable formatting of branch target buffer
CN115480826B (zh) * 2022-09-21 2024-03-12 海光信息技术股份有限公司 分支预测器、分支预测方法、装置和计算设备
CN117093267B (zh) * 2023-10-17 2023-12-22 北京开源芯片研究院 分支指令跳转地址的存储方法、装置、设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256729B1 (en) 1998-01-09 2001-07-03 Sun Microsystems, Inc. Method and apparatus for resolving multiple branches
US6609194B1 (en) 1999-11-12 2003-08-19 Ip-First, Llc Apparatus for performing branch target address calculation based on branch type
US20050144427A1 (en) 2001-10-23 2005-06-30 Ip-First Llc Processor including branch prediction mechanism for far jump and far call instructions
KR100591769B1 (ko) * 2004-07-16 2006-06-26 삼성전자주식회사 분기 예측 정보를 가지는 분기 타겟 버퍼
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
US20110093658A1 (en) * 2009-10-19 2011-04-21 Zuraski Jr Gerald D Classifying and segregating branch targets
US8458447B2 (en) * 2011-06-17 2013-06-04 Freescale Semiconductor, Inc. Branch target buffer addressing in a data processor
CN102662640B (zh) * 2012-04-12 2015-04-01 苏州睿云智芯微电子有限公司 双重分支目标缓冲器和分支目标处理系统及处理方法
US9146739B2 (en) 2012-06-14 2015-09-29 International Business Machines Corporation Branch prediction preloading
US9430241B2 (en) 2012-06-15 2016-08-30 International Business Machines Corporation Semi-exclusive second-level branch target buffer
US20150301829A1 (en) 2014-04-18 2015-10-22 Jeffrey W. Scott Systems and methods for managing branch target buffers in a multi-threaded data processing system
US10664280B2 (en) * 2015-11-09 2020-05-26 MIPS Tech, LLC Fetch ahead branch target buffer
US10592248B2 (en) 2016-08-30 2020-03-17 Advanced Micro Devices, Inc. Branch target buffer compression

Similar Documents

Publication Publication Date Title
US8825958B2 (en) High-performance cache system and method
JP4098347B2 (ja) キャッシュメモリおよびその制御方法
US7380065B2 (en) Performance of a cache by detecting cache lines that have been reused
JP5378450B2 (ja) アーキテクチャイベントの間のプロセッサリソースの保持
US6912623B2 (en) Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy
US8151084B2 (en) Using address and non-address information for improved index generation for cache memories
US6990557B2 (en) Method and apparatus for multithreaded cache with cache eviction based on thread identifier
KR101898322B1 (ko) 상이한 인덱싱 방식을 사용하는 1차 캐시와 오버플로 캐시를 갖는 캐시 시스템
JPH03141443A (ja) データ格納方法及びマルチ・ウェイ・セット・アソシアチブ・キャッシュ記憶装置
JP5974133B1 (ja) メモリシステム
US20150356025A1 (en) High-performance cache system and method
US20130311724A1 (en) Cache system with biased cache line replacement policy and method therefor
WO2015041151A1 (ja) キャッシュメモリシステムおよびプロセッサシステム
TW201638774A (zh) 一種基於指令和資料推送的處理器系統和方法
JPWO2020014066A5 (ja)
US8266379B2 (en) Multithreaded processor with multiple caches
WO1997034229A9 (en) Segment descriptor cache for a processor
WO1997034229A1 (en) Segment descriptor cache for a processor
JP7131156B2 (ja) 演算処理装置及び演算処理装置の制御方法
JPH0659977A (ja) 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法
US20080168232A1 (en) Cache Memory and Control Method Thereof
JP3469042B2 (ja) キャッシュメモリ
JPH11143774A (ja) キャッシュ制御機構
JPH01255944A (ja) キャッシュメモリ
Tam et al. Allocation by conflict: A simple, effective multilateral cache management scheme