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

GPUの製造プロセスは2010年に32nm、2011年に28nmへ



●TSMCのロードマップに沿って40nmプロセス化が進む

 GPUは40nmプロセス世代に入りつつある。AMDに続いてNVIDIAも40nmプロセス世代のGPUを発表したからだ。NVIDIAの40nm GPUはいずれもノートPC向けで、ハイパフォーマンスセグメントの「GeForce GTS 250M/260M」、パフォーマンスの「GeForce GT 230M/240M」、メインストリームの「GeForce G210M」の3系統となっている。NVIDIAは、40nm世代で、この3系統それぞれに向けた3種類のダイを一気に投入した。それだけ、40nmへの移行に本気になっている。

 GPUが40nmへと向かうのは、GPUを製造するファウンドリTSMCのプロセス技術ロードマップのためだ。TSMCがGPUやCPU向けに提供している高速ロジックプロセスは、45nmをスキップして40nmへと移行した。そのため、GPUは比較的長かった55nmプロセス時代を経て、2009年は40nmへと生産を移行しつつある。

TSMCのロードマップ

 TSMCは2008年第4四半期に、高速ロジックの40nmプロセス「CLN40G」の量産を始めている。AMDの40nmプロセスGPU「ATI Radeon HD 4770(RV740)」が、この世代のプロセスを使った最初のGPUとなった。先端プロセス技術のGPUへの採用は、過去数世代において必ずAMDが先行していたが、40nmでもそうなった。

 もっとも、AMDの発表は、TSMCのプロセスの立ち上げから比較的期間が短い。そのため、AMDの発表直後に、NVIDIAは声明を出し、「AMDの40nm製品がボリューム出荷で困難に直面するだろう。40nmはまだTSMCの新プロセスで第2四半期まではサプライが限られる」と指摘した。実際、AMDのCPU製品のファウンドリであるGLOBALFOUNDRIES(AMDからのスピンオフ)も、TSMCの40nmは2009年第1四半期でわずか1%の売上に過ぎず、大した量は出荷されていないと指摘していた。

 NVIDIAは40nmでのデスクトップGPUの出荷時期を夏後半としている。これは、これまでのプロセスの立ち上げから量産出荷までのパターンから言えば穏当なラインだ。NVIDIAの新プロセスへのアダプトとしては、比較的早いペースと言える。NVIDIAが、製品のプロセスの微細化を急ぎ、チップを縮小して、利幅を広げることに注力していることがよくわかる。

 ちなみにTSMCのロードマップにこれからも沿って行くなら2010年中盤には32nm GPUが、2011年前半には28nm GPUが登場することになる。また、その頃にはAMDからスピンアウトしたGLOBALFOUNDRIESのロードマップも、AMD GPUに関係して来る可能性が高いだろう。GLOBALFOUNDRIESも、GPUなどをターゲットにハーフノードの28nmバルクプロセスを立ち上げつつある(現在はまだIBMファブ)。GPUのプロセス移行は、今後も急ピッチで続くことは間違いがない。

GPUのダイサイズ推移

●ダイ上で簡単に確認できるNVIDIAのプロセッサ数

 下の図は、NVIDIA GPUの公開されているダイ写真だ。上から65nm、55nm、40nmとなっている。一番上は240個のStreaming Processor(SP)を搭載する65nmのGeForce GTX 280(GT200またはG200)。SPは、NVIDIA GPUの単精度浮動小数点演算プロセッサだ。真ん中はノートPC向けの55nmのGeForce GTX 280Mで、128個のSPを搭載し、G92bと同ダイだと見られる。一番下は新しい40nmのGeForce GTS 260Mで、96個のSPを搭載する。

NVIDIAのダイサイズ比較

 NVIDIAアーキテクチャでは、8個のSPをSIMD(Single Instruction, Multiple Data)型実行で制御する。8個のSPに加えて、その他の実行ユニットをまとめたプロセッサクラスタを「Streaming Multiprocessor(SM)」と呼ぶ。SMは、同じ命令ユニットからの命令発行を受けるプロセッサのクラスタで、これがNVIDIA GPUのプロセッサ群の基本単位となっている。つまり、8個のSPの1セットが固定された単位となる。

 GeForce GTX 280の場合はSMが30個で、8×30=240となり、SPがトータルで240個。GeForce GTX 280MではSMが16個で、8×16=128となり、SPが128個。同様にGeForce GTS 260MはSMが12個で、8×12=96で、SPが96個となる。SMは、GPUダイの上で容易に識別できる。下のダイ写真のうち水色で囲ってある部分が、個々のSMだ。数えれば、簡単に物理的に実装されているSPの数を割り出すことができる。

Streaming Multiprocessorの比較

●GPUのダイのエッジ長を占有する広いDRAMインターフェイス

 ダイ上には、さらに2~3個のSMとセットになったテクスチャユニット、命令&スケジュールユニットがある。これらでTexture/Processor Cluster(TPC)を構成している。この他に、スレッドケジューラ、ROP(Rasterizing OPeration)ユニット、メモリコントローラ、ホストコントローラなどがある。

 さらに、GPUのダイの縁には、I/Oインターフェイスが配置されている。PCI Express Gen2 x16インターフェイスとDRAMインターフェイスが大きな面積を取っている。

 例えば、GeForce GTX 280のダイでは、512-bitのDRAMインターフェイスパッドが、ダイの上下左のぐるり3辺を占めている。インターフェイス幅が広いため、巨大ダイの3辺でようやく収まっている。PCI Express x16は右下にある。

 GeForce GTX 280Mのダイでは、256-bitインターフェイスがダイの左と下、そして上の一部を取っているように見える。ダイが小さくなった分、ダイのエッジ長さが短くなったため、インターフェイス幅が半分でも、それなりの長さを占めていると推測される。

 これがGeForce GTS 260Mになると、DRAMインターフェイスはダイの左と下の2辺を占めているに過ぎなくなる。ダイ自体もさらに小さくなったが、DRAMインターフェイスも128-bitとさらに半減しているからだ。逆を言えば、このダイ写真から、GeForce GTS 260Mは物理的にも128-bit DRAMインターフェイスしか実装されていないことがわかる。つまり、256-bitインターフェイスを半分ディセーブルにしているわけではない。このことは、上位には256-bitインターフェイスのGPUダイが控えていることを示唆している。

●回路設計が異なるNVIDIA GPUのプロセッサ

 NVIDIA GPUで、演算プロセッサのブロックであるSMが目立って、見分けが簡単につく理由の1つは、回路設計が異なるからだと推測される。NVIDIA GPUでは、SM部分だけはASICのスタンダードな回路設計を使っていない。カスタム回路設計を取っており、CPUのようにプロセッサにチューンした設計を行なっている。

 カスタム設計の利点は、プロセッサ部分をよりコンパクトに、高周波数にできることだ。NVIDIA GPUのプロセッサ動作周波数が極めて高い理由の1つはここにある(他にもパイプラインアーキテクチャなども影響している)。しかし、利点の反面、このアプローチには設計に時間がかかるという難点がある。このためにNVIDIAの方が、新プロセスのGPUの物理設計に、若干の時間がかかるはずだ。しかし、SMのモジュールは各ダイで共通するため、1つのプロセスでいったん設計すれば、あとは使い回しが可能となる。ちなみに、S3 Graphicsも、同じVIA Technologies傘下のCPUメーカーCentaur Technologyの支援を受けてカスタム設計を部分的に採用していると言う。

 NVIDIAのカスタム回路設計については、興味深いNVIDIAの方針転換がある。2002年3月にNVIDIAで当時研究開発のトップであるChief ScientistだったDavid B. Kirk(デビッド・B・カーク)氏に、なぜカスタムデザインを行なって高周波数のGPUを作らないのか質問した。その時、Kirk氏は次のように答えた。

 「カスタムデザインでチューンすれば、GPUがもっと高速になるのは確かだ。しかし、問題はもっとデザインに時間がかかることだ。例えば、IntelなどのCPUを見ると、アーキテクチャデザイナが仕事を終えてから、約1~2年もトランジスタチューニングに時間をかけている。同じことをGPUでしたらどうなるかというと、2002年、2GHzのTNT2を出すことになる(NVIDIAが2002年に投入したのは300MHzのGeForce 4Ti(NV25)だった)。誰か買うと思うかい(笑)。

 グラフィックスビジネスでは、アーキテクチャとフィーチャは、CPUよりはるかに頻繁に変化する。製品を仕上げるまで3年かけるわけにはいかない。まあ、グラフィックスのイノベーションがスローダウンしたら、そうしたらカスタムデザインで高クロックの製品を作れるかもしれない。しかし、それは多分20年後だろう。まだ、20年分くらいは、やり残していることがある」。

●G80から転換したNVIDIA GPUの設計思想

 2002年当時のNVIDIAの設計思想は次のようなものだ。GPUでは実装するフィーチャがどんどん増えて行くため、アーキテクチャが急激に進化する。そのため、回路設計に時間をかけていては、製品の供給に手間取って、結果として競争力のある製品を作ることができない。それなら、高速化より、迅速なアーキテクチャ改良を取った方がいい。簡単に整理するとこんなところだろう。

 ところが、NVIDIAは2006年のGeForce 8800(G80)からはSMにカスタム設計を取り入れた。その理由を、G80発表当時Kirk氏は次のように説明していた。

 「確かに我々は方針を転換した。より高速で効率的なプロセッサを作るためだ。今回、我々がプロセッサを高速にできた理由の1つはそこにある。以前、カスタムデザインの難点は時間がかかることだと説明したと思う。しかし、今回は、我々には時間もあった。G80の開発には4年もかけたからだ」。

 GPUはプロセッサによるシェーダソフトウェア処理へと移行した。そうなると、プロセッサ部分だけを見れば、ハードウェア的にフィーチャを加えて行くのではなく、ある程度固定されたアーキテクチャで高速化する方向へと向かう。それなら、プロセッサを高周波数にできる方法を取った方が有利となる。

 また、2年サイクルで新フィーチャを加えたGPUを迅速に作るのではなく、優れたベースアーキテクチャを4年といった長い期間かけて開発して、その上でソフトウェアと部分的なハードウェアの付加で機能を実装して行く方向にも変わった。時間をかけることができるなら、カスタム設計を採用することも可能だ。

 興味深いのはG80の開発がスタートしたのは2002年後半と推測されることだ。つまり、NVIDIAの研究開発のトップでも、直前に迫ったGPU設計の大きな変化を予測できていなかったことになる。G80での転換は、それだけラディカルで大きなものだった。

 このように、ダイを見ても、G80がNVIDIAにとって大きな転換点で、それ以降のGPUは、G80以降のフォーマットに沿っていることがよくわかる。