Hot Chips 27 - 中国Phytiumの64コアARMv8サーバプロセサ「Mars」(中編)

(前編はコチラ)
○Xiaomiコアのフロントエンド
Xiaomiコアのフロントエンドは、32KBのL1命令キャッシュを持ち、分岐予測は2048エントリのBTB(Branch Target Buffer)とTAGE(TAgged GEometric history length)分岐予測を用いている。また、512エントリの間接分岐予測器と、48エントリのリターンスタックを持っている。
そして、Loop Detectというブロックを持ち、ループの全命令が命令バッファに収まっている場合は命令キャッシュ側から命令を読まなくて済むようになっている。この機構は、少し前のIntelのCoreプロセサでも採用されていたことがある。
多種の分岐予測機構を持ち、Loop Detectを行うなど、Xiaomiコアは、かなり高級なメカニズムを実装している。
○XiaomiコアのOut-of-Order実行機構
Xiaomiコアは1サイクル最大4命令をデコードすることができ、また、最大4命令をリネームしてディスパッチすることができる。リオーダバッファは160命令を保持、物理レジスタは192個とXeonなどのハイエンドコアに劣らない量のOut-of-Order実行資源を積んでいる。