Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor
First Claim
1. A microprocessor chip, comprising:
- instruction pipeline circuitry;
instruction classification circuitry responsive to execution of instructions executed by the instruction pipeline circuitry to classify the executed instructions into a small number of classes and record a classification code value;
an on-chip table, each entry of the on-chip table corresponding to a range of addresses of a memory of the computer and designed to hold a statistical assessment of a value of consulting an off-chip table in a memory of the computer;
lookup circuitry designed to fetch an entry from a on-chip table as part of the basic instruction processing cycle of the microprocessor;
a mask whose value is set at least in part by a timer;
pipeline control circuitry designed to consult the on-chip table and to control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, depending, at least in part, on the value of the on-chip table entry corresponding to the address of an instruction processed by the instruction pipeline circuitry, the current value of the mask, and the recorded classification code; and
control circuitry and/or software designed to cooperate with the instruction pipeline circuitry and pipeline control circuitry to control operation of the instruction pipeline circuitry based on consultation of the off-chip table after a favorable value is obtained from the on-chip table.
3 Assignments
0 Petitions
Accused Products
Abstract
A microprocessor chip has instruction pipeline circuitry, and instruction classification circuitry that classifies instructions as they are executed into a small number of classes and records a classification code value. An on-chip table has entries corresponding to a range of addresses of a memory and designed to hold a statistical assessment of a value of consulting an off-chip table in a memory of the computer. Lookup circuitry is designed to fetch an entry from the on-chip table as part of the basic instruction processing cycle of the microprocessor. A mask has a value set at least in part by a timer. The instruction pipeline circuitry is controlled based on the value of the on-chip table entry corresponding to the address of instructions processed, the current value of the mask, the recorded classification code, and the off-chip table.
308 Citations
27 Claims
-
1. A microprocessor chip, comprising:
-
instruction pipeline circuitry; instruction classification circuitry responsive to execution of instructions executed by the instruction pipeline circuitry to classify the executed instructions into a small number of classes and record a classification code value; an on-chip table, each entry of the on-chip table corresponding to a range of addresses of a memory of the computer and designed to hold a statistical assessment of a value of consulting an off-chip table in a memory of the computer; lookup circuitry designed to fetch an entry from a on-chip table as part of the basic instruction processing cycle of the microprocessor; a mask whose value is set at least in part by a timer; pipeline control circuitry designed to consult the on-chip table and to control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, depending, at least in part, on the value of the on-chip table entry corresponding to the address of an instruction processed by the instruction pipeline circuitry, the current value of the mask, and the recorded classification code; and control circuitry and/or software designed to cooperate with the instruction pipeline circuitry and pipeline control circuitry to control operation of the instruction pipeline circuitry based on consultation of the off-chip table after a favorable value is obtained from the on-chip table.
-
-
2. A microprocessor chip, comprising:
-
instruction pipeline circuitry; lookup circuitry designed to fetch an entry from a lookup structure as part of the basic instruction processing cycle of the microprocessor, each entry of the lookup structure being associated with a corresponding address range accessed by the microprocessor; a mask whose value is set at least in part by a timer; pipeline control circuitry designed to control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, depending, at least in part, on the value of the entry corresponding to the address range in which lies an instruction processed by the instruction pipeline circuitry, and the current value of the mask. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A microprocessor chip, comprising:
-
instruction pipeline circuitry; instruction classification circuitry responsive to execution of instructions executed by the instruction pipeline circuitry to classify the executed instructions into a small number of classes and record a classification code value; lookup circuitry designed to fetch an entry from a lookup structure as part of the basic instruction processing cycle of the microprocessor, each entry of the lookup structure being associated with a corresponding address range accessed by the microprocessor; an on-chip table, each entry of the on-chip table corresponding to a range of addresses of the memory, the on-chip table designed to hold an approximately-correct evaluation of a portion of the microprocessor machine state for control of the circuitry, wherein error in the approximation of the on-chip table is induced by a slight time lag relative to the portion of the microprocessor'"'"'s machine state whose evaluation is stored therein; and pipeline control circuitry designed to; control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, depending, at least in part, on the value of the entry corresponding to the address range in which the instruction address lies and the recorded classification code; and control processing of instructions by the instruction pipeline circuitry based on consultation of the on-chip table as part of the basic instruction processing cycle of the microprocessor.
-
-
13. A microprocessor chip, comprising:
-
instruction pipeline circuitry; instruction classification circuitry responsive to execution of instructions executed by the instruction pipeline circuitry to classify the executed instructions into a small number of classes and record a classification code value; lookup circuitry designed to fetch an entry from a lookup structure as part of the basic instruction processing cycle of the microprocessor, each entry of the lookup structure being associated with a corresponding address range accessed by the microprocessor, wherein the address ranges correspond to entries in an interrupt vector table; and pipeline control circuitry designed to control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, depending, at least in part, on the value of the entry corresponding to the address range in which the instruction address lies, and the recorded classification code.
-
-
14. A microprocessor chip, comprising:
-
instruction pipeline circuitry; instruction classification circuitry responsive to execution of instructions executed by the instruction pipeline circuitry to classify the executed instructions into a small number of classes and record a classification code value; lookup circuitry designed to fetch an entry from a lookup structure as part of the basic instruction processing cycle of the microprocessor, each entry of the lookup structure being associated with a corresponding address range accessed by the microprocessor; and pipeline control circuitry designed to control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, depending, at least in part, on the value of the entry corresponding to the address range in which the instruction address lies and the recorded classification code, wherein bits of the entry corresponding to the address range in which the instruction address lies are AND'"'"'ed with corresponding bits of a mask associated with the instruction pipeline circuitry.
-
-
15. A microprocessor chip, comprising:
-
instruction pipeline circuitry; an on-chip table, each entry of the on-chip table corresponding to a respective class of event occurring in the microprocessor and designed to hold an approximate and inexact evaluation of a portion of the microprocessor machine state for control of the circuitry, wherein error in the approximation of the on-chip table is induced by a slight time lag relative to the portion of the microprocessor'"'"'s machine state whose evaluation is stored therein; and pipeline control circuitry designed to cooperate with the instruction pipeline circuitry to control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, based on consultation of the on-chip table.
-
-
16. A microprocessor chip, comprising:
-
instruction pipeline circuitry; an on-chip table, each entry of the on-chip table corresponding to a respective class of event occurring in the microprocessor and designed to hold an approximate and inexact evaluation of a portion of the microprocessor machine state for control of the circuitry; lookup circuitry designed to fetch an entry from a lookup structure, each entry of the lookup structure being associated with a corresponding address range accessed by the microprocessor; a mask whose value is set at least in part by a timer; and pipeline control circuitry designed to; cooperate with the instruction pipeline circuitry to control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, based on consultation of the on-chip table; and control processing of instructions by the instruction pipeline circuitry depending, at least in part, on the value of the entry corresponding to the address range in which lies an instruction processed by the instruction pipeline circuitry, and the current value of the mask. - View Dependent Claims (17, 18)
-
-
19. A microprocessor chip, comprising:
-
instruction pipeline circuitry; an on-chip table, each entry of the on-chip table corresponding to a respective class of event occurring in the microprocessor and designed to hold an approximate and inexact evaluation of a portion of the microprocessor machine state for control of the circuitry, wherein the classes of events are classes of interrupt; and pipeline control circuitry designed to cooperate with the instruction pipeline circuitry to control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, based on consultation of the on-chip table.
-
-
20. A microprocessor chip, comprising:
-
instruction pipeline circuitry; an on-chip table, each entry of the on-chip table corresponding to a respective class of event occurring in the microprocessor, and designed to hold an approximate and inexact evaluation of a portion of the microprocessor machine state for control of the circuitry, wherein bits of an entry of the on-chip table are AND'"'"'ed with corresponding bits of a mask associated with the instruction pipeline circuitry; and pipeline control circuitry designed to cooperate with the instruction pipeline circuitry to control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, based on consultation of the on-chip table.
-
-
21. A microprocessor chip, comprising:
-
instruction pipeline circuitry; an on-chip table, each entry of the on-chip table corresponding to a class of event occurring the in the microprocessor and designed to control consultation of an off-chip table in a memory accessed by the microprocessor when an event of the class occurs, wherein the classes of events are memory references to corresponding respective address ranges of the memory addressed by the microprocessor; a mask whose value is set at least in part by a timer; pipeline control circuitry designed to; cooperate with the instruction pipeline circuitry to consult the on-chip table as part of the basic instruction processing cycle of the microprocessor, as the classified events occur in the microprocessor; and control processing of instructions by the instruction pipeline circuitry depending, at least in part, on an address range in which lies an instruction processed by the instruction pipeline circuitry, the value of the on-chip table entry corresponding to the instruction address, and the current value of the mask; and control circuitry and/or software designed to cooperate with the instruction pipeline circuitry and pipeline control circuitry to affect a manipulation of data or transfer of control defined for the event in the instruction pipeline circuitry based on consultation of the off-chip table after a favorable value is obtained from the on-chip table. - View Dependent Claims (22)
-
-
23. A method, comprising the steps of:
-
executing a computer program in instruction pipeline circuitry of a microprocessor, the microprocessor having lookup circuitry designed to fetch an entry from a lookup structure as part of the basic instruction processing cycle of the microprocessor, entries of the lookup structure being indexed by a corresponding address ranges of addresses generated by the microprocessor; as part of the basic instruction processing cycle of the microprocessor, controlling processing of instructions by the instruction pipeline circuitry based at least in part on the value of the entry corresponding to the address range in which lies an instruction processed by the instruction pipeline circuitry, and the current value of a mask, the mask having a value set at least in part by a timer. - View Dependent Claims (24, 25)
-
-
26. A method, comprising the steps of:
-
storing information in a slow representation in a computer memory; generating a fast representation of portions of the information in the computer memory; dividing the slow representation of the information into spatial blocks; classifying elements of the information into logical classes; forming a correspondence map from elements of the slow representation to corresponding elements in the fast representation, the correspondence map noting whether an element of the information has an extant fast representation, and if extant, providing an access key to the corresponding fast representation, the correspondence map being indexed by the spatial division and the logical classification of the information elements; and as part of the basic instruction processing cycle of the computer, controlling processing of instructions by instruction pipeline circuitry of the computer, depending, at least in part, on the value of the fast representation corresponding to the address range in which the instruction being processed lies, and the current value of a mask whose value is set at least in part by a timer.
-
-
27. A microprocessor chip, comprising:
-
instruction pipeline circuitry; instruction classification circuitry responsive to execution of instructions executed by the instruction pipeline circuitry to classify the executed instructions into a small number of classes and record a code value recording the classification; lookup circuitry designed to fetch an entry from a lookup structure as part of the basic instruction processing cycle of the microprocessor, each entry of the lookup structure being associated with a corresponding address range accessed by the microprocessor; and pipeline control circuitry designed to; control processing of instructions by the instruction pipeline circuitry as part of the basic instruction processing cycle of the microprocessor, depending, at least in part, on the value of the entry corresponding to the address range in which the instruction address lies, and the recorded classification code; and control processing of instructions by the instruction pipeline circuitry depending, at least in part, on the value of the entry corresponding to the address range in which lies an instruction processed by the instruction pipeline circuitry, and the current value of a mask whose value is set at least in part by a timer.
-
Specification