本田さんのエントリを見て「へー。Playstation 3ってスゲー」って今さらながらに思ったのだが、よくよく考えると、Playstation 3関連についてこれまでまともにニュースを見ていなかった自分に心底あきれ、 まずはCellプロセッサが何か知ろう! と思い立ったのは、こちらのCMを100回くらい見続けてもはや夜も明けようかという午前5時を回ったところだった。
で、2度あきれたのは、このCell関連の記事、仕様をオープンソースに、などの記事はあるが、詳細なアーキテクチャに触れた記事というのが恥ずかしながらITmediaにはほとんど存在しなかった。では、と@ITを探すと、幾分テクニカルな内容に触れた記事を見つけた。が、具体的な部分には触れていないのでイメージがわきにくい。
仕方ないのであちこちのニュースサイトを調べると、Cellは汎用的なプロセッサコア1個と、プロセッサコア8個で構成されるという。前者がPPE(Power Processor Element)で後者がSPE(Synergistic Processor Element)だ。PPEはSPEの制御とかを主に担当し、SPEは32ビット浮動小数点実数からなるベクトル演算に特化したプロセッサとのこと。で、Playstation 3では大人の事情?で8個のSPEのうち1個は予備として休ませているようだ。トータルでの単精度浮動小数点演算能力は218GFLOPSらしいけど、実質的なデータ処理を担当するSPEのそれはこちらの記事を見る限り、179.2GFLOPSとある。まぁいずれにしてもPentium 4 3.8GHzの単精度浮動小数点演算で約15GFLOPSだから、確かにすごいパフォーマンスが出そうだな。
ちなみに、倍精度浮動小数点演算では4GHz時の場合で26GFLOPSにまで落ち込むらしい。まぁスパコンが利用されるシーンのように倍精度を使わなければならない場面がゲームの世界で本当に必要とされるのかは謎なので、とりあえずそんなに重要なポイントではない気がするけど。
話がそれたが、このSPEのSIMD(Single Instruction/Multiple Data)ユニットは積和算を1サイクルで2演算できるとな。さらに、それが4並列で演算できると。結果、1サイクルで8演算できるということね。ふむ。
このSPEにはそれぞれ256Kバイトのメモリ空間(Local Store:LS)がある。これ以外にデータをストアできそうな場所が見あたらないので、これはSPEにとってはメインメモリ的に振る舞うはずだ。つまり、SPE自体はキャッシュを持っていないことになる。となると、SIMDユニットとLSのバンド幅が気になるのだが、こちらの記事にある図では16B/サイクルとある。Bは多分バイトだろうから、128ビット/サイクルとなるのだろう。とすると、8演算できるので16ビット/サイクルか。
次はメモリ周り。メインメモリは米RambusのXDR DRAMで、その帯域は25.6Gバイト/sec。これも素晴らしい。 Playstation 3ではSPEのクロックが3.2GHzだから、8バイト/サイクルとなる。ただし、これは7個のSPEとPPEでの共用のはず。となるとSPE1個あたりでは1バイト/サイクル、つまり、8ビット/サイクル程度になるはず。
ん? ……書くのが少し恐ろしいのですが、これって1演算あたり1ビット/サイクル程度ってこと? つまり、LSから転送する場合と比べて1/16程度の速度になってしまうってこと? これって、データがLSの中に収まればいいパフォーマンスが期待できるけど、そうでなければ179.2GFLOPSなんて化け物みたいなパフォーマンスはありえないってことなのかな??
と、ここまで書いてようやくさっきの記事の言わんとすることが見えた気がしたので、あぁすまなんだ@ITよと日比谷の方向にこうべを垂れた。
自分が書いていることの検証も終わっていないが、とりあえず寝る。起きたらまた考えよう。にしてもCellは難しい。もっと! もっと自分に資料と真実をくれ!
●げ、これって周知だったのか。そりゃそうだよなー、門外漢の自分が気づくことを専門家が知らないわけないし。最高に恥ずかしい。
こんな女性がいたら付き合いたいと思う。
●スターウォーズエピソードIII
みた。まぁネタバレになるからあんま書かないが、ジェダイが弱いっちいのはまぁいいとして、シスをアメリカと読み替えながら見てみるといろいろと楽しめるな。
さてエピソードIIみるかー。
●覚え書き
Linuxのクラッシュダンプ機能についてまとめたい。LKCD、netdump、diskdump、Mini Kernel Dumpってところか。
Mini Kernel Dumpについてはいいドキュメントを見つけたので、ここを皮切りに特集にするかな。
| 某関係者 | 2005/06/25 22:22 |
|
指摘の件、かなり合っています。世間ではcellは無条件にスゴイと思われていますが、メディアの皆さんにはしっかりと伝えて欲しいと思っています。 | |
| 本田雅一 | 2005/06/26 11:07 |
|
う〜ん、無条件でCellが凄いって伝えられ方はしていないと思いますけど。現時点ではSCEI向けのスペシャルなプロセッサという印象ですし、そういう捉えられ方では。 | |
| 某関係者 | 2005/06/27 00:03 |
|
情報処理の枠組みの中でうんぬん、としているのに、「SX-8の16GFLOPS(CPU単体)よりは数値的には上」とか書いている時点で言っていることが破綻されていますけど。そもそも問題はデータの転送であって、プロセッサのFLOPSではないでしょうに。P4のピーク性能はベクトルのそれを上回っていますし。 | |
| 名無しさん必死だな | 2005/06/27 01:58 |
|
>にしてもCellは難しい。もっと! もっと自分に資料と真実をくれ! Cell 36 罵詈雑言付きで資料と真実があります | |
| 通りすがり | 2005/06/27 02:29 |
|
ここで結構検証されてますよ。 | |
| にす | 2005/06/27 02:53 |
|
> 某関係者 > 本田雅一さん > 名無しさん必死だな > 通りすがり | |
| 本田雅一 | 2005/06/27 03:03 |
|
う〜ん、別にSX-8とまじめに能力を比べるつもりもなんにもないんだけどなぁ。1/8でもSX-8のシングルよりは上ってのは、CELL養護派が使う言葉なんで、ピーク値の比較として挙げただけですが。 SPEがLSの容量に依存しているのは確かですが、ゲーム用途でのシミュレーションということであれば、性能は出るでしょう。開発ツールを使っている人に話を聞いたことがありますが、SPEを2個でデータを転送しながら処理するような場合でも、通信チャネル上でのネックはほとんどないと話しています。(ただ隣のSPEが割り当てられるとはギャランティされないので、レイテンシを読んでプログラムすることができないのはちょっと……とは話していましたが) 逆にIBMのワークステーションなんかは、用途の面で厳しいように思いますけれど。そういう意味でも、SCEIスペシャルだなぁという感想だったんですが。 | |
| くろ | 2005/06/27 09:27 |
|
>8個のSPEのうち1個は予備として休ませているようだ。 これは予備ではありません。 >前提条件に合わない処理の場合に性能が極端に落ちる。 そもそも最初からCPUにRAMの速度が追い付く位ならば、
| |
| にす | 2005/06/27 18:32 |
|
> くろ | |
| くろ | 2005/06/30 08:55 |
|
>冗長性 | |

Twitter流行に異議アリ?
ソーシャルメディアマーケティングの具体的戦術
ワクワクさせてよ――目標設定の極意
ネットでリアルを楽しくしたい
やり直せる時代の新教育論(4)