or
Bookmark and Share
Method and apparatus for processor code optimization using code compression
   
Document Number
US Patent 7051189
Issued Date
May 23, 2006
Link
Inventors
Map
Abstract
An improved method of optimizing the instruction set of a digital processor using code compression. In one embodiment, the method comprises obtaining an assembly language program to be used for the optimization process; calculating the static frequency of each instruction type from the base instruction set; sorting the instruction types by frequency; determining the number and type of instructions necessary for correct program execution; creating a compressed instruction set encoding; re-evaluating the compressed instruction according to the foregoing steps; and generating an instruction set encoding for the compressed instruction set. Improved compressed instruction formats and register structures useful in a processor are also disclosed. A computer program and apparatus for synthesizing logic implementing the aforementioned data cache architecture and pipeline performance enhancements are further disclosed.
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
37
Comments:
no comments yet
Owner
Published
May 23, 2006
Application Number
09/808,469
Filed
March 14, 2001
US Classification
712/210   717/151
Int'l Classification
G06F   9/30   (20060101)  
Examiner
Assistant Examiner
Attorney/Law Firm
Parent Case
COPYRIGHT A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reporduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. PRIORITY This application claims priority to U.S. provisional patent application Ser. No. 60/189,522, filed Mar. 15, 2000 and entitled "Method and Apparatus for Processor Code Optimization Using Code Compression." RELATED APPLICATIONS This application is related to pending U.S. patent application Ser. No. 09/418,663, filed Oct. 14, 1999 entitled "Method and Apparatus for Managing the Configuration and Functionality of a Semi-Conductor Design", which claims priority benefit of U.S. provisional patent application Ser. No. 60/104,271, filed Oct. 14, 1998, of the same title.
USPTO Field of Search
717/151   712/210  
Related Patents
7302556 - Method, apparatus and computer program product for implementing level bias function for branch prediction control for generating test simulation vectors - Owned by International Business Machines Corporation (Armonk, NY)

A method, apparatus and computer program product are provided for implementing a level bias function for branch prediction control for generating test simulation vectors. User selected options are received for a set of constraints for generating test simulation vectors for branch conditional instructions. Current resource values for predicting a branch for a branch conditional instruction are read. A branch operand field is generated to include a set of valid values using the current resource values and based upon said user selected constraints. The branch operand field defines conditions under which a branch is taken.

7383425 - Massively reduced instruction set processor - Owned by Pleora Technologies Inc. (Kanata,CA)

This invention is directed to a method and apparatus for providing low, predictable latencies in processing IP packets. The apparatus provides a specialized microprocessor or hardwired circuitry to process IP packets for video communications and control of the video source without an operating system. The method relates to operation of a microprocessor which is suitably arranged to carry out the steps of the method. The method includes details of operation of the specialized microprocessor.

7305541 - Compression of program instructions using advanced sequential correlation - Owned by Microsoft Corporation (Redmond, WA)

Compressing program binaries with reduced compression ratios. One or several pre-processing acts are performed before performing compression using a local sequential correlation oriented compression technology such as PPM, or one of its variants or improvements. One pre-processing act splits the binaries into several substreams that have high local sequential correlation. Such splitting takes into consideration the correlation between common fields in different instructions as well as the correlation between different fields in the same instruction. Another pre-processing reschedules binary instructions to improve the degree of local sequential correlation without affecting dependencies between instructions. Yet another pre-processing act replaces common operation codes in the instruction with a symbols from a second alphabet, thereby distinguishing between operation codes that have a particular value, and other portions of the instruction that just happen to have the same value. Local sequential correlation compression such as PPM is then performed.

7558968 - Information processing apparatus and method - Owned by Sony Corporation (Tokyo,JP)

A nonvolatile memory stores encrypted data, which is obtained by linking and encrypting program data, in which combined data is compressed, and first information data indicating the number of programs contained in the combined data, and second information data indicating the size of each program. A CPU reads the encrypted data from the nonvolatile memory and decrypts the read encrypted data to restore the program data, the first information data and the second information data, after which the program data is decompressed to restore the combined data that is then stored in RAM. The CPU also creates a program management table for managing the respective programs based on the first and second information data, and stores the program management table in the RAM. The present invention is applicable to microcomputers.

7398276 - Parallel predictive compression and access of a sequential list of executable instructions - Owned by Microsoft Corporation (Redmond, WA)

Compression and decompression of data such as a sequential list of executable instructions (e.g., program binaries) by uniformly applying a predictive model generated from one segment of the executable list as a common predictive starting point for the other segments of the executable list. This permits random access and decompression of any segment of the executable list once a first segment (or another reference segment) of the executable list has been decompressed. This means that when executing an executable list (e.g., an executable file), a particular segment(s) of the executable list may not need to be accessed and decompressed at all if there are no instructions in that particular segment(s) that are executed.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us