X86 energiagazdálkodás Az alapok a tranzisztor szintjén Minden elektronika
Mielőtt megfontolnánk a legújabb beágyazott x86 processzorok energiagazdálkodását, amelyek körülbelül 6–60 W-ot fogyasztanak, fontos ismerni a szilíciumlogika alapvető határait. A jelenlegi energiagazdálkodási rendszereknek biztosítaniuk kell, hogy ezeket a határértékeket ne lépjék túl, valamint magas megbízhatóságot és funkcionalitást kell biztosítaniuk minden működési körülmény között. A továbbiakban a cikk tehát elsősorban az x86 processzorok ezen befolyásoló tényezőivel foglalkozik, még akkor is, ha sok más tényező is létezik.
Tartsa be a működési határértékeket
Sarokadatok
Az AMD beépített processzorait, például az Epyc és a Ryzen x86 architektúrával és 14 nm-es FinFET technológiával tervezték az optimális számítási teljesítmény érdekében, de kifinomult energiagazdálkodást igényelnek. Az első részben a cikk ismerteti a tranzisztorszintű jó energiagazdálkodás szükségességének alapjait: a munkaciklus befolyását az energiafogyasztásra, a szivárgási áramokra, a processzor varianciáira és a terhelésre. Ez utóbbi különösen fontos, mivel a jelenlegi beágyazott processzorok sok olyan funkciót integrálnak, amelyeket korábban külső komponensek vettek át - erre a legjobb példa a GPU.
A processzor órája valószínűleg a legkézenfekvőbb teljesítménykorlátozó tényező. Még a végfelhasználók is ismerik a teljesítmény és az órajel közötti kapcsolatot. A munkaciklus meghatározza, hogy a logika milyen gyorsan vált, és milyen gyorsan hajtható végre a parancs. Két azonos processzorral, de eltérő architektúrával működő processzor teljesítménye nem lesz azonos. Ennek ellenére a végrehajtás sebessége mindkettőjükkel növekszik. A munkaráta - vagyis a processzor frekvenciájának - növelésének lehetőségeit azonban több tényező korlátozza. A legfontosabbak a feszültség és az áram.
Aki ismeri a tranzisztortechnikát, tudja, hogy a feszültség rendkívül fontos hatással van a frekvenciára. Tranzisztorban a gyorsabb kapcsolási folyamatok nagyobb feszültséget igényelnek annak érdekében, hogy leküzdjék a tranzisztor rezisztív és kapacitív elemeit. A magasabb feszültség azonban fokozott öregedési hatásokat eredményez. Ennek eredményeként vannak korlátai a feszültség alkalmazásának, ha valaki hosszú élettartamot akar biztosítani. A tranzisztor gyorsabb kapcsolási folyamatai nagyobb áramokat is generálnak, mivel a kapacitív elemek erősebben töltődnek és kisülnek. Még akkor is, ha az egyedi tranzisztoráram nagyon kicsi lehet, az áramprocesszoroknak mégis több milliárd tranzisztora lehet, így sok kicsi áram gyorsan összeadódik. A processzor szerszáma általában egy csomagban van elhelyezve. Itt is vannak korlátok, hogy mennyi energiát lehet hatékonyan ellátni a szerszámmal. Ezért minden digitális IC-nek rendelkeznie kell a tranzisztor feszültségének és áramának ideális egyensúlyával a maximálisan használható órajel elérése érdekében.
A munkaciklus megegyezik az energiafogyasztással
Ohm és Joule törvényének kombinációja azt is tanítja, hogy a feszültség és az áram áramvesztést generál, és hogy mindkét paraméter közvetlen hatással van az energiafogyasztásra. Ezért a valóságban a munkaciklus korlátozása valójában az energiafogyasztás vagy az energiafogyasztás korlátozása. A tranzisztor gyorsabb kapcsolási folyamatai nagyobb áramáramhoz vezetnek, és magasabb feszültséget is igényelhetnek. Mindkettő növeli az energiafogyasztást. Ezért minden integrált áramkörre meghatározták a maximális energiafogyasztást, hogy a fejlesztők az áramellátás és a hűtés követelményeinek megfelelően tervezhessék meg a rendszereket. Az energiafogyasztás korlátozása ezért gyakran a teljesítmény legkritikusabb korlátozó tényezője, különösen azoknál a processzoroknál, amelyek az energiafogyasztás alsó végén vannak - vagyis különösen energiatakarékosak. A mai x86 architektúrán alapuló processzorokat ezért általában jobban korlátozza az energiafogyasztás, mint a maximális munkaráta, amikor erősen használják őket.
A mérési hőmérséklet egy másik szempont, amelyet figyelembe kell venni, bár nem a legkézenfekvőbb. A processzor működése során az elfogyasztott elektromos teljesítmény hővé alakul. A hő azonban befolyásolja mind a szilícium-tranzisztor működési tulajdonságait, mind a doppingelemek diffúziós sebességét a tranzisztor kereszteződéseiben. Végül a diffúzió addig változtatja meg a tranzisztor elektromos tulajdonságait, amíg az már nem működik megfelelően, és nem éri el élettartama végét. A processzor átmenetének hőmérsékletének korlátozása ezért döntő fontosságú a várható élettartam szempontjából. Ezért határozzák meg a processzorgyártók a szerszám maximális hőmérsékletét is. Ezeknek a hőmérsékleti határoknak való megfelelés az egyik legfontosabb feladata az energiagazdálkodásnak a processzorban.
Szivárgási áramok

1. ábra: Az AMD beágyazott processzor szivárgási áramának aránya a 14 nm-es FinFET gyártási folyamatban. AMD
A szilícium tranzisztorok másik alapelve a szivárgási áramok előfordulása a csomópontokban és az aljzaton. A szivárgási áram szintje egy bizonyos folyamattípusú processzorban az alkalmazott feszültségtől és hőmérséklettől függően változhat, és a jelenlegi nagy teljesítményű processzorokkal rendkívül magas értékeket érhet el. Ugyanis ugyanazok a tényezők, amelyek a tranzisztort gyorsabban kapcsolják - vagyis magasabb órajelet tesznek lehetővé - szintén növelik a szivárgási áramokat. Ezek a szivárgási áramok további energiaeloszlást generálnak, amelyet hozzá kell adni a processzor energiafogyasztásához. A szivárgási áramok miatti energiaveszteség tehát szintén csökkenti a processzor számára rendelkezésre álló tényleges teljesítményt, vagyis azt a teljesítményt, amelyet a tranzisztor áramkör munkarészéhez használnak. Az 1. ábra a 14 nm-es FinFET tranzisztorral rendelkező AMD processzor áramának függvényében mutatja a szivárgási áramok arányát a teljes energiafogyasztásban.
2. ábra: A szivárgási áramok miatti energiaveszteség aránya a hőmérséklet függvényében egy AMD-ből származó x86-os processzorhoz 14 nm-es FinFET technológiában. AMD
A szivárgási áramok miatti teljesítményveszteség a szerszám hőmérsékletével növekszik. Integrált áramkörben sokszorosára nő az üzemi hőmérséklet felett. Ez azt jelenti, hogy a processzor energiafogyasztása automatikusan nő a hőmérséklet emelkedésével, bár a többi paraméter, például az órajel, a feszültség és a feldolgozási terhelés ugyanaz marad. A processzorgyártóknak ezért vagy elegendő mozgásteret kell biztosítaniuk az energiafogyasztás növeléséhez, amikor a hőmérséklet emelkedik, vagy pedig hőmérsékletfüggő energiagazdálkodási rendszert alkalmaznak. A 2. ábra a szivárgási áramok miatti energiaveszteséget mutatja a fent említett AMD processzorcsalád hőmérsékletének függvényében.
A processzor eltérései
A félvezetők gyártására szolgáló szilícium fotolitográfiai folyamatnak vannak benne rejlő tökéletlenségei, amelyek a tranzisztor tervezésében varianciákként jelennek meg, és ezáltal befolyásolják működési jellemzőiket. Ilyen eltérések nemcsak a szilícium ostyák különböző tételeivel, hanem egyetlen ostyán is megmutatkoznak. Ez azt eredményezheti, hogy egy processzor meghal az ostya egyik területén, amely nagyobb feszültséget igényel ugyanazon frekvencián, mint a szomszédai, vagy nagyobb szivárgási áramokkal rendelkezik. Az 1. ábra ezeket a szivárgási áramok eltéréseit is jól szemlélteti. És mivel az elektromos teljesítmény kulcsfontosságú tényező egy bizonyos processzorral elérhető teljesítmény meghatározásához, ez természetesen a teljesítmény ingadozását is eredményezi.
A processzorgyártók ezért különféle csoportokba sorolják a matricákat, és ezeket a különféle specifikációkkal (például 25 W és 35 W) különféle processzor modellekhez rendelik a hozam maximalizálása érdekében. A gyártó meghatározza ezeknek az eltéréseknek a mértékét az egyes modelleknél, az alacsonyabb költségű modelleknél általában megengedett a nagyobb eltérés. Ezeknek a változó eltéréseknek képesnek kell lenniük a jelenlegi energiagazdálkodási megoldások kezelésére is.
Különböző terhelés, eltérő energiaigény
GPU a fedélzeten
A grafikus processzor (GPU) integrálása a legfontosabb, mert ez egy nagyon nagy, dedikált számítási mag. Egyes x86 processzorok grafikus processzora több tranzisztort tartalmazhat, mint amennyit a CPU magok kínálnak, mert az alkalmazások egyre grafikusabbak. Ez különösen igaz az olyan vállalatokra, mint az AMD, amelyek mikroprocesszoraikban kifejezetten nagyon erős, integrált grafikus egységekre támaszkodnak. A CPU és a GPU utasításainak kombinációját egyszerre végrehajtó vegyes munkaterhelések növelhetik a különbözõ energiafogyasztás ezt a hatását.
3. ábra: A CPU energiafogyasztása két különböző terheléssel, amelyek a CPU-ra korlátozódnak (AMD Embedded RX-421BD-SoC, Prime 95 v29.3 b1 Large FFT, Microsoft Sysinternals CPU Stress v1.0), a Prime 95 itt szimulálja Extrém eset. AMD
Erre mutat példát a 3. ábra. Itt egy, a CPU-ra korlátozott, két különböző terhelésű CPU energiafogyasztását mértük egy véletlenszerűen kiválasztott AMD Embedded RX-421BD SoC-n, az Excavator architektúrája alapján. Mindkét munkaterületnek egyetlen CPU-magja van, amelyet teljes mértékben kihasználnak a maximális órajel-frekvencia fenntartása mellett. A Prime 95-öt erre használták, mert ez a program az extrém esetet szimulálja. Ezért gyakran "termikus vírusnak" nevezik. A többi munkaterhelés energiafogyasztási értékét erre a szintre normalizálták.
A 3. ábra értékei azt mutatják, hogy a CPU mag energiafogyasztása csak 57 százalék körül alakult a Prime 95-höz képest, kevesebb energiára éhes munkaterhelés mellett. Több fizikai magra extrapolálva könnyen belátható, hogy az energiafogyasztás különbségei a munkaterheléstől függően nagyon nagyok lehetnek. Ebben az esetben a CPU meg tudta tartani a maximális 3,5 GHz-es órajelet az aktív magon anélkül, hogy elérte volna a teljesítmény tartományát vagy az áramfojtást, így a munkasebességet nem kellett csökkenteni.
4. ábra: A Microsoft Direct X 9 SDK (Blobs) egyszerű 3D-s munkaterhelésének összehasonlítása a külső GPU-munkaterheléssel, a Furmarkmal. AMD
A GPU-terhelések teljesítménykövetelményei hasonlóak. A 4. ábra összehasonlítja a Microsoft DirectX 9 SDK ("Blobok") egyszerű 3D-s munkaterhelését a Furmarkmal, egy extrém GPU-terheléssel, amely szintén a termikus vírusok osztályába tartozik. A GPU frekvenciáját mesterségesen 720 MHz-re korlátozták az áramkorlátozás elkerülése és az energiafogyasztás lehető legnagyobb különbségének bemutatása érdekében.
A GPU energiafogyasztási adatai azt mutatják, hogy a Blobs alkalmazás csak a Furmark teljesítményének 82 százalékát fogyasztja. Azt is meg kell jegyezni, hogy az energiaeloszlás növekedése a növekvő munkaterhelés mellett az adott rendszer környezetében is megnöveli a hőmérsékletet. És mint fentebb írtuk, a magasabb hőmérséklet a szivárgási áramok miatt még nagyobb energiaveszteséghez vezet, így a további teljesítményigény különbsége még nagyobb. Ha csak a kizárólag a munkaterhelés által okozott további teljesítményt akarjuk megtartani, akkor a szerszám hőmérsékletének állandónak kell maradnia. Ez ebben a tesztben nem történt meg. Az eltérés azonban csak néhány fok volt, így az eredményeket nem befolyásolta jelentősen.
Ez a cikk az AMD dokumentumaion alapul.