ARMv9, Registersatz und Anweisungen für Nicht-x86-CPUs

Vor ein paar Wochen, ARM führte die neunte Generation des Satzes von Registern und Befehlen ein, die in Prozessoren mit der gleichnamigen ISA verwendet werden. ARMv9 ist der Name, auf den die neue Version dieser ISA getauft wurde, die in zukünftigen SoCs für PostPC-Geräte verwendet wird. Was ist ARMv9 und was ist neu an früheren Versionen, wie werden die zukünftigen ARM-CPUs aussehen?

Ein ISA ist nichts anderes als die Sprache, die von den verschiedenen Prozessoren verstanden wird, und markiert daher, was die Menge von Einsen und Nullen in dem von ihnen ausgeführten Code bedeutet. Die Binärdatei für ein x86 CPU hat beispielsweise nicht die gleiche Bedeutung wie die Binärdatei für eine ARM-CPU.

ARMv9

Der technologische Fortschritt macht es jedoch erforderlich, den ISAs neue Anweisungen hinzuzufügen, die ihnen die Möglichkeit geben, neue Funktionalitäten hinzuzufügen, um ihre Leistung, Sicherheit bei der Datenverarbeitung zu erhöhen oder sich neuen Herausforderungen zu stellen, die an sie gestellt werden.

In diesem Artikel werden wir über die neunte Generation des ISA ARM sprechen, die nach Jahren mit dem Ziel von CPUs und Mikrocontrollern mit niedrigem Verbrauch beschlossen hat, ehrgeiziger zu sein und in den Markt einzutreten, der die höchste Leistung erfordert, den von Rechenzentren und Höchstleistung Computer oder HPC.

Skalierbare Vektorerweiterungen 2

Sve armv9

Der Japaner Fujitsu hat für seinen ARM-Kern eine Reihe proprietärer Erweiterungen namens SVE entwickelt, die für Scalable Vector Extensions steht. Aufgrund des Namens haben Sie vielleicht erraten, dass es sich um eine Reihe von SIMD-Anweisungen handelt. Vergessen wir nicht, dass in CPUs mit ISA ARM seit Jahren die Neon-Befehle verwendet werden. Welches wird durch die SVE2-Anweisungen in ARMv9 ersetzt.

SVE wurde von Fujitsu für seinen Fugaku-Supercomputer entwickelt, das seine A64-FX-Kerne nutzt. Die Absicht? Nutzen Sie die Datenparallelität, die für das wissenschaftliche Rechnen erforderlich ist, das Zahlen mit höherer Genauigkeit verwendet. Dies führt zu viel größeren SIMD-Einheiten und daher zu mehr Bits.

Da das Interesse von ARM darin besteht, ihre Kerne auf den Markt für Hochleistungscomputer und Server zu bringen, haben sie sich entschieden, SVE zu übernehmen und mit Neon zu SVE2 zu verschmelzen. Der größte Vorteil, den SVE zu Neon hinzufügt? Dies sind größenunabhängige Anweisungen, daher ist es nicht erforderlich, eine Version jeder Anweisung für unterschiedliche Größen zu haben, wie dies bei AVX-Anweisungen auf x86 der Fall ist.

Speicherbereiche in ARMv9

Reinos armv9

Ein interessantes Konzept, das ISA ARMv9 zur Gleichung hinzufügt, ist das Konzept der Realms, das darin besteht, einen Teil der Speicheradressierung zu übernehmen und den darin ausgeführten Code nicht auf den Rest des Systems zu beeinflussen, daher ist es total isoliert. Das ist ideal für die Implementierung von virtuellen Maschinen, bei denen ein Betriebssystem gleichzeitig mit einem anderen auf derselben CPU läuft.

Normalerweise haben CPUs unterschiedliche Privilegien, aber mit dem Realms-Konzept, das in ARMv9 hinzugefügt wurde, wird es möglich sein, virtuelle Maschinen einfacher auf einer CPU mit ARM ISA laufen zu lassen, aber die Vorteile davon beschränken sich nicht nur auf virtuelle Maschinen, kann aber auch in speziellen Anwendungen eingesetzt werden.

ARMv9 scheint also eine Erweiterung des ISA zu sein, die besser für Rechenzentren und andere Computertypen geeignet ist, bei denen Virtualisierung und Sicherheit viel wichtiger sind als andere Funktionen. Es überrascht nicht, dass ARM einen Krieg gegen . führt Intel und AMD im Server-CPU-Markt, wo bisher x86-Prozessoren den Markt dominierten.

Speicher-Tagging-Erweiterungen

Speicher-Tagging-Erweiterungen ARM

Sie sind nicht neu für ARMv9, sondern für Version 8.5. Sein Nutzen? Es ist ein Mechanismus, der dafür verantwortlich ist, alle illegalen Speicherzugriffe von Programmen zu verfolgen. Ein illegaler Zugriff ist nichts anderes als ein Zugriff auf eine Speicheradresse, auf die das Programm keine Zugriffsberechtigung hat. Was nützt das? Da es dazu dient, den sogenannten Pufferüberlauf zu vermeiden, ein allgemeines Sicherheitsproblem bei allen Prozessoren, das auftritt, wenn die kopierte Datenmenge die Speicherreserve überschreitet, indem unerwarteter Code in benachbarte Speicheradressen geschrieben wird.

Wenn der Speicherüberlauf erfolgreich ist, wird der ursprüngliche Code durch neuen In-Memory-Code ersetzt, der von der CPU ausgeführt wird, sobald er Speicher erreicht. Daher ist es wichtig, dies zu vermeiden, insbesondere wenn es sich um Rechenzentren handelt, die dazu neigen, Millionen von Benutzern gleichzeitig zu bedienen und in denen ein Pufferüberlauf verwendet werden kann, um kompromittierte Benutzerdaten zu stehlen.

Das MTE ist nicht Teil der ISA selbst, sondern ein in der Northbridge von ARMv9-CPUs implementierter Mechanismus, der alle Speicherzugriffe verfolgt und deren Funktionalität darin besteht, Speicherüberläufe auf transparente Weise zu vermeiden.

ARMv9 nur für Rechenzentren und Server?

Rechenzentrum

Die Neuheiten des ISA ARMv9, die wir in den vorherigen Abschnitten beschrieben haben, haben einen ausgeprägten spezifischen Charakter und haben nichts mit dem Einsatz in den klassischen Geräten zu tun, in denen der ISA ARM üblicherweise zu sehen ist. Von allen ruft es die SVE mächtig auf, denn einer der Gründe, warum man normalerweise keine großen SIMD-Einheiten in CPUs für PostPC-Geräte sieht, ist der enorme Energieverbrauch, den ihr Einsatz mit sich bringt.

Im Moment sind die einzigen zwei von ARM angekündigten Kerne zwei aus der Neoverse-Familie. Zum einen das NeoVerse V1 unter dem Codenamen „Zeus“ und zum anderen das Neoverse N2 unter dem Codenamen „Perseus“. Dies sind keine Kerne, die Sie in einem zukünftigen Smartphone sehen werden, sondern in den Rechenzentren und Servern für High-Performance-Computing von Unternehmen wie Amazon AWS, Oracle, Tencent, Google usw.

ARM hat noch keinen Kernel für PostPC-Geräte wie Smartphones und Tablets angekündigt. Obwohl wir nicht vergessen können, dass das Ziel von ARM darin besteht, x86 in verschiedenen Märkten zu verdrängen, nicht nur auf Servern, sondern auch auf dem PC. Der Kauf von NVIDIA und sein großer Einfluss auf den PC-Videospielmarkt könnte die Einführung von Gaming-PCs mit ARMs und NVIDIA-GPUs mit sich bringen, obwohl es eine Zukunft ist, die viel Unterstützung von den Entwicklern von Videospielen und nicht von NVIDIA-ARM selbst benötigt.