Method and system for executing instructions in an...

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

C712S209000

Reexamination Certificate

active

06266807

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to a method for executing instructions in a microprocessor, and particularly but not exclusively to such a method for use in a portable communications device such as a mobile telephone.
BACKGROUND OF THE INVENTION
In a mobile telephone, data to be transmitted or received over an air interface requires complex processing according to dedicated algorithms.
In order to facilitate such complex processing, in addition to having a microcontroller for providing control of the features and functions of the mobile telephone, a mobile telephone typically has a Digital Signal Processor (DSP), dedicated to handling the transmitted and received data.
A program is written for the microcontroller, incorporating the desired features and functions. This program may be written in a virtual (intermediate) language, using a software tool. The microcontroller has a translator (on- or off-chip), which translates the virtual language into native machine language as the program is executed.
In contrast to the above, a short amount of code is written for the DSP, containing the required algorithms. This code must be written in native machine language, because software compilers cannot currently handle DSP-like code, and because the algorithms require fast processing, not compatible with a virtual language using translators.
If a new DSP is designed for use in a mobile telephone, a microcontroller is also designed or selected for the unit. Typically a number of software teams are involved in order to provide all of the above software. A team is required to write the virtual language program, another team is required to write the code for the DSP. Yet another team must write a translator for the microcontroller and the DSP.
A problem with this arrangement is that with new generations of mobile telephones being produced at a rapid rate, with new microcontrollers and DSPs, the overhead in software development time can add a significant delay to the completion of a new mobile telephone design.
This invention seeks to provide a method and system for executing instructions in a microprocessor which mitigate the above mentioned disadvantages.
SUMMARY OF THE INVENTION
According to a first aspect of the present invention there is provided a method for executing instructions on an application-specific microprocessor having a machine language, comprising the steps of: providing microcontroller-like instructions in a non-directly executable format, for execution on the processor; compiling high-level DSP-like functions into DSP-like instructions into a directly executable format for execution on the processor; combining the microcontroller-like instructions with the DSP-like instructions to produce a program, the program having a non-directly executable portion and a directly executable portion respectively; executing the program by pre-processing the non-directly executable portion of the program into directly executable instructions, and by directly executing the directly executable portion of the program, such that the application-specific microprocessor executes both the DSP-like instructions and the microcontroller-like instructions.
Preferably the non-directly executable format is a virtual language, and the pre-processing is a virtual-to-machine language translation, arranged to translate the non-directly executable portion of the program into the machine language.
The method preferably further comprises the step of compressing the virtual language microcontroller-like instructions before the combining step; and the pre-processing step preferably also includes a decompression step arranged to decompress the non-directly executable portion of the program before the translation step.
According to a second aspect of the present invention there is provided a microprocessor system for executing instructions, comprising:- an application-specific microprocessor having a machine language; a memory arranged for storing a program for execution on the processor, the program having a non-directly executable portion containing microcontroller-like instructions in a non-directly executable format, and a directly executable portion containing DSP-like instructions in the machine language; and a preprocessing unit arranged to convert the non-directly executable portion into machine language instructions; wherein when the program is executed on the processor, the non-directly executable portion of the program is pre-processed by the pre-processing unit into machine language instructions, and directly executable portion of the program is directly executed, such that the processor executes both the DSP-like instructions and the microcontroller-like instructions.
Preferably the non-directly executable format is a virtual language, and the pre-processing unit is a virtual-to-machine language translator, arranged to translate the non-directly executable portion of the program into the machine language.
The non-directly executable format is preferably a compressed virtual language, and the pre-processing unit includes a decompressor and a virtual-to-machine language translator, such that when the program is executed on the processor, the non-directly executable portion of the program is decompressed and then translated into machine language instructions.
Preferably the non-directly executable format is a compressed machine language format, and the pre-processing unit is a de-compression unit. The application-specific microprocessor is preferably incorporated in a mobile telephone.
In this way both DSP-like instructions and microcontroller-like instructions can be executed in a single processor.


REFERENCES:
patent: H1385 (1994-12-01), Stickel et al.
patent: 5550893 (1996-08-01), Heidari
patent: 5652852 (1997-07-01), Yokota
patent: 5794010 (1998-08-01), Worrell et al.
patent: 5826089 (1998-10-01), Ireton
patent: 5872978 (1999-02-01), Hoskins
patent: 6029000 (2000-02-01), Woolsey et al.
patent: 6044267 (2000-03-01), Foladare et al.
patent: 0718760 (1996-06-01), None
patent: 2294844 (1996-05-01), None
Michael P. Plezbert et al., Does “Just in Time” = “Better Late than Never”? CONFERENCE RECORD OF POPL ′97: the 24thACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, PARIS, FRANCE, 15-17 Jan. 1997, ISBN 0-89791-853-3, 1997, NEW YORK, NY, USA, ACM, USA, pp. 120-131, XP002054081.
Gabriel M. Silberman et al., “An Architectural Framework for Supporting Heterogeneous Instruction-Set Architectures”COMPUTER, vol. 26, No. 6, Jun. 1, 1993, pp. 39-56, XP000377627.

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

Method and system for executing instructions in an... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for executing instructions in an..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for executing instructions in an... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2551529

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