Filtering of redundently scheduled write passes
First Claim
1. A method of improving access to a cache by a processing unit, the method comprising:
- storing one or more previous requests to access data from a cache;
retrieving a current request to access data from the cache in a read pass that will execute in a stream of instructions, the stream of instructions including one or more read passes, followed by one or more write passes;
determining whether the current request is seeking the same data from the cache as at least one of the one or more previous requests in a lower level cache, the current request seeking the same data as at least one of the one or more previous requests if each is seeking a same logical address of a translation look aside buffer containing a list of resource entries available in the cache, and, if the current request does not seek the same data as at least one of the one or more previous requests, terminating execution;
determining whether the at least one of the one or more previous requests seeking the same data from the cache was successful in arbitrating access to a processing unit when seeking access, at least one of the one or more previous requests successful in arbitrating access to the processing unit if the processing unit is not blocked by another thread, a load/store unit is not accessing the processing unit simultaneously, or another concurrent read/write blocked access to the processing unit, and, if none of the previous requests seeking the same data from the cache was successful, terminating execution;
determining whether at least one previous cache write access followed the previous requests seeking the same data; and
suppressing a next cache write access in a write pass in the stream of instructions if the at least one of the one or more previous requests seeking the same data was successful in arbitrating access to the processing unit, the next cache write access preventing concurrent read accesses if not suppressed.
1 Assignment
0 Petitions
Accused Products
Abstract
Improving access to a cache by a processing unit. One or more previous requests to access data from a cache are stored. A current request to access data from the cache is retrieved. A determination is made whether the current request is seeking the same data from the cache as at least one of the one or more previous requests. A further determination is made whether the at least one of the one or more previous requests seeking the same data was successful in arbitrating access to a processing unit when seeking access. A next cache write access is suppressed if the at least one of previous requests seeking the same data was successful in arbitrating access to the processing unit.
-
Citations
1 Claim
-
1. A method of improving access to a cache by a processing unit, the method comprising:
-
storing one or more previous requests to access data from a cache; retrieving a current request to access data from the cache in a read pass that will execute in a stream of instructions, the stream of instructions including one or more read passes, followed by one or more write passes; determining whether the current request is seeking the same data from the cache as at least one of the one or more previous requests in a lower level cache, the current request seeking the same data as at least one of the one or more previous requests if each is seeking a same logical address of a translation look aside buffer containing a list of resource entries available in the cache, and, if the current request does not seek the same data as at least one of the one or more previous requests, terminating execution; determining whether the at least one of the one or more previous requests seeking the same data from the cache was successful in arbitrating access to a processing unit when seeking access, at least one of the one or more previous requests successful in arbitrating access to the processing unit if the processing unit is not blocked by another thread, a load/store unit is not accessing the processing unit simultaneously, or another concurrent read/write blocked access to the processing unit, and, if none of the previous requests seeking the same data from the cache was successful, terminating execution; determining whether at least one previous cache write access followed the previous requests seeking the same data; and suppressing a next cache write access in a write pass in the stream of instructions if the at least one of the one or more previous requests seeking the same data was successful in arbitrating access to the processing unit, the next cache write access preventing concurrent read accesses if not suppressed.
-
Specification