|
What is the SimpleScalar tool set?
The SimpleScalar tool set is a system software infrastructure used to
build modeling applications for program performance analysis, detailed microarchitectural modeling, and hardware-software
co-verification. Using the SimpleScalar tools, users can build modeling
applications that simulate real
programs running on a range of modern processors and systems. The tool set includes
sample simulators ranging from a
fast functional simulator to a detailed, dynamically scheduled processor
model that supports non-blocking caches, speculative execution, and
state-of-the-art branch prediction. The SimpleScalar tools are used widely
for research and instruction, for example, in 2000 more than one third of all papers published in
top computer architecture conferences used the SimpleScalar tools to evaluate their designs.
In addition to simulators, the SimpleScalar tool set includes performance visualization
tools, statistical analysis resources, and debug and verification infrastructure.
SimpleScalar LLC is unique in the EDA community. We distribute our
software under an open source model, trusting that our users will license the
software that they use. The tool set is distributed with
all source code, making it possible for users extend SimpleScalar, and to
adapt existing models to their own ideas.
Which instruction sets can it emulate?
SimpleScalar simulators can emulate the Alpha, PISA, ARM, and x86
instruction sets.
The tool set includes a machine definition infrastructure that permits most
architectural details to be separated from simulator implementations.
All of the simulators distributed with the current release of SimpleScalar
can run programs from any of the above listed instruction sets. Complex
instruction set emulation (e.g., x86) can be implemented with or without
microcode, making the SimpleScalar tools particularly useful for modeling
CISC instruction sets.
The PISA instruction set (a.k.a. the portable instruction
set architecture) is a simple MIPS-like instruction set maintained primarily
for instructional use. A GNU GCC-based
cross-compiler and pre-built libraries are also available for this
target. The PISA target is particularly useful for computer engineering
instruction as the tools can be built on a wide range of host
platforms, including Linux/x86, Win2000, SPARC Solaris, and others.
On which platforms does it run?
SimpleScalar builds on most 32-bit and 64-bit flavors of UNIX and Windows
NT-based operating systems. The internal software architecture of the
tool set includes a host interface module, permitting fast porting to other
host platforms. The host interface module permits cross-endian
emulation, thus it is possible to use emulate a target on a host platform
with a different endian, e.g., running Alpha ISA emulation on a SPARC Solaris host
platform. Most SimpleScalar users and developers (including
SimpleScalar LLC) use SimpleScalar on Linux/x86.
Who wrote the SimpleScalar tool set?
SimpleScalar was created by Todd
Austin. Development began while he was a Ph.D. student at the University of Wisconsin in
Madison. Early versions of the tool set included contributions by Doug
Burger and Guri Sohi.
Today, SimpleScalar is developed and supported by SimpleScalar LLC.
The SimpleScalar licensing model permits users to
build onto the SimpleScalar foundation and make their enhancements
available to licensed SimpleScalar users. Examples of projects
that are extending the capabilities of the SimpleScalar tool set include the
MASE and PowerAnalyzer projects
at the University of Michigan, the BullsEye
project at University of Texas at Austin, Wattch from Princeton, and
SimplePower from Penn State.
How much does it cost?
The SimpleScalar tools are available free-of-charge to academic
non-commercial users. Commercial users can purchase a commercial use
license from SimpleScalar LLC, more details on commercial licensing (and what
constitutes commercial use of SimpleScalar) is available here.
|