Cell Broadband Engine(セル ブロードバンド エンジン、略称: Cell/B.E.、Cell、CBE)は、ソニー・コンピュータエンタテインメント (SCE) 、ソニー、IBM、東芝によって開発されたPowerPCアーキテクチャベースの64ビットRISCマイクロプロセッサである。
PlayStation 3向けに開発されたCPUであり、PlayStationシリーズ上はEmotion Engineの実質的な後継の立ち位置にある。ヘテロジニアスマルチコア設計で高性能を実現した画期的なCPUとして注目され、様々な応用が構想されていたものの、ソニーや東芝は直接の後継となるプロセッサを開発せず、民生向けとして実用化されたのはこのCell/B.E.のみとなった。IBMは改良型次世代CellとしてHPC向けに倍精度浮動小数点演算能力を高めたPowerXCellを2008年に開発した。
概要 主に大容量データを高効率に処理するためのストリーム・プロセッシングを志向したプロセッサである。GPGPUという概念が無かった頃に、プログラム全体の制御を担う汎用コアとデータ処理に特化した補助コアのヘテロ構成のアーキテクチャを実現した。
家庭用ゲーム機のPlayStation 3のために開発され、ソニーは2003年から2006年度にかけてCellの製造のために総額で約5000億円を投資した。
CellはPS3から始まり、サーバーやデジタル家電などの様々な用途で用いることを想定して開発された戦略商品で、サーバー(IBM BladeCenter QS21など)やワークステーション、薄型テレビ(東芝CELL REGZA)、映像制作機器(ソニーZego BCU-100、BKMP-AB100)などの様々な製品に採用された。また、米エネルギー省が保有するスーパーコンピューターのRoadrunnerや、同アーキテクチャーのプロセッサのみで構成されたシステムであるQPACEが、スーパーコンピューターランキングTOP500のみならず電力効率を競うGreen500のランキングも賑わせた。
Cellは年々改良され、90nm→65nm→45nmと微細化された。なお、ソフト開発の難しさもあり、SCEはPlayStation 4にはCellを採用せず、PC用プロセッサと同様のアーキテクチャを持つAMDのJaguarコアを採用した。
Cellは独自色が強く普及しなかったが、ヘテロジニアスマルチコアという構造は、2010年代にCPUとGPUをワンチップに収めたAMDのAPU等で普及している。
特徴 Cellはマルチコアに分類され、ひとつのマイクロプロセッサに9つのコアを持っている。内訳には1個の汎用的なプロセッサコアと、8個のシンプルなプロセッサコア(うち1基は歩留まり向上のため非使用)を組み合わせたヘテロジニアスマルチコア(ヘテロジニアス: 非対称、異種混合)という形態をもつ。
汎用プロセッサコアはPowerPC Processor Element(PPE)と呼ばれる制御を担うコアで、8個のコアはSynergistic Processor Element(SPE)と呼ばれる演算を担うコアである。
PPE/SPEともに従来のパソコン向けのマイクロプロセッサであるPowerPC G5やPentium 4、Athlon 64といった高度なアウト・オブ・オーダー実行機能や分岐予測機構を持つマイクロプロセッサとは異なり、命令を並べ替えたりするような複雑なスケジューリング機構を搭載しないことでコアを単純化し、高クロック化を実現している。
そのため、複雑な条件分岐を伴う整数演算能力はパソコン向けのマイクロプロセッサと比べ劣るが、強力で高度に並列化された演算機能を備え、数値解析やシミュレーション、動画、画像処理、音声処理などにおいては、複数のコアを並列に動作させることによって、Cellの性能を発揮させることができる。
また、仮想マシン支援機能が搭載されており、複数の仮想マシン上で複数のオペレーティングシステム(OS)をゲストOSとして互いに干渉させること無く走らせることができる。通常のOSが動作するスーパーバイザーモードの上位にハイパーバイザーモードがあり、仮想マシンを管理する最上位OSはこのハイパーバイザーモードで動作している。
PowerPCはバイエンディアンだが、Cellではビッグエンディアンで統一されている。
プロセッサアーキテクチャ PowerPC Processor Element thumb|PowerPC Processor Elementのブロックダイアグラム PPEは64ビットPowerアーキテクチャであり、命令セットはPowerPC G5(つまりPowerPC 970)互換ではあるが、既存のPowerPC系CPUとは異なる内部構造をもつ新設計のコアである。2スレッドを交代に実行することが可能で、スレッドの切り換えが速い事から、OSの駆動などを受け持つ。また、AltiVecにも対応している。
PowerPC Architecture, Book I〜III に準拠することが求められ、中にはBook I〜IIIでのオプション仕様がPPEでは必須になっているものがある。VMXもその一つ。
PPEの浮動小数点演算性能はIBMの示した布シミュレーションの例では、2.4 GHz駆動のPPEでPentium 4 3.6GHz相当CPUの20%程度のパフォーマンスしか出ておらず、浮動小数点演算は得意ではないと言え、通常はSPEなどへのリソースマネージメントを行うことになる西川善司の3DゲームファンのためのPS3パフォーマンス考察講座, GAME Watch, 2006年3月31日 。
Cellの仕様を満たすためには最低1つは搭載することが求められる。
Synergistic Processor Element thumb|Synergistic Processor Elementのブロックダイアグラム SPEはSIMD系のアーキテクチャで、単精度浮動小数点演算を4スロット同時に処理することができ、倍精度浮動小数点演算を2スロット同時に演算できる。また整数も16ビット値を8スロット、32ビット値を4スロットの演算ができる。
以上のようなベクトル演算が可能な128ビット長128個のレジスタを持ち、ソフトウェアパイプライニングなど処理の最適化を可能とする。またキャッシュメモリは持たず、代わりに256KiBのローカルストア(LS)と呼ばれるSRAM専用メモリを持っており、そこにプログラムとデータを格納して実行する。
SPEはメインメモリ上のプログラムとデータを直接扱えず、DMAを用いてXDR DRAMメモリとLS間の転送を行う必要がある。LSはメインメモリから独立したメモリ空間を持つため、キャッシュコヒーレンシ保持の仕組みが不要で高速化に貢献している。例えるなら常にL1キャッシュに当たっている状態である。SPEはMemory Flow Controller(MFC)と呼ばれる制御ユニットに専用のDMAコントローラを持ち、これによりSPEは多量のデータを高速に処理するストリーム処理を可能とする。IBMの示した物理挙動シミュレーションとレンダリングの例では、3.2GHzのPentium 4と比較し、2.1GHz駆動のSPE1基で1.5倍、8基で12倍の性能差を記録した。IBMの示したシミュレーションをPentium 4 3.6GHzクラスのCPUで実装した場合との比較では3基のSPEでPentium 4 3.6GHzクラスCPUの2倍のパフォーマンスを記録した。命令長は32ビット固定である。
1基あたり3.2GHz駆動で25.6GFLOPSの演算性能がある。
Cellの仕様を満たすためには最低1つは搭載することが求められる。
アイソレーションモード セキュリティ強化のため、SPEはアイソレーションモードと呼ばれる特殊な動作モードを備えている。これは、暗号化・復号処理やCSSやAACSなどのデジタル著作権管理システムでの利用が想定されている。
アイソレーションモードで動作するSPEのLS領域は他のSPE/PPEからのアクセスが遮断され、外部からの読み書きは一切できない。アイソレーションモードで暗号に用いる秘密鍵などの機密情報を扱うことで、他のプロセスからそれらを盗み取ることを不可能にする。
SPEはアイソレーションモード用の移行・離脱命令を実行することでそのモードに遷移する。一旦SPEがアイソレーションモードに入ると、外部から可能な操作はそのSPEで動作するプロセスの停止のみである。離脱命令および外部からのプロセス停止が実行されると、SPEのコンテキストおよびそのLSに置かれたプログラムやデータは速やかに消去されるため、機密情報が外部に漏洩することは無い。また、アイソレーションモードで実行されるプログラムコードは、それが本来のものと改変されていないか検証してから実行されるため、第三者による有害なコードを実行する危険性を排除している。
プロセス間の干渉を防ぐ機構として多くのプロセッサではCPUモードを備えているが、スーパーユーザーなどの元々高い権限を持つユーザが有害なプロセスを特権モードで動作させた場合にはこれを防止できない。アイソレーションモードはこのような場合でも機密情報を守ることが可能である。
入出力 プロセッサコア以外に、Rambus社からライセンス供与を受けた帯域幅25.6GB/sの新メモリXDR DRAMのメモリコントローラと、チップ間接続のための新インタフェースFlexIOも搭載する。FlexIOの帯域幅は最大76.8GB/sとなる。Cell内のコアとこれらのインタフェース群はやはり広帯域のリング状内部バスElement Interconnect Bus (EIB)と呼ばれるもので接続される。
IIC Internal Interrupt Controller の事であり、Cell内部で割り込み処理を担っている。外部からの割り込み信号の対応や内部のPPEやSPEから発せられた割り込みを外部に伝えたりしている。
EIB Element Interconnect Bus の事であり、Cell内部のメインバスとして各部を接続している。現在の実装(PPE×1+SPE×8)ではリングバス構造をしている。
コア個数など仕様によって最適な実装が大きく異なるのでCell仕様の範囲外とされている。EIBとしての役目が果たせるならば実装上の制限は無い。
構成 2005年現在はコアが9個(PPE×1+SPE×8)搭載されているが、これはCell Broadband Engine アーキテクチャと呼ばれる規格化された拡張可能なアーキテクチャの一実装形態であり、これを1PEとした4PE(PPE×4+SPE×32)など多様な構成を取り得る後藤弘茂のWeekly海外ニュース - SCEIのPlayStation 3の心臓「Cell」の正体 -, PC Watch 2003年5月29日。
Cell Broadband Engineアーキテクチャ仕様書ではPPEとSPEがそれぞれ一つ以上が含まれる事を要求している。さらにIIC、EIBがそれぞれ一つ含まれる事を要求しているCell Broadband Engine技術資料公開。
東芝が2007年9月に発表した新プロセッサ「SpursEngine™」の開発サンプルをCEATEC JAPANで初公開, 株式会社 東芝, 2007年9月20日Cellベースのメディアプロセッサ「SpursEngine」は、SPEを4個とMPEG-2、H.264のエンコード・デコード回路を搭載し、動作周波数もCellより低い1.5GHz駆動(10W台)という構成である。
ビット長呼称 CPUのニーモニックによってビット長呼称が違っているが、Cellの場合は以下の通りになっている。 ビット長名称128クワッドワード64ダブルワード32ワード16ハーフワード8バイト
プログラミングモデル CellのSPEは通常のマルチプロセッサと異なり各SPEが独立したメモリ空間を持ち、また分岐予測などのハードウェア機構を持たないため、その性能を十分に引き出すにはそれに合わせたプログラミングモデルを採用する必要がある。Cellの開発者たちは次のようなモデルを提案している。
ジョブ・キュー PPEがシステムメモリ上のジョブ・キューを管理し、複数のSPEにジョブを割り当てて管理する。ジョブ・キューからジョブをDMAコントローラを介してローカルストアに読み込む mini kernel が各SPE上で走り、ジョブを実行した結果をシステムメモリに返し、PPEと同期を取る。
SPEによる自己マルチタスク 各SPEにkernelを持ち、共有メモリのタスク・キューを使い、分散してスケジュールが行なわれる。タスクの同期は、ミューテックスまたはセマフォにより実現される。
ストリーム・プロセッシング 各SPEは、input stream からの入力データに対してカーネル関数を実行し、その結果をoutput stream に送る。これは、シリアルまたは並列パイプラインを容易に実現する。このモデルは、データができるだけ長くローカルストアに存在するので効率がよいメインメモリに比べ、ローカルストアは高速アクセス可能なため。
最適化コンパイラ 最適化は、Synergistic Processing Unit (SPU) のインストラクションレベル、自動SIMD化、共有メモリモデルの自動並列化の3レベルがある。SPUのインストラクションレベルでは、ハードウエアで分岐予測を持たないので、分岐ヒント命令を少なくとも分岐の11サイクル前に自動的にスケジュールする。共有メモリモデルの自動並列化は、OpenMPで記述された1つのソースからPPEとSPEに自動分割する。SPEにおいては、コードは自動分割され、規則的なデータは共有メモリとローカルストア間のDMA命令に自動生成され、不規則なデータはソフトウエアキャシュにより処理される。ソフトウエアキャッシュ(4 way set 連想メモリ)は、SIMD命令で実行される。
Cellコンピューティング Cellコンピューティングとは久夛良木健によれば以下の2つが要点となる。 従来のネットワークは情報のネットワークだったが、それがピア・ツー・ピアコンピューティングのバスになる。 従来のバッチで非リアルタイムのグリッド・コンピューティングから、リアルタイムでのグリッドコンピューティングへ。 Cellではこのリアルタイムな処理分散を実現する前提の設計がなされている。SPEが独自にSPE用メインメモリーであるとも言えるローカルストアを持っている理由の一つには、この一環もある。
PS3発売当初のSCEは、PS3を核とした複数の機器による家庭内ネットワークでのCellコンピューティングを提唱していた。しかし、久夛良木がSCE社長を退いて平井一夫体制になって以降は、Cellコンピューティングについて触れられることはほとんど無くなった。現状ではCellコンピューティングが行える環境は整備されておらず、実現できる見通しも立っていない。PlayStation 4ではCell Broadband Engineではなく他社製のチップをCPUに採用したため、Cellコンピューティング構想は事実上放棄された形となっている。
評価 多数のコアを備えることにより処理能力の向上を実現したCell Broadband Engineの登場は衝撃的であった。当時のPS3に搭載されたCell Broadband Engineのチップ全体のスループットは、当時の汎用PC向けCPUの10倍程度に達した。その影響は大きく、IntelやAMDなどCPUベンダーは勿論、GPUベンダーまでもコアを肥大化させてシングルスレッド性能を追求する方向から、マルチコア化によってチップ全体での処理能力を追求する方向に転じた。GPUコアをCell B.E.のように汎用処理にも使用するというアイデアを展開していったPlayStation 4のGPUコンピュート機能 後藤弘茂のWeekly海外ニュース。
沿革 2001年3月9日 - SCE、IBM、東芝がブロードバンド時代に向けた超並列プロセッサの共同研究および開発に合意。 2002年4月2日 - IBM、ソニー、東芝と最先端半導体製造プロセス技術の共同開発で合意と発表。 2004年11月29日 - SCE、IBM、ソニー、東芝が次世代プロセッサ「Cell」についてISSCC(IEEE International Solid-State Circuits Conference。国際固体素子回路会議)に関連する論文を提出と発表。 2005年 2月 - 米国で開催されたISSCCで概要を公表、試作品が初披露された。 2月8日 - SCE、IBM、東芝の3社は共同開発中のマイクロプロセッサのアーキテクチャを初めて明らかにした。 3月31日 - Transmeta社がCell派生品などに自社の省電力技術「LongRun2」を組み込んでいくことを発表したTransmetaプレスリリース(英語):Accelerates LongRun2 Adoption for Cell Derivatives; Builds Technology Collaboration in Other Areasソニー、CellにTransmetaの省電力技術「LongRun2」搭載, PC Watch 2005年4月1日。 5月17日 - E3において PLAYSTATION 3 に搭載されるCellが3.2GHz動作で1PPE+7SPEであることが発表された。7SPEなのは、SPE一つが不良でも動作するようにし、歩留まり向上を計ったとのこと。 6月 - 米Mercury Computer Systemsがサーバ/ワークステーションの開発を表明。2006年春から評価ボードを発売。2007年初頭までにブレードサーバシステムもリリースしている。なお、2006年夏にはCELLを用いたアクセラレータボードを発表している。 8月25日 - SCE、IBM、ソニー、東芝はCellブロードバンド・エンジン・アーキテクチャの革新的な技術の詳細について、主要な技術仕様書を公開(英語)。 9月 - 東芝がデジタル家電向けの開発キットを発表。 9月7日 - 公式サイトの技術仕様書の一部に日本語版追加。 11月9日 - 開発キットおよび関連仕様書「Cell Broadband Engine Software Development Kit(CBE SDK)」を公開。 12月14日 - 公式サイトの技術仕様書の一部に日本語版追加。同年8月25日から英語版で公開されていた物の日本語版が揃う。 2006年 2月8日 - 米IBMがCellプロセッサを採用したブレードサーバを開発したと発表。2006年9月に発売開始(価格は1台100万円台〜)。 9月 - IBM、ロスアラモス国立研究所のペタフロップススパコン計画Roadrunnerシステムにアクセラレータとして採用IBM、ロスアラモス国立研究所のペタフロップスパコン計画を落札--情報筋が明らかに, CNET Japan, 2006年9月6日 。 11月11日 - 90nmプロセスのCellを搭載したPLAYSTATION 3が発売PLAYSTATION 3ハードウェアレポート【速報編】, PC Watch, 2006年11月11日。 11月15日 - ジョージア工科大学がSony-Toshiba-IBM(第三者による自主的活動拠点)Center of Competenceとして選定された。 2007年 2月 - IBMが、ISSCC 2007にて、65nmプロセスのCellを発表。 9月20日 - 東芝が、Cell技術を用いた省電力フルHD画像処理コプロセッサ「SpursEngine」を発表「フルHD時代に向け原点に立ち戻った」--東芝、Cellベースの新プロセッサを公開。 10月12日 - IBMが、集積度を二倍に高めたCellブレードサーバを発表。 10月18日 - ソニーが同社の所有するCell生産設備を東芝に売却すると発表。今後はソニー、SCE、東芝が出資する新会社が、東芝からラインの貸与を受け製造する予定ソニー、Cell生産設備売却で東芝と合意。 10月29日 - Cell Open Cafe、(財)北九州産業学術推進機構(FAIS)がSony-Toshiba-IBM(第三者による自主的活動拠点)Center of Competenceとして選定された。 11月11日 - 65nmプロセスのCellを搭載したPLAYSTATION 3(CECHH00シリーズ)が発売新型PS3ハードウェアレポート 〜大幅に縮小された冷却機構, PC Watch, 2007年11月12日。 2008年 2月4日 - SCE、IBM、Toshiba America Electronic Componentsが共同で、ISSCC 2008にて、45nmプロセスのCellを発表ISSCCに次世代Cell B.E. 45nm版が登場 〜6GHz動作、電力を30%以上削減, PC Watch 後藤弘茂のWeekly海外ニュース, 2008年2月6日。今後のPLAYSTATION 3等に搭載される予定。 4月3日 - フィックスターズ、最新型Cellを搭載したPCIeボード「GigaAccel 180」を発売。フィックスターズ、最新型Cell/B.E.を搭載したアクセラレータボードを発売 プレスリリース 2008年4月3日 5月8日 - 東芝経営方針説明会において、Cell搭載テレビを2009年秋に発売予定を発表東芝、Cellテレビや“超解像”テレビ/DVDなど計画, AV watch, 2008年5月8日。 5月17日 - IBM、拡張倍精度(eDP)SPEを8基搭載し、倍精度浮動小数点演算を最大5倍に強化した「PowerXCell 8i プロセッサー」を開発、搭載ブレードサーバをリリースIBM、Cellベースのブレード・サーバ「BladeCenter QS22」を発表 Computerworld News (2008年05月14日)。 5月27日 - みずほ証券、金融デリバティブ高速計算システムに、Cell/B.Eを世界で初めて採用。従来システムに比べて高速化に成功。10倍以上の見込みもIBM みずほ証券へCell/B.E.搭載ブレードサーバーを納入 IBMプレスリリース 2008年5月27日フィックスターズ、みずほ証券のデリバティブシステムをCell/B.E.で高速化に成功 プレスリリース 2008年5月27日。 6月10日 - Cellベースのスーパーコンピュータ「Roadrunner」が「Blue Gene/L」を二倍以上引き離す1ペタフロップスを世界最速達成。米エネルギー省、IBMのスパコン「Roadrunner」が1PFLOPSを達成と発表 6月23日 - 東芝が、Cell技術を用いたメディアプロセッサ「SpursEngine SE1000」を搭載したノートパソコン「Qosmio G50/F50」を発売すると発表東芝、SpursEngine搭載/超解像度変換AVノート「Qosmio」, AV watch, 2008年6月23日。 7月18日 - CRI・ミドルウェア、東芝SpursEngine向けミドルウェアに参入CRI・ミドルウェア、東芝SpursEngine™向けミドルウェアに参入, CRI・ミドルウェア プレスリリース, 2008年7月18日。 7月25日 - 東芝セミコンダクター、「SpursEngine Developers Forum 2008」を開催「SpursEngine」のハード/ソフト開発環境が明らかに, HD Processing FORUM, 2008年8月6日。 8月13日 - ソニー、北米市場へ向けCell/B.E.搭載、4K解像度映像制作ユニット『BCU-100』“ZEGO(ゼゴ)”発表。年内発売へ米国市場に向けてCell/B.E.およびRSX®搭載“ZEGO(ゼゴ)”コンピューティングユニット年内発売, Sony プレスリリース, 2008年8月13日 11月26日 - CRI・ミドルウェア、SpursEngine向けコンソールツール、SpursEngineコンソールエンコーダ「CRI SpursCoder」及び掲示板を公開CRI・ミドルウェア:「CRI SpursCoder」ダウンロード, CRI・ミドルウェア, 2008年11月26日。 12月8日 - 三菱総合研究所、動産担保融資における在庫データのモニタリングにCell/B.E.を活用三菱総合研究所、動産担保融資における在庫データのモニタリングにCell/B.E.を活用 プレスリリース 2008年12月8日。 2009年 2月24日 - フィックスターズ、Cell活用のH.264リアルタイムソフトウェアエンコーダ「CodecSys CEシリーズ」発売フィックスターズ、Cell活用のH.264リアルタイムソフトウェアエンコーダ マイコミジャーナル 2009年2月24日。 5月22日 - FAIS、Cell/B.E.システム群を北九州学術研究都市の研究者に無償で開放北部九州の研究者はCell/B.E.を無償で活用 ITmedia エンタープライズニュース 2009年5月22日北九州産業学術推進機構、高性能プロセッサ「Cell/B.E.」を用いたシステム基盤を研究者に開放 エンタープライズ RBB TODAY 2009年5月22日。 8月19日 - SCEが、45nmプロセスのCellを搭載したPlayStation 3(CECH-2000A)を、9月3日に発売する事を発表SCEJ、「プレイステーション」戦略発表会で新型PS3発表 「機動戦士ガンダム戦記」同梱BOXは38,359円で同時発売, GAME Watch, 2009年8月19日。 10月5日 - 東芝は、Cellプラットフォームを初めて搭載した液晶テレビ「CELL REGZA 55X1」を12月上旬より発売すると発表世界初「Cell Broadband EngineTM」搭載 高画質液晶テレビ「CELLレグザ 55X1」の発売について ニュースリリース 2009年10月5日。 11月20日 - 連邦政府調達サイトに、アメリカ空軍が軍用のスーパーコンピュータの研究開発のためにPlayStation 3を2,200台発注する予定であることが掲載されたAir Force To Expand PlayStation-Based Supercomputer InfomationWeek 2009年11月20日。 2010年 3月15日 - ソニー、3D映像撮影制作業務用機器Cell/B.E.チップ搭載マルチイメージプロセッサー「MPE-200」を発売。 3月30日 - ソニー、放送業務用機器拡張用PCI-Expressインターフェイス、Cell/B.E.チップ搭載マルチコアプロセッシングボード「BKMP-AB100」を発売。 7月28日 - 東芝は、Cell/B.E.チップ搭載した3D対応液晶テレビ「CELL REGZA 55X2」を10月下旬より発売すると発表3D放送を高精細に映す3D超解像技術を採用した液晶テレビ「CELLレグザ」の発売について ニュースリリース 2010年7月28日。 9月30日 - ソニー、放送業務用機器、Cell/B.E.チップ搭載マルチフォーマットインジェストステーション「MPE-L1000」を発売。
長崎セミコンダクターマニュファクチャリング