Methods and apparatus for compiling instructions for a data...

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

C717S151000

Reexamination Certificate

active

10330632

ABSTRACT:
Methods and apparatus optimized for compiling instructions in a data processor are disclosed. In one aspect, a method of address calculation is disclosed, comprising operating a compiler to generate at least one instruction; canonicalizing the address calculation in a plurality of different approaches: in one exemplary embodiment, the first approach comprises canonicalizing the “regular” 32-bit instruction addressing modes, and the second for the “compressed” 16-bit instruction addressing modes. In another aspect, a plurality of functions (up to and including all available functions) are called indirectly to allow addresses to be placed in a constant pool. Improved methods for instruction selection, register allocation and spilling, and instruction compression are provided. An improved SoC integrated circuit device having an optimized 32-bit/16-bit processor core implementing at least one of the foregoing improvements is also disclosed.

REFERENCES:
patent: 4571678 (1986-02-01), Chaitin
patent: 4763242 (1988-08-01), Lee et al.
patent: 4827427 (1989-05-01), Hyduke
patent: 4956800 (1990-09-01), Kametani
patent: 4965724 (1990-10-01), Utsumi et al.
patent: 5088034 (1992-02-01), Ihara et al.
patent: 5247668 (1993-09-01), Smith et al.
patent: 5249295 (1993-09-01), Briggs et al.
patent: 5274818 (1993-12-01), Vasilevsky et al.
patent: 5287510 (1994-02-01), Hall et al.
patent: 5293631 (1994-03-01), Rau et al.
patent: 5339424 (1994-08-01), Fushimi
patent: 5428793 (1995-06-01), Odnert et al.
patent: 5448746 (1995-09-01), Eickemeyer et al.
patent: 5450585 (1995-09-01), Johnson
patent: 5481723 (1996-01-01), Harris et al.
patent: 5488710 (1996-01-01), Sato et al.
patent: 5546552 (1996-08-01), Coon et al.
patent: 5555417 (1996-09-01), Odnert et al.
patent: 5586020 (1996-12-01), Isozaki
patent: 5636352 (1997-06-01), Bealkowski et al.
patent: 5638525 (1997-06-01), Hammond et al.
patent: 5659754 (1997-08-01), Grove et al.
patent: 5740461 (1998-04-01), Jaggar
patent: 5752035 (1998-05-01), Trimberger
patent: 5790854 (1998-08-01), Spielman et al.
patent: 5790877 (1998-08-01), Nishiyama et al.
patent: 5794010 (1998-08-01), Worrell et al.
patent: 5809272 (1998-09-01), Thusoo et al.
patent: 5809306 (1998-09-01), Suzuki et al.
patent: 5819058 (1998-10-01), Miller et al.
patent: 5828884 (1998-10-01), Lee et al.
patent: 5845127 (1998-12-01), Isozaki
patent: 5850551 (1998-12-01), Takayama et al.
patent: 5864704 (1999-01-01), Battle et al.
patent: 5867681 (1999-02-01), Worrell et al.
patent: 5870576 (1999-02-01), Faraboschi et al.
patent: 5881260 (1999-03-01), Raje et al.
patent: 5884057 (1999-03-01), Blomgren et al.
patent: 5896519 (1999-04-01), Worrell
patent: 5905893 (1999-05-01), Worrell
patent: 5946491 (1999-08-01), Aizikowitz et al.
patent: 5946492 (1999-08-01), Bates
patent: 5948100 (1999-09-01), Hsu et al.
patent: 5961632 (1999-10-01), Shiell et al.
patent: 6090156 (2000-07-01), MacLeod
patent: 6209079 (2001-03-01), Otani et al.
patent: 6260189 (2001-07-01), Batten et al.
patent: 6275830 (2001-08-01), Muthukkaruppan et al.
patent: 6282633 (2001-08-01), Killian et al.
patent: 6292940 (2001-09-01), Sato
patent: 6305013 (2001-10-01), Miyamoto
patent: 6308323 (2001-10-01), Douniwa
patent: 6334212 (2001-12-01), Nakajima
patent: 6367071 (2002-04-01), Cao et al.
patent: 6408382 (2002-06-01), Pechanek et al.
patent: 6412066 (2002-06-01), Worrell et al.
patent: 6425070 (2002-07-01), Zou et al.
patent: 6463520 (2002-10-01), Otani et al.
patent: 6477683 (2002-11-01), Killian et al.
patent: 6477697 (2002-11-01), Killian et al.
patent: 6564314 (2003-05-01), May et al.
patent: 6678818 (2004-01-01), Cofler et al.
patent: 6701515 (2004-03-01), Wilson et al.
patent: 6732238 (2004-05-01), Evans et al.
patent: 6760888 (2004-07-01), Killian et al.
patent: 6763327 (2004-07-01), Songer et al.
patent: 6862563 (2005-03-01), Hakewill et al.
patent: 6889313 (2005-05-01), Cofler et al.
patent: 2001/0013093 (2001-08-01), Banno eta l.
patent: 2002/0004897 (2002-01-01), Kao et al.
patent: 2002/0073299 (2002-06-01), Pechanek et al.
patent: 2002/0073407 (2002-06-01), Takayama et al.
patent: 2002/0116603 (2002-08-01), Kissell
patent: 2003/0140337 (2003-07-01), Aubury
patent: 2003/0225998 (2003-12-01), Khan et al.
patent: WO 03/091914 (2003-11-01), None
Chapter 16, The iCORE 520MHz™ Synthesizable CPU Core by Nick Richardson et al., STMicroelectronics Inc., Advanced Designs, Central R&D, 21 pages, no date.
Efficient Software Decoder Design by Rajeev Krishna, Todd Austin, Advanced Computer Architecture Laboratory, Univ. of Michigan, 10 pages, no date.
VLP80 (Variable Length Instruction Processor) 32 bit VLP80-32/ 16 bit VLP80-16 information sheet, 2 pages, no date, http://www.cyber-labo.co.jp/panf—en.html.
Low Power Instruction Fetch Using Profiled Variable Length Instructions by Mikael Collin and Mats Brorsson, Dept. of Microelectronics and information Technology, 17 pages, no date.
The History of Language Technology in IBM by F.E. Allen, IBM J. Res. Develop., vol. 25, No. 5, Sep. 1981, pp. 535-548.
Heads and Tails: A Variable-Length Instruction Format Supporting Parallel Fetch and Decode by Heidi Pan and Krste Asanovic, Nov. 16-17, 2001, 8 pages.
Storage Assignment to Decrease Code Size by Stan Liao, Synopsys, Inc., Srinivas Devadas, Mass. Instit. of Technology, Kurt Keutzer, Steven Tjiang, and Albert Wang, Synopsys, Inc., ACM Transactions on Programming Languages and Systems, vol. 18, No. 3, May 1996, pp. 235-253.
SilAria Puts the Squeeze on Code With Tuned Instruction Set by Chris Edwards, EE Times, 2 pages, Oct. 17, 2001, http://www.eetuk.com/tech
ews/OEG20011017S0018.
The Evolution of RISC Technology at IBM by John Cocke and V. Markstein, IBM J. Res. Develop. vol. 34, No. 1, Jan. 1990, pp. 4-11.
Improving Register Allocation for Subscripted Variables by David Callahan, Steve Carr and Ken Kennedy, copyright 2003, 2 pages.
Register Allocation and Spilling Via Graph Coloring by G.J. Chaitin, Abstract only, 1 page, no date.
Dynamic Optimization of Micro-Operations by Brian Slechta, et al., Center for Reliable and High-Performance Computing, Dept. of Electrical and Computer Engineering, Univ. of Illinois at Urbana-Champaign, 12 pages, no date.
The 801 Minicomputer by George Radin, IBM J. Res. Develop. vol. 44 No. 1/2 Jan./Mar. 2000, pp. 37-46.
The GNU 64-bit PL8 Compiler: Toward an Open Standard Environment for Firmware Development by W. Gellerich, et al., IBM J. Res. & Dev. vol. 48 No. 3/4 May/Jul. 2004, pp. 543-556.
Motorola Product Brief MCF5202 Embedded Microprocessor, 1996 Motorola, Inc., 6 pages.
PICO: Automatically Designing Custom Computers by Vinod Kathail, et al., Hewlett-Packard Laboratories, Sep. 2002, 17 pages, http://www.hpl.hp.com/research/papers/2002/pico.pdf.
High Performance, Variable-Length Instruction Encodings by Heidi Pan, submitted to the Dept. of Electrical Engineering and Computer Science, Mass. Instit. of Technology, May 2002, 53 pages.
IEEE Std. 1076.3-1997 IEEE Standard VHDL Synthesis Packages—Description, Abstract only, copyright 2004, 2 pages.
Global Optimization by Suppression of Partial Redundancies by E. Morel and C. Renvoise, CII Honeywell Bull, Communications of the ACM, Feb. 1979, vol. 22, No. 2, pp. 96-103.
An Overview of the PL.8 Compiler by M. Auslander and M. Hopkins, IBM T.J. Watson Research Center, 1982, pp. 22-31.
Intel Pentium Processor Family Developer's Manual—vol. 3: Architecture and Programming Manual (1995) (cover pp., pp. 3-15 to 3-18, pp. 25-189 to 25-192).
Article entitled “The JCN Embedded Processor” by AT&T Laboratories Cambridge (modified Jun. 6, 2002, © 2001) (3 pages) (http://www.uk.research.att.com/icn/).
AMIS Feature Sheet on the Embedded RISC Microcontroller Core ARM7TDMI (no date) (2 pages) (www.amis.com).
AVAZ Product Information Sheets on Mozart2 fully synthesizable DSP core (no date) (2 pages) (http://www.avaz.com/products/cores/dspcore/mozart2/).
Intel 80386 Programmer's Reference Manual—Section 17.1 Operand-Size and Address-Size Attributes (no date) (1 page) (http://webs

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

Methods and apparatus for compiling instructions for a data... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Methods and apparatus for compiling instructions for a data..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Methods and apparatus for compiling instructions for a data... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3891559

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