Assembly code performance evaluation apparatus and method

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

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.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

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.

Rate now

     

Profile ID: LFUS-PAI-O-3086569

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.