Advanced Vector Extensions
Wygląd
AVX (Advanced Vector Extensions) - kolejne rozszerzenie zestawu instrukcji SSE opublikowane w marcu 2008 przez firmę Intel. Pierwsze implementacje sprzętowe są zapowiadane na 2010 rok.
Rozszerzenia:
- W AVX wprowadzono 256-bitowe rejestry - 2 razy większe niż wykorzystywane dotychczas w SSE. Nowych rejestrów jest 16 i w asemblerze noszą nazwy YMM0...YMM15; istniejące rejestry SSE (XMM0...XMM7) zostały zamapowane na młodsze 128 bitów rejestrów YMM0...YMM15
- Część rozkazów SSE, głównie tych działających na wektorach liczb zmiennoprzecinkowych, może wykonywać działania na rejestrach YMM.
- Dodano kilka rozkazów działających wyłącznie na rejestrach YMM.
- Rozszerzone kodowanie rozkazów, dzięki którym możliwa stało się wykonywanie niektórych rozkazów SSE w wariancie 3-argumentowym. Dotychczas wszystkie rozkazy były 2-argumentowe z czego jeden był docelowy (nadpisywany) i często zachodziła konieczność jego zapisania/przepisania do innego rejestru czy pamięci, jeśli musiał zostać wykorzystany w dalszej części obliczeń - w wariancie 3-argumentowym można wprost wskazać docelowy rejestr.
- Dodane specjalizowane instrukcje wspomagające szyfrowanie AES.
- Dodane 4-argumentowe rozkazy akumulujące wyniki mnożenie wektorów liczb zmiennoprzecinkowych, tj. wykonujące obliczenia wg schematu .
Bibliografia
- Advanced Vector Extensions Programming Reference (dokument 319433-002), Intel, marzec 2008