myspace profile view counter

Personal Site

<< back

          Simplescalar Ported to Alpha/Linux

 

The original Simplescalar simulator can only execute code complied for either Alpha/OSF (with Ultix system calls) or PISA/Linux. However, attaining an up-to-date gcc toolchain for these ISA/OS setups can be extremely challenging. And it is simply not possible to compile the SPEC2006 benchmarks without an up-to-date toolchain (especially the C++ code).

For this reason, we have ported Simplescalar to Alpha/Linux (with Linux system calls). The good thing about this ISA/OS setup is that a full up-to-date gcc toolchain for it can be easily generated with Crosstool, or Speedblue, enabling effortless compilation of all the SPEC2006 benchmarks (tested with upto gcc-4.4.5).

The simulator is also capable of executing code compiled natively on a Digital AlphaServer  running Debian Linux. This enables use of the latest gcc version available in the Debian repository. (tested with code compiled on an AlphaServer 2100 running Debian Lenny). Please contact me (hashem.h.najafabadi@acm.org) if you need access to such a system to compile your own benchmarks.

Also this guide can help with using crosstool to build gcc-4.4.5 for Alpha-linux.

Remember: Simplescalar can only execute binaries compiled with the -static flag.

NOTE: Depending on your Linux version, executing compiled binaries with the simulator(s) in the suite may result in a "kernel too old" error. This can be fixed with by simply opening the syscall.c file and changing the kernel version specified with SYSCALL_UNAME as some higher version (e.g. I have successfully used 2.9.36.39-2.fc14), and then rebuilding (do a 'make' again).

NOTE: This simulator is a modified version of Simplescalar (all original terms of licensing apply). The employed system-call implementations were generated by Mark Dechene.

NOTE: Considerable effort went into developing this tool. If you use it in your research and do not mention us, our feelings will be hurt.

 

Download

                    Source package (06/04/10):    mase-alphalinux.tgz