分岐予測(ぶんきよそく)
プロセッサが条件分岐命令を処理する際、分岐条件の判定結果が確定する前に、過去の実績や命令の性質から次に進むべき命令列をあらかじめ推測する仕組み。パイプライン処理において分岐先が決まるまでの待ち時間を減らし、命令供給の停滞を防ぐ制御ハザード対策として用いられる。
詳細解説
条件分岐命令では、演算結果が出るまで後続としてどちらの命令を取り込むべきか確定しません。そこで分岐予測を行い、推測した経路の命令を先行してパイプラインに投入して処理を進める投機実行と組み合わせることで、プロセッサの利用効率を高めます。予測が的中すれば待ち時間なしで処理を継続できますが、外れた場合は先行して進めた処理を取り消し、正しい分岐先の命令からやり直すためペナルティが生じます。
予測の手法には、分岐先が前方か後方かといった命令の性質から実行前に決めておく静的な方式と、実行中の分岐履歴をハードウェアの表に記録して判断する動的な方式があります。なお、他の高速化技法であるアウトオブオーダー実行はデータの依存関係による待ち時間を解消するため、データがそろった後続命令を記述順にとらわれず先に処理する仕組みであり、条件分岐の方向を当てる技術とは目的が異なります。また、複雑な制御回路を用いてこの機構を実装するのは主に汎用CPUの特徴であり、多数の演算器で単純な並列計算を行うGPUとは設計の重点が異なります。
分岐予測が登場する過去問
- 2022(R4)秋 午前 問8ディープラーニングの学習にGPUを用いる利点として,適切なものはどれか。
- 2021(R3)春 午前 問10ディープラーニングの学習にGPUを用いる利点として,適切なものはどれか。