(57)【要約】【課題】十分に短い時間で、より高精度な分岐予測結果を生成することができる動的分岐予測装置を提供する。【解決手段】動的分岐予測装置１００は、各分岐命令に関するローカル分岐履歴を保持するローカル分岐履歴テーブル１０２と、実行完了分岐命令アドレス１０９と、ローカル分岐履歴テーブル１０２から読み出したローカル分岐履歴とから、インデックスをそれぞれ計算する複数のインデックス計算回路１０３と、インデックス計算回路１０３が計算したインデックスを用いて、予測結果を求める複数のパターン履歴テーブル１０４と、パターン履歴テーブル１０４の出力の総和を計算し、その総和を分岐予測結果として出力する分岐予測結果演算回路１０５と、分岐予測結果を記憶する分岐予測キャッシュメモリ１０８と、を備える。【選択図】図１
2008217687.tif 000002
【特許請求の範囲】
【請求項１】
各分岐命令に関するローカル分岐履歴を保持するローカル分岐履歴テーブルと、
実行完了分岐命令アドレスと、前記ローカル分岐履歴テーブルから読み出したローカル分岐履歴とから、インデックスをそれぞれ計算する少なくとも二つのインデックス計算回路と、
前記インデックス計算回路が計算した前記インデックスを用いて、予測結果を求める少なくとも一つのパターン履歴テーブルと、
前記パターン履歴テーブルの出力の総和を計算し、その総和を分岐予測結果として出力する分岐予測結果演算回路と、
前記分岐予測結果を記憶する分岐予測キャッシュメモリと、
を備える動的分岐予測装置。
【請求項２】
前記インデックス計算回路と同数のパターン履歴テーブルを備えており、前記パターン履歴テーブルの各々は前記インデックス計算回路の各々と対応しており、前記パターン履歴テーブルの各々は、対応する前記インデックス計算回路が計算した前記インデックスを用いて、独立に各々の予測結果を求めるものであることを特徴とする請求項１に記載の動的分岐予測装置。
【請求項３】
前記インデックス計算回路はそれぞれ異なる分岐履歴長を利用するものであることを特徴とする請求項２に記載の動的分岐予測装置。
【請求項４】
前記分岐履歴長は次式により表されることを特徴とする請求項３に記載の動的分岐予測装置。
Ｌ（ｊ）＝Ｌ（１）・α（ｊ−１）
Ｌ（ｊ）：ｊ番目のインデックス計算回路の分岐履歴長
Ｌ（１）：１を超える定数
α：１を超える定数
【請求項５】
前記分岐予測結果は前記実行完了分岐命令アドレスをキーとして前記分岐予測キャッシュメモリに記憶されるものであることを特徴とする請求項１乃至４の何れか一項に記載の動的分岐予測装置。
【請求項６】
前記分岐予測結果は予測対象分岐命令アドレスをキーとして前記分岐予測キャッシュメモリから読み出されることを特徴とする請求項５に記載の動的分岐予測装置。
【請求項７】
前記ローカル分岐履歴テーブル及び前記パターン履歴テーブルの内容は、実行完了した分岐命令の実行結果によって、更新されることを特徴とする請求項１乃至６の何れか一項に記載の動的分岐予測装置。
【請求項８】
各分岐命令に関するローカル分岐履歴を保持するローカル分岐履歴テーブルと、
実行完了分岐命令アドレスと、前記ローカル分岐履歴テーブルから読み出した任意のローカル分岐履歴とから、インデックスを計算するとともに、前記インデックスを用いて、分岐予測結果を求める分岐予測器と、
前記分岐予測結果を記憶する分岐予測キャッシュメモリと、
を備える動的分岐予測装置。
【請求項９】
前記分岐予測キャッシュメモリは１リード１ライトのＳＲＡＭから構成されていることを特徴とする請求項１乃至８の何れか一項に記載の動的分岐予測装置。
【請求項１０】
インデックスをそれぞれ計算する少なくとも二つのインデックス計算回路において、実行完了分岐命令アドレスと、各分岐命令に関するローカル分岐履歴とから、インデックスをそれぞれ計算する第一の過程と、
前記第一の過程において計算された前記インデックスの各々を用いて、相互に独立に各々の予測結果を求める第二の過程と、
前記第二の過程における出力の総和を計算し、その総和を分岐予測結果として出力する第三の過程と、
前記第三の過程において出力された前記分岐予測結果を記憶する第四の過程と、
を備える動的分岐予測方法。
【請求項１１】
動的分岐予測方法をコンピュータに実行させるためのプログラムであって、
前記プログラムが行う処理は、
インデックスをそれぞれ計算する少なくとも二つのインデックス計算回路において、実行完了分岐命令アドレスと、各分岐命令に関するローカル分岐履歴とから、インデックスをそれぞれ計算する第一の処理と、
前記第一の処理において計算された前記インデックスの各々を用いて、相互に独立に各々の予測結果を求める第二の処理と、
前記第二の処理における出力の総和を計算し、その総和を分岐予測結果として出力する第三の処理と、
前記第三の処理において出力された前記分岐予測結果を記憶する第四の処理と、
からなるものであるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ローカル分岐履歴を用いた分岐予測装置及び分岐予測方法に関する。
【背景技術】
【０００２】
これまでに、ローカル分岐履歴を用いて動的分岐予測を行う装置が多数提案されている。図４は、そのようなローカル分岐履歴を用いる従来の動的分岐予測装置の構成を示すブロック図である。
【０００３】
図４に示すように、従来の動的分岐予測装置２００は、ローカル分岐履歴テーブル２０２と、インデックス計算回路２０３と、パターン履歴テーブル２０４と、分岐予測結果演算回路２０５と、から構成されている。
【０００４】
ローカル分岐履歴テーブル２０２は、各分岐命令に関するローカル分岐履歴を保持している。
【０００５】
インデックス計算回路２０３は、分岐命令アドレス２０１と、ローカル分岐履歴テーブル２０２から読み出したローカル分岐履歴とから、インデックスを計算する。
【０００６】
ターン履歴テーブル２０４は、インデックス計算回路２０３が計算したインデックスを用いて、予測結果を求める。
【０００７】
分岐予測結果演算回路２０５は、パターン履歴テーブル２０４の出力の総和を計算し、その総和を分岐予測結果２０６として出力する。
【０００８】
このように、従来の動的分岐予測装置２００においては、分岐予測結果２０６は単一のパターン履歴テーブル２０４を用いて計算されていた。
【特許文献１】特開２００１−０１４１６２号公報（図１）
【特許文献２】特開２０００−１３２３９１号公報（図１）
【特許文献３】特開２００５−０３２０２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来のローカル分岐履歴を用いた動的分岐予測装置２００には次のような課題があった。
【００１０】
第１の課題は、ローカル分岐履歴テーブル２０２とパターン履歴テーブル２０４との二つのテーブルにアクセスする必要があるため、十分に短い時間で分岐予測結果２０６を生成することができないという点である。
【００１１】
第２の課題は、単一のパターン履歴テーブル２０４を用いて分岐予測を行うため、十分に高度な分岐予測結果２０６を生成することができないという点である。
【００１２】
本発明は、以上のような従来の動的分岐予測装置２００における問題点に鑑みてなされたものであり、十分に短い時間で、より高精度な分岐予測結果を生成することができる動的分岐予測装置及び動的分岐予測方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の目的を達成するため、本発明は、各分岐命令に関するローカル分岐履歴を保持するローカル分岐履歴テーブルと、実行完了分岐命令アドレスと、前記ローカル分岐履歴テーブルから読み出したローカル分岐履歴とから、インデックスをそれぞれ計算する少なくとも二つのインデックス計算回路と、前記インデックス計算回路が計算した前記インデックスを用いて、予測結果を求める少なくとも一つのパターン履歴テーブルと、前記パターン履歴テーブルの出力の総和を計算し、その総和を分岐予測結果として出力する分岐予測結果演算回路と、前記分岐予測結果を記憶する分岐予測キャッシュメモリと、を備える動的分岐予測装置を提供する。
【００１４】
本発明に係る動的分岐予測装置は、前記インデックス計算回路と同数のパターン履歴テーブルを備えることができる。この場合には、前記パターン履歴テーブルの各々は前記インデックス計算回路の各々と対応しており、前記パターン履歴テーブルの各々は、対応する前記インデックス計算回路が計算した前記インデックスを用いて、独立に各々の予測結果を求めるものであることが好ましい。
【００１５】
前記インデックス計算回路はそれぞれ異なる分岐履歴長を利用するものであることが好ましい。
【００１６】
前記分岐履歴長は、例えば、次式により表される。
【００１７】
Ｌ（ｊ）＝Ｌ（１）・α（ｊ−１）
Ｌ（ｊ）：ｊ番目のインデックス計算回路の分岐履歴長
Ｌ（１）：１を超える定数
α：１を超える定数
前記分岐予測結果は前記実行完了分岐命令アドレスをキーとして前記分岐予測キャッシュメモリに記憶されるものであることが好ましい。
【００１８】
前記分岐予測結果は予測対象分岐命令アドレスをキーとして前記分岐予測キャッシュメモリから読み出されることが好ましい。
【００１９】
前記ローカル分岐履歴テーブル及び前記パターン履歴テーブルの内容は、実行完了した分岐命令の実行結果によって、更新されることが好ましい。
【００２０】
本発明は、さらに、各分岐命令に関するローカル分岐履歴を保持するローカル分岐履歴テーブルと、実行完了分岐命令アドレスと、前記ローカル分岐履歴テーブルから読み出した任意のローカル分岐履歴とから、インデックスを計算するとともに、前記インデックスを用いて、分岐予測結果を求める分岐予測器と、前記分岐予測結果を記憶する分岐予測キャッシュメモリと、を備える動的分岐予測装置を提供する。
【００２１】
前記分岐予測キャッシュメモリは、例えば、１リード１ライトのＳＲＡＭから構成することができる。
【００２２】
本発明は、さらに、インデックスをそれぞれ計算する少なくとも二つのインデックス計算回路において、実行完了分岐命令アドレスと、各分岐命令に関するローカル分岐履歴とから、インデックスをそれぞれ計算する第一の過程と、前記第一の過程において計算された前記インデックスの各々を用いて、相互に独立に各々の予測結果を求める第二の過程と、前記第二の過程における出力の総和を計算し、その総和を分岐予測結果として出力する第三の過程と、前記第三の過程において出力された前記分岐予測結果を記憶する第四の過程と、を備える動的分岐予測方法を提供する。
【００２３】
本発明は、さらに、動的分岐予測方法をコンピュータに実行させるためのプログラムであって、前記プログラムが行う処理は、インデックスをそれぞれ計算する少なくとも二つのインデックス計算回路において、実行完了分岐命令アドレスと、各分岐命令に関するローカル分岐履歴とから、インデックスをそれぞれ計算する第一の処理と、前記第一の処理において計算された前記インデックスの各々を用いて、相互に独立に各々の予測結果を求める第二の処理と、前記第二の処理における出力の総和を計算し、その総和を分岐予測結果として出力する第三の処理と、前記第三の処理において出力された前記分岐予測結果を記憶する第四の処理と、からなるものであるプログラムを提供する。
【発明の効果】
【００２４】
本発明に係る動的分岐予測装置においては、分岐予測結果は予め計算され、計算された分岐予測結果は分岐予測キャッシュメモリに格納される。分岐予測結果は、予測対象分岐命令アドレスをキーとして、分岐予測キャッシュメモリから直接的に読み出される。このため、分岐予測のレイテンシを低減させることが可能である。
【００２５】
本発明に係る動的分岐予測装置においては、複数のパターン履歴テーブルを用いて、分岐予測結果が計算される。このため、単一のパターン履歴テーブル２０４を用いて分岐予測結果を計算していた従来の動的分岐予測装置２００（図４参照）と比較して、より高精度な分岐予測結果を生成できることが可能である。
【発明を実施するための最良の形態】
【００２６】
（第一の実施形態）
図１は、本発明の第一の実施形態に係る動的分岐予測装置１００の構造を示すブロック図である。
【００２７】
本実施形態に係る動的分岐予測装置１００は、例えば、中央演算処理装置に搭載されて使用される。
【００２８】
本実施形態に係る動的分岐予測装置１００は、ローカル分岐履歴テーブル１０２と、Ｎ（Ｎは２以上の正の整数）個のインデックス計算回路１０３と、各々がＮ個のインデックス計算回路１０３の各々に対応しているＮ個のパターン履歴テーブル１０４と、分岐予測結果演算回路１０５と、分岐予測キャッシュメモリ１０８と、から構成されている。
【００２９】
ローカル分岐履歴テーブル１０２は、実行完了分岐命令アドレス１０９をキーとして、各分岐命令に関連するローカル分岐履歴を保持している。
【００３０】
実行完了分岐命令アドレス１０９は更新対象となる実行が完了した分岐命令のアドレスを表している。
【００３１】
Ｎ個のインデックス計算回路１０３の各々は、実行完了分岐命令アドレス１０９と、ローカル履歴テーブル１０４から読み出したローカル分岐履歴とから、Ｎ個のインデックス計算回路１０３の各々に対応するパターン履歴テーブル１０４に対するインデックスを計算する。
【００３２】
なお、各インデックス計算回路１０３はそれぞれ異なる分岐履歴長を利用しており、各インデックス計算回路１０３が利用する分岐履歴長は次式により表される。
【００３３】
Ｌ（ｊ）＝Ｌ（１）・α（ｊ−１）
Ｌ（ｊ）：ｊ番目のインデックス計算回路の分岐履歴長
Ｌ（１）：１を超える定数
α：１を超える定数
Ｎ個のパターン履歴テーブル１０４の各々は、それに対応するインデックス計算回路１０３が計算したインデックスを用いて、独立に予測結果を求める。求められた予測結果は分岐予測結果演算回路１０５に出力される。
【００３４】
分岐予測結果演算回路１０５は各パターン履歴テーブル１０４からの出力の総和をとり、その総和を分岐予測結果１０６として出力する。
【００３５】
分岐予測結果演算回路１０５から出力された分岐予測結果１０６は分岐予測キャッシュメモリ１０８に格納される。
【００３６】
図２は、本実施形態に係る動的分岐予測装置１００を中央処理装置（ＣＰＵ）を用いて構成した場合の一例を示すブロック図である。
【００３７】
動的分岐予測装置１００は、中央処理装置（ＣＰＵ）１２０と、第１メモリー１２１と、第１メモリー１２２と、各種命令及びデータを中央処理装置１２０に入力するための入力インターフェイス１２３と、中央処理装置１２０により実行された処理の結果を出力する出力インターフェイス１２４と、中央処理装置１２０と他の構成要素とを接続するバス１２５と、から構成されている。
【００３８】
第１及び第２メモリー１２１、１２２の各々は、リード・オンリー・メモリー（ＲＯＭ）、ランダム・アクセス・メモリー（ＲＡＭ）またはＩＣメモリーカードなどの半導体記憶装置、フレキシブルディスクなどの記憶媒体、ハードディスク、あるいは、光学磁気ディスクなどからなる。例えば、第１メモリー１２１はＲＯＭからなり、第２メモリー１２２はＲＡＭからなる。
【００３９】
第１メモリー１２１は中央処理装置１２０が実行するための各種の制御用プログラムその他の固定的なデータを格納している。第２メモリー１２２は様々なデータ及びパラメータを記憶しているとともに、中央処理装置１２０に対する作動領域を提供する、すなわち、中央処理装置１２０がプログラムを実行する上で一時的に必要とされるデータを格納している。中央処理装置１２０は第１メモリー１２１からプログラムを読み出し、そのプログラムを実行する。すなわち、中央処理装置１２０は第１メモリー１２１に格納されているプログラムに従って作動する。
【００４０】
図２に示されるように、中央処理装置１２０及び第１及び第２メモリー１２１、１２２は、機能的には、ローカル分岐履歴テーブル１０２と、インデックス計算回路１０３と、パターン履歴テーブル１０４と、分岐予測結果演算回路１０５と、分岐予測キャッシュメモリ１０８と、を構成している。
【００４１】
ローカル分岐履歴テーブル１０２及びパターン履歴テーブル１０４の内容は、中央演算処理装置（図示せず）の分岐命令ユニット（図示せず）から得られた分岐命令実行結果１０７に基づいて更新される。分岐命令実行結果１０７は実行完了した分岐命令の実行結果を表す。ローカル分岐履歴テーブル１０２及びパターン履歴テーブル１０４の更新された内容を用いることにより、各パターン履歴テーブル１０４は、次回の分岐予測結果を計算する。
【００４２】
各パターン履歴テーブル１０４において計算された分岐予測結果は分岐予測結果演算回路１０５において全て加算される。この加算結果が分岐予測結果として分岐予測キャッシュメモリ１０８に記憶される。
【００４３】
分岐予測キャッシュメモリ１０８は、分岐予測結果演算回路１０５において計算された分岐予測結果の総和を、実行完了分岐命令アドレス１０９をキーとして格納する。
【００４４】
また、分岐予測キャッシュメモリ１０８から分岐予測結果を読み出す際には、予測対象分岐命令アドレス１０１をキーとして、分岐予測結果が分岐予測キャッシュメモリ１０８から読み出される。予測対象分岐命令アドレス１０１は予測対象となる分岐命令のアドレスを表す。
【００４５】
例えば、分岐予測キャッシュメモリ１０８は１リード１ライトのＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）から構成することができる。
【００４６】
以下、本実施形態に係る動的分岐予測装置１００の動作、すなわち、予測手順及びデータの更新手順を説明する。
【００４７】
まず、予測手順に関して説明する。
【００４８】
本実施形態に係る動的分岐予測装置１００が搭載されている中央演算処理装置において、分岐命令がメモリからフェッチされたときには、その分岐命令アドレス１０１をキーとして用いて、分岐予測キャッシュメモリ１０８から値を読み出す。
【００４９】
その分岐予測キャッシュメモリ１０８から読み出された値が本実施形態に係る動的分岐予測装置１００によって生成された分岐予測結果１０６となる。
【００５０】
次に、更新手順に関して説明する。
【００５１】
まず、各パターン履歴テーブル１０４を更新する必要があるか否かを以下の式（１）を用いて計算する。
【００５２】
予測値×Ｘ＜θ    （１）
予測値：予測時に生成された予測値
Ｘ：分岐命令実行結果１０７がＴａｋｅｎである場合には１、分岐命令実行結果１０７がＴａｋｅｎではない場合には−１
θ：閾値
（予測値×Ｘ）の値がθよりも小さい場合には、すなわち、式（１）が成立する場合には、各パターン履歴テーブル１０４を更新する必要はないものと判定される。
【００５３】
逆に、（予測値×Ｘ）の値がθよりも小さくない場合には、すなわち、式（１）が成立しない場合には、各パターン履歴テーブル１０４を更新する必要があるものと判定される。
【００５４】
各パターン履歴テーブル１０４を更新する必要があるものと判定された場合、本実施形態に係る動的分岐予測装置１００が搭載された中央演算処理装置において、分岐命令の実行が完了したときに、その分岐命令実行結果１０７及び実行完了分岐命令アドレス１０９を用いて、各パターン履歴テーブル１０４が更新される。
【００５５】
具体的には、以下のようにして、各パターン履歴テーブル１０４が更新される。
【００５６】
まず、更新直前のローカル分岐履歴１０２において、実行完了分岐命令アドレス１０９を用いて、更新直前の分岐履歴を得ると同時に、そのエントリを１ビット分だけシフトさせる。このシフトによって空いた１ビットに分岐命令実行結果１０７を挿入する。
【００５７】
次いで、各インデックス計算回路１０３を用いて、更新直前の分岐履歴と実行完了分岐命令アドレス１０９のハッシュ値（以下、「第１ハッシュ値」と呼ぶ）とを計算する。
【００５８】
同様に、各インデックス計算回路１０３を用いて、更新直後の分岐履歴と実行完了分岐命令アドレス１０９のハッシュ値（以下、「第２ハッシュ値」と呼ぶ）とを計算する。
【００５９】
式（１）の計算結果が真である場合には、パターン履歴テーブル１０４の第１ハッシュ値の示すエントリの値を予測方向が真ならば＋１、真でないならば−１とする。
【００６０】
パターン履歴テーブル１０４の第２ハッシュ値の示すエントリから値を読み出す。
【００６１】
分岐予測結果計算回路１０５は、パターン履歴テーブル１０４の第２ハッシュ値の示すエントリから読み出された複数の整数値の総和を計算し、これを分岐予測値として出力する。
【００６２】
分岐予測結果計算回路１０５から出力された分岐予測値を分岐予測キャッシュメモリ１０８内のエントリであって、実行完了分岐命令アドレス１０９が指定するエントリに格納する。
【００６３】
本実施形態に係る動的分岐予測装置１００によれば、以下のような効果を得ることができる。
【００６４】
本実施形態に係る動的分岐予測装置１００においては、分岐予測結果は予め計算され、計算された分岐予測結果は分岐予測キャッシュメモリ１０８に格納される。このため、第１の効果として、本実施形態に係る動的分岐予測装置１００によれば、分岐予測のレイテンシを低減させることが可能である。
【００６５】
本実施形態に係る動的分岐予測装置１００においては、Ｎ（Ｎは２以上の正の整数）個のパターン履歴テーブル１０４を用いて、分岐予測結果が計算される。このため、第２の効果として、単一のパターン履歴テーブル２０４を用いて分岐予測結果を計算していた従来の動的分岐予測装置２００（図４参照）と比較して、より高精度な分岐予測結果を生成できることが可能である。
【００６６】
なお、本実施形態に係る動的分岐予測装置１００を利用することにより、従来の動的分岐予測装置２００（図４参照）と比較して、分岐予測の精度を８％以上向上させることができた。
【００６７】
なお、本実施形態に係る動的分岐予測装置１００は上記の構成に限定されるものではなく、種々の改変が可能である。
【００６８】
例えば、本実施形態に係る動的分岐予測装置１００は、インデックス計算回路１０３と同数のＮ個のパターン履歴テーブル１０４を有するものとして構成されているが、Ｎ個のパターン履歴テーブル１０４に代えて、単一のパターン履歴テーブル１０４を有するものとして構成することも可能である。本実施形態に係る動的分岐予測装置１００が単一のパターン履歴テーブル１０４を有する場合には、分岐予測結果は各インデックス計算回路１０３に対応して順番に単一のパターン履歴テーブル１０４から分岐予測結果塩山回路１０５に出力され、分岐予測結果演算回路１０５はそれらの出力の総和を演算する。
【００６９】
また、複数のインデックス計算回路１０３は排他的論理和を利用したインデックス計算回路として構成することが可能であり、あるいは、単に複数のインデックス計算回路１０３を相互にビット連結などで連結することにより実現することもできる。
【００７０】
（第二の実施形態）
図３は、本発明の第二の実施形態に係る動的分岐予測装置３００の構造を示すブロック図である。
【００７１】
本実施形態に係る動的分岐予測装置３００は、第一の実施形態に係る動的分岐予測装置１００と同様に、例えば、中央演算処理装置に搭載されて使用される。
【００７２】
本実施形態に係る動的分岐予測装置３００は、ローカル分岐履歴テーブル３０２と、分岐予測器３０３と、分岐予測キャッシュメモリ３０８と、から構成されている。
【００７３】
ローカル分岐履歴テーブル３０２は第一の実施形態に係る動的分岐予測装置１００におけるローカル分岐履歴テーブル１０２と同様の構成及び機能を有している。
【００７４】
また、分岐予測キャッシュメモリ３０８は第一の実施形態に係る動的分岐予測装置１００における分岐予測キャッシュメモリ１０８と同様の構成及び機能を有している。
【００７５】
本実施形態に係る動的分岐予測装置３００は、第一の実施形態に係る動的分岐予測装置１００と比較して、Ｎ個のインデックス計算回路１０３とＮ個のパターン履歴テーブル１０４と分岐予測結果演算回路１０５とに代えて、分岐予測器３０３を備えている。
【００７６】
分岐予測器３０３は、ローカル分岐履歴テーブル３０２に格納されているローカル分岐履歴のうちの任意のローカル分岐履歴を用いて分岐予測を行う機能を有している。すなわち、分岐予測器３０３は、第一の実施形態に係る動的分岐予測装置１００におけるＮ個のインデックス計算回路１０３とＮ個のパターン履歴テーブル１０４と分岐予測結果演算回路１０５と同等の機能を有している。
【００７７】
分岐予測器３０３が出力した分岐予測結果は実行完了分岐命令アドレス３０９をキーとして分岐予測キャッシュメモリ３０８に格納される。
【００７８】
本実施形態に係る動的分岐予測装置３００によれば、第一の実施形態に係る動的分岐予測装置１００と同等の効果を得ることができるとともに、分岐予測の予測レイテンシをさらに低減することが可能である。
【産業上の利用可能性】
【００７９】
本発明に係る動的分岐予測装置は、例えば、高性能計算を要求される中央演算処理装置に搭載することができる。
【図面の簡単な説明】
【００８０】
【図１】本発明の第一の実施形態に係る動的分岐予測装置の構造を示すブロック図である。
【図２】本発明の第一の実施形態に係る動的分岐予測装置を中央処理装置（ＣＰＵ）を用いて構成した場合の一例を示すブロック図である。
【図３】本発明の第二の実施形態に係る動的分岐予測装置の構造を示すブロック図である。
【図４】従来の動的分岐予測装置の構造を示すブロック図である。
【符号の説明】
【００８１】
１００  本発明の第一の実施形態に係る動的分岐予測装置
１０１  予測対象分岐命令アドレス
１０２  ローカル分岐履歴テーブル
１０３  インデックス計算回路
１０４  パターン履歴テーブル１０４
１０５  分岐予測結果演算回路
１０６  分岐予測結果
１０７  分岐命令実行結果
１０８  分岐予測キャッシュメモリ
１０９  実行完了分岐命令アドレス
１２０  中央処理装置（ＣＰＵ）
１２１  第一メモリ
１２２  第二メモリ
１２３  入力インターフェイス
１２４  出力インターフェイス
３００  本発明の第二の実施形態に係る動的分岐予測装置
３０２  ローカル分岐履歴テーブル
３０３  分岐予測器
３０８  分岐予測キャッシュメモリ
【図１】
2008217687.tif 000003
【図２】
2008217687.tif 000004
【図３】
2008217687.tif 000005
【図４】
2008217687.tif 000006