イベントレポート
IBM、3年ぶりのメインフレーム用新CPU「z14」をISSCCで発表
2018年2月14日 14:31
IBMは、昨年(2017年)7月に発表した最新メインフレーム「IBM z14」に搭載するCPU技術「z14プロセッサ」を、半導体回路技術の国際学会
ISSCC 2018」で2月12日に公表した(講演番号2.2)。
IBMがメインフレームとそのCPU技術を刷新するのは、約3年振りである。2015年1月にメインフレーム「IBM System z13」を発表し、同年2月にISSCC 2015で「z13プロセッサ」の技術概要を報告した(IBMの次世代メインフレーム「System z13」を支える巨大なシリコン参照)。
今回発表したz14プロセッサと、3年前に発表したz13プロセッサの大きな違いは、製造技術にある。
z14プロセッサは、14nm世代のSOI (Silicon On Insulator) CMOS技術とFinFETトランジスタ技術で製造されている。これに対して、z13プロセッサは、22nm世代のSOI CMOS技術とプレーナトランジスタ技術で製造されていた。
製造技術の微細化と回路技術の工夫によって、処理性能の向上や内蔵メモリ(オンチップキャッシュ)容量の拡大などを実施した。
z14プロセッサは、z13プロセッサと同様に、2種類のシリコンダイで構成される。1つはマイクロプロセッサそのものと言えるシリコンダイで、「CP (Central Processor)」と呼ぶ。もう1つは、CPUノード間の接続と4次キャッシュを兼ねるシリコンダイで、「SC (System Control)」と呼んでいる。
1個のCPUノードは、複数のCPダイと1個のSCダイで構成する。CPダイの数は5個あるいは6個である。これらのシリコンダイはそれぞれがパッケージングされている。このパッケージをIBMは「SCM (Single Chip Module)」と呼ぶ。“モジュール”と呼ぶのは、汎用のパッケージではなく、専用の放熱機構を装備した、独自のパッケージだからだと思われる。
すなわち、CPUノード(IBMは「ドロワー(Drawer)」と呼んでいる)は、最大6個のCPモジュールと1個のSCモジュールで構成される。
CPモジュールは、3個ずつが「CPクラスタ」と呼ぶサブノートを形成しており、クラスタ内ではすべてのCPモジュール(CPダイ)が相互接続する。クラスタ間では、CPモジュールは接続しない。一方、SCモジュールは、CPUノード内のすべてのCPモジュールと直接、接続する。
CPUノード(ドロワー)は、メインフレームのシステム構成を決める重要な要素となっており、1個のドロワーを搭載したシステムから、最大で4個のドロワーを接続したシステムまでが用意されている。各ドロワーは、SCモジュールを介して相互に接続する。
CPシリコンダイは10個のCPUコアと61億個のトランジスタを収容
ここからは、CPUノードを構成するチップの概要を説明しよう。始めはCPチップ(シリコンダイ)の概要である。
CPチップは、物理的には10個のCPUコアを内蔵する。CPUコアの動作周波数は5.2GHzである。この動作周波数は、z13プロセッサのCPチップに比べると、200MHzほど高い。
CPチップはCPUコアのほかに、メモリインターフェイス回路、入出力インターフェイス回路、CPチップ同士およびSCチップと接続する、バス(X-Bus)インターフェイス回路などを載せている。
トランジスタ数は61億個、シリコンダイ面積は696平方mmに達する。z13のCPチップではそれぞれ40億個、678平方mmだったので、トランジスタ数は1.5倍と大幅に増えているのに対し、シリコンダイ面積は3%しか増えていない。微細化の威力が絶大であることが分かる。
SCシリコンダイは100億個に迫るトランジスタを搭載
続いて、SCチップ(シリコンダイ)の概要である。SCチップは、4次キャッシュのメモリと、CPチップと接続するバス(X-Bus)インターフェイス回路、SCチップ同士をつなぐバス(A-Bus)インターフェイス回路などで構成される。動作周波数は2.6GHzで、CPチップの2分の1である。
SCチップのトランジスタ数は、97億個と極めて多い。シリコンダイ面積は696平方mmで、CPシリコンダイとほぼ同じだ。
微細化によってキャッシュの容量を大幅に拡大
CPUの性能向上に不可欠なキャッシュメモリは、1次キャッシュから3次キャッシュまでをCPチップに搭載する。1次キャッシュと2次キャッシュはCPUコアごとのキャッシュ、3次キャッシュは共有キャッシュである。
1次キャッシュの容量は、命令(I)が128KB、データ(D)が128KB。メモリ技術はSRAMである。2次キャッシュの容量は命令(I)が2MB、データ(D)が4MB。メモリ技術はeDRAM(埋め込みDRAM)である。これらはCPUコアごとの容量である。
キャッシュを含めたCPUコアのシリコン面積は28平方mm。z13プロセッサのCPUコアでは42平方mmだったので、約3分の2に小さくなっている。
3次キャッシュの容量は128MB。メモリ技術はeDRAMである。ただし、3次キャッシュのディレクトリにはSRAM技術を採用している。
そしてSCチップの4次キャッシュは、容量が672MB(5.25Gbit)とかなり大きい。メモリ技術はeDRAMである。
これらのキャッシュメモリは、いずれも前世代のz13プロセッサに比べて拡大した。とくに増加したのは3次キャッシュで、z13プロセッサでは64MBだったのに対し、z14プロセッサでは128MBと2倍に増えている。
キャッシュのメモリ技術は、z13プロセッサでも1次キャッシュがSRAM、2次~4次キャッシュがeDRAMで、基本的には同じである。
z14システムのメインメモリ(主記憶)は、CPUノード(ドロワー)当たりで最大8TBとかなり大きい。
CPチップがメモリインターフェイスを備えており、メインメモリのチャンネルを介してつながる。ドロワー当たりで、最大25枚のDIMMボードを装着可能である。
システム構成としては、最大で4個のドロワーを搭載できるので、メインメモリの最大容量は32TBとなる。
プロセッサ間とCPUノード間は高速リンクで接続
CPチップ間とCPチップ-SCチップ間の相互接続には、X-Busと呼ぶ高速リンクを使う。シングルエンド方式で、レーン当たり5.2Gbit/sの最大伝送速度を備える。リンク当たりの最大伝送速度は0.8Tbit/sに達する。
SCチップ間(すなわちドロワー間)の相互接続には、A-Busと呼ぶ高速リンクを使う。差動方式でレーン当たり7.8Gbit/sの最大伝送速度を備える。リンク当たりの最大伝送速度は0.67Tbit/sである。
分岐予測精度の向上や、誤り訂正の強化などを盛り込む
回路技術の工夫としては、暗号化のスループットを6倍~7倍に高めたほか、分岐ターゲットバッファを拡大するとともに、ニューラルネットワークによる学習を導入して、分岐予測の精度を向上させた。倍精度浮動小数点演算ユニットの帯域幅を2倍に拡大したほか、3次キャッシュに誤り訂正(ECC)を導入して信頼性を高めた。
これらの工夫により、スレッド当たりの処理性能を10%向上させるともに、マルチスレッディングの処理性能を25%向上させたとする。
また、すでに述べたように、発表当日の夕方に開催されたデモンストレーションセッション(ミニ展示会)で、IBM z14システムの実部品を使ったスケルトンモデル(パネルを透明にして内部を観察できるようにしたモデル)が展示された。
スケルトンモデルの説明プレートによると、ドロワー(CPUノード)当たりのCPUコア数は、41個(CPチップが5個の場合)あるいは49個(CPUチップが6個の場合)である。物理的にはCPチップ当たりのCPUコアは10個だが、論理的には8個あるいは9個であることが分かる。
つまり、10個のCPUコアの中で、1個あるいは2個は予備のコアだということだ。最近の大規模チップでは珍しくない手法である。
これを信頼性が高いと見るか、あるいは歩留まり向上のために冗長度を持たせていると見るか。それとも両方か。興味深い点ではある。