sychosys synchronous circuit hardware orchestration system
DESCRIPTION
SyCHOSys Synchronous Circuit Hardware Orchestration System. Ronny Krashinsky Seongmoo Heo Michael Zhang Krste Asanovi c. MIT Laboratory for Computer Science www.cag.lcs.mit.edu/scale [email protected]. Motivation. Given a proposed processor architecture, we want to: - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/1.jpg)
Ronny Krashinsky
Seongmoo Heo
Michael Zhang
Krste Asanovic
MIT Laboratory for Computer Science
www.cag.lcs.mit.edu/[email protected]
SyCHOSysSynchronous Circuit Hardware
Orchestration System
![Page 2: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/2.jpg)
Motivation
Existing simulators – Prohibitively slow or inaccurate
Given a proposed processor architecture, we want to:
• Simulate performance (cycle count)• Determine energy usage (Joules)• Investigate SW, compiler, and
architecture changes
![Page 3: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/3.jpg)
SyCHOSys
SyCHOSys generates compiled cycle simulatorsCan optionally track energy usage:
• Exploits low power microprocessor design domain to obtain accurate transition-sensitive energy models
• Factors out common transition counts• Uses fast bit-parallel transition counting• 7 orders of magnitude faster than SPICE (7% error)• 5 orders of magnitude faster than PowerMill
SyCHOSys can accurately simulate the energy usage of a CPU circuit at speeds on the order of a billion cycles per day
![Page 4: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/4.jpg)
Overview of talk
SyCHOSys Framework Microprocessor Energy Modeling Energy Simulation in SyCHOSys Results Status & Future Work
![Page 5: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/5.jpg)
SyCHOSys Framework
Structural Netlist
Cycle Scheduler
AdditionalSimulator
Code
ScheduledComponentEvaluations
ComponentBehavioralMethods
Cycle-basedSimulator
gcc
![Page 6: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/6.jpg)
SyCHOSys Framework
GCD(x, y) { if (x < y) return GCD(y, x); else if (y!=0) return GCD(x-y, y); else return x;}
Structural Netlist
Cycle Scheduler
AdditionalSimulator
Code
ScheduledComponentEvaluations
ComponentBehavioralMethods
Cycle-basedSimulator
gcc
![Page 7: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/7.jpg)
SyCHOSys Framework
Structural Netlist
Cycle Scheduler
AdditionalSimulator
Code
ScheduledComponentEvaluations
ComponentBehavioralMethods
Cycle-basedSimulator
gcc
X { N-CLK FF_En<32>} (NextX.out,Ctrl.Xen);
Y { N-CLK FF_En<32>} (X.out,Ctrl.Yen);
NextX { Mux2<32> } (Y.out,XSubY.out,Ctrl.XMuxSel);
XSubY { H-DYNAM Sub<32> } (X.out,Y.out);
Yzero { H-DYNAM Zero<32> } (Y.out);YZeroL { H-LATCH Latch<1> } (YZero.out);XLessYL{ H-LATCH Latch<1> } (XSubY.signbit);Ctrl { GCDCtrl } (XLessYL.out,
YZeroL.out);
![Page 8: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/8.jpg)
SyCHOSys Framework
template<int bits>class Mux2 { inline void Evaluate( BitVec<bits> input0, BitVec<bits> input1, BitVec<1> select) { if (select) out = input1; else out = input0; } BitVec<bits> out;}
Structural Netlist
Cycle Scheduler
AdditionalSimulator
Code
ScheduledComponentEvaluations
ComponentBehavioralMethods
Cycle-basedSimulator
gcc
![Page 9: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/9.jpg)
SyCHOSys Framework
GCD::clock_rising() {}
GCD::clock_high() { YZero.Evaluate(Y.out); YZeroL.Evaluate(YZero.out); XSubY.Evaluate(X.out, Y.out); XLessYL.Evaluate(XSubY.signbit); Ctrl.Evaluate(XLessYL.out, YZeroL.out); NextX.Evaluate(Y.out, XSubY.out,
Ctrl.XMuxSel);}GCD::clock_falling() { Y.Evaluate(X.out, Ctrl.Yen); X.Evaluate(NextX.out, Ctrl.Xen);}
GCD::clock_low() { YZero.Precharge(); XSubY.Precharge(); NextX.Evaluate(Y.out, XSubY.out,
Ctrl.XMuxSel);}
Structural Netlist
Cycle Scheduler
AdditionalSimulator
Code
ScheduledComponentEvaluations
ComponentBehavioralMethods
Cycle-basedSimulator
gcc
![Page 10: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/10.jpg)
SyCHOSys Framework
void gcd_clock_tick() {
gcd->clock_rising(); gcd->clock_high(); gcd->clock_falling(); gcd->clock_low();}
Structural Netlist
Cycle Scheduler
AdditionalSimulator
Code
ScheduledComponentEvaluations
ComponentBehavioralMethods
Cycle-basedSimulator
gcc
![Page 11: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/11.jpg)
SyCHOSys Framework
• Optimizing compiler• Component evaluation calls
are inlined
Structural Netlist
Cycle Scheduler
AdditionalSimulator
Code
ScheduledComponentEvaluations
ComponentBehavioralMethods
Cycle-basedSimulator
gcc
![Page 12: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/12.jpg)
Energy Modeling
Power consumption in digital CMOS:• Dynamic Switching • Short Circuit Current• Leakage Current
![Page 13: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/13.jpg)
Energy Modeling
Power consumption in digital CMOS:• Dynamic Switching: around 90%
a•Cload•VSWING•VDD•f
a switching activity data dependent
Cload load capacitance varies dynamically
VSWING voltage swing fixed
VDD supply voltage fixed
f clock frequency fixed
![Page 14: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/14.jpg)
Energy Modeling
Power consumption in digital CMOS:• Dynamic Switching: around 90%
a•Cload•VSWING•VDD•f
a switching activity data dependent
Cload load capacitance varies dynamically
VSWING voltage swing fixed
VDD supply voltage fixed
f clock frequency fixed
We simplify our task by taking advantage of our restricted domain of well designed low power microprocessors
![Page 15: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/15.jpg)
Microprocessor Energy
Energy usage in a microprocessor:• Memory arrays• Datapaths• Control
![Page 16: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/16.jpg)
Microprocessor Energy
Energy usage in a microprocessor:• Memory arrays• Datapaths• Control
• Extremely regular• Calibrate models with several test cases:
Accounts for partial voltage swings, effective capacitance values, etc.
• Estimate energy based on cycle by cycle address and data trace (3% error)
![Page 17: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/17.jpg)
Microprocessor Energy
Energy usage in a microprocessor:• Memory arrays• Datapaths• Control
Determine a and Cload for every node• Effective Cload is calculated statically • a is determined based on simulation statistics
Optimizations for determining switching activity:• Factor out common transition counts• Fast bit-parallel transition counting
![Page 18: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/18.jpg)
Effective Load Capacitance
Gate and Drain Capacitance Models
• Characterized using FO4 delays and rise/fall times
XCload
SPACE 2D extractor
MergeCap
![Page 19: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/19.jpg)
Microprocessor Energy
Energy usage in a microprocessor:• Memory arrays• Datapaths• Control
• Synthesized using automated tools — Irregular, hard to model• Less than 10% of energy in simple RISC designs• Will become more important in low power designs• Can be modeled at the level of standard cell gates • Work in progress
![Page 20: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/20.jpg)
SyCHO Energy Analysis
![Page 21: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/21.jpg)
SyCHO Energy Analysis
Minimal statistics gathering during simulationSimple to add to SyCHOSys
• Structure of design is explicit• Values on all nets are cycle-accurate• Can incorporate arbitrary C++ code
Energy Statistics Gathering
Nets:• Count transitions during simulation• Counters generated automatically
Components:• Each component tracks arbitrary per-
cycle internal statistics
![Page 22: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/22.jpg)
SyCHO Energy Analysis
Use simulation statistics and calculated capacitance values to compute energy
Energy Calculation
Components: • Each component defines internal
energy calculation routine• Based on internal statistics, input and
output switching frequencies, and internal capacitance values
Nets:• Multiply switching frequency by
capacitance
![Page 23: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/23.jpg)
Energy-Performance Model Evaluation
Used GCD circuit as an example datapath• Various component types
(Flip-Flops, Latches, Dynamic)• Small enough for SPICE simulation
Hand-designed layout (0.25 m TSMC)
![Page 24: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/24.jpg)
Simulation Speed
Simulation model
Compiler /
Simulation Engine
Simulation
Speed (Hz)
C-Behavioral gcc –O3 109,000,000.00
Verilog-Behavioral vcs –O3 +2+state 544,000.00
Verilog-Structural vcs –O3 +2+state 341,000.00
SyCHOSys-Structural gcc –O3 8,000,000.00
SyCHOSys-Energy gcc –O3 195,000.00
Extracted Layout PowerMill 0.73
Extracted Layout Star-Hspice 0.01
• All tests run on 333 MHz Sun Ultra-5 (Solaris 2.7)
![Page 25: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/25.jpg)
Energy Simulation Results
-9.6%
-7.2%
-8.6%-8.0%-8.6%
-6.1%
-13.7%
+7.0%
+3.2%
-2.5%-0.3%-6.8%
-1.9%
+1.1%
0
0.5
1
1.5
2
2.5
3
3.5
4
Test 1(18)
Test 2(18)
Test 3(22)
Test 4(26)
Test 5(45)
Test 6(46)
Test 7(66)
GCD Test (cycles)
En
erg
y (
nJ
)SPICE
PowerMill
SyCHOSys
![Page 26: SyCHOSys Synchronous Circuit Hardware Orchestration System](https://reader035.vdocument.in/reader035/viewer/2022070418/56815963550346895dc69f32/html5/thumbnails/26.jpg)
Status & Future Work
Microprocessor simulation:• Five stage MIPS RISC including caches and exception handling• Runs SPECint programs• Most of energy modeling is complete• Energy simulation of over 2000 nodes at 16 kHz
Future Work:• Short circuit & leakage current modeling• Control logic modeling• Take energy statistics per static program instruction• Incorporate SyCHOSys into VLSI tool flow