Cell Broadband Engine
読み:セル-ブロードバンド-エンジン
外語:Cell Broadband Engine
PLAYSTATION 3
で採用されたCPU。IBM、SCE、
東芝
が共同で開発し、第一世代Cellとして発表された。チップ上には「CELL/B.E. CELL BROADBAND ENGINE
TM
」と刻印されている。
目次
概要
特徴
PPE (Power Processor Element)
SPE (Synergistic Processor Elements)
EIB (Element Interconnect Bus)
MIC (Memory Interface Controller)
BIC (Bus Interface Controller)
性能
利用例
概要
64ビットの
RISC
である。64ビット
POWER
ベースの
プロセッサーコア
(PPE)に、8個の演算機(SPE)を搭載するマルチコア・アーキテクチャーのプロセッサーである。
マルチコア
だが、中心となる汎用プロセッサーと、8個の演算専用プロセッサーを持つ、異種混在構造を特徴としている。
プロセッサー内部は、次の要素で構成されている。
PPE (Power Processor Element)
SPE (Synergistic Processor Elements)
EIB (Element Interconnect Bus)
MIC (Memory Interface Controller)
BIC (Bus Interface Controller)
性能優先で従来にはない特殊な設計となったCPUであるが、それ故にプログラマーが付いてこられないという問題を生んでしまった。
特徴
PPE (Power Processor Element)
PPEは、POWERアーキテクチャーを採用したプロセッサーコアである。
命令セットは
PowerPC G5
(PowerPC 970)相当であるが、2スレッド
SMT
機能を持つ。
1次キャッシュは命令・データで各32Kiバイト、2次キャッシュは512Kiバイトがオンダイで搭載される。
ベクトル演算ユニットのAltiVecとVMX(128ビットSIMD命令用コプロセッサー)も搭載されてはいるが、PowerPCアーキテクチャーとして実装されているに過ぎず、これ単体では浮動小数点演算性能は低い。Cellにおいては浮動小数点演算はSPEにて行なわれ、PPEはそれらの管理をすることになる。
SPE (Synergistic Processor Elements)
SIMD構造のプロセッサーであり、浮動小数点演算を主に行なうが、整数演算も可能である。命令は32ビットの固定長である。
128本の128ビット長レジスターファイルを持つSPUに、256Kiバイトのローカルストア(LS)を合わせたものをSPEという。CELLには、規格上は1つ以上、通常は8つのSPEが搭載されているが、SPEはモジュラー構造を採用しているために、増減によって浮動小数点演算能力の調整が可能である。
128ビットなので、倍精度浮動小数点演算(64ビット)なら2スロット、単精度浮動小数点演算または32ビット整数演算なら4スロット、16ビット整数演算なら8スロットを同時演算可能である。
なお、PLAYSTATION 3では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ビット単位で上下任意に設定できる。
PLAYSTATION 3では、このバスにGPUを接続する。
その他、CELLを複数用いたSMPシステムを構成する場合、このバス経由で接続することが可能と考えられる。
性能
当初の製品は、90nmの
SOI
プロセスで製造され、
電源電圧
は1.3V、動作速度は4.60GHzだが、PLAYSTATION 3では熱設計と消費電力の制約から3.2GHzで使用された。
浮動小数点演算性能は公称218GFLOPSである。参考までに、
PlayStation2
のCPUの
Emotion Engine
は、2系統のベクトル演算ユニットの合計ピーク時で6.2GFLOPSである。
コア内部には、2次キャッシュとSPUのローカルストアを合計し、合計で2.5Miバイトのメモリーがオンチップで搭載されている。
利用例
高性能なプロセッサーではあるが、それほど多くは利用されていない。
ソニー
PLAYSTATION 3
(3.2GHz)
IBM
Roadrunner
(IBM PowerXCell 8i、3.2GHz)
QPACE (IBM PowerXCell 8i、3.2GHz)
東芝
CELL REGZA
PLAYSTATION 3以外では唯一の民生用途とも言えたCELL REGZAも、全く異なるアーキテクチャーの
CEVO Engine
への移行が発表されており、Cell Broadband EngineはPLAYSTATION 3以外で本格的に羽ばたくことはなかった。
再検索