Modul 7 — PERFORMANȚĂ ȘI GRAFICĂ

Lecția 7.4 — Throttling

thermal throttling, reducerea frecvenței, protecție termică

Începe Lecția

Introducere

Ai observat vreodată că un joc rulează fluid la început, dar după 30 de minute de gameplay intens framerate-ul scade? Motivul se numește thermal throttling: când temperatura SoC-ului depășește un prag critic, procesorul reduce automat frecvența pentru a genera mai puțină căldură. Performanța scade, dar chipul supraviețuiește. Este un mecanism de protecție care sacrifică viteza pentru longevitate.

Această lecție acoperă thermal throttling (reducerea automată a performanței la supraîncălzire), reducerea frecvenței (cum procesorul coboară MHz-ii în pași pentru a reduce puterea disipată) și protecția termică — mecanismul care previne deteriorarea permanentă a semiconductoarelor.

Scopul nu este memorarea pragurilor de temperatură, ci înțelegerea de ce puterea disipată crește cu frecvența și cu pătratul tensiunii, cum consolele moderne redistribuie bugetul de putere dinamic între CPU și GPU și de ce o consolă cu pasta termică uscată pierde performanță înainte de a se opri.

Teorie Structurată

7.4.1 — Definiția Dynamic Frequency Scaling (CPU Throttling)

  • Dynamic frequency scaling (cunoscut și ca CPU throttling) = tehnică de power management în arhitectura calculatoarelor
  • Frecvența unui microprocesor poate fi ajustată automat "on the fly" în funcție de nevoile reale
  • Scopuri: conservarea energiei, reducerea căldurii generate
  • Ajută la: prelungirea duratei bateriei (dispozitive mobile), reducerea costurilor de răcire și zgomot (sisteme silențioase), măsură de securitate pentru sisteme supraîncălzite (ex: overclocking necorespunzător)
  • Aproape întotdeauna combinat cu Dynamic Voltage Scaling (DVS) – frecvențe mai mari necesită tensiuni de alimentare mai mari
  • Combinația: DVFS (Dynamic Voltage and Frequency Scaling)

7.4.2 — Funcționare – formula puterii dinamice

  • Puterea dinamică (switching power) disipată: P = C × V² × A × f

C = capacitatea comutată per ciclu de ceas

V = tensiunea

A = factorul de activitate (numărul mediu de comutări per ciclu)

f = frecvența de ceas

  • Tensiunea (V) este determinantul principal al consumului de energie și încălzirii (V² în formulă)
  • Tensiunea necesară pentru funcționare stabilă este determinată de frecvență – poate fi redusă dacă frecvența scade
  • Puterea statică (leakage currents): a devenit din ce în ce mai importantă pe măsură ce tranzistoarele s-au micșorat
  • Acum un deceniu: puterea dinamică = ~2/3 din puterea totală a chip-ului
  • Astăzi: pierderile prin curenți de scurgere tind să domine consumul total în CPU-uri și SoC-uri contemporane
  • Metode de control: high-k metal-gates, power gating
  • Eficiența componentelor (regulatoare de tensiune) scade cu creșterea temperaturii → consum crescut care crește temperatura (feedback pozitiv)
  • Există o frecvență optimă CPU unde consumul de energie este minim (comportament convex al energiei)

7.4.3 — Interfața standard ACPI

  • ACPI 1.0 (1996): definește "C states" (stări idle) pentru CPU, dar FĂRĂ sistem de scalare a frecvenței
  • ACPI 2.0 (2000): introduce P states (performance-power states) – procesorul comunică setările posibile frecvență-putere la OS

• OS comută între stări după necesitate

• SpeedStep, PowerNow!/Cool'n'Quiet, PowerSaver funcționează prin P states

• Limită de maximum 16 stări

  • ACPI 5.0 (2011): introduce CPPC (Collaborative Processor Performance Control)

• Expune sute de niveluri de performanță la OS

• Abstracție de la frecvență → "performance level"

• Permite procesorului să ajusteze funcționarea prin alte metode decât frecvența

7.4.4 — Scalare autonomă a frecvenței

  • CPU-uri moderne pot face frequency scaling autonom, folosind un interval de performanță și o preferință de eficiență/performanță de la OS
  • Intel: din Skylake – hardware-managed P-states (Speed Shift), bazat pe CPPC, control prin model-specific register (MSR)
  • AMD: din Zen 2 – funcție similară, depinde de CPPC; canal preferat MSR (introdus în Zen 3); Zen 2 folosește metoda ACPI AML

7.4.5 — Impactul asupra performanței

  • DFS reduce numărul de instrucțiuni pe care procesorul le poate emite pe unitate de timp → reduce performanța
  • De obicei folosit când sarcina NU este CPU-bound
  • Frequency scaling singur rar merită: economisirea maximă necesită și voltage scaling (datorită V²)
  • "Race to idle" / computational sprinting: mai eficient să rulezi scurt la viteză maximă apoi să stai în idle profund, decât să rulezi lung la viteză redusă
  • Reducerea tensiunii împreună cu frecvența schimbă calculele de eficiență
  • Overclocking: tehnica opusă – creșterea frecvenței peste specificații; static și pe FSB vs DFS dinamic pe multiplicator
  • T-states (ACPI): throttling care nu reduce frecvența reală, ci inserează semnale STPCLK (stop clock) omițând cicluri de lucru

7.4.6 — Suport la producători (CPU)

  • Intel: SpeedStep – folosit pe liniile de procesoare mobile și desktop
  • AMD CPU desktop/server: Cool'n'Quiet – scop: producere de mai puțină căldură → ventilator la viteze mai mici → funcționare mai răcoroasă și silențioasă
  • AMD CPU mobile: PowerNow!
  • AMD GPU: PowerTune și ZeroCore Power (dynamic frequency scaling pentru GPU-uri)
  • Diferite SoC-uri ARM oferă throttling pentru CPU și GPU

7.4.7 — Istoricul SpeedStep

  • Enhanced SpeedStep (EIST): serie de tehnologii DFS (codename Geyserville) – SpeedStep, SpeedStep II, SpeedStep III
  • Permite schimbarea dinamică a vitezei procesorului (în diferite P-states) de către software
  • Scop: satisfacerea nevoilor de performanță instantanee, minimizând consumul de energie și generarea de căldură
  • EIST (SpeedStep III) introdus în Q1 2005 în mai multe Prescott 6 series (Pentium 4 660)
  • Intel Speed Shift Technology (SST) introdus cu arhitectura Skylake (hardware-managed)
  • Marca "Intel SpeedStep" anulată în 2012 (invalidată)

7.4.8 — Explicația SpeedStep

  • La frecvențe mari: performanță mai bună; la frecvențe mici: mai puțină căldură, mai puțin consum
  • Tensiunea de bază (core voltage) poate fi și ea redusă → reducere suplimentară a consumului și căldurii
  • Formula puterii: P = C × V² × f (C fix pentru un procesor dat; V și f variabile)
  • Exemplu Pentium M 1.6 GHz: frecvența scade de la 1.6 la 0.6 GHz (pași de 200 MHz), tensiunea scade de la 1.484 V la 0.956 V

• Rezultat teoretic: consumul scade cu factor 6,4×

• În practică: efect mai mic din cauza instrucțiunilor HLT (suspendă părți ale CPU-ului)

  • Suport OS: Windows XP – Power Management console, Linux – subsistemul "cpufreq"

7.4.9 — Definiția Clock Gating

  • Clock gating = tehnică populară de power management în circuite sincrone
  • Reduce disiparea dinamică de putere prin eliminarea semnalului de ceas când circuitul (sau o sub-parte) este idle (inactiv)
  • Economisește energie prin "pruning" (tăierea) unei părți din arborele de distribuție a ceasului
  • Flip-flop-urile nu mai comută starea → consumul de switching power este redus
  • Eficient în sisteme cu perioade semnificative de inactivitate

7.4.10 — Detalii esențiale – puterea dinamică

  • Puterea medie într-un circuit CMOS: P_avg = P_dynamic + P_short + P_leakage + P_static

• P_dynamic: încărcarea/descărcarea sarcinilor capacitive (proporțională cu activitatea de comutare, capacitanță, V², frecvență)

• P_short: tranzistoarele PMOS și NMOS conduc simultan momentan (scurtcircuit temporar)

• P_leakage: curenți subthreshold și de poartă (chiar cu tranzistoarele oprite; cresc în tehnologii submicron)

• P_static: blocuri mereu active (circuite de polarizare, generatoare de referință)

  • Formula puterii dinamice: P_dynamic = α × CL × Vdd² × f

α = factorul de activitate de comutare

CL = capacitatea de sarcină

Vdd = tensiunea de alimentare

f = frecvența ceasului

  • Clock gating reduce α → scade consumul dinamic
  • Diferență față de power gating: power gating taie alimentarea complet, reducând multiple surse de putere

7.4.11 — Tehnici de clock gating

  • Glitch-free clock gating: folosește un latch sensibil la nivel pentru prevenirea glitch-urilor
  • Semnalul de enable este capturat doar când ceasul este în faza inactivă
  • Clock gating la granularitate mai mare → overhead mai mic, economii mai mari
  • Implementare: manuală (drivere software enable/disable), automată (hardware detectează inactivitatea), hibridă
  • Aplicații: telefoane mobile, dispozitive portabile, sisteme embedded – implementări multiple simultane
  • Clock gating poate reduce și aria circuitului (înlocuiește multiplexoare 2:1 cu un singur ICG)

7.4.12 — Mecanisme de protecție termică (din surse 7.3)

  • Throttling: reducerea frecvenței și tensiunii sau dezactivarea funcțiilor non-esențiale prin dynamic frequency scaling
  • Clock gating, clock stretching: mecanisme de reducere a temperaturii detectate de senzori
  • Thermal shutdown: oprire completă când mecanismele de throttling nu compensează suficient
  • Therm-trip catastrofic: doar la defecțiune gravă a răcirii
  • TDP depășit → throttling automat sau therm-trip
  • Procesoare moderne (Intel, AMD, Qualcomm): rețea de senzori de temperatură integrați
  • Controlat la nivel BIOS (desktop/laptop), hardware (smartphone/tabletă)
  • Prevenire: inspecție vizuală cooler, curățare praf, înlocuire pastă termică

Legătura Fizică — Informatică

Definiția Dynamic Frequency Scaling (CPU Throttling)

  • Dynamic frequency scaling (cunoscut și ca CPU throttling) = tehnică de power management în arhitectura calculatoarelor

Funcționare – formula puterii dinamice

  • Există o frecvență optimă CPU unde consumul de energie este minim (comportament convex al energiei)

Interfața standard ACPI

  • ACPI 1.0 (1996): definește "C states" (stări idle) pentru CPU, dar FĂRĂ sistem de scalare a frecvenței
  • ACPI 2.0 (2000): introduce P states (performance-power states) – procesorul comunică setările posibile frecvență-putere la OS

• Permite procesorului să ajusteze funcționarea prin alte metode decât frecvența

Scalare autonomă a frecvenței

  • CPU-uri moderne pot face frequency scaling autonom, folosind un interval de performanță și o preferință de eficiență/performanță de la OS

Impactul asupra performanței

  • DFS reduce numărul de instrucțiuni pe care procesorul le poate emite pe unitate de timp → reduce performanța
  • De obicei folosit când sarcina NU este CPU-bound
  • "Race to idle" / computational sprinting: mai eficient să rulezi scurt la viteză maximă apoi să stai în idle profund, decât să rulezi lung la viteză redusă

Istoricul SpeedStep

  • Permite schimbarea dinamică a vitezei procesorului (în diferite P-states) de către software

Explicația SpeedStep

  • Formula puterii: P = C × V² × f (C fix pentru un procesor dat; V și f variabile)

• În practică: efect mai mic din cauza instrucțiunilor HLT (suspendă părți ale CPU-ului)

Aplicare Directă în Console

Funcționare – formula puterii dinamice

  • Astăzi: pierderile prin curenți de scurgere tind să domine consumul total în CPU-uri și SoC-uri contemporane

Suport la producători (CPU)

  • Diferite SoC-uri ARM oferă throttling pentru CPU și GPU

Explicația SpeedStep

  • Suport OS: Windows XP – Power Management console, Linux – subsistemul "cpufreq"

Exemplu Real de Hardware

Suport la producători (CPU)

  • AMD CPU desktop/server: Cool'n'Quiet – scop: producere de mai puțină căldură → ventilator la viteze mai mici → funcționare mai răcoroasă și silențioasă
  • AMD CPU mobile: PowerNow!
  • AMD GPU: PowerTune și ZeroCore Power (dynamic frequency scaling pentru GPU-uri)

Istoricul SpeedStep

  • Enhanced SpeedStep (EIST): serie de tehnologii DFS (codename Geyserville) – SpeedStep, SpeedStep II, SpeedStep III
  • Intel Speed Shift Technology (SST) introdus cu arhitectura Skylake (hardware-managed)
  • Marca "Intel SpeedStep" anulată în 2012 (invalidată)

Detalii esențiale – puterea dinamică

• P_leakage: curenți subthreshold și de poartă (chiar cu tranzistoarele oprite; cresc în tehnologii submicron)

Probleme Frecvente Asociate

⚠️ Detalii esențiale – puterea dinamică

• P_short: tranzistoarele PMOS și NMOS conduc simultan momentan (scurtcircuit temporar)

Recapitulare

  • Definiția Dynamic Frequency Scaling (CPU Throttling): Dynamic frequency scaling (cunoscut și ca CPU throttling) = tehnică de power management în arhitectura calculatoarelor
  • Funcționare – formula puterii dinamice: Puterea dinamică (switching power) disipată: P = C × V² × A × f
  • Interfața standard ACPI: ACPI 1.0 (1996): definește "C states" (stări idle) pentru CPU, dar FĂRĂ sistem de scalare a frecvenței
  • Scalare autonomă a frecvenței: CPU-uri moderne pot face frequency scaling autonom, folosind un interval de performanță și o preferință de eficiență/performanță de la OS
  • Impactul asupra performanței: DFS reduce numărul de instrucțiuni pe care procesorul le poate emite pe unitate de timp → reduce performanța
  • Suport la producători (CPU): Intel: SpeedStep – folosit pe liniile de procesoare mobile și desktop
  • Istoricul SpeedStep: Enhanced SpeedStep (EIST): serie de tehnologii DFS (codename Geyserville) – SpeedStep, SpeedStep II, SpeedStep III
  • Explicația SpeedStep: La frecvențe mari: performanță mai bună; la frecvențe mici: mai puțină căldură, mai puțin consum
  • Definiția Clock Gating: Clock gating = tehnică populară de power management în circuite sincrone
  • Detalii esențiale – puterea dinamică: Puterea medie într-un circuit CMOS: P_avg = P_dynamic + P_short + P_leakage + P_static
  • Tehnici de clock gating: Glitch-free clock gating: folosește un latch sensibil la nivel pentru prevenirea glitch-urilor
  • Mecanisme de protecție termică (din surse 7.3): Throttling: reducerea frecvenței și tensiunii sau dezactivarea funcțiilor non-esențiale prin dynamic frequency scaling

Quiz — 5 Întrebări

Întrebarea 1

Care afirmație este corectă despre: Scopuri?

  • a) conservarea energiei, reducerea căldurii generate
  • b) DVFS (Dynamic Voltage and Frequency Scaling)
  • c) P = C × V² × A × f
  • d) prelungirea duratei bateriei (dispozitive mobile), reducerea costurilor de răcire și zgomot (sisteme silențioase), măsură de securitate pentru sisteme supraîncălzite (ex: overclocking necorespunzător)
Arată răspunsul

a) — conservarea energiei, reducerea căldurii generate

Întrebarea 2

Care afirmație este corectă despre: Puterea dinamică (switching power) disipată?

  • a) DVFS (Dynamic Voltage and Frequency Scaling)
  • b) conservarea energiei, reducerea căldurii generate
  • c) P = C × V² × A × f
  • d) prelungirea duratei bateriei (dispozitive mobile), reducerea costurilor de răcire și zgomot (sisteme silențioase), măsură de securitate pentru sisteme supraîncălzite (ex: overclocking necorespunzător)
Arată răspunsul

c) — P = C × V² × A × f

Întrebarea 3

Care afirmație este corectă despre: ACPI 1.0 (1996)?

  • a) conservarea energiei, reducerea căldurii generate
  • b) prelungirea duratei bateriei (dispozitive mobile), reducerea costurilor de răcire și zgomot (sisteme silențioase), măsură de securitate pentru sisteme supraîncălzite (ex: overclocking necorespunzător)
  • c) DVFS (Dynamic Voltage and Frequency Scaling)
  • d) definește "C states" (stări idle) pentru CPU, dar FĂRĂ sistem de scalare a frecvenței
Arată răspunsul

d) — definește "C states" (stări idle) pentru CPU, dar FĂRĂ sistem de scalare a frecvenței

Întrebarea 4

Care afirmație este corectă despre: Intel?

  • a) DVFS (Dynamic Voltage and Frequency Scaling)
  • b) din Skylake – hardware-managed P-states (Speed Shift), bazat pe CPPC, control prin model-specific register (MSR)
  • c) prelungirea duratei bateriei (dispozitive mobile), reducerea costurilor de răcire și zgomot (sisteme silențioase), măsură de securitate pentru sisteme supraîncălzite (ex: overclocking necorespunzător)
  • d) conservarea energiei, reducerea căldurii generate
Arată răspunsul

b) — din Skylake – hardware-managed P-states (Speed Shift), bazat pe CPPC, control prin model-specific register (MSR)

Întrebarea 5

Care afirmație este corectă despre: Frequency scaling singur rar merită?

  • a) conservarea energiei, reducerea căldurii generate
  • b) economisirea maximă necesită și voltage scaling (datorită V²)
  • c) DVFS (Dynamic Voltage and Frequency Scaling)
  • d) prelungirea duratei bateriei (dispozitive mobile), reducerea costurilor de răcire și zgomot (sisteme silențioase), măsură de securitate pentru sisteme supraîncălzite (ex: overclocking necorespunzător)
Arată răspunsul

b) — economisirea maximă necesită și voltage scaling (datorită V²)

Exercițiu Aplicat de Gândire

🧠 Exercițiu: Throttling

Scenariu: Analizezi un sistem hardware care utilizează conceptul de thermal throttling. Pe baza cunoștințelor din această lecție, răspunde la următoarele întrebări:

  • 1. Defineste pe scurt: thermal throttling.
  • 2. Ce rol are reducerea frecvenței în contextul hardware-ului?
  • 3. Explică relația dintre thermal throttling și protecție termică.
Arată rezolvarea

1. Dynamic frequency scaling (cunoscut și ca CPU throttling) = tehnică de power management în arhitectura calculatoarelor

2. Puterea dinamică (switching power) disipată: P = C × V² × A × f

3. ACPI 1.0 (1996): definește "C states" (stări idle) pentru CPU, dar FĂRĂ sistem de scalare a frecvenței

Video Recomandat

0:00 / 0:00

Thermal throttling: ce este, de ce apare și cum afectează performanța procesorului și plăcii video.