
Wenn es um Prozessoren geht, stößt man häufig auf den Begriff „AVX-Befehle„. In einigen Fällen sind sie für das Funktionieren bestimmter Programme oder Spiele erforderlich, und es kann sogar vorkommen, dass ein Spiel oder ein Programm nicht funktioniert, wenn der Prozessor nicht über sie verfügt. Aber was sind AVX-Befehle und wozu braucht der Prozessor sie? Ist Ihr Prozessor mit ihnen kompatibel? Schauen wir es uns an.
Zunächst einmal sollten Sie wissen, dass ein Prozessor letztendlich aus Transistoren besteht, die in der Lage sind, den einen oder anderen Befehl auszuführen, so dass die Fähigkeiten des Prozessors, oder besser gesagt, was er tun kann, von den Befehlen abhängen, für die sie programmiert wurden. Einige Prozessoren verfügen über einen Satz von Anweisungen, andere über einen anderen, aber im Allgemeinen sind sie recht verbreitet, da sie in jedem Fall weitgehend von der Programmierung der Software abhängen, die sie ausführen, und davon, ob sie sie nutzen oder nicht.
Die Idee hinter AVX ist Teil einer langen Entwicklung von CPU-Instruktionen, die mit MMX und später SSE (Streaming SIMD Extensions) begann. AVX ist also eine logische Weiterentwicklung, um die Rechenleistung moderner CPUs für datenintensive Aufgaben zu optimieren.
Was sind AVX-Anweisungen?
AVX-Instruktionen sind ein Begriff, der für „Advanced Vector Extensions“ steht, auch bekannt als Sandy Bridge New Extensions, da sie von Intel im Jahr 2008 vorgeschlagen und zunächst in Intels Sandy Bridge-Prozessoren implementiert wurden.
Sie bestehen aus einem spezifischen Satz von Anweisungen für Intel- und AMD-Prozessoren, die der x86-Architektur ihrer Prozessoren hinzugefügt wurden, im Falle von Intel ab Sandy Bridge im Jahr 2011 und im Falle von AMD ab Bulldozer, ebenfalls im Jahr 2011. AVX bietet neue Funktionen und neue Anweisungen, die bestimmen, wie der Prozessor mit Daten umgeht.
Von den AVX-Befehlen gibt es Varianten, wie z. B. AVX2, mit dem die meisten Prozessorbefehle auf 256 Bit erweitert und FMA-Operationen (Fused Multiple Accumulation) eingeführt wurden. AVX-512 erweitert die AVX-Unterstützung auf 512 Bits und verwendet eine neue EVEX-Präfixkodierung, die von Intel 2013 vorgeschlagen und 2016 erstmals in Knights Landing-Prozessoren integriert wurde.
Die Erweiterungen AVX-512 wurden nicht nur für die allgemeine Datenverarbeitung entwickelt, sondern speziell für High-Performance-Computing (HPC) und Anwendungen wie Simulationen, Bildverarbeitung und maschinelles Lernen.
Wozu verwenden Prozessoren AVX-Befehlssatz?
Diese Anweisungen dienen dazu, dem Prozessor mitzuteilen, wie er eingehende Daten je nach Art der Daten behandeln soll. Mit anderen Worten: Der Prozessor erhält eine größere Verwaltungskapazität und kann selbst entscheiden, welche Methode am effizientesten ist, um eine bessere Leistung zu erzielen.
Die Bedeutung von AVX geht über allgemeine Aufgaben hinaus. Sie werden in Programmen wie Blender (für 3D-Modellierung), Adobe Premiere (für Videobearbeitung) oder sogar in wissenschaftlichen Programmen wie MATLAB genutzt. Viele der heutigen Algorithmen in der künstlichen Intelligenz, einschließlich Deep Learning-Frameworks wie TensorFlow oder PyTorch, profitieren stark von AVX-Unterstützung.
Verfügt Ihr Prozessor über diese Anweisungen?
Wenn Sie einen relativ alten Prozessor haben (vor Sandy Bridge oder Bulldozer), kann es vorkommen, dass einige Anwendungen oder Spiele nicht funktionieren und Sie nicht wissen, warum. Höchstwahrscheinlich liegt es daran, dass diese Software eine der oben genannten AVX-Anweisungen verwenden muss, um zu funktionieren, und wenn Ihr Prozessor diese nicht hat, wird sie nicht funktionieren.
Ein Beispiel aus der Praxis: Spiele wie Assassin’s Creed Valhalla erfordern AVX-Instruktionen, was bedeutet, dass sie auf Prozessoren ohne AVX-Unterstützung einfach nicht starten.
Dies sind die Prozessoren, die AVX unterstützen:
Intel: Sandy Bridge (2011), Sandy Bridge-E (2011), Ivy Bridge (2012), Ivy Bridge-E (2013), Haswell (2013), Haswell-E (2014), Broadwell (2014), Broadwell-E (2016), Skylake (2015), Kaby Lake (2016-2017), Skylake-X (2017), Coffee Lake (2017), Cannon Lake (2018), Whiskey Lake (2018), Cascade Lake (2018), Ice Lake (2019), Comet Lake (nur Core, 2019), Tiger Lake (2020), Alder Lake (2021).
AMD: Jaguar und neuere Modelle, Puma und neuere Modelle, Bulldozer (2011), Piledriver (2012), Steamroller (2014), Excavator (2015), Zen (2017), Zen+ (2018), Zen 2 (2019), Zen 3.
Wie kann ich feststellen, ob meine CPU AVX-Befehle unterstützt?
Laden Sie HWINFO herunter (es gibt sowohl 32- als auch 64-Bit-Versionen) und achten Sie darauf, dass „AVX“ auf der Registerkarte „System Summary“ grün ist. Es sollte wie folgt aussehen:
Neben HWINFO können Sie Tools wie CPU-Z oder AIDA64 verwenden, die ebenfalls eine detaillierte Analyse der CPU-Funktionen ermöglichen.

AVX-512
Die AVX-512-Befehle sind eine Variante der AVX-Befehle, die in der zehnten Generation der Intel-Prozessoren auftauchten. Ihre Besonderheit besteht darin, dass es sich um SIMD-Befehle mit einer Datenlänge von 512 Bits handelt, was bedeutet, dass sie mit 4 Befehlen zu 128 Bits, 8 Befehlen zu 64 Bits oder 16 Befehlen zu 32 Bits arbeiten können, was dem Prozessor eine unvergleichliche Vielseitigkeit und Parallelität bei der Ausführung von Befehlen bietet.
Es ist wichtig zu beachten, dass AVX-512-Instruktionen zwar eine immense Leistung ermöglichen, aber auch den Stromverbrauch der CPU erhöhen können. Dies ist besonders relevant für Server und Rechenzentren, die auf Effizienz optimiert sind.
Sie werden insbesondere zur Beschleunigung bestimmter Algorithmen der künstlichen Intelligenz eingesetzt, sind aber nicht so effizient wie ein dedizierter Prozessor. In jedem Fall werden jetzt, da Intel sie standardmäßig in seine Prozessoren einbaut, viele Softwareentwickler damit beginnen, ihre Verwendung zu implementieren, um das Beste aus ihnen herauszuholen, insbesondere in dieser Ära, in der wir leben und in der künstliche Intelligenz und maschinelles Lernen so wichtig werden.
Da Technologien wie Quantencomputing und spezialisierte KI-Beschleuniger aufkommen, wird AVX-512 möglicherweise in spezifischen Bereichen dominieren, während andere Instruktionen für allgemeine Aufgaben optimiert werden.