JP2010277529A - 情報処理装置及び分岐予測方法 - Google Patents
情報処理装置及び分岐予測方法 Download PDFInfo
- Publication number
- JP2010277529A JP2010277529A JP2009132297A JP2009132297A JP2010277529A JP 2010277529 A JP2010277529 A JP 2010277529A JP 2009132297 A JP2009132297 A JP 2009132297A JP 2009132297 A JP2009132297 A JP 2009132297A JP 2010277529 A JP2010277529 A JP 2010277529A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- instruction
- address
- correspondence information
- branch prediction
- 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 description 37
- 230000010365 information processing Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 description 32
- 230000007246 mechanism Effects 0.000 description 24
- 239000000872 buffer Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 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/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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3246—Power saving characterised by the action undertaken by software initiated power-off
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Advance Control (AREA)
- Power Sources (AREA)
Abstract
【解決手段】シングルループエントリ13は、分岐が成立した最新の分岐命令について、その命令アドレスと分岐先アドレスとの対応情報である第1の対応情報を格納する。ブランチヒストリテーブル14は、分岐が成立した最新を含む過去の複数の分岐命令の各々について、その命令アドレスと分岐先アドレスとの対応情報である第2の対応情報を格納する。分岐予測装置1は、演算器7で演算される命令列がループしているか否かを判断し、命令列がループしている場合には、ブランチヒストリテーブル14へのクロックの供給を停止し、シングルループエントリ13の第1の対応情報を検索した結果に基づいて分岐予測を行う。
【選択図】図1
Description
2 メモリ
3 命令取得制御装置
4 命令解析装置
5 命令発行制御装置
6 命令完了制御装置
7 演算器
8 分岐制御装置
11 分岐予測部
12 管理部
13 シングルループエントリ
14 ブランチヒストリテーブル
15 カウンタ
Claims (6)
- 演算の実行が完了した命令であって、分岐が成立した最新の分岐命令について、その命令アドレスと分岐先アドレスとの対応情報である第1の対応情報を格納する第1の分岐履歴記憶部と、
前記演算の実行が完了した命令であって、分岐が成立した最新を含む過去の複数の分岐命令の各々について、その命令アドレスと分岐先アドレスとの対応情報である第2の対応情報を格納する第2の分岐履歴記憶部と、
メモリからフェッチする命令の命令アドレスを用いて、前記第1の分岐履歴記憶部の第1の対応情報又は前記第2の分岐履歴記憶部の第2の対応情報を検索した結果に基づいて分岐予測を行う分岐予測制御部であって、前記命令列がループしている場合には、前記第2の分岐履歴記憶部へのクロックの供給を停止し、前記第1の分岐履歴記憶部の前記第1の対応情報を検索した結果に基づいて分岐予測を行う分岐予測制御部とを備える
ことを特徴とする情報処理装置。 - 前記分岐予測制御部が、前記演算の実行が完了した分岐命令の命令アドレスが前記第1の対応情報に含まれる命令アドレスと一致する回数をカウント値としてカウントし、前記カウントしたカウント値が閾値を超える場合には、演算を実行中の命令列がループしていると判断する
ことを特徴とする請求項1記載の情報処理装置。 - 前記分岐予測制御部が、前記第2の分岐履歴記憶部へのクロックの供給が停止されている場合において、演算を実行中の命令列がループしているか否かを判断し、前記演算を実行中の命令列がループしていない場合には、前記第2の分岐履歴記憶部へのクロックの供給の停止を解除する
ことを特徴とする請求項1記載の情報処理装置。 - 前記分岐予測制御部が、前記分岐予測が失敗した場合には、前記演算を実行中の命令列がループしていないと判断する
ことを特徴とする請求項3記載の情報処理装置。 - 前記分岐予測制御部が、前記分岐予測が成功し、かつ、前記第1の対応情報に含まれる分岐先アドレスが演算の実行が完了した分岐命令の分岐先アドレスと一致しない場合には、前記演算を実行中の命令列がループしていないと判断する
ことを特徴とする請求項3記載の情報処理装置。 - 演算の実行が完了した命令であって、分岐が成立した最新の分岐命令について、その命令アドレスと分岐先アドレスとの対応情報である第1の対応情報を、第1の分岐履歴記憶部に格納し、
前記演算の実行が完了した命令であって、分岐が成立した最新を含む過去の複数の分岐命令の各々について、その命令アドレスと分岐先アドレスとの対応情報である第2の対応情報を、第2の分岐履歴記憶部に格納し、
メモリからフェッチする命令の命令アドレスを用いて、前記第1の分岐履歴記憶部の第1の対応情報又は前記第2の分岐履歴記憶部の第2の対応情報を検索した結果に基づいて分岐予測を行う分岐予測制御部が、前記演算を実行中の命令列がループしているか否かを判断し、
前記分岐予測制御部が、前記演算を実行中の命令列がループしている場合には、前記第2の分岐履歴記憶部へのクロックの供給を停止し、前記第1の分岐履歴記憶部の前記第1の対応情報を検索した結果に基づいて分岐予測を行う
ことを特徴とする分岐予測方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009132297A JP5423156B2 (ja) | 2009-06-01 | 2009-06-01 | 情報処理装置及び分岐予測方法 |
EP10162770A EP2261797B1 (en) | 2009-06-01 | 2010-05-13 | Information processing apparatus and branch prediction method |
US12/780,131 US8595474B2 (en) | 2009-06-01 | 2010-05-14 | Information processing apparatus and branch prediction method |
KR1020100049822A KR101126001B1 (ko) | 2009-06-01 | 2010-05-27 | 정보 처리 장치 및 분기 예측 방법 |
CN2010101939930A CN101901133B (zh) | 2009-06-01 | 2010-05-28 | 信息处理设备和分支预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009132297A JP5423156B2 (ja) | 2009-06-01 | 2009-06-01 | 情報処理装置及び分岐予測方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010277529A true JP2010277529A (ja) | 2010-12-09 |
JP5423156B2 JP5423156B2 (ja) | 2014-02-19 |
Family
ID=42829478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009132297A Expired - Fee Related JP5423156B2 (ja) | 2009-06-01 | 2009-06-01 | 情報処理装置及び分岐予測方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8595474B2 (ja) |
EP (1) | EP2261797B1 (ja) |
JP (1) | JP5423156B2 (ja) |
KR (1) | KR101126001B1 (ja) |
CN (1) | CN101901133B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018005488A (ja) * | 2016-06-30 | 2018-01-11 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120079303A1 (en) * | 2010-09-24 | 2012-03-29 | Madduri Venkateswara R | Method and apparatus for reducing power consumption in a processor by powering down an instruction fetch unit |
KR20120036210A (ko) * | 2010-10-07 | 2012-04-17 | 삼성전자주식회사 | 파이프라인 제어 위험 감소를 위한 처리장치 및 컴파일 장치와, 파이프라인 제어 위험 감소를 위한 동적 조건 분기 처리 방법 |
US9268569B2 (en) * | 2012-02-24 | 2016-02-23 | Apple Inc. | Branch misprediction behavior suppression on zero predicate branch mispredict |
GB2539041B (en) * | 2015-06-05 | 2019-10-02 | Advanced Risc Mach Ltd | Mode switching in dependence upon a number of active threads |
US10395033B2 (en) * | 2016-09-30 | 2019-08-27 | Intel Corporation | System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks |
US20180349144A1 (en) * | 2017-06-06 | 2018-12-06 | Intel Corporation | Method and apparatus for branch prediction utilizing primary and secondary branch predictors |
US20190004806A1 (en) * | 2017-06-30 | 2019-01-03 | Qualcomm Incorporated | Branch prediction for fixed direction branch instructions |
CN114116010B (zh) * | 2022-01-27 | 2022-05-03 | 广东省新一代通信与网络创新研究院 | 一种针对处理器循环体的体系结构优化方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038323A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | 分岐予測装置および分岐予測方法 |
JP2004326330A (ja) * | 2003-04-23 | 2004-11-18 | Kyushu Inst Of Technology | キャッシュメモリ、及びキャッシュメモリの電力削減方法 |
US20080082843A1 (en) * | 2006-09-28 | 2008-04-03 | Sergio Schuler | Dynamic branch prediction predictor |
JP2008532142A (ja) * | 2005-02-24 | 2008-08-14 | クゥアルコム・インコーポレイテッド | ループ終結分岐により分岐履歴レジスタの更新を抑制すること |
US7475231B2 (en) * | 2005-11-14 | 2009-01-06 | Texas Instruments Incorporated | Loop detection and capture in the instruction queue |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US82843A (en) * | 1868-10-06 | Charles f | ||
US5175827A (en) * | 1987-01-22 | 1992-12-29 | Nec Corporation | Branch history table write control system to prevent looping branch instructions from writing more than once into a branch history table |
JP3335379B2 (ja) | 1992-09-09 | 2002-10-15 | 富士通株式会社 | ブランチ・ヒストリーを持つ命令実行処理装置 |
GB2285154B (en) * | 1993-12-24 | 1998-04-01 | Advanced Risc Mach Ltd | Branch cache |
US5937203A (en) * | 1996-09-16 | 1999-08-10 | Advanced Micro Devices, Inc. | Port for fine tuning a central processing unit |
US6085315A (en) * | 1997-09-12 | 2000-07-04 | Siemens Aktiengesellschaft | Data processing device with loop pipeline |
US6757817B1 (en) * | 2000-05-19 | 2004-06-29 | Intel Corporation | Apparatus having a cache and a loop buffer |
JP3804941B2 (ja) * | 2002-06-28 | 2006-08-02 | 富士通株式会社 | 命令フェッチ制御装置 |
US7159103B2 (en) * | 2003-03-24 | 2007-01-02 | Infineon Technologies Ag | Zero-overhead loop operation in microprocessor having instruction buffer |
KR100528479B1 (ko) * | 2003-09-24 | 2005-11-15 | 삼성전자주식회사 | 전력 소모를 감소시키기 위한 분기 예측기 및 구현방법 |
US8719837B2 (en) * | 2004-05-19 | 2014-05-06 | Synopsys, Inc. | Microprocessor architecture having extendible logic |
TWI285841B (en) | 2004-07-16 | 2007-08-21 | Samsung Electronics Co Ltd | Branch target buffer, branch target buffer memory array, branch prediction unit and processor with a function of branch instruction predictions |
KR100591769B1 (ko) * | 2004-07-16 | 2006-06-26 | 삼성전자주식회사 | 분기 예측 정보를 가지는 분기 타겟 버퍼 |
US7873820B2 (en) * | 2005-11-15 | 2011-01-18 | Mips Technologies, Inc. | Processor utilizing a loop buffer to reduce power consumption |
JP2008090339A (ja) | 2006-09-29 | 2008-04-17 | Fujitsu Ltd | サブシステムの電源制御回路及びサブシステム |
JP5043560B2 (ja) | 2007-08-24 | 2012-10-10 | パナソニック株式会社 | プログラム実行制御装置 |
-
2009
- 2009-06-01 JP JP2009132297A patent/JP5423156B2/ja not_active Expired - Fee Related
-
2010
- 2010-05-13 EP EP10162770A patent/EP2261797B1/en not_active Not-in-force
- 2010-05-14 US US12/780,131 patent/US8595474B2/en not_active Expired - Fee Related
- 2010-05-27 KR KR1020100049822A patent/KR101126001B1/ko not_active IP Right Cessation
- 2010-05-28 CN CN2010101939930A patent/CN101901133B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038323A (ja) * | 2002-06-28 | 2004-02-05 | Fujitsu Ltd | 分岐予測装置および分岐予測方法 |
JP2004326330A (ja) * | 2003-04-23 | 2004-11-18 | Kyushu Inst Of Technology | キャッシュメモリ、及びキャッシュメモリの電力削減方法 |
JP2008532142A (ja) * | 2005-02-24 | 2008-08-14 | クゥアルコム・インコーポレイテッド | ループ終結分岐により分岐履歴レジスタの更新を抑制すること |
US7475231B2 (en) * | 2005-11-14 | 2009-01-06 | Texas Instruments Incorporated | Loop detection and capture in the instruction queue |
US20080082843A1 (en) * | 2006-09-28 | 2008-04-03 | Sergio Schuler | Dynamic branch prediction predictor |
Non-Patent Citations (1)
Title |
---|
JPN6011045860; Po-Yung Chang et al.: '"Improving branch prediction accuracy by reducing pattern history table interference"' Proceedings of the 1996 Conference on Parallel Architectures and Compilation Techniques,1996. , 199610, pages:48-57, IEEE * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018005488A (ja) * | 2016-06-30 | 2018-01-11 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101126001B1 (ko) | 2012-03-20 |
CN101901133B (zh) | 2013-05-22 |
EP2261797A1 (en) | 2010-12-15 |
KR20100129692A (ko) | 2010-12-09 |
US20100306516A1 (en) | 2010-12-02 |
EP2261797B1 (en) | 2012-07-04 |
JP5423156B2 (ja) | 2014-02-19 |
US8595474B2 (en) | 2013-11-26 |
CN101901133A (zh) | 2010-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5423156B2 (ja) | 情報処理装置及び分岐予測方法 | |
US9026769B1 (en) | Detecting and reissuing of loop instructions in reorder structure | |
US20090172360A1 (en) | Information processing apparatus equipped with branch prediction miss recovery mechanism | |
US20100325395A1 (en) | Dependence prediction in a memory system | |
JP6205966B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US9250912B2 (en) | Fast index tree for accelerated branch prediction | |
US9524166B2 (en) | Tracking long GHV in high performance out-of-order superscalar processors | |
BRPI0610926A2 (pt) | método e equipamento para predizer instruções de ramificação | |
JP2001243069A (ja) | 分岐予測装置及び分岐予測方法 | |
WO2017112401A1 (en) | Selective storing of previously decoded instructions of frequently-called instruction sequences in an instruction sequence buffer to be executed by a processor | |
US10379858B2 (en) | Method and apparatus for executing conditional instruction predicated on execution result of predicate instruction | |
WO2022187014A1 (en) | Loop buffering employing loop characteristic prediction in a processor for optimizing loop buffer performance | |
JP3683439B2 (ja) | 分岐予測を抑止する情報処理装置および方法 | |
KR20230084140A (ko) | 제어 독립성 기술을 채용한 프로세서에서 처리되는 명령어에 대한 추론성 예측을 행하는 데 사용된 추론성 이력의 복원 | |
US20110083030A1 (en) | Cache memory control device, cache memory device, processor, and controlling method for storage device | |
US9250909B2 (en) | Fast index tree for accelerated branch prediction | |
EP2348400A1 (en) | Arithmetic processor, information processor, and pipeline control method of arithmetic processor | |
US11995443B2 (en) | Reuse of branch information queue entries for multiple instances of predicted control instructions in captured loops in a processor | |
JP2007293814A (ja) | プロセッサ装置とその処理方法 | |
TW202420078A (zh) | 用於在處理器中的獲取迴路中的預測控制指令的多個例項的分支資訊佇列項目的重用 | |
JP2002182906A (ja) | 命令実行方法及びその装置並びに分岐予測方法及びその装置 | |
JPWO2008155847A1 (ja) | 処理装置 | |
EP4208783A1 (en) | Alternate path for branch prediction redirect | |
TW202344988A (zh) | 用於最佳化迴路重放性能的處理器中捕獲迴路的最佳化 | |
JP3809178B2 (ja) | 分岐履歴情報の書き込み制御装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130708 |
|
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: 20131029 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131111 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |