US6044220A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for operating a data processor to execute software written using a foreign instruction set
Assignee: NXP USA Inc
•
Filing: 1997-02-25
•
Granted: 2000-03-28
•
Expires: 2017-02-25
Abstract
Abstract An instruction set interpreter and translator provides dynamic idiom recognition by use of a programmable hash table. Idioms are sequences of consecutive instructions that occur frequently during execution. Interpretive execution of such idioms is optimized to attain high performance. Idioms are recognized dynamically during interpretive execution. A programmable hash table is extended with entries corresponding to newly recognized idioms as their frequency of occurrence exceeds a threshold.
Inventors
- 👤 Mauricio Breternitz, Jr.
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-02 18:46
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/455; G06F9/45504
Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
159 words
A software system for operating a data processor with a native mode of instructions to execute a plurality of foreign instructions, said software system comprising: A) a set of computer instructions for fetching a first foreign instruction and a subsequent second foreign instruction, B) a set of computer instructions for determining whether a translation in a hash table exists for a sequence of said first and second foreign instructions, wherein said translation comprises at least one native instruction an execution of which is equivalent to an execution of said first and second foreign instructions, C) a set of computer instructions for selectively creating a new translation for said first and second foreign instructions and adding said new translation to said hash table if said translation does not exist, D) a set of computer instructions for executing said new translation, and E) a machine readable medium containing the sets A-D of computer readable instructions encoded in a machine readable format.
Claim 2
Dependent Claim
159 words
A software system for operating a data processor with a native mode of instructions to execute a plurality of foreign instructions, said software system comprising: A) a set of computer instructions for fetching a first foreign instruction and a subsequent second foreign instruction, B) a set of computer instructions for determining whether a translation in a hash table exists for a sequence of said first and second foreign instructions, wherein said translation comprises at least one native instruction an execution of which is equivalent to an execution of said first and second foreign instructions, C) a set of computer instructions for selectively creating a new translation for said first and second foreign instructions and adding said new translation to said hash table if said translation does not exist, D) a set of computer instructions for executing said new translation, and E) a machine readable medium containing the sets A-D of computer readable instructions encoded in a machine readable format.
Claim 3
Dependent Claim
30 words
A method of manufacturing the machine readable medium in claim 1 which comprises the step of: encoding the software system in a machine readable format in the machine readable medium.
Claim 4
Independent Claim
149 words
A method of operating a data processor capable of executing a native instruction set to execute a plurality of instructions written in a foreign instruction set, comprising the steps of: fetching a first foreign instruction; fetching a subsequent second foreign instruction; determining whether a translation in a hash table exists for a sequence of said first and second foreign instructions, wherein said translation comprises at least one native instruction an execution of which is equivalent to an execution of said first and second foreign instructions; if said translation exists, executing said translation by providing said at least one native instruction to the data processor; if said translation does not exist, selectively performing the steps of: creating a new translation for said first and second foreign instructions; adding said new translation to said hash table; and executing said new translation by providing said new translation to th e data processor.
Claim 5
Independent Claim
149 words
A method of operating a data processor capable of executing a native instruction set to execute a plurality of instructions written in a foreign instruction set, comprising the steps of: fetching a first foreign instruction; fetching a subsequent second foreign instruction; determining whether a translation in a hash table exists for a sequence of said first and second foreign instructions, wherein said translation comprises at least one native instruction an execution of which is equivalent to an execution of said first and second foreign instructions; if said translation exists, executing said translation by providing said at least one native instruction to the data processor; if said translation does not exist, selectively performing the steps of: creating a new translation for said first and second foreign instructions; adding said new translation to said hash table; and executing said new translation by providing said new translation to th e data processor.
Claim 6
Dependent Claim
46 words
The method of claim 3 wherein said step of selectively performing said steps of creating, adding, and executing comprises the step of selectively performing said steps of creating, adding, and executing if a frequency of occurrence of said first and second foreign instructions exceeds a threshold.
Claim 7
Independent Claim
90 words
A method operating a data processor capable of executing a native instruction set to execute a plurality of instructions written in a foreign instruction set, comprising the steps of: fetching a first foreign instruction; fetching a subsequent second foreign instruction; selectively translating a sequence of said first and second foreign instructions into a new translation, wherein said new translation comprises at least one native instruction an execution of which is equivalent to an execution of said first and second foreign instructions; and storing said new translation in a hash table.
Claim 8
Independent Claim
90 words
A method operating a data processor capable of executing a native instruction set to execute a plurality of instructions written in a foreign instruction set, comprising the steps of: fetching a first foreign instruction; fetching a subsequent second foreign instruction; selectively translating a sequence of said first and second foreign instructions into a new translation, wherein said new translation comprises at least one native instruction an execution of which is equivalent to an execution of said first and second foreign instructions; and storing said new translation in a hash table.
Claim 9
Dependent Claim
44 words
The method of claim 3 wherein said step of translating comprises the step of selectively translating said sequence of said first and second foreign instructions into said new translation if a frequency of occurrence of said first and second foreign instructions exceeds a threshold.
Claim 10
Dependent Claim
34 words
The method of claim 5 further comprising the steps of: fetching a second sequence of said first and second foreign instructions; fetching said new translation from said hash table; and executing said new translation.
Claim 11
Dependent Claim
153 words
A data processing system capable of executing a plurality of foreign instructions comprising a central processing unit adapted to execute a native mode instruction set and an instruction path coprocessor coupled to the central processing unit which provides native instructions to the central processing unit in response to said central processing unit initiating an instruction fetch on a foreign instruction, the improvement wherein: the instruction path coprocessor includes a hash table; and the instruction path coprocessor selectively translates consecutive first and second foreign instructions into a new translation, wherein said new translation comprises at least one native instruction an execution of which is equivalent to an execution of said first and second foreign instructions, stores said new translation in said hash table, and thereafter provides said at least one native instruction to said central processing unit in response to said central processing unit initiating consecutive fetches of said first and second foreign instructions.
Claim 12
Dependent Claim
153 words
A data processing system capable of executing a plurality of foreign instructions comprising a central processing unit adapted to execute a native mode instruction set and an instruction path coprocessor coupled to the central processing unit which provides native instructions to the central processing unit in response to said central processing unit initiating an instruction fetch on a foreign instruction, the improvement wherein: the instruction path coprocessor includes a hash table; and the instruction path coprocessor selectively translates consecutive first and second foreign instructions into a new translation, wherein said new translation comprises at least one native instruction an execution of which is equivalent to an execution of said first and second foreign instructions, stores said new translation in said hash table, and thereafter provides said at least one native instruction to said central processing unit in response to said central processing unit initiating consecutive fetches of said first and second foreign instructions.
Claim 13
Dependent Claim
50 words
The data processing system of claim 8 wherein said instruction path coprocessor translates said sequence of said first and second foreign instructions into said new translation and stores said new translation in said hash table if a frequency of occurrence of said first and second foreign instructions exceeds a threshold.
References Cited (Backward Citations)
US5551015A
Cited
US5574873A
Cited
US5742794A
Cited
US5758140A
Cited
US5802373A
Cited
US5842017A
Cited
US5768593A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-03-28 | 2003-09-27 | 2004-03-28 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-03-28 | 2007-09-27 | 2008-03-28 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-03-28 | 2011-09-27 | 2012-03-28 | $7700.00 | Window Closed / Lapsed |