Patents by Inventor Paul James Moyer

Paul James Moyer has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10152425
    Abstract: A processing system selects entries for eviction at one cache based at least in part on the validity status of corresponding entries at a different cache. The processing system includes a memory hierarchy having at least two caches, a higher level cache and a lower level cache. The lower level cache monitors which locations of the higher level cache have been indicated as invalid and, when selecting an entry of the lower level cache for eviction to the higher level cache, selects the entry based at least in part on whether the selected cache entry will be stored at an invalid cache line of the higher level cache.
    Type: Grant
    Filed: June 13, 2016
    Date of Patent: December 11, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Paul James Moyer
  • Patent number: 9928176
    Abstract: A processor applies a transfer policy to a portion of a cache based on access metrics for different test regions of the cache, wherein each test region applies a different transfer policy for data in cache entries that were stored in response to a prefetch requests but were not the subject of demand requests. One test region applies a transfer policy under which unused prefetches are transferred to a higher level cache in a cache hierarchy upon eviction from the test region of the cache. The other test region applies a transfer policy under which unused prefetches are replaced without being transferred to a higher level cache (or are transferred to the higher level cache but stored as invalid data) upon eviction from the test region of the cache.
    Type: Grant
    Filed: July 20, 2016
    Date of Patent: March 27, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Paul James Moyer
  • Publication number: 20180024934
    Abstract: A processor includes an operations scheduler to schedule execution of operations at, for example, a set of execution units or a cache of the processor. The operations scheduler periodically adds sets of operations to a tracking array, and further identifies when an operation in the tracked set is blocked from execution scheduling in response to, for example, identifying that the operation is dependent on another operation that has not completed execution. The processor further includes a counter that is adjusted each time an operation in the tracking array is blocked from execution, and is reset each time an operation in the tracking array is executed. When the value of the counter exceeds a threshold, the operations scheduler prioritizes the remaining tracked operations for execution scheduling.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventors: Paul James Moyer, Richard Martin Born
  • Publication number: 20180024931
    Abstract: A processor applies a transfer policy to a portion of a cache based on access metrics for different test regions of the cache, wherein each test region applies a different transfer policy for data in cache entries that were stored in response to a prefetch requests but were not the subject of demand requests. One test region applies a transfer policy under which unused prefetches are transferred to a higher level cache in a cache hierarchy upon eviction from the test region of the cache. The other test region applies a transfer policy under which unused prefetches are replaced without being transferred to a higher level cache (or are transferred to the higher level cache but stored as invalid data) upon eviction from the test region of the cache.
    Type: Application
    Filed: July 20, 2016
    Publication date: January 25, 2018
    Inventor: Paul James Moyer
  • Publication number: 20180018264
    Abstract: A processing system indicates the pendency of a memory access request for data at the cache entry that is assigned to store the data in response to the memory access request. While executing instructions, the processor issues requests for data to the cache most proximal to the processor. In response to a cache miss, the cache controller identifies an entry of the cache to store the data in response to the memory access request, and stores an indication that the memory access request is pending at the identified cache entry. If the cache controller receives a subsequent memory access request for the data while the memory access request is pending at the higher level of the memory hierarchy, the cache controller identifies that the memory access request is pending based on the indicator stored at the entry.
    Type: Application
    Filed: July 15, 2016
    Publication date: January 18, 2018
    Inventor: Paul James Moyer
  • Publication number: 20180018271
    Abstract: A cache stores, along with data that is being transferred from a higher level cache to a lower level cache, information indicating the higher level cache location from which the data was transferred. Upon receiving a request for data that is stored at the location in the higher level cache, a cache controller stores the higher level cache location information in a status tag of the data. The cache controller then transfers the data with the status tag indicating the higher level cache location to a lower level cache. When the data is subsequently updated or evicted from the lower level cache, the cache controller reads the status tag location information and transfers the data back to the location in the higher level cache from which it was originally transferred.
    Type: Application
    Filed: July 14, 2016
    Publication date: January 18, 2018
    Inventor: Paul James Moyer
  • Publication number: 20170357446
    Abstract: A processing system selects entries for eviction at one cache based at least in part on the validity status of corresponding entries at a different cache. The processing system includes a memory hierarchy having at least two caches, a higher level cache and a lower level cache. The lower level cache monitors which locations of the higher level cache have been indicated as invalid and, when selecting an entry of the lower level cache for eviction to the higher level cache, selects the entry based at least in part on whether the selected cache entry will be stored at an invalid cache line of the higher level cache.
    Type: Application
    Filed: June 13, 2016
    Publication date: December 14, 2017
    Inventor: Paul James Moyer
  • Publication number: 20170357585
    Abstract: A processor replaces data at a first cache based on hints from a second cache, wherein the hints indicate information about the data that is not available to the first cache directly. When data at an entry is transferred from the first cache to the second cache, the first cache can provide an age hint to the second cache to indicate that the data should be assigned a higher or lower initial age relative to a nominal initial age. The second cache assigns the entry for the data an initial age based on the age hint and, when replacing data, selects data for replacement based on the age of each entry.
    Type: Application
    Filed: June 13, 2016
    Publication date: December 14, 2017
    Inventors: Paul James Moyer, William Louie Walker, Sriram Srinivasan
  • Publication number: 20170357596
    Abstract: A first cache that includes a plurality of cache lines and is inclusive of a second cache. The plurality of cache lines are associated with a plurality of N-bit values. The first cache modifies each N-bit value in response to a hit at the corresponding one of the plurality of cache lines. The first cache bypasses eviction of a first cache line in response to the N-bit value associated with the first cache line having a first value and the first cache line being included in the second cache. The first cache evicts a second cache line in response to the N-bit value associated with the second cache line having a second value and the second cache line not being included in the second cache.
    Type: Application
    Filed: June 13, 2016
    Publication date: December 14, 2017
    Inventor: Paul James Moyer
  • Publication number: 20170357588
    Abstract: A processing system includes a cache that includes a cache lines that are partitioned into a first subset of the cache lines and a second subsets of the cache lines. The processing system also includes one or more counters that are associated with the second subsets of the cache lines. The processing system further includes a processor configured to modify the one or more counters in response to a cache hit or a cache miss associated with the second subsets. The one or more counters are modified by an amount determined by one or more characteristics of a memory access request that generated the cache hit or the cache miss.
    Type: Application
    Filed: June 13, 2016
    Publication date: December 14, 2017
    Inventor: Paul James Moyer
  • Patent number: 7237166
    Abstract: A system and method for evaluating a multiprocessor system having multiple processors coupled via a system bus is disclosed. A test vector is executed on a processor under test. While the test vector is being executed, an instruction that causes a transaction to be issued on the system bus is executed on another processor, thereby stressing the first processor.
    Type: Grant
    Filed: October 23, 2002
    Date of Patent: June 26, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christopher Todd Weller, Paul James Moyer
  • Publication number: 20040083415
    Abstract: A system and method for evaluating a multiprocessor system having multiple processors coupled via a system bus is disclosed. A test vector is executed on a processor under test. While the test vector is being executed, an instruction that causes a transaction to be issued on the system bus is executed on another processor, thereby stressing the first processor.
    Type: Application
    Filed: October 23, 2002
    Publication date: April 29, 2004
    Inventors: Christopher Todd Weller, Paul James Moyer