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

なぜNVIDIAのGeForce GTX 480はプロセッサ数が減ったのか



●SMのうち1個を無効にしたGeForce GTX 480(GF100)

 NVIDIAがFermi(フェルミ)アーキテクチャの最初のGPU「GeForce GTX 480(GF100)」を発表した。GeForce GTX 480のスペックを見ると、いくつか面白い点に気がつく。1つは、シェーダプロセッサである「Streaming Processor(SP)」改め「CUDAコア」の数だ。

 Fermiアーキテクチャのハイエンドのダイ(半導体本体)は、物理的には512個のCUDAコアをGPU上に備えている。これは、32個のCUDAコアを備えたマルチプロセッサユニット「SM(Streaming Multiprocessor)」を16ユニット備えているからだ。NVIDIAは、SMの内1個を無効にしており、合計で480個のCUDAコアの構成の製品となっている。GF100のダイを見ると、明瞭に16個のSMが見て取れる。そのため、SMの内1個を無効していることは明らかだ。そもそも、SMが奇数というのは、半導体製品としてはかなり妙だ。

GeForce GTX 480のブロックダイヤグラム
GeForce GTX 480のダイ
SMの構造

 SMの内1個を無効する理由は明瞭だ。それは歩留まりを上げるための冗長性だ。これは、半導体チップでは非常に一般的に取られている手法で、GF100が特例でも何でもない。

●冗長性が歩留まり向上のカギ

 チップの製造過程において、ウェハ上で、ランダムに欠陥が発生する。ダイが小さいチップは、一定量の欠陥があっても、高い歩留まりを維持できる。ところが、ダイが大きなチップは、ダイ上に欠陥が含まれる可能性が高いため、歩留まりが大きく低下してしまう。GF100のように500平方mmを超えるチップの場合、欠陥があるダイは非常に多くなる。欠陥が含まれたダイを全て破棄するとなると、歩留まりは著しく下がってしまう。

ダイサイズと生産性

 それを防ぐ方法は、チップの回路に冗長性を持たせることだ。例えば、CPUのキャッシュSRAMでは、冗長セルを用意して置き、欠陥があって使えないメモリセルを置き換える。そのため、キャッシュSRAMメモリセル部分は歩留まりに影響しない。しかし、問題はロジック回路部分で、冗長性を持たせることが難しい部分が多い。そこで、より大きな単位で冗長性を持たせることで、歩留まりを向上させる。
 具体的には、欠陥が含まれている部分のCPUコアやGPUのプロセッサクラスタを無効にする。例えば、4コアCPUの場合なら、欠陥のあるCPUコアを無効して3コアCPUとして製品化する。PLAYSTATION 3(PS3)のCell Broadband Engine(Cell B.E.)が、8個のSPU(Synergistic Processor Unit)のうち1個を無効にしているのは、まさにこの冗長性のためだ。

マルチコアCPUでの歩留まり向上策
GPUのダイサイズとプロセスルールの推移

●n-1コア戦略で40nm世代プロセッサの歩留まりを上げる

 この「n-1」マルチコア手法は、半導体チップの歩留まりを劇的に上げる効果がある。実際には、これまでもGPUメーカーは、この手法で製品を出してきた。ハイエンド製品はフルに全てのブロックが働いているバージョンだが、一部のブロックを無効したGPUを廉価版として製品化してきた。今回特殊なのは、NVIDIAがハイエンドのグラフィックス製品であるGTX 480をn-1の構成にしたことだ。

 これが示唆しているのは2つの可能性だ。1つは、TSMCの40nmプロセスの歩留まりでは、n-1でない限り、巨大ダイは充分な歩留まりに達しない可能性。もう1つは、今回、NVIDIAに求められているハイエンドGPUの数量が膨大であるため、n-1にして数量を増やさない限り対応できないという可能性。実際には、この2つの理由が混在しているだろう。

 TSMCの40nmは、当初、欠陥密度が高いと報じられていた。じつは、これはTSMCの問題というより、微細化に伴う一般的な問題で、今後も課題になって行くようだ。なぜ40nmがそんなに苦労なのか、NVIDIAはその理由を昨年(2009年)11月の半導体カンファレンス「IEDM」で、John Y. Chen氏(Vice President Technology & Foundry Operations, NVIDIA)が行なった講演「GPU Technology Trends and Future Requirements」の中で説明している。

 下のチャートはIEDMの論文にあった、各プロセス世代のGPUの、単位面積当たりのメタル配線の長さと、配線レイヤー間のビアの数だ。40nm世代で急増していることがわかる。特に、冗長性がなく歩留まりに影響するシングルビアの数が増えているという。

各プロセスルールにおける総配線長

 そのため、欠陥密度が非常に低くないと、高歩留まりを維持できないのが現状だという。下のチャートがシングルビアでの欠陥率と歩留まりの関係を示したIEDMのチャートだ。歩留まりのロスを一定以下に抑えるためには、今までより格段に低い欠陥率が必要になる。IEDMの論文では、NVIDIAは欠陥ゼロが必要だと訴えていた。しかし、現状では欠陥ゼロは実現できないため、NVIDIAは何らかの手段が必要となる。おそらく、それがn-1コアだったと推測される。

欠損密度と歩留まりの関係

 ちなみに、NVIDIAのGPUマイクロアーキテクチャでは、制約がデータパスにあることが多い。例えば、Fermiアーキテクチャでは、倍精度命令を発行する際には1命令しかSM内で命令発行できないが、この制約はデータパスによるという。IEDMで指摘された問題を見ると、設計上での挑戦がインターコネクトにあることは明瞭で、それがデータパスの制約に関連している可能性がある。

 このほか、IEDMの論文ではばらつきの増大も歩留まりに悪影響を与えていることが指摘されている。この問題もはるか以前から指摘されているが、GPUでも大きな問題になっていることがわかる。GPUやCPUのメーカーは、これまではばらつきを利用して、低速な製品と高速な製品を出荷し分けて来た。例えば、高速に動作する製品は高パフォーマンスチップとし、低電力でも高速に動作する製品はモバイルチップとし、その他のチップを通常のデスクトップチップとしてきた。

 しかし、ゲートディレイのばらつきが微細化によって増えるため、こうした伝統的な手法も使えなくなりつつあるという。スピードイールドが問題になりつつあるわけだ。

ばらつきと歩留まりの関係

●ハイエンドの需要が極めて高いFermiアーキテクチャ

 こうして見ると、微細化に伴う必然的な歩留まり問題への対処として、NVIDIAがn-1コアのアプローチを取ったことが推測できる。加えてNVIDIAには、今回のFermiではハイエンドチップを大量に生産する必要に迫られているという事情もある。

 グラフィックス市場だけを見ているとわかりにくいが、今回のFermiアーキテクチャは、汎用的なコンピューティング用途での需要予測が極めて高い。今世代では、HPC(High Performance Computing)市場はNVIDIAの圧勝で、スーパーコンピューティング用途でもFermiを採用しようと検討しているところが増えている。そうした用途では1サイトで数千個ものハイエンドチップが必要となる。そのため、Fermiアーキテクチャについて言えば、ハイエンドの製品の需要が極めて高くなっている。

 グラフィックス中心だった時代には、ハイエンドは少量しか売れず、ミッドレンジ以下が売れ筋だった。そのためハイエンドチップの製造量は少なくてよかった。悪い言い方をすれば、ハイエンドチップは見せ球で、パフォーマンスクラウンを取るための道具に過ぎなかった。

 しかし、Fermiではむしろハイエンドが強く、NVIDIAは、ハイエンドチップを大量に必要としている。最初から1個のSMを無効にすると決まっていれば、ハイエンドの巨大ダイであっても歩留まりは劇的に高くなる。

プロセスルールとトランジスタ数の推移