CPU de pe dispozitivul dvs. efectuează milioane de calcule în fiecare secundă și este responsabil pentru modul în care funcționează computerul dvs. Lucrul cu CPU este Unitatea de procesare aritmetică (ALU), care este responsabilă pentru sarcinile matematice și este condusă de microcodul procesorului.

Acum, acel microcod al procesorului nu este static și poate fi îmbunătățit, iar o astfel de îmbunătățire a fost setul de instrucțiuni Intel AVX-512. Cu toate acestea, Intel este setat să omoare AVX-512, eliminând definitiv funcționalitatea de pe procesoarele sale. Dar de ce? De ce Intel omoara AVX-512?

Cum funcționează un ALU?

Înainte de a cunoaște setul de instrucțiuni AVX-512, este esențial să înțelegeți cum funcționează un ALU.

După cum sugerează și numele, Unitatea de procesare aritmetică este folosită pentru a efectua sarcini matematice. Aceste sarcini includ operații precum adunarea, înmulțirea și calculele în virgulă mobilă. Pentru a îndeplini aceste sarcini, ALU utilizează circuite digitale specifice aplicației, care sunt conduse de semnalul de ceas al procesorului.

instagram viewer

Prin urmare, viteza de ceas a unui procesor definește rata la care instrucțiunile sunt procesate în ALU. Deci, dacă procesorul dumneavoastră rulează pe o frecvență de ceas de 5 GHz, ALU poate procesa 5 miliarde de instrucțiuni într-o secundă. Din acest motiv, performanța procesorului se îmbunătățește pe măsură ce viteza ceasului crește.

Acestea fiind spuse, pe măsură ce viteza ceasului procesorului crește, cantitatea de căldură generată de procesor crește. Din acest motiv, utilizatorii puternici folosesc azot lichid atunci când își overclockează sistemele. Din păcate, această creștere a temperaturii la frecvențe înalte îi împiedică pe producătorii de procesoare să crească frecvența ceasului peste un anumit prag.

Deci, cum oferă un procesor de nouă generație o performanță mai bună în comparație cu iterațiile mai vechi? Ei bine, producătorii de procesoare folosesc conceptul de paralelism pentru a crește performanța. Acest paralelism poate fi realizat prin utilizarea unei arhitecturi multicore în care sunt folosite mai multe nuclee de procesare diferite pentru a îmbunătăți puterea de calcul a procesorului.

O altă modalitate de a îmbunătăți performanța este utilizarea unui set de instrucțiuni SIMD. În termeni simpli, o instrucțiune de date multiple cu o singură instrucțiune permite ALU să execute aceeași instrucțiune în diferite puncte de date. Acest tip de paralelism îmbunătățește performanța unui procesor, iar AVX-512 este o instrucțiune SIMD folosită pentru a crește performanța procesorului atunci când execută anumite sarcini.

Cum ajung datele la ALU?

Acum că avem o înțelegere de bază a modului în care funcționează un ALU, trebuie să înțelegem cum ajung datele la ALU.

Pentru a ajunge la ALU, datele trebuie să treacă prin diferite sisteme de stocare. Această călătorie a datelor se bazează pe ierarhia memoriei unui sistem de calcul. O scurtă prezentare a acestei ierarhii este prezentată mai jos:

  • Memoria secundara: Memoria secundară a unui dispozitiv de calcul constă dintr-un dispozitiv de stocare permanent. Acest dispozitiv poate stoca date permanent, dar nu este la fel de rapid ca procesorul. Din acest motiv, CPU nu poate accesa datele direct din sistemul de stocare secundar.
  • Memoria primara: Sistemul de stocare primar este format din memorie cu acces aleatoriu (RAM). Acest sistem de stocare este mai rapid decât sistemul de stocare secundar, dar nu poate stoca datele permanent. Prin urmare, atunci când deschideți un fișier pe sistem, acesta se mută de pe hard disk în RAM. Acestea fiind spuse, chiar și memoria RAM nu este suficient de rapidă pentru procesor.
  • Memorie cache: Memoria cache este încorporată în CPU și este cel mai rapid sistem de memorie de pe un computer. Acest sistem de memorie este împărțit în trei părți, și anume Cache L1, L2 și L3. Orice date care trebuie procesate de ALU se mută de pe hard disk în RAM și apoi în memoria cache. Acestea fiind spuse, ALU nu poate accesa datele direct din cache.
  • Registrele CPU: Registrul CPU de pe un dispozitiv de calcul este de dimensiuni foarte mici și, pe baza arhitecturii computerului, aceste registre pot conține 32 sau 64 de biți de date. Odată ce datele sunt mutate în aceste registre, ALU le poate accesa și efectua sarcina în cauză.

Ce este AVX-512 și cum funcționează?

Setul de instrucțiuni AVX 512 este a doua iterație a AVX și a ajuns la procesoarele Intel în 2013. Prescurtare de la Advanced Vector Extensions, setul de instrucțiuni AVX a fost introdus pentru prima dată în Intel Xeon Arhitectura Phi (Knights Landing) și mai târziu a ajuns pe procesoarele de server Intel în Skylake-X CPU-uri.

În plus, setul de instrucțiuni AVX-512 și-a făcut drum spre sistemele bazate pe consumatori cu arhitectura Cannon Lake și a fost susținut ulterior de arhitecturile Ice Lake și Tiger Lake.

Scopul principal al acestui set de instrucțiuni a fost să accelereze sarcinile care implică compresia datelor, procesarea imaginilor și calculele criptografice. Oferind o putere de calcul dublă în comparație cu iterațiile mai vechi, setul de instrucțiuni AVX-512 oferă câștiguri substanțiale de performanță.

Deci, cum a dublat Intel performanța procesoarelor sale folosind arhitectura AVX-512?

Ei bine, așa cum am explicat mai devreme, ALU poate accesa doar datele prezente în registrul unui procesor. Setul de instrucțiuni Advanced Vector Extensions mărește dimensiunea acestor registre.

Datorită acestei creșteri de dimensiune, ALU poate procesa mai multe puncte de date într-o singură instrucțiune, crescând performanța sistemului.

În ceea ce privește dimensiunea registrului, setul de instrucțiuni AVX-512 oferă treizeci și două de registre de 512 biți, ceea ce este dublu în comparație cu setul de instrucțiuni AVX mai vechi.

De ce Intel termină AVX-512?

După cum sa explicat mai devreme, setul de instrucțiuni AVX-512 oferă mai multe avantaje de calcul. De fapt, bibliotecile populare precum TensorFlow folosesc setul de instrucțiuni pentru a oferi calcule mai rapide pe procesoarele care acceptă setul de instrucțiuni.

Deci, de ce Intel dezactivează AVX-512 pe recentele sale procesoare Alder Lake?

Ei bine, procesoarele Alder Lake sunt diferite de cele mai vechi fabricate de Intel. În timp ce sistemele mai vechi foloseau nuclee care rulează pe aceeași arhitectură, procesoarele Alder Lake folosesc două nuclee diferite. Aceste nuclee din CPU-urile Alder Lake sunt cunoscute ca Miezuri P și E și sunt alimentate de arhitecturi diferite.

În timp ce nucleele P folosesc microarhitectura Golden Cove, nucleele E folosesc microarhitectura Gracemont. Această diferență în arhitecturi împiedică planificatorul să funcționeze corect atunci când anumite instrucțiuni pot rula pe o arhitectură, dar nu și pe cealaltă.

În cazul procesoarelor Alder Lake, setul de instrucțiuni AVX-512 este un astfel de exemplu, deoarece nucleele P au hardware-ul pentru a procesa instrucțiunile, dar nucleele E nu.

Din acest motiv, procesoarele Alder Lake nu acceptă setul de instrucțiuni AVX-512.

Acestea fiind spuse, instrucțiunile AVX-512 pot rula pe anumite procesoare Alder Lake unde Intel nu le-a fuzionat fizic. Pentru a face același lucru, utilizatorii trebuie să dezactiveze E-core-urile în timpul BIOS-ului.

Este AVX-512 necesar pe chipset-urile de consum?

Setul de instrucțiuni AVX-512 mărește dimensiunea registrului procesorului pentru a-și îmbunătăți performanța. Această creștere a performanței permite procesoarelor să reducă numerele mai repede, permițând utilizatorilor să ruleze algoritmi de compresie video/audio la viteze mai mari.

Acestea fiind spuse, această creștere a performanței poate fi observată numai atunci când instrucțiunea definită într-un program este optimizată pentru a rula pe setul de instrucțiuni AVX-512.

Din acest motiv, arhitecturile seturi de instrucțiuni precum AVX-512 sunt mai potrivite pentru sarcinile de lucru pe server, iar chipset-urile de calitate pentru consumatori pot funcționa fără seturi de instrucțiuni complexe precum AVX-512.