todd austin university of michigan x-stack energy optimization: fact or fiction
TRANSCRIPT
Todd AustinUniversity of Michigan
X-Stack Energy Optimization:Fact or Fiction
2
Austin’s Theory of Inevitable H/W Progression
Hand coding
Basic compilation
Static optimization
Profile-guided optimization
Run-time code generation and optimization
Software Construction
Hand-drawncircuits
Basic logicsynthesis
Static circuitoptimization
Hardware Construction
Typical-caseoptimization
X-Stack
Razor Typical-Case Optimization
Circuit-level Razor latch detects timing errors
Architecture-level pipeline recovery sequence fixes pipeline state after timing error
Operating system-level voltage control sets energy level to minimize error rates
50% energy savings for < 1% performance loss
Error_L
Errorcomparator
RAZOR FF
clk_del
Main Flip-Flop
clk
Shadow Latch
Q1D101
recover
IF
Razo
r FF
ID
Razo
r FF
EX
Razo
r FF
MEM(read-only)
WB(reg/mem)
errorbubble
recover recover
Razo
r FF
Stab
ilize
r FF
PC
recover
flushID
bubble
errorbubble
flushID
errorbubble
flushID
FlushControl
flushID
error
X-Stack
CryptoManiac Typical-Case Optimization
Circuit-level functional unit design tucks pre- and post-Boolean ops into clock cycle
Architecture-level ISA extension exposes pre/post-ops
Application-level programming re-expresses algorithms to leverage optimization
20% performance benefit (could recast as energy benefit)
CMProc
CMProc
CMProc
Keystore
Req
S
ched
ule
r
In Q Out Q
requests
.
.
.
results
Pipelined32-BitMUL 1K Byte
SBOXCache
32-BitAdder
32-BitRotator
XOR ANDLogical Unit
XOR ANDLogical Unit
{tiny}
{short}
{tiny}
{long}
X-Stack
X-Stack Optimization Thoughts
Opportunities– Big design wins to be found for x-stack optimizations
Challenges– Approach destroys abstractions, places burdens on layers up
the stack (e.g., architects and programmers)– Typically need to work outside of your comfort zone– Reviewers are often skeptical of x-stack modeling fidelity
Advice– Play well with others (seek effective collaborations)– Be open to learning new technologies/applications/fields– Be prepared to pursue physical demonstrations
6
Austin’s Theory of Inevitable H/W Progression
Hand coding
Basic compilation
Static optimization
Profile-guided optimization
Run-time code generation and optimization
Software Construction
Hand-drawncircuits
Basic logicsynthesis
Static circuitoptimization
Hardware Construction
Typical-caseoptimization
ComposableH/W acceleration
X-StackX-Stack