Przejdź do zawartości

Advanced Vector Extensions

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Wojciech mula (dyskusja | edycje) o 20:42, 4 kwi 2008. Może się ona znacząco różnić od aktualnej wersji.
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

Szablon:Nowy produkt

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:

  1. 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
  2. Część rozkazów SSE, głównie tych działających na wektorach liczb zmiennoprzecinkowych, może wykonywać działania na rejestrach YMM.
  3. Dodano kilka rozkazów działających wyłącznie na rejestrach YMM.
  4. 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.
  5. Dodane specjalizowane instrukcje wspomagające szyfrowanie AES.
  6. 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

Zobacz też