Gestionarea energiei X86 Noțiuni de bază la nivelul tranzistorului Toate componentele electronice

Înainte de a lua în considerare gestionarea energiei celor mai recente procesoare încorporate x86, care consumă în jur de 6 până la 60 W, este important să cunoaștem limitele fundamentale ale logicii siliconului. Sistemele actuale de gestionare a energiei ar trebui să se asigure că aceste limite nu sunt depășite și să asigure un nivel ridicat de fiabilitate și funcționalitate în toate condițiile de operare. În cele ce urmează, articolul tratează, prin urmare, în primul rând acești factori de influență pentru procesoarele x86, chiar dacă există mulți alți factori.

Respectați limitele de funcționare

Date din colț

Procesoarele încorporate precum Epyc și Ryzen de la AMD cu arhitectură x86 și tehnologie FinFET de 14 nm sunt proiectate pentru o putere optimă de calcul, dar necesită o gestionare sofisticată a energiei. În această primă parte, articolul descrie elementele de bază pentru necesitatea unei bune gestionări a puterii la nivelul tranzistorului: influența ciclului de lucru asupra consumului de energie, curenții de scurgere, variațiile procesorului și volumul de lucru. Acesta din urmă are o importanță deosebită, deoarece procesoarele încorporate actuale integrează multe funcții care au fost preluate anterior de componente externe - cel mai bun exemplu în acest sens este GPU.

Ceasul procesorului este probabil cel mai evident factor de limitare a performanței. Chiar și clienții finali sunt familiarizați cu relația dintre performanță și rata de ceas. Ciclul de lucru definește cât de rapid este comutată logica și cât de rapid pot fi executate comenzile. Performanța a două procesoare care funcționează cu aceeași rată de ceas, dar cu arhitectură diferită, nu va fi aceeași. Cu toate acestea, viteza de execuție crește cu ambele. Cu toate acestea, posibilitățile de creștere a ratei de lucru - adică frecvența unui procesor - sunt limitate de mai mulți factori. Cele mai importante sunt tensiunea și curentul.

Oricine este familiarizat cu tehnologia tranzistorilor știe că tensiunea are o influență extrem de importantă asupra frecvenței. Într-un tranzistor, procesele de comutare mai rapide necesită o tensiune mai mare pentru a putea depăși elementele rezistive și capacitive ale unui tranzistor. Cu toate acestea, tensiunile mai mari conduc la efecte crescute de îmbătrânire. Ca urmare, există limite la aplicarea tensiunii dacă se dorește asigurarea unei durate de viață lungi. Procesele de comutare mai rapide într-un tranzistor generează, de asemenea, curenți mai mari, deoarece elementele capacitive sunt încărcate și descărcate mai mult. Chiar dacă curentul individual al tranzistorului poate fi foarte mic, procesoarele de curent pot avea miliarde de tranzistoare, astfel încât mulți curenți mici se adună rapid. Matrița procesorului este de obicei găzduită într-un pachet. Și aici există limite în ceea ce privește cantitatea de energie care poate fi furnizată efectiv matriței. Prin urmare, fiecare CI digital trebuie să aibă un echilibru ideal între tensiunea și curentul tranzistorului pentru a atinge rata maximă de ceas utilizabilă.

Ciclul de lucru este egal cu consumul de energie

Combinația dintre legea lui Ohm și Joule învață, de asemenea, că tensiunea și curentul generează pierderi de energie și că ambii parametri au o influență directă asupra consumului de energie. Prin urmare, în realitate, limitarea ciclului de lucru este de fapt o limitare a consumului de energie sau a consumului de energie. Procesele de comutare mai rapide într-un tranzistor duc la un debit de curent mai mare și pot necesita, de asemenea, tensiuni mai mari. Ambele cresc consumul de energie. Prin urmare, este definit un consum maxim de energie pentru toate circuitele integrate, astfel încât dezvoltatorii să poată proiecta sistemele în funcție de cerințele de putere și răcire. Limitarea consumului de energie este, prin urmare, adesea cel mai critic factor de limitare pentru performanță, în special pentru procesoarele care se află la capătul inferior al consumului de energie - adică sunt proiectate pentru a economisi mai mult energie. Procesoarele de astăzi bazate pe arhitectura x86 sunt, prin urmare, de obicei mai limitate de consumul de energie decât de rata maximă de lucru atunci când sunt utilizate intens.

Temperatura morții este un alt factor de luat în considerare, deși nu cel mai evident. În funcționarea procesorului, puterea electrică consumată este transformată în căldură. Cu toate acestea, căldura influențează atât proprietățile de funcționare ale unui tranzistor de siliciu, cât și viteza de difuzie a elementelor dopante la joncțiunile tranzistorului. În cele din urmă, difuzia modifică proprietățile electrice ale unui tranzistor până când acesta nu mai funcționează corect și ajunge la sfârșitul duratei sale de viață. Prin urmare, limitarea temperaturii la tranzițiile într-un procesor este crucială pentru durata de viață așteptată. Acesta este motivul pentru care producătorii de procesoare definesc și temperaturile maxime ale matriței. Respectarea acestor limite de temperatură este una dintre cele mai importante sarcini de gestionare a energiei într-un procesor.

Curenți de scurgere

noțiuni

Figura 1: Ponderea curentului de scurgere pentru un procesor încorporat AMD în procesul de fabricație FinFET de 14 nm. AMD

Un alt principiu de bază al tranzistoarelor de siliciu este apariția curenților de scurgere la joncțiuni și la substrat. Nivelul curentului de scurgere într-un procesor de un anumit tip de proces poate varia în funcție de tensiunea și temperatura aplicate și poate atinge valori extrem de ridicate cu procesoarele curente de înaltă performanță. Acest lucru se datorează faptului că aceiași factori care fac comutatorul tranzistorului mai rapid - adică permit o rată de ceas mai mare - măresc și curenții de scurgere. Acești curenți de scurgere generează pierderi suplimentare de energie care trebuie adăugate la consumul de energie al procesorului. Pierderea de putere datorată curenților de scurgere reduce astfel puterea efectivă disponibilă procesorului, adică puterea utilizată pentru partea de lucru a circuitului tranzistorului. Figura 1 arată proporția curenților de scurgere în consumul total de energie în funcție de curent pentru un procesor AMD cu tranzistoare FinFET de 14 nm.

Figura 2: Proporția pierderilor de energie datorate curenților de scurgere în funcție de temperatură pentru un procesor x86 de la AMD în tehnologia FinFET de 14 nm. AMD

Pierderea de putere datorată curenților de scurgere crește exponențial cu temperatura matriței. Într-un circuit integrat, acesta crește de multe ori peste temperatura de funcționare. Aceasta înseamnă că consumul de energie al unui procesor crește automat pe măsură ce temperatura crește, deși parametrii rămași, cum ar fi rata de ceas, tensiunea și sarcina de procesare rămân aceiași. Prin urmare, producătorii de CPU trebuie fie să permită suficientă marjă de manevră pentru creșterea consumului de energie la creșterea temperaturilor, fie utilizează o schemă de gestionare a energiei dependentă de temperatură. Figura 2 prezintă pierderea de energie datorată curenților de scurgere în funcție de temperatura pentru familia de procesoare AMD menționată mai sus.

Varianțe ale procesorului

Procesul de fotolitografie pe siliciu pentru fabricarea semiconductoarelor are imperfecțiuni inerente care apar ca varianțe în proiectarea tranzistorului și, astfel, afectează caracteristicile lor de funcționare. Astfel de varianțe apar nu numai cu diferite loturi de napolitane din siliciu, ci și pe o singură placă. Acestea pot avea ca rezultat o moare a procesorului dintr-o zonă a plăcii, necesitând o tensiune mai mare pentru aceeași frecvență decât vecinii săi sau având curenți de scurgere mai mari. Figura 1 ilustrează destul de bine aceste variații ale curenților de scurgere. Și întrucât puterea electrică este un factor cheie pentru determinarea performanței realizabile cu un anumit procesor, acest lucru are ca rezultat în mod natural fluctuații ale performanței.

Prin urmare, producătorii de procesoare clasifică matrițele în grupuri diferite și le atribuie diferitelor modele de procesoare cu specificații diferite (de exemplu 25 W și 35 W) pentru a maximiza randamentul. Producătorul determină domeniul de aplicare al acestor varianțe pentru fiecare model, modelelor cu costuri mai mici fiind permis, în general, să aibă varianțe mai mari. Aceste varianțe variabile trebuie să poată face față și soluțiilor actuale de gestionare a energiei.

Volum de lucru diferit, cerințe energetice diferite

GPU la bord

Integrarea unității de procesare grafică (GPU) este cea mai importantă, deoarece este un nucleu de calcul dedicat foarte mare. Procesorul grafic din unele procesoare x86 poate conține mai multe tranzistoare decât oferă nucleele procesorului, deoarece aplicațiile au devenit din ce în ce mai intensive în grafică. Acest lucru este valabil mai ales pentru companii precum AMD, care se bazează în mod special pe unități grafice integrate foarte puternice în microprocesoarele lor. Sarcinile de lucru mixte care execută o combinație de instrucțiuni CPU și GPU în același timp pot crește acest efect al consumului diferențial de energie.

Figura 3: Consumul de energie al unui CPU cu două sarcini de lucru diferite limitate la CPU (AMD Embedded RX-421BD-SoC, Prime 95 v29.3 b1 Large FFT, Microsoft Sysinternals CPU Stress v1.0), Prime 95 simulează aici Caz extrem. AMD

Figura 3 prezintă un exemplu în acest sens. Aici, consumul de energie al unui CPU cu două sarcini de lucru diferite limitate la CPU a fost măsurat pe un SoC AMD Embedded RX-421BD selectat aleator pe baza arhitecturii Excavator. Ambele încărcări de lucru au un singur nucleu CPU complet utilizat, menținând în același timp frecvența maximă a ceasului. Prime 95 a fost folosit pentru acest lucru, deoarece acest program simulează cazul extrem. Prin urmare, este adesea denumit „virusul termic”. Valorile consumului de energie pentru cealaltă sarcină de lucru au fost normalizate la acest nivel.

Valorile din Figura 3 arată că consumul de energie al unui nucleu al procesorului cu o sarcină de muncă mai scăzută a fost de numai 57% comparativ cu Prime 95. Extrapolându-se la mai multe nuclee fizice, este ușor de văzut că diferențele în consumul de energie pot fi foarte mari în funcție de volumul de muncă. În acest caz, CPU a reușit să păstreze rata de ceas maximă de 3,5 GHz pe nucleul activ fără a atinge intervalul de putere sau de limitare a curentului, astfel încât rata de lucru nu a trebuit să fie redusă.

Figura 4: Compararea unei sarcini de lucru 3D simple din Microsoft Direct X 9 SDK (Blobs) cu Furmark, o sarcină de lucru GPU externă. AMD

Cerințele de performanță ale încărcărilor de lucru GPU sunt similare. Figura 4 compară o sarcină de lucru 3D simplă din Microsoft DirectX 9 SDK („Blobs”) cu Furmark, o sarcină de lucru GPU extremă care aparține și clasei de viruși termici. Frecvența GPU a fost limitată artificial la 720 MHz pentru a evita o limitare a puterii și pentru a arăta diferența maximă posibilă în consumul de energie.

Datele despre consumul de energie ale GPU arată că aplicația Blobs consumă doar 82% din puterea Furmark. De asemenea, trebuie remarcat faptul că creșterea disipării puterii cu creșterea volumului de muncă crește, de asemenea, temperatura într-un mediu de sistem dat. Și, așa cum s-a scris deja mai sus, o temperatură mai ridicată duce, de asemenea, la o pierdere de putere și mai mare din cauza curenților de scurgere, astfel încât diferența de putere suplimentară necesară este chiar mai mare. Dacă numai performanța suplimentară cauzată exclusiv de sarcina de lucru trebuie menținută, temperatura matriței ar trebui să rămână constantă. Acest lucru nu a fost făcut în acest test. Cu toate acestea, abaterea a fost de doar câteva grade, astfel încât rezultatele nu au fost afectate semnificativ.

Acest articol se bazează pe documente de la AMD.