複数ステージのパイプライン処理構造をもつプロセッサの分岐予測装置であって、複数の命令をアドレスに対応づけて記憶する記憶手段と、前記複数の命令の中から次に実行すべき命令のアドレスを指定する命令フェッチアドレス部と、指定された命令を実行する実行ユニットと、指定された命令のアドレスの履歴から次に実行すべき命令の第1の予測アドレスを出力する第1の分岐予測手段と、指定された命令のアドレスの履歴から次に実行すべき命令の第2の予測アドレスを前記第1の予測アドレスの出力から所定時間遅れて出力する前記第1の分岐予測手段よりも予測精度が高い第2の分岐予測手段と、前記第2の予測アドレスに先行する前記第1の予測アドレスを前記命令フェッチ部に与えると共に、前記第1の予測アドレスと前記第1の予測アドレスに後続する前記第2の予測アドレスが異なるとき前記第2の予測アドレスを前記命令フェッチ部に与える予測結果選択手段と、前記第2の予測アドレスが前記命令フェッチアドレス部に与えられるとき前記第1の予測アドレスの命令の実行の破棄を前記実行ユニットに指示する矛盾検出手段と、を備える分岐予測装置。複数ステージのパイプライン処理構造をもつプロセッサの分岐予測装置であって、複数の命令をアドレスに対応づけて記憶する記憶手段と、前記複数の命令の中から次に実行すべき命令のアドレスを指定する命令フェッチアドレス部と、指定された命令を実行する実行ユニットと、指定された命令のアドレスの履歴から次に実行すべき命令の第1の予測アドレスの列を出力する第1の分岐予測手段と、指定された命令のアドレスの履歴から次に実行すべき命令の第2の予測アドレスの列を前記第1の予測アドレスの出力から所定時間遅れて出力する前記第1の分岐予測手段よりも予測精度が高い第2の分岐予測手段と、前記第1の予測アドレスの列を前記命令フェッチアドレス部に与えると共に、前記第1の予測アドレスの列と前記第2の予測アドレスの列とを比較して対応する予測アドレスに相違があるとき、前記第2の予測アドレスの列のアドレスで前記第1の予測アドレスの列を修正する予測結果選択手段と、前記第2の予測アドレスの列のアドレスが前記命令フェッチアドレス部に与えられるとき前記第1の予測アドレスの列の修正されたアドレスの命令の実行の破棄を前記実行ユニットに指示する矛盾検出手段と、を備える分岐予測装置。前記第1の分岐予測手段の出力と前記第2の分岐予測手段の出力との相互間には、前記パイプライン構造における1ステージ又は複数ステージに対応する時間差がある、請求項1又は2に記載の分岐予測装置。複数ステージのパイプライン処理構造をもつプロセッサの分岐予測装置であって、複数の命令をアドレスに対応づけて記憶する記憶手段と、前記複数の命令の中から次に実行すべき命令のアドレスを指定する命令フェッチアドレス部と、指定された命令を実行する実行ユニットと、指定された命令のアドレスの履歴から次に実行すべき命令の予測アドレスを出力する複数の分岐予測手段と、出力される前記予測アドレスを選択して前記命令フェッチ部に与える予測結果選択手段と、前記予測アドレスの命令の実行の破棄を前記実行ユニットに指示する矛盾検出手段と、を備え、前記複数の分岐予測手段は同時並行的に動作し、各分岐予測手段は予測アドレスを出力する時間が異なり、先行して予測アドレスを出力する分岐予測手段よりも後続して予測アドレスを出力する分岐予測手段の方が予測精度が高くなるように構成されてなり、前記予測結果選択手段は、前記先行して予測アドレスを出力する分岐手段の予測アドレスを前記命令フェッチアドレス部に付与すると共に先行する予測アドレスと後続する予測アドレスとで予測結果が異なるときに後続する予測アドレスを前記命令フェッチアドレス部に付与し、前記矛盾検出手段は、前記予測結果が異なるときに先行する予測アドレスの命令の実行の破棄を前記実行ユニットに指示する、分岐予測装置。複数ステージのパイプライン処理構造をもつプロセッサの分岐予測方式であって、高速で低精度の分岐予測手段と低速で高精度の分岐予測手段を並行して動作させ、先に得られる低精度の予測アドレスを暫定アドレスとして命令フェッチを実行し、前記暫定アドレスと後に得られる高精度の予測アドレスとを比較して予測結果が異なるとき、後に得られる高精度の予測アドレスで命令フェッチを実行すると共にパイプラインの後段で前記暫定アドレスでフェッチされた命令の破棄又は前記暫定アドレスでフェッチされた命令の実行結果を破棄する、プロセッサの分岐予測方式。複数ステージのパイプライン処理構造をもつプロセッサの分岐予測方式であって、指定された命令のアドレスの履歴から次に実行すべき命令の予測アドレスを所定の応答速度と所定の予測精度で出力する第1の分岐予測手段と、指定された命令のアドレスの履歴から次に実行すべき命令の予測アドレスを前記第1の分岐予測手段よりも低応答速度と高い予測精度で出力する第2の分岐予測手段と、指定された命令のアドレスの履歴から次に実行すべき命令の予測アドレスを前記第2の岐予測手段よりも低応答速度と高い予測精度で出力する第3の分岐予測手段と、を備え、前記第1乃至第3の分岐予測手段の出力が同じであるとき、前記第1の分岐予測手段の出力をフェッチすべき命令アドレスとして指定し、前記第2及び第3の分岐予測手段の出力が異なるとき、前記第3の分岐予測手段の出力をフェッチすべき命令アドレスとして指定すると共にパイプラインの後段で前記第1及び第2の分岐予測手段の各出力をフェッチした命令アドレスによる処理を破棄し、前記第1及び第2の分岐予測手段の出力が異なるとき、前記第2の分岐予測手段の出力をフェッチすべき命令アドレスとして指定する共にパイプラインの後段で前記第1の分岐予測手段の出力をフェッチした命令アドレスによる処理を破棄する、プロセッサの分岐予測方式。分岐予測と命令の投機実行は高速動作を実現するパイプライン動作のプロセッサにとって重要な技術である。しかしながら、分岐の予測結果の精度が高い分岐予測方式は入力から予測結果を得るまでの時間が長い。分岐予測結果が得られるまで後続のフェッチが実施できず、パイプライン中にいわゆるバブルが発生する。入力から予測結果を得るまでの時間が短い分岐予測方式は予測結果の精度が低い。分岐予測結果の精度が低いため、多くの投機実行が失敗し、高い性能が得られない。よって、本発明は分岐予測の入力から分岐予測の結果出力までの時間予測レイテンシが短く、高精度の分岐予測が可能な分岐予測装置及び分岐予測方式を提供することを目的とする。上記課題を達成するため本発明の分岐予測装置の一態様は、命令フェッチの履歴から次に実行するフェッチラインを決める複数の分岐予測手段と矛盾検出手段とを備え、複数の分岐予測手段のうち高速な分岐予測手段が出力した予測アドレスで暫定的に命令フェッチアドレスを決め、複数の分岐予測手段のうち高精度で低速な分岐予測手段が出力した予測アドレスと高速な分岐予測手段が出力した予測アドレスとが同じ場合には当該暫定的な命令フェッチアドレスの命令はパイプラインで実行され、異なる場合には低速な分岐予測手段の予測アドレスを命令フェッチアドレスとし、時間軸上において先行する暫定的な命令フェッチアドレスの命令はパイプラインで実行されない破棄される。かかる構成とすることによって、分岐予測時間が短く低予測レイテンシ、予測精度の高い分岐予測装置を得ることが可能となる。また、本発明の分岐予測装置の一態様は、複数ステージのパイプライン処理構造をもつプロセッサの分岐予測装置において、複数の命令をアドレスに対応づけて記憶する記憶手段と、上記複数の命令の中から次に実行すべき命令のアドレスを指定する命令フェッチアドレス部と、指定された命令を実行する実行ユニットと、指定された命令のアドレスの履歴から次に実行すべき命令の第1の予測アドレスを出力する第1の分岐予測手段と、指定された命令のアドレスの履歴から次に実行すべき命令の第2の予測アドレスを上記第1の予測アドレスの出力から所定時間遅れて出力する上記第1の分岐予測手段よりも予測精度が高い第2の分岐予測手段と、上記第2の予測アドレスに先行する上記第1の予測アドレスを上記命令フェッチ部に与えると共に、上記第1の予測アドレスと上記第1の予測アドレスに後続する上記第2の予測アドレスが異なるとき上記第2の予測アドレスを上記命令フェッチ部に与える予測結果選択手段と、上記第2の予測アドレスが上記命令フェッチアドレス部に与えられるとき上記第1の予測アドレスの命令の実行の破棄を上記実行ユニットに指示する矛盾検出手段と、を備える。かかる構成とすることによって、分岐予測時間が短く、予測精度の高い分岐予測装置を得ることが可能となる。また、本発明の分岐予測装置の一態様は、複数ステージのパイプライン処理構造をもつプロセッサの分岐予測装置において、複数の命令をアドレスに対応づけて記憶する記憶手段と、上記複数の命令の中から次に実行すべき命令のアドレスを指定する命令フェッチアドレス部と、指定された命令を実行する実行ユニットと、指定された命令のアドレスの履歴から次に実行すべき命令の第1の予測アドレスの列を出力する第1の分岐予測手段と、指定された命令のアドレスの履歴から次に実行すべき命令の第2の予測アドレスの列を上記第1の予測アドレスの出力から所定時間遅れて出力する上記第1の分岐予測手段よりも予測精度が高い第2の分岐予測手段と、上記第1の予測アドレスの列を上記命令フェッチアドレス部に与えると共に、上記第1の予測アドレスの列と上記第2の予測アドレスの列とを比較して対応する予測アドレスに相違があるとき、上記第2の予測アドレスの列のアドレスで上記第1の予測アドレスの列を修正する予測結果選択手段と、上記第2の予測アドレスの列のアドレスが上記命令フェッチアドレス部に与えられるとき上記第1の予測アドレスの列の修正されたアドレスの命令の実行の破棄を上記実行ユニットに指示する矛盾検出手段と、を備える。かかる構成とすることによって、分岐予測時間が短く、予測精度の高い分岐予測装置を得ることが可能となる。好ましくは、上記第1の分岐予測手段の出力と上記第2の分岐予測手段の出力との相互間には、上記パイプライン構造における1ステージ又は複数ステージに対応する時間差がある。また、本発明の分岐予測装置の一態様は、複数ステージのパイプライン処理構造をもつプロセッサの分岐予測装置において、複数の命令をアドレスに対応づけて記憶する記憶手段と、上記複数の命令の中から次に実行すべき命令のアドレスを指定する命令フェッチアドレス部と、指定された命令を実行する実行ユニットと、指定された命令のアドレスの履歴から次に実行すべき命令の予測アドレスを出力する複数の分岐予測手段と、出力される上記予測アドレスを選択して上記命令フェッチ部に与える予測結果選択手段と、上記予測アドレスの命令の実行の破棄を上記実行ユニットに指示する矛盾検出手段と、を備え、上記複数の分岐予測手段は同時並行的に動作し、各分岐予測手段は予測アドレスを出力する時間が異なり、先行して予測アドレスを出力する分岐予測手段よりも後続して予測アドレスを出力する分岐予測手段の方が予測精度が高くなるように構成されてなり、上記予測結果選択手段は、上記先行して予測アドレスを出力する分岐手段の予測アドレスを上記命令フェッチアドレス部に付与すると共に先行する予測アドレスと後続する予測アドレスとで予測結果が異なるときに後続する予測アドレスを上記命令フェッチアドレス部に付与し、上記矛盾検出手段は、上記予測結果が異なるときに先行する予測アドレスの命令の実行の破棄を上記実行ユニットに指示する。かかる構成とすることによって、分岐予測時間が短く、予測精度の高い分岐予測装置を得ることが可能となる。また、本発明の分岐予測方式の一態様は、複数ステージのパイプライン処理構造をもつプロセッサの分岐予測方式において、高速で低精度の分岐予測手段と低速で高精度の分岐予測手段を並行して動作させ、先に得られる低精度の予測アドレスを暫定アドレスとして命令フェッチを実行し、上記暫定アドレスと後に得られる高精度の予測アドレスとを比較して予測結果が異なるとき、後に得られる高精度の予測アドレスで命令フェッチを実行すると共に上記暫定アドレスでフェッチされた命令の破棄又は上記暫定アドレスでフェッチされた命令の実行結果を破棄する。かかる構成とすることによって、分岐予測時間が短く、予測精度の高い分岐予測装置を得ることが可能となる。また、本発明の分岐予測方式の一態様は、複数ステージのパイプライン処理構造をもつプロセッサの分岐予測方式において、指定された命令のアドレスの履歴から次に実行すべき命令の予測アドレスを所定の応答速度と所定の予測精度で出力する第1の分岐予測手段と、指定された命令のアドレスの履歴から次に実行すべき命令の予測アドレスを上記第1の分岐予測手段よりも低応答速度と高い予測精度で出力する第2の分岐予測手段と、指定された命令のアドレスの履歴から次に実行すべき命令の予測アドレスを上記第2の岐予測手段よりも低応答速度と高い予測精度で出力する第3の分岐予測手段と、を備え、上記第1乃至第3の分岐予測手段の出力が同じであるとき、上記第1の分岐予測手段の出力をフェッチすべき命令アドレスとして指定し、上記第2及び第3の分岐予測手段の出力が異なるとき、上記第3の分岐予測手段の出力をフェッチすべき命令アドレスとして指定すると共にパイプラインの後段で上記第1及び第2の分岐予測手段の各出力をフェッチした命令アドレスによる処理を破棄し、上記第1及び第2の分岐予測手段の出力が異なるとき、上記第2の分岐予測手段の出力をフェッチすべき命令アドレスとして指定する共にパイプラインの後段で上記第1の分岐予測手段の出力をフェッチした命令アドレスによる処理を破棄する。かかる構成とすることによって、分岐予測時間が短く、予測精度の高い分岐予測装置を得ることが可能となる。本発明によれば、分岐予測の入力から分岐予測の結果出力までの時間が短く、高精度の分岐予測が可能な分岐予測装や分岐予測方式を得ることが可能となる。以下、図面を参照しつつ本発明の実施形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせのすべてが発明の解決手段に必須であるとは限らない。装置の構成本発明によるプロセッサに内蔵される分岐予測装置は、相対的に低速で高精度な分岐予測装置と相対的に高速で低精度な分岐予測装置を命令フェッチパイプライン中で協調的に動作させることで高速で高精度な分岐予測を実現する。本実施例では、プロセッサが三段のパイプラインステージを持ち、分岐予測装置が分岐予測手段としての三つ複数の分岐予測部を用いて予測を行い、予測結果に基づいて命令フェッチ機構とパイプラインを制御する場合を例として説明する。第一の分岐予測部100が最も高速で低精度な動作を実現する分岐予測手段であり、第二の分岐予測部101は第一の分岐予測部よりも低速でより精度が高い動作を実現する分岐予測手段である。第三の分岐予測部102は最も低速で最も高精度な動作を実現する分岐予測手段である。分岐予測部には、例えば、単純予測、静的予測、次ライン予測、2レベル分岐予測、局所分岐予測、高域分岐予測、統合分岐予測、合意予測、分岐予測部の上書き、ニューラル分岐予測、L-Tage分岐予測、その他の分岐予測のアルゴリズムを持つ予測機構が適宜に構成される。図1に示すように、本発明の分岐予測装置は、予測結果選択部120と、命令フェッチアドレス部130と、命令キャッシュ部140と、命令デコード部150と、命令フェッチライン有効ビット部160、161と、命令実行ユニット部170と、三つ複数の分岐予測部100、101及び102と、予測情報の結果を参照して後続のフェッチ情報の破棄を行うかを決定する矛盾検出部110及び111、論理ゲートなどを含んで構成されている。ここで、命令フェッチ部130ステージ0、命令キャッシュ部140ステージ1、命令デコード部150、命令実行ユニット部170ステージ2がパイプラインを構成している。また、図1の縦方向にパイプラインの三つのステージステージ0、ステージ1、ステージ2が示されている。各ステージ間のデータ移動はレジスタやデータラッチによって同期される。命令フェッチアドレス130は予測結果選択部120から出力される次に実行すべき命令アドレスを保持し、命令キャッシュ部140に対して命令フェッチ指示を与える。また、命令フェッチアドレス部130は同時に分岐予測部100、101、及び102に対して分岐予測要求を与える。命令フェッチライン有効ビット部160、161は各ステージの命令フェッチデータが有効であるか否かを示す。例えば、ステージ0において命令フェッチ指示で1が命令フェッチ有効ビット部160にセットされる。クロックと同期して後段の命令フェッチライン有効ビット部161複数のパイプラインに伝搬する。途中で分岐予測部の出力相互に不一致が生じた場合には命令フェッチライン有効ビット部はリセットされる。命令キャッシュ部140は命令フェッチアドレス部130から与えられた命令フェッチ指示に従って該当アドレスの命令フェッチ処理を行い、命令部デコード部150に対して命令情報を与える。命令デコード部150は、命令キャッシュ140から出力された命令フェッチライン情報をデコードして命令実行ユニット部170を動作させる制御信号群を形成し、命令実行ユニット部170に与える。同一パイプラインステージの命令フェッチライン有効ビット部161が1セットの場合に命令実行ユニット170に命令の実行の指示が与えられ、0リセットの場合には命令実行ユニット170に命令の実行の指示が与えらず命令実行ユニット170は命令を動作しない、命令は破棄される。複数の分岐予測部100~102はそれぞれ予測結果を分岐予測結果選択部120と後続フェッチライン破棄判定を行う矛盾検出部110及び111に出力する。予測結果選択部120は得られた複数の分岐予測結果のうち適切なものを判定し、命令フェッチアドレス部130に出力する。予測結果選択部120の動作は図2を参照して後述される。命令フェッチアドレス部130に指定された値に従って命令フェッチパイプラインは次サイクル以降のフェッチ処理を継続する。後続フェッチライン破棄判定を行う矛盾検出手段110及び111は分岐予測部間での不整合を検出し、矛盾を検出すると命令破棄指示を命令フェッチライン有効ビット部160及び161に対して出力する後述の図2参照。すなわち、矛盾検出部110は分岐予測部100及び101間での不整合を検出し、矛盾を検出すると命令破棄指示を命令フェッチライン有効ビット部160に対して出力する。また、矛盾検出手段111は分岐予測部101及び102間での不整合を検出し、矛盾を検出すると命令破棄指示を命令フェッチライン有効ビット部160及び161に対して出力する。命令破棄指示は後続のフェッチラインの命令フェッチライン有効ビット部160、161を0にリセットする。命令フェッチライン有効ビット部161を0にリセットすると破棄された命令は実行されない。なお、命令フェッチライン有効ビット部160、161は初期値が1にセットされる。装置の動作の説明次に、上述した分岐予測装置を備えるプロセッサの動作について説明する。まず、命令フェッチアドレス部130はパイプライン動作の各サイクルで命令キャッシュ140に対して命令フェッチ要求を出力する。また、命令フェッチアドレス部130は分岐予測要求を出力する。命令フェッチ要求、分岐予測要求が出力されると、以下のア、イの処理が並行して実行される。ア命令キャッシュ部140は命令フェッチ要求に対応して命令フェッチアドレス部130の値に基づいて命令フェッチを行い、得られた命令情報を命令デコード部150に出力する。命令キャッシュ部140の動作は、命令キャッシュメモリの動作として周知の技術が使用されているのでその説明を省略する。イ分岐予測部100、101、及び102は分岐予測要求が出力されると、異なるタイミングで得られる分岐予測部100、101、及び102の出力を命令フェッチアドレス部130に反映し、矛盾検出部110、111は必要に応じて後続の命令フェッチ結果を破棄する。更に、図2のフローチャートを参照して、上記動作の命令フェッチアドレスの決定と命令フェッチ結果の破棄の判定の動作矛盾検出の動作について説明する。同図に示すように、パイプライン動作が開始されると、矛盾検出部110及び111等からなる矛盾検出手段は分岐予測部100~102の各出力を監視するステップS10。矛盾検出手段は、矛盾検出部111において分岐予測部101と102の各出力が一致しステップS12;Yes、矛盾検出部110において分岐予測部100と101の各出力が一致している場合ステップS14;Yes、予測結果選択部120に第一の分岐予測部100の出力を選択させ、命令アドレス部130に設定するステップS16。矛盾検出手段は、矛盾検出部111において分岐予測部101と102の各出力が一致しステップS12;Yes、矛盾検出部110において分岐予測部100と101の各出力が一致しない場合ステップS14;No、予測結果選択部120に第二の分岐予測部101の出力を選択させ、命令アドレス部130に設定する。同時に後続のフェッチした命令を破棄すべく、命令フェチライン有効ビット部160及び161を0に設定するステップS20。また、矛盾検出手段は、矛盾検出部111において分岐予測部101と102の各出力が一致しない場合ステップS12;No、予測結果選択部120に第三の分岐予測部102の出力を選択させ、命令アドレス部130に設定する。同時に後続のフェッチした命令を破棄すべく、命令フェチライン有効ビット部160を0に設定するステップS18。分岐予測装置は、このような分岐予測の処理ステップS10~S20を繰り返す。具体例次に、図3及び図4に示すタイミングチャートを参照して、本発明の分岐予測装置の命令フェッチ動作により選択される命令アドレスの例について説明する。図3は分岐予測部100乃至102の各予測アドレスが一致する場合の例を示している。図4は、分岐予測部100と101との間、分岐予測部101と102との間で予測アドレスの不一致が生じる場合分岐予測部間で予測アドレスの不一致が発生する場合の例を示している。両図の横軸は時間軸であり、クロック信号T0乃至至T10に従って処理のステージが進む。命令フェッチ動作の概略まず、命令フェッチ処理は命令フェッチアドレスを用いて開始される。時刻T0では所定の命令フェッチアドレスを用いて命令キャッシュに対して命令フェッチ指示を出力する。時刻T0では平行して、第一、第二、第三の分岐予測手段に対して命令フェッチアドレスを出力する。第一の分岐予測手段は時刻T0から時刻T1の間に次の命令フェッチアドレスを計算し出力する。命令フェッチアドレス部ではこの結果を時刻T1の命令フェッチアドレスとして反映する。第二の分岐予測手段は、時刻T1から時刻T2の間で、時刻T0に開始した分岐予測結果を出力する。この結果は時刻T1の第一の分岐予測手段の出力と一致していると仮定する。この場合、後続の命令のフェッチは継続される。時刻T1では並行して、第一、第二、第三の分岐予測手段に対して命令フェッチアドレスを出力する。時刻T1から時刻T2の間では、第一の分岐予測手段が時刻T2のための命令フェッチアドレスを出力する。この場合、図2のフローチャートに従って第一の分岐予測手段の結果が時刻T2のための命令フェッチアドレスとして反映される。第三の分岐予測手段は、時刻T2から時刻T3の間で、時刻T0に開始した分岐予測結果を出力する。この結果は時刻T1から時刻T2に出力された第二の分岐予測手段の出力と一致していると仮定する。この場合、後続の命令フェッチは継続される。時刻T2から時刻T3の間では、第二の分岐予測手段が時刻T1に開始した分岐予測結果を出力する。この結果が時刻T2で得られた第一の分岐予測手段と異なるため図4の例、後続の命令フェッチ有効ビットがリセットされる。時刻T3の命令フェッチアドレスには、第二の分岐予測手段の出力結果が反映される。時刻T3から時刻T4では第三の分岐予測手段が時刻T1に開始した分岐予測結果を出力する。この結果が時刻T2に得られた第二の分岐予測結果と一致していないため、後続の命令フェッチは破棄される。時刻T7は第二の分岐予測手段の出力と第三の分岐予測手段の矛盾した例図4の例である。アドレスC5が次のフェッチアドレスとして選択され、命令フェッチアドレスとして利用される。予測アドレスが一致する場合の例まず、予測アドレスが一致する場合について説明すると、図3に示すように、時刻T0において、命令フェッチアドレス部130は命令フェッチアドレスA0を用いて命令キャッシュ部140に対して命令フェッチ指示を出力する。また、同時に、第一の分岐予測部100、第二の分岐予測部101、第三の分岐予測部102に対して命令フェッチアドレスA0を出力する。なお、命令フェッチライン有効ビット部160、161の初期値は1である。時刻T0から時刻T1の間において、分岐予測部100は次の命令フェッチアドレスA1を計算し出力する。分岐予測部101及び102はまだ予測アドレスを出力しない。予測結果選択部120は分岐予測部100が出力したアドレスA1を選択をする。時刻T1において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA1を反映する。時刻T1から時刻T2の間において、命令フェッチアドレス部130はアドレスA1を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA2を出力する。分岐予測部101は時刻T0に開始した分岐予測結果アドレスA1を出力する。分岐予測部102はまだ予測アドレスの出力を発生しない。矛盾検出部110は分岐予測部101の予測アドレスA1と分岐予測部100の前回の予測アドレスA1が一致したことを判別する。予測結果選択部120は分岐予測部100が出力したアドレスA2を選択する。時刻T2において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA2を反映する。また、矛盾検出部110の一致判別出力により命令フェッチライン有効ビット部160は1が維持され、アドレスA1は破棄されない維持される。時刻T2から時刻T3の間において、命令フェッチアドレス部130はアドレスA2を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA3を出力する。分岐予測部101は分岐予測結果アドレスA2を出力する。分岐予測部102は予測アドレスA1を出力する。矛盾検出部110は分岐予測部101の予測アドレスA2と分岐予測部100の前回の予測アドレスA2との一致を判別する。また、矛盾検出部111は分岐予測部102の予測アドレスA1と分岐予測部101の前回の予測アドレスA1との一致を判別する。予測結果選択部120は分岐予測部100が出力したアドレスA3を選択をする。時刻T3において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA3を反映する。また、矛盾検出部110の一致判別出力により命令フェッチライン有効ビット部160は1となり、アドレスA2は破棄されない維持される。また、矛盾検出部111の一致判別出力により命令フェッチライン有効ビット部160、161は1が維持され、アドレスA0、アドレスA1は破棄されない維持される。それにより、命令アドレスA0、A1の実行結果は破棄されない。時刻T3から時刻T4の間において、命令フェッチアドレス部130はアドレスA3を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA4を出力する。分岐予測部101はアドレスA3を出力する。分岐予測部102は予測アドレスA2を出力する。矛盾検出部110は分岐予測部101の予測アドレスA3と分岐予測部100の前回の予測アドレスA3との一致を判別する。また、矛盾検出部111は分岐予測部102の予測アドレスA2と分岐予測部101の前回の予測アドレスA2との一致を判別する。予測結果選択部120は分岐予測部100が出力したアドレスA4を選択をする。時刻T4において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA4を反映する。また、矛盾検出部110の一致判別出力により命令フェッチライン有効ビット部160は1が維持され、アドレスA3は破棄されない維持される。また、矛盾検出部111の一致判別出力により命令フェッチライン有効ビット部160、161は1が維持され、アドレスA1、アドレスA2は破棄されない維持される。それにより、命令アドレスA1、A2の実行結果は破棄されない。同様の処理が繰り返されて、図3に示すように命令アドレスA0~A9、...がフェッチされる。このように、出力が遅延する第三の分岐予測部102の予測結果を待たずに処理を行うので演算時間が短縮される。予測アドレスが一致しない場合の例次に、図4を参照して分岐予測部間で予測アドレスの不一致が生じる場合について説明する。前述したように、予測時間の短い分岐予測部よりも予測時間の長い分岐予測部の方が予測精度が高いものである。まず、時刻T0において、命令フェッチアドレス部130は命令フェッチアドレスA0を用いて命令キャッシュ部140に対して命令フェッチ指示を出力する。また、同時に第一の分岐予測部100、第二の分岐予測部101、第三の分岐予測部102に対して命令フェッチアドレスA0を出力する。時刻T0から時刻T1の間において、分岐予測部100は次の命令フェッチアドレスA1を計算し出力する。分岐予測部101及び102はまだ出力を発生しない。予測結果選択部120は分岐予測部100が出力したアドレスA1を選択する。なお、命令フェッチライン有効ビット部160、161は1が初期設定されている。時刻T1において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA1を反映する。時刻T1から時刻T2の間において、命令フェッチアドレス部130はアドレスA1を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は予測アドレスA2を出力する。分岐予測部101は時刻T0に開始した分岐予測結果アドレスA1を出力する。分岐予測部102はまだ予測アドレスの出力を発生しない。矛盾検出部110は分岐予測部101の予測アドレスA1と分岐予測部100の前回の予測アドレスA1との一致を判別する。予測結果選択部120は分岐予測部100が出力したアドレスA2を選択する。時刻T2において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA2を反映する。また、矛盾検出部110の一致判別出力により命令フェッチライン有効ビット部160は1が維持され、アドレスA1は破棄されない維持される。時刻T2から時刻T3の間において、命令フェッチアドレス部130はアドレスA2を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA3を出力する。ここで、分岐予測部101は分岐予測結果としてアドレスB2を出力すると仮定する。分岐予測部102は予測アドレスA1を出力する。矛盾検出部110は、分岐予測部101の予測アドレスB2と分岐予測部100の前回の予測アドレスA2とが一致しないので不一致を判別する。また、矛盾検出部111は、分岐予測部102の予測アドレスA1と分岐予測部101の前回の予測アドレスA1との一致を判別する。予測結果選択部120は分岐予測部101が出力したアドレスB2を選択する。時刻T3において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスB2を反映する。また、矛盾検出部110は、分岐予測部100の出力アドレスA2と分岐予測部101の出力アドレスB2が一致しないので命令フェッチライン有効ビット部160に0を設定する。アドレスA2の処理は破棄される。また、矛盾検出部111は、分岐予測部102の予測アドレスA1と分岐予測部101の前回の予測アドレスA1とが一致したので命令フェッチライン有効ビット部161の1を維持する。アドレスA1は破棄されない維持される。それにより、命令アドレスA1の内容の実行結果は破棄されない。時刻T3から時刻T4の間において、命令フェッチアドレス部130はアドレスB2を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA4を出力する。分岐予測部101はまだアドレスを出力しない。ここで、分岐予測部102が予測アドレスC2を出力すると仮定する。矛盾検出部111は、分岐予測部102の予測アドレスC2と分岐予測部101の前回の予測アドレスB2との不一致を判別する。予測結果選択部120は分岐予測部102が出力したアドレスC2を選択する。時刻T4において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスC2を反映する。また、矛盾検出部111は、分岐予測部102の出力予測アドレスC2と分岐予測部101の出力B2が一致しないので命令フェッチライン有効ビット部160及び161を共に0にリセットする。それにより、命令アドレスA2、B2の内容の実行結果は破棄される。時刻T4から時刻T5の間において、命令フェッチアドレス部130はアドレスC2を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA5を出力する。分岐予測部101はまだ予測アドレスを出力しない。分岐予測部102も予測アドレスを出力しない。時刻T5において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA5を反映する。命令フェッチライン有効ビット部160は1にセットされ、命令フェッチライン有効ビット部161は命令フェッチライン有効ビット部160の前回の0出力を取り込んで0を維持する。時刻T5から時刻T6の間において、命令フェッチアドレス部130はアドレスA5を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA6を出力する。分岐予測部101は予測アドレスA5を出力する。分岐予測部102は予測アドレスをまだ出力しない。矛盾検出部110は、分岐予測部101の出力アドレスA5と分岐予測部100の前回の出力アドレスA5との一致を判別する。時刻T6において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA6を反映する。また、矛盾検出部110は、分岐予測部100の出力アドレスA5と分岐予測部101の出力アドレスA5が一致するので命令フェッチライン有効ビット部160の1を維持する。命令フェッチライン有効ビット部161は命令フェッチライン有効ビット部160の前回の1出力を取り込んで1に設定される。時刻T6からT7の間において、命令フェッチアドレス部130はアドレスA6を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA7を出力する。分岐予測部101はアドレスA6を出力する。ここで、分岐予測部102が予測アドレスC5を出力すると仮定する。矛盾検出部111は、分岐予測部102の予測アドレスC5と分岐予測部101の前回の予測アドレスA5との不一致を判別する。予測結果選択部120は分岐予測部102が出力したアドレスC5を選択する。時刻T7において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスC5を反映する。また、矛盾検出部111の不一致出力は、命令フェッチライン有効ビット部160及び161を共に0にリセットする。それにより、命令アドレスA5、A6の内容の実行結果は破棄される。時刻T7から時刻T8の間において、命令フェッチアドレス部130はアドレスC5を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA8を出力する。分岐予測部101はまだ予測アドレスを出力しない。分岐予測部102も予測アドレスを出力しない。時刻T8において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA8を反映する。命令フェッチライン有効ビット部160は1にセットされ、命令フェッチライン有効ビット部161は命令フェッチライン有効ビット部160の前回の0出力を取り込んで0を維持する。時刻T8から時刻T9の間において、命令フェッチアドレス部130はアドレスA8を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA9を出力する。分岐予測部101は予測アドレスA8を出力する。分岐予測部102は予測アドレスをまだ出力しない。矛盾検出部110は、分岐予測部101の出力アドレスA8と分岐予測部100の前回の出力アドレスA8との一致を判別する。時刻T9において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA9を反映する。また、矛盾検出部110は、分岐予測部100の前回出力アドレスA8と分岐予測部101の出力アドレスA8が一致するので命令フェッチライン有効ビット部160の1を維持する。命令フェッチライン有効ビット部161は命令フェッチライン有効ビット部160の前回の1出力を取り込んで1に設定される。時刻T9からT10の間において、命令フェッチアドレス部130はアドレスA9を命令キャッシュ部140、分岐予測部100~102に出力する。分岐予測部100は次の予測アドレスA10を出力する。分岐予測部101はアドレスA9を出力する。分岐予測部102が予測アドレスA8を出力する。矛盾検出部111は、分岐予測部102の予測アドレスA8と分岐予測部101の前回の予測アドレスA8との一致を判別する。予測結果選択部120は分岐予測部102が出力したアドレスA8を選択する。時刻T10において、命令フェッチアドレス部130は命令フェッチアドレスとしてアドレスA10を反映する。以下、同様の処理が繰り返されて、図4に示すように命令アドレスA0、A1、C2、C5、A8、A9、A10、...がフェッチされる。このように、出力が遅延する第三の分岐予測部102の予測結果を待たずに処理を行うので演算時間予測レイテンシが短縮される。実施例の効果図5を参照して実施例の構成による予測例について説明する。例えば、図1に示す例において、第一の分岐予測手段が70の精度、第二の分岐予測手段が90の精度、第三の分岐予測手段が95の精度であった場合、平均のレイテンシは図5の結果から1.54となる。第三の分岐予測手段のレイテンは3サイクルであるため、予測精度を維持しながら約2倍の高速化が実現できる。以上説明しように本発明の実施形態によれば、高精度の分岐予測手段を採用した場合に問題となるパイプラインバブルの発生を抑制することができる。例えば、単純に第三の分岐予測手段のみを採用すると、時刻T1で得られた分岐予測結果アドレスA1への分岐が時刻T3まで得られない。逆に、第一の分岐予測手段のみを採用すると、時刻T2で得られた分岐予測結果の予測成功率は80程度なので高い確率で命令の実行が失敗する。本発明を採用することにより高い予測精度を実質的に短いレイテンシで計算でき、命令フェッチパイプラインの効率化が実現できる。なお、上記発明の実施の形態を通じて説明された実施例や応用例は、用途に応じて適宜に組み合わせて、又は変更若しくは改良を加えて用いることができ、本発明は上述した実施形態の記載に限定されるものではない。そのような組み合わせ又は変更若しくは改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。産業上の利用の可能性本発明は高性能なプロセッサに適用できる。特に、深いパイプラインを持つプロセッサに有効である。