Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
251 words
A method of servicing load instructions in a system having a cache, a second memory system, and a load buffer, wherein the load buffer is a first-in-first-out queue which holds load instructions while the load instructions await access to either the cache or the second memory system as required, wherein the load buffer has a head of the queue position, wherein access to the cache occurs with a first latency, and wherein access to the second memory system occurs with a second latency which is greater than the first latency, the method comprising the steps of: when a first load instruction reaches the head of the queue position, accessing the second memory system for the first load instruction when data requested by the first load instruction is not in the cache; when the first load instruction reaches the head of the queue position, accessing the cache for the first load instruction when it has been calculated that the data requested by the first load instruction is in the cache; and accessing the second memory system for a second load instruction not yet in the head of the queue position when the first load instruction is in the head of the queue position and the first load instruction is accessing the cache, such that the cache and second memory system are simultaneously being accessed by the first and second load instructions, respectively, and such that completion of all load instructions occur in the same order as their order in the load buffer.
Claim 2
Independent Claim
251 words
A method of servicing load instructions in a system having a cache, a second memory system, and a load buffer, wherein the load buffer is a first-in-first-out queue which holds load instructions while the load instructions await access to either the cache or the second memory system as required, wherein the load buffer has a head of the queue position, wherein access to the cache occurs with a first latency, and wherein access to the second memory system occurs with a second latency which is greater than the first latency, the method comprising the steps of: when a first load instruction reaches the head of the queue position, accessing the second memory system for the first load instruction when data requested by the first load instruction is not in the cache; when the first load instruction reaches the head of the queue position, accessing the cache for the first load instruction when it has been calculated that the data requested by the first load instruction is in the cache; and accessing the second memory system for a second load instruction not yet in the head of the queue position when the first load instruction is in the head of the queue position and the first load instruction is accessing the cache, such that the cache and second memory system are simultaneously being accessed by the first and second load instructions, respectively, and such that completion of all load instructions occur in the same order as their order in the load buffer.
Claim 3
Dependent Claim
16 words
A method as in claim 1, wherein the second memory system is a second level cache.
Claim 4
Dependent Claim
15 words
A method as in claim 2, wherein the cache is virtually indexed and physically tagged.
Claim 5
Dependent Claim
17 words
A method as in claim 3 wherein the second level cache is physically indexed and physically tagged.
Claim 6
Dependent Claim
96 words
A method as in claim 1, further comprising: before the first load instruction is in the head of the queue position, calculating whether the data requested by the first load instruction will be in the cache when the first load instruction reaches the head of the queue position, wherein, the step of accessing the cache for the first load instruction occurs only when it has been calculated in the calculating step that the data requested by the first load instruction would be in the cache when the first instruction reaches the head of the queue position.
Claim 7
Independent Claim
252 words
An apparatus for servicing load instructions in a system having a cache, a second memory system, and a load buffer, wherein the load buffer is a first-in-first-out queue which holds load instructions while the load instructions await access to either the cache or the second memory system as required, wherein the load buffer has a head of the queue position, wherein access to the cache occurs with a first latency, and wherein access to the second memory system occurs with a second latency which is greater than the first latency, the apparatus comprising: a first access circuit for accessing the second memory system for a first load instruction, when the first load instruction reaches the head of the queue position, when data requested by the first load instruction is not in the cache; a second access circuit for accessing the cache for the first load instruction in the head of the queue position when data requested by the first load instruction is in the cache; and a third access circuit for accessing the second memory system for a second load instruction not yet in the head of the queue position when the first load instruction is in the head of the queue position and the first load instruction is accessing the cache, such that the cache and second memory system are simultaneously being accessed by the first and second load instructions, respectively, and such that completion of all load instructions occurs in the same order as their order in the load buffer.
Claim 8
Independent Claim
252 words
An apparatus for servicing load instructions in a system having a cache, a second memory system, and a load buffer, wherein the load buffer is a first-in-first-out queue which holds load instructions while the load instructions await access to either the cache or the second memory system as required, wherein the load buffer has a head of the queue position, wherein access to the cache occurs with a first latency, and wherein access to the second memory system occurs with a second latency which is greater than the first latency, the apparatus comprising: a first access circuit for accessing the second memory system for a first load instruction, when the first load instruction reaches the head of the queue position, when data requested by the first load instruction is not in the cache; a second access circuit for accessing the cache for the first load instruction in the head of the queue position when data requested by the first load instruction is in the cache; and a third access circuit for accessing the second memory system for a second load instruction not yet in the head of the queue position when the first load instruction is in the head of the queue position and the first load instruction is accessing the cache, such that the cache and second memory system are simultaneously being accessed by the first and second load instructions, respectively, and such that completion of all load instructions occurs in the same order as their order in the load buffer.
Claim 9
Dependent Claim
16 words
An apparatus as in claim 6, wherein the second memory system is a second level cache.
Claim 10
Dependent Claim
15 words
An apparatus as in claim 7, wherein the cache is virtually indexed and physically tagged.
Claim 11
Dependent Claim
17 words
An apparatus as in claim 8, wherein the second level cache is physically indexed and physically tagged.
Claim 12
Dependent Claim
106 words
An apparatus as in claim 6, and further comprising: a calculating circuit for calculating whether or not the contents of a memory address referenced by the first load instruction, before the first load instruction is in the head of the queue position, will be resident in the direct mapped cache when the first load instruction reaches the head of the queue position, wherein the second access circuit accesses the cache for the first load instruction only when the calculating circuit has calculated the data requested by the first load instruction would be in the cache when the first instruction reaches the head of the queue position.