Bloom-based hit predictor
AssigneeAdvanced Micro Devices, Inc.
InventorsPatrick J. Shyvers, William L Walker
Life of this patent
Estimating the term…
Abstract
An implementation is a method for operating a cache memory in a computing system, receiving a request for a first data item from the cache memory of the computing system, the first data item having an associated tag value. The method also includes performing a lookup in a bloom filter for the tag value associated with the first data item. The method also includes performing a lookup in the cache memory for the requested first data item based on the lookup in the bloom filter. The method also includes updating the bloom filter based on results of the lookup in the cache memory for the requested first data item.
Claims20
A method for operating a cache memory in a computing system, the method comprising:
- receiving a request for a first data item from the cache memory of the computing system, the first data item having an associated tag value;
- performing a lookup in a Bloom filter for the tag value associated with the first data item;
- performing a lookup in the cache memory for the requested first data item based on the lookup in the Bloom filter;
- and
- updating the Bloom filter based on results of the lookup in the cache memory for the requested first data item, wherein updating the Bloom filter comprises sending multiple tag values from a plurality of cache ways in a set index accessed during the lookup to the Bloom filter.
An apparatus for operating a cache memory, the apparatus comprising:
- a cache controller in the cache memory, the cache memory comprising a set associative structure with a plurality of cache ways and a plurality of sets, each set comprises a cache block from each way;
- a hit prediction table in the cache memory, the hit prediction table comprising a Bloom filter, the hit prediction table being configured to:
- perform a lookup in the Bloom filter for a tag value associated with a first data item requested from the cache memory;
- and
- update the Bloom filter with results of a lookup in the cache memory for the requested first data item, wherein updating the Bloom filter comprises, during the lookup in the cache memory for the requested first data item, sending tag values from all the cache ways in a set index for the requested first data item to the Bloom filter.
A non-transitory computer-readable storage device storing instructions that, when executed by a computing system, cause the computing system to perform a method for operating a cache memory, the method comprising:
- receiving a request for a first data item from the cache memory of the computing system, the first data item having an associated tag value;
- performing a lookup in a Bloom filter for the tag value associated with the first data item;
- performing a lookup in the cache memory for the requested first data item based on the lookup in the Bloom filter;
- and
- updating the Bloom filter based on results of the lookup in the cache memory for the requested first data item, wherein updating the Bloom filter comprises, during the lookup in the cache memory for the requested first data item, sending tag values from all cache ways in a set index for the requested first data item to the Bloom filter.
Dependencies are inferred from the claim text.