【レポート】

ISSCC 2007におけるマイクロプロセサ関係の発表 - 驚きのPOWER6

1 IBMのPOWER6

    安藤壽茂  [2007/03/04]

    今年のInternational Solid-States Circuit Conference (ISSCC)は、2月11日から15日にかけてサンフランシスコのマリオットホテルで開催された。ISSCCの公式マークには主催者であるIEEEと、ペンシルバニア大学の名前が書かれており、当初はISSCCはファラデルフィアのペンシルバニア大学で開催されていた。

    ISSCCの公式マーク。オリジナルの主催者であるIEEEとペンシルバニア大学の名前が書かれている

    しかし、2月のフィラデルフィアは寒いし、出席者の多いシリコンバレーに近い方が便利であるので、サンフランシスコとフィラデルフィアで1年おきに開催することになったが、そのうちにフィラデルフィアには戻らずサンフランシスコで毎年開催されるようになってしまったが、ペンシルバニア大学の名前は公式マークに残っている。

    会場は、サンフランシスコの中心であるユニオンスクエアに近いマリオットホテルの地下二階の大会議場である。今年の参加者は約3700人と発表されており、バブル前に近い水準まで参加者が増えてきている。何故かエレベータは地下一階までしか行かないので、会議の始まる直前になると、どんどんと参加者が地下二階に通じるエスカレータに乗ってくる。

    地下二階の大会議場に通じるエスカレータ。参加者を歓迎するISSCCの横断幕が掛かっている

    と、前置きはこのくらいにして、肝心のマイクロプロセサ関係の発表に移ろう。

    セッション5 マイクロプロセサ

    マイクロプロセサ関係のセッション5の部屋の入り口の案内板

    今年のマイクロプロセサ関係の発表はセッション5で、2月12日の午前中のキーノートセッションに続く、午後のセッションであった。ここで発表された論文は、次の7件である。

    • 5.1 Design of the Power6 Microprocessor (IBM)
    • 5.2 An 80-tile 1.28TFLOPS Network-on-Chip in 65nm CMOS (Intel)
    • 5.3 A 4320MIPS Four-Processor Core SMP/AMP with Individually Managed Clock Frequency for Low Power Consumption (Renesas / Hitachi / Waseda)
    • 5.4 An Integrated Quad-Core Opteron Processor (AMD)
    • 5.5 A 25W SoC with Dual 2GHz Power Cores and Integrated Memory and I/O Subsystems (PA Semi)
    • 5.6 The Implementation of the 65nm Dual-Core 64b Merom Processor (Intel)
    • 5.7 An 8-Core 64-Thread 64b Power-Efficient SPARC SoC Sun)

    IBMのPOWER6

    IBMのPOWER6は65nm SOIプロセスのデュアルコアプロセサで、最高クロックが5GHz以上、そして低電力動作では100W以下の消費電力というのがキャッチフレーズである。但し、この両者の組み合わせが同時に実現できるわけではなく、100W以下の場合のクロック周波数や5GHz超の場合の消費電力は公表されなかった。

    午後のセッションが終わった5時15分から、ビールやワインなどが出て、それを片手に発表者に質問できる時間があるので、IBMの発表者に「低電力が100Wなら、高クロックでは250Wになるのではないか」と聞いたら、「そこまでは行かない」と答えたが、大幅に少ないという感じでもなかったので、200W前後ではないかという印象である。

    90nmプロセスで作られているPOWER5+は2.3GHzが最高で、ISSCCでの論文発表のクロックで製品化されるとは限らないので多少割り引いたとしても、クロックを2倍程度に引き上げている。もちろん、65nmプロセスに移行することによるクロック向上効果はあるが、せいぜい30%程度であり、残りの1.5倍あまりのクロック向上をマイクロアーキテクチャから論理設計、回路設計で実現している。そして、IntelのNetburstアーキテクチャのPentiumのようにパイプライン段数を増やしてのクロック向上ではなく、POWER5とほぼ同じパイプライン段数でこれを実現しているのは驚きである。

    命令アーキテクチャ的には、PowerPCでは以前から搭載されていたAltivec(IntelのSSEのような128ビットのSIMD演算機構)と新規の10進浮動小数点演算が追加され、これらを実行する専用ユニットが追加された。また、マイクロアーキテクチャ的な変更では、POWER5はアウトオブオーダ実行のコアであったが、POWER6ではこれがインオーダに変更された。浮動小数点演算やメモリアクセスに関してはアウトオブオーダに実行される部分もあるが、インオーダ化で若干の性能低下はまぬがれないと思われる。しかし、これで2割性能が低下したとしてもクロックの倍増はインオーダ化のロスを補って余りある。また、POWER5では2コアに共通の2次キャッシュであたが、POWER6では各コアに独立の4MBキャッシュとなった。クロックの向上に伴い、共通キャッシュのメリットよりも、距離の離れたキャッシュ間のコヒーレンスを取ったり、データを転送したりするオーバヘッドの方が大きくなったということであろうか。

    POWER5と今回発表のPOWER6のハイレベルアーキテクチャ。大きな変更があった部分を黄色で示す

    発表者インタビューで、「回路を簡単化してクロックを上げるとためにインオーダ化したのか」と質問したのであるが、「アウトオブオーダ制御は電力を喰うのでインオーダコアにした」という回答で、主目的は電力低減であったようである。もう一つの注目すべき点は、コアにR Unitと呼ばれるユニットが追加された点である。R Unitはメインフレームのzシリーズのプロセサでは以前から採用されていたメカニズムで、プロセサのアーキテクチャ状態を毎サイクルチェックポイントする機構を持ち、エラーが検出されると、このR Unitに記憶されているエラー発生以前の正しい状態を復元して命令の実行を再開する。これにより、エラーの原因がアルファ線や中性子などによる一過性のエラー(ソフトエラーと言う)の場合は、エラーを訂正できる。また、R Unitに記憶された正しい状態を他のプロセサチップにコピーする機能があり、元のコアが壊れてしまった(ハードエラーと言う)場合には、他のコアで実行を再開してリカバリを行うことが出来るようになっている。R Unitの詳細は公表されていないが、従来からこれを実装しているzシリーズプロセサはインオーダマシンであり、この辺にもPOWER6がインオーダになった理由があるのかも知れない。

    キャッシュRAMなどの大容量のメモリには以前からECCが付いていたが、POWER6では小規模なレジスタファイルの99%に対してチェックが付き、また、データパスの70%以上の部分のエラーを検出するように設計されているという。更に、制御回路に対しても数百箇所のチェックがあると言う。このように強力なエラー検出機構を持っているので、論理回路のエラーが検出されずに誤った計算結果を出力してしまうようなエラーが発生する確率は論理回路エラーの0.03%程度であるという。

    POWER6のチップサイズは341平方mmで、4MBの2次キャッシュを持つ2個のコアと、外付けの32MBの3次キャッシュのタグを集積している。2次キャシュに使用しているSRAMセルは0.54平方μmと比較的小さいメモリセルで、安定度を確保するためかコアのロジックより0.1~0.2V高い電源で動作させている。

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン