EEL 5741 – Advanced Microprocessor Systems Project 1: Benchmark Profiling and Processor Architecture Introduction The goal of this project is to use simulator to profile the executions of different...




EEL 5741 – Advanced Microprocessor Systems Project 1: Benchmark Profiling and Processor Architecture



Introduction


The goal of this project is to use simulator to profile the executions of different benchmark programs, to analyze the performance of different computer systems based on such benchmark programs, and to examine the roles of the compiler.



Project Details


1. Read the Simplescalar Tool Set Document and understand the Simplescalar architecture. Download and install Simplescalar 3.0 software package on your computer. Study the usage of SimpleScalar simulation commands

sim-fast

and

sim- profile
. Please check the references at the end of this document.


2. For each of the following five precompiled benchmarks, namely,

go.ss, anagram.ss, apsi.ss, cc1.ss, and compress95.ss
. Check the outputs. The command lines to use these files are listed as follows:


. a) /simplesim-3.0/ ./sim-profile -iclass BenchMarks_Little/go.ss 50 9 2stone9.in


. b) /simplesim-3.0/ ./sim-profile -iclass BenchMarks_Little/anagram.ss words


. c) /simplesim-3.0/ ./sim-profile -iclass BenchMarks_Little/apsi.ss


. d) /simplesim-3.0/ ./sim-profile -iclass BenchMarks_Little/cc1.ss -O 1smt.i


. e) /simplesim-3.0/ ./sim-profile -iclass BenchMarks_Little/compress95.ss


3. Assuming you have the following two machines with the same cycle time but different 
cycles-per-instruction (CPI) for different instruction groups as follows:Table 1. CPIs for different types of instructions

First, let System 1 be the reference machine. With the data you can collect from step 2, compare the performance of these two systems normalized geometric mean. Use System 2 as the reference machine and redo the comparison. Discuss your results.
































Instruction Types





Load/Store




Integer




Floating Point




Control Flow and others



System 1




2



1



5



3



System 2




1




2



4



3



4. For this part use the C program for matrix multiplication, i.e., matmul.c, that computes the production of two matrices Amxn x Bnxk. It takes three input parameters, i.e., m, n, and k, randomly generates two matrices, and then computes their product. Compile it with SimpleScalar compiler (i.e., /usr/local/simplescalar/bin/sslittle-na-sstrix-gcc)
with no optimization and with level 2 optimization.
Here is an example:


/usr/local/simplescalar/bin/sslittle-na-sstrix-gcc –O2 –o


xgccedfile.ss Csoursefile.c



$IDIR/bin/sslittle-na-sstrix-gcc -o hello hello.c



$IDIR/simplesim-3.0/sim-safe hello


The above command compiles C source code
Csoursefile.c
to the SimpleScalar binary file
xgccedfile.ss
with the level 2 optimization option. Note that
the SimpleScalar compiler has the similar input format as that of gcc. (If you are not familiar with gcc, you should check the details using the UNIX/Linux
manual
command, i.e.,
man gcc.)


. a) Let m=n=k=50, simulate the binary files and compare the total instruction counts.


. b) What are the overall CPIs of the computer when running the optimized and non- 
optimized code? Discuss your results.

































Optimization Level




Parameters





CPI



2



100-100-100





None



100-100-100





2



50-50-50





None



50-50-50








What/how to hand in


Your report should present your experimental results (with tables and/or figures) and show your understanding of the contents we discuss in the class by clearly interpreting these results and/or answering the questions.




A summary section is mandatory

that summaries the general observations, experiences, and conclusions you obtained from this project.






Reference


1. SimpleScalar LLC, http://www.simplescalar.com


2. How-to install SimpleScalar on Ubuntu GitHub repository. Here you can find a 
script that installs simplescalar in Ubuntu 16.04 LTS. 
(https://github.com/sdenel/How-to-install-SimpleScalar-on-Ubuntu) 



Simplescalar GitHub repository. Here you can find instructions and sources for 
SPEC95 bechmarks to work with simplescalar. (https://github.com/priyankarroychowdhury3/Simplescalar) 


Feb 15, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here