Dynamic and Transparent Binary Translation

High-frequency design and instruction-level parallelism (ILP) are important for high-performance microprocessor implementations. The Binary-translation Optimized Architecture (BOA), an implementation of the IBM PowerPC family, combines binary translation with dynamic optimization. The authors use these techniques to simplify the hardware by bridging a semantic gap between the PowerPC's reduced instruction set and even simpler hardware primitives. Processors like the Pentium Pro and Power4 have tried to achieve high frequency and ILP by implementing a cracking scheme in hardware: an instruction decoder in the pipeline generates multiple micro-operations that can then be scheduled out of order. BOA relies on an alternative software approach to decompose complex operations and to generate schedules, and thus offers significant advantages over purely static compilation approaches. This article explains BOA's translation strategy, detailing system issues and architecture implementation.

[1]  Richard L. Sites,et al.  Binary translation , 1993, CACM.

[2]  Erik R. Altman,et al.  BOA: The Architecture of a Binary Translation Processor , 1999 .

[3]  Karl Pettis,et al.  Profile guided code positioning , 1990, PLDI '90.

[4]  K. Ebcioglu,et al.  Daisy: Dynamic Compilation For 10o?40 Architectural Compatibility , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[5]  Michael Gschwind,et al.  Execution-Based Scheduling for VLIW Architectures , 1999, Euro-Par.