------------------------- SIMPLESCALAR ------------------------ 1. Download SimpleScalar Tool Set * simplesim-3v0c.tgz * simpleutils-990811.tar.gz * simpletools-2v0.tgz * gcc-2.7.2.3.ss.tar.gz 2. Untar the source code Source codes should be in a directory "simplesim" and untar all. rm -rf gcc-2.6.3 3. Install export HOST=i386-unknown-linux export IDIR=/home/your-login-name/simplesim (or your directory's name) cd $IDIR/simpleutils-990811 configure --host=$HOST --target=sslittle-na-sstrix --with-gnu-as --with-gnu-ld --prefix=$IDIR make NOTE:(change yy_current_buffer to YY_CURRENT_BUFFER in ld/ldlex.c in function:yy_input) make install cd $IDIR/simplesim-3.0 make config-pisa cd $IDIR/gcc-2.7.2.3 configure --host=$HOST --target=sslittle-na-sstrix --with-gnu-as --with-gnu-ld --prefix=$IDIR make LANGUAGES="c c++" CFLAGS="-O3" CC="gcc" make install LANGUAGES="c c++" CFLAGS="-O3" CC="gcc" NOTE:You might encounter an error with stdio.h. If so, find the right place in that file and delete __NORETURN 4. Test Write a small C program. Use the installed gcc to compile it, then use any of the simulator (sim-safe, sim-outorder, etc) to run the binary file. $IDIR/bin/sslittle-na-sstrix-gcc -I$IDIR/sslittle-na-sstrix/include/ -I$IDIR/lib/gcc-lib/sslittle-na-sstrix/2.7.2.3/include/ -O2 -S test.c -o test.s $IDIR/bin/sslittle-na-sstrix-as -o test.o test.s $IDIR/bin/sslittle-na-sstrix-ld -o test test.o protector.o -L$IDIR/sslittle-na-sstrix/lib/ -lc -L$IDIR/lib/gcc-lib/sslittle-na-sstrix/2.7.2.3/ -lgcc -------------------------- SPEC INSTRUCTIONS -------------------------- 1. Download the benchmarks.v3.tar.gz from http://www.eecs.umich.edu/mirv/benchmarks/benchmarks.html Untar the file and if you are not interested in the MIRV compiler, delete all *.mirv.* files. These are the binaries to use with simplescalar. 2. Your SPEC2000 has the needed input files. For example: the input file for the first run below is 166.i. It can be found at: /opt/spec_cpu2000/benchspec/CINT2000/176.gcc/data/ref/input/166.i 3. Run simplescalar with spec code! sim-cache -max:inst 500000000 gcc00.outorderO0.gcc.100M.ss 166.i -o 166.s sim-cache -max:inst 500000000 bzip200.outorderO2.gcc.100M.ss input.source sim-cache -max:inst 500000000 equake00.outorderO2.gcc.100M.ss < inp.in sim-cache -max:inst 500000000 gzip00.outorderO2.gcc.100M.ss input.log 4. NOTE: -The commands above runs sim-cache with binaries, but only executes the first 500 Million instructions. If you want to run them to completion, remove the "-max:inst 500000000" from the command line