実はM1 Maxには同時発表されたSoC下位モデルの「M1 Pro」にはない特徴が持たされていた。一つは2つのダイを接続するための仕掛け、もう一つは2つのダイを接続したとき、まるで単独のSoCのように振る舞うための仕掛けだ。
Appleはこの2つのダイを接続する技術を「UltraFusion」と呼び、2つのダイを接続するための「パッケージングアーキテクチャ」と説明している。パッケージングアーキテクチャとは、シリコン片を実際に基板に実装できる形に封入する技術のことだ。
2021年の発表時に公開されたM1 Maxの写真には映っていなかったが、新たに公開された写真では別のM1 Maxと接続するためボンディングパッドのような部分が存在している。ここの部分は2つのダイを貫通配線と微細なボンディングで接続するためのものだ。AppleがUltraFusionと呼んでいるのは、2つのシリコン片をつなぐ内部接続技術と、それを1つのチップに仕上げるパッケージ技術の総称と考えればいいだろう。
既存のPC向けデュアルプロセッサ構成とは、マザーボード上の配線で2基のプロセッサを接続するものだ。しかし、この構成ではCPU間の通信帯域幅の制限やそれによる遅延の発生が発生するため、単純に2倍の性能にはならない。また、消費電力と発熱も増大する。
一方、AppleのM1 Ultraは内部的にUltraFusionによってM1 Maxのシリコンダイを2個接続することで、性能を向上させながら、消費電力の増大も抑えた。
UltraFusionの帯域幅は最大毎秒2.5TBであり、従来のマルチチップインターコネクト技術の4倍以上だという。また、デュアルプロセッサ構成ながらもソフトウェアからは1つのチップと認識されるため、ソフトウェア開発者はマルチプロセッサ構成の互換性を気にしないでいい。
しかし、M1 Ultraがパッケージ内部で2つのダイを接続して1つのチップにしただけでは、1つのSoCとしては動かない。単に異なる2つのSoCが個別に動くことになる。そうならないのは、M1 Maxが2つのダイをつなげたときに特別なモードで動作するためだ。
例えば、1つのM1 Maxには10コアのCPUが内蔵されているが、2つを接続する場合は20コアに増加する。プログラムにある命令をどのコアで処理するのかは、スケジューラーというモジュールで振り分けられるが、M1 Maxのスケジューラーは20コアのCPUがあることを想定し、命令バッファの量なども最適化されている。
同じことは、同様にコア数が2倍となるニューラルネットワーク処理を加速させるNeural EngineやGPUなどにもいえることだ。リソースの増加に対応するスケジューラーが最初から盛り込まれている。コア数の増加によって必要となるメモリ帯域もまた、メモリチャネル数が2倍になることで倍増する。
「2個つないで2倍」になっている理由は、これまで非公開だった秘密の機能があったからということだ。
Copyright © ITmedia, Inc. All Rights Reserved.