29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

404 Chapter 30<br />

applications. Designers of ASIPs can implement custom-<strong>de</strong>signed specific<br />

instructions (custom-<strong>de</strong>signed specific functional units) to improve the per<strong>for</strong>mance<br />

of an application. In addition‚ ASIP <strong>de</strong>signers can attach pre-fabricated<br />

coprocessors (i.e. Digital Signal Processing Engines and Floating-Point<br />

units) and pre-<strong>de</strong>signed functional units (i.e. Multiplier-Accumulate units‚<br />

shifters‚ multipliers etc.). They can also modify hardware parameters of the<br />

ASIPs (i.e. register file size‚ memory size‚ cache size etc.).<br />

As the number of coprocessors/functional units increase and more specific<br />

instructions are involved in an application‚ the <strong>de</strong>sign space exploration of<br />

ASIPs takes longer. Designers of ASIPs require an efficient methodology to<br />

select the correct combination of coprocessors/functional units and specific<br />

instructions. Hence‚ the <strong>de</strong>sign cycle and chip area is reduced and an<br />

application per<strong>for</strong>mance is maximized.<br />

Research into <strong>de</strong>sign approaches <strong>for</strong> ASIPs has been carried out <strong>for</strong> about<br />

ten years. Design approaches <strong>for</strong> ASIPs can be divi<strong>de</strong>d into three main categories:<br />

architecture <strong>de</strong>scription languages [3‚ 4‚ 13‚ 16‚ 20]; compiler [5‚ 8‚<br />

18‚ 21] and methodologies <strong>for</strong> <strong>de</strong>signing ASIPs [7‚9].<br />

The first category of architecture <strong>de</strong>scription languages <strong>for</strong> ASIPs is further<br />

classified into three sub-categories based on their primary focus: the<br />

structure of the processor such as the MIMOLA system [17]; the instruction<br />

set of the processor as given in nML [6] and ISDL [11]; and a combination<br />

of both structure and instruction set of the processor as in HMDES [10]‚<br />

EXPRESSION [12]‚ LISA [13]‚ PEAS-III (ASIP-Meister) [16]‚ and FlexWare<br />

[19]. This category of approach generates a retargetable environment‚<br />

including retargetable compilers‚ instruction set simulators (ISS) of the target<br />

architecture‚ and synthesizable HDL mo<strong>de</strong>ls. The generated tools allow valid<br />

assembly co<strong>de</strong> generation and per<strong>for</strong>mance estimation <strong>for</strong> each architecture<br />

<strong>de</strong>scribed (i.e. “retargetable”).<br />

In the second category‚ the compiler is the main focus of the <strong>de</strong>sign process<br />

using compiling exploration in<strong>for</strong>mation such as data flow graph‚ control flow<br />

graph etc. It takes an application written in a high-level <strong>de</strong>scription language<br />

such as ANSI C or C++‚ and produces application characteristic and architecture<br />

parameter <strong>for</strong> ASIPs. Based on these application characteristics‚ an<br />

ASIP <strong>for</strong> that particular application can be constructed. In [21]‚ Zhao used<br />

static resource mo<strong>de</strong>ls to explore possible functional units that can be ad<strong>de</strong>d<br />

to the data path to enhance per<strong>for</strong>mance. Onion in [18] proposed a feedback<br />

methodology <strong>for</strong> an optimising compiler in the <strong>de</strong>sign of an ASIP‚ so more<br />

in<strong>for</strong>mation is provi<strong>de</strong>d at the compile stage of the <strong>de</strong>sign cycle producing a<br />

better hardware ASIP mo<strong>de</strong>l.<br />

In the third category‚ estimation and simulation methodologies are used to<br />

<strong>de</strong>sign ASIPs with specific register file sizes‚ functional units and coprocessors.<br />

Gupta et al. in [9] proposed a processor evaluation methodology to<br />

quickly estimate the per<strong>for</strong>mance improvement when architectural modifications<br />

are ma<strong>de</strong>. However‚ their methodology does not consi<strong>de</strong>r an area<br />

constraint. Jain [15] proposed a methodology <strong>for</strong> evaluating register file size

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

Saved successfully!

Ooh no, something went wrong!