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

デュアルCPUコア&デュアルGPUコアになったiPad 2



●iPad 2のApple A5チップはデュアルCortex-A9の構成に

 Appleはタブレット第2弾の「iPad 2」を先週末に米国で発売した。CPUとGPUのコアをそれぞれ2倍にしながら、重量を削り、厚みを3割減らした、軽量化&薄型化&パフォーマンスアップ版だ。

 Appleは、この新タブレットの発表日を、同じサンフランシスコ市内で開催されていたゲーム開発者向けカンファレンス「GDC(Game Developers Conference)」のキーノートスピーチにぶつけた。それも、目と鼻の先の会場で。任天堂の岩田聡代表取締役社長のキーノートスピーチに集まるゲームデベロッパの半数は、否応なしにAppleの発表会の報道陣の群れの前を通るという仕掛けだ。

 Appleの日程が、GDCにぶつけることを意図したものだったかどうかはわからない。しかし、ゲーム開発コミュニティに対するアピールならば、その目的は充分に果たした。時間的に少しオーバーラップするため、iPad 2発表会に呼ばれた場合は、GDCのキーノートスピーチに出席ができない。踏み絵状態で、Appleの方に出たという欧米のメディア関係者もいた。

 iPadからiPad 2への進化は、順当だ。CPUコアは1コアのARM Cortex-A8から2コアのARM Cortex-A9になった。スペック的には、コアが2倍になっただけでなく、各コアのスループットも上がるため、倍以上のパフォーマンスアップとなる。ARMの発表では、Cortex-A8のクロック当たりの性能は2 DMIPS (Dhrystone MIPS)/MHzであるのに対して、Cortex-A9は2.5 DMIPS/MHzとなっている。

 CPUアーキテクチャが変わった理由の1つは、Cortex-A8のバスがシングルコアしか対応していないためだ。デュアルコアにする段階で、特殊なバスを開発するつもりがないなら、同レベルのパフォーマンス帯のCPUコアの選択肢はCortex-A9となる。Cortex-A9のコア間のバスは最大4コアに対応するコヒーレンシを保ったAMBA 3 AXIとなっている。

Cortex-Aファミリのアーキテクチャ
PDF版はこちら

●コア数を2倍にしてパフォーマンスアップを図る

 Appleは、初代iPadに搭載したApple A4チップの製造をSamsung Semiconductorに委託した。今回のA5では、TSMCにファウンドリを変更したと噂されたが、実際にはSamsungのままだったようだ。SamsungからTSMCに、という噂の根拠は、Samsungがスマートフォンとタブレット市場でAppleの最強の競合の1つになりつつあるからだった。

 プロセス技術は、A4がSamsungの45nmプロセスで、A5も基本的に同じだと言われている。同じプロセス技術でコア数を倍にすれば、それだけロジック回路が増えてダイが大型化して製造コストが増える。実際、調査会社iSuppliが3月13日に発表したプレスリリース「iPad 2 Carries Bill of Materials of $326.60, IHS iSuppli Teardown Analysis Shows」では、Apple A5チップはA4より75%もコストが増したとレポートしている。ダイサイズが2倍になれば、その程度コストが増える。ダイサイズ的には、A4からA5への拡張は、組み込みSoC(System on a Chip)チップのサイズから、ローエンドのPC向けCPUのサイズになったと考えるとわかりやすい。

 もっとも、iSuppliの見積もりではA5チップのコストは14ドル。もともと、チップサイズが小さい(A4が53平方mm)ため、コストが増えたとはいえ、影響がそれほど大きくはない。むしろ影響が大きいのは消費電力面だろう。

 ロジックが増えると、ピーク時のアクティブ電力の量が増大する。その分、ゲームなどコンピューティング負荷の高いアプリを実行した時のバッテリ駆動時間に影響が出る可能性がある。Appleは今回、そうしたトレードオフを払っても、iPad 2のパフォーマンスを伸ばす必要があると感じたようだ。

●1世代進化したCPUアーキテクチャ

 コア数が倍になっただけでなく、A5ではCortex-A8からCortex-A9へとCPUアーキテクチャも変わった。Cortex-A8は、2命令デコードのパイプラインで、命令をプログラム中の命令順で実行するIn-Order実行。Intel CPUで言えばPentiumの世代に近い(ただしCISCとRISCの命令密度の違いがある)。対するCortex-A9は、同じ2命令デコードだが、命令の順番を入れ替えて並列に実行できる命令を実行するOut-of-Order実行となっている。スループットの25%の差は、こうした部分から生まれている。

Cortex-A9のブロックダイアグラム
PDF版はこちら

 この影響はどの程度のものなのだろう。Cortex-A9はどの程度のダイエリアを取るのだろう。

 ARMが昨年(2010年)の「CMP Conference」で行なったプレゼンテーションを見ると、TSMCの40nm GプロセスでデュアルコアCortex-A9の実装面積は、スピード最適化ハードマクロ(ターゲット2GHz, 1.9W)の場合は6.7平方mm、電力最適化ハードマクロ(ターゲット800MHz, 0.5W)の場合で4.9平方mmとなっている。これはL1キャッシュやバスインターフェイスまでを含んだデュアルコアのサイズだ。

 ちなみに、x86系では、同じ40nmプロセスで2命令デコードでOut-of-Order実行のBobcat(ボブキャット)コアがシングルコアで5平方mm以下のサイズ。Cortex-A9でも、依然としてx86系コアと較べるとかなりコアが小さいことがわかる。面積の差が大きいのはフロントエンドの命令フェッチ&デコードと分岐予測回りで、Cortex-A9の方がはるかに小さい。

 今回はSamsungの45nmだとすると、TSMC 40nmよりやや大きいと想定される。また、1GHzをターゲットとするA5のCortex-A9コアは、TSMCの電力最適化ハードマクロに近いと推定される。ちなみに、TSMCでのコアの消費電力例から、2GHzまでのスケーラビリティを保つCortex-A9コアを、タブレットでは1GHzまででしか駆動できないのは、電力上の理由であることもわかる。

Cortex-A9の特徴
PDF版はこちら

●GPUコアもデュアルコアでプロセッサ数を倍増

 iPad 2では、GPUコアも従来の1コアから2コアになった。GPUコアのアーキテクチャ自体はImagination TechnologiesのPowerVR SGX5世代だが、こちらもスペック上のパフォーマンスは2倍以上になったという。PowerVR SGX系は多数のトランジスタが必要なことで知られており、フル構成ではARMコア以上にダイ面積を必要とする。こちらのデュアルコア化も、A5のダイ面積と消費電力に対するインパクトが大きいはずだ。

 PowerVR SGXアーキテクチャではシェーダを実行するプロセッサは、スカラプロセッサとなっている。伝統的なGPUの「Vec4(4-wayベクタ)」グループをSIMD(Single Instruction, Multiple Data)制御する構成ではなく、1-wayのスカラプロセッサのグループを、プレディケーションでフロー制御するベクタとして構成している。この点は、NVIDIAアーキテクチャとよく似ている。AMDのVLIW(Very Long Instruction Word)型アーキテクチャとは異なる。

 現在のPowerVR SGXアーキテクチャは、1コアに最大16個のスカラプロセッサを搭載できる。iPadのPowerVRコアも、最大の16プロセッサ構成で、iPad 2ではコアが2個になったため、プロセッサ数も倍の32プロセッサになったと見られる。この構成なら、Tegra 2(G70系アーキテクチャ拡張の1Vertex Shader+1Pixel Shaderの構成)を、プロセッサ数で大きく上回る。

 ちなみに、スカラプロセッサが合計で32個という構成は、NVIDIAならGF100系Fermiアーキテクチャの1個のSM(Streaming Multiprocessor)と等しい。もちろん、実効パフォーマンスには、さまざまなファクタが関係するため、単純に同じ性能レベルとは言えない。アーキテクチャも大きく異なる上に、メモリ帯域や動作周波数も異なる(現状のモバイルではこの2つが大きく制約される)。NVIDIA SM 1個分というのは、あくまでも、GPUコアの規模のおおざっぱな目安だ。

 謎は、iPad 2の発表時にApple CEOのSteve Jobs氏が言及した9倍のグラフィックスパフォーマンスだが、この数字の根拠はわからない。コアが2倍になり、GPUコア動作周波数が若干上がったことによるパフォーマンスアップに、CPU側のパフォーマンスアップなどを加えた数字かも知れない。

●iPad/iPhoneで興隆し始めた3Dゲーム

 こうしたiPad 2のパフォーマンス強化の恩恵を受ける最初のアプリケーション分野のひとつはゲームだ。Appleはコンピュータ製品で、毎年ハードウェアのパフォーマンスを向上させる。コンピュータと同様に、パフォーマンスを要する3Dグラフィックスゲームが、その向上分を最初に使うだろう。

 iPadでは、昨年末に、Epic Gamesとid Softwareの2大FPS(First Person Shooter)メーカーが本格的なゲームをiPad/iPhoneに投入。ゲームの3Dグラフィックスという面では、新しいステージを迎えた。Epic Gamesの傘下のChair Entertainmentの「Infinity Blade」と、id Softwareの「RAGE HD」で、どちらも自社のゲームエンジンの広告塔ともなっている。

 つまり、PCゲームや今世代ゲーム機での流れである、表現力の高いゲームエンジンをベースにしたゲーム作りというモデルを、iPad/iPhoneゲームにも定着させようとしている。もちろん、ターゲットとしているのは、Appleプラットフォームだけでなく、より広汎なモバイルデバイス全体だ。そして、そうしたモデルを支えるのが、毎年のモバイルデバイスのパフォーマンス向上という構図だ。

●NGPのちょうど半分の構成のiPad 2

 ゲームという観点から今回のiPad 2のApple A5の構成を見ると、プロセッサ数だけなら、ソニー・コンピュータエンタテインメント(SCE)の次期ポータブルゲーム機「NGP(Next Generation Portable)」(コードネーム)の半分だ。NGPは、ARM Cortex-A9コアを4コア、PowerVR SGX5世代コアを4コア搭載している。PowerVRコアは16スカラプロセッサの4コアで、合計64スカラプロセッサ構成と見られる。NVIDIAの2 SM分だ。

 NGPは、最初の量産チップは45~40nmプロセスの可能性が高いが(2010年秋から実チップの開発機が提供されているため)、ターゲットは32~28nmプロセスだと推測される。つまり、微細化した32~28nmプロセス世代で、チップコスト的に最適になるように設計していると考えられる。NGP(PSP2)は、計画の途中でコア数が増えたが、それは1世代先のプロセス技術にターゲットを変更したためと推測される。

 これは、逆を言えば、32~28nmプロセス世代になれば、他のハイパフォーマンス携帯デバイスも、クアッドコアCPUと、クアッドコア相当のGPUになる可能性が高いことを意味している。実際、NVIDIAは28nmと見られる第3世代のTegra「Kal-El」でARM Cortex-A9を最大構成のクアッドコアにして、シェーダプロセッサ数も増やした。

 こうしたマルチコア化の背景には、プロセス技術の進歩だけでなく、マルチコア化を推進する組み込みCPUメーカーの戦略がある。例えば、ARMは、Cortex-A8→Cortex-A9→Cortex-A15と、シングルスレッドのスカラプロセッシング性能を向上させているが、同時に対称型マルチプロセッサでチップ当たりのパフォーマンスアップも図っている。シングルコアのCortex-A8から、最大クアッドのCortex-A9、さらに大規模な構成が可能なCortex-A15へと、マルチコアサポートを拡張している。それとともにサポートする市場も拡大しようとしている。もともとスケーラビリティの高いGPUコアについては、言うまでもない。



Cortex-A9のファミリとターゲット市場
PDF版はこちら

●次のステップは32nm~28nm世代でのクアッドコア化

 マルチコア化の進展は、モバイル向けの半導体デバイス業界全体の流れであるため、Appleについてもクアッド化が予想される。45nmプロセスでデュアルARMコアとデュアルPowerVRコアが、経済的に受け容れられるダイサイズに収まるのなら、次の32~28nmプロセスならクアッドCPUコアとクアッドGPUコアが経済的に見合うラインとなる。45nmから32nmでは、同じダイサイズのチップに収まるトランジスタ数は約2倍になるからだ。AppleがA5と同レベルのダイサイズでA6を設計するなら、来年(2012年)にはApple iPad系もクアッドコアが可能になる。

 ここで出てくるAppleのデバイス戦略に関する疑問は、iPadとiPhoneで基本的に同じチップを使い続けるのか、それともiPadとiPhoneの両系統でチップも分かれて行くのかという点にある。例えば、iPad系がクアッドコアチップ、iPhone系がデュアルコアチップといった具合に分化する可能性だ。コア数を分ける必要性が出るのは、ダイサイズ的にクアッドCPU&GPUコア構成が収まるとしても、ピーク消費電力は、また別な話となるからだ。

 パワーゲーティングや周波数&電力の切り替えによって、チップの平均消費電力を抑えることは可能だ。しかし、ゲームプレイ時などの負荷の高い場合の消費電力は、コア数が多い方が増えてしまう。プロセスが微細化しても、2倍のコア数では、ある程度ピーク電力が増加する可能性がある。動電圧がプロセス微細化に見合うペースでは下がらないからだ。そのため、バッテリに余裕のあるタブレットと、余裕がないスマートフォンでは、チップの構成も変わってくる可能性がある。

 実際に、CPUメーカーはそうした多層的な構成へと誘おうとしている。例えば、ARMのCortex-A15戦略では、スマートフォンでは1~2コア、タブレットを含むモバイルコンピューティングでは2~4コアを提案している。Cortex-A15の方がCortex-A9よりさらにファットなCPUコアなので、Cortex-A9ではさらにマルチコア化が容易となる。

Cortex-A15のスケーラビリティ
PDF版はこちら

 この思惑通りに行けば、2012から2013年になると、タブレットはクアッドコアが、スマートフォンはデュアルコアが、普通に見られるようになる可能性が高い。もちろん、低価格のバリエーションも増え、そちらはタブレットでデュアル、スマートフォンでシングルとなるだろう。しかし、次の22~20nmプロセスになれば、クアッドコアタブレットと、デュアルコアスマートフォンは、当たり前になってしまうだろう。iPad/iPhoneも、おそらく、その流れを追随、あるいはリードすると思われる。