AMDのチップ設計の要となるコントロールファブリック AMDは、新CPU「Ryzen」から、チップ内の各ユニットを接続するインターコネクトのファブリックに「Infinity Fabric」を採用した。Infinity Fabricには、データ転送を行なう「Infinity Scalable Data Fabric(SDF)」と、制御系の信号を伝達する「Infinity Scalable Control Fabric(SCF)」の2系統がある。データ転送のInfinity SDFがチップのデータの流れを司る血管系なら、制御系のInfinity SCFはチップの神経系にあたる。 データファブリックと比べると目立たないが、AMDのチップ設計上非常に重要となるのが、制御系のInfinity SCFだ。Infinity SCFでは電源管理、クロック供給、テスト、初期化、セキュリティといったさまざまな制御のための信号の伝達を行なう。現在のAMDのCPUやGPUは多数のセンサーを搭載しているが、そうした各種センサーの接続もSCFが行なう。AMDのMark Papermaster氏(SVP & CTO, AMD)は次のように説明する。 「SCFでは、クロック供給と電源管理、初期化とテスト、セキュリティといったさまざまな制御に関する通信を共通化した。AMDの開発する、CPU、APU、GPUのすべての製品に渡って、共通のメソドロジーと標準化した手続きで各IPユニットを協調させる。Ryzenでは、チップ全体で数千のセンサーを搭載しているが、これらのセンサーを連結することもInfinity Fabricによって容易になった。 これが、2011年頃のAMDの開発態勢と大きく異なる点だ。2011年頃は、我々は各SoCそれぞれにユニークなバスを開発していた。たとえば、『Onion(APU内でのCPUとGPU間のインターコネクト)』や『Garlic(APU内でのGPUとメモリコントローラのインターコネクト)』だ。これらのバスは、ユニークなメソドロジであり、独自の制御を行なっており、IPをスケールすることが非常に難しかった」。 AMDはAPUにおいて、これまでOnion、Onion+、Garlic、Chive(Xbox Oneのバス)など、異なるファブリックを作ってきた。SoC毎に異なるため、設計の手間が大きかった。しかし、Infinity Fabricでは制御に関するメソッドとプロトコルを、IP間や異なるチップ間で共通化した。それによって、共通したメソッドとプロトコル、さらに共通化したコントロールブロック設計によって、制御ネットワークの構築を容易にする。 「コントロールファブリックは、SoC上のIP群すべてを接続する。すべてのIPに同じコントロールブロックが含まれる。CPUコアやGPUコアだけでなく、マルチメディア、ディスプレイコントローラ、ビデオコントローラ、メモリ、I/OなどあらゆるIPについてだ。各IPに、クロック供給、電源管理、テスト&初期化、セキュリティ、それぞれにおいて、共通の制御アプローチ、共通のメソドロジを提供する。その結果、複雑なSoCの設計を容易にし、設計にかかる時間を短縮し、エンジニアリング労力を減らす」(Papermaster氏)。

Ryzenの膨大なセンサー搭載を可能にしたInfinity Fabric Ryzenが搭載しているセンサーは数千に上る。4個のCPUコアのコンプレックスである「Core Complex(CCX)」に、1,300以上のクリティカルパスモニタ(クリティカルパスのレプリカ回路)、48のパワーサプライモニタ、20のサーマルダイオード、9つのドループディテクタを搭載する。Ryzen 7は2個のCCXを搭載するため、CPUコア回りだけで2,700以上のセンサーを搭載していることになる。 これらのセンサー群を制御するためのインターコネクトも、Infinity FabricのSCFが担当する。逆を言えば、Infinity Fabricがなければ、Ryzenにこれだけのセンサーを搭載することは難しかったという。 「たとえば、SCFがない状態で、Ryzenを設計したとしてみよう。私はエンジニアに「数千個のセンサーを載せたい、そのセンサー群をマイクロコントローラに接続してくれ」と要求することになる。エンジニアは「えっ、それを全部インターコネクトして制御するんですか。センサーのためのメッシュネットワークを設計しなければ。それに、個々のセンサーのテストと、センサーネットワーク全体のテストの仕組みも設計しなければならない……」と愕然とするだろう。それが2011年の状況だった。2011年の我々のアプローチで設計するなら、ユニークなサイドバンドがそこら中に張られ、数千ものサイドバンド信号を管理しなければならなかった。非常に複雑で大変な作業になったはずだ。 それに対して、Infinity Fabricがある現在は、慎重に設計されたバスが、電源管理、セキュリティ、テスト、初期化といったすべての信号を運ぶ。従来のような、ユニークなサイドバンド信号が必要なくなる。そのため、数千個ものセンサーを載せても、SoCを容易に設計できる。Infinity Fabricがなければ、これだけの数のセンサーの搭載は難しかっただろう。つまり、Infinity Fabricによって、効率的にセンサーを接続できるようになり、より多くのセンサーをチップに配置できるようになった。結果として、より細粒度でチップを制御できるようになった。Ryzenのきめ細かな電力制御や周波数のブーストは、Infinity Fabricによって実現されている」(Papermaster氏)。

PlayStation 5(PS5)世代のカスタムAPU設計も容易に Infinity FabricのSCFの採用は、AMDのチップ設計においては死活問題的に重要だった。現在のAMDの限られた開発予算の枠では、CPU、APU、GPUを多数平行して設計することが非常に難しくなっていたからだ。AMDは、多数のダイを円滑に市場に出すためには、設計の効率を上げて開発費を抑える必要があった。 「なぜ、Infinity Fabricによるコントロールが必要なのか。それは開発の効率を上げるためだ。Infinity Fabricによって、新チップを市場に出すまでにかかる時間も労力も、ずっと少なくて済むようになった。 正直な話、我々の開発予算は競争相手と比べると、大幅に少ない。それどころか、残念なことに、2011年当時のAMDよりもかなり少ない。そのため、周囲はAMDに対して疑問を持っている。“AMDが、複数のSoCを開発することができると信じることができない。それだけの投資ができないだろう”と思われている。 実際、2011年当時のアプローチでは、複数のSoCを平行して開発し続けることは難しかった。そこで、2012年に我々は新しいファブリックを作ることを決定した。そして、今、我々にはInfinity Fabricがあり、2017年以降はInfinity Fabricを使った新しいSoC群が登場する。Infinity Fabricによって、高い開発効率とよりよい品質を実現できるため、SoCを順当に開発できる」とPapermaster氏はSCF導入の背景を語る。 AMDは開発予算がカットされたために、28nmプロセス以降はCPU製品を設計できなくなっていた。しかし、今回のRyzenからは、CPUとAPUのどちらも提供できるようになった。その背景には、Infinity Fabricによる設計コストの低減があるようだ。 Infinity SCFの導入は、また、SoCのカスタム設計も効率的にする。AMDは、「PlayStation 4(PS4)」や「Xbox One」のAPUなど、チップのカスタム設計サービスも提供している。PS4とXbox Oneでは、それぞれAMDのAPUとは異なるカスタムバスを導入した。設計はそれだけ複雑になっていたはずだ。しかし、今後のPS5やScorpioの後のXboxなどの新世代のゲームAPUがAMD設計なら、SoCはInfinity Fabricを使うことになり、カスタム化した場合の設計の効率が上がる。 「今後のカスタムSoCの顧客にとって、異なる数のCPUや異なる規模のGPUの組み合わせや異なるIPブロックの統合、あるいはサードパーティのIPの搭載であっても、Infinity Fabricによって、もっと簡単に実現できるようになる。カスタム化が容易になることも、Infinity Fabricの利点だ」(Papermaster氏)。 サードパーティIPの統合については詳しくはわからないが、AMD側のコントロールファブリックがきれいに規定されていれば、他社のファブリックに合わせたIPの統合も比較的容易になることが予想される。