Download presentation
Presentation is loading. Please wait.
Published bySharlene Moore Modified over 8 years ago
1
CS203 – Advanced Computer Architecture Computer Architecture Simulators
2
Why use simulators? Designing and fabricating chips are expensive Would take years to test new microarchitecture design Abstract performance/queuing models are simplistic Require a middle-ground Fast, accurate, configurable 2
3
Why use simulators? Leverage faster, more flexible S/W development cycles Permits more design space exploration Facilitates validation before H/W becomes available Level of abstraction can be throttled to design task Possible to increase/improve system instrumentation 3 Adapted from SimpleScalar Tutorial
4
What is an architectural simulator? Tool that reproduces the behavior of a computing device 4 Adapted from SimpleScalar Tutorial
5
Taxonomy of Simulator Tools Architectural Simulators FunctionalTrace-drivenExec-drivenInterpreters Direct Execution Performance Inst. Schedulers Cycle timers 5 Adapted from SimpleScalar Tutorial
6
Functional vs Performance Simulators Functional simulators implement the architecture The architecture is what the programmer’s see Performance simulators implement the microarchitecture Model system internals (microarchitecture) Often concerned with time 6 Adapted from SimpleScalar Tutorial
7
Execution vs Trace-driven Simulation Trace-based simulation: Reads a “trace” of instructions saved from previous execution Easiest to implement, no funcitonal component needed No feedback into trace Execution-driven simulation: Simulator “runs” the program, generating stream dynamically More difficult to implement, many advantages Direct execution: instrumented program runs on host 7 Adapted from SimpleScalar Tutorial
8
Instruction schedulers vs cycle timers Constraint-based instruction schedulers Simulator schedules instructions based on resource availability Instructions processed one at a time, in order Simpler to implement/modify, generally less detailed Cycle-timer simulators Simulator tracks microarch. State each cycle Many instructions in various stages at any time Simulator state == microarch. State Good for detailed microarchitecture simulation 8
9
Functional vs performance simulators Functional simulators implement the architecture Perform the actual execution Implement what programmers see Performance (or timing) simulators implement the microarchitecture Model system resources/internals Measure time Implement what the programmers do not see 9 Adapted from SimpleScalar Tutorial
10
Application-only vs Full-system 10 Adapted from Multi2Sim Tutorial
11
The Zen of Simulator Design Design goals will drive which aspects are optimized 11 Adapted from SimpleScalar Tutorial
12
Example Simulators - CPU SimpleScalar (Wisconsin/Michigan) SESC (UIUC) ESESC (UCSC) gem5 (Michigan, Wisconsin, ARM, etc.) Merger of M5 (Michigan) + GEMS (Wisconsin) Simics (Wind River Systems) Sniper (Ghent) zsim (Stanford/MIT) MARSSx86 (Binghamton) 12
13
Example Simulators Temperature Hotspot (Virginia) Memory DramSim2 (Maryland) CACTI (HP) NVSim (PSU) Disk DiskSim (CMU) FlashSim (PSU) Power McPAT (HP) Wattch (Harvard) Reliability VARIUS (UIUC) 13
14
Example Simulators Graphical Processing Units (GPU) GPGPU-Sim (UBC) Multi2Sim (Northeastern) MacSim (GaTech) GPU Energy GPUWattch (UT-Austin/Wisconsin/UBC) 14
15
Example Simulators Heterogeneous Architectures Multi2Sim (Northeastern) - CPU/GPU CPU-GPU Simulator (PSU) – CPU/GPU gem5-gpu (Wisconsin) – CPU/GPU Datacenters BigHouse (Michigan) Network DARSIM (MIT) NoC-SIM (TAMU) 15
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.