Mi az AVX-512, és miért kapcsolja ki az Intel?

Mi az AVX-512, és miért kapcsolja ki az Intel?

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?





MAKEUSEOF A NAP VIDEÓJA

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.

hogyan lehet átlátszó hátteret kapni

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.



  Lapkakészletek az alaplapon

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, és az AVX-512 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.





  merevlemez üres háttérrel

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 jutott el az Intel processzorokhoz. Az Advanced Vector Extensions rövidítése, az AVX utasításkészletet először az Intel Xeon Phi (Knights Landing) architektúrájában vezették be, majd később eljutottak az Intel szerverére is. processzorok a Skylake-X CPU-kban.

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 definiált 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.