SSMT v3.0 Simulator Manual

Compiling applications

The compiler that we used to build applications is gcc-3.1 with binutils-2.12.91 on alpha box (OSF1). Earlier version of gcc can not recognize context related instructions. There are two points to note for compiling applications. First, -static gcc option is required. Second, please include ssmt.h and link ssmt.c with the application. This replaces libssmt.a of v2.0. So, you do not need a special assembler any more.

Implementation of context related instructions

We reserved an unused machine instruction, "perr", to implement special context related instructions. They are defined in machine.def and ssmt.h. You can also extend this instruction to implement annotations like what Pisa ISA can do. "perr" may be used for some versions of alpha processors and applications. However, the alpha box that we are using treats "perr" as a nop. Furthermore, the gcc on our alpha box never generates "perr" from the normal C code. The only way of using "perr" is by asm() command.

Simulator code

The current version is based on SimpleScalar v3.0 and runs on Linux x86 box. The internal architecture of this simulator is same as that of the v2.0 based SSMT simulator. If you need to make the simulator running on Solaris, instead of Linux x86, you can simply turn on line# 245-248 and turn off line# 238-242 of machine.h.

If you have any question, please send an e-mail to Also, I'd appreciate if you report any bug in the simulator.

Prepared by Seungryul Choi on November 19, 2003