JP4728877B2 - マイクロプロセッサおよびパイプライン制御方法 - Google Patents
マイクロプロセッサおよびパイプライン制御方法 Download PDFInfo
- Publication number
- JP4728877B2 JP4728877B2 JP2006148190A JP2006148190A JP4728877B2 JP 4728877 B2 JP4728877 B2 JP 4728877B2 JP 2006148190 A JP2006148190 A JP 2006148190A JP 2006148190 A JP2006148190 A JP 2006148190A JP 4728877 B2 JP4728877 B2 JP 4728877B2
- Authority
- JP
- Japan
- Prior art keywords
- branch
- instruction
- determination
- prediction
- pipeline
- 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.)
- Expired - Fee Related
Links
Images
Description
分岐命令を含む一連の命令が格納される命令格納メモリを備え、該命令格納メモリから命令を取り出して複数のステージからなるパイプライン処理を実行するとともに、該命令のパイプライン処理実行中に、該命令の次に実行される命令を前記命令格納メモリから先取りするマイクロプロセッサであって、
前記分岐命令は、当該分岐命令の分岐条件の判定を予想した結果が予め設定される分岐予測方向ビットを有し、
前記命令格納メモリから前記分岐命令が取り出され、該分岐命令について前記パイプライン処理が実行されると、該実行結果に基づいて、該分岐命令の分岐条件が成立したか否かを判定する分岐判定回路と、
前記分岐判定回路の判定結果を前記分岐命令の分岐履歴情報として格納する分岐履歴バッファと、
前記命令格納メモリから取り出された命令が前記分岐命令である場合に、前記分岐履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して、前記分岐命令における分岐条件の成立または不成立の目下の連続回数を調べ、該連続回数が閾値以下の場合は、前記分岐命令に含まれている前記分岐予測方向ビットに設定された値に基づいて前記分岐命令における分岐条件の判定結果を予測し、前記連続回数が前記閾値を超えた場合には、前記履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して前記分岐命令における分岐条件の判定結果を予測する分岐予測方向決定部と、
前記分岐予測方向決定部で予測した判定結果に基づいて、前記命令格納メモリからマイクロ命令を先取りするためのアドレスを指定するプログラムカウンタと、を有する。
2 マイクロ命令格納メモリ
3 デコーダ
4 命令レジスタ
5 アドレス生成回路
6 オペランド取り出し回路
7 演算結果格納レジスタ
8 分岐判定回路
9 パイプラインキャンセル判定回路
10 分岐履歴バッファ
11〜14 予測情報持ち回りレジスタ
15 分岐履歴バッファ格納情報生成回路
16 分岐予測方向決定回路
17 選択回路
Claims (4)
- 分岐命令を含む一連の命令が格納される命令格納メモリを備え、該命令格納メモリから命令を取り出して複数のステージからなるパイプライン処理を実行するとともに、該命令のパイプライン処理実行中に、該命令の次に実行される命令を前記命令格納メモリから先取りするマイクロプロセッサであって、
前記分岐命令は、当該分岐命令の分岐条件の判定を予想した結果が予め設定される分岐予測方向ビットを有し、
前記命令格納メモリから前記分岐命令が取り出され、該分岐命令について前記パイプライン処理が実行されると、該実行結果に基づいて、該分岐命令の分岐条件が成立したか否かを判定する分岐判定回路と、
前記分岐判定回路の判定結果を前記分岐命令の分岐履歴情報として格納する分岐履歴バッファと、
前記命令格納メモリから取り出された命令が前記分岐命令である場合に、前記分岐履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して、前記分岐命令における分岐条件の成立または不成立の目下の連続回数を調べ、該連続回数が閾値以下の場合は、前記分岐命令に含まれている前記分岐予測方向ビットに設定された値に基づいて前記分岐命令における分岐条件の判定結果を予測し、前記連続回数が前記閾値を超えた場合には、前記履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して前記分岐命令における分岐条件の判定結果を予測する分岐予測方向決定部と、
前記分岐予測方向決定部で予測した判定結果に基づいて、前記命令格納メモリからマイクロ命令を先取りするためのアドレスを指定するプログラムカウンタと、を有する、マイクロプロセッサ。 - 前記分岐予測方向決定部で予測した判定結果を保持する予測情報持ち回りレジスタと、
前記命令格納メモリから取り出した分岐命令について、前記分岐判定回路にて分岐条件の判定が行われると、該判定結果と、前記予測情報持ち回りレジスタに保持された、該分岐命令について前記分岐予測方向決定部で予測した判定結果とを比較し、両比較結果が不一致となった場合に、前記命令格納メモリから先取りした命令についての処理を全てキャンセルするパイプラインキャンセル判定回路と、をさらに有する、請求項1に記載のマイクロプロセッサ。 - 分岐命令を含む一連の命令が格納される命令格納メモリを備え、該命令格納メモリから命令を取り出して複数のステージからなるパイプライン処理を実行するとともに、該命令のパイプライン処理実行中に、該命令の次に実行される命令を前記命令格納メモリから先取りするマイクロプロセッサのパイプライン制御方法であって、
前記分岐命令は、当該分岐命令の分岐条件の判定を予想した結果が予め設定される分岐予測方向ビットを有し、
前記命令格納メモリから前記分岐命令が取り出され、該分岐命令について前記パイプライン処理が実行されると、該実行結果に基づいて、該分岐命令の分岐条件が成立したか否かを判定する分岐判定ステップと、
前記分岐判定ステップの判定結果を前記分岐命令の分岐履歴情報として分岐履歴バッファに格納する分岐履歴格納ステップと、
前記命令格納メモリから取り出された命令が前記分岐命令である場合に、前記分岐履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して、前記分岐命令における分岐条件の成立または不成立の目下の連続回数を調べ、該連続回数が閾値以下の場合は、前記分岐命令に含まれている前記分岐予測方向ビットに設定された値に基づいて前記分岐命令における分岐条件の判定結果を予測し、前記連続回数が前記閾値を超えた場合には、前記履歴バッファに格納された前記分岐命令に関する分岐履歴情報を参照して前記分岐命令における分岐条件の判定結果を予測する分岐予測方向決定ステップと、
前記分岐予測方向決定ステップで予測した判定結果に基づいて、前記命令格納メモリからの命令の先取りを行う命令先取りステップと、を含む、パイプライン制御方法。 - 前記分岐予測方向決定ステップで予測した判定結果を予測情報持ち回りレジスタで保持する予測情報保持ステップと、
前記命令格納メモリから取り出した分岐命令について、前記分岐判定ステップにて分岐条件の判定が行われると、該判定結果と、前記予測情報持ち回りレジスタに保持された、該分岐命令について前記分岐予測方向決定ステップで予測した判定結果とを比較し、両比較結果が不一致となった場合に、前記命令格納メモリから先取りした命令について処理を全てキャンセルするパイプラインキャンセル判定ステップと、をさらに含む、請求項3に記載のパイプライン制御方法。
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 JP2007317083A (ja) | 2007-12-06 |
JP4728877B2 true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013250593A (ja) * | 2012-05-30 | 2013-12-12 | Renesas Electronics Corp | 半導体装置 |
CN114090077B (zh) * | 2021-11-24 | 2023-01-31 | 海光信息技术股份有限公司 | 调取指令的方法及装置、处理装置及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001243070A (ja) * | 2000-02-29 | 2001-09-07 | Toshiba Corp | プロセッサ及び分岐予測方法並びにコンパイル方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5815809B2 (ja) * | 1975-04-21 | 1983-03-28 | 日本電気株式会社 | ジヨウホウシヨリソウチ |
JPH0760386B2 (ja) * | 1987-10-20 | 1995-06-28 | 三菱電機株式会社 | 分岐予測機能を有するデータ処理装置 |
JP3494484B2 (ja) * | 1994-10-12 | 2004-02-09 | 株式会社ルネサステクノロジ | 命令処理装置 |
-
2006
- 2006-05-29 JP JP2006148190A patent/JP4728877B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001243070A (ja) * | 2000-02-29 | 2001-09-07 | Toshiba Corp | プロセッサ及び分岐予測方法並びにコンパイル方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2007317083A (ja) | 2007-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5889986B2 (ja) | 実行された命令の結果を選択的にコミットするためのシステムおよび方法 | |
JP5917616B2 (ja) | 事前通知技術を用いる、プログラムのシーケンシャルフローを変更するための方法および装置 | |
EP2069915B1 (en) | Methods and system for resolving simultaneous predicted branch instructions | |
JP5209633B2 (ja) | ワーキング・グローバル・ヒストリ・レジスタを備えるシステム及び方法 | |
US20090125707A1 (en) | System and method for speculative global history prediction updating | |
JP5815596B2 (ja) | プロシージャリターンシーケンスを加速するための方法およびシステム | |
KR20090094335A (ko) | 서브루틴 호를 인지하기 위한 방법들 및 장치 | |
KR101048178B1 (ko) | 링크 스택 회로를 정정하는 방법 및 장치 | |
US20040225866A1 (en) | Branch prediction in a data processing system | |
JP3683439B2 (ja) | 分岐予測を抑止する情報処理装置および方法 | |
JP4728877B2 (ja) | マイクロプロセッサおよびパイプライン制御方法 | |
JP2001236224A (ja) | 分岐予測テーブル汚染の低減方法 | |
JP3839755B2 (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 | |
JP3971780B2 (ja) | 命令制御方法 | |
JP2006235723A (ja) | 命令フェッチ回路 | |
JPH09311787A (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 |