La CPU del tuo dispositivo esegue milioni di calcoli ogni secondo ed è responsabile del funzionamento del tuo computer. Lavorare con la CPU è l'Arithmetic Processing Unit (ALU), che è responsabile delle attività matematiche ed è guidata dal microcodice della CPU.

Ora, quel microcodice della CPU non è statico e può essere migliorato, e uno di questi miglioramenti è stato il set di istruzioni AVX-512 di Intel. Tuttavia, Intel è destinata a eliminare l'AVX-512, rimuovendo definitivamente la sua funzionalità dalle sue CPU. Ma perché? Perché Intel sta uccidendo AVX-512?

Come funziona un ALU?

Prima di conoscere il set di istruzioni AVX-512, è essenziale capire come funziona un ALU.

Come suggerisce il nome, l'unità di elaborazione aritmetica viene utilizzata per eseguire compiti matematici. Queste attività includono operazioni come addizioni, moltiplicazioni e calcoli a virgola mobile. Per eseguire queste attività, l'ALU utilizza circuiti digitali specifici dell'applicazione, che sono guidati dal segnale di clock della CPU.

instagram viewer

Pertanto, la velocità di clock di una CPU definisce la velocità con cui le istruzioni vengono elaborate nell'ALU. Quindi, se la tua CPU funziona su una frequenza di clock di 5 GHz, l'ALU può elaborare 5 miliardi di istruzioni in un secondo. Per questo motivo, le prestazioni della CPU migliorano all'aumentare della velocità di clock.

Detto questo, all'aumentare della velocità di clock della CPU, aumenta la quantità di calore generata dalla CPU. Per questo motivo, gli utenti esperti utilizzano l'azoto liquido durante l'overclocking dei loro sistemi. Sfortunatamente, questo aumento della temperatura alle alte frequenze impedisce ai produttori di CPU di aumentare la frequenza di clock oltre una certa soglia.

Quindi, in che modo un processore di nuova generazione offre prestazioni migliori rispetto alle precedenti iterazioni? Bene, i produttori di CPU usano il concetto di parallelismo per aumentare le prestazioni. Questo parallelismo può essere ottenuto utilizzando un'architettura multicore in cui vengono utilizzati diversi core di elaborazione per migliorare la potenza di calcolo della CPU.

Un altro modo per migliorare le prestazioni è utilizzare un set di istruzioni SIMD. In parole povere, un'istruzione Single Instruction Multiple Data consente all'ALU di eseguire la stessa istruzione su diversi punti dati. Questo tipo di parallelismo migliora le prestazioni di una CPU e l'AVX-512 è un'istruzione SIMD utilizzata per aumentare le prestazioni di una CPU durante l'esecuzione di attività specifiche.

In che modo i dati raggiungono l'ALU?

Ora che abbiamo una conoscenza di base di come funziona un'ALU, dobbiamo capire come i dati raggiungono l'ALU.

Per raggiungere l'ALU, i dati devono spostarsi attraverso diversi sistemi di archiviazione. Questo viaggio di dati si basa sulla gerarchia della memoria di un sistema informatico. Di seguito viene fornita una breve panoramica di questa gerarchia:

  • Memoria secondaria: La memoria secondaria su un dispositivo informatico è costituita da un dispositivo di archiviazione permanente. Questo dispositivo può memorizzare i dati in modo permanente ma non è veloce come la CPU. Per questo motivo, la CPU non può accedere ai dati direttamente dal sistema di archiviazione secondario.
  • Memoria primaria: Il sistema di archiviazione principale è costituito da memoria ad accesso casuale (RAM). Questo sistema di archiviazione è più veloce del sistema di archiviazione secondario ma non può archiviare i dati in modo permanente. Pertanto, quando apri un file sul tuo sistema, si sposta dal disco rigido alla RAM. Detto questo, anche la RAM non è abbastanza veloce per la CPU.
  • Memoria cache: La memoria cache è incorporata nella CPU ed è il sistema di memoria più veloce su un computer. Questo sistema di memoria è diviso in tre parti, vale a dire il Cache L1, L2 e L3. Tutti i dati che devono essere elaborati dall'ALU vengono spostati dal disco rigido alla RAM e quindi alla memoria cache. Detto questo, l'ALU non può accedere ai dati direttamente dalla cache.
  • Registri CPU: Il registro della CPU su un dispositivo informatico è di dimensioni molto ridotte e, in base all'architettura del computer, questi registri possono contenere 32 o 64 bit di dati. Una volta che i dati si spostano in questi registri, l'ALU può accedervi ed eseguire il compito in questione.

Che cos'è AVX-512 e come funziona?

Il set di istruzioni AVX 512 è la seconda iterazione di AVX ed è arrivato ai processori Intel nel 2013. Abbreviazione di Advanced Vector Extensions, il set di istruzioni AVX è stato introdotto per la prima volta in Xeon di Intel Phi (Knights Landing) e successivamente è arrivato ai processori server di Intel nello Skylake-X CPU.

Inoltre, il set di istruzioni AVX-512 si è fatto strada nei sistemi consumer con l'architettura Cannon Lake ed è stato successivamente supportato dalle architetture Ice Lake e Tiger Lake.

L'obiettivo principale di questo set di istruzioni era accelerare le attività che coinvolgono la compressione dei dati, l'elaborazione delle immagini e i calcoli crittografici. Offrendo il doppio della potenza di calcolo rispetto alle precedenti iterazioni, il set di istruzioni AVX-512 offre sostanziali miglioramenti delle prestazioni.

Quindi, come ha fatto Intel a raddoppiare le prestazioni delle sue CPU utilizzando l'architettura AVX-512?

Ebbene, come spiegato in precedenza, l'ALU può accedere solo ai dati presenti nel registro di una CPU. Il set di istruzioni Advanced Vector Extensions aumenta la dimensione di questi registri.

A causa di questo aumento delle dimensioni, l'ALU può elaborare più punti dati in una singola istruzione, aumentando le prestazioni del sistema.

In termini di dimensione del registro, il set di istruzioni AVX-512 offre trentadue registri a 512 bit, il doppio rispetto al set di istruzioni AVX precedente.

Perché Intel sta terminando AVX-512?

Come spiegato in precedenza, il set di istruzioni AVX-512 offre numerosi vantaggi computazionali. In effetti, librerie popolari come TensorFlow utilizzano il set di istruzioni per fornire calcoli più veloci sulle CPU che supportano il set di istruzioni.

Allora, perché Intel sta disabilitando AVX-512 sui suoi recenti processori Alder Lake?

Bene, i processori Alder Lake sono diversi da quelli più vecchi prodotti da Intel. Mentre i sistemi precedenti utilizzavano core eseguiti sulla stessa architettura, i processori Alder Lake utilizzano due core diversi. Questi core nelle CPU di Alder Lake sono conosciuti come P ed E-core e sono alimentati da diverse architetture.

Mentre i core P utilizzano la microarchitettura Golden Cove, gli E-core utilizzano la microarchitettura Gracemont. Questa differenza di architetture impedisce allo scheduler di funzionare correttamente quando istruzioni particolari possono essere eseguite su un'architettura ma non sull'altra.

Nel caso dei processori Alder Lake, il set di istruzioni AVX-512 è uno di questi esempi, poiché i P-core hanno l'hardware per elaborare le istruzioni, ma gli E-core no.

Per questo motivo, le CPU Alder Lake non supportano il set di istruzioni AVX-512.

Detto questo, l'istruzione AVX-512 può essere eseguita su alcune CPU Alder Lake in cui Intel non le ha fuse fisicamente. Per fare lo stesso, gli utenti devono disabilitare gli E-core durante il BIOS.

AVX-512 è necessario sui chipset consumer?

Il set di istruzioni AVX-512 aumenta la dimensione del registro di una CPU per migliorarne le prestazioni. Questo aumento delle prestazioni consente alle CPU di elaborare i numeri più velocemente, consentendo agli utenti di eseguire algoritmi di compressione video/audio a velocità maggiori.

Detto questo, questo aumento delle prestazioni può essere osservato solo quando l'istruzione definita in un programma è ottimizzata per essere eseguita sul set di istruzioni AVX-512.

Per questo motivo, le architetture di set di istruzioni come l'AVX-512 sono più adatte per i carichi di lavoro del server e i chipset di livello consumer possono funzionare senza set di istruzioni complessi come l'AVX-512.