-
公开(公告)号:US20240168887A1
公开(公告)日:2024-05-23
申请号:US18422584
申请日:2024-01-25
Applicant: Apple Inc.
Inventor: Tyler J. Huberty , Vivek Venkatraman , Sandeep Gupta , Eric J. Furbish , Srinivasa Rangan Sridharan , Stephen G. Meier
IPC: G06F12/0891 , G06F9/38 , G06F12/02 , G06F12/0831 , G06F12/0862 , G06F12/126
CPC classification number: G06F12/0891 , G06F9/3877 , G06F12/0292 , G06F12/0833 , G06F12/0862 , G06F12/126 , G06F2212/1021
Abstract: A cache may store critical cache lines and non-critical cache lines, and may attempt to retain critical cache lines in the cache by, for example, favoring the critical cache lines in replacement data updates. Multiple levels of criticality may be available for a given cache line and cache circuitry may adjust the criticality value of in response to a criticality event. One or more upper criticality levels may be masked when selecting a victim cache line for replacement.
-
公开(公告)号:US11822480B2
公开(公告)日:2023-11-21
申请号:US17727020
申请日:2022-04-22
Applicant: Apple Inc.
Inventor: Tyler J. Huberty , Vivek Venkatraman , Sandeep Gupta , Eric J. Furbish , Srinivasa Rangan Sridharan , Stephan G. Meier
IPC: G06F12/0891 , G06F12/0862 , G06F9/38 , G06F12/126 , G06F12/02 , G06F12/0831
CPC classification number: G06F12/0891 , G06F9/3877 , G06F12/0292 , G06F12/0833 , G06F12/0862 , G06F12/126 , G06F2212/1021
Abstract: A cache may store critical cache lines and non-critical cache lines, and may attempt to retain critical cache lines in the cache by, for example, favoring the critical cache lines in replacement data updates, retaining the critical cache lines with a certain probability when victim cache blocks are being selected, etc. Criticality values may be retained at various levels of the cache hierarchy. Additionally, accelerated eviction may be employed if the threads previously accessing the critical cache blocks are viewed as dead.
-
公开(公告)号:US12222875B1
公开(公告)日:2025-02-11
申请号:US18361169
申请日:2023-07-28
Applicant: Apple Inc.
Inventor: Tyler J. Huberty , Henry A. Pellerin , Daniel A. Jimenez
IPC: G06F12/123
Abstract: A cache memory supports a plurality of insertion/promotion vectors (IPVs) and a replacement control circuit configured to update replacement data for the cache memory based on the plurality of IPVs. In one embodiment, the IPV is selected for a given request based a criticality status of a cache line accessed by the given request. For example, cache lines deemed important or critical for performance reasons may be replaced less frequently via a first IPV, while non-critical cache lines are replaced more frequently via a second IPV.
-
公开(公告)号:US20210303471A1
公开(公告)日:2021-09-30
申请号:US16832893
申请日:2020-03-27
Applicant: Apple Inc.
Inventor: Stephan G. Meier , Tyler J. Huberty , Nikhil Gupta
IPC: G06F12/0862
Abstract: In an embodiment, a processor includes a plurality of prefetch circuits configured to prefetch data into a data cache. A primary prefetch circuit may be configured to generate first prefetch requests in response to a demand access, and may be configured to invoke a second prefetch circuit in response to the demand access. The second prefetch circuit may implement a different prefetch mechanism than the first prefetch circuit. If the second prefetch circuit reaches a threshold confidence level in prefetching for the demand access, the second prefetch circuit may communicate an indication to the primary prefetch circuit. The primary prefetch circuit may reduce a number of prefetch requests generated for the demand access responsive to the communication from the second prefetch circuit.
-
公开(公告)号:US10180905B1
公开(公告)日:2019-01-15
申请号:US15093213
申请日:2016-04-07
Applicant: Apple Inc.
IPC: G06F12/00 , G06F12/08 , G06F12/0862 , G06F12/0811
Abstract: In an embodiment, a processor may implement an access map-pattern match (AMPM)-based prefetch circuit for a multi-level cache system. The access patterns that are matched to the access maps may include prefetches for different cache levels. Centralizing the generation of prefetches into one prefetch circuit may provide better observability and controllability of prefetching at various levels of the cache hierarchy, in an embodiment. Prefetches at different levels may be controlled individually based on the accuracy of those prefetches, in an embodiment. Additionally, in an embodiment, access patterns that are longer that a given threshold may have the granularity of the prefetches change so that more data is prefetched and the prefetches occur farther in advance, in some embodiments.
-
公开(公告)号:US20180307862A1
公开(公告)日:2018-10-25
申请号:US15679031
申请日:2017-08-16
Applicant: Apple Inc.
Inventor: Jeremie S. Kim , Minesh H. Patel , Stephan G. Meier , Tyler J. Huberty , Onur Mutlu
Abstract: Techniques are disclosed for obtaining data using memory timing characteristics. In some embodiments, a physical unclonable function is used to obtain the data. In various embodiments, a computer system programs a timing parameter of a memory accessible by the computer system to a value that is outside of a specified operable range for the timing parameter. In various embodiments, the computer system performs one or more memory operations to a least a portion of the memory and detects a pattern of errors in the portion of the memory. In some embodiments, the computer system generates a response dependent on the pattern of errors. The response may be used to identify the computer system.
-
公开(公告)号:US12235769B2
公开(公告)日:2025-02-25
申请号:US18422584
申请日:2024-01-25
Applicant: Apple Inc.
Inventor: Tyler J. Huberty , Vivek Venkatraman , Sandeep Gupta , Eric J. Furbish , Srinivasa Rangan Sridharan , Stephen G. Meier
IPC: G06F12/08 , G06F9/38 , G06F12/02 , G06F12/0831 , G06F12/0862 , G06F12/0891 , G06F12/12 , G06F12/126
Abstract: A cache may store critical cache lines and non-critical cache lines, and may attempt to retain critical cache lines in the cache by, for example, favoring the critical cache lines in replacement data updates. Multiple levels of criticality may be available for a given cache line and cache circuitry may adjust the criticality value of in response to a criticality event. One or more upper criticality levels may be masked when selecting a victim cache line for replacement.
-
公开(公告)号:US20230060225A1
公开(公告)日:2023-03-02
申请号:US17727031
申请日:2022-04-22
Applicant: Apple Inc.
Inventor: Tyler J. Huberty , Vivek Venkatraman , Sandeep Gupta , Eric J. Furbish , Srinivasa Rangan Sridharan , Stephan G. Meier
IPC: G06F12/0891 , G06F12/0862 , G06F12/126 , G06F9/38
Abstract: A cache may store critical cache lines and non-critical cache lines, and may attempt to retain critical cache lines in the cache by, for example, favoring the critical cache lines in replacement data updates, retaining the critical cache lines with a certain probability when victim cache blocks are being selected, etc. Criticality values may be retained at various levels of the cache hierarchy. Additionally, accelerated eviction may be employed if the threads previously accessing the critical cache blocks are viewed as dead.
-
公开(公告)号:US20220083343A1
公开(公告)日:2022-03-17
申请号:US17532072
申请日:2021-11-22
Applicant: Apple Inc.
Inventor: Aditya Kesiraju , Andrew J. Beaumont-Smith , Brian P. Lilly , James Vash , Jason M. Kassoff , Krishna C. Potnuru , Rajdeep L. Bhuyar , Ran A. Chachick , Tyler J. Huberty , Derek R. Kumar
Abstract: A system may include a plurality of processors and a coprocessor. A plurality of coprocessor context priority registers corresponding to a plurality of contexts supported by the coprocessor may be included. The plurality of processors may use the plurality of contexts, and may program the coprocessor context priority register corresponding to a context with a value specifying a priority of the context relative to other contexts. An arbiter may arbitrate among instructions issued by the plurality of processors based on the priorities in the plurality of coprocessor context priority registers. In one embodiment, real-time threads may be assigned higher priorities than bulk processing tasks, improving bandwidth allocated to the real-time threads as compared to the bulk tasks.
-
公开(公告)号:US10331567B1
公开(公告)日:2019-06-25
申请号:US15435910
申请日:2017-02-17
Applicant: Apple Inc.
Inventor: Stephan G. Meier , Tyler J. Huberty , Nikhil Gupta , Francesco Spadini , Gideon Levinsky
IPC: G06F12/08 , G06F12/0862 , G06F12/12
Abstract: A prefetch circuit may include a memory, each entry of which may store an address and other prefetch data used to generate prefetch requests. For each entry, there may be at least one “quality factor” (QF) that may control prefetch request generation for that entry. A global quality factor (GQF) may control generation of prefetch requests across the plurality of entries. The prefetch circuit may include one or more additional prefetch mechanisms. For example, a stride-based prefetch circuit may be included that may generate prefetch requests for strided access patterns having strides larger than a certain stride size. Another example is a spatial memory streaming (SMS)-based mechanism in which prefetch data from multiple evictions from the memory in the prefetch circuit is captured and used for SMS prefetching based on how well the prefetch data appears to match a spatial memory streaming pattern.
-
-
-
-
-
-
-
-
-