後藤弘茂のWeekly海外ニュース

IBMがPower9を、MediaTekが10nm版モバイルSoCをISSCCで発表

IBMがNVIDIAとのGPUコンピューティングを可能にするPower9の概要を発表

 米サンフランシスコで開催されている半導体国際会議ISSCC(IEEE International Solid-State Circuits Conference)では、プロセッサメーカーが相次いで新チップの概要を明らかにした。

 AMDが新CPUコア「Zen」の実装を明らかにしたほか、IntelはHBM2広帯域メモリの接続を視野に入れた2.5Dパッケージソリューション「Embedded Multi-die Interconnect Bridge (EMIB)」の実装例を発表。そして、IBMは、NVIDIA GPUと直結できるCPU「Power9」の、実装の概要を明らかにした。

 Power9は、高性能CPUの頂点であるPowerファミリの最新CPU。14nm FinFETプロセスで製造され、トランジスタ数は80億。120MBと膨大なeDRAMキャッシュを搭載する。Power9では、CPUコアはスケーラブルなモジューラ設計となっており、4スレッドSMT(Simultaneous Multithreading)の「SMT4 Core」と8スレッドSMTの「SMT8 Core」の2種類のコンフィギュレーションが提供される。

 今回は、Power9のCPUコアのコンフィギュレーションが、モジュール単位で簡単に実現されていることが明らかにされた。スケールアウトのSMT4の場合は24コア/ダイで、スケールアップのSMT8の場合は12コア。メモリインターフェイスも2種類のコンフィギュレーションがあり、DDR4を8チャネルダイレクトアタッチとメモリバッファソリューションになる。

スケールアウトとスケールアップの2タイプのコンフィギュレーションがある
cap:スケールアウトとスケールアップの2種類のCPUコアの違い

 Power9の製造プロセスは14nm FinFET SOI(silicon-on-insulator)で、17層と配線層数の多いプロセスを使う。ほかのほとんどのチップがバルクのFinFETプロセスを使うなら、IBMはSOIベースのFinFETを採用した。IBMは、Power9の製造がGLOBALFOUNDRIESであることを明かしているため、GLOBALFOUNDRIESが14nm FinFET SOIを持っていることになる。

NVLink 2.0をサポートしNVIDIA GPUを直接続

 IBMは22nmでは、18T(18トラック)の巨大なスタンダードセルライブラリを使っていたが、FinFETの14nmプロセスなったことで、10Tに縮小できたという。IBMのスタンダードセルは大きいことで知られているが、14nmでは他社との差が縮まった。

 電圧制御では、電圧レギュレータの統合により、細粒度の電圧制御を行なう。Power9スケールアウト版ではCPUコアは4コア毎に、インターナルボルテージレギュレータ(iVRM)による電圧制御を行なう。CPUコアへの電力供給をオフにするパワーゲイトは各コア毎に行なう。

層数の多いプロセス
セルライブラリの違い
電圧は4コア毎に制御

 IBMはPower 8でコプロセッサを接続するポートを実装した。Power9では発展させた25Gbps転送レートの「25G」を48レーン備える。25Gは、OpenCAPI(Coherent Accelerator Processor Interface)3.0として、ASICやFPGAなどのコヒーレントアクセラレータ接続に使う。

 また、同じPHYで、NVIDIA GPUと接続する、片方向コヒーレンシのNVLink 2.0もサポートする。NVLink 2.0によって、IBM Power9とNVIDIA GPUのGPUコンピューティングシステムが可能となる。Power9とNVIDIA GPUが密接に連携したシステムが構築可能で、NVIDIAは、IBMというスーパーコンピュータの世界では強力なパートナーを得たことになる。

Power9における、アクセラレータとGPU接続
Power9のI/O
25Gのデータアイ

MediaTekは10nmプロセスの10コアモバイルSoCを発表

 MediaTekは、10nmプロセスのモバイルSoC(System on a Chip)の概要を明らかにした。SoCアーキテクチャ上の最大の特徴は、3種類の異なるCPUコアを搭載するヘテロジニアスマルチコア構成「トライギア(Tri-gear)」になっていること。MediaTekは、20nmプロセスの「Helio X20」SoCでも、3段階のCPUコア構成を取ったが、10nmプロセス版ではそれを発展させた。

 高性能CPUコア「Cortex-A73」が2コア、性能と電力のバランスCPUコア「Cortex-A53」が4コア、低消費電力CPUコア「Cortex-A35」が4コアのデカコア(Deca-Core)構成。高性能のCortex-A73は、アウトオブオーダ実行の2命令デコードコアで2.8GHz動作。バランスのCortex-A53は、インオーダ実行で2命令デコードコアで2.5GHz動作。低電力のCortex-A35は、インオーダ実行で制約された2命令デコードコアで2GHz動作。

MediaTekの10nmモバイルSoC(System on a Chip)の3つのCPUクラスタ
負荷に応じて3段階CPUコアを切り替えることで、最適な電力効率を得る

 Cortex-A72のHP(High-Performanc)クラスタに対して、Cortex-A53のLP(Low-Power)クラスタは40%電力効率が高く、Cortex-A35のULP(Ultra-Low Power)クラスタはさらに44%電力効率が高いという。

 前世代のHelio X20では、Cortex-A72を2コア、Cortex-A53を4コア、低電力実装のCortex-A53を4コアの構成だった。今回の10nm版では、ULPに極めて電力効率が高いCortex-A35を採用したことで、3段階のクラスタでの省電力効果がさらに高まった。

 MediaTekのアプローチは、ARMのヘテロジニアスマルチコアのbig.LITTLEアーキテクチャの拡張だ。big.LITTLEのタスクスケジューリングを拡張し、3種類のクラスタ間で、アプリケーション負荷に応じて切り替える。CPUクラスタ間のコヒーレントバスは、MediaTekの「MediaTek Coherent System InterConnect」を採用する。

ARMのCortex-Aファミリの構成
PDF版はこちら

マイクロアーキテクチャにも改良を加えたMediaTek

 MediaTekはCPUコア自体のマイクロアーキテクチャにも独自の拡張を加えている。アウトオブオーダ実行CPUでは、CPU命令はデコーダでいったん内部命令に変換されて実行される。内部命令は必ずしもCPU命令と1対1に対応しないため、内部命令はプログラムカウンタ(PC)でトラックすることができない。そのため、最後にコミットした命令がどれかを特定することが難しい。これがデバッグを難しくしているという。

 そこで、MediaTekはデコード後の内部命令をトラックできる「Circular Buffer」SRAMを加えた。プログラムカウンタと内部命令を紐付けてトラック可能とする。これによって、デバッグ時に正確に最後にコミットした命令を識別する「Precise Last Program Counter (PLPC)」が可能となる。

MediaTekがCPUコアに加えたPLPCデバッグ機構

 このほか、MediaTekは消費電力をリアルタイムに正確につかむための電圧モニタリング機構を強化した。現在のCPUは動作周波数と電圧をステップで切り替える「DVFS(Dynamic Voltage and Frequency Scaling)」のために電圧の計測が難しい。スイッチキャパシタDACを2個にすることで、より正確に測定できるようにした。

電圧モニタリング機構を大きく改良した
ドループ対策には1nsで対応する電流注入機構を備えた

 電圧の急激な低下であるドループは、CPUやGPUの動作周波数を制約し、余計な電力消費を増やす。そこで、MediaTekのHPクラスタでは電圧センサーでドループを検知すると、パワースイッチアレイを経由して1.8V電圧の電流を注入。ドループで電圧が落ち切る前に電圧を引き上げる。

 また、10nmプロセスでの問題の1つ「Mid-End of Line (MEOL)」の抵抗増加を軽減するために、ソースとソースのコネクションを増やす新しいスタンダードセル設計も導入した。抵抗の増加によるトランジスタ性能の低下を軽減し、クリティカルパスを解消する。

Mid-End of Line (MEOL)の抵抗増加に対応した新しいスタンダードセルを追加