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

6GHz動作を視野に入れる65nmプロセス版のCell B.E.




●微妙にレイアウトが異なる65nm版のCell B.E.

 65nmプロセス版のCell Broadband Engine(Cell B.E.)は、技術的には6GHzまでのスケーラビリティを持ち、消費電力も下がる。IBM、東芝、ソニー・コンピューターエンタテインメント(SCE)は、2月11日から米サンフランシスコで開催されている半導体学会「ISSCC(IEEE International Solid-State Circuits Conference) 2007」で、現在サンプルが動作している65nm版Cell B.E.の技術の一部を明らかにした。「18.1 Implementation of the CELL Broadband Engine in a 65nm SOI Technology Featuring Dual-Supply SRAM Arrays Supporting 6GHz at 1.3V」。

 下が今回発表された65nm版Cell B.E.のダイ(半導体本体)だ。その下が90nm版と65nm版を比較した図。チップの左側にあるのがメインCPUコア「PPE(Power Processor Element)」で、右側にサブCPUコアである「SPE(Synergistic Processor Element)」が8個並んでる。この基本的なレイアウトは65nm版でも変わらない。両チップを比べると、65nm版の方が幅が狭まっている、SPEのレイアウトが65nm版では裏返っている、PPEのL2キャッシュの配置が変わっているなどの微妙な違いはある。

65nm版のCellのダイ(※別ウィンドウで開きます)
PDF版はこちら
Cell B.E 90nm vs 65nm(※別ウィンドウで開きます)
PDF版はこちら

 ラボでの6GHz動作は、6GHz Cell B.E.版のPLAYSTATION 3(PS3)が登場することを意味しているわけではない。90nm版Cell B.E.もラボでは5.4GHzで動作していた。しかし、65nmプロセスでは、PS3がより低消費電力となり、Cell B.E.のより高クロック化によってCell B.E.搭載デバイスの幅が広がる可能性がある。

 Cell B.E.では、メインCPUコアである「PPE(Power Processor Element)」のL1キャッシュとL2キャッシュ、サブCPUコアである「SPE(Synergistic Processor Element)」のメモリであるローカルストア(Local Store)などに大容量のSRAMを搭載している。このうち、PPEのL2キャッシュはCPUコアの半分のスピードで動作するが、PPEのL1キャッシュとSPEのローカルストアはフルスピードで動作する。そのため、高周波数CPUであるCell B.E.では、SRAMに高パフォーマンスと安定性が求められる。特に、SRAMセルは、CPUの中でクリティカルパスで足をひっぱる要因になりやすいと言われるため、SRAMの高速化はCPUの高速化に大きく影響する。

 その一方で、Cell B.E.の低消費電力化のためにSRAMにも低消費電力が求められている。Cell B.E.に搭載されているSRAMは、8個のSPEが各256KBのローカルストアを持ち合計2MB、PPEがL1とL2で576KBで、合計2.5MB以上に達する。そのため、SRAMの低消費電力化は、Cell B.E.の消費電力削減に大きな影響がある。

●改良された65nmプロセス版Cell B.E.のSRAM

 こうした問題を解決するために、65nm版のCell B.E.では、SRAMに特殊なアプローチを導入したという。

 65nm版Cell B.E.のSRAMは、全て0.70平方μmの6T SRAMセル。生産性のために、SRAMセルのタイプをメモリ種類によって変えることはしなかったという。

 新たに導入されたのは、SRAMセルコアに対する、電源電圧(Vdd)とは別なSRAM電圧(Vcs)の供給。従来は、SRAMセルアレイにはVddだけが供給されていたが、Vddから独立したVcsを設定した。デュアル電源でSRAMに個別な電圧を供給することで、SRAMの安定性とパフォーマンスを高める。

 また、SRAMセルには超高しきい電圧トランジスタ(Super-High Vt Device:SHVT)を採用した。これは、ロジック部には使われず、SRAMセルだけに使われるデバイスだという。しきい電圧を高く保つことで、リーク電流(Leakage)を減らすことができる。それだけ、電力消費を抑えることが可能になる。

 この仕組みによって、65nm版Cell B.E.では、動作周波数のアップと、消費電力の低減の両方が可能になったという。

 例えば、特定の動作周波数でVddが0.875Vまで下げられる場合、Vcsを1Vに設定するとVddはさらに低い0.8Vに低減できることが示された。その結果、SRAMの消費電力を19%減らすことができるという。また、同様に、VcsをVddより200mV高い電圧に設定した場合、SRAMセルのばらつきも減るという。その結果、SRAMセルがクリティカルパスではならなくなる。また、チップのテスト時にVcsを下げて動作させることで、低速なSRAMセルも発見しやすくなるという。その結果、低速なSRAMセルを冗長SRAMセルに置き換えて、チップのパフォーマンスを上げることも可能になる。

65nm版のCellのダイ(※別ウィンドウで開きます)
PDF版はこちら
65nm版CellのSRAMのVminf(※別ウィンドウで開きます)
PDF版はこちら

 こうした利点の結果、65nm版Cell B.E.では、SRAMのパフォーマンスが向上、同時に消費電力も低減されたという。

●65nmプロセスでは同Vdd時の周波数が向上

 ISSCCでは、65nm版Cell B.E.のSRAMでの動作周波数と駆動電圧(Vdd)のチャート(Shmoo)も公表された。下のチャートがそれだ。

65nm版CellのSRAMのPerformance Shmoo(※別ウィンドウで開きます)
PDF版はこちら

 縦軸がVddで横軸が動作周波数。グリーンが、正常動作する電圧と周波数の組み合わせ、レッドが正常に動作しなかった組み合わせだ。このチャートはフルチップワークロードのものだと説明されているので、65nm版Cell自体の動作周波数がほぼ示されていると考えてよさそうだ。また、このチャートはVcsを1.3Vに固定した場合の数値で、Vcsは一定のままVddを切り替えてパスした動作周波数が示されている。

 これを90nm版Cell B.E.の発表時の、SPE(Synergistic Processor Element)の動作周波数/電圧のチャートと比較すると違いは歴然としている。90nm版では、1.3VのVddで5.2GHz、1.2VのVddで4.8GHz、1.1Vで4.4GHzだった。それが、今回の発表では1.3Vで6GHz、1.2Vで5.2GHz、1.1Vで4.6GHzとなっている。低電圧では差は小さくなるが、それでも1V時に90nmで4GHzだったのが65nmで4.2GHzに上がっている。同じVddで比べると、90nm版より65nm版の方が5~15%周波数が上がっている。今回の技術の効果が大きいVddをVcsより200mV下げたケース、つまりVddが1.1Vのケースでも周波数が向上している。

90nm Cell B.E.発表時のSPEのShmoo(※別ウィンドウで開きます)
PDF版はこちら

 現在のプロセス技術のトレンドでは、プロセスが微細化しても、動作周波数は向上させにくい。言い換えれば、プロセスの微細化にともなって、消費電力を抑えながら動作周波数を上げるためには、特殊な工夫が必要となる。Cell B.E.では、それが実現されていることが明らかになった。

 また、SRAMセルのこの改良は、結果としてCell B.E.の歩留まりの向上も意味する可能性が高い。スピード派生が改善されるからだ。

 ゲーム機に搭載するCPUでは、PC向けCPUとは異なるスピードイールド(歩留まり)が要求される。PC向けCPUでは、低速品は低価格CPUとして販売することができる。しかし、一定の動作周波数が求められるゲーム機向けCPUでは、低速品は破棄するしかない。そのため、一定水準のスピードイールドの達成が非常に重要となる。また、CPUは低Vddにすればするほど動作周波数が低くなる。そのため、低消費電力化と歩留まり向上を両立させることは難しい。SRAMのばらつきを減らし、一定Vddでの動作周波数を上げる今回のアプローチは、この点でも効果がある。

 ちなみに、SCEは65nm版以降のCell B.E.の低消費電力化のために、TransmetaのLongRun2の導入も明らかにしている。Transmetaは昨年(2006年)、その件でSCEと共同作業を行なっていた。2006年の秋にTransmetaのDavid R. Ditzel(デビッド・R・ディツェル)氏(Co-Founder, Vice-Chairman and CTO)氏は、「ライセンシー1社につき(LongRun2を移植する)作業は約6カ月の見当だ。ソニーとの作業はほぼ終わった」と語っていた。しかし、今のところ要素技術の集合であるLongRun2のどの技術がCell B.E.に採用されたかは、明らかになっていない。

●65nmプロセスではデジタル家電向けのCell B.E.の展開も

 65nm版Cell B.E.では、PS3向け以外にデジタル家電への転用も期待されている。現在のCell B.E.は、デジタル家電への搭載ではハードルが高い。理由はいくつかある。Cell B.E.自体のダイ(半導体本体)がまだ大きく製造コストが家電向けとしては高い。消費電力が大きく、メモリは業界の主流ではないXDR DRAMメモリのみ、I/OはFlexIO(Redwood:レッドウッド)しかサポートしていない。

 そこで、65nmへのシュリンクと同時に、家電向けの派生Cell B.E.チップを作るというプランは以前から上がっていた。2006年11月の「Rambus Developer Forum Japan 2006」で東芝は、家電向けの機能削減版Cell B.E.のプランがあることを明かしている。

 家電向け65nm版Cell B.E.では、まず、現在8個搭載している演算CPUコア「SPE(Synergistic Processor Element)」を4個に半減させる方向にあるという。SPEが8個というのは家電向けではオーバーキルという意見は以前からあった。さらに、家電向けではメインCPUコアの「PPE(Power Processor Element)」を取り去ることも検討しているという。つまり、CellのSPEを純粋にメディアプロセッサとして使い、他のCPUアーキテクチャと組み合わせ可能にしようというプランだ。この場合、Cell B.E.はヘテロジニアス(Heterogeneous:異種混合)型マルチコアではなく、メディアアクセラレータチップ的な位置付けとなる。

 また、I/Oも、現在のCell B.E.はRambusのFlexIOしか搭載していない。FlexIOに接続できるチップは、SCEエクスクルーシブなPS3チップセット以外では東芝が外販しているI/Oチップ「Super Companion Chip」しかない。必ず2チップ構成になってしまうことも難点だった。そこで、家電向けCell B.E.では、より汎用的なI/Oの実装も考えているという。

 ただし、メモリは広帯域が必要となるため、より広い供給が望めるDDR/DDR2メモリに切り替えるよりXDR DRAMメモリを継続する方向を検討しているという。

 家電向けCell B.E.では、より低電圧で低消費電力が求められる。Cell B.E.の技術改良は、こうした展開も容易にすると予想される。

●PS4世代でも継続されるCell B.E.アーキテクチャ

 より長期的に見た場合、Cell B.E.の今後はどうなるのか。

 SCEはCell B.E.をPS3世代だけのためのCPUではなく、より長期的なビジョンで見ている。2006年9月の東京ゲームショウのTGSフォーラムの基調講演で、SCEIの久夛良木健氏(SCEI グループCEO兼代表取締役会長)はCell B.E.のアーキテクチャがPS4世代にも継続されることを示唆している。Cell B.E.の演算パワーがより快適にアクセスできるようになり、「世界につながるどこでもドア」のようになるというビジョンだ。

 これを分かりやすく言うと、次のようになると思われる。PS4世代でもCell B.E.のプログラミングモデルとアーキテクチャは継続される。ただし、Cell B.E.をベースとした分散コンピューティング「Cellコンピューティング」が可能となり、Cell B.E.の演算パフォーマンスを、ネットワーク経由でよりフレキシブルに利用した広い展開が可能になる。

 SCEのCell B.E.に対する膨大な投資とCell B.E.アーキテクチャのスケーラビリティを考えると、Cell B.E.を1世代だけで使い捨てることは考えにくい。Cell B.E.はPS3のためというより、PLAYSTATIONの長期的な土台となって行くと考えられる。もちろん、そのためにはCell B.E.のプログラミング環境の継続的な改善と、デベロッパコミュニティの支持が必要だが、ビジョンとしては長期的な展開をベースにしていると考えられる。

 また、分散コンピューティングは、Cell B.E.アーキテクチャでは最初から考慮されている。Cell B.E.のSPEが、独立したメモリ空間のローカルストアを備えているのは、メモリアドレス空間をポータブルにして、分散コンピューティングを容易にするというためでもある。もちろん、メモリアドレス空間を共有しないことで、キャッシュコヒーレンシの保持メカニズムを不要とすることも、ローカルストアのアーキテクチャの重要な意味だ。このアーキテクチャのため、Cell B.E.では、キャッシュスヌープやデータ転送トラフィックを気にすることなく、CPUコア数を増やすことができる。スケーラビリティが広い。

 しかし、SPEのメモリ空間が256KBのローカルストアに限定されていることは、Cell B.E.プログラミングの大きな障壁の1つでもある。もちろん、メインメモリとSPEの間でデータをDMA転送しなければならないという、もっと大きな壁はある。ゲームのようなリアルタイムアプリケーションでCellプログラミングの壁となっている要素の1つはこれだ。Cell B.E.を発展させて行く上では、この問題は解決される必要がありそうだ。

●Cell B.E.にeDRAMの大容量メモリ搭載の道も開ける

 理想的な解決策の1つは、IBMのスーパーコンピュータ用チップ「BlueGene/L」のように大容量のeDRAMをメモリとして積むことだ。eDRAMはメモリセルの面積が小さく、SRAMと比べると同じダイ面積に3~4倍の容量のメモリを搭載できる。つまり、SPEの256KB分のローカルストアメモリSRAMの占める面積に、1MBのeDRAMメモリを搭載できるようになる。1MBにメモリが広がると、プログラミングの窮屈さはかなり緩和されるだろう。

 ただし、これまでは高速CPUにeDRAMを組み合わせることは壁があった。それは、Cell B.E.など高速CPUの製造プロセスに使われる「SOI(silicon-on-insulater)」プロセス向けのeDRAM技術が成熟していなかったためだ。例えば、BlueGene/LはSOIが得意なIBMのプロセス技術で製造しているにもかかわらず、バルクプロセスで製造されており、SOIを使っていない。eDRAMがその理由の1つと思われる。また、eDRAMでは、SRAMと比べた場合のランダムアクセスの遅さも、用途によっては問題となっていた。

 しかし、この状況も変わりつつある。今回のISSCCで、IBMは65nm SOIプロセスでのeDRAMを発表した。「27.1 A 500MHz Random Cycle 1.5ns-Latency, SOI Embedded DRAM Macro Featuring a 3T Micro Sense Amplifier」。この論文のeDRAMはSOIプロセスで使え、メモリセルは65nmで0.1265平方μmと小さく、ランダムサイクルも1.5nsと非常に速い。そのため、SOIプロセスのCPU上で、SRAMをリプレイスする道が開けている。原理的には、65nm版Cell B.E.の256KBのローカルストアを1MBのeDRAMに置き換えることができそうだ。

 SCEはプロセステクノロジの開発でIBMと提携を結んでいる。同社とIBMのプロセス技術はベースを共通化している。そのため、IBMが自社のSOIプロセス向けに開発したeDRAM技術は、技術的にはSCEも導入しやすい。実際に将来のCell B.E.にeDRAMが導入されるかどうかはわからないが、Cell B.E.を発展させる選択肢が増えたことは確かだ。

□関連記事
【2006年9月22日】【TGS】「プレイステーション」が創り出す夢……いま始まる(GAME)
http://www.watch.impress.co.jp/game/docs/20060922/tgsf.htm
【2005年2月11日】【海外】PCを遙かに超える、Cellのメモリ/IO帯域
http://pc.watch.impress.co.jp/docs/2005/0211/kaigai155.htm
【2003年9月12日】【海外】最終形態では光ファイバでCell同士を接続
http://pc.watch.impress.co.jp/docs/2003/0912/kaigai021.htm

バックナンバー

(2007年2月16日)

[Reported by 後藤 弘茂(Hiroshige Goto)]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2007 Impress Watch Corporation, an Impress Group company. All rights reserved.