Simulation and Debugging of Full System Binary Translation

We describe full system simulation of DAISY (Dynamically Architected Instruction Set from Yorktown). At runtime DAISY dynamically translates code for a PowerPC processor into code for an underlying VLIW processor. Our style of simulation can also be used in the context of full system emulation la SimOS and SimICS. Unlike SimOS and SimICS, DAISY emulation is operating system and device independent.

We have successfully simulated a workstation running under DAISY binary translation [7, 8, 9], starting with translation of the PowerPC firmware, continuing through the boot of the AIX 4.1.5 operating system to the login prompt and finally execution of X-Windows and a variety of utilities including emacs, latex, dbx, grep, ping, and a user mode version of the DAISY simulator itself.

Simulated aspects of DAISY include large register sets, precise exceptions, parallel semantics of VLIW instructions, virtual address translation, cacheable and non-cacheable memory, and self-modifying code - but not I/O devices. They are not needed.

More difficult still is debugging. DAISY's simulation code is two levels removed from the original PowerPC code (PowerPC -> VLIW -> PowerPC) with bugs possible in each level of translation. As well, the VLIW code is heavily reordered from the original PowerPC code, thus making it difficult to associate a particular VLIW operation with its original PowerPC counterpart. Finally, the simulation runs on the bare hardware of a workstation where there is an element of non-determinism and where incorrect accesses to I/O can crash the system and possibly corrupt the disk. We propose novel solutions for handling these problems.

By: Erik R. Altman, Kemal Ebcioglu

Published in: Proceedings ot the 13the International Conference on Parallel and Distributed Computing Systems (PDCS-2000),, ISCA. , p.446-53 in 2000

Please obtain a copy of this paper from your local library. IBM cannot distribute this paper externally.

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