イベントレポート

IBM、3年ぶりのメインフレーム用新CPU「z14」をISSCCで発表

z14プロセッサの製造技術。製造担当企業はGLOBALFOUNDRIESである
※ISSCC 2018の講演スライドから

 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モジュールを介して相互に接続する。

z14システムのCPUノード(ドロワー)。最大で3個のCPチップがクラスタを構成し、2個のクラスタと1個のSCチップでドロワーを構成する。
SCチップは同じドロワー内のすべてのCPチップとつながり、別のドロワーのSCチップとデータをやり取りする
※ISSCC 2018の講演スライドから
ISSCC 2018のデモンストレーションセッション(ミニ展示会)には、IBM z14システムの実部品を使ったスケルトンモデル(パネルを透明にして内部を観察できるようにしたモデル)が展示された。

写真はシステムのCPUノード部分。
手前から奥に並んでいるのがCPモジュール群で、水冷部品(黒い配管と銅のヒートシンク)が接続されている。CPモジュール群の中央左手にSCモジュールが見える。SCモジュールは超多層フィンによって強制空冷される(放熱フィンはカットされて断面が見えている)。
CPモジュール群の右手には、メインメモリ(主記憶)のボード群が垂直にならべられている

※2018年2月12日に筆者撮影

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%しか増えていない。微細化の威力が絶大であることが分かる。

CPチップの概要(左)とシリコンダイのレイアウト(右)
※ISSCC 2018の講演スライドから

SCシリコンダイは100億個に迫るトランジスタを搭載

 続いて、SCチップ(シリコンダイ)の概要である。SCチップは、4次キャッシュのメモリと、CPチップと接続するバス(X-Bus)インターフェイス回路、SCチップ同士をつなぐバス(A-Bus)インターフェイス回路などで構成される。動作周波数は2.6GHzで、CPチップの2分の1である。

 SCチップのトランジスタ数は、97億個と極めて多い。シリコンダイ面積は696平方mmで、CPシリコンダイとほぼ同じだ。

SCチップの概要(左)とシリコンダイのレイアウト(右)
※ISSCC 2018の講演スライドから

微細化によってキャッシュの容量を大幅に拡大

 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で、基本的には同じである。

キャッシュメモリの階層構成。左が既存のz13プロセッサ。右が今回のz14プロセッサ
※ISSCC 2018の講演スライドから

 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である。

X-Busリンクの概要(左)とCPチップのレイアウト(右)。シリコンダイの左右両端にX-Busの送受信回路を配置した。リンクの本数は3本
※ISSCC 2018の講演スライドから
X-Busリンクの概要(左)とSCチップのレイアウト(右)。シリコンダイの上下両端にX-Busの送受信回路を配置した。リンクの本数は6本
※ISSCC 2018の講演スライドから
A-Busリンクの概要(左)とSCチップのレイアウト(右)。シリコンダイの左右両端にA-Busの送受信回路を配置した。リンクの本数は3本
※ISSCC 2018の講演スライドから

分岐予測精度の向上や、誤り訂正の強化などを盛り込む

 回路技術の工夫としては、暗号化のスループットを6倍~7倍に高めたほか、分岐ターゲットバッファを拡大するとともに、ニューラルネットワークによる学習を導入して、分岐予測の精度を向上させた。倍精度浮動小数点演算ユニットの帯域幅を2倍に拡大したほか、3次キャッシュに誤り訂正(ECC)を導入して信頼性を高めた。

 これらの工夫により、スレッド当たりの処理性能を10%向上させるともに、マルチスレッディングの処理性能を25%向上させたとする。

 また、すでに述べたように、発表当日の夕方に開催されたデモンストレーションセッション(ミニ展示会)で、IBM z14システムの実部品を使ったスケルトンモデル(パネルを透明にして内部を観察できるようにしたモデル)が展示された。

IBM z14システムの外観(スケルトンモデル)。右側の筐体はCPUノードとメインメモリを観察できるように、入出力ボードを取り外してある
※2018年2月12日に筆者撮影

 スケルトンモデルの説明プレートによると、ドロワー(CPUノード)当たりのCPUコア数は、41個(CPチップが5個の場合)あるいは49個(CPUチップが6個の場合)である。物理的にはCPチップ当たりのCPUコアは10個だが、論理的には8個あるいは9個であることが分かる。

 つまり、10個のCPUコアの中で、1個あるいは2個は予備のコアだということだ。最近の大規模チップでは珍しくない手法である。

 これを信頼性が高いと見るか、あるいは歩留まり向上のために冗長度を持たせていると見るか。それとも両方か。興味深い点ではある。