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.[1] 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
Registeranzahl Adressierungs-
schema
vorhanden in CPUs von
Intel AMD
MMX / 3DNow! 0064 08 X(MM0…07) MMX ab Pentium (P55C) K6 (MMX) / K6-2 „Chomper“ (3DNow!)
SSE (1…4.*) 0128 8/16 (XMM0…15) REX SSE4: Core 2, Nehalem K7 „Palomino“, K8, K8 „Venice“
AVX 0256 16 (YMM0…15) VEX Sandy Bridge, Ivy Bridge Bulldozer, Piledriver, Steamroller, Jaguar
AVX2 Haswell, Broadwell, Skylake-i, Kaby Lake-i Excavator, Zen, Zen 2, Zen 3
AVX-512 0512 32 (ZMM0…31) EVEX Skylake-X, Xeon Phi x200, Xeon Skylake-Scalable Processors, Tiger Lake
0256/0512 Zen 4, Zen 5
AVX10.1 0128/0256/0512 32 (ZMM0…31) EVEX / REX2
AVX10.2 0128/0256/0512 32 (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.[2] 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.[3]

  1. Thomas Hübner: SSE-Nachfolger heißt AVX und ist 256 Bit breit. ComputerBase, 17. März 2008, abgerufen am 29. März 2018.
  2. James Reinders: AVX-512 Instructions. Intel, 23. Juli 2013, abgerufen am 15. Dezember 2022 (englisch).
  3. Carsten Spille: Intel APX: Effizienter und schneller mit neuer x86-Befehlssatzerweiterung AVX10. In: Heise online. 25. Juli 2023. Abgerufen am 30. Juli 2023.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by razib.in