後藤弘茂のWeekly海外ニュース

NVIDIAのARMコアは次世代マイクロアーキテクチャを拡張



●ARMの現在の利点はボリューム

 NVIDIAはARMアーキテクチャを、自社製品の戦略の核となるCPUコアに据えている。現在は、NVIDIAはモバイルデバイス向けのTegra製品ファミリに、ARMの開発したCortex-A9コアを使っている。NVIDIAは、さらに自社でARM CPUコアを開発してGPUに統合する計画「Project Denver」を発表している。また、NVIDIAが開発しているエクサフロップス(ExaFLOPS)スーパーコンピュータプロジェクト「Echelon(エシュロン)」でも、GPUコアとCPUコアを統合することを発表している。

2016~2018年頃のNVIDIAハイエンドプロセッサ
PDF版はこちら
NVIDIAのJen-Hsun Huang(ジェンセン・フアン)氏(Co-founder, President and CEO)

 NVIDIAは、GPUとCPUの統合化を目指しており、ARMコアをその選択肢として選んだようだ。なぜ、NVIDIAは、ARMを重視するのだろう。NVIDIAのJen-Hsun Huang(ジェンセン・フアン)氏(Co-founder, President and CEO)は次のように説明する。

 「ARMの利点は、昔は効率的なアーキテクチャだった。しかし、今日のARMの利点は、むしろ、最大ボリュームのCPUという点にある。AndroidやiPhoneなど、あらゆるところでARMは使われており、ARMデバイスのためのApp Storeが栄えている。

 多くのベンダーがARMコアのSoCを開発しており、膨大な数のデバイスが出荷されており、数多くのソフトウェアデベロッパがアプリケーションを開発している。これからも、ARMはますますポピュラーになり、最も価値があるCPUアーキテクチャになることは間違いがない。現在の、ARMの最大の利点は、ボリュームを背景にした、命令セットによるアプリケーション互換性だ」。

 Huang氏は、モバイルデバイスに浸透したARMが出荷ベースで他のアーキテクチャを圧倒しており、ソフトウェアのエコシステムが拡大しつつあることが、現在のARMの利点だと強調する。ただし、実際には、ARM命令セットへの依存性は、PC業界での依存性ほど高いものではない。CPUの命令セットが仮想化されている場合も多いからだ。とは言え、モバイルコンピューティングでのARMアーキテクチャの勢いが、無視でないことも確かで、NVIDIAはその波に乗ろうとしている。


●NVIDIAはどんなARMコアを開発するのか

 NVIDIAは、自社でARM CPUコアを開発することを発表している。ARMコアを使う場合は、ARM自身が開発したCortex-Aファミリなどのコアを採用する方法と、QualcommのようにARM命令セット互換のCPUコア(Scorpionなど)を開発する方法の2種類がある。NVIDIAは、後者のARMコア自体の開発を明かしていたが、どのように行なうのかを明らかにはしていなかった。しかし、5月のCOMPUTEX時に、NVIDIAは同社のコアが完全な新設計にはならないことを明らかにした。

 「我々は、ARM自身が非常に素晴らしいARMコアを開発していると考えている。Cortex-A9は非常に効率的であるし、Cortex-A15はさらに効率的なコアになるだろう。ARMが開発したARMコアが非常に優れているので、我々が同じことを行ないARMコアを再開発する必要はないと考えている。それは、エンジニアリングのムダだ。

 その代わり、我々は、ARMが到達したところから拡張しようと考えている。ARMの次世代マイクロアーキテクチャをベースとし、機能をつけ加える。ゼロから再設計することは考えていない」(Jen-Hsun Huang氏)。

 NVIDIAは、フロムスクラッチ(ゼロから)で新しいARMコアを開発するQualcommのようなアプローチは取らない。しかし、ARMのアーキテクチャをそのまま使うのではなく、自社に必要な拡張を加える方向で進めようとしているようだ。当初は、NVIDIAが新規にARMコアを開発するという観測で話題となったが、実際には、もっと穏当な手段を取ると見られる。

 NVIDIAはCortex-A15ベースだとは言っていないため、ARMのロードマップ上で、まだ公開されていない次世代のアーキテクチャをベースにする可能性が高いと見られる。

Cortex-A Family architecture
PDF版はこちら
Cortex-A9のブロックダイヤグラム
PDF版はこちら
Cortex-A15のブロックダイヤグラム
PDF版はこちら

●ターゲット市場を広げるためにARMコアを拡張

 では、なぜ、NVIDIAはARMの開発したコアをそのまま使わずに、拡張を加えようとしているのか。それは、NVIDIAがARMコアのマーケットがモバイル以外にも広がると見ているためだ。モバイル以外の市場に最適化されたARMコアを必要としているからだ。

 「ARMプロセッサは、モバイルのために設計された。スマートフォンや、今はタブレットだ。しかし、将来は、ARMはノートブックやデスクトップ、ワークステーション、サーバー、そしてスーパーコンピュータにも入って行くと我々は見ている。そして、そのための拡張がARMコアに必要だと考えている。ARMとの提携を拡張し、ARMアーキテクチャをハイパフォーマンスのレベルに引き上げる拡張を行なおうと考えている」とHuang氏は語る。

 NVIDIAは、現在、x86系CPUが占めている市場の一部へも、ARMが浸透して行くと見ている。しかし、そのためには、ARMコアのパフォーマンスと機能を拡張する必要があると考えている。ARM自身も、Cortex-A15以降は市場ターゲットをモバイル以上に広げるビジョンを打ち出している。だが、NVIDIAはそれをさらに越えた、最上位のスーパーコンピュータまでの市場を見ている。

Cortex-Aファミリとターゲット市場
PDF版はこちら
Cortex-A15のスケーラビリティ
PDF版はこちら

 そのため、昨年(2010年)10月のGPU Technology Conference時には、Huang氏は整数演算の性能を伸ばすことが重要だと説明していた。

 「ARMをサーバーや大きなコンピュータに入れようとするなら、SPECint(整数演算ベンチマーク)での性能を伸ばす必要がある。パフォーマンスを3倍程度、明確には言えないが2~4倍の間に向上してもらう必要があると考えている。また、64-bit(アドレッシング)も必須だ」(Huang氏)。

 ARMの現在のコアは、整数演算パフォーマンスも伸ばしているが、整数演算で3倍はかなりハードルが高いことは確かだ。もっとも、Huang氏が基準点をCortex-A9に置いているのか、それ以前のアーキテクチャに置いているのかははっきりしない。モバイル以外への適用となれば、CPUコアのTDP(Thermal Design Power:熱設計消費電力)枠を引き上げることができる。命令並列度を上げるとともに、動作クロックを引き上げることで、ある程度の向上は見込めるだろう。

 ARMは従来32-bitアドレッシングで、ARM v7命令セットの世代で40-bit拡張が行なわれる。しかし、スーパーコンピュータまで視野に入れるNVIDIAは、当然、64-bitのアドレッシングアーキテクチャ拡張が必要だと見ている。これは、ARM自身にアドレッシングを拡張してもらう必要がある。

ARM v7命令セット世代での40-bitアドレッシング拡張と仮想化

●NVIDIAのARM SoC戦略「Project Denver」の行方

 NVIDIAは、Project Denverでモバイル以外の市場にも適用しやすいARMコアを開発して、GPUに統合する。また、ARMアーキテクチャが、ノートブックやデスクトップ、ワークステーション、サーバー、スーパーコンピュータにも入って行くと見ている。では、NVIDIAは全てのGPUにARMコアを統合して、CPUとGPUを統合したSoCにして行くのだろうか。Huang氏は、そうではないと説明する。

 「当社は2つの製品ラインを持っている。1つはGPUで、もう1つはSoCだ。GPUはアクセラレータで、CPUのコプロセッサとして使う。一方、SoCはコンピュータの全てをワンチップに納めている。この2製品ラインのロードマップは、今後も長期間に渡って継続する。それは、それぞれがターゲットとする市場が異なるためだ。

 消費電力の枠が高いシステムの市場では、高速なCPUとアクセラレータのGPUの組み合わせが、SoCより適したアーキテクチャとなる。その一方、電力と容積の制約が厳しい市場では、独立したプロセッサよりSoCが適したアプローチとなる。言い換えると、最高のパフォーマンスを求めるなら、GPUが最速のアクセラレータ。最適な電力効率と、魅力的なデザインと、長いバッテリ駆動時間を求めるならSoCがいいだろう。

 それぞれの市場でOSも異なってくる。GPUアプローチでは、我々はWindowsにLinux、Mac OSをサポートする。SoCでは、Android、Windows 8、Linux、Chrome OSなどをサポートする」。

 NVIDIAは、ディスクリートGPUがCPUのアクセラレータとして今後も継続すると考えている。ディスクリートGPUにARMコアをサブプロセッサとして統合することも、当面は行なわないようだ。つまり、x86プラスディスクリートGPUの世界は、現在のまま引き継がれ、揺らがないことになる。

 NVIDIAは、x86が占めているモバイル以外のコンピュータの領域にもARMが入ると見ているが、そうした変化が急には起こらないと現実的に考えていることがわかる。慎重な戦略を立てている。

GF100の概要
PDF版はこちら

●アクセラレータとしてのGPUの利点はパフォーマンスとメモリ帯域

 NVIDIAは、当面は、ディスクリートGPUアーキテクチャがパフォーマンス面でさまざまな優位を持つと考えている。特にポイントとなるのはメモリ帯域だ。

 「この戦略のポイントは、適した市場に適したプロセッサを適したアーキテクチャで作ることにある。例えば、スーパーコンピュータやワークステーション、ゲームPCなどは、現在はアクセラレータを求めている。アクセラレータGPUのアプローチでは、プロセッサのパフォーマンスを最大にできるだけでなく、メモリ帯域も最大にできる。CPUとGPUにわかれたメモリで、メモリ帯域はユニファイドメモリに対して3倍以上になる。メモリ帯域はパフォーマンスの面では重要で、こうした部分でも最良のソリューションとなる」(Huang氏)。

 これは、CPUにGPUを統合したAPU(Accelerated Processing Unit)で、ユニファイドメモリのソリューションを持ち込もうとしているAMDに対する牽制となる。APUの現状の弱点はメモリ帯域で、利点は将来CPUコアとGPUコアがユニファイドアドレス空間を持つことで、両コア間のデータコピーを不要とできる点にある。NVIDIAは、現状ではメモリ帯域の利点がある、分散したディスクリートGPUに利があると考えているようだ。

 ただし、この戦略は長期的には異なる。NVIDIAもEchelonでは、CPUコアとGPUコアを統合して、メモリアドレス空間も共有することを考えている。しかし、これはDRAMスタッキングで新メモリインターフェイスの超広帯域メモリを接続することを前提としている。あくまでも、現状のメモリ技術を前提とした話だ。

 このように、NVIDIAのARM戦略を概観すると、NVIDIAが何段階かの慎重なステップを想定していることがわかる。現在は、まだモバイル向けのTegraでARMを浸透させている段階で、次のステップは急速には進まないと見ている。