SimpleScalar Tool Set, Version 2 CSE 323 Department of Computer Engineering.

Slides:



Advertisements
Similar presentations
An Introduction to Programming By :- Vishal Hirani B.Tech II year (CSE)
Advertisements

Programs in Memory Bryce Boe 2012/08/29 CS32, Summer 2012 B.
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.
SimpleScalar Tutorial
Utilizing the GDB debugger to analyze programs Background and application.
SimpleScalar CS401. A Computer Architecture Simulator Primer What is an architectural simulator? – Tool that reproduces the behavior of a computing device.
Lab 4 Department of Computer Science and Information Engineering National Taiwan University Lab4 - Bootloader 2014/10/14/ 13 1.
CS201 – Makefile Tutorial. A Trivial Makefile # Trivial Makefile for puzzle1.c # Ray S. Babcock, CS201, MSU-Bozeman # 1/5/05 # puzzle1: puzzle1.c gcc.
Characteristics of Realtime and Embedded Systems Chapter 1 6/10/20151.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming Building User Libraries.
CS465 - Unix C Programming (cc/make and configuration control)
1 Introduction to Programming Environment Using MetroWerks CodeWarrior and Palm Emulator.
Software Development and Software Loading in Embedded Systems.
Prof. R. Willingale Department of Physics and Astronomy 2nd Year C+R 2 nd Year C and R Workshop Part of module PA2930 – 2.5 credits Venue: Computer terminal.
1 uClinux course Day 3 of 5 The uclinux toolchain, elf format and ripping a “hello world”
Parts of a Computer Why Use Binary Numbers? Source Code - Assembly - Machine Code.
University of Kansas Electrical Engineering Computer Science Jerry James and Douglas Niehaus Information and Telecommunication Technology Center Electrical.
PVM. PVM - What Is It? F Stands for: Parallel Virtual Machine F A software tool used to create and execute concurrent or parallel applications. F Operates.
Using Visual Studio 2013 An Integrated Development Environment (IDE)
CS-2710 Computer Organization Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick – CS-2710 info syllabus, homework, labs… –
1 Introduction to SimpleScalar (Based on SimpleScalar Tutorial) CPSC 614 Texas A&M University.
Lecture 8. Profiling - for Performance Analysis - Prof. Taeweon Suh Computer Science Education Korea University COM503 Parallel Computer Architecture &
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.
(1) A Beginner’s Quick Start to SIMICS. (2) Disclaimer This is a quick start document to help users get set up quickly Does not replace the user guide.
Old Chapter 10: Programming Tools A Developer’s Candy Store.
OSP Tutorial An Introduction. Getting to OSP  Obtain a CSE account  Recommend xming to remote log in from USF Website 
Nachos Overview 2011 级 OS 课程设计 2013 秋. to get your hands dirty Read and analyze Build observe.
CS 591x Profiling Parallel Programs Using the Portland Group Profiler.
Computer Organization and Architecture Tutorial 1 Kenneth Lee.
GNU Make Computer Organization II 1 © McQuain What is make ? make is a system utility for managing the build process (compilation/linking/etc).
MIPS Project -- Simics Yang Diyi Outline Introduction to Simics Simics Installation – Linux – Windows Guide to Labs – General idea Score Policy.
Introduction to SimpleScalar (Based on SimpleScalar Tutorial) CSCE614 Hyunjun Jang Texas A&M University.
1 SEEM3460 Tutorial Compiling and Debugging C programs.
Lab 2 Parallel processing using NIOS II processors
Architecture Selection of a Flexible DSP Core Using Re- configurable System Software July 18, 1998 Jong-Yeol Lee Department of Electrical Engineering,
Debugging Ensemble Productions CAMTA Meeting 11 th November 2010 John Murray.
Chapter 1 Computers, Compilers, & Unix. Overview u Computer hardware u Unix u Computer Languages u Compilers.
HW4: Due Nov 24th 23:59 1.Describe test cases to reach full path coverage of the triangle program by completing the path condition table below. Also, draw.
Nachos Lecture 2 Xiaorui Sun. Phase 2 You have got one machine (machine package) You have to implements the incomplete OS (userprog package) Run programs.
CPS120: Introduction to Computer Science Compiling a C++ Program From The Command Line.
Teaching Digital Logic courses with Altera Technology
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Advanced UNIX progamming Fall 2002 Instructor: Ashok Srinivasan Lecture 2 Class web site:
QEMU, a Fast and Portable Dynamic Translator Fabrice Bellard (affiliation?) CMSC 691 talk by Charles Nicholas.
CMSC 104, Version 8/061L14AssignmentOps.ppt Assignment Operators Topics Increment and Decrement Operators Assignment Operators Debugging Tips Reading Section.
Lecture 1: Introduction UNIX programming environment –Editors –Remote shell setup –C compilers –Debugger –make.
GNU Make Computer Organization II 1 © McQuain What is make ? make is a system utility for managing the build process (compilation/linking/etc).
Introduction to SimpleScalar Tool Set CPEG323 Tutorial Long Chen September, 2005.
Linux CSE 1222 CSE1222: Lecture 1BThe Ohio State University1.
Makefiles CSSE 332 Operating Systems
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.
Assembler, Compiler, MIPS simulator
Brief Intro to Make CST494/ Gannod.
ACOE301: Computer Architecture II Labs
Editor, Compiler, Linker, Debugger, Makefiles
Introduction to SimpleScalar
Introduction to SimpleScalar (Based on SimpleScalar Tutorial)
Software Development with uMPS
Introduction to SimpleScalar (Based on SimpleScalar Tutorial)
Welcome In The World Of ‘C’.  TEXT BOOK: Programming in ANSI ‘C By: E Balagurusamy. TMH  Reference Books: 1) The ‘C Programming Language By: Kernighan.
Running OpenSSL Crypto Algorithms in Simplescalar
Agenda Why simulation Simulation and model Instruction Set model
Getting Started: Developing Code with Cloud9
HW4: Concolic testing Busybox expr (due Nov 30 23:59)
Debugging.
Introduction to Computer Systems Engineering
HW4: Due Nov 22nd 23:59 Describe test cases to reach full path coverage of the triangle program by completing the path condition table below. Also,
Makefiles, GDB, Valgrind
SPL – PS1 Introduction to C++.
Presentation transcript:

SimpleScalar Tool Set, Version 2 CSE 323 Department of Computer Engineering

A Computer Architecture Simulator What is an architectural simulator? Tool that reproduces the behavior of a computing device What is SimpleScalar? A simulator that performs fast, flexible and accurate simulation of modern processors that implement the SimpleScalar Architecture. What is a SimpleScalar Architecture? A close derivative of the MIPS architecture.

Simulation How does the simulation? Takes binaries compiled for the SimpleScalar architecture and simulates their execution on processor simulator.

Simulation Suite Overview

Binaries? How to create binaries for the architecture? The simulator provides sets of precompiled binaries. Also provides a modified version of GCC that allows you to compile your own binaries.

SimpleScalar Overview Results Simulator source Host C compiler

How to make a binary for SimpleScalar You will be working on TUX machine (IP: ) with your accounts and passwords. SimpleScalar is located in /usr/local/ Copy the makefile into your own directory. cp /usr/local/simplescalar/simplesim-2.0/tests/src/Makefile./ Add the necessary information about your c file into the make file in order to compile it. vi Makefile myprog1:myprog1.c $(CC) $(CFLAGS) -o myprog1 myprog1.c

How to make a binary for SimpleScalar Compile your c code make myprog1 Run the simulator /usr/local/simplescalar/simplesim-2.0/sim-cache myprog1

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

Cache Simulation Options -cache:dl1 l1 data cache -cache:dl2 l2 data cache -cache:il1 l1 inst cache -cache:il2 l2 inst cache -tlb:itlb instruction TLB -tlb:dtlb data TLB

sim-cache

sim-cache …(cont.) The cache size is therefore the product of,,,. il1:256:32:1:1(8KB)

sim-cache …(cont.)

Example myprog1.c #define N 1024 main() { int i,j,x[N][N]; for(i=0;i<N;i++) for(j=0;j<N;j++) x[i][j]=2*x[i][j]; }

Example (cont’d) adding below ones into the Makefile myprog1:myprog1.c $(CC) $(CFLAGS) -o myprog1 myprog1.c Compile myprog1.c make myprog1 Run the simulator with sim-cache defaults /usr/local/simplescalar/simplesim-2.0/sim-cache myprog1

Example (cont’d) Collect the output il1.misses 381 # total number of misses il1.miss_rate # miss rate (i.e., misses/ref) dl1.misses # total number of misses dl1.miss_rate # miss rate (i.e., misses/ref) ul2.misses # total number of misses ul2.miss_rate # miss rate (i.e., misses/ref)

Example (cont’d) Run the binary for the following cache system unified cache with 256 sets x 32 bytes per block /usr/local/simplescalar/simplesim-2.0/sim-cache - cache:il1 dl1 -cache:dl1 ul1:256:32:1:l -cache:dl2 none -cache:il2 none myprog1 Collect the results Comment on the results

More Information