FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

BOOM(Berkeley Out of Order Machine) version 2

UCBより、BOOM (Berkeley Out-of Order Machine) v.2 のアナウンスがあった。

BOOMは5ステージパイプラインのRocketCoreに対して、アウトオブオーダ、2-4命令同時発行など、性能方面に強化しているプロセッサだ。

アナウンスによると、BOOM v2は以下の点が強化されている。

  • Issue Windowを分割し、「整数命令」「メモリアクセス命令」「浮動小数点命令」用の3つのウィンドウに分割。これにより、命令発行ウィンドウが増え、命令発行能力が増える。
  • 物理レジスタファイルを整数レジスタ浮動小数レジスタに分割。レジスタを分割することで、同時読み書きするレジスタポートが減り、レジスタのサイズ減につながる。
  • レジスタリネームステージを2サイクルに分割。「デコード+リネーム1」と「リネーム2+ディスパッチ」に分割した。
  • コア内に分岐ターゲットバッファ(BTB)を格納。その他分岐予測に関する細々とした性能向上対策

ソースコードは以下から入手することができる。

github.com

f:id:msyksphinz:20170816222953p:plain

この画像はBOOM v1のパイプライン。BOOM v2の詳細資料求む。