Cell Broadband Engine

読み:セル・ブロードバンド・エンジン
外語:Cell Broadband Engine
品詞:商品名,@部品

PlayStation3で採用されたCPU。IBM、SCE、東芝が共同で開発し、第一世代Cellとして発表された。チップ上には「CELL/B.E. CELL BROADBAND ENGINE」と刻印されている。

64ビットのPOWERベースのプロセッサコア(PPE)に、8個の演算機(SPE)を搭載するマルチコア・アーキテクチャのプロセッサである。

90nmのSOIプロセスで製造される。電源電圧は1.3V、動作速度は4.60GHzだが、PlayStation3では熱設計と消費電力の制約から3.2GHzで使用される。

プロセッサ内部は、次の要素で構成されている。

  • PPE (Power Processor Element)
  • SPE (Synergistic Processor Elements)
  • EIB (Element Interconnect Bus)
  • MIC (Memory Interface Controller)
  • BIC (Bus Interface Controller)

PPE (Power Processor Element)

PPEは、プロセッサコア(PPU)に1次キャッシュ、2次キャッシュが搭載された、CPUコアである。

プロセッサコアは、2スレッドSMT機能を持ち、VMX(128ビットSIMD命令用コプロセッサ)に対応したPowerPC G5(PowerPC 970)相当のプロセッサである。

1次キャッシュは、命令・データで各32Kiバイトが搭載される。

2次キャッシュとして、512Kiバイトがオンダイで搭載される。

SPE (Synergistic Processor Elements)

ローカルストアを持つSIMD構造のRISCプロセッサがSPUである。

SPUは、128本の128ビットレジスタファイルを持ち、更に256Kiバイトのローカルストア(LS)を持つ。これらを合わせたものがSPEであり、CELLには8つのSPEが搭載されている。

SPEはモジュラー構造を採用しているため、増減によって浮動小数点演算能力の調整が可能である。

なお、PlayStation3では8つのSPEのうち7つしか使用しない。これは製造が難しいCELLの歩留まりを上げるためで、一つ故障していても製品として出荷可能にするためである。

EIB (Element Interconnect Bus)

プロセッサコアと各SPUは、内部バスであるEIBに接続されている。

EIBは環状になったバスであり、左回り、右回りそれぞれ2本ずつある。データは64ビットのタグと128ビットのデータからなる192ビットのパケットで送られ、バス内を循環する。速度は、最大で96バイト/1クロックである。

パケットのタグに宛先を付けてEIBに流すことになるが、その構造上、通信に伴う遅延が常に発生する。しかし直結ではなく敢えてリングバスにしたのは、SPEの増減など、CELLのバリエーション化を想定したためと考えられる。

MIC (Memory Interface Controller)

Rambus社の「XDR DRAM」デュアルチャネル接続に対応するメモリコントローラである。

BIC (Bus Interface Controller)

周辺デバイスと接続するためのバスコントローラで、FlexIOと呼ばれるインターフェイスを提供する。バス幅は96ビットで、96ビットを8ビット単位で上下任意に設定できる。

PlayStation3では、このバスにGPUを接続する。

その他、CELLを複数用いたSMPシステムを構成する場合、このバス経由で接続することが可能と考えられる。

浮動小数点演算性能は公称218GFLOPSである。参考までに、PlayStation2のCPUのEmotion Engineは、2系統のベクトル演算ユニットの合計ピーク時で6.2GFLOPSであり、全く次元が異なっている。

コア内部には、2次キャッシュとSPUのローカルストアを合計し、合計で2.5Miバイトのメモリがオンチップで搭載されている。