JP2010501964A - 可変長の命令セット実行モードを有するプロセッサにおけるbhtの有効な利用 - Google Patents
可変長の命令セット実行モードを有するプロセッサにおけるbhtの有効な利用 Download PDFInfo
- Publication number
- JP2010501964A JP2010501964A JP2009526956A JP2009526956A JP2010501964A JP 2010501964 A JP2010501964 A JP 2010501964A JP 2009526956 A JP2009526956 A JP 2009526956A JP 2009526956 A JP2009526956 A JP 2009526956A JP 2010501964 A JP2010501964 A JP 2010501964A
- Authority
- JP
- Japan
- Prior art keywords
- instruction set
- execution mode
- set execution
- bht
- 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 claims description 22
- 238000011156 evaluation Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000013519 translation Methods 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002902 bimodal effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 210000003813 thumb Anatomy 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length 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
-
- 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/30181—Instruction operation extension or modification
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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, 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/38—Concurrent instruction execution, e.g. pipeline, 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
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)
- Power Sources (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
Abstract
Description
11−予測が強く成立する
10−予測が弱く成立する
01−予測が弱く不成立する
00−予測が強く不成立する
といった重み付けされた予測値が割り当てられる。
Claims (18)
- 少なくとも第1の最小の命令長を有する第1の命令セット実行モード、及び、より小さな、第2の最小の命令長を有する第2の命令セット実行モードで命令を実行する可変長の命令セットプロセッサの分岐履歴テーブル(BHT)のあらゆる行にインデックスを付けるためのアドレスを形成する方法であって、各命令セット実行モードは異なるネイティブなインデックスアドレスを有しており、
前記第1及び第2の命令セット実行モードの共通のネイティブな行インデックスアドレスビットを識別し、
前記第1の命令セット実行モード専用の最上位のネイティブな行インデックスアドレスビットと前記第2の命令セット実行モード専用の最下位のネイティブな行インデックスアドレスビットとを、命令セット実行モードインジケータに基づいて多重化し、
前記共通の及び多重化されたアドレスビットを連結し、
前記BHTの行に前記連結されたアドレスを用いてインデックスを付ける
ことを含む、方法。 - 前記BHTの行にインデックスを付けることに先立って、前記連結されたアドレスをグローバルな分岐履歴値でハッシングすることを更に含む、請求項1記載の方法。
- 前記連結されたアドレスを前記グローバルな分岐履歴値でハッシングすることは、前記連結されたアドレスと前記グローバルな分岐履歴値との間で排他的論理和をとることを含む、請求項2記載の方法。
- インデックスを付けられた行のカウンタインデックスアドレスは、前記第1の命令セット実行モードの前記ネイティブなカウンタインデックスアドレスと前記第2の命令セット実行モードの前記ネイティブなカウンタインデックスアドレスとを多重化することによって形成される、請求項1記載の方法。
- 前記第1の最小の命令長は32ビットであり、前記第2の最小の命令長は16ビットである、請求項1記載の方法。
- 前記BHTは各行8個のカウンタを有する512行を備え、
前記共通のネイティブな行インデックスアドレスビットはビット[12:5]を備え、
前記第1の命令セット実行モード専用の前記最上位のネイティブな行インデックスアドレスビットはビット13を備え、
前記第2の命令セット実行モード専用の前記最下位のネイティブな行インデックスアドレスビットはビット4を備える、
請求項4記載の方法。 - インデックスを付けられた行のカウンタインデックスアドレスは、前記第1の命令セット実行モードのアドレスビット[4:2]と前記第2の命令セット実行モードのアドレスビット[3:1]とを多重化することによって形成される、請求項5記載の方法。
- 少なくとも第1の最小の命令長を有する第1の命令セット実行モード、及び、より小さな、第2の最小の命令長を有する第2の命令セット実行モードで命令を実行する可変長の命令セットのプロセッサの分岐履歴テーブル(BHT)のあらゆるカウンタにアクセスするための行インデックスアドレス及びカウンタインデックスアドレスを形成する方法であって、
前記BHTの行に前記第2の命令セット実行モードの前記ネイティブな行インデックスアドレスを用いてインデックスを付け、
前記第1の命令セット実行モード専用の最上位のネイティブな行インデックスアドレスビットと前記第2の命令セット実行モード専用の最下位のネイティブなカウンタインデックスアドレスとを多重化し、
前記多重化されたビットと連結された、各BHTの行におけるカウンタを、前記第2の命令セット実行モードの前記最下位のネイティブなカウンタインデックスアドレスビット以外の全てを用いてインデックスを付ける
ことを含む、方法。 - 前記BHTの2つの部分に別個に電源を供給し、
各行の前記カウンタを、奇数のカウンタインデックスアドレスを有するカウンタは一方の部分にグループ化され、偶数のカウンタインデックスアドレスを有するカウンタは他方の部分にグループ化されるように順序付け、
前記第1の命令セット実行モード専用の最上位のネイティブな行インデックスアドレスビットの値に基づいて、前記第1の命令セット実行モードで前記BHTの半分にのみ電源を供給する
ことを更に含む、請求項8記載の方法。 - 各行の前記カウンタを、前記BHTから同時に読み出すことができないカウンタ値が隣接するように順序付けることを更に備える、請求項9記載の方法。
- 前記第1の最小の命令長は32ビットであり、前記第2の最小の命令長は16ビットである、請求項8記載の方法。
- 前記BHTは各行8個のカウンタを有する512行を備え、
前記第2の命令セット実行モードの前記ネイティブな行インデックスアドレスビットはビット[12:4]を備え、
前記第1の命令セット実行モード専用の最上位のネイティブな行インデックスアドレスビットはビット13を備え、前記第2の命令セット実行モード専用の最下位のネイティブなカウンタインデックスアドレスビットはビット1を備え、
前記第2の命令セット実行モードの最下位のネイティブなカウンタインデックスアドレスビット以外は全てビット[3:2]を備える、
請求項11記載の方法。 - 少なくとも第1の最小の命令長を有する第1の命令セット実行モード、及び、より小さな、第2の最小の命令長を有する第2の命令セット実行モードで命令を実行する可変長の命令セットプロセッサの複数のカウンタを備える分岐履歴テーブル(BHT)を動作させる方法であって、
前記第2の命令セット実行モードでのBHTアクセスの期間に前記BHT全体に電源を供給し、
前記第1の命令セット実行モードでのBHTアクセスの期間に前記BHTの半分のみに電源を供給する
ことを含む、方法。 - 偶数のカウンタインデックスアドレスを有する前記カウンタの全てが前記それらのそれぞれの行の一方の半分にあり、奇数のカウンタインデックスアドレスを有する前記カウンタの全てはそれらのそれぞれの行の他方の半分にあるように、前記複数のカウンタを複数の行に配置し、各行は複数のカウンタを有することを更に含む、請求項13記載の方法。
- 同時にアクセスされることができないカウンタは、それらのそれぞれの行において互いに隣接して並列される、請求項14記載の方法。
- フェッチステージを有し、少なくとも第1の最小の命令長を有する第1の命令セット実行モード、及び、より小さな、第2の最小の命令長を有する第2の命令セット実行モードで命令を実行するように動作する命令実行パイプラインと、
前記第1の命令セット実行モードにおいて、前記BHTの半分のみに電源が供給されるように、前記フェッチパイプラインステージの命令アドレスによって、インデックスを付けられ、配置された、複数のカウンタを備える分岐履歴テーブル(BHT)と
を備える、プロセッサ。 - 偶数のカウンタインデックスアドレスを有する前記カウンタの全てがそれらのそれぞれの行の一方の半分にあり、偶数のカウンタインデックスアドレスを有する前記カウンタの全てがそれらのそれぞれの行の他方の半分にあるように、前記BHTの前記複数のカウンタは複数の行に配置され、各行は複数のカウンタを備える、請求項16記載のプロセッサ。
- 同時にアクセスすることができない前記BHTのカウンタは、それらのそれぞれの行において互いに隣接するように並列される、請求項17記載のプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/536,743 US7716460B2 (en) | 2006-09-29 | 2006-09-29 | Effective use of a BHT in processor having variable length instruction set execution modes |
US11/536,743 | 2006-09-29 | ||
PCT/US2007/079864 WO2008039975A1 (en) | 2006-09-29 | 2007-09-28 | Effective use of a bht in processor having variable length instruction set execution modes |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012193259A Division JP5497123B2 (ja) | 2006-09-29 | 2012-09-03 | 可変長の命令セット実行モードを有するプロセッサにおけるbhtの有効な利用 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010501964A true JP2010501964A (ja) | 2010-01-21 |
JP5384344B2 JP5384344B2 (ja) | 2014-01-08 |
Family
ID=38814527
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009526956A Expired - Fee Related JP5384344B2 (ja) | 2006-09-29 | 2007-09-28 | 可変長の命令セット実行モードを有するプロセッサにおけるbhtの有効な利用 |
JP2012193259A Expired - Fee Related JP5497123B2 (ja) | 2006-09-29 | 2012-09-03 | 可変長の命令セット実行モードを有するプロセッサにおけるbhtの有効な利用 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012193259A Expired - Fee Related JP5497123B2 (ja) | 2006-09-29 | 2012-09-03 | 可変長の命令セット実行モードを有するプロセッサにおけるbhtの有効な利用 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7716460B2 (ja) |
EP (1) | EP2069916B1 (ja) |
JP (2) | JP5384344B2 (ja) |
KR (1) | KR101059335B1 (ja) |
CN (1) | CN101517534B (ja) |
WO (1) | WO2008039975A1 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2477109B1 (en) | 2006-04-12 | 2016-07-13 | Soft Machines, Inc. | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
EP2523101B1 (en) | 2006-11-14 | 2014-06-04 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
CN101853148B (zh) * | 2009-05-19 | 2014-04-23 | 威盛电子股份有限公司 | 适用于微处理器的装置及方法 |
KR101685247B1 (ko) | 2010-09-17 | 2016-12-09 | 소프트 머신즈, 인크. | 조기 원거리 분기 예측을 위한 섀도우 캐시를 포함하는 단일 사이클 다중 분기 예측 |
TWI533129B (zh) | 2011-03-25 | 2016-05-11 | 軟體機器公司 | 使用可分割引擎實體化的虛擬核心執行指令序列程式碼區塊 |
US9274793B2 (en) | 2011-03-25 | 2016-03-01 | Soft Machines, Inc. | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
KR101620676B1 (ko) | 2011-03-25 | 2016-05-23 | 소프트 머신즈, 인크. | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트 |
EP2710481B1 (en) | 2011-05-20 | 2021-02-17 | Intel Corporation | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
CN102298815B (zh) * | 2011-05-20 | 2014-03-12 | 宁波讯强电子科技有限公司 | 一种高矫顽力偏置片、其制造方法及用其制成的声磁防盗标签 |
KR101639854B1 (ko) | 2011-05-20 | 2016-07-14 | 소프트 머신즈, 인크. | 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조 |
US20130007602A1 (en) | 2011-06-29 | 2013-01-03 | Apple Inc. | Fixed layout electronic publications |
KR101842550B1 (ko) | 2011-11-22 | 2018-03-28 | 소프트 머신즈, 인크. | 다중 엔진 마이크로프로세서용 가속 코드 최적화기 |
EP2783281B1 (en) | 2011-11-22 | 2020-05-13 | Intel Corporation | A microprocessor accelerated code optimizer |
US9378017B2 (en) * | 2012-12-29 | 2016-06-28 | Intel Corporation | Apparatus and method of efficient vector roll operation |
US9627038B2 (en) | 2013-03-15 | 2017-04-18 | Intel Corporation | Multiport memory cell having improved density area |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9582322B2 (en) | 2013-03-15 | 2017-02-28 | Soft Machines Inc. | Method and apparatus to avoid deadlock during instruction scheduling using dynamic port remapping |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
KR102083390B1 (ko) | 2013-03-15 | 2020-03-02 | 인텔 코포레이션 | 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법 |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
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 |
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 |
US9436476B2 (en) | 2013-03-15 | 2016-09-06 | Soft Machines Inc. | Method and apparatus for sorting elements in hardware structures |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
EP2972845B1 (en) | 2013-03-15 | 2021-07-07 | Intel Corporation | A method for executing multithreaded instructions grouped onto blocks |
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 |
US20140281116A1 (en) | 2013-03-15 | 2014-09-18 | Soft Machines, Inc. | Method and Apparatus to Speed up the Load Access and Data Return Speed Path Using Early Lower Address Bits |
US9825884B2 (en) | 2013-12-30 | 2017-11-21 | Cavium, Inc. | Protocol independent programmable switch (PIPS) software defined data center networks |
US9946538B2 (en) | 2014-05-12 | 2018-04-17 | Intel Corporation | Method and apparatus for providing hardware support for self-modifying code |
US9413357B2 (en) | 2014-06-11 | 2016-08-09 | Cavium, Inc. | Hierarchical statistically multiplexed counters and a method thereof |
US10198260B2 (en) * | 2016-01-13 | 2019-02-05 | Oracle International Corporation | Processing instruction control transfer instructions |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021489A (en) * | 1997-06-30 | 2000-02-01 | Intel Corporation | Apparatus and method for sharing a branch prediction unit in a microprocessor implementing a two instruction set architecture |
JP2003256197A (ja) * | 2002-02-20 | 2003-09-10 | Arm Ltd | データ処理装置における命令の予測 |
JP2006053830A (ja) * | 2004-08-13 | 2006-02-23 | Toshiba Corp | 分岐予測装置および分岐予測方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0778735B2 (ja) | 1988-12-05 | 1995-08-23 | 松下電器産業株式会社 | キャッシュ装置と命令読出し装置 |
US6157980A (en) * | 1998-03-23 | 2000-12-05 | International Business Machines Corporation | Cache directory addressing scheme for variable cache sizes |
US7134005B2 (en) * | 2001-05-04 | 2006-11-07 | Ip-First, Llc | Microprocessor that detects erroneous speculative prediction of branch instruction opcode byte |
US6923502B2 (en) | 2003-07-28 | 2005-08-02 | Terry Cassaday | Chair with switch controls for chair control directory |
US20050278505A1 (en) | 2004-05-19 | 2005-12-15 | Lim Seow C | Microprocessor architecture including zero impact predictive data pre-fetch mechanism for pipeline data memory |
KR101076815B1 (ko) | 2004-05-29 | 2011-10-25 | 삼성전자주식회사 | 분기 타겟 어드레스 캐쉬를 포함하는 캐쉬 시스템 |
-
2006
- 2006-09-29 US US11/536,743 patent/US7716460B2/en not_active Expired - Fee Related
-
2007
- 2007-09-28 JP JP2009526956A patent/JP5384344B2/ja not_active Expired - Fee Related
- 2007-09-28 WO PCT/US2007/079864 patent/WO2008039975A1/en active Application Filing
- 2007-09-28 CN CN2007800340942A patent/CN101517534B/zh not_active Expired - Fee Related
- 2007-09-28 KR KR1020097008741A patent/KR101059335B1/ko not_active IP Right Cessation
- 2007-09-28 EP EP07843464.4A patent/EP2069916B1/en not_active Not-in-force
-
2009
- 2009-11-05 US US12/612,860 patent/US8185725B2/en active Active
-
2012
- 2012-09-03 JP JP2012193259A patent/JP5497123B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021489A (en) * | 1997-06-30 | 2000-02-01 | Intel Corporation | Apparatus and method for sharing a branch prediction unit in a microprocessor implementing a two instruction set architecture |
JP2003256197A (ja) * | 2002-02-20 | 2003-09-10 | Arm Ltd | データ処理装置における命令の予測 |
JP2006053830A (ja) * | 2004-08-13 | 2006-02-23 | Toshiba Corp | 分岐予測装置および分岐予測方法 |
Non-Patent Citations (1)
Title |
---|
JPN6012016243; Dharmesh Parikhy et al.: '"Power Issues Related to Branch Prediction"' Proceedings of the Eighth International Symposium on High-Performance Computer Architecture (HPCA.02 , 20020206, page(s): 233 - 244, IEEE * |
Also Published As
Publication number | Publication date |
---|---|
JP2013037701A (ja) | 2013-02-21 |
KR101059335B1 (ko) | 2011-08-24 |
JP5384344B2 (ja) | 2014-01-08 |
JP5497123B2 (ja) | 2014-05-21 |
US20100058032A1 (en) | 2010-03-04 |
US8185725B2 (en) | 2012-05-22 |
KR20090061075A (ko) | 2009-06-15 |
EP2069916B1 (en) | 2017-08-02 |
CN101517534B (zh) | 2012-10-17 |
EP2069916A1 (en) | 2009-06-17 |
US20080082807A1 (en) | 2008-04-03 |
WO2008039975A1 (en) | 2008-04-03 |
CN101517534A (zh) | 2009-08-26 |
US7716460B2 (en) | 2010-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5497123B2 (ja) | 可変長の命令セット実行モードを有するプロセッサにおけるbhtの有効な利用 | |
US10209993B2 (en) | Branch predictor that uses multiple byte offsets in hash of instruction block fetch address and branch pattern to generate conditional branch predictor indexes | |
US9367471B2 (en) | Fetch width predictor | |
JP5255701B2 (ja) | 疎及び密予測を伴うハイブリッド分岐予測デバイス | |
US20060218385A1 (en) | Branch target address cache storing two or more branch target addresses per index | |
US5758142A (en) | Trainable apparatus for predicting instruction outcomes in pipelined processors | |
US7032097B2 (en) | Zero cycle penalty in selecting instructions in prefetch buffer in the event of a miss in the instruction cache | |
KR101081674B1 (ko) | 워킹 글로벌 히스토리 레지스터를 이용하기 위한 시스템 및 방법 | |
JP5231403B2 (ja) | スライドウィンドウブロックベースの分岐ターゲットアドレスキャッシュ | |
JP2009536770A (ja) | ブロックに基づく分岐先アドレスキャッシュ | |
EP0927394A1 (en) | A cache line branch prediction scheme that shares among sets of a set associative cache | |
US20080040576A1 (en) | Associate Cached Branch Information with the Last Granularity of Branch instruction in Variable Length instruction Set | |
US10776119B2 (en) | Combined conditional branch and indirect branch target predictor | |
US7447885B2 (en) | Reading prediction outcomes within a branch prediction mechanism | |
KR100273038B1 (ko) | 브랜치 히스토리 테이블 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120403 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120703 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120710 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120801 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120808 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130219 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130520 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130527 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130603 |
|
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: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131002 |
|
R150 | Certificate of patent or registration of utility model |
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 |
|
LAPS | Cancellation because of no payment of annual fees |