【 ここから本文 】
- TOP
- > News : プラットフォーム
- >
プラットフォーム
ソーシャルブックマークに登録 :
印刷用ページの表示
Cellプロセッサが見据えるCPUテクノロジーの未来
ゲーム機にとどまらない、リアルタイム分散コンピューティングの可能性
(2005年08月29日)
IBM、ソニー、ソニー・コンピュータエンタテインメント(SCE)、東芝の4社が共同開発した「Cellプロセッサ」が次世代CPUとして注目を集めている。同CPUは、SCEの次世代家庭用ゲーム機への搭載が決まっているが、それだけではなく、デジタル家電やワークステーション、サーバまで幅広い機器への採用も見込まれているのだ。また、ネットワークで接続された複数のCellプロセッサを用いて独自の方式で分散処理を行う「Cellコンピューティング」というモデルも提案されている。そこで本稿では、Cellプロセッサの特徴とその利用メリットについて紹介する。
後藤弘茂
ついにベールを脱いだ「Cellプロセッサ」
今年2月に米国サンフランシスコで開催された半導体関連コンファレンス「ISSCC(IEEE International Solid-State Circuits Conference)」の会場で、IBM、ソニー、ソニー・コンピュータエンタテインメント(SCE)、東芝の4社は、共同で開発したCellプロセッサの概要を発表した。同CPUのサンプル・チップは昨年中盤から動作しており、近くデモ・システムも公開されると見られている。
Cellは1個のCPUチップの中に9個のプロセッサ・コアを搭載するマルチコアCPUである。クロック周波数はPentium 4を上回る4GHz以上で、パフォーマンスは浮動小数点演算で256GFLOPS(4GHz時)に達する。
Cellプロセッサが一般に注目されているのは、SCEの次世代家庭用ゲーム機に採用されるためだ。しかし、Cellはさまざまな用途に利用できる柔軟性を備えており、2006年に登場するソニーのホーム・サーバと東芝のデジタル・ハイビジョン・テレビなどへの搭載が予定されている。そのほかSCEとIBMは、Cell搭載サーバの構想も示唆している。
用途に特化したシンプルなプロセッサ・コアを9個搭載
今後数年の間に複数のモデルが登場すると予想されるが、現在発表されているのは、90nmプロセスで製造される第1世代に当たる1種類のCellのみである。このCellの最大の特徴は、他の最新のCPUと比べてプロセッサ・コアの数が多いことである。他社のCPUは、200mm2前後のダイ(半導体)に2個のコアしか搭載していない。一方、Cellは、OSなどのコントロール系処理に特化したコア「PPE(Power Processor Element)」を1個と、データ処理に特化したコア「SPE(Synergistic Processor Element)」を8個搭載している(図1、写真1)。このように多数のコアを搭載したCellは、同時に多数の演算を行えるため、演算性能が非常に高い。
| 図1:Cellプロセッサの構成図 |
| 写真1:記者発表会で公開されたCellプロセッサの内部写真 |
通常、コントロール系処理とデータ処理の両方の処理で高い性能を発揮するコアを設計するには、大きなスペースが必要となるが、それぞれの処理に特化させたシンプルで小さいコアを組み合わせて、高い性能を発揮できるようにするというのがCellの基本コンセプトなのだ。
さらにCellは、最近のCPU肥大化の一因となっているスケジューリング機能を省いてコアの小型化を図っている。スケジューリングとは、並列実行率を高めるために命令の実行順序を入れ替えるものだが、Cellの場合、コンパイラ上でスケジューリングを行うという設計思想を採用している。
コントロール系の処理を受け持つPPEの命令セットは、IBMのPowerアーキテクチャをベースにSIMD(Single Instruction/Multiple Data:複数のデータを一度に処理する命令)アーキテクチャを追加したPowerPC G5プロセッサと互換性がある。よって、POWER/PowerPCプロセッサ用のプログラムをPPE用に移植するのは容易である。
PPEは、1つのプロセッサ・コアでありながら2つのスレッドを同時に処理できるSMT(Simultaneous Multithreading:インテルのHyper-Threadingと同様の技術機能)を備えている。また、標準的なRISCプロセッサと同様、レジスタが32本とシンプルな構成になっている。そのため、スレッド切り替え時にレジスタの内容をメモリに待避させるために発生するレイテンシ(遅延時間)が短く、OSのようにスレッド切り替えの頻度が高いソフトウェアで性能を発揮する。
一方、データ処理を受け持つSPEは新しい命令セットを採用したCPUコアで、マルチメディア系処理などに向いたSIMD型の演算ユニットを多数備え、4個の単精度浮動小数点演算を1クロックで処理できる。1個のCellには、8個のSPEが搭載されているため、Cell全体では32個の単精度浮動小数点演算を同時に実行できることになる。SPEはSIMD型のCPUだが、命令セット自体は汎用CPUに必要な命令をすべてそろえている。
SPEはPPEと異なり、128ビット長のレジスタを128本も備えている。これは、同じ処理を繰り返すループを展開して実行する最適化技法「ループ・アンローリング」を用いるためである。
さらにSPEはLS(Local Store)と呼ばれる256KBのSRAMメモリを内蔵している。LSはキャッシュ・メモリではなく、各SPE固有のメモリ空間が割り当てられ、プログラマーが明示的に使用できるようになっている。SPEは、DMA(ダイレクト・メモリ・アクセス)を用いてメイン・メモリからLSにデータとプログラムを転送してからプログラムの実行を行う。



