dynamic fine-grain leakage reduction using leakage-biased bitlines

38
Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines Seongmoo Heo, Kenneth Barr, Mark Hampton, and Krste Asanović Computer Architecture Group, MIT LCS ISCA 2002

Upload: ronda

Post on 03-Feb-2016

61 views

Category:

Documents


0 download

DESCRIPTION

ISCA 2002. Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines. Seongmoo Heo, Kenneth Barr, Mark Hampton, and Krste Asanovi ć Computer Architecture Group, MIT LCS. Leakage Power. Growing impact of leakage power - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Seongmoo Heo, Kenneth Barr,

Mark Hampton, and Krste Asanović

Computer Architecture Group, MIT LCS

ISCA 2002

Page 2: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

• Growing impact of leakage power– Increase of leakage power due to scaling of

transistor lengths and threshold voltages

– Power budget limits use of fast leaky transistors

• Challenge:– How to maintain performance scaling in face

of increasing leakage power?

Leakage Power

Page 3: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Static: Design-time Selection of Slow Transistors (SSST) for non-critical paths– Replace fast transistors with slow ones on

non-critical paths– Tradeoff between delay and leakage power

Dynamic: Run-time Deactivation of Fast Transistors (DDFT) for critical paths– DDFT switches critical path transistors

between inactive and active modes

Leakage Reduction Techniques

Page 4: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Critical paths dominate leakage after applying SSST techniques

Example: PowerPC 750– 5% of transistor width is low Vt, but these

account for >50% of total leakage.

DDFT could give large leakage savings

Observation:

Page 5: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

• Body Biasing– Vt increase by reverse-biased body effect– Large transition time and wakeup latency due to

well cap and resistance

• Power Gating– Sleep transistor between supply and virtual supply lines– Increased delay due to sleep transistor

• Sleep Vector– Input vector which minimizes leakage– Increased delay due to mux and active energy

due to spurious toggles after applying sleep vector

Vbody > VddGate

SourceDrain

Body

Existing DDFT Circuit Techniques

Sleep signalVirtual Vdd

Vdd

Logic cells

0

0

Page 6: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

• Have to turn off small pieces of an active processor for short periods of time– Difficult to turn off large pieces for long periods Fine-grain DDFT techniques

• Requirements of Fine-grain DDFT techniques– Circuits with low active delay penalty, low energy

moving in and out of sleep, and fast wakeup time – Micro-architectural scheduling to keep the sleep

time as long and often as possible

• Compare to coarse-grain DDFT techniques – O.S. puts whole processor to sleep for a long time

doesn’t save power when running code– Low steady-state leakage only concern.

Fine-Grain DDFT Techniques

Page 7: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Highlights of This Work• We introduce metrics for comparing fine-

grain dynamic deactivation techniques– Steady-stage leakage, Transition time, Fixed

transition energy, Breakeven time

• We present a new circuit-level leakage reduction technique, Leakage-Biased Bitlines (LBB)

– Low deactivation energy and fast wakeup

• We save leakage power of I-Cache and Multiported regfile by LBB

– I-cache: idle subbank deactivation– Multiported regfile: idle read ports and dead

register deactivation

Page 8: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Outline

1. Methodology and DDFT Metrics

2. Cache Leakage Saving• Idle subbank deactivation

3. Multiported Regfile Leakage Saving• Dead reg deactivation (Horizontal)• Idle read port deactivation (Vertical)

4. Conclusion

Page 9: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Methodology• Process Technology

– 180nm DVT process modeled after 0.18um TSMC LVT and MVT processes

– Scaled to 130, 100, and 70nm processes based on SIA roadmap

– Optimistic/pessimistic leakage prediction: 2x/4x increase of leakage current density (nA/um)

• Evaluation with SimpleScalar– Modified to model unified physical register file– 4 issue, 100 integer physical regs, 16KB/4-Way/32-B

block I-Cache and D-Cache, Unified L-2 Cache– SPECint95 refs

• Energy measurements– Hspice simulation for 180nm process and scaled to

other processes accordingly

Page 10: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Metrics for Fine-Grain DDFT Techniques

•Wakeup Latency•Active delay and power

OriginalLeakage

Steady-stateSleep Leakage

Time

Leakage Current

Length of Sleep

Leakage Energy

TransitionTime Break-Even

Time

Fixed ActiveTransitionEnergy

DDFTLeakage

OriginalLeakage

DDFT applied

Page 11: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

L1 Cache and Multiported Regfile

• Good targets for Fine-grain DDFT techniques– Timing-critical

• Contrast: L2 cache is a better target for SSST (long channel or HVT transistors)

– Large leakage current• Cache: Large number of fast transistors• Multiported Regfile: Ever increasing number of

registers and ports – Alpha 21464 register file is 5x larger than

64KB data cache

Page 12: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

LBB for Caches

• Local bitlines (32-bit cells) disconnected from senseamp by local-global switch.

• LBB for Caches: If a subbank is not in use, turn off precharge transistors and delay precharging.

• Modern cache structure: Hierarchical Bitlines – To save active power– To reduce delay – To reduce bitline noise

Local Bitline

SenseAmp

Subbank

Local-Global Switch

Global Bitline

Page 13: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Cache: Dual Vt SRAM cell

0

1

BIT BIT_BAR

GLOBALBIT

GLOBALBIT_BAR

0

WL

1 1

HVT transistors: green-colored

Page 14: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Cache: Dual Vt SRAM cell

0

1

BIT BIT_BAR

GLOBALBIT

GLOBALBIT_BAR

0

WL

1 1

Page 15: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Cache: Dual Vt SRAM cell

Bitline leakage depends on the stored value

0

1

BIT BIT_BAR

GLOBALBIT

GLOBALBIT_BAR

0

WL

1 1

Page 16: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Cache: Dual Vt SRAM cell

Bitline leakage depends on the stored value

0

1

BIT BIT_BAR

GLOBALBIT

GLOBALBIT_BAR

0

WL

1 1

Our Target

Page 17: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Forcing 0 Forcing 1 Forcing ?

0

1

0

0 1

1

Page 18: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Leakage-Biased Bitlines (LBB)

• LBB lets bitlines float by turning off the local HVT NMOS precharge transistors– No static current draw because local bitline isolated– LBB uses leakage itself to bias bitlines to the voltage which

minimizes leakage!

• A good fine-grain dynamic technique– Minimal transition energy:

• Same number of precharges (delayed precharge)– Minimal transition time:

• Wakeup latency is only that of precharge phase

Discharge to 0 Stay at 1Discharge to an intermediate value between 0 and 1

0

1

0

0 1

1

Page 19: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

• LBB finds the minimal leakage state.– Always better than sleep vectors

LBB versus Sleep Vector

Leakage Power of 32x16B SRAM subbank

100

150

200

250

300

350

0 20 40 60 80 100

Zero Percentage (%)

Le

ak

ag

e P

ow

er

(uW

)

Original

Sleep Vector 1

Sleep Vector 0

LBB

Page 20: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

32-row x 32B SRAM subbank(optimistic leakage current used. 75% zero assumed)

Cumulative Leakage Energy

70nm

0

10

20

30

40

50

0 100 200 300 400 500

Length of Sleep (cycles)Energ

y (p

J)

180nm

0

10

20

30

40

50

0 100 200 300 400 500

Length of Sleep (cycles)

Energ

y (p

J)

LBB

LBB

Original Original

Dynamic energy cost: Need to replace the lost charge-LBB curve increases fast in the beginning

Decrease of Breakeven time -180nm: 200 cycles, 70nm: less than a cycle-Active energy scales down faster than leakage energy

Page 21: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Performance Issues for LBB Caches

• Subbank must be precharged before use– Case 1 (best): subbank decode and precharge

happen before more complex word-line decode, therefore no penalty.

– Case 2 (worst): add additional pipeline stage for precharge

• One cycle increase in branch misprediction penalty

– Focus on I-Cache because any latency increase can be partly hidden by branch prediction

Page 22: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Leakage energy saving at 70nm process

0

5

10

15

20

25

30

comp

gcc go jpe

g li

m88k

perl

vort

avg

Perc

enta

ge (

%)

Total energy saving across processes

- 10

- 5

0

5

10

15

20

25

180nm 130nm 100nm 70nmPerc

enta

ge (

%)

Case 2 (worst) assumption (adding additional pipeline stage) 2.5% IPC decrease on average

I-Cache Subbank Deactivation

- 10

- 5

0

5

10

15

20

25

180nm 130nm 100nm 70nm

Pessimistic PredictionOptimistic Prediction

Leakage energy saving across processes

- 10

- 5

0

5

10

15

20

25

180nm 130nm 100nm 70nm

Perc

enta

ge (

%)

Total energy saving at 70nm process

0

5

10

15

20

25

30

comp

gcc go jpe

g li

m88k

perl

vort

avg

Perc

enta

ge (

%)

Page 23: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Multiported Regfile Cell

•Simplified but active/leakage power-aware baseline

READ[0:7]

WWL[0:3]

RWL[0:7]

WRITE[0:3] WRITEB[0:3]

x8

x4x4

8R, 4W unbalanced DVT reg cell

HVT transistors: green-colored

Page 24: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

LBB for Multiported Regfiles

• LBB for Multiported Regfiles: Turn off the precharge transistor on idle subbank read ports– Leakage current discharges

bitlines to 0 if any bits are holding 1.

Page 25: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

• Horizontal technique• Dead registers = Registers in

free list• If all registers in a subbank

are dead, all read ports in the subbank are turned off by LBB

• No performance penalty since there is ample time to re-precharge between allocation and write.

Dead Register Deactivation

Readport 0Readport 1Readport 2Subbank 1

Page 26: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Dead Register Deactivation

Readport 0Readport 1Readport 2Subbank 1

• Horizontal technique• Dead registers = Registers in

free list• If all registers in a subbank

are dead, all read ports in the subbank are turned off by LBB

• No performance penalty since there is ample time to re-precharge between allocation and write.

Page 27: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

• Alternative horizontal DDFT• To turn off dead registers using NMOS sleep

transistors (NST)

• Advantage: registers can be turned off individually

• Disadvantage: increased read access time

– Set delay penalty to 5% (tradeoff between delay and leakage)

NMOS Sleep Transistor (NST)

Readport 0Readport 1Readport 2Register 1

1

Page 28: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

NMOS Sleep Transistor (NST)

Readport 0Readport 1Readport 2Register 1

0

• Alternative horizontal DDFT• To turn off dead registers using NMOS sleep

transistors (NST)

• Advantage: registers can be turned off individually

• Disadvantage: increased read access time

– Set delay penalty to 5% (tradeoff between delay and leakage)

Page 29: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

• Vertical technique• Idle read ports when fewer

than max # of instructions are issued in a superscalar machine

• Idle read ports deactivated by LBB

• No performance penalty since it is known whether a read port is needed before it is known which register will be accessed in the pipeline.

Idle Readport Deactivation

Readport 0Readport 1Readport 2

Page 30: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Idle Readport Deactivation

Readport 0Readport 1Readport 2

• Vertical technique• Idle read ports when fewer

than max # of instructions are issued in a superscalar machine

• Idle read ports deactivated by LBB

• No performance penalty since it is known whether a read port is needed before it is known which register will be accessed in the pipeline.

Page 31: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

32 x 32-b Regfile subbank(75% zero assumed. Optimistic leakage current used.)

Comparison of DDFTs

180nm

0

10

20

30

40

50

0 500 1000

Length of Sleep (cycles)

Energ

y (p

J)

70nm

0

10

20

30

40

50

0 500 1000

Length of Sleep (cycles)

Energ

y (p

J)

Original

NMOS Sleep Transistor

Leakage-Biased Bitlines

Sleep Vector

Process Tech. (nm) 180 130 100 70Original (uW) 177.9 214.1 263.6 276.7SV steady-state (uW) 2.0 2.4 3.0 3.1LBB steady-state (uW) 2.0 2.4 3.0 3.1NST steady-state (uW) 1.8 2.2 2.7 2.9

NMOS Sleep Transistor

Original

Sleep VectorLeakage-Biased Bitlines

Page 32: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

70nm

012345678

0 10 20 30 40 50

Length of Sleep (cycles)

Energ

y (p

J)Comparison of DDFTs

Blowup: 70nm

Original

NMOS Sleep Transistor

Leakage-Biased Bitlines

Sleep Vector

Page 33: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Dead Register/Subbank Deactivation Policies

• Free list policies for NST (NMOS Sleep Transistor): queue and stack

– queue: conventional– stack: keeps some regs dead for longer

• 2.4-10% greater savings than queue at 70nm• Benefit increases as feature sizes shrink

• Subbank allocation policy for LBB: stack– Allocate a new subbank only when the previous

bank is empty of dead registers

Page 34: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Dead Reg Deactivation (Horizontal)

NST stack better than NST queue, LBB stack better than either NST

0

20

40

60

Leakage energy savings (70nm process)

gcc g

ojp

eg li

m88

kpe

rl

com

pvo

rt av

g

pe

rce

nt

(%)

0

20

40

60

Total energy savings (70nm process)

gcc g

ojp

eg li

m88

kpe

rl

com

pvo

rt av

g

pe

rce

nt

(%)

180 130 100 700

20

40

60

Process (nm)

Leakage Energy Savings

pe

rce

nt

(%)

180 130 100 700

20

40

60

Process (nm)

Total Energy Savings

pe

rce

nt

(%)

NST QueueNST StackLBB 16 regs/bankLBB 8 regs/bank

Colored: optimisticWhite: pessimistic

Page 35: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Total energy saving across processes

- 10

0

10

20

30

40

50

60

70

180nm 130nm 100nm 70nm

Perc

enta

ge (

%)

Leakage energy saving across processes

- 10

0

10

20

30

40

50

60

70

180nm 130nm 100nm 70nm

Perc

enta

ge (

%)

Total energy saving at 70nm process

0

10

20

30

40

50

60

70

comp

gcc go jpe

g li

m88k

perl

vort

avg

Perc

enta

ge (

%)

Read Port Deactivation (Vertical)

•More energy saving for wider issue processors•Readport deactivation can be combined with dead subbank deactivation.

Leakage energy saving at 70nm process

0

10

20

30

40

50

60

70

comp

gcc go jpe

g li

m88k

perl

vort

avg

Perc

enta

ge (

%)

- 10

- 5

0

5

10

15

20

25

180nm 130nm 100nm 70nm

Pessimistic PredictionOptimistic Prediction

Page 36: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Conclusion

• Most leakage power is in critical paths– Dynamic leakage reduction (DDFT) desired

• LBB allows Fine-grain dynamic leakage reduction with zero or minimal performance penalty.– 0% performance penalty for multiported regfiles

• Sleep time can be improved by changing micro-architectural scheduling policies.– Stack better than queue for free list policy

• Follow on work:– Leakage-biased domino logic to save leakage

power in critical ALUs [ VLSI Symposium 2002 ]

Page 37: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

Acknowledgments• Thanks to Christopher Batten, Ronny

Krashinsky, Rajesh Kumar, and anonymous reviewers

• Funded by DARPA PAC/C award F30602-00-2-0562, NSF CAREER award CCR-0093354, and a donation from Infineon Technologies.

Page 38: Dynamic Fine-Grain Leakage Reduction Using Leakage-Biased Bitlines

DDFT Examples

Body Biasing

Power Gating Sleep Vector

Steady-state leakage power

Less than 5% (depends on Vbody)

Less than 5% (depends on sleep transistor)

Less than 50% (depends on the circuit)

Transition time, Wakeup latency

0.1~100us Less than a cycle Less than a cycle

Transition energy ,Breakeve

n time

Well cap switching energy

Sleep transistor gate cap switching energy

Active energy consumed due to spurious toggling after sleep vector

Delay Impact No Yes. Due to sleep transistor

Yes. Due to mux

Etc Area for sleep transistor and virtual supplies

Finding sleep vector is hard