Rocket-Chip で測定したベンチマークプログラムを、アウトオブオーダプロセッサであるBOOMでも測定してみたい。
BOOMはVersion1 (BOOMv1) と Version2 (BOOMv2) が存在しているのだが、とりあえずBOOMv2 で試してみよう。
レイテンシとスループットを測定し、Rocket-Chipと比較したのでまとめておく。
図. BOOMv1 と BOOMv2 のパイプライン構成の違い。BOOMv2 の方が動作周波数が高いが、性能は落ちる傾向がある。
とりあえず測定した印象としては、
倍精度浮動小数点の加減算・乗算
- スループット Rocket-Chip / BOOMv2 ともに1
- レイテンシ Rocket-Chip = 6, BOOMv2 = 7 。Rocket-Chipのほうがレイテンシが短い。BOOMv2は周波数を上げる目的?
倍精度浮動小数点除算
- レイテンシ Rocket-Chip = 4, BOOMv2 = 6。 なぜかRocket-Chipのほうがレイテンシは短い?
- っていかBOOMv2の場合、何故か加減算よりも除算のほうがレイテンシが短い... 測定方法間違えたかな?
倍精度浮動小数点積和演算
- スループット Rocket-Chip / BOOMV2 ともに1
- レイテンシ Rocket-Chip = 6, BOOMv2 = 7
単精度浮動小数点の加減算・乗算
- スループット Rocket-Chip / BOOMv2 ともに1
- レイテンシ Rocket-Chip = 4, BOOMv2 = 7
単精度浮動小数点除算
- レイテンシ Rocket-Chip = 4, BOOMv2 = 6。 これもなぜかRocket-Chipのほうがレイテンシは短い...
単精度浮動小数点積和演算
- スループット Rocket-Chip / BOOMv2 ともに1
- レイテンシ Rocket-Chip = 6, BOOMv2 = 7
以上のように、レイテンシの観点からみると、BOOMv2は動作周波数を挙げることを目的にしているのか、レイテンシが大きい傾向にある。
ってかよく見るとDIV命令とか、ちゃんとベンチマークを取れていないな... 一部取り直そう...
グラフ. Rocket-Chip / BOOMv2 の命令毎のレイテンシ・スループット測定結果