6.4.4 · D3 · Hardware › Power, Thermal & Reliability › Power gating and clock gating
Yeh page ek workbook hai. Hum parent note ke ideas lete hain aur unhe har tarah ke numbers ke through grind karte hain: normal cases, zero/degenerate inputs, break-even limit, ek word problem, aur ek exam twist. Pehle guess karo, phir check karo.
Yahan sab kuch teen formulas par tikaa hai jo parent ne build ki thi. Koi bhi symbol use karne se pehle, yeh raha plain words mein:
Yeh kahan se aate hain, yeh jaanne ke liye Dynamic and Static Power aur Subthreshold Leakage dekho.
Neeche har worked example ko us matrix cell ke saath tag kiya gaya hai jisme woh fit hota hai. Pehle yeh table padho — yeh map hai.
Cell
Case class
Kya cheez tricky banati hai
Example
A
Ordinary clock-gate saving
plug-and-chug α reduction
Ex 1
B
Zero / degenerate input
block hamesha active (α eff = α ) → savings = 0
Ex 2
C
Static vs dynamic split
clock gating leakage ko untouched chodta hai
Ex 3
D
Power-gate energy break-even
wake-up limit t idle = t BE
Ex 4
E
Limit se neeche (idle bahut chhota)
power gating haarta hai — negative saving
Ex 5
F
Real-world word problem
multi-core GPU, leakage + wake-up combine karo
Ex 6
G
Combined clock+power gating
do techniques stack ki gayi
Ex 7
H
Exam-style twist
DVFS V dd aur f dono ek saath change karta hai
Ex 8
Is page par har numeric answer machine-checked hai Verify block mein.
Ek register file normally α = 0.5 ke saath toggle karti hai. Clock gating use sirf 20% cycles mein enable karta hai. Us block mein dynamic power kitne percentage se drop hoti hai?
Forecast: Drop guess karo padhne se pehle — kya yeh 20%, 80%, ya kuch aur hai?
Effective activity nikalo. Jab clock sirf 20% cycles run karti hai, block utni hi baar switch karta hai — 20% jitna:
α eff = α × 0.20 = 0.5 × 0.20 = 0.1
Yeh step kyun? Dynamic power α mein linear hai (formula dekho — α aage baitha hai, squared nahi). Clock kitni baar tick karti hai yeh cutting karna α ko usi fraction se cut karta hai.
Powers ka ratio lo. Baaki saare terms (C , V dd 2 , f ) gated vs ungated dono mein same hain, isliye cancel ho jaate hain:
P ungated P gated = α α eff = 0.5 0.1 = 0.2
Yeh step kyun? Hume sirf change ki parwah hai, isliye divide karne se har unchanged factor khatam ho jaata hai — C ya V dd jaanne ki zaroorat nahi.
Saving mein convert karo.
saving = 1 − 0.2 = 0.8 = 80%
Yeh step kyun? "Saving" woh fraction hai jo humne hatayi, yaani one minus jo bacha.
Verify: 80% saving ka matlab hai 20% bacha hai; original activity ka 20% exactly woh 0.1 hai jo humne compute kiya. Units: saare dimensionless ratios hain — consistent. ✓
Ek memory controller har single cycle mein access hota hai (enable hamesha 1 hai). Clock gating yahan kitni dynamic-power saving deta hai?
Forecast: Zero? Negative? Chhota?
Enable fraction set karo. "Har cycle" ka matlab clock 100% time run karti hai:
α eff = α × 1.0 = α
Yeh step kyun? Clock gating sirf clock edges rokna kar sakta hai. Agar koi nahi roka, kuch nahi badlega.
Ratio.
P ungated P gated = α α = 1 ⇒ saving = 1 − 1 = 0%
Yeh step kyun? Yeh Ex 1 ki degenerate boundary hai: jaise active fraction → 100% hoti hai, saving → 0 hoti hai.
Verify: Sanity — ek block ko gate karna jo kabhi idle nahi hota, pure overhead hai (tumne ek AND gate add kiya jo bhi switch karta hai). Ideal saving 0% hai; real saving thodi negative hai. Humara clean-model answer 0% sahi upper edge hai. ✓
Common mistake "Enable = 1 hamesha" ko "clock gate broken" se confuse mat karo
Permanently-enabled block ek design choice hai, bug nahi. Lesson yeh hai: sirf un blocks ko gate karo jo actually kabhi kabhi idle hote hain.
Ek idle ALU clock-gated hai. Uska I leak = 2 mA hai V dd = 0.9 V par. Akele clock gating ke under "sleep" karte waqt kitni static power abhi bhi jalti hai?
Forecast: Kya clock gating isko zero kar deta hai?
Recall karo clock gating kya touch karta hai. Yeh clock ko freeze karta hai, isliye α → 0 aur P dyn → 0 . Lekin V dd abhi bhi connected hai.
Yeh step kyun? Leakage path tab exist karta hai jab voltage transistor ke across baith jaati hai — clock iske liye irrelevant hai (dekho Subthreshold Leakage ).
Bachne wali static power compute karo.
P static = I leak V dd = 2 × 1 0 − 3 A × 0.9 V = 1.8 × 1 0 − 3 W = 1.8 mW
Yeh step kyun? Yeh exactly woh number hai jo clock gating nahi hata sakta — yahi argument hai Multi-Threshold CMOS aur power gating ke liye.
Verify: Units A × V = W . ✓ Block abhi bhi 1.8 mW leak karta hai; sirf power gating (V dd cut karna) ise khatam karta hai.
Yeh page ki sabse important calculation hai: power gating kab worth it hai? Iske liye ek figure hai.
Ek block ko power down karna har second leakage power P save bachata hai jab tak woh off rehta hai. Lekin use jagana ek fixed energy E wake cost karta hai (switch charge karna, retention state restore karna). Tum tabhi jeette ho jab idle time itna lamba ho ki steady saving one-time cost wapas kar sake.
Ek block P save = 50 mW leak karta hai. Use jagane mein E wake = 5 μ J lagte hain. Break-even idle time nikalo.
Forecast: Microseconds? Milliseconds?
Do competing quantities identify karo. Saving rate = 50 mW ; fixed wake cost = 5 μ J .
Yeh step kyun? Ek power hai (per second), ek energy hai (lump sum). Compare karne ke liye, energy ko power se divide karo → time milta hai.
Formula apply karo.
t BE = 50 × 1 0 − 3 W 5 × 1 0 − 6 J = 1 × 1 0 − 4 s = 100 μ s
Yeh step kyun? J / W = J / ( J/s ) = s — units force karte hain ki time nikle.
Verify: 100 μ s mein, leakage saved = 50 mW × 100 μ s = 5 μ J , jo exactly 5 μ J wake cost wapas kar deta hai. Break-even confirm hua. ✓
Same block jaise Ex 4 mein (t BE = 100 μ s ). OS sirf 40 μ s ka idle window predict karta hai. Agar hum power-gate karein toh net energy change kya hoga?
Forecast: Bachayenge ya waste karenge? Kitna?
Idle window ke dauran energy saved.
E saved = P save × t idle = 50 mW × 40 μ s = 2 μ J
Yeh step kyun? Saving tabhi accrue hoti hai jab block actually off hota hai.
Fixed wake cost subtract karo.
E net = E saved − E wake = 2 μ J − 5 μ J = − 3 μ J
Yeh step kyun? Negative result ka matlab hai humne save kiya usse zyada kharch kiya — yahan power gating galti thi.
Verify: 40 μ s < 100 μ s , isliye hum Ex 4 ke crossover ke losing side par hain — E net ka sign zaroor negative hona chahiye, aur hai bhi. Sahi action: is chhote idle ke liye clock-gate karo (0-cost, instant wake). ✓
Ek GPU mein 32 shader cores hain; ek game 8 use karta hai, 24 idle chodta hai. Har core 0.9 V par 50 mW leak karta hai; power-gated switch leakage ≈ 0.4 mW per core hai. Idle windows frames ke beech 5 ms ki hain, aur har wake mein 8 μ J lagte hain. (a) Leakage saved? (b) Kya 5 ms break-even ke baad hai?
Forecast: Roughly kitne watts, aur aaram se break-even ke baad?
Gating se pehle leakage (24 cores).
P before = 24 × 50 mW = 1200 mW = 1.2 W
Yeh step kyun? Idle cores independently leak karte hain, isliye total = per-core × count.
Gating ke baad leakage.
P after = 24 × 0.4 mW = 9.6 mW
Yeh step kyun? V dd cut karne par sirf tiny switch leakage bachti hai — exactly zero nahi, isliye hum residual term rakhte hain.
Saved power.
P save = 1200 − 9.6 = 1190.4 mW ≈ 1.19 W
Per-core break-even, phir 5 ms se compare karo.
t BE = P save,core E wake = ( 50 − 0.4 ) × 1 0 − 3 W 8 × 1 0 − 6 J = 1.613 × 1 0 − 4 s ≈ 161 μ s
Yeh step kyun? Break-even per core hota hai (har ek independently jaagta hai). 5 ms = 5000 μ s ≫ 161 μ s , isliye gate kar do .
Verify: 1.19 W parent note ke GPU figure se match karta hai. 5000/161 ≈ 31 × break-even — winning region mein deep hain. ✓ Ek Power Management IC (PMIC) aur driver ise schedule karta hai.
Ek block α = 0.4 , C = 2 nF , V dd = 1.0 V , f = 1 GHz par run karta hai, aur I leak = 3 mA leak karta hai. Teen states mein total power compare karo: (i) active, (ii) clock-gated, (iii) power-gated (assume leakage → 0 ).
Forecast: Kaun si state jeetti hai, aur kya clock gating saari idle power hataata hai?
Active dynamic power.
P dyn = α C V dd 2 f = 0.4 × 2 × 1 0 − 9 × 1. 0 2 × 1 × 1 0 9 = 0.8 W
Active static power.
P static = I leak V dd = 3 × 1 0 − 3 × 1.0 = 3 × 1 0 − 3 W = 3 mW
Active total = 0.8 + 0.003 = 0.803 W .
Clock-gated: P dyn → 0 , lekin leakage rehti hai.
P clk-gated = 0 + 3 mW = 3 mW
Yeh step kyun? Cell C ka lesson action mein — clock gating 3 mW ko touch nahi kar sakta.
Power-gated: dono terms khatam ho jaate hain.
P pwr-gated ≈ 0 W
Verify: Ordering 0.803 W > 3 mW > 0 . Clock gating 0.8 W dynamic part (bada wala) hataata hai, power gating aakhri 3 mW hataata hai. Lambe idle ke liye, power-gate karo; chhote ke liye, clock-gate karo. ✓
Ek block V dd = 1.0 V , f = 1 GHz par run karta hai. DVFS ise V dd = 0.8 V , f = 0.7 GHz par scale karta hai (same α , C ). Dynamic power kitne fraction se drop hoti hai?
Forecast: Trap yeh hai: kya power 0.8 × 0.7 ki tarah scale hoti hai? Dhyan do — voltage squared hai.
Ratio likho, sirf jo badla woh rakho.
P old P new = V old 2 f old V new 2 f new
Yeh step kyun? α aur C unchanged hain, isliye cancel ho jaate hain; sirf V 2 aur f bachte hain.
Plug in karo — aur voltage ko square karo.
= 1. 0 2 × 1.0 0. 8 2 × 0.7 = 1 0.64 × 0.7 = 0.448
Yeh step kyun? Squared voltage hi wajah hai ki DVFS itna powerful hai: sirf 20% voltage cut se 0. 8 2 = 0.64 milta hai, yani frequency se pehle hi 36% power drop.
Saving.
1 − 0.448 = 0.552 = 55.2%
Verify: Naive (un-squared) guess hoga 0.8 × 0.7 = 0.56 ⇒ 44% saving — galat. Sahi 55.2% bada hai exactly isliye kyunki voltage squared enter karta hai. Yahi exam trap hai. ✓
Recall Quick self-test
30 μ s idle par power gating jab t BE = 100 μ s — achha idea? ::: Nahi — idle break-even se neeche hai; clock gating use karo (Cell E).
Clock gating leakage zero kar deta hai? ::: Nahi — leakage ke liye V dd cut chahiye, yaani power gating (Cell C).
DVFS 1.0 V se 0.8 V (same f ) — dynamic power ratio? ::: 0. 8 2 = 0.64 .