21.01.2013 Views

Lecture Notes in Computer Science 4917

Lecture Notes in Computer Science 4917

Lecture Notes in Computer Science 4917

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

COFFEE: COmpiler Framework for Energy-Aware Exploration 195<br />

is accurate, but requires the hardware design to be completed, which restricts thorough<br />

exploration. Energy estimation at ISA level, enables such a fast estimation, by trad<strong>in</strong>g<br />

off some accuracy for speed. The energy estimation of the proposed framework has<br />

been validated aga<strong>in</strong>st a real design.<br />

The novel contributions of this paper <strong>in</strong>clude the follow<strong>in</strong>g:<br />

1. an accurate ISA level and profil<strong>in</strong>g level energy estimation, early <strong>in</strong> the design flow<br />

2. a framework that enables simulation and compilation for a wide range of state of<br />

the art processors and advanced low power architectural extensions<br />

3. an <strong>in</strong>tegrated framework, which is automated to a large extent, to perform code<br />

transformations, compilation, simulation and energy estimation<br />

The rest of the paper is organized as follows. Section 2 gives an overview of frameworks<br />

that support co-design exploration. Section 3 <strong>in</strong>troduces the proposed framework,<br />

describes the modeled components and the exploration space. Section 4 illustrates the<br />

energy estimation process for different components of the processor and estimation of<br />

the energy consumption of the complete platform. Section 5 describes the results and<br />

analysis for representative optimizations <strong>in</strong> the embedded context for a WCDMA application<br />

us<strong>in</strong>g the proposed flow. F<strong>in</strong>ally Section 6 gives a summary and outl<strong>in</strong>es the<br />

future work.<br />

2 Related Work<br />

Various attempts to make retargetable compiler and architectural level exploration tools<br />

have been made: e.g. Trimaran [1], Simplescalar [2] and Epic Explorer [3]. All these<br />

frameworks are capable of explor<strong>in</strong>g a restricted design space and do not support important<br />

architectural features like software controlled memories, data parallelism or SIMD<br />

(S<strong>in</strong>gle Instruction Multiple Data), clustered register files, loop buffers etc. These features<br />

have become extremely important for embedded handheld devices as energy efficiency<br />

is a crucial design criterion. Although these frameworks (except Epic Explorer)<br />

do not directly provide energy estimation, several extensions have been built for this<br />

purpose. Wattch [4] and SimplePower, for example, are based on Simplescalar, but<br />

their power models are not geared towards newer technologies and their parameter<br />

range is still too restricted. Other <strong>in</strong>dustrial tools like Target’s Chess/Checkers, Tensilica’s<br />

XPRES and Coware’s Processor Designer provide architectural and compiler<br />

retargetability, but the supported design space is limited to a restricted template and<br />

they do not provide fast, high-level energy estimates. Detailed energy estimates can be<br />

obta<strong>in</strong>ed by synthesiz<strong>in</strong>g the generated RTL and us<strong>in</strong>g the traditional hardware design<br />

flow. Generat<strong>in</strong>g such detailed estimates are too time consum<strong>in</strong>g for wide exploration<br />

and for evaluat<strong>in</strong>g compiler and architectural optimizations. Energy estimates based on<br />

a library of architectural components, as proposed <strong>in</strong> this paper, do not suffer from these<br />

drawbacks, as they are fast and sufficiently accurate for these purposes.<br />

In the code transformation space SUIF [5] pioneered enabl<strong>in</strong>g loop transformations<br />

and analysis. Wrap-IT [6] from INRIA uses the polyhedral model for analysis and to<br />

perform transformations. These tools alone are not sufficient as transformations can<br />

have an impact (positive, negative or neutral) on various parts of the processors. This is

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!