後藤弘茂のWeekly海外ニュース
PlayStation 4のCPUコアはなぜ「Jaguar」なのか
(2013/2/22 00:00)
SCEはJaguarを選んだのではなくJaguarしか選べなかった
なぜ、ソニー・コンピュータエンタテインメント(SCE)は「PlayStation 4(PS4)」のCPUに「Jaguar(ジャガー)」コアを選んだのか。AMDのCPUコアのうち、ハイパフォーマンスのコアではなく、低消費電力のコアを選んだのはなぜなのか。
注意深くAMDのロードマップを眺めれば、その理由は一目瞭然だ。SCEはJaguarを選んだのではなく、Jaguarしか選べなかったのだ。それは、チップを製造する半導体ファウンダリの選択肢が限られており、そしてファウンダリによって載せられるCPUコアの選択肢が限られてしまっているからだ。
具体的に言えば、当初、AMD設計のチップは28nmプロセスで製造しようとしてTSMCにファウンダリが限られてしまった。2011年後半から2012年の頭の段階で、28nmチップの製造キャパシティが読めたのはTSMCの側だけだったと、ある半導体業界関係者は言う。SCEのチップの量産を行なう2013年に、GLOBALFOUNDRIES側は28nmで、ある程度大きな製造キャパシティを確保するメドが立たなかったのだという。ファウンダリの出しているロードマップ通りに行かないことは多い。そのため、SCEには2013年末にPS4を出すにあたって、選択肢としてTSMCしかなかった。そして、その時点で、TSMCの28nmに乗るAMD CPUコアで間に合うものはJaguarしかなかった。実は、こうした理由で、PS4のCPUコアはJaguarになったのだ。
SCEはもともとはBulldozer(ブルドーザ)系のパフォーマンスCPUコアの28nm版「Steamroller(スチームローラ)」でPS4を作る計画だったと見られる。そもそも、SCEがAMDに設計を委託したのは、それ以前にIntelと進めていた「Haswell(ハズウェル)」と「Larrabee(ララビ) 3」でPS4を作るプランが流れたからだ。そう考えると、SCEのもともとの狙いは、AMDのハイパフォーマンスコアにあったはずだ。
しかし、PS4を28nmプロセスで2013年と決めた段階で、SCEには選択肢がなくなった。2013年には28nmのSteamrollerが間に合わないからだ。そのため、SCEはファウンダリをTSMCへと変え、CPUコアをJaguarに変えたと見られる。
2つのファウンダリの間で揺れるAMD
こうしたストーリが分かるのは、半導体ファウンダリ側の製造キャパシティやAMDとの関係の状況が明白だからだ。AMDは現在、ハイパフォーマンスCPUとAPU(Accelerated Processing Unit)をGLOBALFOUNDRIESの32nm SOIプロセスで製造している。32nmのハイパフォーマンスコアは「Piledriver(パイルドライバ)」だ。その一方で、低消費電力APUを、TSMCの40nmプロセスで製造している。40nmの低消費電力コアが「Bobcat(ボブキャット)」だ。
このうち、低消費電力APU側はTSMCの28nmプロセスの「Kabini(カビーニ)」へと移行する。CPUコアは28nmのJaguarとなる。それに対して、パフォーマンスAPUは、32nmのまま「Richland(リッチランド)」へと移行する。CPUコアは32nmのPiledriverのままだ。もともとの予定では、パフォーマンスCPUは2013年にはGLOBALFOUNDRIESの28nmバルクで製造する「Kaveri(キャヴェリ)」へと移行し、CPUコアも28nmのSteamrollerに代わる予定だった。それが、32nmへと後退してしまった。何が起きているのか。
実は、前兆は2012年2月に行なわれたAMDのアナリスト向けカンファレンス「Financial Analyst Day 2012」で、AMDが28nmプロセスではファウンダリを選択できるようにすると説明し始めた時からあった。2012年3月に、AMDはGLOBALFOUNDRIESとの契約を改定し、AMDがGLOBALFOUNDRIESの株を手放す代わりに、GLOBALFOUNDRIESがAMDのCPUやAPUの一部を独占的に供給する権利を失効させた。これによって、AMDはファウンダリを自由に選択できるようになった。
実際には、2012年秋頃から、AMDが28nmプロセスの製品をGLOBALFOUNDRIESからTSMCへ移そうとしているという情報が流れていた。GLOBALFOUNDRIESの28nmの立ち上げの遅れと、それに伴う製造キャパシティについて、AMDが問題があると見なしたことが原因だったと言われている。
SCEが設計に入る段階では読めなかった製造キャパシティ
現在のAMDは、異なるファウンダリ間で製品製造を移管させやすくして、リスクを分散しようとしている可能性が高い。これだけプロセス技術が複雑になると、どのファウンダリでも、問題は起こりうるからだ。しかし、現在は過渡期であり、先行きが読みにくい。SteamrollerもGLOBALFOUNDRIESからTSMCに移す可能性があるが、まだどうなるか分からない。
そもそも、Bobcat系の低消費電力コアと、Bulldozer系のハイパフォーマンスコアには、決定的な違いがある。それは、低消費電力コアは移植が比較的容易なシンセサイザブルな(合成しやすい)部分が多い設計であるのに対して、ハイパフォーマンスコアは移植が面倒なカスタム回路を多用した設計であることだ。そのため、SteamrollerをTSMCに持ってくるには、その逆よりもかなり時間がかかる。そのため、2013年はAMD設計をベースとしたチップにとって、28nmのパフォーマンスコアが不在の年になってしまっている。
この状況に陥る直前の段階で、SCEはAMDと開発したPS4チップを28nmで製造委託しようとしていた。28nmプロセスは、グラフィックスのパフォーマンス等の面から必須の条件だったと見られる。そもそも、SCEは「Cell Broadband Engine(Cell B.E.)」を90nm→65nm→45nmとシュリンクして、32nmプロセス版は設計しなかった。32/28nm世代で次のプラットフォームという計画でいたと見られる(Haswellは22nmだがIntelのプロセスは1周早い)。
そこでSCEは、AMDとファウンダリの問題に直面してしまった。おそらく、SCEがGLOBALFOUNDRIESと交渉した結果、十分なキャパシティを取れない可能性が出てきたと推測される。具体的なことは分からないが、立ち上げ時のゲーム機のチップはやや大きめなので、モバイルと比べて数量が少なくてもある程度のキャパが必要となる。また、PS4の需要が読み切れないSCEとしては、予想の中から大きめの数字を出す可能性もある。
実際には、そうした交渉は製造に入るよりかなり前に行なわれており、その時点での予測でキャパシティが間に合うかどうかが分からなかったため、チップの設計に入ることができなかったと見られる。いずれにせよ現状を見る限り、SCEはGLOBALFOUNDRIESでは製造できないという結論を出したと推測される。本家のAMDのパフォーマンスCPUと同じ状況になったわけだ。
一方、28nmのボリュームに関してはTSMCはGLOBALFOUNDRIESより1年近く先を行っていると半導体業界関係者は語っている。TSMCなら2013年には、ある程度のキャパシティを確保できる状態にある。もっと正確に言えば、GLOBALFOUNDRIESより前にキャパシティの予想を立てることができた。そのため、SCEはTSMC側にPS4チップの製造を委託したと推測される。実は、SCEとTSMCの関係はこれが初めてではなく、SCEは別なチップもTSMCに委託しており、TSMCとの付き合いにも慣れている。
SCEの半導体戦略のずれと半導体産業の大きな変化
結果論から言えば、PS4のプランの途中にあったHaswellとLarrabee 3のプランがもしそのまま進行していれば、プロセス技術的には、それが一番安心できるコースだっただろう。また、パフォーマンス的にもアーキテクチャ的にも面白いマシンになったかも知れない。Larrabeeのソフトウェアレンダラという構想はそれなりに革新的だったし、Haswellの強力な省電力機能も魅力だ。しかし、IntelのLarrabee戦略はふらついていて信用ができず、また、秘密主義で思い通りにならないIntelとの交渉自体、かなり難しかったと推測される。
SCE自体は、Intelに対してある程度積極的だったと言われている。そもそも、SCEはゲーム機のチップを開発することで、ゲーム市場の発展とともに組む半導体パートナーをステップアップして行く計画だったと言われている。初代PlayStationでLSI Logicと組み、PS2では東芝と組み、PS3ではIBM、東芝と連合を組んだ。このコースを見れば、その延長にはIntelがあったとしても不思議ではない。
PLAYSTATION 3(PS3)の時、SCEを代表取締役社長兼グループCEOとして率いていた久夛良木健氏は、ゲーム機用チップでソニーをロジックチップのIDM(Integrated Device Manufacturer:垂直統合型デバイスメーカー)として成功させようというプランを立てた。結果として、そのプランはPS3の不調や、半導体のプロセス開発コストの急騰などで崩れてしまった。現状では、先端プロセスで生き残っている半導体メーカーは一握りしかなく、ソニーも久夛良木戦略通りに行ったかどうかは分からないが、可能性はあった。
しかし、結果としてSCEは、現在はファウンダリに頼らざるを得なくなっており、そのために、プロセス開発競争の大嵐で揺れるファウンダリの事情に、左右されている。PS4のスペックは、まさしく、そうした事情で決まったと推測される。
Jaguarの利点も多い
ただ、Jaguarになったこと自体は、それほどまずいわけでもない。Steamrollerと比べると、動作クロックはピークパフォーマンスでは不利となる。しかし、電力効率では利点があり、スモールコア(3.08平方mm)であるため実コア数も8コアと増やすことができた。コアが小さい理由の1つは高密度な9トラックライブラリを多用しているためもある。
性能が読みやすい実CPUコアが多数あること自体は、扱いやすいことを意味する。また、電力効率で利点があるということは、微細化しても電力密度に余裕があることを意味するため、熱の面で言えば原理的には微細化しやすい。しかも、組み合わせているのがGCN(Graphics Core Next)系なので、CPUからGPUへとオフロードもしやすい。また、AMDの低消費電力コアはファウンダリの移植がしやすい設計となっているため、もし、この先のプロセスで問題が発生した場合でも、ほかのファウンダリに逃げやすい。これは、かなり重要な要素になって来るかもしれない。
幸いなことに、Jaguarは前世代のBobcatと比べると、SIMD(Single Instruction, Multiple Data)浮動小数点演算を中心にパフォーマンスアップが図られている。また、Jaguarは初めから共有L2キャッシュでマルチコアを前提とした設計になっている。パイプライン段数も深くなっており、1.8GHz以上を達成している。
Bobcat(BT) | Jaguar(JG) | |
プロセス | 40nm bulk | 28nm bulk |
コア数 | 2 | 4 |
L2キャッシュサイズ | 1MB (512KB dedicated 16-way) | 2MB (shared, 4x 512KB 16-way) |
コアサイズ | 4.9平方mm | 3.1平方mm |
コアの演算要素数(Flop Count) | 159,900 | 194,490 |
Machine Width | 2-wide | 2-wide |
物理アドレス | 36bit | 40bit |
L1命令キャッシュ | 32KB, 2-way 64B line | 32KB, 2-way 64B line |
L1データキャッシュ | 32KB, 8-way 64B line | 32KB, 8-way 64B line |
ロード/ストア帯域幅 | 8Byte/cycle, Write Combine | 16Byte/cycle, Write Combine |
FPUデータパス | 64bit | 128bit |
EXスケジューラ | 16エントリ | 20エントリ |
AGUスケジューラ | 8エントリ | 12エントリ |
こうして概観すると、PS4の裏には、半導体産業自体の大きな変化や揺らぎがあることが分かる。現在は、こうした嵐に、SCEだけでなく誰もが揺られている状況だ。