System and method for handling cache updates
AssigneeAmpere Computing LLC
InventorsBenjamin Crawford Chaffin, Jonathan Christopher Perry, Thomas Paul Schwabel
Life of this patent
Estimating the term…
Abstract
A method of controlling a cache memory is disclosed. In an aspect, the method comprises receiving two or more store requests, wherein each store request is associated with a respective data unit for storage in the cache memory; and concurrently storing the respective data units associated with the two or more store requests to a given cache line of the cache memory in a single cache update operation based on determining that the respective data units associated with the two or more store requests are designated for storage in the given cache line.
Claims20
A method of controlling a cache memory, comprising:
- receiving a first store request;
- storing a first store request entry corresponding to the first store request in a store buffer;
- determining whether a threshold number of store request entries have been stored in the store buffer within a threshold time after receiving the first store request;
- executing the first store request by storing a respective data unit associated with the first store request to a cache line of the cache memory in a cache update operation selected by cache-controller execution logic based on determining that the threshold number of store request entries have not been stored in the store buffer within the threshold time;
- based on determining that the threshold number of store request entries have been stored in the store buffer within the threshold time, determining whether two or more store request entries of the threshold number of store request entries are designated for storage in a same cache line;
- determining that respective data units associated with the two or more store request entries satisfy a condition permitting concurrent storage in a single cache update operation;
- concurrently storing the respective data units associated with the two or more store requests to the same cache line of the cache memory in a single cache update operation selected by cache-controller execution logic based on determining that the two or more store requests are designated for storage in the same cache line and satisfy the condition permitting concurrent storage in a single cache update operation;
- and
- storing the respective data units associated with the two or more store requests in separate cache update operations based on determining that none of the two or more store requests are designated for storage in the same cache line or fail to satisfy the condition permitting concurrent storage in a single cache update operation.
A processing unit, comprising:
- a processor core;
- cache memory;
- and
- a cache memory controller, wherein the cache memory controller is configured to
- receive a first store request;
- store a first store request entry corresponding to the first store request in a store buffer;
- determine whether a threshold number of store request entries have been stored in the store buffer within a threshold time after receiving the first store request;
- execute the first store request by storing a respective data unit associated with the first store request to a cache line of the cache memory in a cache update operation selected by cache-controller execution logic based on determining that the threshold number of store request entries have not been stored in the store buffer within the threshold time;
- based on determining that the threshold number of store request entries have been stored in the store buffer within the threshold time, determine whether two or more store request entries are designated for storage in a same cache line;
- determine that respective data units associated with the two or more store request entries satisfy a condition permitting concurrent storage in a single cache update operation;
- concurrently store the respective data units associated with the two or more store requests to the same cache line of the cache memory in a single cache update operation selected by cache-controller execution logic based on determining that the two or more store requests are designated for storage in the same cache line and satisfy the condition permitting concurrent storage in a single cache update operation;
- and
- storing the respective data units associated with the two or more store requests in separate cache update operations based on determining that none of the two or more store requests are designated for storage in the same cache line or fail to satisfy the condition permitting concurrent storage in a single cache update operation.
Dependencies are inferred from the claim text.