Cell Broadband Engine (Cell/BE) は、ソニー、東芝、IBMの「STI」と呼ばれる提携によって開発された64 ビットの縮小命令セットコンピュータ(RISC)マルチコアプロセッサおよびマイクロアーキテクチャです。汎用PowerPCコア (Power Processing Element (PPE) と呼ばれる) と、マルチメディアやベクトル処理などのタスクを高速化する複数の専用コプロセッサ(Synergistic Processing Elements (SPE) と呼ばれる) など、いくつかの要素を組み合わせています。[ 2 ]
このアーキテクチャは2001年3月から4年間かけて開発され、ソニーは開発予算を約4億ドルと報告している。[ 3 ]最初の主要な商用アプリケーションは、2006年に発売されたソニーの家庭用ビデオゲーム機PlayStation 3(PS3)だった。2008年には、Cellプロセッサの改良版が、持続的に1ペタFLOPSの性能を達成した最初のスーパーコンピュータであるIBMのRoadrunnerに搭載された。その他のアプリケーションには、Mercury Computer Systemsの高性能コンピューティングシステムや、特殊なアーケードシステムボードなどがある。
Cellはメモリの一貫性、電力効率、ピーク時の計算スループットを重視しているが、その設計はソフトウェア開発に大きな課題をもたらした。[ 4 ] IBMは、プラットフォーム上でのプログラミングを容易にするためにLinuxベースのソフトウェア開発キット(SDK)を提供した。 [ 5 ]

2000年代半ば、ソニー、東芝、IBMは新しいマイクロプロセッサを開発するためにSTIアライアンスを結成した。[ 6 ] STIデザインセンターは2001年3月にテキサス州オースティンに開設された。その後4年間で400人以上のエンジニアがこのプロジェクトに協力し、IBMは11の設計センターから貢献した。[ 7 ]
当初の特許では、4 つの電力処理要素(PPE) と、それぞれ 8 つの相乗処理要素 (SPE) を組み合わせた構成が説明されており、理論上のピーク性能は 1 テラ FLOPS であった。しかし、最終的に製造されたのは、1 つの PPE と 8 つの SPE からなる縮小設計のみであった。[ 8 ]
最初の Cell チップの製造は、90 nmシリコン・オン・インシュレーター(SOI) プロセス (すなわち、リソグラフィ ノード) で開始されました。[ 8 ] 2007 年 3 月、IBM は65 nm プロセスに生産を移行し、[ 8 ] [ 9 ]続いて2008 年 2 月に45 nm プロセスを発表しました。 [ 10 ]ビデオゲーム パブリッシャーのバンダイナムコエンターテインメントは、ナムコ システム 357および 369 アーケードボードに Cell プロセッサを使用しました。
2008 年 5 月、IBM はCell プロセッサの倍精度版であるPowerXCell 8i を発表しました。これは IBM の Roadrunner スーパーコンピュータなどのシステムで使用され、1 ペタ FLOPS を達成した最初のシステムであり、2009 年後半まで最速でした。 [ 11 ] [ 12 ]
IBMは2009年後半にコア数の多いCellバリアント(32-APUバージョンなど)の開発を中止したが[ 13 ] [ 14 ]、既存のCellベース製品のサポートは継続している[ 15 ] 。
2005 年 5 月 17 日、ソニーはPlayStation 3で使用されている Cell の構成を、1 つの PPE と 7 つの SPE で確認しました。[ 16 ] [ 17 ] [ 18 ]製造歩留まりを向上させるため、プロセッサは最初に 8 つの SPE で製造されます。製造後、各チップはテストされ、1 つの SPE に欠陥が見つかった場合は、レーザー トリミングを使用して無効化されます。このアプローチにより、そうでなければ廃棄されるプロセッサを使用することで無駄が最小限に抑えられます。欠陥のないチップでも、ユニット間の一貫性を確保するために、1 つの SPE が意図的に無効化されます。[ 19 ] [ 20 ] 7 つの動作可能な SPE のうち、6 つは開発者がゲームやアプリケーションで使用でき、7 番目はコンソールのオペレーティングシステム用に予約されています。[ 20 ]チップは 3.2 GHz のクロック速度で動作します。[ 21 ]ソニーは、高性能メディア コンピューティング サーバーZegoでも Cell を使用しました。
PPEは同時マルチスレッディング(SMT)をサポートし、2つのスレッドを実行できます。各アクティブなSPEは1つのスレッドをサポートします。PlayStation 3の構成では、Cellプロセッサは最大9つのスレッドをサポートします。
2005年6月28日、IBMとMercury Computer Systemsは、医療画像処理、航空宇宙、地震処理などの用途向け組み込みシステムにCellプロセッサを使用するための提携を発表しました。 [ 22 ] Mercuryは、8つのアクティブなSPEを備えたフルCellプロセッサを使用しています。Mercuryは後に、このアーキテクチャに基づいたブレードサーバーとPCI Expressアクセラレータカードをリリースしました。[ 23 ]
2006年、IBMはQS20ブレードサーバーを発表しました。これは、 単精度演算でモジュールあたり最大410ギガFLOPSの性能を提供します。PowerXCell 8iプロセッサをベースとしたQS22ブレードサーバーは、IBMのRoadrunnerスーパーコンピュータで使用されました。[ 11 ] [ 12 ] 2008年4月8日、Fixstars CorporationはPowerXCell 8iをベースとしたPCI Expressアクセラレータボードをリリースしました。[ 23 ]
元IBM幹部によると、IBMはインテル製プロセッサへの移行前にアップルがMacシリーズをCellに移行させることを計画していたという。[ 24 ]
Cell Broadband Engine、または一般的に「 Cell 」として知られるこのマイクロプロセッサは、従来のデスクトッププロセッサ( Athlon 64やCore 2ファミリーなど)と、より特殊な高性能プロセッサ(NVIDIAやATIのグラフィックス処理ユニット[GPU]など)のハイブリッドとして設計されています。長い名前は、その用途、すなわち現在および将来のオンライン配信システムのコンポーネントとしての用途を示しています。そのため、高解像度ディスプレイや録画機器、 HDTVシステムで使用される可能性があります。さらに、このプロセッサは、デジタルイメージングシステム(医療や科学など)や物理シミュレーション(科学や構造工学のモデリングなど)にも適している可能性があります。PlayStation 3で使用されているこのプロセッサは、2億5000万個のトランジスタを備えています。[ 25 ]
簡単に分析すると、セルプロセッサは4つのコンポーネントに分けられます。
MPEGストリームのデコード/エンコード、3 次元データの生成または変換、データのフーリエ解析の実行など、数学的に負荷の高いタスクに必要な高いパフォーマンスを実現するために、セル プロセッサは、EIB を介して SPE と PPE を結合し、完全なキャッシュ コヒーレントDMA (ダイレクト メモリ アクセス)を介して、メイン メモリと外部データ ストレージの両方にアクセスできるようにします。EIB を最大限に活用し、計算とデータ転送をオーバーラップするために、9 つの処理要素 (PPE と SPE) のそれぞれにDMA エンジンが搭載されています。SPE のロード/ストア命令は、自身のローカルスクラッチ パッド メモリにしかアクセスできないため、各 SPE は、メイン メモリおよび他の SPE のローカル メモリとの間でデータを転送するために DMA に完全に依存しています。DMA 操作では、1 つ以上のブロックを転送できます。最大 16 KB の単一ブロック 、または 2 ~ 2048 個のブロックのリストです。 Cellのアーキテクチャにおける主要な設計上の決定事項は、チップ内部のデータ転送の中心的な手段としてDMAを使用することであり、チップ内部のデータ処理において最大限の非同期性と並行性を実現することを目的としている。[ 27 ]
従来のオペレーティングシステムを実行できるPPEは、SPEを制御します。PPEは、これらのSPE上で実行されているプロセスを開始、停止、中断、およびスケジュールすることができます。この目的のために、PPEにはSPEの制御に関連する追加の命令があります。SPEとは異なり、PPEは標準のロード/ストア命令を使用して、メインメモリとSPEのローカルメモリを読み書きできます。SPEは完全に自律的ではなく、有用な作業を行う前にPPEによる準備が必要です。システムの電力の大部分はSPEから供給されているため、データ転送にDMAを使用することと、各SPEのローカルメモリのフットプリントが限られていることは、システムの電力を最大限に活用したいソフトウェア開発者にとって大きな課題となります。このような状況では、この中央処理装置(CPU)から最大限のパフォーマンスを引き出すために、プログラムを慎重に手動で調整する必要があります。
PPEとバスのアーキテクチャには、さまざまな動作モードが含まれており、異なるレベルのメモリ保護を提供することで、SPEまたはPPE上で実行されている特定のプロセスによるメモリ領域へのアクセスを保護できます。
PPEとSPEはどちらも、固定幅32ビット命令フォーマットのRISC(Reduced Instruction Set Computer )アーキテクチャを採用しています。PPEには、64ビット汎用レジスタ(GPR)セット、64ビット浮動小数点レジスタ(FPR)セット、および128ビットAltiVecレジスタセットが含まれています。SPEには128ビットレジスタのみが含まれています。これらは、8~64ビットのスカラーデータ型、またはさまざまな整数および浮動小数点フォーマットでのSIMD( Single Instruction Multiple Data)演算のいずれかに使用できます。PPEとSPEの両方のシステムメモリアドレスは、64ビット値で表されます。SPU(Synergistic Processor Unit)プロセッサ内部のローカルストアアドレスは、32ビットワードで表されます。Cell関連のドキュメントでは、ワードは常に32ビット、ダブルワードは64ビット、クワッドワードは128ビットを意味します。
2008年、IBMはPowerXCell 8iと呼ばれるCellの派生版を発表した[ 28 ] 。これはIBMのQS22ブレードサーバーで利用可能である。PowerXCellは65nm プロセスで製造され、さらに最大32GB のスロット付きDouble Data Rate 2(DDR2)メモリのサポートが追加され、SPEの倍精度浮動小数点演算性能が劇的に向上している。ピーク時の浮動小数点演算回数が毎秒約128億(GFLOPS)から、8つのSPEで合計102.4 GFLOPSに向上している。これは、ほぼ同時期にリリースされたNEC SX-9 ベクトルプロセッサのピーク性能と同じである。2008年から2009年にかけて世界最速だったIBM Roadrunnerスーパーコンピュータは、12,240個のPowerXCell 8iプロセッサと6,562個のAMD Opteronプロセッサで構成されていた。[ 29 ] PowerXCell-8i を搭載したスーパーコンピュータは、Green500リストの上位 6 つの「最も環境に優しい」システムすべてを独占し、世界で最も高い MFLOPS/ワット比のスーパーコンピュータを誇っています。[ 30 ] PowerXCell プロセッサは、QS22 やスーパーコンピュータでの使用に加えて、PCI Express カード上のアクセラレータとしても利用可能であり、 QPACEスーパーコンピュータ プロジェクトのコア プロセッサとして使用されています。
PowerXCell 8iではRambusメモリインターフェースが削除され、 DDR2メモリインターフェースが大幅に拡張され、SPEも強化されたため、チップレイアウトの見直しが必要となり、結果としてチップダイとパッケージが大型化しました。[ 31 ]

Cellチップにはさまざまな構成がありますが、基本的な構成は、 1つのパワー処理要素(PPE)(「処理要素」または「PE」と呼ばれることもあります)と複数のシナジスティック処理要素(SPE)で構成されるマルチコアチップです。[ 32 ] PPEとSPEは、「要素相互接続バス」(EIB)と呼ばれる内部高速バスによって接続されています。

PPE [ 33 ] [ 34 ] [ 35 ]は、PowerPCベースで、デュアル発行、インオーダー、双方向同時マルチスレッドのCPUコアです。8 つの SPE のコントローラとして機能する 23 段のパイプラインを備えており、SPE が計算ワークロードの大部分を処理します。PPE はアウトオブオーダー実行機能が限定的です。ロードはアウトオブオーダーで実行でき、実行パイプラインは遅延しています。PPE は他の 64 ビット PowerPC プロセッサと類似しているため、従来のオペレーティングシステムで動作しますが、SPE はベクトル化された浮動小数点コードの実行用に設計されています。PPE には、32 KiBのレベル 1 命令キャッシュ、32 KiB のレベル 1 データキャッシュ、および 512 KiB のレベル 2 キャッシュが含まれています。すべてのキャッシュで、キャッシュ ラインのサイズは 128 バイトです。[ 28 ]: 136-137、141さらに、IBMは以下の要素を含めています。
PPEは、命令ユニット(IU)、実行ユニット(XU)、ベクトル/スカラー実行ユニット(VSU)の3つの主要ユニットで構成されています。IUには、L1命令キャッシュ、分岐予測ハードウェア、命令バッファ、および依存関係チェックロジックが含まれています。XUには、整数実行ユニット(FXU)とロードストアユニット(LSU)が含まれています。VSUには、FPUとVMXのすべての実行リソースが含まれています。各PPEは、スカラー積和命令を使用してクロックサイクルごとに2つの倍精度演算を実行でき、これは3.2GHzで6.4GFLOPSに相当します。または、ベクトル積和命令を使用してクロックサイクルごとに8つの単精度演算を実行でき、これは3.2GHzで25.6GFLOPSに相当します。[ 37 ]
PPEはCellプロセッサ専用に設計されましたが、開発中にMicrosoftがXbox 360用の高性能プロセッサコアを求めてIBMにアプローチしました。IBMはこれに同意し、 VMX128拡張機能を追加したPPEの若干の変更版をベースにしたトリプルコアのXenonプロセッサを構築しました。 [ 38 ] [ 39 ]

各 SPE は、シナジスティック処理ユニット (SPU) [ 40 ]とメモリフローコントローラ (MFC) ( DMA、MMU、およびバスインターフェース)で構成される、デュアル発行のインオーダープロセッサです。SPE には分岐予測ハードウェアがないため、コンパイラに大きな負荷がかかります。[ 41 ]各 SPE には、奇数パイプラインと偶数パイプラインに分かれた 6 つの実行ユニットがあります。SPU は、単精度および倍精度命令用に128 ビットSIMD構成の特別に開発された命令セットアーキテクチャ(ISA)を実行します。 [ 36 ] [ 2 ] [ 42 ]現在の世代の Cell では、各 SPE には、命令とデータ用の256 KiBの組み込みスタティックランダムアクセスメモリ(SRAM) が含まれており、 「ローカルストレージ」と呼ばれています (ソニーのドキュメントでビデオランダムアクセスメモリ(VRAM)を指す「ローカルメモリ」とは異なります)。これは PPE から見え、ソフトウェアで直接アドレス指定できます。各SPEは最大4GiBのローカルストアメモリをサポートできます。ローカルストアは、ソフトウェアに対して透過的ではなく、ロードするデータを予測するハードウェア構造も含まれていないため、従来のCPUキャッシュのように動作しません。SPEは128ビット、128エントリのレジスタファイルを備え、90nmプロセスで14.5mm²のサイズです。SPEは、メモリ操作に加えて、1クロックサイクルで16個の8ビット整数、8個の16ビット整数、4個の32ビット整数、または4個の単精度浮動小数点数を処理できます。重要な点として、SPUはシステムメモリに直接アクセスできません。SPUによって形成された64ビットの仮想メモリアドレスは、システムアドレス空間内でDMA操作を設定するために、SPUからSPEのメモリフローコントローラに渡される必要があります。
典型的な使用シナリオでは、システムはSPEに小さなプログラム(スレッドに類似)をロードし、SPEを連結して複雑な操作の各ステップを処理します。たとえば、セットトップボックスはDVDの読み取り、ビデオとオーディオのデコード、および表示のためのプログラムをロードし、データはSPEからSPEへと渡され、最終的にテレビに表示されます。別の可能性としては、入力データセットを分割し、複数のSPEで同じ種類の操作を並列に実行することです。3.2GHzでは、各SPEは理論上25.6GFLOPSの単精度演算性能 を発揮します。
パーソナルコンピュータの同世代のプロセッサと比較すると、Cell プロセッサの比較的高い全体的な浮動小数点性能は、Pentium 4やAthlon 64などの CPU の SIMD ユニットの能力を明らかに凌駕しています。しかし、システムの浮動小数点能力だけを比較するのは、一次元的でアプリケーション固有の指標です。Cell プロセッサとは異なり、このようなデスクトップ CPU は、パーソナルコンピュータで通常実行される汎用ソフトウェアに適しています。Intel と AMD のプロセッサは、クロックごとに複数の命令を実行することに加えて、分岐予測機能を備えています。Cell は、分岐準備命令を作成するコンパイラ支援によってこれを補償するように設計されています。パーソナルコンピュータで時々使用され、科学計算でよく使用される倍精度浮動小数点演算の場合、Cell のパフォーマンスは桁違いに低下しますが、それでも 20.8 GFLOPS ( SPE あたり 1.8 GFLOPS、 PPE あたり 6.4 GFLOPS) に達します。倍精度演算専用に設計されたPowerXCell 8iバリアントは、 倍精度演算で102.4 GFLOPSに達します。[ 43 ]
IBMのテストによると、SPEは最適化された並列行列乗算を実行することで理論上のピーク性能の98%に達することができる。[ 37 ]
東芝は、4つのSPEを搭載しPPEを搭載しないコプロセッサ「 SpursEngine 」を開発した。これは、民生用電子機器における3Dや映画効果の処理速度を向上させることを目的としている。
各SPEは256KBのローカルメモリを持っています 。[ 44 ] SPE全体では、 2MBのローカルメモリを持っています。
EIBは、Cellプロセッサ内部の通信バスであり、オンチップの様々なシステム要素(PPEプロセッサ、メモリコントローラ(MIC)、8つのSPEコプロセッサ、および2つのオフチップI/Oインターフェース)を接続します。PlayStation 3構成では、合計12個の要素が参加します。(産業用途ではSPUの数が異なる場合があります。)EIBには、信号機のような役割を果たす仲裁ユニットも含まれています。IBMは一部の文書で、EIBの参加者を「ユニット」と呼んでいます。
EIB は、16 バイト幅の単方向チャネル 4 つからなる円形リングとして実装され、ペアで逆方向に回転します。トラフィックパターンが許せば、各チャネルは最大 3 つのトランザクションを同時に転送できます。EIB はシステムクロックの半分の速度で動作するため、実効チャネル速度は 2 システムクロックサイクルごとに 16 バイトです。最大同時実行時、4 つのリングのそれぞれで 3 つのアクティブなトランザクションがある場合、ピーク時の EIB の瞬時帯域幅はクロックサイクルあたり 96 バイトです (12 同時トランザクション × 16 バイト幅 / 転送あたり 2 システムクロックサイクル)。この数値は IBM の資料でよく引用されますが、この数値をプロセッサのクロック速度で単純にスケーリングすることは現実的ではありません。アービトレーション ユニットが追加の制約を課します。
IBMのシニアエンジニアであり、EIBの主任設計者であるデビッド・クロラック氏は、並行処理モデルについて次のように説明した。
リングは3サイクルごとに新しいオペレーションを開始できます。各転送は常に8ビートかかります。これは私たちが行った簡略化の1つで、大量のデータをストリーミングするように最適化されています。小さなオペレーションを実行する場合は、それほどうまく機能しません。この線路を走る8両編成の列車を想像してみてください。列車同士が衝突しない限り、線路上で共存できます。[ 45 ]
EIB上の各参加者は、16バイトの読み出しポートと16バイトの書き込みポートをそれぞれ1つずつ持っています。1つの参加者が読み書きできる速度の制限は、EIBクロックサイクルあたり16バイト(簡略化のため、システムクロックサイクルあたり8バイトとみなされることが多い)です。各SPUプロセッサには専用のDMA管理キューが搭載されており、SPUの進行中の計算処理を妨げることなく、さまざまなエンドポイントに対して一連のトランザクションをスケジュールできます。これらのDMAキューはローカルまたはリモートで管理できるため、制御モデルにさらなる柔軟性をもたらします。
EIBチャネル上のデータは、リングを一周するように段階的に流れます。参加者が12個あるため、チャネルを一周して出発点に戻るまでの総ステップ数は12です。参加者間の最長距離は6ステップです。EIBチャネルでは、6ステップを超えるデータ伝送は許可されていません。そのようなデータは、円周を逆方向に一周する最短経路を通らなければなりません。パケット送信に関わるステップ数は、転送遅延にほとんど影響を与えません。ステップを駆動するクロック速度は、他の要素に比べて高速です。ただし、通信距離が長くなると、利用可能な同時実行数が低下するため、EIBの全体的なパフォーマンスには悪影響を及ぼします。
IBMは当初、EIBをより高性能なクロスバーとして実装することを望んでいたものの、リソースを節約するために採用した円形構成は、Cellチップ全体のパフォーマンスを制限する要因となることはほとんどない。最悪の場合でも、プログラマはEIBが高レベルの並列処理で動作できるような通信パターンをスケジュールするために、細心の注意を払う必要がある。
デビッド・クロラックはこの状況を次のように説明した。
当初、開発プロセスの初期段階で、何人かの人がクロスバースイッチを強く求めていました。バスの設計上、チップ上のシリコンスペースを配線にさらに割く覚悟があれば、EIBを取り外してクロスバースイッチを組み込むことも可能でした。接続性と面積のバランスを取る必要がありましたが、完全なクロスバースイッチを組み込むにはスペースが足りませんでした。そこで、非常に興味深いリング構造を考案しました。これは面積の制約内に収まり、非常に優れた帯域幅を実現しています。[ 45 ]
3.2 GHz では、各チャネルは 25.6 GB/s の速度で流れます 。EIB をそれが接続するシステム要素から切り離して考えると、このフローレートで 12 個の同時トランザクションを実現すると、抽象的な EIB 帯域幅は 307.2 GB/s になります。この観点に基づき、多くの IBM の資料では、利用可能な EIB 帯域幅を「300 GB/s 以上 」と表現しています。この数値は、プロセッサ周波数でスケーリングされたピーク時の EIB 帯域幅を反映しています。[ 46 ]
しかし、バス上で受け入れられるパケットの仲裁メカニズムには、他にも技術的な制約が存在します。IBMシステムズ・パフォーマンス・グループは、次のように説明しています。
EIB 上の各ユニットは、バス サイクルごとに 16 バイトのデータを同時に送受信できます。EIB 全体の最大データ帯域幅は、システム内のすべてのユニットでアドレスがスヌープされる最大レートによって制限され、これはバス サイクルごとに 1 つです。スヌープされたアドレス要求ごとに最大 128 バイトを転送できるため、3.2 GHz での EIB の理論上のピーク データ帯域幅は 128Bx1.6 GHz = 204.8 GB/s です。[ 37 ]
この説明は、IBMがこのメカニズムとその影響について公表した内容の全てを表しているようだ。EIB仲裁ユニット、スヌーピングメカニズム、セグメントまたはページ変換フォルト時の割り込み生成など、いくつかのトピックについては、IBMがこれまでに公開したドキュメントセットでは十分に説明されていない。
実際には、EIBの実効帯域幅は、関与するリング参加者によって制限される場合もあります。9つの処理コアはそれぞれ25.6 GB/sの読み書きを同時に維持できますが、メモリインターフェイスコントローラ(MIC)は、読み書きを合わせた最大フローが25.6 GB/sとなる2つのXDRメモリチャネルに接続されています。さらに、2つの入出力(I/O)コントローラは、ピーク時の入力速度が25.6 GB/s、ピーク時の出力速度が35 GB/sとなるように設計されていることが文書化されています。
さらに混乱を招くことに、一部の古い文献では、 システムクロックが4GHzであると仮定してEIB帯域幅を算出している。この基準に基づくと、EIBの瞬間帯域幅は384GB /s、アービトレーション制限時の帯域幅は256GB /sとなる。
あらゆる点を考慮すると、 最もよく引用される理論上の204.8 GB/sという数値が、覚えておくべき最良の数値である。IBMシステムパフォーマンスグループは、 3.2 GHzで動作するCellプロセッサ上で197 GB/sを達成するSPU中心のデータフローを実証しており 、この数値は実際の状況も適切に反映している。[ 37 ]
Cellには、Rambus XDRメモリとインターフェースするデュアルチャネルRambus XIOマクロが搭載されています。メモリインターフェースコントローラ(MIC)はXIOマクロとは別個のもので、IBMが設計しました。XIO-XDRリンクは ピンあたり3.2 Gbit/sで動作します。2つの32ビットチャネルを使用することで、理論上の最大速度は25.6 GB/sとなります。
I/OインターフェースもRambus社が設計したもので、FlexIOと呼ばれています。FlexIOインターフェースは12レーンで構成され、各レーンは単方向の8ビット幅のポイントツーポイントパスです。5つの8ビット幅のポイントツーポイントパスはCellへのインバウンドレーンで、残りの7つはアウトバウンドレーンです。このインターフェースは、2.6GHzで理論上の最大帯域幅62.4GB /s( アウトバウンド36.4GB/s、 インバウンド26GB/s)を実現します 。FlexIOインターフェースは独立してクロックすることができ、通常は3.2GHzで動作します 。4つのインバウンドレーンと4つのアウトバウンドレーンがメモリコヒーレンシをサポートします。
Leadtekなどの一部の企業は、H.264、MPEG-2、MPEG-4ビデオの「リアルタイムよりも高速な」トランスコーディングを可能にするために、CellベースのPCI Expressカードをリリースしている。 [ 47 ]
2007年8月29日、IBMはBladeCenter QS21サーバーを発表しました。1ワットあたり1秒あたり10億5000万ギガFLOPSの浮動小数点演算を生成し、ピーク性能は約460ギガFLOPSで、現在までに最も電力効率の高いコンピューティングプラットフォームの1つです。1台のBladeCenterシャーシは、1秒あたり6.4兆テラFLOPSの浮動小数点演算を実行でき、標準的な42Uラックで 25.8テラFLOPS以上を実現できます。 [ 48 ]
2008年5月13日、IBMはBladeCenter QS22サーバーを発表した。QS22は、QS21の5倍の倍精度浮動小数点性能を持つPowerXCell 8iプロセッサと、 ブレード上に最大32GBのDDR2メモリを搭載できる容量を備えている。[ 49 ]
IBMは2012年1月12日をもって、CellプロセッサをベースとしたBladeサーバーラインの販売を終了しました。[ 50 ]
いくつかの企業がIBM PowerXCell 8iを使用したPCI Expressボードを提供している。その性能は2.8GHzで179.2 GFLOPS(SP)、89.6 GFLOPS(DP)と報告されている 。[ 51 ] [ 52 ]
ソニーのPlayStation 3ビデオゲームコンソールは、 3.2GHzで動作し、8つのSPEのうち7つを搭載したCellプロセッサの最初の量産アプリケーションであり、ソニーはプロセッサ製造の歩留まりを向上させることができました。7つのSPEのうち開発者がアクセスできるのは6つだけで、1つはOSによって予約されています。[ 53 ]
PlayStation 3の系譜を受け継いでいるため、ナムコシステム357のアーケードハードウェアもCellプロセッサを採用していた。

東芝はCellを使用して高精細テレビ(HDTV)を製造している。同社は1920x1080の画面で48の標準解像度MPEG-2ストリームを同時にデコードするシステムを発表した。[ 54 ] [ 55 ]このデコードにより、視聴者は画面に同時に表示される数十のサムネイルビデオに基づいてチャンネルを選択できる。
東芝は2008年に、組み込み型Cellテクノロジーを搭載したQosmio G55ノートパソコンを発売した。このノートパソコンのCPUは、東芝のコンピュータでは一般的なIntel Core x86ベースのチップである。[ 56 ]
IBMのスーパーコンピュータであるIBM Roadrunnerは、汎用x86-64 OpteronプロセッサとCellプロセッサのハイブリッドでした。このシステムは、標準のLINPACKベンチマークを使用して持続的に1.026ペタFLOPSの速度を達成し、ペタFLOPSの速度で動作する最初のスーパーコンピュータとして、2008年6月のトップ500リストで1位を獲得しました。IBM RoadrunnerはCellプロセッサのPowerXCell 8iバージョンを使用しており、65nmテクノロジーを使用して製造され、128ビットレジスタで倍精度計算を処理できる強化されたSPUを搭載し、チップあたり倍精度102 GFLOPsに達しました。[ 57 ] [ 58 ]
PlayStation 3 (PS3) コンソールのクラスタは、Cell ブレードをベースとしたハイエンドシステムの魅力的な代替手段です。テネシー大学コンピュータサイエンス学科のJack Dongarraが率いる Innovative Computing Laboratory は、このようなアプリケーションを詳細に調査しました。 [ 59 ] Terrasoft Solutions は、 Yellow Dog Linuxがプリインストールされた 8 ノードおよび 32 ノードの PS3 クラスタを販売しています。これらのクラスタは、Dongarra の研究の実装です。
2007 年 10 月 17 日にWired誌が最初に報じたように[ 60 ] 、マサチューセッツ大学ダートマス校物理学部の天体物理学者Gaurav Khanna氏が、クラスター構成で PS3 を使用する新しいアプリケーションを実装しました。彼はスーパーコンピュータでの時間を、代わりに 8 台の PS3 のクラスターでの時間に置き換えました。このマシンの次世代はPlayStation 3 Gravity Gridと呼ばれ、16 台のマシンのネットワークを使用し、摂動理論を使用した連星ブラックホールの合体というターゲット アプリケーションに Cell プロセッサを活用しています。具体的には、このクラスターは、より小さなコンパクト天体を捕獲する巨大な超大質量ブラックホールの天体物理学的シミュレーションを実行し、科学研究文献で複数回発表された数値データを生成しました。[ 61 ] PS3 で使用されている Cell プロセッサのバージョンは、メイン CPU と 6 つの SPE をユーザーが利用できるため、Gravity Grid マシンは合計 16 個の汎用プロセッサと 96 個のベクトルプロセッサを備えています。このマシンは構築に9,000ドルの1回限りの費用がかかり、従来のスーパーコンピュータでは1回の実行に6,000ドルかかるブラックホールのシミュレーションに十分対応できます。ブラックホールの計算はメモリ集約的ではなく、局所化が非常に容易であるため、このアーキテクチャに適しています。Khanna氏は、自身のシミュレーションでは、このクラスタのパフォーマンスが100以上のIntel Xeonコアベースの従来のLinuxクラスタのパフォーマンスを上回ると主張しています。PS3 Gravity Gridは、2007年、[ 62 ] 2008年、[ 63 ] [ 64 ] 2009年、 [65 ] [ 66 ] [ 67 ]および2010年にメディアから大きな注目を集めました。[ 68 ] [ 69 ]
2007年、バルセロナのポンペウ・ファブラ大学の計算生化学・生物物理学研究室は、セルプロセッサ専用に設計された最初のソフトウェアであるCellMDソフトウェアをベースとした共同コンピューティングのためのBerkeley Open Infrastructure for Network Computing(BOINC)システムPS3GRID [ 70 ]を導入した。
アメリカ空軍研究所は、高解像度衛星画像の解析用に、1700台以上のPlayStation 3からなるクラスター(通称「コンドル・クラスター」)を配備した。空軍は、コンドル・クラスターは処理能力の点で世界で33番目に大きなスーパーコンピュータになると主張している。[ 71 ]研究所は、このスーパーコンピュータを大学の研究目的での利用に開放している。[ 72 ]
50万台以上のPlayStation 3の演算能力を活用した分散コンピューティングプロジェクトFolding@homeは、ギネス世界記録により世界で最も強力な分散ネットワークとして認定されました。最初の記録は2007年9月16日に達成され、それまで分散コンピューティングネットワークでは達成されていなかった1ペタFLOPSを超えました。さらに、この共同作業により、PS3単体でも2007年9月23日にペタFLOPSの記録を達成しました。比較として、当時世界で2番目に強力なスーパーコンピュータであるIBMのBlue Gene/Lは約478.2 テラFLOPSの性能でした。つまり、Folding@homeの演算能力はBlue Gene/Lの約2倍ということになります(ただし、Blue Gene/LのCPUインターコネクトはFolding@homeの平均ネットワーク速度の100万倍以上高速です)。 2011年5月7日現在、Folding@homeは約9.3×86ペタFLOPSの性能を発揮しており、26,000台のアクティブなPS3だけでも1.6 ペタFLOPSの性能を生み出している。
IBMは2007年4月25日、セルブロードバンドエンジンアーキテクチャに基づくマイクロプロセッサを同社のSystem zメインフレームに統合し始めると発表した。 [ 73 ]この取り組みにより、ゲームフレーム(ハイブリッドコンピュータシステム)が誕生した。
Cellプロセッサのアーキテクチャは、従来のプロセッサよりもハードウェア支援型暗号ブルートフォース攻撃アプリケーションに適しています。[ 74 ]
Cellの柔軟性のおかげで、さまざまなコンピューティングパラダイムに限らず、そのリソースを使用する可能性は数多くあります。[ 75 ]
PPEはジョブキューを管理し、SPEにジョブをスケジュールし、進捗状況を監視します。各SPEは「ミニカーネル」を実行し、その役割はジョブを取得、実行し、PPEと同期することです。
ミニカーネルとスケジューリングはSPE間で分散されます。タスクは、従来のオペレーティングシステムと同様に、相互排他(ミューテックス)またはセマフォを使用して同期されます。実行準備が整ったタスクは、SPEが実行するまでキューで待機します。この構成では、SPEはすべてのタスクに共有メモリを使用します。
各SPEはそれぞれ異なるプログラムを実行します。データは入力ストリームから取り込まれ、SPEに送信されます。SPEが処理を終了すると、出力データが出力ストリームに送信されます。
この構成により、ストリーム処理のための柔軟かつ強力なアーキテクチャが実現し、各SPEを個別に明示的にスケジューリングすることが可能になります。他のプロセッサもストリーミングタスクを実行できますが、ロードされているカーネルによって制限されます。
2005年、IBMの開発者によって、LinuxカーネルでCellをサポートするパッチが提出されました。[ 76 ]パッチ開発者の1人であるArnd Bergmannは、 LinuxTag 2005カンファレンスでLinuxベースのCellアーキテクチャについて説明しました。[ 77 ]リリース2.6.16(2006年3月20日)以降、LinuxカーネルはCellプロセッサを正式にサポートしています。[ 78 ]
PPEとSPEは、ライブラリが提供する共通APIを使用してC言語とC++でプログラミング可能です。
Fixstars Solutions社は、IBM および Mercury Cell ベースのシステム、ならびに PlayStation 3 向けにYellow Dog Linuxを提供しています。 [ 79 ] Terra Soft 社は Mercury 社と戦略的に提携し、Cell 用の Linux ボード サポート パッケージを提供するとともに、他の Cell プラットフォーム上のソフトウェア アプリケーションのサポートと開発も行っています。これには、IBM の BladeCenter JS21 および Cell QS20、ならびに Mercury Cell ベースのソリューションが含まれます。[ 80 ] Terra Soft 社は、Y-HPC (高性能コンピューティング) クラスタ構築および管理スイートと Y-Bio 遺伝子シーケンス ツールという 2 つのツール セットも維持しています。Y-Bio は、パッケージ管理の RPM Linux 標準に基づいて構築されており、バイオ インフォマティクス研究者がより効率的に作業を行うのに役立つツールを提供しています。[ 81 ] IBM 社は、Linux 用の擬似ファイルシステム「spufs」(「SPU ファイルシステム」の略。「procfs」プロセス ファイルシステムを参照)を開発しました。これにより、SPE リソースへのアクセスと使用が簡素化されます。 IBMはLinuxカーネルとGDBポートを維持しており、ソニーはGNUツールチェーン(GCCとbinutils)を維持している。[ 82 ] [ 83 ]
2005年11月、IBMはシミュレータと各種ツールからなる「Cell Broadband Engine (CBE) ソフトウェア開発キット バージョン1.0」を自社ウェブサイトで公開した。Fedora Core 4 Linuxディストリビューションの最新カーネルとツールの開発バージョンは、バルセロナ・スーパーコンピューティング・センターのウェブサイトで管理されている。[ 84 ]
2007年8月、Mercury Computer Systemsは高性能コンピューティングをサポートするためにPlayStation 3用のSDKをリリースした。[ 85 ]
2007年11月、Fixstars Corporationは、Cell向けのいくつかの重要なOpenCV APIを高速化することを目的とした新しい「CVCell」モジュールをリリースしました。一連のソフトウェア計算テストで、同社は3.2GHz Cellプロセッサでの実行時間が、2.4GHz Intel Core 2 Duoプロセッサで実行した場合よりも6~27倍速いことを記録しました 。[ 86 ]
2009年10月、IBMはPOWER6プロセッサとCBE用のOpenCLドライバをリリースしました。このドライバにより、クロスプラットフォームAPIで記述されたプログラムをCell PSE上で簡単に実行できます。[ 87 ]
Cell/BEプロセッサの各世代とPowerXCell 8iのイラスト。画像は縮尺どおりではありません。Cell/BEパッケージはすべて42.5 × 42.5mm 、PowerXCell 8iは47.5 × 47.5mmです 。
製造歩留まりを向上させるため、ソニーはPlayStation 3 Cellプロセッサに7つの動作するSPEのみを搭載して出荷している。そして、その7つのうち1つのSPEはオペレーティングシステムによってさまざまなタスクに使用される。これにより、ゲームプログラマが使用できるSPEは6つ残る。
製造歩留まりを向上させるため、ソニーはPlayStation 3のCellプロセッサを、動作するSPEを7つだけ搭載して出荷している。そして、その7つのうち1つのSPEは、オペレーティングシステムがさまざまなタスクに使用する。これにより、ゲームプログラマが使用できるSPEは6つとPPEが1つ残る。