Full System Binary Translation: RISC to VLIW

We describe our experiences with DAISY (Dynamically Architected Instruction Set from Yorktown). DAISY dynamically translates code for a RISC processor into code for an underlying VLIW processor. This translation is done piecewise --when a fragment of code is first encountered for execution, it is translated into code for the underlying VLIW machine and saved. This translation process begins with firmware executed by the RISC processor at boot time, continues through a full operating system boot, user login, and X-Windows, under which a variety of applications are run. The translated code is executed under simulation thus guaranteeing the correctness of the whole process. In executing this translated code, numerous "difficult" situations emerge:

  • Support of precise exceptions for the RISC processor in VLIW code that is drastically reordered. Such exceptions include page faults, alignment exceptions, and protection violations.
  • Support for virtual address translation.
  • Ability to deal with raw I/O devices such as networks, keyboards, and graphics adapters. These devices impose not only a semi-realtime requirement, but care must also be taken that reads and writes to I/O locations are not cached. Speculative accesses to I/O locations must be quashed.
    This paper describes the novel ways in which DAISY deals with these and other difficulties, and presents some preliminary statistics measuring the effectiveness of full binary translation.

By: Erik R. Altman, Kemal Ebcioglu

Published in: RC23262 in 2000

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

rc23262.pdf


Questions about this service can be mailed to reports@us.ibm.com .