このページの本文へ

前へ 1 2 3 4 次へ

ロードマップでわかる!当世プロセッサー事情第516回

判明した第3世代Ryzenの内部構造を大解説 AMD CPUロードマップ

2019年06月24日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 先週に引き続き、AMDのNext Horizon Gamingイベントで公開された話を解説しよう。今回はCPU編である。

Zen 2ではIPCが15%改善

 まずZen 2のコアアーキテクチャー全体で言えば、IPCが15%改善されているほか、3次キャッシュのサイズが2倍となり、またFPU性能も2倍になるとされる。

このFPU周りについては、連載484回でも触れている通り、FPUユニットがすべて256bit化された

 この15%のIPC改善はどうやって実現されたかという話であるが、まず基本的な構造が下の画像だ。

Zen2の基本構造。Renaming Registerも168→180に増やされた。これはAGUが1つ増えたことに対応したものと思われる

 Zen/Zen+の構造と比較すると、以下の違いが挙げられる。

  • AGUが1つ追加された3つになった
  • Micro-op Cacheの容量が4Kopに倍増した
  • 分岐予測に、新たにTAGE(TAgged GEometric)を利用した方式が追加された

 そしてバッファ周りでは、以下の違いが挙げられる。

Zen2のバッファ周り。L1 I-Cacheに関してはサイズが半減したわけだが、Set Assosiativeが増えてヒット率を高めたうえ、Micro-Op Cacheが倍増しているので、実質的にはデメリットはほとんどないと思われる
  • L1 I-Cacheが64KB/4wayから32KB/8wayに変更
  • TLBの大容量化(後述)
  • 仮想化マシンのセキュリティー周りの高速化
  • 脆弱性対策のハードウェアベースでの強化

 もう少し細かく見てみよう。まずはフェッチだが、BTBが大幅に強化されているのがわかる。もっともこれは上でも書いたが、従来のPerceptronベースの分岐予測に加えてTAGEベースの分岐予測も加わったことで、BTBのエントリーを増強しないと予測が収まりきらなかったものと思われる。他にITAのサイズを増やしたことも挙げられている。

分岐ミスが減った理由はTAGEの追加と思われるが、PerceptronとTAGEの両方の分岐予測の結果をどう使い分けているのか興味あるところ

 インストラクションキャッシュ(L1 I-Cache)については、そもそもデータキャッシュ(L1 D-Cache)がやはり32K 8-Wayだったわけで、64Kの4-Wayがどこまで有効なのか不思議ではあったのだが、やはり思ったほど有効ではなかったということだろう。

 2次キャシュとは32Bytes/サイクルで接続されており、これはデコード段の読み込み速度にあわせたものと思われる。

 デコード段については大きくは変わっていないが、先に書いた通りMicro-op Cacheが4Kopに増量されたほか、Op-Cacheから最大8 Fused-opが出力されるようになった。またInstruction Fusionがさらに改良されたとしている。これらの結果として、実効スループットの改善がなされたと思われる。

デコード段の構造。Fused instructionsというのは、インテルで言うところのMacro Opで、要は複数のx86命令(Load+addなど)を1つのMicro-Opにまとめる仕組みである

前へ 1 2 3 4 次へ

この連載の記事