Cell Broadband Engine
テンプレート:Infobox CPU テンプレート:Power Architecture Cell Broadband Engine(セル・ブロードバンド・エンジン)あるいは単にCell(セル)は、ソニー・コンピュータエンタテインメント(SCE)、ソニー、IBM、東芝によって開発された、Powerアーキテクチャベースの64ビットRISCマイクロプロセッサである[1]。
目次
概要
Cell誕生のきっかけであったソニー・コンピュータエンタテインメントの家庭用ゲーム機である「PlayStation 3」を筆頭に、一部のサーバーやワークステーション、薄型テレビなどの様々な製品に採用されている。また、米エネルギー省が保有するスーパーコンピューター「Roadrunner」や、同アーキテクチャーのプロセッサのみで構成されたシステム「QPACE」が、スーパーコンピューターランキングTOP500のみならず電力効率を争うGreen500のランキングも賑わせている。
Cellは年々改良され、90nm→65nm→45nmと微細化されたが、32nmプロセス版は設計されなかった。またソニー・コンピュータエンタテインメントは「PlayStation 4」にはCellを採用せずAMD社のJaguarコアを採用した。
特徴
Cellはマルチコアに分類され、ひとつのマイクロプロセッサに9つのコアを持っている。内訳には1個の汎用的なプロセッサコアと、8個のシンプルなプロセッサコアを組み合わせたヘテロジニアスマルチコア(ヘテロジニアス: 非対称、異種混合)という形態をもつ。
汎用プロセッサコアは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
PPE は64ビットPowerアーキテクチャであり、命令セットはPowerPC G5互換ではあるが、既存のPowerPC系CPUとは異なる内部構造をもつ新設計のコアである。2スレッドを交代に実行することが可能で、スレッドの切り換えが速い事から、OSの駆動などを受け持つ。また、AltiVecにも対応している。
PowerPC Architecture,Book I~III に準拠することが求められ、中にはBook I~IIIでのオプション仕様がPPEでは必須になっているものがある。VMXもその一つ。
PPEの浮動小数点演算性能はIBMの示した布シミュレーションの例では、2.4GHz駆動のPPEがPentium 4 3.6GHz相当CPUの20%程度のパフォーマンスしか出ておらず、浮動小数点演算は得意ではないと言え、通常はSPEなどへのリソースマネージメントを行うことになる[2]。
Cellの仕様を満たすためには最低1つは搭載することが求められる。
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倍の性能差を記録した[2]。IBMの示したシミュレーションをPentium 4 3.6GHzクラスのCPUで実装した場合との比較では3基のSPEでPentium 4 3.6GHzクラスCPUの2倍のパフォーマンスを記録した[2]。命令長は32ビット固定である。
1基あたり3.2GHz駆動で25.6GFLOPSの演算性能がある[3]。
Cellの仕様を満たすためには最低1つは搭載することが求められる。
アイソレーションモード
セキュリティ強化のため、SPEはアイソレーションモードと呼ばれる特殊な動作モードを備えている[4]。これは、暗号化・復号処理や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)など多様な構成を取り得る[5]。
Cell Broadband Engineアーキテクチャ仕様書ではPPEとSPEがそれぞれ一つ以上が含まれる事を要求している。さらにIIC、EIBがそれぞれ一つ含まれる事を要求している[6]。
東芝が2007年9月に発表した[7]Cellベースのメディアプロセッサ「SpursEngine」は、SPEを4個とMPEG-2、H.264のエンコード・デコード回路を搭載し、動作周波数もCellより低い1.5GHz駆動(10W台)という構成である。
ビット長呼称
CPUのニーモニックによってビット長呼称が違っているが、Cellの場合は以下の通りになっている。
ビット長 | 名称 |
---|---|
128 | クワッドワード |
64 | ダブルワード |
32 | ワード |
16 | ハーフワード |
8 | バイト |
プログラミングモデル
CellのSPEは通常のマルチプロセッサと異なり各SPEが独立したメモリ空間を持ち、また分岐予測などのハードウェア機構を持たないため、その性能を十分に引き出すにはそれに合わせたプログラミングモデルを採用する必要がある。Cellの開発者たちは次のようなモデルを提案している[8]。
ジョブ・キュー
PPEがシステムメモリ上のジョブ・キューを管理し、複数のSPEにジョブを割り当てて管理する。ジョブ・キューからジョブをDMAコントローラを介してローカルストアに読み込む mini kernel が各SPE上で走り、ジョブを実行した結果をシステムメモリに返し、PPEと同期を取る。
SPEによる自己マルチタスク
各SPEにkernelを持ち、共有メモリのタスク・キューを使い、分散してスケジュールが行なわれる。タスクの同期は、ミューテックスまたはセマフォにより実現される。
ストリーム・プロセッシング
各SPEは、input stream からの入力データに対してカーネル関数を実行し、その結果をoutput stream に送る。これは、シリアルまたは並列パイプラインを容易に実現する。このモデルは、データができるだけ長くローカルストアに存在するので効率がよい[9]。
最適化コンパイラ
最適化は、Synergistic Processing Unit (SPU) のインストラクションレベル、自動SIMD化、共有メモリモデルの自動並列化の3レベルがある。SPUのインストラクションレベルでは、ハードウエアで分岐予測を持たないので、分岐ヒント命令を少なくとも分岐の11サイクル前に自動的にスケジュールする。共有メモリモデルの自動並列化は、OpenMPで記述された1つのソースからPPEとSPEに自動分割する。SPEにおいては、コードは自動分割され、規則的なデータは共有メモリとローカルストア間のDMA命令に自動生成され、不規則なデータはソフトウエアキャシュにより処理される。ソフトウエアキャッシュ(4 way set 連想メモリ)は、SIMD命令で実行される。
Cellコンピューティング
Cellコンピューティングとは久夛良木健によれば以下の2つが要点となる[10]。
- 従来のネットワークは情報のネットワークだったが、それがピア・ツー・ピアコンピューティングのバスになる。
- 従来のバッチで非リアルタイムのグリッド・コンピューティングから、リアルタイムでのグリッドコンピューティングへ。
Cellではこのリアルタイムな処理分散を実現する前提の設計がなされている。SPEが独自にSPE用メインメモリーであるとも言えるローカルストアを持っている理由の一つには、この一環もある。
PS3発売当初のSCEは、PS3を核とした複数の機器による家庭内ネットワークでのCellコンピューティングを提唱していた[10]。しかし、久夛良木がSCE社長を退いて平井一夫体制になって以降は、Cellコンピューティングについて触れられることはほとんど無くなった。現状ではCellコンピューティングが行える環境は整備されておらず、実現できる見通しも立っていない。
評価
多数のコアを備えることにより処理能力の向上を実現したCell Broadband Engineの登場は衝撃的であった[11]。当時のPS3に搭載されたCell Broadband Engineのチップ全体のスループットは、当時の汎用PC向けCPUの10倍程度に達した[11]。その影響は大きく、IntelやAMDなどCPUベンダーは勿論、GPUベンダーまでもコアを肥大化させてシングルスレッド性能を追求する方向から、マルチコア化によってチップ全体での処理能力を追求する方向に転じた[11]。GPUコアをCell B.E.のように汎用処理にも使用するというアイデアを展開していった[11]。
沿革
- 2001年3月9日 - ソニー・コンピュータエンタテインメントと、IBM、東芝がブロードバンド時代に向けた超並列プロセッサの共同研究および開発に合意。
- 2004年11月29日 - ソニー・コンピュータエンタテインメント、IBM、ソニー、東芝が次世代プロセッサ「Cell」についてISSCC(国際固体素子回路会議)に関連する論文を提出と発表。
- 2005年
- 2月 - 米国で開催されたISSCC(国際固体素子回路会議)で概要を公表、試作品が初披露された。
- 3月31日 - Transmeta社がCell派生品などに自社の省電力技術「LongRun2」を組み込んでいくことを発表した[12][13]。
- 5月17日 - E3において PLAYSTATION 3 に搭載されるCellが3.2GHz動作で1PPE+7SPEであることが発表された。7SPEなのは、SPE一つが不良でも動作するようにし、歩留まり向上を計ったとのこと[14]。
- 6月 - 米Mercury Computer Systemsがサーバ/ワークステーションの開発を表明。2006年春から評価ボードを発売。2007年初頭までにブレードサーバシステムもリリースしている。なお、2006年夏にはCELLを用いたアクセラレータボードを発表している。
- 8月25日 - ソニー・コンピュータエンタテインメント・ソニー・IBM・東芝はCellブロードバンド・エンジン・アーキテクチャの革新的な技術の詳細について、主要な技術仕様書を公開(英語)。
- 9月 - 東芝がデジタル家電向けの開発キットを発表。
- 9月7日 - 公式サイトの技術仕様書の一部に日本語版追加。
- 11月9日 - 開発キットおよび関連仕様書「Cell Broadband Engine Software Development Kit(CBE SDK)」を公開。
- 12月14日 - 公式サイトの技術仕様書の一部に日本語版追加。同年8月25日から英語版で公開されていた物の日本語版が揃う。
- 2006年
- 2007年
- 2月 - IBMが、ISSCC(IEEE International Solid-State Circuits Conference)2007にて、65nmプロセスのCellを発表。
- 9月20日 - 東芝が、Cell技術を用いた省電力フルHD画像処理コプロセッサ「SpursEngine」を発表[7][18]。
- 10月12日 - IBMが、集積度を二倍に高めたCellブレードサーバを発表[19]。
- 10月29日 - Cell Open Cafe(財)北九州産業学術推進機構(FAIS)がSony-Toshiba-IBM(第三者による自主的活動拠点)Center of Competenceとして選定された。
- 11月11日 - 65nmプロセスのCellを搭載したPLAYSTATION 3(CECHH00シリーズ)が発売[20]。
- 2008年
- 2月4日 - IBM、Toshiba America Electronic Components、ソニー・コンピュータエンタテインメントが共同で、ISSCC(IEEE International Solid-State Circuits Conference)2008にて、45nmプロセスのCellを発表[21]。今後のPLAYSTATION 3等に搭載される予定。
- 4月3日 - フィックスターズ、最新型Cellを搭載したPCIeボード「GigaAccel 180」を発売。[22]
- 5月8日 - 東芝経営方針説明会において、Cell搭載テレビを2009年秋に発売予定を発表[23]。
- 5月17日 - IBM、拡張倍精度(eDP)SPEを8基搭載し、倍精度浮動小数点演算を最大5倍に強化した「PowerXCell™ 8i プロセッサー」を開発、搭載ブレードサーバーをリリース。[24]
- 5月27日 - みずほ証券、金融デリバティブ高速計算システムに、Cell/B.Eを世界で初めて採用。従来システムに比べて高速化に成功。10倍以上の見込みも。[25][26]
- 6月10日 - Cellベースのスーパーコンピュータ「Roadrunner」が「Blue Gene/L」を二倍以上引き離す1ペタフロップスを世界最速達成。[27]
- 6月23日 - 東芝が、Cell技術を用いたメディアプロセッサ「SpursEngine SE1000」を搭載したノートパソコン「Qosmio G50/F50」を発売すると発表[28]。
- 7月18日 - CRI・ミドルウェア、東芝SpursEngine™向けミドルウェアに参入[29]
- 7月25日 - 東芝セミコンダクター、「SpursEngine Developers Forum 2008」を開催。「SPEのプログラミング手法を知らなくても利用可能」[30]
- 8月13日 - ソニー、北米市場へ向けCell/B.E.搭載、4K解像度映像制作ユニット『BCU-100』“ZEGO(ゼゴ)”発表。年内発売へ[31]
- 11月26日 - CRI・ミドルウェア、SpursEngine™向けコンソールツール、SpursEngineコンソールエンコーダ「CRI SpursCoder」及び掲示板を公開[32]
- 12月8日 - 三菱総合研究所、動産担保融資における在庫データのモニタリングにCell/B.E.を活用[33]
- 2009年
- 2月24日 - フィックスターズ、Cell活用のH.264リアルタイムソフトウェアエンコーダ「CodecSys CEシリーズ」発売[34]
- 5月22日 - 北九州産業学術推進機構(FAIS)、Cell/B.E.システム群を北九州学術研究都市の研究者に無償で開放。[35][36]
- 8月19日 - SCEJが、45nmプロセスのCellを搭載したPlayStation 3(CECH-2000A)を、9月3日に発売する事を発表[37]。
- 10月5日 - 東芝は、Cellプラットフォームを初めて搭載した液晶テレビ「CELL REGZA 55X1」を12月上旬より発売すると発表[38]。
- 11月20日 - 連邦政府調達サイトに、アメリカ空軍が軍用のスーパーコンピュータの研究開発のためにPlayStation 3を2,200台発注する予定であることが掲載された[39]。
- 2010年
長崎セミコンダクターマニュファクチャリングについて
長崎セミコンダクターマニュファクチャリング株式会社(NSM)は、2008年3月3日に設立した、東芝、ソニー、SCEIの合弁会社。Cell Broadband Engine、RSX、東芝とソニーのデジタルコンシューマー機器等向けシステム・オン・チップ(SoC)を生産する[41][42]。
製造設備は、東芝が2008年4月[43]にソニーとソニーセミコンダクタ九州株式会社(SCK)から約900億円で購入[44] [45]したSCK長崎テクノロジーセンター Fab2の下層[46]の300mmウェハーラインが東芝から貸与されている。資本金は1億円で、出資比率は東芝 60%、ソニー 20% 、SCEI 20%[41][42]。
東芝とソニーは2010年12月24日のニュースリリースで、東芝が所有しNSMが操業する、SCK長崎テクノロジーセンターの300mmウェーハラインをソニーに譲渡する旨の基本合意書を締結したこと、法的拘束力を有する正式契約は2010年度内早期の締結を目指すこと、東芝、ソニー、SCEIの三社によるNSMの合弁関係は譲渡に伴い解消されることを発表した[41][42]。ソニーは2010年12月27日のプレスリリースで、CMOSイメージセンサーの生産能力を倍増するために、東芝からSCK長崎テクノロジーセンターの300mmウェーハラインを取得し、設備の一部をCMOSイメージセンサーの製造ができるように整備すること等を発表した[47]。日本経済新聞では、東芝は世界2位のシェアであるNAND型メモリに経営資源を集中するため、不採算のシステムLSI事業では、巨額の設備投資が必要な先端品のシステムLSIについて、2011年度からは設計だけを行い、生産はサムスン電子に委託、収益改善につなげるため長崎工場はソニーに売却すると報じた[48]。
関連項目
脚注・出典
外部リンク、参考文献
ソニー・コンピュータエンタテインメント
- アーキテクチャ、ニーモニック、SPE向けの言語拡張などCellに関する基本情報を網羅している。
- 2005年のGame Developers ConferenceでSony Computer Entertainment US Research and Developmentが発表したスライド。
IBM
- IBM developerWorks:Cell Broadband Engine resource center
- IBM Journal of Research and Development Vol. 51, No. 5, 2007 - Cell Broadband Engine Technology and Systems
- Cellの開発で中心的役割を担ったIBMのPeter Hofsteeらによるチュートリアルスライド。
東芝
- Cellの概要のほか、開発用リファレンスキット、家電向けのI/Oインタフェースを提供するSuperCompanionChip、ハイパーバイザー、ソフトウェア開発環境、画像処理における性能評価などの技術報告。