IATO, the
IAOOToolkitis a flexible environment that permits to analyze, emulate or simulatethe IA64 Instruction Set Architecture (ISA) binary executables.
IATOis a flexible and portable framework that is built around a set ofC++ libraries and clients (i.e application programs). The fundamentalclients are the IA64 emulator and simulator. Other clients providessupportsfor program analysis and statistical computation.
Latest news
This is revision 1.6 of the
IAOOToolkit. This releaseincorporates severalfixes within the in-order simulator. Thisversion is backward compatiblewith the release 1.5.
Distribution
IATO is supported on various UNIX platforms, including theLinux IA32, IA64 and Solaris.
IATO is distributed as acompressed tar file.
IATO has been successfully tested with theGCC 3 compiler.
IATO is completely written in C++ and uses theSTL. Thefollowing table provides the pointer to the distribution and theassociateddocumentation.
Pre-compiled IA64 binaries are also available for your convenience.With them, it it possible to stimulate directly the IAOO toolkit. Thebinary files include the distribution test cases an some SPEC2000benchmarks.
The IAOO Toolkit is distributed with 4 clients as shown in the tablebelow.
IAOS is a simple client program thatproduces static information from a binary executable. The resultinginformation comprises, among other things, disassembled object code andvarious statistics. The primary reason to use the
IAOS clientis to collect information about a binary executable.
IAKA client
IAKA is a client program that emulates and traces IA64binary executables. The emulator executes the common loop: fetch,decode and execute. A more accurate description of the emulator loop isgiven in documentation. The resulting trace is binary encoded (forperformance and space reasons). The trace can be decoded with the
IATAclient program.
IAIO client
IAIO is a client program that simulates and traces binaryIA64 executables in an in-order mode. The IAIO simulator implements an8 stages in-order core engine, with true predicated instructionexecution based on the Itanium 2 microarchitecture. The simulator iscycle accurate and provides numerous architectural options that permitsto perform a resource fine tuning. During the course of the simulation,a stage by stage trace can be generated as well as a summarizedstatistic. The simulator is primarily used to computed the program IPC.
IAOO client
IAOO is a client program that simulates and traces binaryIA64 executables. The IAOO simulator implements a 10 stagesout-of-order core engine, with true predicated instruction executionbased on translation register buffer (TRB). The simulator is cycleaccurate and provides numerous architectural options that permits toperform a resource fine tuning.During the course of the simulation, a stage by stage trace can begeneratedas well as a summarized statistic. The simulator is primarily used tocomputed the program IPC.
IATA client
IATA is a client program that analyzes and prints binarytraces produced by the other clients. It can also generate one tracefrom another. Trace generation can be seen as a post-processingoperation.Another useful feature is the statistic computation. Given a tracefile,the
IATA client can extract, for example, the instructiondistributionor other runtime information.