Multiple load miss handling in a cache memory system
First Claim
1. A cache system, comprising:
- a cache memory configured for coupling to a load/store unit of a central processing unit;
a buffer unit coupled to said cache memory, wherein the buffer unit comprises a plurality of data buffers, each of the data buffers associated with a corresponding address tag;
an operation queue comprising a plurality of entries, wherein each valid operation queue entry points to an entry in the buffer unit;
wherein the cache system is configured to initiate a data fetch transaction and allocate an entry in the buffer unit in response to a central processing unit load operation that misses in both the cache memory and the buffer unit, and wherein the cache system is further configured to allocate entries in the operation queue in response to subsequent central processing unit load operations related to the initial load operation that miss in the cache memory but hit in the buffer unit prior to satisfaction of the data fetch.
23 Assignments
0 Petitions
Accused Products
Abstract
A cache memory system including a cache memory configured for coupling to a load/store unit of a CPU, a buffer unit coupled to said cache memory, and an operation queue comprising a plurality of entries, wherein each valid operation queue entry points to an entry in the buffer unit. The buffer unit includes a plurality of data buffers and each of the data buffers is associated with a corresponding address tag. The system is configured to initiate a data fetch transaction and allocate an entry in the buffer unit in response to a CPU load operation that misses in both the cache memory and the buffer unit. The cache system is further configured to allocate entries in the operation queue in response to subsequent CPU load operations that miss in the cache memory but hit in the buffer unit prior to completion of the data fetch. Preferably, the system is configured to store the fetched data in the buffer unit entry upon satisfaction of said data fetch and still further configured to satisfy pending load operations in the operation queue from the buffer unit entry. In the preferred embodiment, the system is configured to reload the. cache memory from the buffer unit entry upon satisfying all operation queue entries pointing to the buffer unit entry and, thereafter, to invalidate the buffer unit entry and the operation queue entries. The buffer unit entries preferably each include data valid bits indicative of which portions of data stored in a buffer unit entry are valid.
85 Citations
20 Claims
-
1. A cache system, comprising:
-
a cache memory configured for coupling to a load/store unit of a central processing unit;
a buffer unit coupled to said cache memory, wherein the buffer unit comprises a plurality of data buffers, each of the data buffers associated with a corresponding address tag;
an operation queue comprising a plurality of entries, wherein each valid operation queue entry points to an entry in the buffer unit;
wherein the cache system is configured to initiate a data fetch transaction and allocate an entry in the buffer unit in response to a central processing unit load operation that misses in both the cache memory and the buffer unit, and wherein the cache system is further configured to allocate entries in the operation queue in response to subsequent central processing unit load operations related to the initial load operation that miss in the cache memory but hit in the buffer unit prior to satisfaction of the data fetch. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of managing a cache memory system, comprising:
-
initiating a data fetch and allocating an entry in a buffer unit in response to a first central processing unit load operation that misses in both a cache memory and the buffer unit;
allocating entries in an operation queue in response to at least one subsequent central processing unit load operation related to the initial load operation that misses in the cache memory but hits in the buffer unit prior to completion of the data fetch, wherein the operation queue entries point to the corresponding buffer unit entry;
upon completion of the data fetch, loading the fetched data in the buffer unit entry and satisfying the subsequent load operations from the buffer unit entry. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer system, comprising:
-
a central processing unit;
a cache memory coupled to a load/store unit of the central processing unit;
a buffer unit coupled to said cache memory, wherein the buffer unit comprises a plurality of data buffers, each of the data buffers associated with a corresponding address tag;
an operation queue comprising a plurality of entries, wherein each valid operation queue entry points to an entry in the buffer unit; and
wherein the cache system is configured to initiate a data fetch and allocate an entry in the buffer unit in response to a central processing unit load operation that misses in both the cache memory and the buffer unit, and wherein the cache system is further configured to allocate entries in the operation queue in response to subsequent central processing unit load operations related to the initial load operation that miss in the cache memory but hit in the buffer unit prior to satisfaction of the data fetch. - View Dependent Claims (19, 20)
-
Specification