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

モバイルSoCが半導体のテクノロジドライバになった時代のTegra 4

プロセス技術のドライバがモバイルへと変わった

 NVIDIAは長期的に脱PCグラフィックスを進めており、HPC(High Performance Computing)でのTeslaと、モバイル/組み込みでのTegraがその牽引役となっている。長期的には、この両翼で同程度のパフォーマンス/ワットを目指すようになり、アーキテクチャのある程度の共通性も出てくると見られる。しかし、現状では、Tegra系は、HPC/PCでのGPU系統とは大きく異なっている。

 Tegra 4はNVIDIAのモバイルチップにとって相対的に大きなジャンプだ。それはプロセス技術を28nmへと微細化したからだ。ファウンダリ業界は、45/40nmプロセスから32/28nmへの移行とキャパシティ拡大に時間がかかった。そのため、NVIDIAを含めて多くのメーカーが主力製品を比較的長い期間、40nmで足踏みをしていた。28nmでは複数のチップメーカーが、ファウンダリのキャパシティ不足のために市場への供給不足に陥った。

NVIDIAのTegra 4
Tegra 4を搭載するProject SHIELD

 この背景には需要の変化もある。プロセステクノロジのドライバは、従来はハイエンドGPUやFPGAが担っていたが、45/40nm世代以降はTegraのようなアプリケーションプロセッサ(AP)やネットワーク向けLSIもドライバに躍り出た。45/40nmでその傾向が見え始めたが、32/28nmプロセスでは明確にアプリケーションプロセッサが牽引役となった。

 ボリュームが大きいアプリケーションプロセッサが先端プロセスチップの列に加わったことで、先端プロセスの需要が急増した。そのため、ファウンダリの従来の戦略での先端プロセスへのライン割り当てでは対応し切れなくなったのが28nmの状況だ。下のTSMCのスライドは、28nmでテープアウトの数が急増した状況を示している。APとあるのがアプリケーションプロセッサで、激増している。ちなみに図中で、28nmプロセスで40nm世代の3倍に増えるゲームコンソール向けが、何のチップを示しているかは興味深い。

28nmのテープアウト数

Tegra 4のプロセス技術はTSMCの28HPLか?

 プロセス技術はTegra 3のTSMC 40nmプロセスから、Tegra 4ではTSMC 28nmへと微細化した。NVIDIAは、当初はTegra 2では、低リーク電流の「CLN40LP」プロセスと、汎用の「CLN40G」プロセスを混合した、NVIDIA向けの特別なプロセスをTSMCに用意してもらったと説明していた。実際にはTSMCはパフォーマンスモバイル向けの新しいプロセス技術として「CLN40LPG」と呼ぶ技術を、40nm世代から導入した。Tegra 3も基本的にこのプロセスを使っている。

 28nm世代のTegra 4では、NVIDIAは「CLN28HPL」を採用したと言われている。これは、NVIDIAから流出したTegra 4のスペックのスライドで伺える。TSMCの28nmでは4種類のプロセス技術を用意している。1つはローコストな「CLN28LP」で、これは従来のゲート絶縁膜材料を使っている。2つ目は「CLN28HPL」で、ゲートリーク電流を抑えられるHigh-k/Metal Gate(HKMG)をゲート絶縁膜に使っている。3つ目が汎用で高パフォーマンスプロセス「CLN28HP」。そして、最後に投入したのがHKMGベースでパフォーマンスを高めた「CLN28HPM」で、TSMCは「High Performance for Mobile」モバイルコンピューティング向けと位置付けている。

TSMCのプロセス技術
主要ファウンダリとIntelのプロセス技術ロードマップ
PDF版はこちら

 ARMのCortex-A15は、CLN28HPMをターゲットとしている節があり、例えばCortex-A15のハードマクロ「Seahawk(シーホーク)」は28HPMに実装されている。「POP(Processor Optimized Packages)」とARMが呼ぶ、ファウンダリプロセス毎の最適化パッケージについても28HPMと汎用の28HPがターゲットとなっている。

ARMのCortex-A15のクアッドコアのハードマクロ Seahawk MP4

 つまり、ARMのCortex-A15世代のSoCのターゲットは、同じTSMC 28nmプロセスでも、よりハイパフォーマンスの28HPMであり、28HPLはややターゲットから外れる。28HPMは標準のVccを28HPLの1.0Vより低い0.9Vにしている。

 Vccが低い方が性能では有利だが、リーク電流では不利なので、28HPLより28HPMの方がパフォーマンス寄りのプロセスだ。その代わり、HPMのトランジスタのオプションでは、より省電力なウルトラハイVt(しきい電圧)が加わっている。もちろん、それ以外の変更点もあるはずで、結果として、28HPMは28HPに近いパフォーマンスを、28HPLに近いリーク電流で達成できるとTSMCは謳っている。

プロセス技術と電圧の関係

時間差があるTSMCの各28nmプロセスの提供時期

 通常で考えれば、Tegra 4のようなモバイル向けSoCに向いたプロセス技術は28HPMだ。もし、NVIDIAがTegra 4で28HPMではなく28HPLを選んだとしたなら、それはなぜなのだろうか。

 考えられる理由の1つは、28HPLプロセスの方が、早い段階から提供されていたことだ。下はTSMCが2011年のARM Techconで示したロードマップで、28nm世代で28HPMが後から加わっていることがわかる。TSMCが提供しているチップのプロトタイプ設計サービスのTSMC CyberShuttleでも、2010年中から提供されていた28nmノードは28HPLと28HP、28LPだった。28HPMは2011年に入ってからの提供で、フェイズがずれている。

1年半前のTSMCのロードマップ。この時点で28HPMが28nmノードに加わっている

 NVIDIAがCortex-A15のRTL(Register Transfer Level)ソフトマクロをARMから提供されて、すぐさまTegra 4の設計に入ったとすれば、その段階での早期に量産に持ち込めるプロセス技術の選択肢は28HPLだった可能性がある。つまり、Tegra 4が28HPLだとしたら、それは、NVIDIAがCortex-A15に、素早く取り組んだことを示していると見られる。

 またNVIDIAには、28HPLから28HPMへの移行でパフォーマンスアップする余地もある。下はTSMCが2011年のARM Techconで示した28HPMと28HPLのCortex-A9の実装の違いだ。ただし、28HPLは9トラックで、28HPMは12トラック。28HPLは低しきい電圧トランジスタと高しきい電圧トランジスタ、28HPMは通常電圧トランジスタも加えるなどの違いがある。しかし、28HPMへ移行すれば、パフォーマンスをアップできることは確実だろう。

Cortex-A9実装の違い

 もっとも、NVIDIAが28HPMに移行するためには、また開発コストがかかる上に、20nmプロセスが後ろに控えているために、28HPM版を作るかどうかには経済効率上の疑問がある。

TSMCの現在のロードマップ

Tegra 4の4+1省電力設計とARMのbig.LITTLE

 NVIDIAのTegra 4のプロセス技術と設計スタートの時期は、NVIDIAの省電力設計とも密接に関連している。NVIDIAはTegra 4では、Cortex-A15のパフォーマンス最適化コアを4コア、Cortex-A15の電力最適化コアを1コア実装した「4+1」構成を採っている。低負荷時には、1コアの電力最適化コアに処理を切り替えて、平均消費電力を落とすアーキテクチャだ。

 しかし、ARMは昨年(2012年)、「big.LITTLE」と呼ぶ、似たようなテクノロジを発表した。これは、大型のCortex-A15コアと、小型のCortex-A7コアで切り替える方式で、NVIDIAの4+1と同様に低負荷時の電力を落とすことができる。つまり、NVIDIAがやってきた設計は、ARMの設計オプションとして公式に、より洗練された形で取り込まれたことになる。実際、ARMのアーキテクトは、big.LITTLEを開発したヒントの1つにNVIDIAの4+1があったと説明している。

big.LITTLEの構想

 しかし、NVIDIAはTegra 4ではbig.LITTLEを採用していない。採用しなかった理由の1つは、Tegra 4の設計に入った段階ではbig.LITTLEがまだ準備できていなかったことを挙げている。これは納得できる説明だ。実際、Cortex-A15のマクロの提供からbig.LITTLEのCortex-A7のマクロまでは1年のタイムラグがあり、もし、NVIDIAがCortex-A15の提供と同時にダッシュし始めたとしたら、間に合わなかった。big.LITTLEはSamsungが実装するが、SamsungはIDM(Integrated Device Manufacturer)でもあるので、NVIDIAより先行できることは不思議ではない。

 ちなみに、Tegra 4と同様の4+1アーキテクチャは、Cortex-A9ベースのTegra 3で実装している。しかし、Cortex-A9ではメモリコヒーレンシを取ることができるコア数は4コアまでなので、基本的にはコア切り替えのアーキテクチャルコンテキストの移行でロスが生じることになる。それに対して、Cortex-A15では4コア以上でもメモリコヒーレンシを取ることができるので、原理的にはコンテクストの切り替え時に外部メモリにいったんストアする必要がなくなり、より効率的になると予想される。

Tegra 3の4+1アーキテクチャの説明。Tegra 3のダイ写真は実はフェイクで、一番上のローパワーCortex-A9コアの大きさと位置は正確ではない

CMOSスケーリングが止まりダークシリコンが問題に

 Tegra 4に関して、おそらく、エンドユーザーの最大の疑問は消費電力だろう。まず、プロセス技術での電力低減については、28nmプロセスでHKMGになったこともあり、一定の効果が期待できる。40nmでパフォーマンスプロセスの40Gと28HPMを比べると、同じ電力で35%の速度向上または、同じ速度で40%の電力削減が可能となっている。

速度と電力削減
同等の電力における速度向上

 ただし、トリッキーなのは、こうした半導体ベンダーの比較チャートは、同じダイサイズでの比較ではないことだ。プロセスの微細化で、トランジスタ当たりの電力がある程度下がっても、半分にまで下がらなければ、微細化によってチップ当たりのトランジスタ数が倍になるとトータルの消費電力が上がってしまう。

 以前のCMOSスケーリングでは、1ノード世代毎にトランジスタのデバイスピッチは“0.7倍(70%)”かそれ以下にスケールダウン。ゲート長も70%以下にスケールし、動作電圧も70%に下がった。消費電力は、キャパシタンス×電圧の2乗×動作周波数に比例するため、キャパシタンスの70%と電圧の70%の低減おかげで、同周波数ならトランジスタ当たりの電力は35%にまで低減できた。周波数を140%に引き上げて、ちょうどトランジスタ当たりの電力が50%となり、チップ面積当たりの電力密度(Power Density)が前世代と同じになる計算だった。

電力密度の関係

 しかし、プロセス技術の微細化が進むに従って、CPUの電源電圧をあまり下げられなくなり、電力のスケーリングが崩れた。駆動電圧を84%以下に低減できれば、トランジスタのスケールダウンに見合った電力の低減ができるのだが、現状ではそこまで下げることは難しい。加えて、リーク電流がプロセスの微細化とともに増えた。

 結果として、トランジスタ当たりの電力はプロセスの微細化で下がるのだが、同程度のダイに載せられるトランジスタ数も倍に増えるため、チップの電力は基本的には増える。そのため、チップ全体の消費電力を一定に抑えようとすると、チップ全体をアクティブにすることができなくなりつつある。これが、ダークシリコン問題だ。

TSMCのプロセスは40nmから28nmでスタンダードセルのゲート密度は1.95倍に増え、同じサイズのチップに約2倍近いトランジスタを詰め込むことが可能になる
トランジスタ数は図のように2世代で4倍ずつに増えるが、同じ電力に留めようとするとオンにできるチップ面積がどんどん狭くなって行く

GPUコアのロジック回路を増やしたTegra 4

 ダークシリコン問題の解決方法には、電力消費の少ないメモリをダイ上で増やすことや、チップ全体を同時にオンにしないで済む設計にすることがある。チップベンダーが、キャッシュを増やしたり、CPUコアからGPUコアや固定機能ユニットへのオフロードを一生懸命進めようとしているのはそのためだ。

 しかし、Tegra 4の場合は、ちょっと話が違う。Tegra 4の場合は、アクティブに動作するロジック部分が増えたと見られるからだ。Tegra 4では、CPUコアはCortex-A9からCortex-A15に強化したが、キャッシュも含めたCPU関連のエリアは28nmへの微細化によってほぼ同程度かよりコンパクトに収まると見られる。また、デコーダやISP(イメージシグナルプロセッサ)などの面積は、強化されても微細化で小さくなる。メモリパッドは2倍になるが、それでも、全体的に見ればダイにかなり余裕ができる。その余裕を全てGPUコアに費やしたのがTegra 4だと見られる。Tegra 4では、GPUコア部分のプロセッサがTegra 3の6倍になっている。

TegraのALU
PDF版はこちら
Tegra 4のGPU
PDF版はこちら

 この場合、問題はダイ面積をGPUコアのトランジスタにつぎ込むと、ロジックトランジスタ数が増えること。それも、グラフィックス使用時にはフル稼働してしまうGPUコアであるため、ゲーム時にはGPUコアのクロックを上げるとピーク消費電力の上昇は避けられない。解決策としては、NVIDIAはピーク時に、より多くの熱を廃熱できるようにシステムを設計することになる。

 NVIDIAのゲーム向けAndroid端末のProject SHIELDでは、Tegra 4に大きな冷却フィンが乗っているが、その理由はこうした部分にありそうだ。実際には、話はもう少し複雑で、微細化によって電力密度も高まる。冷却で一番の問題になるのは、単位面積当たりの熱を高める電力密度で、その対策としても冷却フィンモジュールがあった方がいい。

 しかし、逆説的だが、Tegra 4はGPUコアに多くのトランジスタを割いたため、相対的には、グラフィックス処理の軽いワークロードの場合は電力の問題を解決しやすい。まだ実際はわかっていないが、原理的にはGPUコアをうまく部分的にパワーゲートすれば、それがオフ状態のダークシリコン領域となる。HKMGのおかげでゲートリーク電流は減るので、スタンバイ時の電力を抑えやすい。GPU部分をうまく設計すれば、平均消費電力では、プロセス技術の進歩を享受できるので、スマートフォンやタブレットでの通常の使い方では電力はそれほど不利にはならないだろう。

(後藤 弘茂 (Hiroshige Goto)E-mail