4系列のCPUマイクロアーキテクチャが併存するAMDのロードマップ AMDのラインナップでは、2016年以降には、合計で4系列のCPUマイクロアーキテクチャ系列が併存するようになる。x86/x64系の高性能CPUコアのBulldozer(ブルドーザ)系と、x86/x64系のローパワーCPUコアのBobcat(ボブキャット)/Jaguar(ジャギュア)系以外にARM系コアが加わるからだ。AMDは、ARMからソフトマクロRTLのライセンスを受けたCortex-A57を今年(2014年)投入。2016年にはアーキテクチャルライセンスによる、AMDの独自開発マイクロアーキテクチャの、より高性能なARMコア「K12」を投入する。AMDはK12とCortex-A57が併存するとしているため、x86/x64系とARM系それぞれで、性能レンジの異なる2系列のコアが併存することになる。 製品カテゴリ的に見ても、AMDの製品群の中でのARMの位置づけが拡大して行く。最初の段階では、AMDのARM製品はサーバーと組み込み向けマルチコアCPUだけだ。しかし、来年(2015年)になると、クライアントと組み込み向けAPU(Accelerated Processing Unit)が加わる。2016年には、Cortex-A57のサーバーSoCよりも高性能なサーバーSoCが加わる。 AMDが今後伸びるとしている、組み込みと低電力クライアント、そしてスモールコアサーバー、セミカスタムの全ての分野でx86とARMが並ぶことになる。x86だけのカテゴリとして残るのは、パフォーマンス&メインストリームPCと伝統的な高パフォーマンスマルチプロセッササーバー市場だけだ。 もっとも、AMDは、既存のPC市場も維持するつもりで、パフォーマンス/メインストリームPC向けのAPUも開発し続ける。来年には新しいパフォーマンスCPUコア「Excavator(エキスカベータ)」ベースのAPUが登場する。ExcavatorベースのAPUはPCでは「Carrizo(カリゾー)」、サーバーでは「Toronto(トロント)」。GPUコアはVolcanic Islands世代となり、サウスブリッジのFCHチップも統合されたSoCになる。メモリはDDR4で、今のところスタックドDRAMのソリューションは見えない。また、マルチプロセッササーバー向けの後継製品も、今のところ状況が分からない。 こうして見ると、AMDは従来型の市場はx86で、今後発展する可能性のある市場はx86とARMの両輪で戦おうとしていることがわかる。

内部ファブリックとレイアウトを互換にするSkyBridge 具体的なARM製品戦略では、今年(2014年)後半に、ARMの64-bitコア「Cortex-A57」を搭載したサーバーCPU「Seattle(シアトル)」を投入する。ブランド名は「Opteron A1150」。4～8コアのCortex-A57を搭載し、サーバー向けのトーラスネットワークファブリック「Freedom Fabric」をオンチップに統合する。従来のHyperTransportによるマルチプロセッサのノード内のメモリ共有接続ではなく、独立した単チップのノードを大量に束ねるファブリックだ。Seattleのプロセス世代は28nmとなる。 さらに、来年(2015年)には、Cortex-A57の設計をチューンし物理設計を変更したCPUコアを搭載したAPU(Accelerated Processing Unit)を投入する。こちらはサーバー向けではなく、クライアントと組み込み向けだ。この2015年のARM APUは、次世代の低電力x86 APUとピン互換になる。このx86とARMの互換“チップ設計フレームワーク”が「Project SkyBridge(スカイブリッジ)」だ。Jaguarを発展させたx86コア「Puma+」と、Cortex-A57がSkyBridgeフレームワークで使えるようになる。 SkyBridgeで真に重要な点は、ピン互換だけでなく、内部ファブリック(ユニット間のインターコネクト)でもx86とARMが互換となる点。さらに、ダイレイアウト上でもほぼ同じスペースにARMコアとx86コアをはめ込めるようになる点にある。つまり、チップの論理設計と物理設計のレベルで、x86コアとARMコアが交換可能になる。「チップの外側ではピンレベルで互換だが、SoCの内部も非常に互換性が高い」とSkyBridgeを担当するJim Keller氏(Vice President and Chief Architect of AMD's Microprocessor Cores)はWebキャストで語っていた。 このことは、AMDが2系統のチップの平行開発労力を大幅に削減できることを意味している。実際問題として、ARMとx86が同じマザーボードに乗るという“SkyBridgeの表の謳い文句”に魅力を感じるシステムベンダーは少ないだろう。SkyBridgeの真のポイントは、設計フレームワークの構築によって、AMDにとって両系統のAPUを低コストに平行開発できるようにする点にあると見られる。実際、Webキャストでもアーキテクト側はピン互換は一言触れただけで、内部ファブリック互換や物理設計の点を強調していた。 このように、SkyBridgeには、マーケティング上分かりやすいピン互換と、真のポイントである内部互換の2つの側面がある。ARMとx86で共通のGCN(Graphics Core Next)GPUコアをSoCに統合してHSAを有効にするというSkyBridgeのソフトウェア面での重要変革は、その設計共通化の上に乗っている。SkyBridgeフレームワーク世代で、製造プロセスは20nmに移る。 ちなみに、SkyBridgeと同時期のパフォーマンスx86/x64系のExcavatorベースのCarrizo/Torontoのプロセス技術については明らかになっていない。しかし、こちらは28nmである可能性が高い。AMDのパフォーマンスCPUコアは、製造ファウンドリを簡単に移すことができないため、継続してGLOBALFOUNDRIESで製造されると見られる。また、パフォーマンスCPUコアは性能を上げるための物理設計に時間がかかるため、20nmや14/16nmプロセスで製造するためにはプロセスの準備ができてから一定の時間が必要となる。そのため、来年のタイミングではパフォーマンスAPUは28nmに留まると推測される。 AMDはARMが設計したCortex-A57のIPライセンスを得ただけでなく、ARMからアーキテクチャルライセンスも取得。AMD独自でフロムスクラッチ(ゼロから始めた)設計を行なうARM 64-bit CPUコアの開発もスタートさせている。AMD独自のARMコア「K12」は2016年に登場予定で、ARMの最高峰のCortex-A57より高性能なコアになる見込みだ。K12も、拡張された共通ファブリックに接続される。 AMDは現在、ARMコアとx86コアの両CPUコア設計チームを同時並行で開発させ、相互に連携もさせている。CPU設計のノウハウを互いに利用することで高性能化と高効率化を図って行く。x86/x64で培った高周波数化のノウハウをARMv8にもたらし、ARMv8設計で発見したパワー効率化のテクニックをx86/x64に還元する。また、AMDは、同社の検証内容にもARMを組み込み、設計フローもARMとx86で統合する見込みだ。

ホップステップジャンプの3段階のARM戦略 まとめると、AMDのARMコア戦略は、ホップステップジャンプの3段階で構成されていることが分かる。ホップは、Cortex-A57のSeattleで、AMDはARMベースのCPU設計とそのソフトウェアスタックに習熟する。次のステップの、チューンドCortex-A57では、チップ設計レベルでのx86/x64との統合化を確立する。GPUコアも統合したAPUとSoC(System on a Chip)の設計フレームワークSkyBridgeをx86/ARM共通で組み上げる。それと同時に、HSA(Heterogeneous System Architecture)のソフトウェアスタックをARM上でも完成させる。 最後のジャンプとなるK12では、AMDのパフォーマンスCPU設計のノウハウを活かして、高性能ARMコアを作る。K12によって、ARMコアのカバー範囲をさらに広げる。つまり、ホップでチップを実地設計してソフトを整備、ステップでAMD共通の設計フレームワークとソフトウェアプログラミングフレームワークを確立、ジャンプでARMコア自体のアーキテクチャ開発に踏み込む。 その上で、AMDは、同社が展開するセミカスタムチップ設計にもARMコアを利用できるようにする。AMDのセミカスタムAPUは、現在、最新ゲーム機「PlayStation 4(PS4)」と「Xbox One」に搭載されているが、こうしたソリューションにもARMコアを利用可能にする。顧客は、同じファブリック、同じ周辺ユニットのSoCやAPUで、x86コアとARMコアを自由に選択できるようになる。

NVIDIAのARM戦略と部分的にオーバーラップ AMDが最初に明らかにしたARMコアの利用は、高密度サーバー市場だけだった。しかし、現在は組み込みやクライアントをターゲットとしたARM APUが見えている。半ば予想されていたことだが、全体像が見えてくると、AMDがARMで幅広いレンジをターゲットとしていることが分かる。 また、CPU開発リソースを投入する独自ARMコアの開発計画からは、AMDがARMコアを非常に重視し、力を入れていることが分かる。そもそもK12の「K」は、AMDのパフォーマンスx86 CPUコアの開発コードネームにつけられていた。AMDは、ARMの自社開発コアにKをつけることで、本気度を示そうとしていると見られる。 ARMv8のアーキテクチャルライセンスを得て、サーバーをターゲットにした高性能ARMコアを開発する点は、NVIDIAの「Denver(デンバー)」と完全に競合する。ただし、バイナリトランスレーション方式を取ると見られるDenverと、ハードウェア制御のOut-of-Order実行スーパースカラになると見られるK12では大きな違いが生まれる。ただし、NVIDIAもホップでTegraにARMのCortex-A15コアを統合し、ステップでARM上でのCUDA GPUコンピューティングプログラミングモデルを構築、ジャンプで独自アーキテクチャ開発のDenverを持って来るところはAMDとほぼ同じ流れの戦略となっている。 AMDはチューン版のCortex-A57やK12の開発では、設計手法を変えることを強調している。AMDは言うまでもなく、高性能ロジック設計のスペシャリストで、カスタム設計やセミカスタム設計による高速化にスキルがある。x86/x64 CPU設計で培ったカスタム設計スキルを、論理合成が主流のARMに適用しようとしていると予想される。