US20120072702A1

Prefetcher with arbitrary downstream prefetch cancelation

Claim Score by NHIP

Read claim 13, the broadest

Abstract

A prefetch cancelation arbiter improves access to a shared memory resource by arbitrarily canceling speculative prefetches. The prefetch cancelation arbiter applies a set of arbitrary policies to speculative prefetches to select one or more of the received speculative prefetches to cancel. The selected speculative prefetches are canceled and a cancelation notification of each canceled speculative prefetch is sent to a higher-level memory component such as a prefetch unit or a local memory arbiter that is local to the processor associated with the canceled speculative prefetch. The set of arbitrary policies is used to reduce memory accesses to the shared memory resource.

US20120072702A1, drawing sheet 1
Sheet 1 of 6

Term

7.5 yearsto projected expiry

Projected expiry 28 March 2034, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

20 claims: 3 independent, 17 dependent

  1. 1
    A method for arbitrary cancelation of speculative prefetches in a processor system, comprising:receiving a first set of memory commands from a first requestor that is a first processor or a first cache that is local to the first processor, wherein the first cache is associated with a first prefetch unit for generating speculative prefetches for the first cache;evaluating each received memory command to identify whether the received memory command is a speculative prefetch;applying a first set of arbitrary policies to the speculative prefetches received from the first set of memory commands to select one or more of the received speculative prefetches to cancel, wherein the first set of arbitrary policies is arranged to reduce memory accesses to a shared memory that is memory resource that is at a lower-level hierarchy than the first requestor;and canceling the selected speculative prefetches and sending a cancelation notification of each canceled speculative prefetch to a first higher-level memory component that is local to the first processor.
  2. 13
    Broadest claimClaim Score 43, average(NHIP)A digital system, comprising:a shared memory system for storing and retrieving data;a first prefetch unit for generating speculative prefetches for a first cache that is local to a first processor, wherein the first prefetch unit is arranged to receive a first set of memory commands from a first requestor that is the first processor or the first cache;a central memory arbiter that is arranged to receive and evaluate memory commands from the first prefetch unit to identify whether the received memory command is a speculative prefetch from the first prefetch unit, to apply a first set of arbitrary policies to the identified speculative prefetches to select one or more of the received speculative prefetches to cancel, wherein the first set of arbitrary policies is arranged to reduce memory accesses to the shared memory that is memory resource that is at a lower-level hierarchy than the first requestor;and to cancel the selected speculative prefetches by sending a cancelation notification of each canceled speculative prefetch to a first higher-level memory component that is local to the first processor.
  3. 18
    An arbitration system for arbitrary cancelation of speculative prefetches in a multiprocessor system, comprising:a shared memory system for storing and retrieving data;a first prefetch unit for generating speculative prefetches for a first cache that is local to a first processor, wherein the first prefetch unit is arranged to receive a first set of memory commands from a first requestor that is the first processor or the first cache;a second prefetch unit for generating speculative prefetches for a second cache that is local to a second processor, wherein the second prefetch unit is arranged to receive a second set of memory commands from a second requestor that is the second processor or the second cache;a central memory arbiter that is arranged to evaluate speculative prefetches from the first and second prefetch units by applying a set of arbitrary policies to the speculative prefetches, to select one or more of the received speculative prefetches to cancel in response to the evaluation, and to cancel the selected speculative prefetches by sending a cancelation notification of each canceled speculative prefetch to a higher-level memory component that is local to the respective first or second processor.