Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Advanced Vector Extension - Teknopedia
Advanced Vector Extension - Teknopedia
Niente fonti!
Questa voce o sezione sull'argomento componenti per computer non cita le fonti necessarie o quelle presenti sono insufficienti.

Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti.

Con il nome di Advanced Vector Extension (abbreviate in AVX) viene indicato un instruction set SIMD proposte e sviluppate da Intel, annunciate durante l'Intel Developer Forum del 2008, e che segue alle SSE4 grazie all'architettura di decima generazione conosciuta come Sandy Bridge, successiva a Nehalem.

Caratteristiche tecniche

[modifica | modifica wikitesto]

Queste istruzioni prevedono l'introduzione di vettori a 256 bit (a differenza di quelli a 128 bit usati precedentemente) che consentiranno di ottenere un raddoppio dei calcoli in virgola mobile e migliorare l'organizzazione dei dati, rendendola più efficiente; le istruzioni a 128 bit verranno comunque eseguite sfruttando la metà inferiore dei nuovi registri ed è probabile una futura ulteriore espansione a 512 bit o addirittura 1024 bit.

Inoltre, il limite di istruzioni con al più 2 operandi verrà esteso fino a 3 operandi in maniera non distruttiva qualora il registro di destinazione sia differente dai 2 registri sorgente: ciò significa che ad esempio l'operazione a = a + b {\displaystyle a=a+b} {\displaystyle a=a+b} verrà rimpiazzata da c = a + b {\displaystyle c=a+b} {\displaystyle c=a+b} in modo che il registro a {\displaystyle a} {\displaystyle a} rimanga inalterato dopo l'esecuzione dell'istruzione.

Benefici nelle applicazioni

[modifica | modifica wikitesto]

Le applicazioni che dovrebbero trarre i maggiori benefici dovrebbero essere quelle di tipo multimediale, in particolare quelle di modellazione 3D e di calcolo scientifico, anche in virtù del fatto che la scalabilità in relazione al numero di core del processore dovrebbe essere massima, e questo tipo di applicazioni sono proprio quelle che sono comunque in grado di avvantaggiarsi di un alto numero di core.

Le istruzioni AVX dovrebbero consentire inoltre di accelerare i calcoli relativi alla criptazione AES.

Advanced Vector Extensions 2

[modifica | modifica wikitesto]

Advanced Vector Extensions 2 (AVX2), noto anche come Haswell New Instructions,[1] è un'espansione del set di istruzioni AVX introdotto nella microarchitettura Haswell di Intel.

AVX2 apporta le seguenti aggiunte:

  • espansione della maggior parte delle istruzioni SSE e AVX a 256 bit.
  • manipolazione e moltiplicazione dei bit per uso generale a tre operandi
  • raccogliere il supporto, consentendo il caricamento di elementi vettoriali da posizioni di memoria non contigue
  • DWORD- e QWORD- a qualsiasi permanente
  • spostamenti vettoriali

A volte un'altra estensione che utilizza un diverso flag cpuid è considerata parte dell'AVX2; queste istruzioni sono elencate nella propria pagina e non di seguito:

  • supporto FMA a tre operandi (FMA3)

Nuove istruzioni

[modifica | modifica wikitesto]
Istruzioni Descrizione
VBROADCASTSS, VBROADCASTSD Copiare un operando di registro a 32 o 64 bit su tutti gli elementi di un registro vettoriale XMMM o YMMM. Queste sono versioni di registro delle stesse istruzioni nell'AVX1. Non esiste tuttavia una versione a 128 bit, ma lo stesso effetto può essere ottenuto semplicemente utilizzando VINSERTF128.
VPBROADCASTB, VPBROADCASTW, VPBROADCASTD, VPBROADCASTQ Copiare un registro intero a 8, 16, 32 o 64 bit o un operando in memoria su tutti gli elementi di un registro vettoriale XMMM o YMMM.
VBROADCASTI128 Copiare un operando di memoria a 128 bit su tutti gli elementi di un registro vettoriale YMMM.
VINSERTI128 Sostituisce la metà inferiore o superiore di un registro YMMM a 256 bit con il valore di un operando sorgente a 128 bit. L'altra metà della destinazione rimane invariata.
VEXTRACTI128 Estrae la metà inferiore o superiore di un registro YMMM a 256 bit e copia il valore in un operando di destinazione a 128 bit.
VGATHERDPD, VGATHERQPD, VGATHERDPS, VGATHERQPS Raccoglie valori in virgola mobile a singola o doppia precisione utilizzando indici e scale a 32 o 64 bit.
VPGATHERDD, VPGATHERDQ, VPGATHERQD, VPGATHERQQ Raccoglie valori interi a 32 o 64 bit utilizzando indici e scale a 32 o 64 bit.
VPMASKMOVD, VPMASKMOVQ Legge condizionalmente un qualsiasi numero di elementi da un operando di memoria vettoriale SIMD in un registro di destinazione, lasciando i restanti elementi vettoriali non letti e azzerando gli elementi corrispondenti nel registro di destinazione. In alternativa, scrive condizionalmente un qualsiasi numero di elementi da un operando del registro vettoriale SIMD ad un operando a memoria vettoriale, lasciando invariati i restanti elementi dell'operando in memoria.
VPERMPS, VPERMD Mescolare gli otto elementi vettoriali a 32 bit di un operando sorgente a 256 bit in un operando di destinazione a 256 bit, con un registro o un operando di memoria come selettore.
VPERMPD, VPERMQ Mescolare i quattro elementi vettoriali a 64 bit di un operando sorgente a 256 bit in un operando di destinazione a 256 bit, con un registro o un operando di memoria come selettore.
VPERM2I128 Mescolare i quattro elementi vettoriali a 128 bit di due operandi sorgente a 256 bit in un operando di destinazione a 256 bit, con una costante immediata come selettore.
VPBLENDD Versione immediata a doppia parola delle istruzioni PBLEND di SSE4.
VPSLLVD, VPSLLVQ Spostamento logico a sinistra. Permette spostamenti variabili in cui ogni elemento viene spostato in base all'input confezionato.
VPSRLVD, VPSRLVQ Spostare logico a destra. Permette spostamenti variabili in cui ogni elemento viene spostato in base all'input confezionato.
VPSRAVD Spostare aritmeticamente a destra. Permette spostamenti variabili in cui ogni elemento viene spostato in base all'input confezionato.

CPU con AVX2

[modifica | modifica wikitesto]
  • Intel
    • Haswell, Q2 2013
    • Haswell E, Q3 2014
    • Broadwell, Q4 2014
    • Broadwell E, Q3 2016
    • Skylake, Q3 2015
    • Kaby Lake, Q3 2016 (ULV mobile) / Q1 2017 (desktop/mobile)
    • Skylake-X, Q2 2017
    • Coffee Lake, Q4 2017
    • Cannon Lake, previsto nel 2018
    • Cascade Lake, previsto nel 2018
    • Ice Lake, previsto nel 2018
  • AMD
    • Excavator e successivi, Q2 2015
    • Zen, Q1 2017
    • Zen+, Q2 2018

Note

[modifica | modifica wikitesto]
  1. ^ (EN) Mark Buxton, Haswell New Instruction Descriptions Now Available!, su software.intel.com, Intel, 13 giugno 2011. URL consultato il 16 novembre 2018.

Voci correlate

[modifica | modifica wikitesto]
  • Sandy Bridge
  • Streaming SIMD Extensions
  • SSE2
  • SSE3
  • SSE4
V · D · M
Estensioni Instruction set
SIMD (RISC)Alpha (MVI) · ARM (NEON · SVE) · MIPS (MDMX · MIPS-3D · MXU · MIPS SIMD) · PA-RISC (MAX) · Power ISA (VMX) · SPARC (VIS)
SIMD (x86)MMX (1996) · 3DNow! (1998) · SSE (1999) · SSE2 (2001) · SSE3 (2004) · SSSE3 (2006) · SSE4 (2006) · SSE5 (2007) · AVX (2008) · F16C (2009) · XOP (2009) · FMA (FMA4: 2011, FMA3: 2012) · AVX2 (2013) · AVX-512 (2015) · AMX (2020)
Manipolazione dei bitBMI (ABM: 2007, BMI1: 2012, BMI2: 2013, TBM: 2012) · ADX (2014)
Istruzioni compresseThumb · MIPS16e ASE
Sicurezza e crittografiaAES-NI (2008); 32 e 64 bit ARMv8 ha anche istruzioni AES · CLMUL (2010) · RdRand (2012) · SHA (2013) · MPX (2015) · SGX (2015)
Memoria transazionaleTSX (2013) · ASF
VirtualizzazioneVT-x (2005) · AMD-V (2006)
Le estensioni non più utilizzate sono barrate.
  Portale Informatica: accedi alle voci di Teknopedia che trattano di Informatica
Estratto da "https://it.wikipedia.org/w/index.php?title=Advanced_Vector_Extension&oldid=139090615"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022