Advanced Vector Extensions

Advanced Vector Extensions (AVX) ist eine Erweiterung des Befehlssatzes für Mikroprozessoren der x86-Architektur, die von Intel im März 2008 vorgeschlagen wurde. AVX ist eine Erweiterung der älteren SIMD-Befehlssatzerweiterung Streaming SIMD Extensions 4, die ebenfalls von Intel initiiert wurde. Die Breite der Register und Datenwörter erhöht sich auf 256 Bit. Die folgende Tabelle zeigt die Weiterentwicklung der SIMD-Instruktionen in der x86-Architektur:

Name der
Erweiterung
Daten-
breite
RegisteranzahlAdressierungs-
schema
vorhanden in CPUs von
IntelAMD
MMX / 3DNow!006408 X(MM0…07)MMX ab Pentium (P55C)K6 (MMX) / K6-2 „Chomper“ (3DNow!)
SSE (1…4.*)01288/16 (XMM0…15)REXSSE4: Core 2, NehalemK7 „Palomino“, K8, K8 „Venice“
AVX025616 (YMM0…15)VEXSandy Bridge, Ivy BridgeBulldozer, Piledriver, Steamroller, Jaguar
AVX2Haswell, Broadwell, Skylake-i, Kaby Lake-iExcavator, Zen, Zen 2, Zen 3
AVX-512051232 (ZMM0…31)EVEXSkylake-X, Xeon Phi x200, Xeon Skylake-Scalable Processors, Tiger Lake
0256/0512Zen 4
AVX10.10128/0256/051232 (ZMM0…31)EVEX / REX2
AVX10.20128/0256/051232 (ZMM0…31)EVEX / REX2

AVX2 erweitert den Befehlssatz von AVX um weitere 256-Bit-Befehle und wurde erstmals von Prozessoren der Haswell-Architektur (Intel) und Excavator-Architektur (AMD) unterstützt.

AVX-512 wurde 2013 veröffentlicht und erweiterte die AVX-Befehle von 256 auf 512 Bit. Es wurde erstmals von Prozessoren der Knights-Landing-Architektur (Intel) unterstützt.

Als Intel APX für Advanced Performance Extensions überarbeitet Intel die bestehenden AVX-Befehlssatzerweiterungen, sodass auch bestehende Software durch Neukompilierung von den doppelt so vielen Registern (32 bei AVX-512 statt 16 bei SSE/AVX/AVX2) profitieren sollen. Der Name der auf AVX-512 aufbauenden Weiterentwicklung wird in AVX10 geändert, die vielen unterschiedlichen Erweiterungen für Server und Client vereinheitlicht und das Featureset dazu jeweils eingefroren. AVX10.1 soll bei den kommenden Intel Xeon „Scalable Processors“ der 5. Generation „Granite Rapids“ eingeführt werden. Spätere E- und P-Kerne sollen dann AVX10.2 erhalten. Mit AVX10 wird auch eine optionale variable Vektorlänge von 128, 256 und 512 Bit möglich; Zen-4-Prozessoren von AMD, die erstmals AVX-512 implementieren, unterstützen bereits zusätzlich eine Vektorlänge von 256 Bits.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.