CPU-en på enheten din utfører millioner av beregninger hvert sekund og er ansvarlig for hvordan datamaskinen din fungerer. Arbeid med CPU er den aritmetiske prosesseringsenheten (ALU), som er ansvarlig for matematiske oppgaver og drives av CPUs mikrokode.

Nå er ikke den CPU-mikrokoden statisk og kan forbedres, og en slik forbedring var Intels AVX-512 instruksjonssett. Imidlertid er Intel satt til å drepe AVX-512, og fjerne funksjonaliteten fra CPU-ene for godt. Men hvorfor? Hvorfor dreper Intel AVX-512?

Hvordan fungerer en ALU?

Før du blir kjent med AVX-512 instruksjonssettet, er det viktig å forstå hvordan en ALU fungerer.

Som navnet antyder, brukes den aritmetiske prosesseringsenheten til å utføre matematiske oppgaver. Disse oppgavene inkluderer operasjoner som addisjon, multiplikasjon og flyttallsberegninger. For å utføre disse oppgavene bruker ALU applikasjonsspesifikke digitale kretser, som drives av klokkesignalet til CPU.

Derfor definerer klokkehastigheten til en CPU hastigheten som instruksjoner behandles med i ALU. Så hvis CPU-en din kjører på en 5GHz klokkefrekvens, kan ALU behandle 5 milliarder instruksjoner på ett sekund. På grunn av denne grunn forbedres CPU-ytelsen når klokkehastigheten øker.

Når det er sagt, når CPU-klokkehastigheten øker, øker mengden varme som genereres av CPUen. På grunn av denne grunn bruker strømbrukere flytende nitrogen når de overklokker systemene sine. Dessverre hindrer denne økningen i temperatur ved høye frekvenser CPU-produsenter fra å øke klokkefrekvensen over en viss terskel.

Så hvordan tilbyr en ny generasjons prosessor bedre ytelse sammenlignet med eldre iterasjoner? Vel, CPU-produsenter bruker konseptet parallellisme for å øke ytelsen. Denne parallelliteten kan oppnås ved å bruke en flerkjernearkitektur der flere forskjellige prosesseringskjerner brukes for å forbedre beregningskraften til CPUen.

En annen måte å forbedre ytelsen på er å bruke et SIMD-instruksjonssett. Enkelt sagt, en Single Instruction Multiple Data-instruksjon gjør at ALU kan utføre den samme instruksjonen på tvers av forskjellige datapunkter. Denne typen parallellitet forbedrer ytelsen til en CPU, og AVX-512 er en SIMD-instruksjon som brukes til å øke en CPUs ytelse når du utfører spesifikke oppgaver.

Hvordan når data ALU?

Nå som vi har en grunnleggende forståelse av hvordan en ALU fungerer, må vi forstå hvordan data når ALU.

For å nå ALU må data flyttes gjennom forskjellige lagringssystemer. Denne datareisen er basert på et datasystems minnehierarki. En kort oversikt over dette hierarkiet er gitt nedenfor:

  • Sekundært minne: Det sekundære minnet på en dataenhet består av en permanent lagringsenhet. Denne enheten kan lagre data permanent, men er ikke like rask som CPU. På grunn av dette kan ikke CPU-en få tilgang til data direkte fra det sekundære lagringssystemet.
  • Primært minne: Det primære lagringssystemet består av RAM (Random Access Memory). Dette lagringssystemet er raskere enn det sekundære lagringssystemet, men kan ikke lagre data permanent. Derfor, når du åpner en fil på systemet ditt, flyttes den fra harddisken til RAM. Når det er sagt, selv RAM er ikke rask nok for CPU.
  • Bufferminnet: Cache-minnet er innebygd i CPU-en og er det raskeste minnesystemet på en datamaskin. Dette minnesystemet er delt inn i tre deler, nemlig L1, L2 og L3 cache. Alle data som må behandles av ALU flyttes fra harddisken til RAM og deretter til hurtigbufferminnet. Når det er sagt, kan ikke ALU få tilgang til data direkte fra cachen.
  • CPU-registre: CPU-registeret på en dataenhet er veldig lite i størrelse, og basert på datamaskinarkitekturen kan disse registrene inneholde 32 eller 64 biter med data. Når dataene flyttes inn i disse registrene, kan ALU få tilgang til dem og utføre oppgaven.

Hva er AVX-512, og hvordan fungerer det?

AVX 512-instruksjonssettet er den andre iterasjonen av AVX og tok veien til Intel-prosessorer i 2013. Forkortelse for Advanced Vector Extensions, AVX-instruksjonssettet ble først introdusert i Intels Xeon Phi (Knights Landing)-arkitektur og kom senere til Intels serverprosessorer i Skylake-X CPUer.

I tillegg tok instruksjonssettet AVX-512 veien til de forbrukerbaserte systemene med Cannon Lake-arkitekturen og ble senere støttet av Ice Lake- og Tiger Lake-arkitekturene.

Hovedmålet med dette instruksjonssettet var å akselerere oppgaver som involverte datakomprimering, bildebehandling og kryptografiske beregninger. AVX-512-instruksjonssettet tilbyr dobbel beregningskraft sammenlignet med eldre iterasjoner, og gir betydelige ytelsesgevinster.

Så, hvordan doblet Intel ytelsen til CPU-ene sine ved å bruke AVX-512-arkitekturen?

Vel, som forklart tidligere, kan ALU bare få tilgang til dataene som finnes i en CPU-register. Instruksjonssettet Advanced Vector Extensions øker størrelsen på disse registrene.

På grunn av denne økningen i størrelse, kan ALU behandle flere datapunkter i en enkelt instruksjon, noe som øker systemets ytelse.

Når det gjelder registerstørrelse, tilbyr AVX-512-instruksjonssettet trettito 512-bits registre, noe som er det dobbelte sammenlignet med det eldre AVX-instruksjonssettet.

Hvorfor slutter Intel AVX-512?

Som forklart tidligere, tilbyr AVX-512 instruksjonssettet flere beregningsfordeler. Faktisk bruker populære biblioteker som TensorFlow instruksjonssettet for å gi raskere beregninger på CPU-ene som støtter instruksjonssettet.

Så hvorfor deaktiverer Intel AVX-512 på sine nylige Alder Lake-prosessorer?

Vel, Alder Lake-prosessorene er ulikt de eldre produsert av Intel. Mens de eldre systemene brukte kjerner som kjører på samme arkitektur, bruker Alder Lake-prosessorene to forskjellige kjerner. Disse kjernene i Alder lake CPUer er kjent som P og E-kjerner og drives av forskjellige arkitekturer.

Mens P-kjernene bruker Golden Cove-mikroarkitekturen, bruker E-kjernene Gracemont-mikroarkitekturen. Denne forskjellen i arkitekturer forhindrer at planleggeren fungerer riktig når bestemte instruksjoner kan kjøres på en arkitektur, men ikke på den andre.

Når det gjelder Alder Lake-prosessorene, er AVX-512 instruksjonssettet et slikt eksempel, ettersom P-kjernene har maskinvaren til å behandle instruksjonen, men E-kjernene ikke.

På grunn av denne grunn støtter ikke Alder Lake CPUer AVX-512 instruksjonssettet.

Når det er sagt, kan AVX-512-instruksjoner kjøre på visse Alder Lake-prosessorer der Intel ikke fysisk har smeltet dem av. For å gjøre det samme, må brukere deaktivere E-kjernene under BIOS.

Er AVX-512 nødvendig på forbrukerbrikkesett?

AVX-512 instruksjonssettet øker størrelsen på en CPUs register for å forbedre ytelsen. Denne ytelsesøkningen gjør det mulig for CPUer å knuse tall raskere, slik at brukere kan kjøre video-/lydkomprimeringsalgoritmer med høyere hastigheter.

Når det er sagt, kan denne ytelsesøkningen bare observeres når instruksjonen som er definert i et program er optimalisert for å kjøre på AVX-512 instruksjonssettet.

På grunn av denne grunn er instruksjonssettarkitekturer som AVX-512 mer egnet for serverarbeidsbelastninger, og brikkesett av forbrukerkvalitet kan fungere uten komplekse instruksjonssett som AVX-512.