(57)【特許請求の範囲】
【請求項１】
分岐予測の結果に応じて分岐予測の状態を示す分岐予測データを決定し、該分岐予測データに応じて分岐予測を行う演算装置において、
前記分岐予測データを保持する分岐予測テーブルと、
前記分岐予測の履歴を保持するレジスタと、
前記分岐予測の履歴に対応した分岐予測補助データを保持する分岐予測補助テーブルと、
前記分岐予測更新データを保持する分岐方向遷移テーブルと、
分岐予測を制御する制御部とを有し、
前記制御部は、前記レジスタに保持された分岐予測の履歴に基づいて前記分岐予測補助テーブルより分岐予測補助データを読み出し、
前記分岐予測補助データに基づいて前記分岐方向遷移テーブルから前記分岐予測更新データを読み出し、
前記分岐予測更新データに基づいて前記分岐予測テーブルを更新することを特徴とする演算装置。
【請求項２】
前記分岐方向遷移テーブルは、分岐予測の遷移方向の重みが異なる情報を記憶する複数のテーブルを備え、
前記制御部は、前記複数のテーブルのうち前記分岐予測補助データに対応したテーブルを選択することを特徴とする請求項１記載の演算装置。
【請求項３】
前記分岐予測補助テーブルは、ｒビットのフィールド及びｓビットのフィールドからなるｎビットデータを保持しており、
前記ｒビットのフィールドには、前記分岐予測の結果の履歴が格納されており、
前記ｓビットのフィールドには、前記分岐方向遷移テーブルを選択するための値が格納されており、
前記ｓビットのフィールドは、前記ｒビットのフィールドの値に応じて更新されることを特徴とする請求項１又は２記載の演算装置。
【請求項４】
分岐予測の結果に応じて分岐予測の状態を示す分岐予測データを決定し、該分岐予測データに応じて分岐予測を行なう分岐予測方法において、
分岐予測の履歴に応じて分岐予測補助データを取得し、
前記取得された分岐予測補助データに応じて分岐予測更新データを取得し、
取得された分岐予測更新データに基づいて前記分岐予測データを更新することを特徴とする分岐予測方法。
【請求項５】
前記分岐予測更新データは、前記分岐予測履歴に応じて重み付けがなされたテーブルから取得されることを特徴とする請求項４記載の分岐予測方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は分岐予測方法及び演算装置並びに計算装置に係り、特に、分岐命令に応じて分岐予測を行う際に用いられる分岐予測方法及び演算装置並びに計算装置に関する。
【０００２】
近年、マイクロプロセッサでは、処理の高速化のためパイプライン方式を用いたマイクロプロセッサが主流となっている。また、マイクロプロセッサでは、処理の高速化のため分岐命令が発生した場合、分岐の度合いに応じて分岐方向を予測し、処理を進めることにより処理を高速化する方式が取られている。
【０００３】
パイプライン方式に分岐予測を適用した場合、分岐予測をミスした時に、パイプラインの各スロットに現在の処理に関与しないパイプラインバブルが生じ、性能が大幅に低下する。パイプラインバブルは、マイクロプロセッサの動作周波数の上昇に伴い、マイクロプロセッサの全体の性能に大きく影響を与える。
【０００４】
そこで、高い分岐予測ヒット率をめざしてさまざまな分岐予測手法が提案されている。そのなかでも、二段分岐予測手法は、現状最も有効な分岐予測手法である。
【０００５】
この二段分岐予測手法では、分岐予測テーブルが正しい方向に更新されるまでには、複数回の分岐ミスを検出する必要があった。特に, スーパースカラ方式のプロセッサでは、複数命令を同時に実行する分、分岐予測ミスの回数が増加し、性能低下への影響が大きくなる。そこで、プロファイリングの結果を容易に分岐予測に反映できる方法が望まれている。
【０００６】
【従来の技術】
図１は従来の計算装置の一例のブロック構成図を示す。
【０００７】
計算装置１は、演算装置２、メインメモリ３、ハードディスクドライブ４、入力装置５、表示装置６、バス７から構成される。
【０００８】
演算装置２は、データの演算を行なう。メインメモリ３は、演算装置２の作業用記憶領域として用いられ、演算すべきデータや命令、演算結果などが一時的に保持される。ハードディスクドライブ４は、演算装置２で実行されるプログラムやデータを記憶する。入力装置５は、キーボードやマウスなどから構成され、プログラムの実行の指示やデータ入力に用いられる。表示装置６は、演算装置２での演算結果などを表示する。バス７は、演算装置２、メインメモリ３、ハードディスクドライブ４、入力装置５、表示装置６を接続する。
【０００９】
図２は従来の演算装置の一例のブロック構成図を示す。
【００１０】
従来の演算装置２は、キャッシュメモリ１１、命令フェッチ部１２、命令デコード部１３、演算部１４、マルチプレクサ１３、リオーダバッファ１４、制御部１５, 分岐予測部１６から構成される。
【００１１】
キャッシュメモリ１１は、主記憶部からの命令、データを保持する。命令フェッチ部１２は、キャッシュメモリ１１に記憶された情報を順次フェッチする。命令フェッチ部１２にフェッチされた命令は、命令デコード部１３に供給される。
【００１２】
命令デコード部１３は, 命令をデコードする。命令デコード部１３からの命令は、演算部１４に供給される。演算部１４は、命令デコード部１３からの命令を実行する。演算部１４は、整数演算部１９、浮動小数点演算部２０、機能ユニット２１から構成される。整数演算部１９は、整数演算を実行する。浮動小数点演算部２０は、浮動小数点演算を実行する。機能ユニット２１は、予め設定された他の機能を実現する。演算部１４で実行された演算結果は、マルチプレクサ１５に供給される。マルチプレクサ１５は、整数演算部１９、浮動小数点演算部２０、機能ユニット２１のいずれかの演算結果をキャッシュメモリ１１に供給する。また、演算部５は、リオーダ要求を出力する。
【００１３】
リオーダバッファ１６は、演算部１４からのリオーダ要求を保持する。リオーダバッファ１６に保持されたリオーダ要求は、制御部１７に供給される。制御部１７は、キャッシュメモリ１１、命令フェッチ部１２、命令デコード部１３、演算部１４、マルチプレクサ１５, リオーダバッファ１６を制御し、命令の実行を制御する。分岐予測部１８は、命令コードに応じて分岐予測を行う。
【００１４】
図３は従来の演算装置の一例の分岐予測部のブロック構成図を示す。
【００１５】
分岐予測部１８は、分岐ヒストリレジスタ２２、インデックス合成回路２３、分岐予測テーブル部２４、マルチプレクサ２５、分岐予測制御部２６から構成される。
【００１６】
分岐ヒストリレジスタ２２は、分岐予測のヒットあるいはミスの履歴が時間順に保持される。
【００１７】
図４は従来の演算装置の一例の分岐ヒストリレジスタデータ構成図を示す。
【００１８】
分岐ヒストリレジスタ２２は、所定数のビット列から構成される。ビット列の各ビットは、過去の分岐予測に対応している。分岐ヒストリレジスタ２２の各ビットには、分岐予測結果に応じた値が記憶される。
【００１９】
分岐予測結果に応じた値は、分岐が成功したときに「１」、分岐が失敗したときに「０」とされる。分岐ヒストリレジスタ２２に保持されたビット列は、インデックス合成回路２３に供給される。
【００２０】
インデックス合成回路２３は、制御部１７からのプログラムカウント値と分岐ヒストリレジスタ２２からの分岐ヒストリ値とを合成する。インデックス合成回路２３での合成結果に応じて分岐予測テーブル部２４が参照される。
【００２１】
分岐予測テーブル部２４は、ｎ個の分岐予測テーブル２４−１〜２４−ｎから構成される。分岐予測テーブル２４−１〜２４−ｎは、プログラムカウント値に応じて選択される。分岐予測データは、選択された分岐予測テーブル２４−ｘから分岐ヒストリレジスタ２２の値に応じて選択される。ここで、分岐予測テーブル２４−ｘは、分岐予測テーブル２４−１〜２４−ｎのうちの所望の分岐予測テーブルである。
【００２２】
図５は従来の演算装置の一例の分岐予測テーブルのデータ構成図を示す。
【００２３】
分岐予測テーブル２４−ｘは、制御部１７からのプログラムカウント値ａx と分岐ヒストリレジスタ２２からの分岐ヒストリ値ｂm との合成値がアドレスとされ、アドレスに応じた分岐予測データｃが記憶されている。
【００２４】
分岐予測データｃは、２ビットのデータであり、４つの分岐予測状態を示している。分岐予測データｃは、「００」のときにはＳＮＴ（Strongly not Taken）状態、「０１」のときにはＷＮＴ（Weakly Not Taken) 状態、「１０」のときにはＷＴ（Weakly Taken）状態、ＳＴ（Strongly Taken）状態を示す。
【００２５】
ＳＮＴ状態は分岐しない状態、ＷＮＴ状態は分岐が少行なわれる状態、ＷＴ状態は多少分岐する状態、ＳＴは分岐予測する状態を示す。
【００２６】
分岐予測テーブル部２４は、インデックス合成回路２３をアドレスとされ、分岐予測データｃが読み出される。分岐予測テーブル部２４から読み出された分岐予測データｃは、制御部１７に供給される。制御部１７は、分岐予測制御部１８からの分岐予測データｃに応じて分岐命令を投機的に実行する。
【００２７】
図６は従来の演算装置の一例の動作説明図を示す。
【００２８】
図６で、ＳＮＴ状態で分岐予測ミスが発生した場合、分岐予測ミスが分岐ヒストリ値に反映される。分岐ヒストリ値によって、分岐予測データが決定され、ＳＮＴ状態を示す「００」が分岐予測データとして出力される。
【００２９】
また、ＳＮＴ状態で分岐予測がヒットした場合、分岐予測ヒットが分岐ヒストリ値に反映される。ＳＮＴ状態で分岐予測がヒットした場合、分岐予測がヒットする確率が向上したので、分岐予測データはＷＮＴ状態を示す「０１」が分岐予測データとして出力される。
【００３０】
ＷＮＴ状態で分岐予測をミスした場合には、分岐予測データがＳＮＴ状態を示す「００」に戻される。ＷＮＴ状態で分岐予測がヒットした場合には、さらに、分岐予測がヒットする確率が向上するので、分岐予測データはＷＴ状態を示す「１０」に変更される。また、ＷＴ状態で分岐予測がミスした場合には、分岐予測データは、ＷＮＴ状態を示す「０１」に変更される。
【００３１】
さらに、ＷＴ状態で分岐予測がミスした場合、分岐予測データはＷＮＴ状態の戻される。ＷＴ状態で分岐予測がヒットした場合には、分岐予測データはＳＴ状態を示す「１１」に変更される。
【００３２】
このように、分岐予測データｃは、分岐ヒストリ値に応じて変更されていた。また、プログラムカウント値に応じて分岐予測テーブル１５−１〜１５−ｎを切り換えることにより、プログラム位置に応じた分岐予測制御を可能としていた。
【００３３】
【発明が解決しようとする課題】
しかるに、従来の分岐予測方法では、分岐ヒストリ、及び、プログラムカウント値によって予測分岐データが決定されていたため、分岐ヒストリに分岐予測結果が蓄積されないと、正確な分岐予測が行えないなどの問題点があった。
【００３４】
本発明は上記の点に鑑みてなされたもので、正確な分岐予測が行える演算装置及び分岐予測方法並びに計算装置を提供することを目的とする。
【００３５】
【課題を解決するための手段】
本発明は、分岐予測の結果に応じて分岐予測の状態を示す分岐予測データを決定し、該分岐予測データに応じて分岐予測を行う演算装置において、前記分岐予測データを保持する分岐予測テーブルと、前記分岐予測の履歴を保持するレジスタと、前記分岐予測の履歴に対応した分岐予測補助データを保持する分岐予測補助テーブルと、前記分岐予測更新データを保持する分岐方向遷移テーブルと、分岐予測を制御する制御部とを有し、前記制御部は、前記レジスタに保持された分岐予測の履歴に基づいて前記分岐予測補助テーブルより分岐予測補助データを読み出し、前記分岐予測補助データに基づいて前記分岐方向遷移テーブルから前記分岐予測更新データを読み出し、前記分岐予測更新データに基づいて前記分岐予測テーブルを更新することを特徴とする。
【００３６】
本発明によれば、分岐予測の成否に応じて最適な分岐予測データを得ることができるため、正確な分岐予測が可能となり、また、分岐予測の履歴に応じて分岐予測の方向に重み付けを行なうことができ、迅速に正確な分岐予測を行なうことができる。
【００４２】
【発明の実施の形態】
図７は本発明の一実施例のブロック構成図を示す。同図中、図２と同一構成部分には同一符号を付し、その説明は省略する。また、計算装置全体の構成も図１と同一であるので、その説明は省略する。
【００４３】
本実施例の演算装置１００は、分岐予測部１０１の構成が図１の演算装置とは相違する。
【００４４】
図８は本発明の一実施例の分岐予測部のブロック構成図を示す。同図中、図３と同一構成部分には同一符号を付し、その説明は省略する。
【００４５】
分岐予測部１０１は、分岐ヒストリレジスタ２２、インデックス合成回路２３、分岐予測テーブル部２４、マルチプレクサ２５、分岐予測制御部２６に加えて、分岐予測修正回路１０２を有する。分岐予測修正回路１０２は、プロファイル情報テーブル１０３、分岐予測補助テーブル部１０４、分岐方向遷移テーブル部１０５、マルチプレクサ１０６、１０７から構成される。
【００４６】
プロファイル情報テーブル１０３は、プロファイル情報を記憶する。プロファイル情報は、分岐予測補助テーブル部１０４の更新を制御するための情報である。プロファイル情報は、対応するビットが「１」に設定されているときには、分岐予測補助テーブル部１０３から出力される分岐予測補助データを固定にし、対応するビットが「０」に設定されているときには、分岐予測補助テーブル部１０４からの分岐予測補助データを更新可能にする。分岐予測補助テーブル部１０４は、分岐予測補助データを保持する。
【００４７】
図９は本発明の一実施例の分岐予測補助テーブル部のデータ構成図を示す。
【００４８】
分岐予測補助テーブル部１０４は、ｍ個の分岐予測補助テーブル１０４−１〜１０４−ｍから構成される。分岐補助テーブル１０３−ｘは、ｎビットのビット列から構成される。ビット列は、ｒフィールド及びｓフィールドの２つのビットフィールドから構成される。ｒフィールドには、過去の分岐予測のヒット・ミスの履歴が記憶される。ｓフィールドには、分岐方向遷移テーブル部１０４を選択するための値が記憶される。分岐予測補助テーブル部１０４は、分岐予測制御部２６からのエントリによりデータ（ｒ、ｓ）を出力する。分岐予測補助テーブル部１０４の出力は、マルチプレクサ１０６を介して分岐予測制御部２６に供給される。
【００４９】
分岐方向遷移テーブル部１０５は、２n ＝ｍ個の分岐方向遷移テーブル１０５−１〜１０５−ｍから構成される。分岐方向遷移テーブル１０５−１〜１０５−ｍは、分岐予測制御部２６からの分岐予測データをエントリとして、分岐予測更新データを出力する。分岐予測更新データは、分岐予測データと同様に、「００」、「０１」、「１０」、「１１」から構成される。分岐予測更新データ「００」は、分岐予測データと同様にＳＮＴ状態を示す。分岐予測更新データ「０１」は、分岐予測データと同様にＷＮＴ状態を示す。分岐予測更新データ「１０」は、分岐予測データと同様にＷＴ状態を示す。分岐予測更新データ「１１」は、分岐予測データと同様にＳＴ状態を示す。
【００５０】
図１０は本発明の一実施例の分岐方向遷移テーブルのデータ構成図を示す。
【００５１】
分岐方向遷移テーブル１０５−ｘは、ｓフィールドの値によってｍ個の分岐方向遷移テーブル１０５−１〜１０５−ｍから選択される。選択された分岐方向遷移テーブル１０５−ｘは、分岐予測データが「００」、「０１」、「１０」、「１１」がエントリとされている。分岐方向遷移テーブル１０５−ｘは、分岐予測データ「００」、「０１」、「１０」、「１１」毎に４ビットのビット列が設定されている。ビット列は、１ビット目が分岐予測更新データ「００」に対応しており、２ビット目が分岐予測更新データ「０１」に対応しており、３ビット目が分岐予測更新データ「１０」に対応しており、４ビット目が分岐予測更新データ「１１」に対応している。ビットの値が「１」の分岐予測更新データが出力される。
【００５２】
例えば、ｓフィールド値により分岐方向遷移テーブル１０５−１〜１０５−ｍから分岐方向遷移テーブル１０５−ｘが選択されたとする。また、このときの分岐予測データが「０１」であるとする。
【００５３】
図１０において分岐方向遷移テーブル１０５−ｘの遷移エントリ「０１」のビット列は、「００１０」である。ビット列「００１０」は、３ビット目が「１」である。ビット列の３ビット目は、分岐予測データ「１０」に対応する。よって、分岐予測データ「１０」が出力される。
【００５４】
なお、分岐方向遷移テーブル１０５−１〜１０５−ｍのビットパターンは、ＳＮＴ状態に遷移が行われ易いビットパターンや、ＷＮＴ状態やＷＮ状態に遷移が行なわれ易いビットパターンや、ＳＴ状態に遷移が行なわれ易いビットパターンから構成される。このビットパターンにより遷移の重み付けが行なわれる。このような分岐方向遷移テーブル１０５−１〜１０５−ｍから分岐履歴に応じてヒューリスティックに分岐方向遷移テーブルを選択する。例えば、分岐履歴に「Ｔａｋｅｎ」が多い場合には、ＳＴ状態、ＷＴ状態方向へのスレッシュホールドが低く、ＳＮＴ状態、ＷＮＴ状態方向へのスレッシュホールドが高く設定された分岐方向遷移テーブルを選択する。また、「Ｎｏｔ−Ｔａｋｅｎ」が多い場合には、ＳＴ状態、ＷＴ状態方向へのスレッシュホールドが高く、ＳＮＴ状態、ＷＮＴ状態方向へのスレッシュホールドが低く設定された分岐方向遷移テーブルを選択する。
【００５５】
マルチプレクサ１０７には、ｓフィールドの値が供給される。マルチプレクサは、ｓフィールドの値によって、分岐方向遷移テーブル部１０５−ｘからの出力分岐予測データを選択出力する。
【００５６】
マルチプレクサ１０７で選択出力された分岐予測更新データは、分岐予測制御部２６に供給される。分岐予測制御部２６は、マルチプレクサ１０７からの分岐予測更新データにより分岐ヒストリテーブル部２４の対応する分岐予測データを更新する。
【００５７】
更新された分岐予測データは、マルチプレクサ２５を介して分岐予測制御部２６に供給され、分岐予測に用いられる。
【００５８】
また、分岐予測制御部２６は、分岐予測補助テーブル部１０４からのｒフィールドの出力値に応じてｓフィールドの値を更新する。例えば、ｒフィールドの値の「０」の割合が所定の値より多い場合、すなわち、分岐予測にミスが割合より多い場合には、対応するｓフィールドの値を更新する。ｓフィールドの値を更新することにより、分岐方向遷移テーブル部１０５で選択される分岐方向遷移テーブル１０５−ｘが切り換えられる。分岐予測制御部２６は、分岐予測データに応じて制御部１７を制御して、分岐予測されたデータを更新する。
【００５９】
図１１は本発明の一実施例の分岐予測部の動作フローチャートを示す。
【００６０】
ステップＳ１は、制御部１７からの分岐予測結果により、分岐予測がヒットしたかミスしたかを判断する。ステップＳ１で分岐予測結果がヒットであると判断された場合、ステップＳ６が実行される。ステップＳ６で、分岐予測結果に応じて分岐ヒストリレジスタ２２が更新される。
【００６１】
また、ステップＳ１で、分岐予測結果がミスであると判断された場合、ステップＳ２が実行される。
【００６２】
ステップＳ２は、分岐ヒストリレジスタを参照する。ステップＳ３は、分岐ヒストリレジスタの参照結果から分岐予測の正当率が所定の正当率以上か否かを判定する。正当率は、分岐ヒストリレジスタの全ビットのうちの「１」のビット占める割合から算出される。
【００６３】
ステップＳ３は、この割合が所定の値以上であるか否かを判定する。ステップＳ３で、正当率が所定の値以上であると判断されると、そのまま処理を終了する。また、ステップＳ３で、正当率が所定の値以下のときは、ステップＳ４が実行される。
【００６４】
ステップＳ４は、最適な遷移エントリを選択する。ステップＳ４では、まず、分岐ヒストリレジスタのビットパターンに応じて分岐予測補助表を参照され、ビットパターンに応じた分岐予測補助値が取得される。次に、分岐予測補助値に応じて分岐方向遷移テーブルが参照され、最適な遷移エントリが取得される。
【００６５】
ステップＳ５は、ステップＳ４で取得された最適遷移エントリを分岐予測更新データとして出力する。
【００６６】
ステップＳ６で、ステップＳ５で出力された分岐予測更新データにより分岐予測テーブル部２４を更新する。
【００６７】
図１２は本発明の一実施例の動作説明図を示す。
【００６８】
上記の動作によれば、ＳＮＴ状態からＷＮＴ状態、ＷＮＴ状態からＳＮＴ状態、ＷＮＴ状態からＷＴ状態、ＷＴ状態からＷＮＴ状態、ＷＴ状態からＳＴ状態、ＳＴ状態からＷＴ状態への遷移の確率を自由に設定できる。
【００６９】
例えば、図１２に示すようにＳＮＴ状態からＷＮＴ状態への遷移の確率を５０パーセント、ＷＮＴ状態からＳＮＴ状態への遷移の確率を１０パーセント、ＷＮＴ状態からＷＴ状態への遷移の確率を４０パーセント、ＷＴ状態からＷＮＴ状態への遷移の確率を２０パーセント、ＷＴ状態からＳＴ状態への、ＳＴ状態からＷＴ状態への遷移の確率を７０パーセントに設定できる。図１２の遷移状態では、例えば、ＳＮＴ状態で分岐予測がヒットすれば、５０パーセントの確率で、ＷＮＴ状態に遷移する。
【００７０】
以上、本実施例によれば、分岐ミスを低減するような分岐方向遷移テーブルを使用することができるので、パイプラインプロセッサにおける分岐予測ミスによるパイプラインバブルを低減させることができる。よって、マイクロプロセッサの実効処理性能を向上させることができる。
【００７１】
なお、本実施例は、下記の発明を含む。
【００７２】
請求項５において、前記分岐予測データ修正手段は、前記分岐予測の成否の履歴に応じて予め重み付けされた複数の分岐予測変更テーブルから所定の分岐予測変更テーブルを選択し、選択された分岐予測更新テーブルより前記分岐予測データに応じた分岐予測更新データを読み出し、前記分岐予測データとすることを有することを特徴とする演算装置。
【００７３】
請求項５又は６において、前記分岐予測データ修正手段は、前記分岐予測データが記憶された分岐予測テーブルから前記前記分岐命令に応じた分岐予測データを取得する分岐予測データ取得手段と、前記分岐予測データに応じて分岐予測補助データを取得する分岐予測補助データ取得手段と、前記遷移の方向の重みが異なる記憶された複数の分岐予測更新テーブルから前記分岐予測補助データに応じた分岐予測更新テーブルを選択し、前記分岐予測データに応じた分岐予測更新データを出力する分岐予測更新テーブル選択手段と、前記分岐予測更新テーブルからの分岐予測更新データに応じてに前記分岐予測テーブルを更新する分岐予測テーブル更新手段とを有することを特徴とする演算装置。
【００７４】
請求項５乃至７において、前記分岐予測データ修正手段が、予め設定されたプロファイル情報に応じて前記分岐予測データの遷移方向の重み付けを設定することを特徴とする演算装置。
【００７５】
【発明の効果】
上述の如く、本発明によれば、分岐予測の成否に応じて最適な分岐予測データを得ることができるため、正確な分岐予測が可能となり、また、分岐予測の履歴に応じて分岐予測の方向に重み付けを行なうことができ、迅速に正確な分岐予測を行なうことができる。
【図面の簡単な説明】
【図１】従来の計算装置の一例のブロック構成図である。
【図２】従来の演算装置の一例のブロック構成図である。
【図３】従来の演算装置の一例の分岐予測部のブロック構成図である。
【図４】従来の演算装置の一例の分岐ヒストリレジスタのデータ構成図である。
【図５】従来の演算装置の一例の分岐予測テーブル部のデータ構成図である。
【図６】従来の演算装置の一例の動作説明図である。
【図７】本発明の一実施例のブロック構成図である。
【図８】本発明の一実施例の分岐予測部のブロック構成図である。
【図９】本発明の一実施例の分岐予測補助テーブル部のデータ構成図である。
【図１０】本発明の一実施例の分岐方向遷移テーブルのデータ構成図である。
【図１１】本発明の一実施例の分岐予測部の動作フローチャートである。
【図１２】本発明の一実施例の動作説明図である。
【符号の説明】
１  計算装置
２  演算装置
３  メインメモリ
４  ハードディスクドライブ
５  入力装置
６  表示装置
７  バス
１１  キャッシュメモリ
１２  命令フェッチ部
１３  命令デコード部
１４  演算部
１５  マルチプレクサ
１６  リオーダバッファ
１７  制御部
２２  分岐ヒストリレジスタ
２３  インデックス合成回路
２４  分岐予測テーブル部
２５  マルチプレクサ
２６  分岐予測制御部
１００  演算装置
１０１  分岐予測部
１０２  分岐予測修正回路
１０３  プロファイル情報テーブル
１０４  分岐予測補助テーブル部
１０５  分岐方向遷移テーブル部
１０６，１０７  マルチプレクサ
【図１】
0003764019.tif 000002
【図２】
0003764019.tif 000003
【図３】
0003764019.tif 000004
【図４】
0003764019.tif 000005
【図５】
0003764019.tif 000006
【図６】
0003764019.tif 000007
【図７】
0003764019.tif 000008
【図８】
0003764019.tif 000009
【図９】
0003764019.tif 000010
【図１０】
0003764019.tif 000011
【図１１】
0003764019.tif 000012
【図１２】
0003764019.tif 000013