Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
125 words
A load queue in a load/store unit of a superscalar processor, the load queue, coupled to a data cache, an address generator, and holding one or more load instruction entries, the load queue comprising: a real page number buffer for storing a real page number for each instruction entry in the load queue; a real page number comparator coupled to the real page number buffer for comparing executing load or store instructions with queued load instruction entries in the load queue; and a cache line modified register coupled to the data cache, the cache line modified register for marking queued load instruction entries in the load queue when a cache line of the data cache addressed by the queued load instruction entry has been modified.
Claim 2
Dependent Claim
125 words
A load queue in a load/store unit of a superscalar processor, the load queue, coupled to a data cache, an address generator, and holding one or more load instruction entries, the load queue comprising: a real page number buffer for storing a real page number for each instruction entry in the load queue; a real page number comparator coupled to the real page number buffer for comparing executing load or store instructions with queued load instruction entries in the load queue; and a cache line modified register coupled to the data cache, the cache line modified register for marking queued load instruction entries in the load queue when a cache line of the data cache addressed by the queued load instruction entry has been modified.
Claim 3
Dependent Claim
52 words
The load queue of claim 1 wherein when the executing load instruction is out of program order with respect to one of the queued load instructions, and the modified cache line register has marked the queued load instruction, the load queue signals an instruction fetch unit to cancel the queued load instruction.
Claim 4
Dependent Claim
57 words
The load queue of claim 1 further comprising an instruction identification buffer coupled to a sequencer unit for storing an instruction identifier for each entry in the load queue; and a program order comparator coupled to the instruction identification buffer for comparing ordering of instruction entries in the load queue with the executing load or store instruction.
Claim 5
Dependent Claim
19 words
The load queue of claim 3 wherein the cancelled queued load instruction returns to the load queue after re-execution.
Claim 6
Dependent Claim
25 words
The load queue of claim 1 wherein the load queue further receives a snoop real address signal from the data cache when a snoop occurs.
Claim 7
Independent Claim
128 words
A method for detecting bypass errors in a load/store unit of a superscalar processor, the load/store unit including a load queue, the load queue including at least one load instruction entry, the method comprising: comparing a real address to a word boundary of an executing load instruction and a real address to a word boundary of a queued load instruction; comparing a program order of the executing load instruction and the queued load instruction when the real addresses to a word boundary match; determining whether a bit for the queued load instruction has been set when the program order comparison indicates that the queued load instruction is executing out-of-order with respect to the executing load instruction; and cancelling the queued load instruction when the bit has been set.
Claim 8
Independent Claim
128 words
A method for detecting bypass errors in a load/store unit of a superscalar processor, the load/store unit including a load queue, the load queue including at least one load instruction entry, the method comprising: comparing a real address to a word boundary of an executing load instruction and a real address to a word boundary of a queued load instruction; comparing a program order of the executing load instruction and the queued load instruction when the real addresses to a word boundary match; determining whether a bit for the queued load instruction has been set when the program order comparison indicates that the queued load instruction is executing out-of-order with respect to the executing load instruction; and cancelling the queued load instruction when the bit has been set.
Claim 9
Dependent Claim
14 words
The method of claim 6 wherein the bit is a modified cache line bit.
Claim 10
Dependent Claim
34 words
The method of claim 6 further comprising comparing a real address of a modified cache line to a real address of each load instruction entry in the load queue to a cache line boundary.
Claim 11
Dependent Claim
26 words
The method of claim 8 further comprising setting the bit for each load instruction entry having a real address that resides in the modified cache line.
Claim 12
Independent Claim
60 words
A method for maintaining data coherency in an out-of-order execution of load instructions, the method comprising: detecting a bypass error condition to a word boundary for a first load instruction executing out-of-order with respect to at least one second load instruction; and cancelling the first load instruction when the bypass error condition is detected in order to maintain data coherency.
Claim 13
Independent Claim
60 words
A method for maintaining data coherency in an out-of-order execution of load instructions, the method comprising: detecting a bypass error condition to a word boundary for a first load instruction executing out-of-order with respect to at least one second load instruction; and cancelling the first load instruction when the bypass error condition is detected in order to maintain data coherency.
Claim 14
Dependent Claim
38 words
The method of claim 10 wherein detecting a bypass error condition further comprises the step of comparing a real page number of an executing load or store instruction and a real page number of a queued load instruction.
Claim 15
Dependent Claim
29 words
The method of claim 11 further comprising comparing a program order of the executing load or store instruction and the queued load instruction when the real page numbers match.
Claim 16
Dependent Claim
43 words
The method of claim 12 further comprising determining whether a modified cache line bit for the queued load instruction has been set when the program order comparison indicates that the queued load instruction is executing out-of-order with respect to the executing load instruction.
Claim 17
Dependent Claim
32 words
The method of claim 10 further comprising comparing a page offset to a word boundary of an executing load or store instruction and comparing a page offset of a queued load instruction.