DocumentCode :
749526
Title :
Complex instruction and software library mapping for embedded software using symbolic algebra
Author :
Peymandoust, Armita ; Simunic, Tajana ; De Micheli, Giovanni
Author_Institution :
Comput. Syst. Lab., Stanford Univ., CA, USA
Volume :
22
Issue :
8
fYear :
2003
Firstpage :
964
Lastpage :
975
Abstract :
With growing demand for embedded multimedia applications, time to market of embedded software has become a crucial issue. As a result, embedded software designers often use libraries that have been preoptimized for a given processor to achieve higher code quality. Unfortunately, current software design methodology often leaves high-level arithmetic optimizations and the use of complex library elements up to the designer´s ingenuity. In this paper, we present a tool flow and a methodology, SymSoft, that automates the use of complex processor instructions and preoptimized software library routines using symbolic algebraic techniques. We use SymSoft to optimize a set of examples for the SmartBadgeIV (Maguire et al., 1998) portable embedded system running the Linux embedded operating system. The results of these optimizations show that by using SymSoft we can map the critical basic blocks of the benchmark examples to the StrongARM SA-1110 instruction set much more efficiently than the commercial StrongARM compiler. SymSoft is also used to map critical code sections to commercially available software libraries with complex mathematical elements such as exp or the inverse discrete cosine transform routine. Our measurements on SmartBadgeIV show that even higher performance improvements and energy savings are achieved by using these library elements. For example, the final optimized MP3 audio decoder runs four times faster than real-time playback while consuming four times less energy. Since the decoder executes faster than real-time playback, additional energy savings are now possible by using processor frequency and voltage scaling.
Keywords :
Unix; circuit CAD; circuit optimisation; embedded systems; instruction sets; integrated circuit design; minimisation; multimedia systems; software engineering; symbol manipulation; Linux embedded OS; SmartBadgeIV; StrongARM SA-1110 instruction set; StrongARM compiler; SymSoft; complex processor instructions; discrete cosine transform routine; embedded multimedia applications; embedded software; high-level arithmetic optimizations; inverse DCT routine; optimized MP3 audio decoder; portable embedded system; software library mapping; symbolic algebra; tool flow; Algebra; Application software; Arithmetic; Decoding; Design optimization; Embedded software; Embedded system; Software design; Software libraries; Time to market;
fLanguage :
English
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
0278-0070
Type :
jour
DOI :
10.1109/TCAD.2003.814951
Filename :
1214855
Link To Document :
بازگشت