The SimpleScalar Tool Set, Version 2.0
Doug Burger* Computer Sciences Department University of Wisconsin-Madison 1210 West Dayton Street Madison, Wisconsin 53706 USA Todd M. Austin MicroComputer Research Labs, JF3-359 Intel Corporation, 2111 NE 25th Avenue Hillsboro, OR 97124 USA
This report describes release 2.0 of the SimpleScalar tool set, a suite of free, publicly available simulation tools that offer both detailed and high-performance simulation of modern microprocessors. The new release offers more tools and capabilities, precompiled binaries, cleaner interfaces, better documentation, easierinstallation, improved portability, and higher performance. This report contains a complete description of the tool set, including retrieval and installation instructions, a description of how to use the tools, a description of the target SimpleScalar architecture, and many details about the internals of the tools and how to customize them. With this guide, the tool set can be brought up and generatingresults in under an hour (on supported platforms). easy annotation of instructions, without requiring a retargeted compiler for incremental changes. The instruction deﬁnition method, along with the ported GNU tools, makes new simulators easy to write, and the old ones even simpler to extend. Finally, the simulators have been aggressively tuned for performance, and can run codes approaching “real”sizes in tractable amounts of time. On a 200-MHz Pentium Pro, the fastest, least detailed simulator simulates about four million machine cycles per second, whereas the most detailed processor simulator simulates about 150,000 per second. The current release (version 2.0) of the tools is a major improvement over the previous release. Compared to version 1.0 , this release includes betterdocumentation, enhanced performance, compatibility with more platforms, precompiled SPEC95 SimpleScalar binaries, cleaner interfaces, two new processor simulators, option and statistic management packages, a sourcelevel debugger (DLite!) and a tool to trace the out-of-order pipeline. The rest of this document contains information about obtaining, installing, running, using, and modifying the tool set. InSection 2 we provide a detailed procedure for downloading the release, installing it, and getting it up and running. In Section 3, we describe the SimpleScalar architecture and details about the target (simulated) system. In Section 4, we describe the SimpleScalar processor simulators and discuss their internal workings. In Section 5, we describe two tools that enhance the utility of the tool set: apipeline tracer and a source-level debugger (for stepping through the program being simulated). In Section 6, we provide the history of the tools’ development, describe current and planned efforts to extend the tool set, and conclude. In Appendix A and Appendix B contain detailed deﬁnitions of the SimpleScalar instructions and system calls, respectively.
Modern processors areincredibly complex marvels of engineering that are becoming increasingly hard to evaluate. This report describes the SimpleScalar tool set (release 2.0), which performs fast, ﬂexible, and accurate simulation of modern processors that implement the SimpleScalar architecture (a close derivative of the MIPS architecture ). The tool set takes binaries compiled for the SimpleScalar architecture andsimulates their execution on one of several provided processor simulators. We provide sets of precompiled binaries (including SPEC95), plus a modiﬁed version of GNU GCC (with associated utilities) that allows you to compile your own SimpleScalar test binaries from FORTRAN or C code. The advantages of the SimpleScalar tools are high ﬂexibility, portability, extensibility, and performance. We include...