Title :
VHC: quickly building an optimizer for complex embedded architectures
Author :
Dupré, Michael ; Drach, Nathalie ; Temam, Olivier
Author_Institution :
LRI, Paris South Univ., France
Abstract :
To meet the high demand for powerful embedded processors, VLIW architectures are increasingly complex (e.g., multiple clusters), and moreover, they now run increasingly sophisticated control-intensive applications. As a result, developing architecture-specific compiler optimizations is becoming both increasingly critical and complex, while time-to-market constraints remain very tight. We present a novel program optimization approach, called the virtual hardware compiler (VHC), that can perform as well as static compiler optimizations, but which requires far less compiler development effort, even for complex VLIW architectures and complex target applications. The principle is to augment the target processor simulator with superscalar-like features, observe how the target program is dynamically optimized during execution, and deduce an optimized binary for the static VLIW architecture. Developing an architecture-specific optimizer then amounts to modifying the processor simulator which is very fast compared to adapting static compiler optimizations to an architecture. We also show that a VHC-optimized binary trained on a number of data sets performs as well as a statically-optimized binary on other test data sets. The only drawback of the approach is a largely increased compilation time, which is often acceptable for embedded applications and devices. Using the Texas Instruments C62 VLIW processor and the associated compiler, we experimentally show that this approach performs as well as static compiler optimizations for a much lower research and development effort. Using a single-core C60 and a dual-core clustered C62 processors, we also show that the same approach can be used for efficiently retargeting binary programs within a family of processors.
Keywords :
embedded systems; instruction sets; optimising compilers; parallel architectures; Texas Instruments C62 VLIW processor; VLIW architectures; architecture-specific compiler optimizations; binary programs; dual-core clustered C62 processors; embedded processor architectures; processor simulator; program optimization; single-core C60 processor; static compiler optimizations; superscalar-like features; virtual hardware compiler; Buildings; Constraint optimization; Hardware; Instruments; Optimizing compilers; Performance evaluation; Program processors; Testing; Time to market; VLIW;
Conference_Titel :
Code Generation and Optimization, 2004. CGO 2004. International Symposium on
Print_ISBN :
0-7695-2102-9
DOI :
10.1109/CGO.2004.1281663