Copyright: This document was prepared by Prof Bhagi Narahari (narahari AT gwu.edu)
and is made available to GW CSCI 211 students.

                  

TA Office Hours: 10:00AM -- 12:00PM Friday
7th Floor Academic Center Computer Lab

                  

Academic Center is open M-F from 7am-9pm.

It is closed on the weekends

Tompkins Hall is open M-F from 8am-10pm.

It is also open at a minimum 12pm-7pm on Saturday and 12pm-10pm on Sunday



Contact the TA if you have any questions about installing or using SimpleScalar.



SimpleScalar is preinstalled in the lab located in the Computer Science department (7th floor of the Academic Center). This course does not require that you install SimpleScalar on your own computer, but you may do so if you choose. Please read and follow the instructions below to install SimpleScalar.



The tarball of simplesim can be downloaded from here:
simplesim-3v0d.tgz


Installing on Linux:

  • To install SimpleScalar on Linux(RedHat 9.0), see the SimpleScalar Install Guide for Linux(RedHat 9.0)
  • To install SimpleScalar on Linux(Ubuntu 4.0), see the SimpleScalar Install Guide for Ubuntu


    Installing on Windows:

  • Method 1 (Cygwin) - To install simplescalar on Windows using Cygwin, here is the current install progress. SimpleScalar installs with no problems on Cygwin when targeted for the PISA architecture(sslittle-na-sstrix).There has been a problem however with installing the cross-compiler. There is no version of gcc that will compile on Cygwin and have a PISA target. This means for the 1st homework you will have to come into lab to compile your source code or find someone who has it installed on Linux. This should take no time at all since you can check for compilation errors with the version of gcc that comes with Cygwin. After you have compiled it with sslittle-na-sstrix-gcc in the lab, just email or ftp the binary to yourself and run it on your home installlation of SimpleScalar. This won't be an issue for homeworks 1 and 2 since they will use precompiled SPEC benchmarks. Any other install problems or questions just let us know.

  • Method 2 (Virtual PC) - As an alternate to using Cygwin, the SimpleScalar program can be installed to a Linux/Unix installation running in a virtual environment such as Virtual PC. For information on how to get Virtual PC for free, see the GW MSDN Academic Alliance page. Please note that this method is only recommended for students who are comfortable installing a Linux operating system and we will not answer questions about installing Linux.
  • Method 3(VMware) - VMware is another virtual machine software. The VMware server is free to download and can be used to install one virtual Linux on your Windows PC. After installing a virtual Linux, refer to the install Guide for either RedHat or Ubuntu for further installation. 




    Additional benchmarks that are not included with the SimpleScalar installation have been placed here for testing.
    They can be downloaded by clicking on the respective links


    Go- AI simulation of the Go game. Required for programming project.
    Usage: sim-outorder go.ss 9 9 go.in (where go.in is an empty file in the directory you are running in)
    Detailed Description: go description

    Compress95- Compression utility. Required for programming project.
    Usage: sim-outorder compress95.ss < compress.in
    Detailed Description: compress description

    Dijkstra- Used to find the shortest path between two nodes
    This contains the following files:
    dijkstra_small.ss - The benchmark for testing, input.dat - The input file, README.txt - The command to run the benchmark.

    Rijndael- Advanced Encryption Standard
    This contains the following files:
    rijndael.ss - The benchmark for testing, input_rijndael.asc - The input file, README.txt - The command to run the benchmark.

    Sha- Secure Hash Algorithm
    This contains the following files:
    sha - The benchmark for testing, input_small.asc - The input file, README.txt - The command to run the benchmark.



    Troubleshooting


    We heard that some students were having problems with the simple scalar install. The following tips and hints might be useful.

  • Compiling - To compile the source code, use sslittle-na-sstrix-gcc like you would normally use gcc. The test scripts(i.e. test-math) are located in:

         /usr/local/simplescalar-pisa/simplesim-3.0/tests-pisa/bin.little/ (Staughton Hall)
         /opt/ss/simplesim-3.0/tests-pisa/bin.little/ (Academic Center)

    Since a lot of people were having problems with running the programs on the computers in the Academic Center 7th floor Lab, Room 725l, we have attached a user guide for the lab computers:

    User Guide

  • Compilation Errors - Some compilers do not handle the multiline text within the source files properly. There are two solutions to this problem. One is to delete all of the trailing '\' characters and new line characters to create a string on one long line. The other is to simply add a '\' character to the first portion of the string: "FIXME\n\". The affected file is $DIR/gcc-2.7.2.3/insn-output.c [where DIR=/home/your-login-name/simplescalar (or your install directory's name)] Edit the files at lines 676, 751 & 824. All these lines use the same code.

  • Path Problems - If there are path problems while installing SimpleScalar, the first solution is to make sure that you are in the directory where the executable is and use the "./" (minus the quotation marks) before the executable. For example:

         ./simoutorder example.ss

    when you are in your $IDIR/simplesim-3.0 directory. The "./" was not in the install guide for linux but has been updated. The second solution is to update the PATH environment variable. This can be done in the following manner:

         export PATH=$IDIR/simplesim-3.0:$PATH

    This will allow you to run sim-outorder anywhere. If you have the cross compiler installed then just include it in the same manner.



    More Information:

    The best place to go for understanding how SimpleScalar works and what exactly it does is to check out the SimpleScalar user's guide. We have linked it from this page but it also can be found at http://www.simplescalar.com/docs.html. Make sure to read sections 3,4, and 6. Programming homework 1 will have exercises using the branch prediction functionality and programming homework 2 will be looking at caches so make sure to understand those sections fully.

    SimpleScalar users_guide_v2.pdf


  • Back to Course Homepage