Section 1: Introduction to SimicsHenry CookCS152 - Spring 20081/28/2008 Henry Cook ©UCBerkeley 2Familiarity survey! C! Python! gdb! Unix/Linux/Solaris1/28/2008 Henry Cook ©UCBerkeley 3What are we doing in labs?! Giving you an environment to:! Run code on a variety of platforms! Not all of which are actually available to us! Benchmark and experiment! Change things about the hardware! Access to multiple abstraction layers! See how architectural mechanisms work inpractice on real software1/28/2008 Henry Cook ©UCBerkeley 4What is Simics?! Efficient, instrumented, system levelinstruction set simulator! Run as fast, or faster than, target machine! Gather detailed information at run time! Model target at level at which OS acts! ISA-aware, simulates each instruction! Runs unmodified OSes and workloads1/28/2008 Henry Cook ©UCBerkeley 5Why are we using Simics?! Scripting capabilities! Academic licensing! Can run real software, quickly! Intro to functional/timing simulators! Outside relevance! Program analysis, computer architectureresearch, and kernel debugging1/28/2008 Henry Cook ©UCBerkeley 6Terminology! Host machine! Machine/OS on which Simics is running! Target machine! Machine/OS which Simics is simulating! Neither the architecture nor the OS of eithermachine need be the same! Steps vs. cycles vs. instructions1/28/2008 Henry Cook ©UCBerkeley 7Environment! Similar to gdb, command line interface! Simics CLI has built in scripting! Can also write scripts in Python! Checkpointing! Different modes of execution! Fast, stalls, MAI! Speed vs. accuracy1/28/2008 Henry Cook ©UCBerkeley 8Major Components! Functional! Modules! Written in C, Python, DML! Devices, components, boards, machines…! Attached by Simics or Python scripts! Timing! Memory, caches, Simics MAI! Declare or calculate delay of modules1/28/2008 Henry Cook ©UCBerkeley 9Demo!1/28/2008 Henry Cook ©UCBerkeley 10Gritty details! Might compile code in separate environment! E.g. compile on Solaris/SPARC, run on Linux! Need X11 at client machine! http://inst.eecs.berkeley.edu/connecting.html#xwindows! Instructional servers! http://inst.eecs.berkeley.edu/cgi-bin/clients.cgi?choice=131/28/2008 Henry Cook ©UCBerkeley 11Office Hours?! Monday 9:30 - 10:30! Monday 1:30 - 2:30! Friday 10:30-11:30! Friday
View Full Document