Armは本日、データセンターおよびサーバーグレードのプロセッサであるNeoverseファミリに、さらに2つのCPUコアを追加しました。V1は要求の厳しいワークロードとベクトル計算を目的とし、N2はより軽量なスケールアウトシステム向けです。
これらのコアの機能概要をご紹介します。ライセンスを取得し、適切なシステムオンチップに組み込むことができます。今週は姉妹サイト「The Next Platform」で、V1とN2に関する詳細な分析と解説を掲載しますので、ぜひご覧ください。
V1
Zeusと呼ばれるこの64ビットCPUコアは、2019年に登場したNeoverse N1と比較して、シングルスレッド性能が50%向上していると言われています。これは、同じプロセスノードとクロック周波数でV1とN1を比較した場合の数値です。Armは、V1が同社が提供するCPUコアの中で最高性能だと見ています。
英国のデジタル大臣オリバー・ダウデン氏、アームとエヌビディアの合併案に関する国家安全保障調査を開始
続きを読む
V1は、機械学習のトレーニング、スーパーコンピュータ、シングルスレッド性能が重要となるクラウドアプリケーション、その他同様の高負荷タスクに使用されるシステムの7nm~5nmプロセッサに適していると言われています。例えば、欧州のエクサスケール・スーパーコンピュータに搭載される予定のSiPearlのTSMC製6nm Rheaチップは、72個のV1コアとHBM2EおよびDDR5メモリインターフェースを搭載し、2022年に発売される予定です。
V1の内部構造は、8ビットフェッチユニット、5~8ビットデコード&リネームステージ、そして15ビット命令発行ステージを備えており、これらは2つの256ビットSVEユニット、4つのNEONエンジン、そしてALU、ロード&ストアユニット、分岐ユニットといった通常のブロック群に送られます。Armによると、V1はN1と比較して、命令フットプリントの大きいソフトウェアの処理に最適化されており、先行命令キャッシュのプリフェッチの高速化や分岐ターゲットバッファの大容量化など、分岐予測機能が向上しています。その結果、コアの予測ミスが減少し、フロントエンドのストールも減少するはずです。
このコアには、レベル0のデコードされた命令キャッシュとも言えるマクロ命令キャッシュも搭載されており、1サイクルあたり8命令をディスパッチでき、命令を融合するオプションも追加されています。アウトオブオーダー実行の順序変更バッファサイズはN1から倍増し、スーパースカラ整数実行の帯域幅も向上しました。これにより、V1は常に実行可能なコードを準備しておくことができ、整数処理性能が向上します。
同様に、V1 のバックエンドは帯域幅が拡大し、N1 の 2 倍の未処理の外部メモリ トランザクションを処理でき、MMU も大きくなりました。
ArmのV1パイプライン図…クリックすると拡大します
SVEはArmのScalable Vector Extension(技術紹介)です。基本的に、プロセッサコアが複数のデータ配列を同時に処理することを可能にするもので、人工知能やスーパーコンピュータアプリケーションなどに有用です。そのため、V1はbfloat16に加えてSVEもサポートしており、このコアはArmが独自に実装した初のSVEと言われています。
SVEの利点は、この拡張機能と互換性のあるコードは、サポートされる最大ベクトル長に関わらず、SVE対応プロセッサであればどれでも実行できることです。ソフトウェアは特定のSVE実装とそれがサポートするベクトル長をターゲットにするのではなく、一度ビルドするだけで済みます。
V1はプロセッサダイ上にメッシュ状に配置されるように設計されており、アクセラレータやRAMおよびPCIe周辺機器へのインターフェースも配置でき、CPUコアとそのキャッシュをこれらのインターフェースに接続できます。具体的には、V1とN2はArmのCMN-700インターコネクトメッシュを使用できます。これは、ダイあたり最大256コア、システムあたり最大512コア、ダイあたり最大512MBのシステムキャッシュ、ダイあたり最大40個のメモリデバイスポート(DRAMおよびHBMインターフェースなど)、ダイあたり最大32個のCCIXポートをサポートします。このメッシュは、異機種コンピューティングコアを搭載したダイ、コンピューティングコアとカスタムアクセラレーションコアを混在させたダイ、IOハブダイなど、マルチダイチップにも対応できます。
V1 には、必要に応じて機能を制限して、チップをオペレーターの希望する電力範囲内に維持するための電力管理機能も追加されました。
N1と比較すると、V1はポインタ認証チェック、ネストされた仮想化、複素数などを含むArmv8.3、SVEなどの機能を導入するArmv8.4、Spectreスタイルのデータ盗難攻撃を阻止するための永続メモリと投機バリアのサポートを提供するArmv8.5、Bfloat16およびその他のビットとバイトを導入するArmv8.6を実装しています。
V1には、メモリパーティショニング&モニタリング(MPAM)と呼ばれる機能も搭載されており、共有システムにおけるRAM使用量を制御できます。仮想マシンにパーティションを割り当て、占有可能なキャッシュ容量と利用可能なメモリ帯域幅を定義できます。例えば、優先度の低いアプリケーションにはキャッシュと利用可能なRAM帯域幅を制限し、優先度の高いソフトウェアには最小限のRAM帯域幅を割り当てるといったことが可能です。
ArmによるV1とN1の新機能の概要
ArmのV1に関する資料(上記参照)で特に注目したのは、緩和メモリ一貫性モデルに関する追加命令です。ArmのV1に関する詳細情報は、こちらから入手できます。なお、クロック速度やキャッシュサイズなどは、コアライセンス契約者が設定できることにご留意ください。
N2
ご想像のとおり、これもArmのN1の後継機です。V1と同様に前述のメッシュアーキテクチャを採用し、クラウド、ネットワークエッジ、スケールアウトシステム向けの64ビットCPUコアです。N2は、マイクロアーキテクチャの改良により、クロックサイクルあたりの命令処理性能がN1よりも40%向上していると言われています。N2はArm初のArmv9プロセッサコアでもあり、SVE2をサポートしています。実際、SVE2を実装した最初のコアと言われています。
Armによると、N2は分岐予測、データプリフェッチ、その他のフロントエンドコンポーネントの点でV1と非常に類似しています。また、マクロオペレーションキャッシュと追加の電力管理制御も備えています。
Arm の N2 に関する詳しい情報は、こちらをご覧ください。®