← Back to Patent Explorer
US6065108A Expired / Lapsed US ⏱️ 0.0 years remaining

Non-quick instruction accelerator including instruction identifier and data set storage and method of implementing same

Assignee: Oracle America Inc
•
Filing: 1997-01-23
•
Granted: 2000-05-16
•
Expires: 2017-01-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An instruction accelerator which includes a processor and an associative memory. The processor is coupled to receive a stream of instructions and a corresponding stream of instruction identifier values. The instructions include at least one non-quick instruction which has a first associated data set which must be accessed prior to executing the non-quick instruction. A memory, which is coupled to the processor, stores one or more instruction identifier values and one or more associated data sets. The memory receives the stream of instruction identifier values. When a current instruction identifier value in the stream of instruction identifier values matches an instruction identifier value stored in the memory, an associated data set is accessed from the memory. More specifically, if the first instruction identifier value and the first data set are stored in the memory, and the current instruction identifier value is equal to the first instruction identifier value, then the first data set is read out of the memory. Execution of the non-quick instruction is accelerated because the first data set is readily accessible within the memory. If the first data set is not stored in the memory, the associative memory and the processor control the initial retrieval of the first data set.

Inventors

  • 👤 Marc Tremblay
  • 👤 James Michael O'Connor

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 17:49
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30007; G06F9/30021; G06F9/3004; G06F9/30043; G06F9/30098; G06F9/3012; G06F9/30134; G06F9/30145; G06F9/30149; G06F9/3017; G06F9/30174; G06F9/30181; G06F9/30189; G06F9/34; G06F9/345; G06F9/38; G06F9/3802; G06F9/3808; G06F9/3824; G06F9/383; G06F9/44; G06F9/445; G06F9/44589; G06F9/448; G06F9/4482; G06F9/4484; G06F9/4488; G06F9/449; G06F9/455; G06F9/45504; G06F2212/00; G06F2212/45; G06F2212/451

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 182 words
An instruction accelerator comprising: a processor for receiving a stream of instructions and a corresponding stream of instruction identifier values each of which uniquely identifies a corresponding instruction in the stream of instructions, wherein the instructions comprise a first non-quick instruction which has a first associated data set which must be accessed prior to executing the first non-quick instruction; and a memory coupled to the processor, the memory being adapted to: store one or more instruction identifier values, including a first instruction identifier value which identifies the first non-quick instruction; store one or more data sets, including the first associated data set; receive the stream of instruction identifier values; and compare a current instruction identifier value in the stream of instruction identifier values with the one or more instruction identifier values stored in the memory; wherein a data set is accessed from the memory when the current instruction identifier value in the stream of instruction identifier values matches an instruction identifier value stored in the memory, and wherein the data set remains in the memory for use by a subsequent non-quick instruction.
Claim 2
Dependent Claim 182 words
An instruction accelerator comprising: a processor for receiving a stream of instructions and a corresponding stream of instruction identifier values each of which uniquely identifies a corresponding instruction in the stream of instructions, wherein the instructions comprise a first non-quick instruction which has a first associated data set which must be accessed prior to executing the first non-quick instruction; and a memory coupled to the processor, the memory being adapted to: store one or more instruction identifier values, including a first instruction identifier value which identifies the first non-quick instruction; store one or more data sets, including the first associated data set; receive the stream of instruction identifier values; and compare a current instruction identifier value in the stream of instruction identifier values with the one or more instruction identifier values stored in the memory; wherein a data set is accessed from the memory when the current instruction identifier value in the stream of instruction identifier values matches an instruction identifier value stored in the memory, and wherein the data set remains in the memory for use by a subsequent non-quick instruction.
Claim 3
Dependent Claim 47 words
The instruction accelerator of claim 1, wherein the first instruction identifier value and the first data set are stored in the memory, and wherein the first associated data set is accessed when the current instruction identifier value matches the first instruction identifier value stored in the memory.
Claim 4
Dependent Claim 46 words
The instruction accelerator of claim 1, wherein the memory further comprises an input circuit, the input circuit being adapted to receive the stream of instruction identifier values and compare the current instruction identifier value with the one or more instruction identifier values stored in the memory.
Claim 5
Dependent Claim 38 words
The instruction accelerator of claim 3, wherein the first instruction identifier value and the first data set are stored in the memory, wherein the input circuit compares the current instruction identifier value with the first instruction identifier value.
Claim 6
Dependent Claim 47 words
The instruction accelerator of claim 3, wherein the memory further comprises an output circuit adapted to receive a data set associated with the current instruction identifier value when the input circuit detects that the current instruction identifier value matches an instruction identifier value stored in the memory.
Claim 7
Dependent Claim 43 words
The instruction accelerator of claim 5, wherein the first instruction identifier value and the first data set are stored in the memory, wherein the output circuit receives the first data set when the current instruction identifier value matches the first instruction identifier value.
Claim 8
Dependent Claim 14 words
The instruction accelerator of claim 1, wherein the memory is a content addressable memory.
Claim 9
Dependent Claim 54 words
The instruction accelerator of claim 3, wherein the input circuit causes the processor to locate and retrieve a data set associated with a current instruction associated with the current instruction identifier value from a remote program memory if the current instruction identifier value does not match the instruction identifier values stored in the memory.
Claim 10
Dependent Claim 50 words
The instruction accelerator of claim 8, wherein the input circuit causes the processor to locate and retrieve the first data set when the current instruction identifier value is the first instruction identifier value, and the current instruction identifier value does not match the instruction identifier values stored in the memory.
Claim 11
Dependent Claim 23 words
The instruction accelerator of claim 8, wherein the processor loads the retrieved data set and the current instruction identifier value into the memory.
Claim 12
Dependent Claim 21 words
The instruction accelerator of claim 1 wherein at least one of the data sets includes data from a constant pool entry.
Claim 13
Dependent Claim 28 words
The instruction accelerator of claim 11 wherein the at least one of the data sets including data from a constant pool entry is the first associated data set.
Claim 14
Dependent Claim 26 words
The instruction accelerator of claim 1 wherein the first associated data set has a known value when the first non-quick instruction is received by the processor.
Claim 15
Dependent Claim 234 words
A computer system comprising: an instruction decoder which receives a stream of instructions and provides a stream of decoded instructions and a corresponding stream of instruction identifier values each of which uniquely identifies a corresponding instruction in the stream of instructions; a processor for receiving the stream of decoded instructions and the stream of instruction identifier values, wherein the decoded instructions comprise a first non-quick instruction which has a first associated data set which must be accessed prior to executing the first non-quick instruction; a memory coupled to the processor, the memory being adapted to: store one or more instruction identifier values, including a first instruction identifier value which identifies the first non-quick instruction; store one or more data sets, including the first associated data set; receive the stream of instruction identifier values; and compare a current instruction identifier value in the stream of instruction identifier values with the one or more instruction identifier values stored in the memory; and an execution unit which is coupled to receive the stream of decoded instructions, the stream of instruction identifier values and the data sets stored in the memory; wherein a data set is accessed from the memory when the current instruction identifier value in the stream of instruction identifier values matches an instruction identifier value stored in the memory, and wherein the data set remains in the memory for use by a subsequent non-quick instruction.
Claim 16
Dependent Claim 234 words
A computer system comprising: an instruction decoder which receives a stream of instructions and provides a stream of decoded instructions and a corresponding stream of instruction identifier values each of which uniquely identifies a corresponding instruction in the stream of instructions; a processor for receiving the stream of decoded instructions and the stream of instruction identifier values, wherein the decoded instructions comprise a first non-quick instruction which has a first associated data set which must be accessed prior to executing the first non-quick instruction; a memory coupled to the processor, the memory being adapted to: store one or more instruction identifier values, including a first instruction identifier value which identifies the first non-quick instruction; store one or more data sets, including the first associated data set; receive the stream of instruction identifier values; and compare a current instruction identifier value in the stream of instruction identifier values with the one or more instruction identifier values stored in the memory; and an execution unit which is coupled to receive the stream of decoded instructions, the stream of instruction identifier values and the data sets stored in the memory; wherein a data set is accessed from the memory when the current instruction identifier value in the stream of instruction identifier values matches an instruction identifier value stored in the memory, and wherein the data set remains in the memory for use by a subsequent non-quick instruction.
Claim 17
Dependent Claim 46 words
The computer system of claim 14, wherein the memory further comprises an input circuit, the input circuit being adapted to receive the stream of instruction identifier values and compare the current instruction identifier value with the one or more instruction identifier values stored in the memory.
Claim 18
Dependent Claim 56 words
The computer system of claim 15, wherein the memory further comprises an output circuit adapted to receive a data set associated with the current instruction identifier value and provide the data set to the execution unit when the input circuit detects that the current instruction identifier value matches an instruction identifier value stored in the memory.
Claim 19
Dependent Claim 14 words
The computer system of claim 14, wherein the memory is a content addressable memory.
Claim 20
Dependent Claim 54 words
The computer system of claim 14, wherein the input circuit instructs the processor to locate and retrieve a data set associated with a current instruction associated with the current instruction identifier value from a remote program memory if the current instruction identifier value does not match the instruction identifier values stored in the memory.
Claim 21
Dependent Claim 34 words
The computer system of claim 18, further comprising a trap logic circuit coupled to the processor, wherein the trap logic circuit suspends operation of the processor while the data set is located and retrieved.
Claim 22
Dependent Claim 17 words
The computer system of claim 18, further comprising an operand stack for storing the retrieved data set.
Claim 23
Dependent Claim 17 words
The computer system of claim 18, further comprising software code for locating and retrieving the data sets.
Claim 24
Independent Claim 155 words
A method of accelerating the execution of a non-quick instruction which requires the retrieval of an associated first data set before the non-quick instruction can be executed, the non-quick instruction having an associated first instruction identifier value that uniquely identifies the corresponding non-quick instruction, the method comprising the steps of: storing the first instruction identifier value and the first data set in an associative memory; comparing a current instruction identifier value associated with a current instruction with the first instruction identifier value stored in the memory; accessing the first data set stored in the memory when the current instruction identifier value matches the first instruction identifier value; providing the non-quick instruction, the first instruction identifier value and the first data set to an execution unit for execution when the ent instruction identifier value matches the first instruction identifier value; and retaining the first data set in the memory for use by a subsequent non-quick instruction.
Claim 25
Independent Claim 155 words
A method of accelerating the execution of a non-quick instruction which requires the retrieval of an associated first data set before the non-quick instruction can be executed, the non-quick instruction having an associated first instruction identifier value that uniquely identifies the corresponding non-quick instruction, the method comprising the steps of: storing the first instruction identifier value and the first data set in an associative memory; comparing a current instruction identifier value associated with a current instruction with the first instruction identifier value stored in the memory; accessing the first data set stored in the memory when the current instruction identifier value matches the first instruction identifier value; providing the non-quick instruction, the first instruction identifier value and the first data set to an execution unit for execution when the ent instruction identifier value matches the first instruction identifier value; and retaining the first data set in the memory for use by a subsequent non-quick instruction.
Claim 26
Independent Claim 159 words
A method of accelerating the execution of a non-quick instruction which requires the retrieval of an associated first data set before the non-quick instruction can be executed, the non-quick instruction having an associated first instruction identifier value that uniquely identifies the corresponding non-quick instruction, the method comprising the steps of: storing one or more instruction identifier values in a memory; comparing a current instruction identifier value associated with a current instruction with the instruction identifier values stored in the memory; retrieving the first data set from a program memory when the current instruction is the non-quick instruction and the current instruction identifier value is the first instruction identifier value, and the current instruction identifier value does not match any of the instruction identifier values stored in the memory; loading the retrieved first data set and the first instruction identifier value into the memory and retaining the first data set in the memory for use by a subsequent non-quick instruction.
Claim 27
Independent Claim 159 words
A method of accelerating the execution of a non-quick instruction which requires the retrieval of an associated first data set before the non-quick instruction can be executed, the non-quick instruction having an associated first instruction identifier value that uniquely identifies the corresponding non-quick instruction, the method comprising the steps of: storing one or more instruction identifier values in a memory; comparing a current instruction identifier value associated with a current instruction with the instruction identifier values stored in the memory; retrieving the first data set from a program memory when the current instruction is the non-quick instruction and the current instruction identifier value is the first instruction identifier value, and the current instruction identifier value does not match any of the instruction identifier values stored in the memory; loading the retrieved first data set and the first instruction identifier value into the memory and retaining the first data set in the memory for use by a subsequent non-quick instruction.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-05-16 2003-11-15 2004-05-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-05-16 2007-11-15 2008-05-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-05-16 2011-11-15 2012-05-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag