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

Slides:



Advertisements
Similar presentations
Performance Evaluation of Cache Replacement Policies for the SPEC CPU2000 Benchmark Suite Hussein Al-Zoubi.
Advertisements

Project : Phase 1 Grading Default Statistics (40 points) Values and Charts (30 points) Analyses (10 points) Branch Predictor Statistics (30 points) Values.
Using Instruction Block Signatures to Counter Code Injection Attacks Milena Milenković, Aleksandar Milenković, Emil Jovanov The University of Alabama in.
UEE072HM Linking HLL and ALP An example on ARM. Embedded and Real-Time Systems We will mainly look at embedded systems –Systems which have the computer.
1 SS and Pipelining: The Sequel Data Forwarding Caches Branch Prediction Michele Co, September 24, 2001.
SimpleScalar Tutorial
Utilizing the GDB debugger to analyze programs Background and application.
CS 202 Computer Science II Lab Fall 2009 September 24.
© 2003 Xilinx, Inc. All Rights Reserved Debugging.
Branch Prediction in SimpleScalar
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Evaluation of Branch Predictors Using High-density-branch Programs Fang Pang MEng. Lei Zhu MEng. Electrical and Computer Engineering Department University.
Adaptive Cache Compression for High-Performance Processors Alaa R. Alameldeen and David A.Wood Computer Sciences Department, University of Wisconsin- Madison.
UEE072HM. Embedded and Real-Time Systems We will mainly look at embedded systems –Systems which have the computer system embedded within their application.
Introduction to SimpleScalar (Based on SimpleScalar Tutorial)
Tutorial 0 SimpleScalar Installation CPEG-323 Intro. To Computer Engineering Tom St. John September 19, 2008.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Apr 14,2003CPE 631 Project Performance Analysis and Power Estimation of ARM Processor Team: Ajayshanker Krishnamurthy Swathi Tanjore Gurumani Zexin Pan.
CSE430/830 Course Project Tutorial Instructor: Dr. Hong Jiang TA: Dongyuan Zhan Project Duration: 01/26/11 – 04/29/11.
Gdb is the GNU debugger on our CS machines. gdb is most effective when it is debugging a program that has debugging symbols linked in to it. With gcc and.
CS140: Intro to CS An Overview of Programming in C by Erin Chambers.
Memory & Storage Architecture Seoul National University GDB commands Hyeon-gyu School of Computer Science and Engineering.
University of Maryland Compiler-Assisted Binary Parsing Tugrul Ince PD Week – 27 March 2012.
Compiled from SimpleScalar Tutorial
Using Visual Studio 2013 An Integrated Development Environment (IDE)
A Novel Cache Architecture with Enhanced Performance and Security Zhenghong Wang and Ruby B. Lee.
SimpleScalar Tool Set, Version 2 CSE 323 Department of Computer Engineering.
1 Introduction to SimpleScalar (Based on SimpleScalar Tutorial) CPSC 614 Texas A&M University.
First Programming Assignment For MIPS R3000 Processor Department of Computer Science Southern Illinois University Edwardsville Fall, 2015 Dr. Hiroshi Fujinoki.
Compiling & Debugging Quick tutorial. What is gcc? Gcc is the GNU Project C compiler A command-line program Gcc takes C source files as input Outputs.
Programming With C.
Goals: To gain an understanding of assembly To get your hands dirty in GDB.
1 Software Reliability Assurance for Real-time Systems Joel Henry, Ph.D. University of Montana NASA Software Assurance Symposium September 4, 2002.
Active-HDL Interfaces Building VHPI Applications C Compilation Course 9.
Replay Compilation: Improving Debuggability of a Just-in Time Complier Presenter: Jun Tao.
MIPS Project -- Simics Yang Diyi Outline Introduction to Simics Simics Installation – Linux – Windows Guide to Labs – General idea Score Policy.
A Tutorial on Introduction to gdb By Sasanka Madiraju Graduate Assistant Center for Computation and Technology.
Introduction to SimpleScalar (Based on SimpleScalar Tutorial) CSCE614 Hyunjun Jang Texas A&M University.
Test Specifications A Specification System for Multi-Platform Test Suite Configuration, Build, and Execution Greg Cooksey.
CPE 631 Project Presentation Hussein Alzoubi and Rami Alnamneh Reconfiguration of architectural parameters to maximize performance and using software techniques.
Chapter 1 Computers, Compilers, & Unix. Overview u Computer hardware u Unix u Computer Languages u Compilers.
Debugging 1/6/2016. Debugging 1/6/2016 Debugging  Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a program.
Dale Roberts Debugger Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer and Information Science, School.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Lab 9 Department of Computer Science and Information Engineering National Taiwan University Lab9 - Debugging I 2014/11/4/ 28 1.
SimpleScalar 설치 및 사용법 순천향대학교 정보기술공학부 이상정.
Debugging Lab Antonio Gómez-Iglesias Texas Advanced Computing Center.
김민수 Cortex-M4 Processor - Getting Started with the GNU Compiler Collection(gcc)
Introduction to SimpleScalar Tool Set CPEG323 Tutorial Long Chen September, 2005.
Software Engineering Algorithms, Compilers, & Lifecycle.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course demonstrates the use of the High-performance.
Dale Roberts Debugger Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer and Information Science, School.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
DEBUG.
Outline Installing Gem5 SPEC2006 for Gem5 Configuring Gem5.
??? ple r B Amulya Sai EDM14b005 What is simple scalar?? Simple scalar is an open source computer architecture simulator developed by Todd.
Introduction to ZBOSS Embedded Systems Software Training Center
Introduction to SimpleScalar
Introduction to SimpleScalar (Based on SimpleScalar Tutorial)
Software Development with uMPS
gdb gdb is the GNU debugger on our CS machines.
Energy Based Analysis of Cache Design
Introduction to SimpleScalar (Based on SimpleScalar Tutorial)
Running OpenSSL Crypto Algorithms in Simplescalar
Application Binary Interface (ABI)
EE282h: Review Session #3 Programming Assignment #3:
Ns-3 Training Debugging support ns-3 training, June 2016.
Debugging.
Gang Luo, Hongfei Guo {gangluo,
Presentation transcript:

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 -h - print simulator help message -d - enable debug message -i - start up in DLite! debugger -q - quit immediately -config - read config parameters from -dumpconfig - save config parameters into

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

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

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)

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

sim-cache …(cont.)

sim-bpred -bpred # branch predictor type {nottaken|taken|bimod|2lev|comb} -bpred:bimod # bimodal predictor config ( ) -bpred:2lev # 2-level predictor config ( ) -bpred:comb # combining predictor config ( ) * Predictor `comb' combines a bimodal and a 2-level predictor. -bpred:ras # return address stack size (0 for no return stack)

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.

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

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

Running SimpleScalar Tools …(cont.) Running a program./sim-cheetah -config Example./sim-cheetah -config test go.ss 2 8 go.in

Running SimpleScalar Tools Example./sim-cheetah -config go.ss 2 8 go.in Where : 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.)

More Information For more information about simplescalar, you can download userguide and hackguide for it.