Notation: dynamic power Pdyn=αCV2f; static (leakage) power Pstat=VIleak with Ileak=I0e−Vth/(nVT), thermal voltage VT=kT/q. Steady-state die temperature T=Tamb+PθJA.
A core executes a fixed workload of W clock cycles. Its power model is
P(V,f)=dynamicαCV2f+staticVIleak,
and, in the region of interest, the maximum stable frequency scales with voltage as
f=β(V−Vth).
(a) The task must finish in a deadline of D seconds. Show that operating at the lowest frequency that still meets the deadline (i.e. f=W/D) minimises the dynamic energy per task, and derive an expression for that dynamic energy Edyn in terms of α,C,W,β,Vth and D. (7)
(b) Static energy per task is Estat=Pstat⋅(W/f). Explain, using your Edyn and Estat expressions, why lowering f below some point increases total energy per task, and state the qualitative condition (in words + inequality on the derivative) that defines the energy-optimal frequency. (6)
(c) Take numbers: αC=2×10−9F, β=5×109Hz/V, Vth=0.3V, Ileak=0.8A (assume approximately voltage-independent for this part), W=3×109 cycles. Compute the total energy per task at f1=1GHz and at f2=2GHz. Which is more energy efficient, and by what percentage? (8)
(d) State one physical mechanism that eventually breaks the "lower f always saves dynamic energy" assumption at very low voltage. (3)
A chip has TDP =95W, package thermal resistance θJA=0.35∘C/W, ambient Tamb=35∘C, and a throttle trip point Tmax=100∘C.
(a) Compute the steady-state junction temperature at TDP. Is the cooling solution adequate? Compute the maximum sustainable power Pmax before the trip point is reached. (6)
(b) The chip has 16 identical cores. Each active core dissipates 9W. Uncore/leakage floor is 12W regardless. Compute the maximum number of cores that can run simultaneously without throttling. Explain how this quantitatively illustrates the dark silicon problem. (6)
(c) A transient burst raises power to 130W. The die has heat capacity Cth=0.9J/∘C. Model temperature by CthdtdT=P−θJAT−Tamb. Starting from the steady state of part (a), derive T(t) and compute the time until the throttle trips at 100∘C. (10)
(a) Black's equation gives median-time-to-failure MTTF=AJ−neEa/(kT), with n=2, Ea=0.7eV, k=8.617×10−5eV/K. A wire has MTTF=10 years at T1=350K and fixed current density. Find the MTTF at T2=380K. State the reliability implication for DVFS/turbo. (8)
(b) During a fast current step ΔI=20A over Δt=2ns the power-delivery network has effective inductance L=15pH. Compute the Ldi/dt voltage droop. If the supply is 1.0V with a ±5% tolerance, does this violate the rail? State how a decoupling capacitor of C=100nF mitigates it (mechanism, one sentence). (6)
(a)(7 marks)
Time to finish W cycles at frequency f is t=W/f.
Dynamic energy Edyn=Pdyn⋅t=αCV2f⋅fW=αCV2W. (2) — energy depends only on V, not directly on f for a fixed cycle count.
Since f=β(V−Vth)⇒V=Vth+f/β, lower f ⇒ lower V ⇒ lower Edyn (monotone in V). (2)
The lowest f meeting deadline D is f=W/D (finishing exactly on time). (1) Substituting:
Edyn=αCW(Vth+βDW)2.(2)
(b)(6 marks)Estat=Pstat⋅W/f=VIleakW/f. As f→0, t=W/f→∞, so the core leaks for longer and Estat→∞. (3)
Total E=Edyn(f)+Estat(f): Edyn decreases with f but Estat increases as 1/f-ish (leakage integrated over longer time). The optimum is where the marginal saving in dynamic energy equals the marginal rise in static energy:
dfdEtot=0,i.e. dfdEdyn=−dfdEstat.(3)
(c)(8 marks)
Voltage at each frequency: V=Vth+f/β.
f1=1×109: V1=0.3+(1×109)/(5×109)=0.3+0.2=0.5V.
f2=2×109: V2=0.3+(2×109)/(5×109)=0.3+0.4=0.7V.
Edyn=αCV2W=2×10−9⋅V2⋅3×109=6V2 J.
Estat=VIleakW/f=V⋅0.8⋅3×109/f.
At f1: Edyn=6(0.25)=1.5 J; Estat=0.5⋅0.8⋅3=1.2 J; E1=2.7 J. (3)
At f2: Edyn=6(0.49)=2.94 J; Estat=0.7⋅0.8⋅1.5=0.84 J; E2=3.78 J. (3)
f1 is more efficient. Difference =(3.78−2.7)/3.78=28.6% lower energy at f1. (2)
(Accept "E2 is (3.78−2.7)/2.7=40% higher than E1" if stated relative to E1.)
(d)(3 marks)
At very low voltage leakage dominates and total energy rises (race-to-idle failure); also V cannot drop below Vth (or the near-threshold region) where the f=β(V−Vth) model breaks down and circuit reliability/variation and subthreshold conduction rise sharply. (Any one valid mechanism.)
(b)(6 marks)
Power with n cores: P=12+9n≤Pmax=185.7. (2)9n≤173.7⇒n≤19.3; but only 16 cores exist ⇒ all 16 can run: P=12+144=156W<185.7. (2)
Here thermal ceiling permits all cores → not thermally limited. To illustrate dark silicon, if θJA or per-core power were higher (e.g. per-core 12 W: 12+12n≤185.7⇒n≤14.5, so only 14 of 16 usable), the remaining cores must stay dark. The point: with more cores than the power/thermal budget can sustain, a fraction must be powered off ("dark silicon"). (2)
(c)(10 marks)
ODE: CthT˙=P−(T−Tamb)/θJA. Let τ=CthθJA=0.9×0.35=0.315s. (2)
Steady-state target for burst: T∞=Tamb+PθJA=35+130×0.35=35+45.5=80.5∘C? — wait, 130×0.35=45.5, so T∞=80.5∘C.
Since T∞=80.5∘C<100∘C, the throttle never trips — the burst settles below the trip point. (3)
Solution form: T(t)=T∞+(T0−T∞)e−t/τ with T0=68.25∘C:
T(t)=80.5+(68.25−80.5)e−t/0.315=80.5−12.25e−t/0.315.(3)
Setting T=100 has no solution (T<80.5 always). Conclusion: trip time = ∞ (never trips); the transient is thermally safe. (2)
(Full credit for correctly deriving T∞=80.5∘C and concluding no trip; recognising the trick is the mastery test.)
(a)(8 marks)
Same J, so MTTF ratio depends only on temperature:
MTTF1MTTF2=exp[kEa(T21−T11)].(3)kEa=0.7/8.617×10−5=8124.6K.
3801−3501=0.0026316−0.0028571=−2.2556×10−4K−1.
Exponent =8124.6×(−2.2556×10−4)=−1.8326. Ratio =e−1.8326=0.1599. (3)MTTF2=10×0.1599=1.60 years. (1)
Implication: raising temperature (turbo/high V,f) sharply shortens interconnect lifetime — reliability budget limits sustained boost. (1)
(b)(6 marks)
Droop =Ldi/dt=15×10−12×(20/2×10−9)=15×10−12×1010=0.15V=150mV. (3)
Tolerance is ±5% of 1.0V=±50mV. 150mV≫50mV ⇒ violates the rail. (2)
Decap mechanism: the capacitor stores charge locally and supplies the fast transient current, holding V up during the di/dt event before the (inductive) main supply responds. (1)
[ {"claim":"Q1c E1 total energy = 2.7 J", "code":"V1=Rational(1,2); Edyn1=6*V1**2; Estat1=V1*Rational(8,10)*3; result=(Edyn1+Estat1==Rational(27,10))"}, {"claim":"Q1c E2 total energy = 3.78 J", "code":"V2=Rational(7,10); Edyn2=6*V2**2; Estat2=V2*Rational(8,10)*Rational(15,10); E2=Edyn2+Estat2; result=(E2==Rational(378,100))"}, {"claim":"Q1c f1 is ~28.6% lower energy than f2", "code":"E1=Rational(27,10); E2=Rational(378,100); frac=(E2-E1)/E2; result=(abs(float(frac)-0.2857)<0.001)"}, {"claim":"Q2a Pmax = 185.71 W", "code":"Pmax=(100-35)/Rational(35,100); result=(abs(float(Pmax)-185.714)<0.01)"}, {"claim":"Q2c burst steady state 80.5C never reaches 100C", "code":"Tinf=35+130*Rational(35,100); result=(Tinf==Rational(805,10) and float(Tinf)<100)"}, {"claim":"Q3a MTTF2 = 1.60 years", "code":"import sympy as sp; Ea=0.7; k=8.617e-5; ratio=sp.exp((Ea/k)*(1/380-1/350)); m2=10*ratio; result=(abs(float(m2)-1.60)<0.02)"}, {"claim":"Q3b droop = 0.15 V", "code":"droop=15e-12*(20/2e-9); result=(abs(droop-0.15)<1e-9)"}]