モデルおよびBOOMv3に比べてどうも分岐予測の精度が悪い気がしているので、いろいろと調査していた。 もうちょっと外乱に強いように、いろいろ変更する。結構外乱の要因として大きいのが、フェッチステージから命令バッファに入るときに、命令バッファが満杯の時はそのフェッチ・リクエストは破棄される。この時もグローバル履歴のテーブルをもとに戻さなくていけなくて、こういう処理も結構大変だった。
一応、ほとんどの場合においてグローバル履歴テーブルは汚れなくなったが、もうちょっといろいろケアしてやる必要がある。
もう一つは、RASの扱いだ。現在RASによる予測はもうちょっと遅れたステージで予測しているので、ちょっと面倒なことになっている。 RASによる予測が発生した場合も、同様にグローバル履歴テーブルをロールバックさせる必要がある。これも実際にはRASの位置をフェッチステージの同じタイミングまで戻したほうがいいと思っている。
あとは、キャッシュ・ライン内で複数の分岐命令が発生したときをサポートするために、かなり無理やりなGshareの論理になっているので、これも修正しなければならない。