15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

John Morris<br />

University of Western Australia<br />

Danny Newport<br />

University of Tennessee<br />

Don Bouldin<br />

University of Tennessee<br />

Ricardo E. Gonzalez<br />

Tensilica, Inc.<br />

Albert Wang<br />

Tensilica, Inc.<br />

37.1 Reconfigurable Computing<br />

John Morris<br />

Preamble<br />

© 2002 by CRC Press LLC<br />

37<br />

Reconfigurable<br />

Processors<br />

37.1 Reconfigurable Computing<br />

Preamble • Programmable Hardware • Reconfigurable<br />

Systems • Applications • Reconfigurable Processors<br />

vs. Commodity Processors • Dynamic<br />

Reconfiguration • Hybrid Systems • Programming<br />

Reconfigurable Systems • Conclusions<br />

37.2 Using Configurable Computing Systems<br />

Definitions • Introduction • Configurable<br />

Components • Configurable Computing System<br />

Architectures • Selected Applications • Virtual<br />

Computing Power • Development Systems<br />

37.3 Xtensa: A Configurable and Extensible<br />

Processor<br />

Introduction • Processor Development • Overview<br />

of Xtensa • Instruction Set Extension • Application<br />

Examples • Conclusions • Acknowledgments<br />

Architects of general-purpose processors face a herculean task: to design a processor that will run every<br />

application fast. However, applications vary widely in instruction mix, frequency, and patterns of data<br />

access, input and output bandwidth requirements, etc. A designer may incorporate elaborate and spaceconsuming<br />

circuitry that simulation shows will dramatically improve performance for one application<br />

but has no effect on another—or worse, slows it down. For example, designers will normally incorporate<br />

as large a cache as space allows on a die, since cache speeds up most applications; however, the data cache<br />

adds nothing to the performance of an application that copies data from one place to another.<br />

Programmable hardware can be used to build systems in which the circuitry matches the structure of<br />

the problem. In particular, inherent parallelism in problems, which a general-purpose processor—despite<br />

multiple “go-fast” enhancements—cannot exploit, can be exploited in a system in which multiple circuits<br />

are used to speed up the computation.<br />

Programmable Hardware<br />

Programmable hardware has evolved in capability and performance—tracking processor capabilities for<br />

many years now. Designers have a wide spectrum of devices that they can draw upon—from ones that

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

Saved successfully!

Ooh no, something went wrong!