自作CPUの実装、ロードストア命令の物理アドレスが決まらないうえでのハザードが性能ボトルネックになっているのを見た。 一応、簡単なベンチマークでこの問題が解決できることを見たので、次にDhrystoneを流してどれくらい実行速度が向上するのか見てみよう。
Dhrystoneの実行結果を見てみると、LDQ/STQ間のフラッシュが検出できていなかった。あれ?
という訳で、いろいろデバッグしてANOTHER_FLUSH
が検出できるように変更した。引き続きデバッグしているが、あまり性能が変わらない。
LDQ/STQのフラッシュは検出できており、フォワーディングも正しく動作しているがRET
命令の分岐予測がいつの間にか動かなくなっている。なかなか性能が出ないなあ...
引き続きデバッグしている。