发明名称 Access map-pattern match based prefetch unit for a processor
摘要 In an embodiment, a processor may implement an access map-pattern match (AMPM)-based prefetcher in which patterns may include wild cards for some cache blocks. The wild card may match any access for the corresponding cache block (e.g. no access, demand access, prefetch, successful prefetch, etc.). Furthermore, patterns with irregular strides and/or irregular access patterns may be included in the matching patterns and may be detected for prefetch generation. In an embodiment, the AMPM prefetcher may implement a chained access map for large streaming prefetches. If a stream is detected, the AMPM prefetcher may allocate a pair of map entries for the stream and may reuse the pair for subsequent access map regions within the stream. In some embodiments, a quality factor may be associated with each access map and may control the rate of prefetch generation.
申请公布号 US9015422(B2) 申请公布日期 2015.04.21
申请号 US201313942780 申请日期 2013.07.16
申请人 Apple Inc. 发明人 Meier Stephan G.;Williams, III Gerard R.;Kannan Hari S.;Konas Pavlos
分类号 G06F12/08 主分类号 G06F12/08
代理机构 Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C. 代理人 Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C. ;Merkel Lawrence J.
主权项 1. A prefetch unit comprising: a first memory configured to store a plurality of addresses and a corresponding plurality of access maps, wherein each access map of the plurality of access maps records accesses to a plurality of cache blocks within a defined region associated with a corresponding address of the plurality of addresses, wherein the first memory is configured to output a given access map of the plurality of access maps responsive to an access to a data cache at an access address within the defined region associated with a given address of the plurality of addresses; a second memory configured to store a plurality of access patterns to be compared to the given access map, wherein at least a first access pattern of the plurality of access patterns includes at least one wild card symbol that is defined to match any access at the corresponding cache block in the given access map; and a control circuit configured to generate one or more prefetch requests responsive to the given access map matching the first access pattern, including matching any access at the corresponding cache block to the wild card symbol.
地址 Cupertino CA US