1 / 17

SimpleScalar

SimpleScalar. CS401. A Computer Architecture Simulator Primer . What is an architectural simulator? – Tool that reproduces the behavior of a computing device. Simulation Suite Overview. Global Simulator Options (cont.). • Supported on all simulators

naasir
Download Presentation

SimpleScalar

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SimpleScalar CS401

  2. A Computer Architecture Simulator Primer • What is an architectural simulator? • – Tool that reproduces the behavior of a computing device

  3. Simulation Suite Overview

  4. Global Simulator Options (cont.) • • Supported on all simulators • -h - print simulator help message • -d - enable debug message • -i - start up in DLite! debugger • -q - quit immediately • -config <file> - read config parameters from <file> • -dumpconfig <file> - save config parameters into <file>

  5. Global Simulator Options • • Configuration files • – To generate a configuration file • • Specify non-default options on command line • • And, include “-dumpconfig <file>” to generate • configuration file • – Comments allowed in configuration files, all after • “#” ignored • – Reload configuration files using “-config <file>”

  6. sim-cheetah …(cont.) • -R <string> • # replacement policy, i.e., lru or opt • -C <string> • # cache configuration, i.e., fa, sa, or dm • -a <int> # min number of sets (log base 2, line size for DM) • -b <int> # max number of sets (log base 2, line size for DM) • -l <int> # line size of the caches (log base 2) • -n <int> # max degree of associativity to analyze (log base 2)

  7. sim-cheetah (example) • Configurations: • least-recently-used (LRU) replacement policy • 128 to 2048 sets • 1-way to 4-way associativity • 16-byte cache lines • Configuration file: • -R lru # replacement policy is lru. • -a 7 # min number of sets (log 128) • -b 11 # max number of sets (log 2048) • -l 4 # line size of the caches (log 16) • -n 2 # max degree of associativity to analyze (log 4)

  8. sim-cache …(cont.) • -cache:dl1 <string> • # l1 data cache config, i.e., {<config>|none} • -cache:dl2 <string> • # l2 data cache config, i.e., {<config>|none} • -cache:il1 <string> • # l1 inst cache config, i.e., {<config>|dl1|dl2|none} • -cache:il2 <string> • # l2 instruction cache config, i.e., {<config>|dl2|none} • -tlb:itlb <string> • # instruction TLB config, i.e., {<config>|none} • -tlb:dtlb <string> • # data TLB config, i.e., {<config>|none}

  9. sim-cache …(cont.)

  10. sim-cache …(cont.)

  11. sim-bpred • -bpred <string> • # branch predictor type {nottaken|taken|bimod|2lev|comb} • -bpred:bimod <int> • # bimodal predictor config (<table size>) • -bpred:2lev <int list...> • # 2-level predictor config (<l1size> <l2size> <hist_size> <xor>) • -bpred:comb <int> • # combining predictor config (<meta_table_size>) • * Predictor `comb' combines a bimodal and a 2-level predictor. • -bpred:ras <int> • # return address stack size (0 for no return stack)

  12. Running SimpleScalar Tools …(cont.) • The tool set takes binaries compiled for the SimpleScalar architecture and simulates their execution on one of several provided processor simulators. • sets of precompiled binaries (including SPEC95) • a modified version of GNU GCC (with associated utilities) that allows you to compile your own SimpleScalar test binaries from FORTRAN or C code.

  13. Running SimpleScalar Tools (The SPEC95 Benchmark Binaries) • The Standard Performance Evaluation Corporation (SPEC) provides (for a fee) a set of benchmarks that are used to evaluate processors. • You can find information about these benchmarks on the Web at • http://www.spec.org/osg/cpu95/.

  14. Running SimpleScalar Tools(compile your own test binaries ) • Compiling a C program, e.g. • ssbig-na-sstrix-gcc -g -O -o foo foo.c –lm • Compiling a Fortran program, e.g. • ssbig-na-sstrix-f77 -g -O -o foo foo.f -lm

  15. Running SimpleScalar Tools …(cont.) • • Running a program ./sim-cheetah -config <file> <executable file for SimpleScalar> <parameters> • • Example ./sim-cheetah -config test go.ss 2 8 go.in

  16. Running SimpleScalar Tools • • Example ./sim-cheetah -config <arguments> go.ss 2 8 go.in • • Where • <arguments> : the list of sim-cheetah parameters needed to • produce results for the specified cache configurations. • go.ss : the SimpleScalar binary for the "go" benchmark. • "2 8“ : the play quality and the board size for the go simulation. • "go.in" : a file that specifies the starting board position • (in this case an empty file.)

  17. More Information • http://www.simplescalar.com • For more information about simplescalar, you can download userguide and hackguide for it.

More Related