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

ISSCCで、ついにCellが登場
~ソニーグループ、IBM、東芝が共同発表




●CellプロセッサがISSCCでお披露目に

Cellの技術発表会でプレゼンテーションを行なった3社の代表。左から東芝の増渕美生氏(Director of Engineering, Toshiba America Electronic Components)、IBMのJim Kahle(ジム・ケール)氏(IBM Fellow)、SCEIの鈴置雅一氏(Vice President of Microprocessor Development Department, SCEI)
 ついに、話題のCellプロセッサがそのベールを脱いだ。

 米国サンフランシスコで開催されている「ISSCC(IEEE International Solid-State Circuits Conference)」で、IBM、ソニーグループ(ソニー、ソニー・コンピューターエンタテインメント)、東芝は、3社で共同開発した「Cellプロセッサ」の技術発表を行なった。3社および開発に協力しているRambusはISSCCでCellに関する論文発表を行なう予定で、それに先駆けて、ISSCC会場のマリオットホテルでプレス向けのブリーフィングを開催した。

 今回発表されたのは、90nm SOIプロセスで製造される最初の世代のCellの技術概要。Cellは、マルチコアCPUで、1つのCPUの中に9個のプロセッサコアを搭載する。PC/サーバー向けCPUは、同じ90nm世代では2個のCPUコアを載せたデュアルコアCPUであるのに対して、Cellは9個とCPUコアの数が多いことが特徴だ。また、IntelやAMDが開発しているマルチコアでは、同アーキテクチャのプロセッサコアを複数搭載する。それに対して、Cellは2種類の異なるプロセッサコアを組み合わせる。

 90nm版Cellには、1個の汎用的なプロセッサコアと、8個の比較的シンプルなプロセッサコアが組み合わせられている。汎用プロセッサコアは、IBMの64bit Powerアーキテクチャをベースにしたもので「Power Processor Element(PPE)」と呼ばれる。8個のコアは、マルチメディア系処理などに向いたSIMD(Single Instruction, Multiple Data)型のアーキテクチャで「Synergistic Processor Element(SPE)」と呼ばれる。ただし、ストリーミング型の処理に特化したアーキテクチャではなく、非常に汎用性も高い。


発表会で公開されたCellチップとウェハ

●広帯域バスを搭載

Cellダイアグラム
PDF版はこちら
 また、プロセッサコア以外に、広帯域の新メモリ「XDR DRAM(Yellowstone:イエローストーン)」のインターフェイスと、チップ間接続のための広帯域インターフェイス「FlexIO(Redwood:レッドウッド)」も搭載する。メモリと高速バスを取り込んでいる点は、AMDのK8系CPUと似ているが、Cellの方がずっと帯域が広い。バスが処理のネックになることを避けるアーキテクチャだ。NVIDIAが開発しているGPUも、このFlexIOに接続されると見られる。Cell内の各プロセッサコアとインターフェイス群は「Element Interconnect Bus(EIB)」と呼ばれる非常に広帯域の内部バスで接続されている。

 Cellの動作周波数は、研究所内でのテストでは4GHzを超えているという。従来トップスピードだったIntel CPUの周波数向上が鈍化し、90nm世代でも4GHzを製品化できない現状では、Cellの周波数はトップクラスだ。ただし、動作周波数と消費電力はトレードオフであるため、実際にPlayStation 3のようなシステムに搭載される時のCellの動作周波数は、各システムによって異なるという。

 性能は8個のSPEによる単精度(32bit)浮動小数点演算で256 GFLOPSに達する。これは、8個のSPEで4並列のSIMDの積和算を4GHzで実行した時の数値だ。当初予想されていた1チップで1TeraFLOPSという“ちょっと前のスパコンクラス”の性能には達しないものの、汎用CPUでは飛び抜けている。また、SPEは、汎用プロセッサが苦手とするストリーミング処理を高速に実行できる仕組みを備えているため、処理によっては従来の汎用CPUよりもはるかに速くなる。アプリケーションによっては10倍の性能を実現できるという。

 ダイサイズ(半導体本体の面積)は、現在の試作チップで221平方mm。これは、PlayStation 2向けの初代Emotion Engineの239.7平方mmよりやや小さく、0.18μm版Pentium 4(Willamette:ウイラメット)の217平方mmとほぼ同じだ。つまり、生産性や製造コストは基本的には同レベルということになる。

Cellダイアグラム(簡略版)
PDF版はこちら

●PowerPCと命令セット互換のPPE

 CellのPPEは、Powerアーキテクチャのプロセッサコアだが、既存のコアの流用ではなく、一からスクラッチで開発された新コアだという。ただし、命令セットは既存のPower系CPUと完全に互換で、ソフトウェアは基本的にはそのまま走らせることができる。また、PPEでは、PowerPC 970(G5)と同様に、MotorolaのAltiVecと互換のベクタ演算機能「VMX」を実装する。つまり、PPEはPowerPC 970(G5)と互換ということになる。

 さらに、PPEはIntelのHyper-Threadingと類似のSMT(Simultaneous Multithreading)機能も搭載し、2つのスレッドを同時に実行することができる。2wayのSMTを実装したPPEと、8個のSPEで、Cell全体では10スレッドを並列に実行できる。つまり、ソフトウェア側から見るとCellの中に10個のCPUがあるように見えることになる。PPEは、512KBのL2キャッシュも備える。

 Cellの中に8個搭載されているSPEは、複数のデータに対して1命令で同じ処理を同時に行なうことができるSIMD型プロセッサだ。X86系CPUのSSEユニットが独立したプロセッサになったと考えてもいい。SSEと同様に、32bitの単精度浮動小数点データ4個や整数データ4個を1命令で同時に処理できる。

 また、SPEでは、ストリーミング処理に最適化した様々なアーキテクチャが取り込まれている。例えば、128本の128bitレジスタを備えており、プログラム中のループを展開してSIMD化して並列に処理することもできる。また、256KBの「Local Store(LS)」と呼ばれるメモリを搭載する。

 Cellの大きな特徴は、チップ内外のバスが非常に広帯域である点だ。Cell内の各要素を接続するEIBは1サイクルに768bitの転送が可能だ。通常のオンチップバスは128bitや256bitなので、Cellは特に高速だ。また、メモリはRambusの次世代メモリXDR DRAMのインターフェイスをデュアルで搭載、メモリ帯域は25.6GB/secに達する。チップ間インターフェイスのFlexIOは76.8GB/secの帯域で、2ポートに分割して使うことができる。つまり、GPUとI/Oチップといった2個のコンパニオンチップを接続することができる。また、AMDのK8のように複数のCellをFlexIOで相互接続することもできる。

発表会で公開されたプレゼンテーション

□関連記事
【2004年12月2日】【海外】ISSCCで明かされるCellの実像
http://pc.watch.impress.co.jp/docs/2004/1202/kaigai137.htm
【2004年12月3日】【海外】2006年にCellベースのサーバーやHDTVが登場
http://pc.watch.impress.co.jp/docs/2004/1203/kaigai138.htm

バックナンバー

(2005年2月8日)

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


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright ©2005 Impress Corporation, an Impress Group company. All rights reserved.