Įrenginyje esantis centrinis procesorius kas sekundę atlieka milijonus skaičiavimų ir yra atsakingas už kompiuterio veikimą. Darbas su CPU yra aritmetinis apdorojimo blokas (ALU), kuris yra atsakingas už matematines užduotis ir yra valdomas procesoriaus mikrokodu.
Dabar tas procesoriaus mikrokodas nėra statinis ir gali būti patobulintas, o vienas iš tokių patobulinimų buvo „Intel“ AVX-512 instrukcijų rinkinys. Tačiau „Intel“ ketina sunaikinti AVX-512, visam laikui pašalindama jo funkcijas iš procesorių. Bet kodėl? Kodėl „Intel“ naikina AVX-512?
Kaip veikia ALU?
Prieš susipažįstant su AVX-512 instrukcijų rinkiniu, būtina suprasti, kaip veikia ALU.
Kaip rodo pavadinimas, aritmetinis apdorojimo įrenginys naudojamas matematinėms užduotims atlikti. Šios užduotys apima tokias operacijas kaip sudėtis, daugyba ir slankiojo kablelio skaičiavimai. Šioms užduotims atlikti ALU naudoja konkrečiai programai pritaikytą skaitmeninę grandinę, kurią valdo procesoriaus laikrodžio signalas.
Todėl procesoriaus laikrodžio greitis apibrėžia greitį, kuriuo instrukcijos apdorojamos ALU. Taigi, jei jūsų procesorius veikia 5 GHz taktiniu dažniu, ALU gali apdoroti 5 milijardus instrukcijų per vieną sekundę. Dėl šios priežasties procesoriaus našumas gerėja didėjant laikrodžio greičiui.
Be to, didėjant procesoriaus laikrodžio greičiui, didėja procesoriaus generuojamos šilumos kiekis. Dėl šios priežasties energijos vartotojai naudoja skystą azotą, kai padidina savo sistemas. Deja, šis temperatūros padidėjimas esant aukštiems dažniams neleidžia CPU gamintojams padidinti laikrodžio dažnį virš tam tikros ribos.
Taigi, kaip naujos kartos procesorius siūlo geresnį našumą, palyginti su senesnėmis iteracijomis? Na, procesorių gamintojai naudoja lygiagretumo sąvoką, kad padidintų našumą. Šį lygiagretumą galima pasiekti naudojant kelių branduolių architektūrą, kurioje naudojami keli skirtingi apdorojimo branduoliai, siekiant pagerinti procesoriaus skaičiavimo galią.
Kitas būdas pagerinti našumą yra naudoti SIMD instrukcijų rinkinį. Paprastai tariant, vienos instrukcijos kelių duomenų instrukcija leidžia ALU vykdyti tą pačią komandą skirtinguose duomenų taškuose. Šio tipo lygiagretumas pagerina procesoriaus našumą, o AVX-512 yra SIMD instrukcija, naudojama siekiant padidinti procesoriaus našumą atliekant konkrečias užduotis.
Kaip duomenys pasiekia ALU?
Dabar, kai turime pagrindinį supratimą apie tai, kaip veikia ALU, turime suprasti, kaip duomenys pasiekia ALU.
Kad pasiektų ALU, duomenys turi judėti per skirtingas saugojimo sistemas. Ši duomenų kelionė pagrįsta kompiuterinės sistemos atminties hierarchija. Žemiau pateikiama trumpa šios hierarchijos apžvalga:
- Antrinė atmintis: Antrinę skaičiavimo įrenginio atmintį sudaro nuolatinis saugojimo įrenginys. Šis įrenginys gali nuolat saugoti duomenis, bet ne toks greitas kaip centrinis procesorius. Dėl šios priežasties CPU negali pasiekti duomenų tiesiai iš antrinės saugojimo sistemos.
- Pirminė atmintis: Pirminę saugojimo sistemą sudaro laisvosios kreipties atmintis (RAM). Ši saugojimo sistema yra greitesnė nei antrinė saugojimo sistema, tačiau negali nuolat saugoti duomenų. Todėl, kai atidarote failą sistemoje, jis perkeliamas iš standžiojo disko į RAM. Beje, net RAM nėra pakankamai greita CPU.
- Laikinoji atmintis: Laikinoji atmintis yra įterpta į centrinį procesorių ir yra greičiausia atminties sistema kompiuteryje. Ši atminties sistema yra padalinta į tris dalis, būtent L1, L2 ir L3 talpykla. Visi duomenys, kuriuos turi apdoroti ALU, perkeliami iš standžiojo disko į RAM ir tada į talpyklą. Tačiau ALU negali pasiekti duomenų tiesiai iš talpyklos.
- CPU registrai: Skaičiavimo įrenginio procesoriaus registras yra labai mažo dydžio, o pagal kompiuterio architektūrą šiuose registruose gali būti 32 arba 64 bitai duomenų. Kai duomenys perkeliami į šiuos registrus, ALU gali juos pasiekti ir atlikti užduotį.
Kas yra AVX-512 ir kaip jis veikia?
AVX 512 instrukcijų rinkinys yra antroji AVX iteracija ir 2013 m. pateko į „Intel“ procesorius. Trumpai tariant Advanced Vector Extensions, AVX instrukcijų rinkinys pirmą kartą buvo pristatytas Intel Xeon. „Phi“ („Knights Landing“) architektūra ir vėliau pateko į „Intel“ serverio procesorius „Skylake-X“ CPU.
Be to, AVX-512 instrukcijų rinkinys pateko į vartotojų sistemas su Cannon Lake architektūra, o vėliau jį palaikė Ice Lake ir Tiger Lake architektūros.
Pagrindinis šio instrukcijų rinkinio tikslas buvo paspartinti užduotis, susijusias su duomenų glaudinimu, vaizdo apdorojimu ir kriptografiniais skaičiavimais. Siūlydamas dvigubai didesnę skaičiavimo galią, palyginti su senesnėmis iteracijomis, AVX-512 instrukcijų rinkinys pasižymi dideliu našumo padidėjimu.
Taigi, kaip „Intel“ padvigubino savo procesorių našumą naudodama AVX-512 architektūrą?
Na, kaip paaiškinta anksčiau, ALU gali pasiekti tik duomenis, esančius procesoriaus registre. Instrukcijų rinkinys Advanced Vector Extensions padidina šių registrų dydį.
Dėl šio dydžio padidėjimo ALU gali apdoroti kelis duomenų taškus vienoje komandoje, padidindamas sistemos našumą.
Kalbant apie registro dydį, AVX-512 instrukcijų rinkinys siūlo trisdešimt du 512 bitų registrus, o tai yra dvigubai daugiau, palyginti su senesniu AVX instrukcijų rinkiniu.
Kodėl „Intel“ baigia AVX-512?
Kaip paaiškinta anksčiau, AVX-512 instrukcijų rinkinys turi keletą skaičiavimo pranašumų. Tiesą sakant, populiarios bibliotekos, tokios kaip TensorFlow, naudoja instrukcijų rinkinį, kad pateiktų greitesnius procesorių, palaikančių instrukcijų rinkinį, skaičiavimus.
Taigi, kodėl „Intel“ išjungia AVX-512 savo naujausiuose Alder Lake procesoriuose?
Na, Alder Lake procesoriai skiriasi nuo senesnių Intel gaminamų. Nors senesnėse sistemose buvo naudojami tos pačios architektūros branduoliai, Alder Lake procesoriai naudoja du skirtingus branduolius. Šie Alder ežero procesorių branduoliai yra žinomi kaip P ir E šerdys ir yra maitinami skirtingų architektūrų.
Nors P šerdys naudoja Golden Cove mikroarchitektūrą, E šerdys naudoja Gracemont mikroarchitektūrą. Šis architektūros skirtumas neleidžia planuokliui tinkamai veikti, kai tam tikros instrukcijos gali veikti vienoje architektūroje, bet ne kitoje.
Alder Lake procesorių atveju AVX-512 instrukcijų rinkinys yra vienas iš tokių pavyzdžių, nes P branduoliai turi aparatinę įrangą, kad apdorotų instrukcijas, o E branduoliai neturi.
Dėl šios priežasties Alder Lake CPU nepalaiko AVX-512 instrukcijų rinkinio.
Beje, AVX-512 instrukcija gali veikti tam tikruose Alder Lake procesoriuose, kai „Intel“ jų fiziškai nesujungė. Norėdami tai padaryti, vartotojai turi išjungti E branduolius BIOS metu.
Ar AVX-512 reikalingas vartotojų mikroschemų rinkiniams?
AVX-512 instrukcijų rinkinys padidina procesoriaus registro dydį, kad pagerintų jo veikimą. Šis našumo padidėjimas leidžia procesoriams greičiau susidoroti su skaičiais, todėl vartotojai gali paleisti vaizdo / garso glaudinimo algoritmus didesniu greičiu.
Be to, šį našumo padidėjimą galima pastebėti tik tada, kai programoje apibrėžtos instrukcijos yra optimizuotos vykdyti AVX-512 instrukcijų rinkinyje.
Dėl šios priežasties instrukcijų rinkinių architektūros, tokios kaip AVX-512, labiau tinka serverio darbo krūviams, o vartotojų klasės mikroschemų rinkiniai gali veikti be sudėtingų instrukcijų rinkinių, tokių kaip AVX-512.