UCBより、BOOM (Berkeley Out-of Order Machine) v.2 のアナウンスがあった。
It's been a busy summer! Here's a glimpse of what we've been up to (hint: it's BOOM version 2.0!): https://t.co/kNqee9KzeA
— The BOOM Processor (@boom_cpu) 2017年8月16日
BOOMは5ステージパイプラインのRocketCoreに対して、アウトオブオーダ、2-4命令同時発行など、性能方面に強化しているプロセッサだ。
アナウンスによると、BOOM v2は以下の点が強化されている。
- Issue Windowを分割し、「整数命令」「メモリアクセス命令」「浮動小数点命令」用の3つのウィンドウに分割。これにより、命令発行ウィンドウが増え、命令発行能力が増える。
- 物理レジスタファイルを整数レジスタと浮動小数点レジスタに分割。レジスタを分割することで、同時読み書きするレジスタポートが減り、レジスタのサイズ減につながる。
- レジスタリネームステージを2サイクルに分割。「デコード+リネーム1」と「リネーム2+ディスパッチ」に分割した。
- コア内に分岐ターゲットバッファ(BTB)を格納。その他分岐予測に関する細々とした性能向上対策
ソースコードは以下から入手することができる。
この画像はBOOM v1のパイプライン。BOOM v2の詳細資料求む。