Software acceleration using programmable logic: is it worth the effort?


A commonly accepted technique in hardware/software co-design is to implement as many system functions as possible in software and to move performance critical functions into special-purpose external hardware in order to either satisfy timing constraints or reduce the overall execution time of a program - this is known as "software acceleration". This paper investigates the limits to the performance enhancements obtainable using software acceleration techniques. A practical target architecture, based on the use of programmable logic, is used to illustrate the problems associated with software acceleration. It is shown that normally little benefit can be obtained by applying software acceleration methods to general-purpose applications. Whereas software acceleration can profitably be used in a limited number of special-purpose applications, a designer would probably be better off developing ASIP components, based on heterogeneous multiprocessor architectures.

DOI: 10.1145/792768.793511

Extracted Key Phrases

3 Figures and Tables

Cite this paper

@inproceedings{Edwards1997SoftwareAU, title={Software acceleration using programmable logic: is it worth the effort?}, author={Martyn Edwards}, booktitle={CODES}, year={1997} }