このページの本文へ

前へ 1 2 次へ

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

HotChipsで語られたZenの詳細 AMD CPUロードマップ

2016年09月05日 11時00分更新

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

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

 次がALU/AGUの実行段である。ここに関してはそれほど意外さはないのだが、最大8 MicroOpのRetirementをサポートしているあたりはかなり強力な印象である。

ALU/AGUの実行段。分岐命令に関しても1サイクルあたり2つを同時に処理できるというのもかなり珍しい

 またキューの数も192と多く、このあたりはSkylakeと比較しても遜色はない。Load/Storeユニットの構造は下の画像のように一見複雑に見えるが、それほど不思議なものはない。

Load/Storeユニットの構造。ちなみにSkylakeのLoad/Store Queueのサイズは72/56となっており、Zenとそう大きく変わらない。Store Unitが実質1つであることを考えると、むしろQueueが深く取れるという言い方もできる

 Skylakeに比べるとピーク性能(SkylakeはLoad/Storeユニットを合計4つ搭載)は半減するが、Haswell/Broadwellとは同等で、そもそもSkylakeの4ユニットのLoad/Store Unitは512bit幅のAVX-512命令(Core iグレードでは無効で、Xeonでのみサポート)を前提としたものなので、これをサポートしないZenには無関係であり、逆に言えばAVX-512を除くオペレーションではSkylakeと互角の性能ではないかと思われる。

 一方浮動小数点側の実行段では、Micro-OpのDispatchの後、2回のスケジューリングが行なわれることが今回明らかにされている。またこちらも8命令のRetirementがサポートされている。

なぜ2段階のスケジューリングが必要だったのか、は今回特に説明されなかった

 それと、3次キャッシュに関してだ。連載370回の時点でははっきり記載されていなかったが、今回明確に1次/2次キャッシュはInclusive、3次キャッシュはExclusiveの構造になっていることが示された。

3次キャッシュの構造。将来的には、例えば3次キャッシュを半減させた形でAthlonをリリースすることもありえると思うが、この構成ならそうした対応は容易になる

 また4つのコアと1MB×8のブロックを組み合わせて1つのCPU Complexが形成されることも明らかになった。ちなみにこのCPU Complex内はFabricで接続されているそうである。

 Summit Ridgeは8コア構成なので、CPU Complexが2つ搭載されている格好だが、このCPU Complex同士はハイパートランスポートではない独自のリンクで接続されるそうだ。

 最後に訂正を1つ。連載370回で「おそらくは(不要ブロックの電源供給をもカットする)Power Gatingも複数レベルで実装されているだろう。」と書いたが、説明の中でPower Gatingは現段階では実装されていないことが明らかにされた。

 ただこれは、Power Gatingが必要ないほどGlobalFoundriesの14LPPのリーク電流が少ないという話なのか、それともなにかしらの技術的な理由によりPowerGatingが実装できないという話なのか、あるいはその他のなにか理由があるのか、は現時点では不明である。

筆者が推定するZenの内部構造図 改訂版

 以上の訂正をもとに、図を反映してみた。個人的な見解は、これでZenとK12の切り分けがはっきりしてきたと思う。K12は、マイクロコードRomとその上が全部入れ替えになり、一方でDispatchから下側は完全にZenと同一形態を取るであろう。

 x64命令とAArch32/64では当然デコーダーの構造が異なる(特にAArch32をサポートするのが必須なので、この部分の作りこみが結構大変そう)ため、ピックやデコードの構造は当然異なるし、Vector Pathも作り直しだろう。Micro-op Queueも保持するデータの構造が違うと思われる。ただこうした差はマイクロコードRomまでで吸収されるはずで、Dispatchから下は差がないだろう。

 実はそう考えると、FPU2がFMA256命令をサポートしない理由もなんとなくわかる。本来のFPUはSSEとNEONの両対応がメインで、そこに互換性を維持するためAVX256を追加した、という感じだからだ。

 ARMは今年のHotChipsで、128bit単位で最大2048bitまでの幅を持つSIMDエンジンであるScalable Vector Extensionsという新しいSIMD命令を発表したが、これに対応することは考えていないと思われる。筋論から言えば、AMDはHPC用途にはPolarisやVEGAなどのGPGPUを使いたいところで、K12に長大なSIMDエンジンを搭載することは考えていないだろう。

 以上のように、だいぶ強力なコアであることがあらためて確認できたのは非常に喜ばしいことで、年末の発表が待ち遠しいところだ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事