|
|
|
Welcome to the ACS Simulation Tools install section.
Here, we provide the necessary steps to download, install,
and make use of our simulation tools.
|
|
|
| |
|
Running the rePLay Transmogrifier
Download packages
First, download rpt-1.0.tar.gz,
rpt-bochs-2.1.1.tar.gz and rpt-1.0-bench.tar.gz.
Then, extract the three files into a work directory on your
machine. While the software may run on other platforms,
we have developed this software mainly on GNU/Linux/x86
platforms.
# cd {work_directory}
# tar -zxvf {path_to_downloads}/rpt-1.0.tar.gz
# tar -zxvf {path_to_downloads}/rpt-bochs-2.1.1.tar.gz
# tar -zxvf {path_to_downloads}/rpt-1.0-bench.tar.gz
Build the tool
Now that the files have been extracted, you are ready to build the
rePLay Transmogrifier with the modified bochs source. Currently, we have only
tested the source with a gcc compiler suite on various GNU/Linux machines. We
are currently developing with the gcc-3.3.x, and we have also tested with
various minor versions from gcc-2.95 to gcc-3.4.x. If you are using a version
of the Standard Template Library (STL) that comes with gcc-3.0 and below,
there are known issues with
compiling certain non-standard STL containers. This issue is caused by the
relocation of the non-standard STL containers into a seperate directory.
As a result, the #include directives and some of the namespaces need to change
with the gcc upgrades. For example, if you run
into such a problem with files like "ext/hash_map", older gcc versions used
"hash_map". If you have any issues compiling, please post to the mailing list
(coming soon), or email
. This should be
a simple issue to resolve and will hopefully be non-existent in future releases.
# cd rpt-1.0
# make depend
# make
Run the test program with the bochs frontend
If all went as well as we had hoped, your build was successful, and you are
ready to run RPT. Since this tool is meant as a simulator frontend, we have
packaged this tool with a simple main loop that repeatedly fetches rePLay
micro-operations from the Transmogrifier. This example tool will fetch and
print out N x86 instructions from the bochs frontend, where N is a
user-specified command line parameter. Here, in this example, we will run the
tool on the bochs test images that were downloaded earlier, and we will
run for 100 x86 instructions.
# ./rpt -trace bench/crafty-ref.rc -rpt:limit 100
Incorporate RPT into your simulator
The rePLay Transmogrifier is one piece of a larger puzzle. In order to take
advantage of RPT, we would like to do more than just print out the raw
micro-op stream that is spooling from the example program which we packaged up
for this release. From here, the next step is getting to know the tool's
source. The best place to get started is the interface and main RPT object
(class arch_c in arch/arch.h) and also to take a look at the micro-operation
object (class arch_uop_c in arch/arch-uop.h).
We strive to keep the code clear, concise, and well documented. Obviously,
learning a new tool through code review is not always the easiest way to delve
into uncharted territory. If you have any questions, don't hesitate to post
to the development mailing list (coming soon), or email . We want to
make this as straight forward as possible.
|
Copyright 2003 Advanced Computing Systems (ACS). Feedback? Email
.
|
|