BOOMと自作CPUの合成結果を比較して、ボトルネックになっている部分を調査したい。まずは面積から。
STQのサイズを減らすと、LSUパイプラインの関係上LDQ側も調整しないといけなくなった。 全体的なSTQ/LDQのエントリの情報を調整して、LSUのパイプラインを再調整する。
結果的に、もう少し小さくなったが、大きな削減には至っていない。
BOOMv3のデザインを見ていると、STQ自体にステートマシンが存在していない。 やはり、AGUとSTQを分離して、STQはアドレス計算をせずにメモリのリオーダリングチェックのみを行うようにすべきなのか。
STQのエントリにも改善の余地ありだ。現在は仮想アドレスと物理アドレスを別のフィールドで管理しているが、これはマージできる。