=================================================================
TITLE: FREE DAISY BINARY TRANSLATOR
IBM Releases DAISY Open-Source Software for Binary Translation Research
We are happy to announce the availability of the DAISY open source
software for dynamic binary translation research. Subject to the IBM
public license, DAISY may be downloaded from:
DAISY WWW.
DAISY (Dynamically Architected Instruction Set from Yorktown) is a
just-in-time compiler, that translates the binary code of a source
architecture to the binary code of a VLIW or EPIC target architecture
at run-time, in a manner transparent to the user. In other words, the
user sees only the source architecture instruction set. Fragments of
the source architecture code are translated, scheduled and optimized
just-in-time for the target architecture.
DAISY research goals include the following:
o Architecture as a Layer of Software: With software dynamic binary
translation, as in DAISY, new Architectures such as VLIW/EPIC can
be introduced under the covers, without any disruption to software.
All users of a DAISY-style system, including system level
privileged users, observe only the source/legacy architecture, such
as the PowerPC. Old software runs without recompilation or
any other changes. Transmeta is using a similar binary translation
approach for x86.
o Scalability: DAISY software is parameterized and can support
machines which issue up to 16 or more operations every cycle. A
low-end DAISY implementation might be able to issue only 4
operations, while a high-end implementation might be able to issue
16 -- with both using the same translation and virtual machine
software.
o Multiple Platforms: Although the current release of DAISY supports
translation only from PowerPC, dynamic binary translation
could in concept translate from multiple architectures, such as
x86, System/390, and PowerPC to a common underlying
core, thus allowing critical design resources to focus on a single
implementation.
o Efficient Processor Design: DAISY uses a streamlined, new
multiple-issue processor core as its target, that is specifically
designed for efficient emulation of the source architectures with
high instruction level parallelism.
By releasing the DAISY under the IBM public license, we
hope to foster excitement in binary translation research. We are
presently releasing a version of DAISY that uses the
PowerPC architecture as the source architecture, that
runs under AIX. It compiles AIX PowerPC binary
applications just-in-time to VLIW code, and then simulates the
VLIW code. The unit of translation in this version is one 4K
byte page of code at a time. Included in this version are
software and hardware techniques for:
o Speculative instruction scheduling on multiple paths and through
branch and loop iteration boundaries.
o Simultaneous scheduling, register allocation, and cluster
assignment.
o Aggressive re-ordering of memory and ALU operations, which still
preserves precise PowerPC exceptions.
o Optimizations for increasing instruction level parallelism (e.g.
combining, load-store telescoping).
o Fast compiled simulation of VLIW code that provides detailed
statistics, including multi-level cache and TLB effects.
DAISY offers researchers a good experimental framework for trying out
different architectural features and software techniques for
instruction level parallelism and binary translation. We encourage you
to try out the DAISY software, and we invite volunteers worldwide to
consider joining the DAISY open source team, in implementing leading
edge dynamic compiler techniques and architectural features. The DAISY
source code and documentation can be downloaded on the Web from
http://oss.software.ibm.com/developerworks/opensource/daisy.
Interested researchers should feel free to contact us about DAISY.
Please feel free to pass this announcement on to other colleagues who
might be interested. We hope you will enjoy the DAISY Open Source Web
site.
Dr. Erik Altman -- erik@watson.ibm.com
Dr. Kemal Ebcioglu -- kemal@watson.ibm.com
IBM T.J. Watson Research Center
Yorktown Heights, New York 10598
=================================================================