Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
2000-04-13
2003-07-22
Dam, Tuan Q. (Department: 2124)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
Reexamination Certificate
active
06598221
ABSTRACT:
TECHNICAL FIELD
This invention pertains to digital data processing and compiler systems. More particularly, this invention relates to techniques for performing an estimation of an optimized assembly code from the C code of an application that is delivered to a C compiler.
BACKGROUND OF THE INVENTION
The programming of digital signal processor (DSP) applications in high level languages such as C is becoming more prevalent as applications become increasingly more complex. However, current DSP C compilers are generally unable to exploit numerous DSP specific architectural features when attempting to produce efficient assembly code. Therefore, in order to respect tight real-time constraints, programmers commonly write DSP code by hand. However, the programming of such code in assembly language has become increasingly difficult since DSP applications are becoming larger and more complex. Furthermore, the writing of efficient assembly code for new DSP architectures, such as for a Very Long Instruction Word (VLIW) processor, presents a very challenging task.
SUMMARY OF THE INVENTION
A tool is provided for estimating an optimized assembly code from the C code of an application. An ability is provided to locate computationally intensive parts of the application. Furthermore, the tool provides a metric of the quality of the produced assembly code. More particularly, an estimation of a hand-written assembly code is generated from an intermediate description (RTL) of an application.
According to one aspect, an assembly code performance evaluation apparatus is provided which includes a host computer, a target digital signal processor (DSP) compiler, and a performance estimation program. The host computer includes processing circuitry, memory and a host compiler to use test sequences and generate dynamic information. The target digital signal processor compiler communicates with the processing circuitry. The performance estimation program is implemented on the host processing circuitry and is operative to annotate application source code and to generate an estimation of an optimized assembly code.
According to another aspect, an assembly code performance evaluation apparatus includes a host computer, a target digital signal processor (DSP) compiler, and a performance estimation program. The host computer includes processing circuitry, memory and a host compiler. The host compiler is operative to execute the program using test sequences and to generate dynamic information. The target digital signal processor (DSP) compiler communicates with the processing circuitry. The performance estimation program is implemented on the processing circuitry and is operative to annotate application source code and to generate an estimation of an optimized assembly code.
According to yet another aspect, a method is provided for evaluating performance of an optimized DSP assembly code. The method includes: providing an application C source code; providing at least one test sequence to generate dynamic information; annotating the application source code with the dynamic information; and generating an estimation of an optimized assembly code.
According to even another aspect, a method is provided for evaluating performance of assembly code. The method includes: providing a target compiler; providing a C code annotated with dynamic information based upon execution of the C code with test sequences on a host computer; generating an RTL intermediate representation of the application; defining a set of rewriting rules; applying the set of rewriting rules to the RTL intermediate representation; and generating an estimation of an optimized assembly code.
REFERENCES:
patent: 5287510 (1994-02-01), Hall et al.
patent: 5535393 (1996-07-01), Reeve et al.
patent: 5606698 (1997-02-01), Powell
patent: 5732273 (1998-03-01), Srivastava et al.
patent: 5862383 (1999-01-01), Laitinen
patent: 5933641 (1999-08-01), Ma
patent: 5966143 (1999-10-01), Breternitz, Jr.
patent: 5966539 (1999-10-01), Srivastava
patent: 6282706 (2001-08-01), Chauvel et al.
patent: 6286132 (2001-09-01), Tanaka et al.
patent: 6286135 (2001-09-01), Santhanam
patent: 6292938 (2001-09-01), Sarkar et al.
patent: 6408428 (2002-06-01), Schlansker et al.
patent: 6427234 (2002-07-01), Chambers et al.
Leupers et al., “Retargetable Compilers for Embedded DSPs”, Nov. 1997, Microprocessor Systems and Electronic Commerce Conference (EMMSEC), 7TH European Multimedia.*
Rao et al., “Storage Assignment using Expression Tree Transformation to Generate Compact and Efficient DSP Code”, May 1999, ACM SIGPLAN Notices, Proceedings of the ACM SIGPLAN '99 conference on Programming language design and implementation, vol. 34 Issue.*
Liao et al., “Code optimization Techniques for Embedded DSP Microprocessors”, Jan. 1995, Proceedings of the 32nd ACM/IEEE conference on Design automation conference.
Auguin Michel
Pegatoquet Alain
Sohier Olivier
Dam Tuan Q.
Koninklijke Philips Electronics , N.V.
Vu Tuan Ann
Zawilski Peter
LandOfFree
Assembly code performance evaluation apparatus and method does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Assembly code performance evaluation apparatus and method, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Assembly code performance evaluation apparatus and method will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3086569