8月20日と21日の両日、スタンフォード大学のMemorial Auditoriumで開催されたHot Chips 19の最後を飾る発表で、IBMのFellowであるCharles Webb氏が次世代メインフレームプロセサ「z6」について発表を行った。

次世代メインフレームプロセサ「z6」を発表するIBMフェローのCharles Webb氏

IBMのメインフレームの歴史は1964年のSystem 360の発表まで遡ることが出来るが、発熱問題からバイポーラのECLを諦め、CMOSに切り替えたのが1997年である。ちょっと横道にそれるが、CMOS化に伴いクロック周波数が低下したのであるが、IBMはプロセサコア数の増加でシステムとしての性能向上のトレンドを維持した。つまり、メインフレームは、発熱問題を原因とする、最近のマイクロプロセサのマルチコア化を10年前に既に体験しているのである。

1997年にCMOS化したG4プロセサが発表されて以来、チップの集積度やクロックの向上により性能が向上してきたが、2005年のz9 ECプロセサまで基本的なマイクロアーキテクチャには大きな変更は無かったという。しかし、今回のz6プロセサでは、POWER6との共同開発により、マイクロアーキテクチャを一新した新規設計になったという。

POWER6とは兄弟の関係で、ロジックの構成要素となるラッチ、レジスタファイルやSRAMマクロなどを共用しており、整数や浮動小数点演算器、メモリコントローラなども設計の大部分が同じであるという。しかし、命令セットや用途が異なるので、チップ全体のマイクロアーキテクチャとしては別物となっている。

z6はPOWER6と同じ65nm SOI CMOSプロセスで作られているが、POWER6がデュアルコアであるのに対して、z6はクワッドコアであり、発表写真でみると、チップ写真でみるとPOWER6の1.5倍くらいのサイズで、21.7mm×20.0mmという巨大なチップである。各コアは64KBの1次命令キャッシュ、128KBの1次データキャッシュと3MBの2次キャッシュを持っている。チップ全体のトランジスタ数は991Mで、総配線長は6kmに達するという。

システムとしては、このz6プロセサを接続するSMP Hubと呼ぶチップがあり、ここに24MBの3次キャッシュを搭載している。各48GB/sのバンド幅のパスで複数のz9 CPUチップがこのチップに接続される。また、このHubチップはペアにして48MBの共有キャッシュとして使うこともできる。Hubチップは1.6Bトランジスタを集積し、チップサイズは20.8mm×21.4mmである。

また、クロック周波数は4GHz以上と述べられ、現在のz9 ECプロセサが1.7GHzクロックであるのと比較すると2倍以上の高クロックである。このため、パイプラインの段数が増えているが、性能的に比較的影響の少ない部分でパイプ段数を増やし、性能に影響の大きい部分でのパイプ段数の増加を抑えている。一番、性能影響の多い整数演算は1サイクルで変らず、Load-Loadのケースでもz9の3サイクルがz6では4サイクルと1サイクル増加しただけである。しかし、分岐予測ミスの場合は、z9では最低6サイクルであったものが、z6では最低13サイクルと命令デコードとグルーピングの部分のパイプ段数の増加が大きく影響している。

機能的には、POWER6でも新規採用された10進浮動小数点演算機構を装備し、2コアで共有するデータ圧縮と暗号化アクセラレータを装備している。暗号化に関しては従来もCP Assistという機構が搭載されていたが、これを強化したもののようである。

RAS関係では、従来と同様に、2次、3次キャッシュやストアバッファ、RU(Recovery Unit)のメモリなどはECCで保護されている。また、その他の全てのRAMやレジスタファイルはパリティーチェックが付いており、演算器もパリティーチェックやレジデューチェックでのエラー検出を行う。さらに、制御回路についても各種のチェックを行っているという。

従来のz9 ECプロセサまでは、整数や浮動小数点の演算ユニットを二重化し、両方のアウトプットを比較することでエラーを検出していたが、今回のz6では、この部分はパリティーチェックとレジデューチェックによるエラー検出に変更された。変更の理由を質問すると、クロックが高速になったので、タイミング的に二重化比較が困難になったので変更したという回答であった。

z6は従来のメインフレームプロセサと同様に、毎サイクル、アーキテクチャレジスタなどの状態をRUに記憶し、これらのエラー検出機構でエラーが検出されると、エラー検出以前の状態をRUから読み出してアーキテクチャレジスタに復元し、復元した状態の次の命令から実行をやりなおす。これにより、中性子ヒットのような一過性のエラーを訂正することができる。また、固定故障の場合は、RUの状態を他のコアに移して実行を再開することもできるようになっている。

これまで、メインフレームプロセサはPOWERプロセサに比べると、多少、遅れて進歩している感があったが、今回のz6はマイクロアーキテクチャを一新して、4コアとPOWER6の2倍のコアを集積した。また、クロックも同等の4GHz+に改善され、強力なRASや暗号化アクセラレータなどを搭載し、POWER6を凌ぐのプロセサになったと言って良いと思う。