Claims
- 1. A method of decompressing data words of an instruction set comprising:
A. filling a primary dictionary with at least one primary data word of the instruction set, each of said at least one primary data word being stored in said primary dictionary in a location associated with a distinct primary dictionary index; B. filling at least one secondary dictionary with at least one difference bit stream, each of said at least one difference bit stream being stored in one of said at least one secondary dictionary in a location associated with a distinct secondary dictionary index; C. receiving a code word, said code word comprising:
a. a header which identifies said primary dictionary and a specific one of said at least one secondary dictionary; b. a first bit stream; and c. a second bit stream; wherein said first bit stream comprises said distinct primary dictionary index and said second bit stream comprises said distinct secondary dictionary index; D. retrieving said primary data word stored at said location in said primary dictionary location associated with said distinct primary dictionary index; E. retrieving said difference bit stream stored at said location in said at least one secondary dictionary location associated with said distinct secondary dictionary index; and F. performing a logic operation on said primary data word and said difference bit stream to obtain a resultant data word that is not stored in either said at least one primary dictionary or said at least one secondary dictionary.
- 2. The method of claim 1 wherein said primary data words comprise 32 bit words.
- 3. The method of claim 1 wherein said logic operation is an exclusive-OR operation.
- 4. The method of claim 1 wherein said at least one secondary dictionary comprises a first secondary dictionary which includes difference bit streams which are more commonly included in said second bit stream of said code word and a second secondary dictionary which includes difference bit streams which are less commonly included in said second bit stream of said code word.
- 5. The method of claim 2 wherein said code words comprise less than 32 bits.
- 6. The method of claim 1 wherein said first bit stream comprises up to 11 bits.
- 7. The method of claim 1 wherein said second bit stream comprises at least 5 bits.
- 8. A system for decompressing data words of an instruction set comprising:
a computer processor which performs operations based on the instruction sets; a memory device including:
A. a primary dictionary including at least one primary data word of said instruction set, each of said at least one primary data word being stored in said primary dictionary in a location associated with a distinct primary dictionary index; and B. at least one secondary dictionary including at least one difference bit stream, each of said at least one difference bit stream being stored in one of said at least one secondary dictionary in a location associated with a distinct secondary dictionary index; and a decompression engine for receiving a code word from said computer processor and accessing said memory device to decode said code word to obtain a data word requested by said computer processor; wherein said code word comprises:
a. a header which identifies said primary dictionary and a specific one of said at least one secondary dictionary; b. a first bit stream; and c. a second bit stream; wherein said first bit stream comprises said distinct primary dictionary index and said second bit stream comprises said distinct secondary dictionary index; and wherein said decompression engine retrieves said primary data word stored at said location in said primary dictionary location associated with said distinct primary dictionary index; retrieves said difference bit stream stored at said location in said at least one secondary dictionary location associated with said distinct secondary dictionary index; and performs a logic operation on said primary data word and said difference bit stream to obtain a resultant data word that is not stored in either said at least one primary dictionary or said at least one secondary dictionary, said resultant data word being said data word requested by said computer processor.
- 9. The system of claim 8 wherein said primary data words comprise 32 bit words.
- 10. The method of claim 8 wherein said logic operation is an exclusive-OR operation.
- 11. The method of claim 8 wherein said at least one secondary dictionary comprises a first secondary dictionary which includes difference bit streams which are more commonly included in said second bit stream of said code word and a second secondary dictionary which includes difference bit streams which are less commonly included in said second bit stream of said code word.
- 12. The method of claim 9 wherein said code words comprise less than 32 bits.
- 13. The method of claim 8 wherein said first bit stream comprises up to 11 bits.
- 14. The method of claim 8 wherein said second bit stream comprises at least 5 bits.
- 15. A system for decompressing data words of an instruction set comprising:
a computer processor which performs operations based on the instruction sets; a memory device including:
A. a primary dictionary including at least one primary data word of said instruction set, each of said at least one primary data word being stored in said primary dictionary in a location associated with a distinct primary dictionary index; and B. a first secondary dictionary including at least one difference bit stream, each of said at least one difference bit stream being stored in said first secondary dictionary in a location associated with a distinct first secondary dictionary index; and C. a second secondary dictionary including at least one difference bit stream, each of said at least one difference bit stream being stored in said second secondary dictionary in a location associated with a distinct second secondary dictionary index; and a decompression engine for receiving a code word from said computer processor and accessing said memory device to decode said code word to obtain a data word requested by said computer processor; wherein said code word comprises:
a. a header which identifies said primary dictionary and one of said first secondary dictionary and said second secondary dictionary; b. a first bit stream; and c. a second bit stream; wherein said first bit stream comprises said distinct primary dictionary index and said second bit stream comprises said distinct secondary dictionary index for the secondary dictionary identified in said header; and wherein said compression engine retrieves said primary data word stored at said location in said primary dictionary location associated with said distinct primary dictionary index, retrieves said difference bit stream stored at said location in said identified secondary dictionary location associated with said distinct secondary dictionary index; and performs an exclusive-OR operation on said primary data word and said difference bit stream to obtain a resultant data word that is not stored in either said primary dictionary or said at least one secondary dictionary, said resultant data word being said data word requested by said computer processor.
- 16. The system of claim 15 wherein said primary data words comprise 32 bit words.
- 17. The method of claim 16 wherein said code words comprise less than 32 bits.
- 18. The method of claim 15 wherein said first bit stream comprises up to 11 bits.
- 19. The method of claim 15 wherein said second bit stream comprises at least 5 bits.
- 20. A system for decompressing data words of an instruction set comprising:
processing means for performing operations based on the instruction sets; a memory means including:
A. a primary dictionary including at least one primary data word of said instruction set, each of said at least one primary data word being stored in said primary dictionary in a location associated with a distinct primary dictionary index; and B. a first secondary dictionary including at least one difference bit stream, each of said at least one difference bit stream being stored in said first secondary dictionary in a location associated with a distinct first secondary dictionary index; and C. a second secondary dictionary including at least one difference bit stream, each of said at least one difference bit stream being stored in said second secondary dictionary in a location associated with a distinct second secondary dictionary index; and decompression means for receiving a code word from said computer processor and accessing said memory device to decode said code word to obtain a data word requested by said computer processor; wherein said code word comprises:
a. a header which identifies said primary dictionary and one of said first secondary dictionary and said second secondary dictionary; b. a first bit stream; and c. a second bit stream; wherein said first bit stream comprises said distinct primary dictionary index and said second bit stream comprises said distinct secondary dictionary index for the secondary dictionary identified in said header; and wherein said decompression means retrieves said primary data word stored at said location in said primary dictionary location associated with said distinct primary dictionary index, retrieves said difference bit stream stored at said location in said identified secondary dictionary location associated with said distinct secondary dictionary index; and performs an exclusive-OR operation on said primary data word and said difference bit stream to obtain a resultant data word that is not stored in either said primary dictionary or said at least one secondary dictionary, said resultant data word being said data word requested by said computer processor.
- 21. A method for compressing an instruction word, said instruction word being included in an instruction set for a computer, the method comprising:
determining at least one primary data word based on a main body of an instruction word frequently accessed by the computer and storing the at least one primary data word at a first memory location; determining at least one difference bit stream comprising information on the difference between the primary data word and a predetermined instruction word, and storing the at least one difference bit stream at a second memory location; and generating a code word which defines the predetermined instruction word of the instruction set by reference to said first and second memory location.
- 22. A method for decompressing instruction content to provide an instruction word, said instruction being included an instruction set for a computer, a method comprising:
accessing a primary data word comprising the main body of an instruction word frequently accessed by the computer; accessing a difference bit stream comprising information on differences between said primary data word and a predetermined instruction word of the instruction set; and performing a logic operation on said primary data word and said difference bit stream to generate said predetermined instruction word.
- 23. The method of claim 22, further comprising the steps of receiving and processing a code word designating a memory location of said primary data word and said difference bit stream, and accessing the primary data word and difference bit stream based on the memory location information.
- 24. The method of claim 22, wherein the first and second primary data words are held in different first and second independently addressable primary data word stores according to frequency of use.
- 25. The method of claim 24, wherein first and second difference bit streams are held in different first and second independently addressable difference bit stores according to frequency of use.
- 26. The method of claim 25, wherein a header of the code word indicates which primary data word store and difference bit stream store the address information of the code word relates to.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to Provisional U.S. Patent Application No. 60/383,618, filed May 29, 2002, which is incorporated herein by reference in its entirey.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60383618 |
May 2002 |
US |