JP2007317083A - マイクロプロセッサおよびパイプライン制御方法 - Google Patents
マイクロプロセッサおよびパイプライン制御方法 Download PDFInfo
- Publication number
- JP2007317083A JP2007317083A JP2006148190A JP2006148190A JP2007317083A JP 2007317083 A JP2007317083 A JP 2007317083A JP 2006148190 A JP2006148190 A JP 2006148190A JP 2006148190 A JP2006148190 A JP 2006148190A JP 2007317083 A JP2007317083 A JP 2007317083A
- Authority
- JP
- Japan
- Prior art keywords
- branch
- instruction
- microinstruction
- determination
- branch 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
Images
Landscapes
- Advance Control (AREA)
Abstract
【解決手段】マイクロ命令格納メモリ2からマイクロ命令を取り出してパイプライン処理を実行するマイクロプロセッサであって、分岐命令の分岐条件が成立したか否かを判定する分岐判定回路8と、その判定結果を分岐履歴情報として格納する分岐履歴バッファ10と、デコードされたマイクロ命令が分岐命令である場合に、分岐履歴バッファ10に格納された分岐履歴情報を参照して、分岐命令における分岐条件がこれまで何回連続して成立または不成立となったかを調べ、該連続回数が閾値以下の場合は、分岐命令に含まれている分岐予測方向ビットに設定された値に基づいて判定予測を行い、連続回数が閾値を超えた場合には、履歴バッファ10に格納された分岐履歴情報を参照して判定予測を行う分岐予測方向決定部16と、を有する。
【選択図】図1
Description
分岐命令を含む一連のマイクロ命令が格納されるマイクロ命令格納メモリを備え、該マイクロ命令格納メモリからマイクロ命令を取り出して複数のステージからなるパイプライン処理を実行するとともに、該マイクロ命令のパイプライン処理実行中に、該マイクロ命令の次に実行されるマイクロ命令を前記マイクロ命令格納メモリから先取りするマイクロプロセッサであって、
前記分岐命令は、当該分岐命令の分岐条件の判定を予想した結果が予め設定される分岐予測方向ビットを有し、
前記マイクロ命令格納メモリから前記分岐命令が取り出され、該分岐命令について前記パイプライン処理が実行されると、該実行結果に基づいて、該分岐命令の分岐条件が成立したか否かを判定する分岐判定回路と、
前記分岐判定回路の判定結果を前記分岐命令の分岐履歴情報として格納する分岐履歴バッファと、
前記マイクロ命令格納メモリから取り出されたマイクロ命令が前記分岐命令である場合に、前記分岐履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して、前記分岐命令における分岐条件がこれまで何回連続して成立または不成立となったかを調べ、該連続回数が閾値以下の場合は、前記分岐命令に含まれている前記分岐予測方向ビットに設定された値に基づいて前記分岐命令における分岐条件の判定結果を予測し、前記連続回数が前記閾値を超えた場合には、前記履歴バッファに格納された前記分岐命令に関する履歴情報を参照して前記分岐命令における分岐条件の判定結果を予測する分岐予測方向決定部と、
前記分岐予測方向決定部で予測した判定結果に基づいて、前記マイクロ命令格納メモリからマイクロ命令を先取りするためのアドレスを指定するプログラムカウンタと、を有する。
2 マイクロ命令格納メモリ
3 デコーダ
4 命令レジスタ
5 アドレス生成回路
6 オペランド取り出し回路
7 演算結果格納レジスタ
8 分岐判定回路
9 パイプラインキャンセル判定回路
10 分岐履歴バッファ
11〜14 予測情報持ち回りレジスタ
15 分岐履歴バッファ格納情報生成回路
16 分岐予測方向決定回路
17 選択回路
Claims (6)
- 分岐命令を含む一連のマイクロ命令が格納されるマイクロ命令格納メモリを備え、該マイクロ命令格納メモリからマイクロ命令を取り出して複数のステージからなるパイプライン処理を実行するとともに、該マイクロ命令のパイプライン処理実行中に、該マイクロ命令の次に実行されるマイクロ命令を前記マイクロ命令格納メモリから先取りするマイクロプロセッサであって、
前記分岐命令は、当該分岐命令の分岐条件の判定を予想した結果が予め設定される分岐予測方向ビットを有し、
前記マイクロ命令格納メモリから前記分岐命令が取り出され、該分岐命令について前記パイプライン処理が実行されると、該実行結果に基づいて、該分岐命令の分岐条件が成立したか否かを判定する分岐判定回路と、
前記分岐判定回路の判定結果を前記分岐命令の分岐履歴情報として格納する分岐履歴バッファと、
前記マイクロ命令格納メモリから取り出されたマイクロ命令が前記分岐命令である場合に、前記分岐履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して、前記分岐命令における分岐条件がこれまで何回連続して成立または不成立となったかを調べ、該連続回数が閾値以下の場合は、前記分岐命令に含まれている前記分岐予測方向ビットに設定された値に基づいて前記分岐命令における分岐条件の判定結果を予測し、前記連続回数が前記閾値を超えた場合には、前記履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して前記分岐命令における分岐条件の判定結果を予測する分岐予測方向決定部と、
前記分岐予測方向決定部で予測した判定結果に基づいて、前記マイクロ命令格納メモリからマイクロ命令を先取りするためのアドレスを指定するプログラムカウンタと、を有する、マクロプロセッサ。 - 前記分岐予測方向決定部は、前記連続回数が、前記閾値より小さい別の閾値以下の場合に、前記履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して前記分岐命令における分岐条件の判定結果を予測する、請求項1に記載のマクロプロセッサ。
- 前記分岐予測方向決定部で予測した判定結果を保持する予測情報持ち回りレジスタと、
前記マイクロ命令格納メモリから取り出した分岐命令について、前記分岐判定回路にて分岐条件の判定が行われると、該判定結果と、前記予測情報持ち回りレジスタに保持された、該分岐命令について前記分岐予測方向決定部で予測した判定結果とを比較し、両比較結果が不一致となった場合に、前記マイクロ命令格納メモリから先取りしたマイクロ命令についての処理を全てキャンセルするパイプラインキャンセル判定回路と、をさらに有する、請求項1または2に記載のマクロプロセッサ。 - 分岐命令を含む一連のマイクロ命令が格納されるマイクロ命令格納メモリを備え、該マイクロ命令格納メモリからマイクロ命令を取り出して複数のステージからなるパイプライン処理を実行するとともに、該マイクロ命令のパイプライン処理実行中に、該マイクロ命令の次に実行されるマイクロ命令を前記マイクロ命令格納メモリから先取りするマイクロプロセッサのパイプライン制御方法であって、
前記分岐命令は、当該分岐命令の分岐条件の判定を予想した結果が予め設定される分岐予測方向ビットを有し、
前記マイクロ命令格納メモリから前記分岐命令が取り出され、該分岐命令について前記パイプライン処理が実行されると、該実行結果に基づいて、該分岐命令の分岐条件が成立したか否かを判定する分岐判定ステップと、
前記分岐判定ステップの判定結果を前記分岐命令の分岐履歴情報として分岐履歴バッファに格納する分岐履歴格納ステップと、
前記マイクロ命令格納メモリから取り出されたマイクロ命令が前記分岐命令である場合に、前記分岐履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して、前記分岐命令における分岐条件がこれまで何回連続して成立または不成立となったかを調べ、該連続回数が閾値以下の場合は、前記分岐命令に含まれている前記分岐予測方向ビットに設定された値に基づいて前記分岐命令における分岐条件の判定結果を予測し、前記連続回数が前記閾値を超えた場合には、前記履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して前記分岐命令における分岐条件の判定結果を予測する分岐予測方向決定ステップと、
前記分岐予測方向決定ステップで予測した判定結果に基づいて、前記マイクロ命令格納メモリからのマイクロ命令の先取りを行うマイクロ命令先取りステップと、を含む、パイプライン制御方法。 - 前記分岐予測方向決定ステップは、前記連続回数が、前記閾値より小さい別の閾値以下の場合に、前記履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して前記分岐命令における分岐条件の判定結果を予測するステップを含む、請求項4に記載のパイプライン制御方法。
- 前記分岐予測方向決定ステップで予測した判定結果を予測情報持ち回りレジスタで保持する予測情報保持ステップと、
前記マイクロ命令格納メモリから取り出した分岐命令について、前記分岐判定ステップにて分岐条件の判定が行われると、該判定結果と、前記予測情報持ち回りレジスタに保持された、該分岐命令について前記分岐予測方向決定ステップで予測した判定結果とを比較し、両比較結果が不一致となった場合に、前記マイクロ命令格納メモリから先取りしたマイクロ命令について処理を全てキャンセルするパイプラインキャンセル判定ステップと、をさらに含む、請求項4または5に記載のパイプライン制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006148190A JP4728877B2 (ja) | 2006-05-29 | 2006-05-29 | マイクロプロセッサおよびパイプライン制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006148190A JP4728877B2 (ja) | 2006-05-29 | 2006-05-29 | マイクロプロセッサおよびパイプライン制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007317083A true JP2007317083A (ja) | 2007-12-06 |
JP4728877B2 JP4728877B2 (ja) | 2011-07-20 |
Family
ID=38850866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006148190A Expired - Fee Related JP4728877B2 (ja) | 2006-05-29 | 2006-05-29 | マイクロプロセッサおよびパイプライン制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4728877B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013250593A (ja) * | 2012-05-30 | 2013-12-12 | Renesas Electronics Corp | 半導体装置 |
CN114090077A (zh) * | 2021-11-24 | 2022-02-25 | 海光信息技术股份有限公司 | 调取指令的方法及装置、处理装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51123534A (en) * | 1975-04-21 | 1976-10-28 | Nec Corp | Data processing unit |
JPH01106227A (ja) * | 1987-10-20 | 1989-04-24 | Mitsubishi Electric Corp | 分岐予測機能を有するデータ処理装置 |
JPH08110857A (ja) * | 1994-10-12 | 1996-04-30 | Mitsubishi Electric Corp | 命令処理装置 |
JP2001243070A (ja) * | 2000-02-29 | 2001-09-07 | Toshiba Corp | プロセッサ及び分岐予測方法並びにコンパイル方法 |
-
2006
- 2006-05-29 JP JP2006148190A patent/JP4728877B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51123534A (en) * | 1975-04-21 | 1976-10-28 | Nec Corp | Data processing unit |
JPH01106227A (ja) * | 1987-10-20 | 1989-04-24 | Mitsubishi Electric Corp | 分岐予測機能を有するデータ処理装置 |
JPH08110857A (ja) * | 1994-10-12 | 1996-04-30 | Mitsubishi Electric Corp | 命令処理装置 |
JP2001243070A (ja) * | 2000-02-29 | 2001-09-07 | Toshiba Corp | プロセッサ及び分岐予測方法並びにコンパイル方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013250593A (ja) * | 2012-05-30 | 2013-12-12 | Renesas Electronics Corp | 半導体装置 |
CN114090077A (zh) * | 2021-11-24 | 2022-02-25 | 海光信息技术股份有限公司 | 调取指令的方法及装置、处理装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP4728877B2 (ja) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5889986B2 (ja) | 実行された命令の結果を選択的にコミットするためのシステムおよび方法 | |
JP5917616B2 (ja) | 事前通知技術を用いる、プログラムのシーケンシャルフローを変更するための方法および装置 | |
JP5137948B2 (ja) | ローカル及びグローバル分岐予測情報の格納 | |
CN106681695B (zh) | 提前取出分支目标缓冲器 | |
KR20090094335A (ko) | 서브루틴 호를 인지하기 위한 방법들 및 장치 | |
JP2010509680A (ja) | ワーキング・グローバル・ヒストリ・レジスタを備えるシステム及び方法 | |
US8250344B2 (en) | Methods and apparatus for dynamic prediction by software | |
US20070174592A1 (en) | Early conditional selection of an operand | |
JP2008204357A (ja) | 情報処理装置 | |
US10108419B2 (en) | Dependency-prediction of instructions | |
US20040225866A1 (en) | Branch prediction in a data processing system | |
JP3683439B2 (ja) | 分岐予測を抑止する情報処理装置および方法 | |
JP3811140B2 (ja) | 情報処理装置 | |
JP4728877B2 (ja) | マイクロプロセッサおよびパイプライン制御方法 | |
JP5696210B2 (ja) | プロセッサ及びその命令処理方法 | |
JP2004038338A (ja) | 分岐予測機構を有する情報処理装置 | |
JP2010015298A (ja) | 情報処理装置及び命令フェッチ制御方法 | |
JP4002288B2 (ja) | 情報処理装置 | |
US7343481B2 (en) | Branch prediction in a data processing system utilizing a cache of previous static predictions | |
US6948055B1 (en) | Accuracy of multiple branch prediction schemes | |
JP2006235723A (ja) | 命令フェッチ回路 | |
JP5679263B2 (ja) | 情報処理装置及びマイクロ命令処理方法 | |
JP2006228257A (ja) | 命令制御方法 | |
JP2014059665A (ja) | マイクロコンピュータ及びマイクロコンピュータにおける命令処理方法 | |
JP2006277774A (ja) | 分岐予測機構を有する情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080519 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110210 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110406 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110415 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140422 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |