DocumentCode :
3153869
Title :
Reverse compilation of digital signal processor assembler source to ANSI-C
Author :
Johnstone, Adrian ; Scott, Elizabeth ; Womack, Tim
Author_Institution :
Dept. of Comput. Sci., London Univ., UK
fYear :
1999
fDate :
1999
Firstpage :
316
Lastpage :
325
Abstract :
Digital signal processors (DSPs) are special purpose microprocessors optimised for embedded applications that require high arithmetic rates. These devices are often difficult to compile for; compared to modern general purpose processors, DSPs often have very small address spaces. In addition they contain unusual hardware features and they require correct scheduling of operands against pipeline registers to extract the highest levels of available performance. As a result, high level language compilers for these devices generate poor quality code, and are rarely used in practice. Recently, new generation processors have been launched that are very hard to program by hand in assembler because of the complexity of their internal pipelines and arithmetic structures. DSP users are therefore having to migrate to using high level language compilers since this is the only practical development environment. However, there exist large quantities of legacy code written in assembler which represent a significant investment to the user who would like to be able to deploy core algorithms on the new processors without having to re-code from scratch. The article discusses the development and use of a tool to automatically reverse-compile assembler source for the ADSP-21xx family of DSPs to ANSI-C. We include a discussion of the architectural features of the ADSP-21xx processors and the ways in which they assist the translation process. We also identify a series of translation challenges which, in the limit, can only be handled with manual intervention and give some statistics for the frequency with which these pathological cases appear in real applications
Keywords :
C language; assembly language; digital signal processing chips; program compilers; program interpreters; reverse engineering; software maintenance; ADSP-21xx family; ADSP-21xx processors; ANSI-C; DSP users; arithmetic rates; assembler source; automatic reverse-compiling; digital signal processor assembler source; embedded applications; high level language compilers; legacy code; new generation processors; real applications; reverse compilation; small address spaces; special purpose microprocessors; translation process; Assembly; Digital arithmetic; Digital signal processing; Digital signal processors; Hardware; High level languages; Microprocessors; Pipelines; Processor scheduling; Registers;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Maintenance, 1999. (ICSM '99) Proceedings. IEEE International Conference on
Conference_Location :
Oxford
ISSN :
1063-6773
Print_ISBN :
0-7695-0016-1
Type :
conf
DOI :
10.1109/ICSM.1999.792629
Filename :
792629
Link To Document :
بازگشت