Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
188 words
In a computer system, a method for caching instruction/data that further reduces cache miss penalties, said method comprising the steps of: a) storing a plurality of memory block frames of a main memory of said computer system in a plurality of cache lines of a cache array; b) storing a plurality of address tags for said cached memory block frames in a plurality of cache tag entries of a cache tag array corresponding to said cache lines; c) storing cache fill descriptive information for a memory block frame of a cache fill in progress in a cache miss buffer; d) determining cache hit/miss for an instruction/data request using said address tags for said cached memory block frames and said cache fill descriptive information; and e) providing appropriate signals to said cache array, said main memory, and a destination for an instruction/data requested by said instruction/data request accordingly such that said instruction/data request is satisfied if said instruction/data requested is part of said memory block frame of said cache fill in progress, without having to wait for said cache fill to be completed, thereby further reducing cache miss penalties.
Claim 2
Dependent Claim
188 words
In a computer system, a method for caching instruction/data that further reduces cache miss penalties, said method comprising the steps of: a) storing a plurality of memory block frames of a main memory of said computer system in a plurality of cache lines of a cache array; b) storing a plurality of address tags for said cached memory block frames in a plurality of cache tag entries of a cache tag array corresponding to said cache lines; c) storing cache fill descriptive information for a memory block frame of a cache fill in progress in a cache miss buffer; d) determining cache hit/miss for an instruction/data request using said address tags for said cached memory block frames and said cache fill descriptive information; and e) providing appropriate signals to said cache array, said main memory, and a destination for an instruction/data requested by said instruction/data request accordingly such that said instruction/data request is satisfied if said instruction/data requested is part of said memory block frame of said cache fill in progress, without having to wait for said cache fill to be completed, thereby further reducing cache miss penalties.
Claim 3
Dependent Claim
134 words
The method as set forth in claim 1, wherein, said cache fill description information stored in said step c) comprises an address tag and an active indicator for said memory block frame of said cache fill in progress; and said step d) further comprises the steps of: d.1) matching a read address of said instruction/data request against said address tags of said memory block frames to determine whether said instruction/data requested is cached in said cache lines; d.2) matching said read address against said address tag of said memory block frame of said cache fill in progress to determine whether said instruction/data requested is part of said memory block frame of said cache fill in progress if no match is found for said matchings in said step d.1) and said active indicator is set.
Claim 4
Dependent Claim
76 words
The method as set forth in claim 2, wherein, said cache fill descriptive information stored in said step c) further comprises a progress indicator; and said step d) further comprises the step of: d.3) determining whether said instruction/data requested has been retrieved from said main memory and stored into one of said cache lines using said progress indicator of said cache fill in progress if a match was determined in said matching in said step d.2).
Claim 5
Dependent Claim
74 words
The method as set forth in claim 2, wherein, said cache fill descriptive information stored in said step c) further comprises a progress indicator; and said step d) further comprises the step of: d.3) determining whether said instruction/data requested is going to be the next instruction/data being returned from said main memory using said progress indicator of said cache fill in progress if a match was determined in said matching in said step d.2).
Claim 6
Dependent Claim
92 words
The method as set forth in claim 1, wherein, said memory block frames of said main memory are stored in said cache lines in said step a) in a set associative manner; and said cache fill descriptive information stored in said step c) further comprises an index and a block value, said index identifying a cache set for storing said memory block frame of said cache fill in progress, said block value identifying a cache line of said cache set for storing said memory block frame of said cache fill in progress.
Claim 7
Dependent Claim
29 words
The method as set forth in claim 1, wherein, each cache operation performed against said cache array and said cache tag array takes only half of a clock cycle.
Claim 8
Dependent Claim
45 words
The method as set forth in claim 1, wherein, said cache array is an instruction cache array; said cache tag array is an instruction cache tag array; said cache miss buffer is an instruction cache miss buffer; and said instruction/data request is an instruction request.
Claim 9
Dependent Claim
45 words
The method as set forth in claim 1, wherein, said cache array is a data cache array; said cache tag array is a data cache tag array; said cache miss buffer is a data cache miss buffer; and said instruction/data request is a data request.
Claim 10
Dependent Claim
207 words
In a computer system, an apparatus for caching instruction/data that further reduces cache miss penalties, comprising: a) a cache array coupled to a main memory of said computer system comprising a plurality of cache lines for storing a plurality of memory block frames of said main memory; b) a cache tag array comprising a plurality of cache tag entries corresponding to said cache lines for storing a plurality of address tags for said cached memory block frames; c) a cache miss buffer for storing cache fill descriptive information for a memory block frame of a cache fill in progress; d) control logic coupled to said main memory, said cache array, said cache tag array, and said cache miss buffer for determining cache hit/miss for an instruction/data request using said address tags for said cached memory block frames and said cache fill descriptive information, and providing appropriate signals to said cache array, said main memory, and a destination for an instruction/data requested by said instruction/data request accordingly such that said instruction/data request is satisfied if said instruction/data requested is part of said memory block frame of said cache fill in progress, without having to wait for said cache fill to be completed, thereby further reducing cache miss penalties.
Claim 11
Dependent Claim
207 words
In a computer system, an apparatus for caching instruction/data that further reduces cache miss penalties, comprising: a) a cache array coupled to a main memory of said computer system comprising a plurality of cache lines for storing a plurality of memory block frames of said main memory; b) a cache tag array comprising a plurality of cache tag entries corresponding to said cache lines for storing a plurality of address tags for said cached memory block frames; c) a cache miss buffer for storing cache fill descriptive information for a memory block frame of a cache fill in progress; d) control logic coupled to said main memory, said cache array, said cache tag array, and said cache miss buffer for determining cache hit/miss for an instruction/data request using said address tags for said cached memory block frames and said cache fill descriptive information, and providing appropriate signals to said cache array, said main memory, and a destination for an instruction/data requested by said instruction/data request accordingly such that said instruction/data request is satisfied if said instruction/data requested is part of said memory block frame of said cache fill in progress, without having to wait for said cache fill to be completed, thereby further reducing cache miss penalties.
Claim 12
Dependent Claim
150 words
The apparatus as set forth in claim 9, wherein, said cache fill description information stored in said cache miss buffer comprise an address tag and an active indicator for said memory block frame of said cache fill in progress; and said control logic comprises: d.1) first matching logic coupled to said cache tag array for matching a read address of said instruction/data request against said address tags of said memory block frames to determine whether said instruction/data requested is cached in said cache lines; and d.2) second matching logic coupled to said cache miss buffer for matching said read address against said address tag of said memory block frame of said cache fill in progress to determine whether said instruction/data requested is part of said memory block frame of said cache fill in progress if no match is found by said first matching logic and said active indicator is set.
Claim 13
Dependent Claim
81 words
The apparatus as set forth in claim 10, wherein, said cache fill descriptive information stored in said cache miss buffer further comprises a progress indicator; and said control logic further comprises: d.3) determining logic coupled to said cache miss buffer for determining whether said instruction/data requested has been retrieved from said main memory and stored into one of said cache lines using said progress indicator of said cache fill in progress if a match was determined by said second matching logic.
Claim 14
Dependent Claim
79 words
The apparatus as set forth in claim 10, wherein, said cache fill descriptive information stored in said cache miss buffer further comprises a progress indicator; and said control logic further comprises: d.3) determining logic coupled to said cache miss buffer for determining whether said instruction/data requested is going to be the next instruction/data being returned from said main memory using said progress indicator of said cache fill in progress if a match was determined by said second matching logic.
Claim 15
Dependent Claim
91 words
The apparatus as set forth in claim 9, wherein, said cache array stores said memory block frames of said main memory in said cache lines in a set associative manner; and said cache fill descriptive information stored in said cache miss buffer further comprises an index and a block value, said index identifying a cache set for storing said memory block frame of said cache fill in progress, said block value identifying a cache line of said cache set for storing said memory block frame of said cache fill in progress.
Claim 16
Dependent Claim
29 words
The apparatus as set forth in claim 9, wherein, each cache operation performed against said cache array and said cache tag array takes only half of a clock cycle.
Claim 17
Dependent Claim
45 words
The apparatus as set forth in claim 9, wherein, said cache array is an instruction cache array; said cache tag array is an instruction cache tag array; said cache miss buffer is an instruction cache miss buffer; and said instruction/data request is an instruction request.
Claim 18
Dependent Claim
45 words
The apparatus as set forth in claim 9, wherein, said cache array is a data cache array; said cache tag array is a data cache tag array; said cache miss buffer is a data cache miss buffer; and said instruction/data request is a data request.
Claim 19
Dependent Claim
102 words
A computer system comprising: a) at least one execution function unit; b) a main memory; and c) a cache memory coupled to said at least one execution function unit and said main memory for caching instructions and data, said cache memory comprising at least one cache array, at least one cache tag array, at least one cache miss buffer and at least one cache control logic, said cache memory satisfying an instruction/data request requesting an instruction/data that is part of a memory block frame of a cache fill in progress without having to wait for said cache fill in progress to complete.
Claim 20
Dependent Claim
102 words
A computer system comprising: a) at least one execution function unit; b) a main memory; and c) a cache memory coupled to said at least one execution function unit and said main memory for caching instructions and data, said cache memory comprising at least one cache array, at least one cache tag array, at least one cache miss buffer and at least one cache control logic, said cache memory satisfying an instruction/data request requesting an instruction/data that is part of a memory block frame of a cache fill in progress without having to wait for said cache fill in progress to complete.
Claim 21
Dependent Claim
179 words
The computer system as set forth in claim 17, wherein, said cache memory comprises: c.1) an instruction cache memory coupled to said at least one function unit and said main memory for caching instructions, said instruction cache memory comprising an instruction cache array, an instruction cache tag array, an instruction cache miss buffer and an instruction cache control logic, said instruction cache memory satisfying an instruction request requesting an instruction that is part of a memory block frame of a cache fill in progress without having to wait for said cache fill in progress to complete; and c.2) a data cache memory coupled to said at least one function unit and said main memory for caching data, said data cache memory comprising an data cache array, a data cache tag array, a data cache miss buffer and a data cache control logic, said data cache memory satisfying a data request requesting a data that is part of a memory block frame of a cache fill in progress without having to wait for said cache fill in progress to complete.