Az eszközön lévő CPU másodpercenként több millió számítást hajt végre, és felelős a számítógép működéséért. A CPU-val az aritmetikai feldolgozó egység (ALU) dolgozik, amely a matematikai feladatokért felel, és amelyet a CPU mikrokódja vezérel.

Nos, ez a CPU mikrokód nem statikus, és javítható, és az egyik ilyen fejlesztés az Intel AVX-512 utasításkészlete volt. Az Intel azonban készen áll arra, hogy megölje az AVX-512-t, végleg eltávolítva a funkcionalitást a CPU-kból. De miért? Miért öli meg az Intel az AVX-512-t?

Hogyan működik az ALU?

Az AVX-512 utasításkészlet megismerése előtt elengedhetetlen, hogy megértse az ALU működését.

Ahogy a neve is sugallja, az aritmetikai feldolgozó egységet matematikai feladatok elvégzésére használják. Ezek a feladatok olyan műveleteket tartalmaznak, mint az összeadás, szorzás és lebegőpontos számítások. E feladatok elvégzéséhez az ALU alkalmazás-specifikus digitális áramkört használ, amelyet a CPU órajele hajt meg.

Ezért a CPU órajele határozza meg az utasítások feldolgozási sebességét az ALU-ban. Tehát, ha a CPU 5 GHz-es órajelen működik, az ALU 5 milliárd utasítást tud feldolgozni egy másodperc alatt. Emiatt a CPU teljesítménye az órajel növekedésével javul.

instagram viewer

Ez azt jelenti, hogy a CPU órajelének növekedésével a CPU által termelt hő mennyisége nő. Emiatt az energiafelhasználók folyékony nitrogént használnak rendszerük túlhajtásához. Sajnos ez a hőmérséklet-emelkedés magas frekvenciákon megakadályozza a CPU-gyártókat abban, hogy egy bizonyos küszöb fölé emeljék az órajel frekvenciáját.

Tehát hogyan kínál egy új generációs processzor jobb teljesítményt a régebbi iterációkhoz képest? Nos, a processzorgyártók a párhuzamosság fogalmát használják a teljesítmény növelésére. Ez a párhuzamosság többmagos architektúra használatával érhető el, ahol több különböző feldolgozómagot használnak a CPU számítási teljesítményének javítására.

A teljesítmény javításának másik módja a SIMD utasításkészlet használata. Egyszerűen fogalmazva, az egyetlen utasítás több adatú utasítás lehetővé teszi az ALU számára, hogy ugyanazt az utasítást hajtsa végre különböző adatpontokon. Ez a fajta párhuzamosság javítja a CPU teljesítményét, az AVX-512 pedig egy SIMD utasítás, amelyet a CPU teljesítményének növelésére használnak meghatározott feladatok végrehajtása során.

Hogyan jutnak el az adatok az ALU-hoz?

Most, hogy alapvető ismereteink vannak az ALU működéséről, meg kell értenünk, hogyan jutnak el az adatok az ALU-hoz.

Az ALU eléréséhez az adatoknak különböző tárolórendszereken kell keresztülhaladniuk. Ez az adatút egy számítástechnikai rendszer memóriahierarchiáján alapul. A hierarchia rövid áttekintése az alábbiakban található:

  • Másodlagos memória: A számítástechnikai eszköz másodlagos memóriája egy állandó tárolóeszközből áll. Ez az eszköz folyamatosan képes adatokat tárolni, de nem olyan gyors, mint a CPU. Emiatt a CPU nem férhet hozzá közvetlenül a másodlagos tárolórendszerből származó adatokhoz.
  • Elsődleges memória: Az elsődleges tárolórendszer véletlen hozzáférésű memóriából (RAM) áll. Ez a tárolórendszer gyorsabb, mint a másodlagos tárolórendszer, de nem képes tartósan tárolni az adatokat. Ezért, amikor megnyit egy fájlt a rendszeren, az a merevlemezről a RAM-ba kerül. Ennek ellenére még a RAM sem elég gyors a CPU számára.
  • Cache memória: A gyorsítótár a CPU-ba van beágyazva, és a számítógép leggyorsabb memóriarendszere. Ez a memóriarendszer három részre oszlik, nevezetesen a L1, L2 és L3 gyorsítótár. Minden adat, amelyet az ALU-nak fel kell dolgoznia, a merevlemezről a RAM-ba, majd a gyorsítótárba kerül. Ennek ellenére az ALU nem tud hozzáférni az adatokhoz közvetlenül a gyorsítótárból.
  • CPU regiszterek: A számítástechnikai eszközök CPU regisztere nagyon kicsi, és a számítógép architektúrája alapján ezek a regiszterek 32 vagy 64 bit adatot tárolhatnak. Miután az adatok bekerültek ezekbe a regiszterekbe, az ALU hozzáférhet hozzájuk, és végrehajthatja az adott feladatot.

Mi az AVX-512, és hogyan működik?

Az AVX 512 utasításkészlet az AVX második iterációja, és 2013-ban került az Intel processzorokhoz. Az Advanced Vector Extensions rövidítése, az AVX utasításkészletet először az Intel Xeonjában vezették be. Phi (Knights Landing) architektúra, és később eljutott az Intel szerverprocesszoraihoz a Skylake-X-ben CPU-k.

Ezenkívül az AVX-512 utasításkészlet eljutott a Cannon Lake architektúrájú fogyasztói rendszerekhez, és később az Ice Lake és a Tiger Lake architektúrák is támogatták.

Ennek az utasításkészletnek a fő célja az volt, hogy felgyorsítsa az adattömörítést, képfeldolgozást és kriptográfiai számításokat magában foglaló feladatokat. A régebbi iterációkhoz képest dupla számítási teljesítményt kínáló AVX-512 utasításkészlet jelentős teljesítménynövekedést kínál.

Tehát hogyan duplázta meg az Intel CPU-i teljesítményét az AVX-512 architektúrával?

Nos, amint azt korábban kifejtettük, az ALU csak a CPU regiszterében lévő adatokhoz férhet hozzá. Az Advanced Vector Extensions utasításkészlet megnöveli ezeknek a regisztereknek a méretét.

Ennek a méretnövekedésnek köszönhetően az ALU több adatpontot tud feldolgozni egyetlen utasításon belül, növelve a rendszer teljesítményét.

Ami a regiszterméretet illeti, az AVX-512 utasításkészlet harminckét 512 bites regisztert kínál, ami duplája a régebbi AVX utasításkészlethez képest.

Miért fejezi be az Intel az AVX-512-t?

Amint azt korábban kifejtettük, az AVX-512 utasításkészlet számos számítási előnyt kínál. Valójában a népszerű könyvtárak, mint például a TensorFlow, az utasításkészletet használják az utasításkészletet támogató CPU-k gyorsabb számítási elvégzésére.

Tehát miért tiltja le az Intel az AVX-512-t a legutóbbi Alder Lake processzorain?

Nos, az Alder Lake processzorok eltérnek az Intel által gyártott régebbi processzoroktól. Míg a régebbi rendszerek ugyanazon az architektúrán futó magokat használtak, az Alder Lake processzorok két különböző magot használnak. Ezeket a magokat az Alder lake CPU-kban ún P és E-magok és különböző architektúrák hajtják őket.

Míg a P-magok a Golden Cove mikroarchitektúrát használják, az E-magok a Gracemont mikroarchitektúrát. Ez az architektúrabeli különbség megakadályozza, hogy az ütemező megfelelően működjön, amikor bizonyos utasítások futhatnak az egyik architektúrán, de nem a másikon.

Az Alder Lake processzorok esetében az AVX-512 utasításkészlet egy ilyen példa, mivel a P-magok rendelkeznek az utasítás feldolgozásához szükséges hardverrel, az E-magok viszont nem.

Emiatt az Alder Lake CPU-k nem támogatják az AVX-512 utasításkészletet.

Ennek ellenére az AVX-512 utasítások futhatnak bizonyos Alder Lake CPU-kon, ahol az Intel fizikailag nem egyesítette őket. Ehhez a felhasználóknak le kell tiltaniuk az E-magokat a BIOS alatt.

Szükséges az AVX-512 a fogyasztói lapkakészletekhez?

Az AVX-512 utasításkészlet növeli a CPU regiszterének méretét a teljesítmény javítása érdekében. Ez a teljesítménynövekedés lehetővé teszi a CPU-k számára, hogy gyorsabban törjék össze a számokat, ami lehetővé teszi a felhasználók számára, hogy nagyobb sebességgel futtassák a videó/audió tömörítési algoritmusokat.

Ennek ellenére ez a teljesítménynövekedés csak akkor figyelhető meg, ha a programban meghatározott utasítás az AVX-512 utasításkészleten való futtatásra van optimalizálva.

Emiatt az olyan utasításkészlet-architektúrák, mint az AVX-512, jobban megfelelnek a szerver munkaterhelésének, és a fogyasztói szintű lapkakészletek olyan összetett utasításkészletek nélkül is működhetnek, mint az AVX-512.