Delaying cache data array updates
    1.
    发明授权
    Delaying cache data array updates 有权
    延迟缓存数据阵列更新

    公开(公告)号:US09229866B2

    公开(公告)日:2016-01-05

    申请号:US14089014

    申请日:2013-11-25

    Applicant: Apple Inc.

    CPC classification number: G06F12/0811 G06F12/0842 G06F12/0857 G06F12/0888

    Abstract: Systems, methods, and apparatuses for reducing writes to the data array of a cache. A cache hierarchy includes one or more L1 caches and a L2 cache inclusive of the L2 cache(s). When a request from the L1 cache misses in the L2 cache, the L2 cache sends a fill request to memory. When the fill data returns from memory, the L2 cache delays writing the fill data to its data array. Instead, this cache line is written to the L1 cache and a clean-evict bit corresponding to the cache line is set in the L1 cache. When the L1 cache evicts this cache line, the L1 cache will write back the cache line to the L2 cache even if the cache line has not been modified.

    Abstract translation: 用于减少对缓存的数据阵列的写入的系统,方法和装置。 高速缓存层级包括一个或多个L1高速缓存和包括L2高速缓存的L2高速缓存。 当来自L1缓存的请求在L2高速缓存中丢失时,L2缓存向存储器发送填充请求。 当填充数据从存储器返回时,L2缓存延迟将填充数据写入其数据阵列。 相反,该缓存行被写入到L1高速缓存中,并且在高速缓存中设置与高速缓存行相对应的清除位。 当L1高速缓存驱逐此高速缓存行时,即使高速缓存行未被修改,L1高速缓存也将高速缓存行写回到L2高速缓存。

    SELECTIVE VICTIMIZATION IN A MULTI-LEVEL CACHE HIERARCHY
    2.
    发明申请
    SELECTIVE VICTIMIZATION IN A MULTI-LEVEL CACHE HIERARCHY 有权
    多层次高速缓存中的选择性维权

    公开(公告)号:US20150149721A1

    公开(公告)日:2015-05-28

    申请号:US14088980

    申请日:2013-11-25

    Applicant: Apple Inc.

    Abstract: Systems, methods, and apparatuses for implementing selective victimization to reduce power and utilized bandwidth in a multi-level cache hierarchy. Each set of an upper-level cache includes a counter that keeps track of the number of times the set was accessed. These counters are periodically decremented by another counter that tracks the total number of accesses to the cache. If a given set counter is below a certain threshold value, clean victims are dropped from this given set instead of being sent to a lower-level cache. Also, a separate counter is used to track the total number of outstanding requests for the cache as a proxy for bus-bandwidth in order to gauge the total amount of traffic in the system. The cache will implement selective victimization whenever there is a large amount of traffic in the system.

    Abstract translation: 用于实现选择性受害以在多级缓存层级中降低功率和利用带宽的系统,方法和装置。 每一组上级缓存包括一个计数器,用于跟踪该组被访问的次数。 这些计数器通过另一个计数器周期性递减,该计数器跟踪对高速缓存的总访问次数。 如果给定的设置计数器低于某个阈值,则清除的受害者将从该给定集合中删除,而不是发送到较低级别的缓存。 此外,使用单独的计数器来跟踪作为总线带宽的代理的缓存的未完成请求的总数,以便测量系统中的总流量。 当系统中存在大量流量时,缓存将实现选择性受害。

    CACHE POLICIES FOR UNCACHEABLE MEMORY REQUESTS
    3.
    发明申请
    CACHE POLICIES FOR UNCACHEABLE MEMORY REQUESTS 有权
    无法访问的内存请求的缓存策略

    公开(公告)号:US20140181403A1

    公开(公告)日:2014-06-26

    申请号:US13725066

    申请日:2012-12-21

    Applicant: APPLE INC.

    CPC classification number: G06F12/0811 G06F12/0815 G06F12/0888

    Abstract: Systems, processors, and methods for keeping uncacheable data coherent. A processor includes a multi-level cache hierarchy, and uncacheable load memory operations can be cached at any level of the cache hierarchy. If an uncacheable load misses in the L2 cache, then allocation of the uncacheable load will be restricted to a subset of the ways of the L2 cache. If an uncacheable store memory operation hits in the L1 cache, then the hit cache line can be updated with the data from the memory operation. If the uncacheable store misses in the L1 cache, then the uncacheable store is sent to a core interface unit.Multiple contiguous store misses are merged into larger blocks of data in the core interface unit before being sent to the L2 cache.

    Abstract translation: 用于保持不可缓存的数据一致的系统,处理器和方法。 处理器包括多级缓存层次结构,并且不可缓存的加载存储器操作可以在高速缓存层级的任何级别缓存。 如果L2缓存中存在不可缓存的加载错误,则不可缓存的加载的分配将被限制为L2高速缓存的一部分。 如果不可缓存的存储器操作命中在L1缓存中,则命中高速缓存行可以用来自存储器操作的数据来更新。 如果不可缓存的商店在L1缓存中丢失,则不可缓存的商店被发送到核心接口单元。 在发送到L2缓存之前,多个连续的存储器缺失在核心接口单元中被合并到更大的数据块中。

    Victim allocations in shared system cache

    公开(公告)号:US10963392B1

    公开(公告)日:2021-03-30

    申请号:US16048645

    申请日:2018-07-30

    Applicant: Apple Inc.

    Abstract: A system and method for efficiently handling data selected for eviction in a computing system. In various embodiments, a computing system includes one or more processors, a system memory, and a victim cache. The cache controller of a particular cache in a cache memory subsystem includes an allocator for determining whether to allocate data evicted from the particular cache into the victim cache. The data fetched into the first cache includes data fetched to service miss requests, which includes demand requests and prefetch requests. To determine whether to allocate, the allocator determines whether a usefulness of data fetched into the particular cache exceeds a threshold. If so, the evicted data is stored in the victim cache. If not, the evicted data bypasses the victim cache. Data determined to be accessed by a processor is deemed to be of a higher usefulness.

    Prefetching across page boundaries in hierarchically cached processors
    5.
    发明授权
    Prefetching across page boundaries in hierarchically cached processors 有权
    在分级缓存的处理器中预取页面边界

    公开(公告)号:US09047198B2

    公开(公告)日:2015-06-02

    申请号:US13689696

    申请日:2012-11-29

    Applicant: Apple Inc.

    Abstract: Processors and methods for preventing lower level prefetch units from stalling at page boundaries. An upper level prefetch unit closest to the processor core issues a preemptive request for a translation of the next page in a given prefetch stream. The upper level prefetch unit sends the translation to the lower level prefetch units prior to the lower level prefetch units reaching the end of the current page for the given prefetch stream. When the lower level prefetch units reach the boundary of the current page, instead of stopping, these prefetch units can continue to prefetch by jumping to the next physical page number provided in the translation.

    Abstract translation: 用于防止较低级别的预取单元在页面边界停止的处理器和方法。 最靠近处理器核心的高级预取单元在给定的预取流中发出对下一页的翻译的抢占请求。 在较低级预取单元到达给定预取流的当前页面的末尾之前,高级预取单元将转换发送到较低级预取单元。 当低级预取单元到达当前页面的边界而不是停止时,这些预取单元可以通过跳转到翻译中提供的下一个物理页码继续预取。

    Cache policies for uncacheable memory requests
    6.
    发明授权
    Cache policies for uncacheable memory requests 有权
    缓存不可缓存内存请求的策略

    公开(公告)号:US09043554B2

    公开(公告)日:2015-05-26

    申请号:US13725066

    申请日:2012-12-21

    Applicant: Apple Inc.

    CPC classification number: G06F12/0811 G06F12/0815 G06F12/0888

    Abstract: Systems, processors, and methods for keeping uncacheable data coherent. A processor includes a multi-level cache hierarchy, and uncacheable load memory operations can be cached at any level of the cache hierarchy. If an uncacheable load misses in the L2 cache, then allocation of the uncacheable load will be restricted to a subset of the ways of the L2 cache. If an uncacheable store memory operation hits in the L1 cache, then the hit cache line can be updated with the data from the memory operation. If the uncacheable store misses in the L1 cache, then the uncacheable store is sent to a core interface unit. Multiple contiguous store misses are merged into larger blocks of data in the core interface unit before being sent to the L2 cache.

    Abstract translation: 用于保持不可缓存的数据一致的系统,处理器和方法。 处理器包括多级缓存层次结构,并且不可缓存的加载存储器操作可以在高速缓存层级的任何级别缓存。 如果L2缓存中存在不可缓存的加载错误,则不可缓存的加载的分配将被限制为L2高速缓存的一部分。 如果不可缓存的存储器操作命中在L1缓存中,则命中高速缓存行可以用来自存储器操作的数据来更新。 如果不可缓存的商店在L1缓存中丢失,则不可缓存的商店被发送到核心接口单元。 在发送到L2缓存之前,多个连续的存储器缺失在核心接口单元中被合并到更大的数据块中。

    Selective victimization in a multi-level cache hierarchy
    7.
    发明授权
    Selective victimization in a multi-level cache hierarchy 有权
    多级缓存层次结构中的选择性受害

    公开(公告)号:US09298620B2

    公开(公告)日:2016-03-29

    申请号:US14088980

    申请日:2013-11-25

    Applicant: Apple Inc.

    Abstract: Systems, methods, and apparatuses for implementing selective victimization to reduce power and utilized bandwidth in a multi-level cache hierarchy. Each set of an upper-level cache includes a counter that keeps track of the number of times the set was accessed. These counters are periodically decremented by another counter that tracks the total number of accesses to the cache. If a given set counter is below a certain threshold value, clean victims are dropped from this given set instead of being sent to a lower-level cache. Also, a separate counter is used to track the total number of outstanding requests for the cache as a proxy for bus-bandwidth in order to gauge the total amount of traffic in the system. The cache will implement selective victimization whenever there is a large amount of traffic in the system.

    Abstract translation: 用于实现选择性受害以在多级缓存层级中降低功率和利用带宽的系统,方法和装置。 每一组上级缓存包括一个计数器,用于跟踪该组被访问的次数。 这些计数器通过另一个计数器周期性递减,该计数器跟踪对高速缓存的总访问次数。 如果给定的设置计数器低于某个阈值,则清除的受害者将从该给定集合中删除,而不是发送到较低级别的缓存。 此外,使用单独的计数器来跟踪作为总线带宽的代理的缓存的未完成请求的总数,以便测量系统中的总流量。 当系统中存在大量流量时,缓存将实现选择性受害。

    DELAYING CACHE DATA ARRAY UPDATES
    8.
    发明申请
    DELAYING CACHE DATA ARRAY UPDATES 有权
    延迟缓存数据阵列更新

    公开(公告)号:US20150149722A1

    公开(公告)日:2015-05-28

    申请号:US14089014

    申请日:2013-11-25

    Applicant: Apple Inc.

    CPC classification number: G06F12/0811 G06F12/0842 G06F12/0857 G06F12/0888

    Abstract: Systems, methods, and apparatuses for reducing writes to the data array of a cache. A cache hierarchy includes one or more L1 caches and a L2 cache inclusive of the L2 cache(s). When a request from the L1 cache misses in the L2 cache, the L2 cache sends a fill request to memory. When the fill data returns from memory, the L2 cache delays writing the fill data to its data array. Instead, this cache line is written to the L1 cache and a clean-evict bit corresponding to the cache line is set in the L1 cache. When the L1 cache evicts this cache line, the L1 cache will write back the cache line to the L2 cache even if the cache line has not been modified.

    Abstract translation: 用于减少对缓存的数据阵列的写入的系统,方法和装置。 高速缓存层级包括一个或多个L1高速缓存和包括L2高速缓存的L2高速缓存。 当来自L1缓存的请求在L2高速缓存中丢失时,L2缓存向存储器发送填充请求。 当填充数据从存储器返回时,L2缓存延迟将填充数据写入其数据阵列。 相反,该缓存行被写入到L1高速缓存中,并且在高速缓存中设置与高速缓存行相对应的清除位。 当L1高速缓存驱逐此高速缓存行时,即使高速缓存行未被修改,L1高速缓存也将高速缓存行写回到L2高速缓存。

    CACHE PRE-FETCH MERGE IN PENDING REQUEST BUFFER
    9.
    发明申请
    CACHE PRE-FETCH MERGE IN PENDING REQUEST BUFFER 有权
    缓存请求缓冲区中的高速缓存

    公开(公告)号:US20150019824A1

    公开(公告)日:2015-01-15

    申请号:US13940525

    申请日:2013-07-12

    Applicant: Apple Inc.

    Abstract: An apparatus for processing cache requests in a computing system is disclosed. The apparatus may include a pending request buffer and a control circuit. The pending request buffer may include a plurality of buffer entries. The control circuit may be coupled to the pending request buffer and may be configured to receive a request for a first cache line from a pre-fetch engine, and store the received request in an entry of the pending request buffer. The control circuit may be further configured to receive a request for a second cache line from a processor, and store the request received from the processor in the entry of the pending request buffer in response to a determination that the second cache line is the same as the first cache line.

    Abstract translation: 公开了一种用于处理计算系统中的缓存请求的装置。 该装置可以包括未决请求缓冲器和控制电路。 待决请求缓冲器可以包括多个缓冲器条目。 控制电路可以耦合到未决请求缓冲器,并且可以被配置为从预取引擎接收对第一高速缓存行的请求,并将接收到的请求存储在待处理请求缓冲器的条目中。 控制电路还可以被配置成从处理器接收对第二高速缓存线的请求,并且响应于确定第二高速缓存行与第二高速缓存行相同的存储将处理器接收到的请求存储在等待请求缓冲器的条目中 第一个缓存行。

    PREFETCHING ACROSS PAGE BOUNDARIES IN HIERARCHICALLY CACHED PROCESSORS
    10.
    发明申请
    PREFETCHING ACROSS PAGE BOUNDARIES IN HIERARCHICALLY CACHED PROCESSORS 有权
    在高性能缓存处理器中的跨页面边界的前缀

    公开(公告)号:US20140149632A1

    公开(公告)日:2014-05-29

    申请号:US13689696

    申请日:2012-11-29

    Applicant: APPLE INC.

    Abstract: Processors and methods for preventing lower level prefetch units from stalling at page boundaries. An upper level prefetch unit closest to the processor core issues a preemptive request for a translation of the next page in a given prefetch stream. The upper level prefetch unit sends the translation to the lower level prefetch units prior to the lower level prefetch units reaching the end of the current page for the given prefetch stream. When the lower level prefetch units reach the boundary of the current page, instead of stopping, these prefetch units can continue to prefetch by jumping to the next physical page number provided in the translation.

    Abstract translation: 用于防止较低级别的预取单元在页面边界停止的处理器和方法。 最靠近处理器核心的高级预取单元在给定的预取流中发出对下一页的翻译的抢占请求。 在较低级预取单元到达给定预取流的当前页面的末尾之前,高级预取单元将转换发送到较低级预取单元。 当低级预取单元到达当前页面的边界而不是停止时,这些预取单元可以通过跳转到翻译中提供的下一个物理页码继续预取。

Patent Agency Ranking