ARMv9、レジスタセットおよび非x86CPU用の命令

数週間前、 ARM 同じ名前のISAを持つプロセッサで使用されるレジスタと命令のセットの第9世代を導入しました。 ARMv9は、このISAの新しいバージョンがバプテスマを受けた名前であり、PostPCデバイス用の将来のSoCで使用されます。 ARMvXNUMXとは何ですか?以前のバージョンの新機能は何ですか?将来のARM CPUはどのようになりますか?

ISAは、さまざまなプロセッサによって理解される言語にすぎないため、実行するコードで86とXNUMXのセットが何を意味するかを示します。 xXNUMXのバイナリ CPU たとえば、ARMCPUのバイナリと同じ意味はありません。

ARMv9

ただし、テクノロジーの進歩により、ISAに新しい命令を追加する必要があります。これにより、ISAに新しい機能を追加して、データ処理時のパフォーマンスやセキュリティを向上させたり、ISAに提示される新しい課題に直面したりすることができます。

この記事では、ISA ARMの第XNUMX世代について説明します。これは、低消費のCPUとマイクロコントローラーを何年も目指した後、より野心的で、最高のパフォーマンス、データセンターと高性能を必要とする市場に参入することを決定しました。コンピューティングまたはHPC。

スケーラブルなベクトル拡張2

SVE ARMv9

日本の富士通は、ARMコア用に、Scalable VectorExtensionsの略であるSVEと呼ばれる一連の独自の拡張機能を作成しました。 その名前から、私たちが一連のSIMD命令について話していることを推測したかもしれません。 ISA ARMを搭載したCPUでは、何年もの間ネオン命令が使用されてきたことを忘れないでください。 これは、ARMv2のSVE9命令に置き換えられます。

SVEは、富士通が富岳スーパーコンピューター用に作成したものです。 A64-FXコアを利用しています。 意図? より高精度の数値を使用する科学計算に必要なデータの並列処理を利用します。 これは、はるかに大きなSIMDユニット、したがってより多くのビットに変換されます。

ARMの関心は、コアをハイパフォーマンスコンピューティング市場とサーバーに導入することであるため、SVEを採用し、それをNeonとマージしてSVE2を作成することにしました。 SVEがネオンに追加する最大の利点は? これらはサイズに依存しない命令であるため、x86のAVX命令の場合のように、異なるサイズの各命令のバージョンを用意する必要はありません。

ARMv9のメモリレルム

レイノス ARMv9

ISA ARMv9が方程式に追加する興味深い概念は、レルムの概念です。これは、メモリアドレス指定に参加し、そこで実行されるコードがシステムの他の部分に影響を与えないようにすることで構成されます。完全に分離されました。 これは、XNUMXつのオペレーティングシステムが同じCPU上で別のオペレーティングシステムと同時に実行される仮想マシンの実装に最適です。

通常、CPUにはさまざまなレベルの特権がありますが、ARMv9で追加されたレルムの概念により、ARM ISAを搭載したCPUでより簡単に実行できる仮想マシンを実行できるようになりますが、この利点は仮想マシンだけにとどまりません。ただし、特定のアプリケーションで使用することもできます。

したがって、ARMv9は、仮想化とセキュリティが他の機能よりもはるかに重要であるデータセンターや他のタイプのコンピューター向けに準備されたISAの拡張機能のようです。 当然のことながら、ARMは インテル & AMD これまでx86プロセッサが市場を支配していたサーバーCPU市場で。

メモリタグ拡張

メモリタグ付け拡張機能ARM

これらはARMv9の新機能ではなく、バージョン8.5の新機能です。 その有用性? これは、プログラムによって行われたすべての不正なメモリアクセスを追跡することを担当するメカニズムです。 不正アクセスとは、プログラムがアクセスする権限を持たないメモリアドレスへのアクセスにすぎません。 これの用途は何ですか? いわゆるバッファオーバーフローを回避するのに役立つため、コピーされたデータの量がメモリリザーブを超え、隣接するメモリアドレスに予期しないコードを書き込むときに発生する、すべてのプロセッサに共通のセキュリティ問題。

メモリオーバーフローが成功すると、元のコードは新しいメモリ内コードに置き換えられ、メモリに到達するとすぐにCPUによって実行されます。 したがって、特に、同時に数百万のユーザーにサービスを提供する傾向があり、バッファオーバーフローを使用して侵害されたユーザーデータを盗むことができるデータセンターについて話している場合は、これを回避することが重要です。

MTEはISA自体の一部ではありませんが、ARMv9 CPUのノースブリッジに実装されたメカニズムであり、すべてのメモリアクセスを追跡し、その機能は透過的な方法でメモリオーバーフローを回避することです。

ARMv9はデータセンターとサーバー専用ですか?

データセンター

前のセクションで説明したISAARMv9の目新しさは、特徴的な特徴があり、ISAARMが通常見られる従来のデバイスでの使用とは関係ありません。 PostPCデバイスのCPUに大きなSIMDユニットが通常見られない理由のXNUMXつは、それらの使用が想定する膨大なエネルギー消費であるため、それらすべての中で、SVEを強力に呼び出します。

現時点では、ARMによって発表されたコアはNeoverseファミリーの1つだけです。 一方では、コードネーム「Zeus」のNeoVerse V2であり、他方では、コードネーム「Perseus」のNeoverseNXNUMXです。 これらは、将来のスマートフォンで見られるコアではなく、Amazon AWS、Oracle、Tencent、Googleなどの企業のハイパフォーマンスコンピューティング用のデータセンターとサーバーにあります。

ARMは、スマートフォンやタブレットなどのPostPCデバイス用のカーネルをまだ発表していません。 ARMの目標は、サーバーだけでなくPCでも、さまざまな市場でx86を置き換えることであることを忘れることはできません。 による購入 NVIDIA PCビデオゲーム市場への大きな影響は、ARMとNVIDIA GPUを搭載したゲーミングPCの登場をもたらす可能性がありますが、NVIDIA-ARM自体ではなく、ビデオゲームの開発者からの多くのサポートが必要になる未来です。