JPWO2020028714A5 - - Google Patents
Download PDFInfo
- Publication number
- JPWO2020028714A5 JPWO2020028714A5 JP2021505657A JP2021505657A JPWO2020028714A5 JP WO2020028714 A5 JPWO2020028714 A5 JP WO2020028714A5 JP 2021505657 A JP2021505657 A JP 2021505657A JP 2021505657 A JP2021505657 A JP 2021505657A JP WO2020028714 A5 JPWO2020028714 A5 JP WO2020028714A5
- Authority
- JP
- Japan
- Prior art keywords
- group
- snoop filter
- cache lines
- cache
- snoop
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims 3
- 238000001914 filtration Methods 0.000 claims 2
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 230000002123 temporal effect Effects 0.000 claims 1
Description
一例では、回路構成が提供される。そのような回路構成は、相互接続回路と、相互接続回路に結合されたメモリと、相互接続回路に結合された複数のプロセッサ回路と、複数のプロセッサ回路にそれぞれ結合された複数のキャッシュ回路と、相互接続回路に結合され、メモリのアドレスの第1のサブセットの個々のキャッシュラインによってスヌープ要求をフィルタリングするように構成された、第1のスヌープフィルタと、相互接続回路に結合され、メモリのアドレスの第2のサブセットのキャッシュラインのグループによってスヌープ要求をフィルタリングするように構成された、第2のスヌープフィルタとを含んでいてもよく、各グループは複数のキャッシュラインを包含する。 In one example, a circuit configuration is provided. Such circuitry includes: an interconnect circuit; a memory coupled to the interconnect circuit; a plurality of processor circuits coupled to the interconnect circuit; a plurality of cache circuits each coupled to the plurality of processor circuits; a first snoop filter coupled to the interconnect circuitry and configured to filter snoop requests by individual cache lines of a first subset of addresses in the memory; and a second snoop filter configured to filter snoop requests by a second subset of groups of cache lines, each group containing a plurality of cache lines.
Claims (15)
相互接続回路と、
前記相互接続回路に結合されたメモリと、
前記相互接続回路に結合された複数のプロセッサ回路と、
前記複数のプロセッサ回路にそれぞれ結合された複数のキャッシュ回路と、
前記相互接続回路に結合され、前記メモリのアドレスの第1のサブセットの個々のキャッシュラインによってスヌープ要求をフィルタリングするように構成された、第1のスヌープフィルタと、
前記相互接続回路に結合され、前記メモリのアドレスの第2のサブセットのキャッシュラインのグループによってスヌープ要求をフィルタリングするように構成された、第2のスヌープフィルタとを含み、各グループは複数のキャッシュラインを包含する、回路構成。 A circuit configuration,
an interconnect circuit;
a memory coupled to the interconnect circuit;
a plurality of processor circuits coupled to the interconnect circuit;
a plurality of cache circuits respectively coupled to the plurality of processor circuits;
a first snoop filter coupled to the interconnect circuit and configured to filter snoop requests by individual cache lines of a first subset of addresses of the memory;
a second snoop filter coupled to said interconnect circuit and configured to filter snoop requests by groups of cache lines of a second subset of addresses of said memory, each group comprising a plurality of cache lines. A circuit configuration including
再割り当てのために選択された前記グループに属するキャッシュラインを判定し、
前記グループに属する前記キャッシュラインを前記第1のスヌープフィルタに再割り当てするように構成される、請求項2に記載の回路構成。 The control circuit further
determining cache lines belonging to the group selected for reassignment;
3. The circuit arrangement of claim 2, configured to reassign said cache lines belonging to said group to said first snoop filter.
前記第1のスヌープフィルタからの第1のキャッシュラインを、前記第2のスヌープフィルタによってフィルタリングされる第1のグループに再割り当てし、
前記第1のグループに属する、前記第1のスヌープフィルタによってフィルタリングされるキャッシュラインを判定し、
前記第1のグループに属する前記キャッシュラインのキャッシュライン状態を、グループ状態に集約し、
前記グループ状態を、前記第1のグループのタグと関連付けて格納し、
前記第1のスヌープフィルタから、前記第1のグループにおける前記キャッシュラインを除去するように構成される、請求項2~6のいずれか1項に記載の回路構成。 The control circuit further
reassigning a first cache line from the first snoop filter to a first group filtered by the second snoop filter;
determining cache lines filtered by the first snoop filter that belong to the first group;
Aggregating the cache line states of the cache lines belonging to the first group into a group state;
storing the group state in association with the tag of the first group;
A circuit arrangement as claimed in any one of claims 2 to 6, arranged to remove the cache lines in the first group from the first snoop filter.
前記第1のスヌープフィルタからの第1のキャッシュラインを、前記第2のスヌープフィルタによってフィルタリングされる第1のグループに再割り当てし、
前記第1のスヌープフィルタのディレクトリがいっぱいであることに応答して、前記第1のスヌープフィルタからの前記第1のキャッシュラインを、前記第2のスヌープフィルタによってフィルタリングされる前記第1のグループに再割り当てするように構成される、請求項2~6のいずれか1項に記載の回路構成。 The control circuit further
reassigning a first cache line from the first snoop filter to a first group filtered by the second snoop filter;
responsive to the directory of the first snoop filter being full, directing the first cache line from the first snoop filter to the first group filtered by the second snoop filter; A circuit arrangement according to any one of claims 2 to 6, arranged for reassignment.
前記第1のスヌープフィルタからの第1のキャッシュラインを、前記第2のスヌープフィルタによってフィルタリングされる第1のグループに再割り当てし、
前記第1のスヌープフィルタから前記第2のスヌープフィルタによってフィルタリングされる前記第1のグループに再割り当てされるべき前記第1のキャッシュラインを、前記第1のキャッシュラインが最も長い間使用されていないことに基づいて選択するように構成される、請求項2~6のいずれか1項に記載の回路構成。 The control circuit further
reassigning a first cache line from the first snoop filter to a first group filtered by the second snoop filter;
selecting the first cache line to be reassigned from the first snoop filter to the first group filtered by the second snoop filter, wherein the first cache line has been least recently used; A circuit arrangement as claimed in any one of claims 2 to 6, arranged to select based on.
前記第2のスヌープフィルタは、キャッシュラインのグループにそれぞれ関連付けられた複数のグループタグの格納のために構成された第2のメモリを含み、各グループタグは、複数のキャッシュラインにマッピングする、請求項1~6のいずれか1項に記載の回路構成。 the first snoop filter includes a first memory configured for storage of multiple cache line tags for individual cache lines;
The second snoop filter includes a second memory configured for storing a plurality of group tags each associated with a group of cache lines, each group tag mapping to a plurality of cache lines. 7. The circuit configuration according to any one of items 1 to 6.
前記第2のスヌープフィルタによってフィルタリングされるキャッシュラインの第1のグループの所有者カウントを判定し、
前記第1のグループの前記所有者カウントが1に等しく、かつ、前記第1のグループのアクセスカウントがゼロよりも大きいことに応答して、前記第2のスヌープフィルタからのキャッシュラインの前記第1のグループのキャッシュラインを、前記第1のスヌープフィルタに再割り当てするように構成される、請求項2に記載の回路構成。 The control circuit further
determining an owner count for a first group of cache lines filtered by the second snoop filter;
the first cache line from the second snoop filter in response to the owner count of the first group being equal to one and the access count of the first group being greater than zero; 3. The circuit arrangement of claim 2, configured to reassign cache lines of groups of .
第1のスヌープフィルタが、前記メモリのアドレスの第1のサブセットの個々のキャッシュラインによってスヌープ要求をフィルタリングするステップと、
第2のスヌープフィルタが、前記メモリのアドレスの第2のサブセットのキャッシュラインのグループによってスヌープ要求をフィルタリングするステップとを含み、各グループは複数のキャッシュラインを包含する、方法。 caching cache lines of memory in cache circuitry of multiple processors;
a first snoop filter filtering snoop requests by individual cache lines of a first subset of addresses of said memory;
a second snoop filter filtering snoop requests by groups of cache lines of a second subset of addresses of said memory, each group containing multiple cache lines.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/053,488 | 2018-08-02 | ||
US16/053,488 US10761985B2 (en) | 2018-08-02 | 2018-08-02 | Hybrid precise and imprecise cache snoop filtering |
PCT/US2019/044742 WO2020028714A1 (en) | 2018-08-02 | 2019-08-01 | Hybrid precise and imprecise cache snoop filtering |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021533464A JP2021533464A (en) | 2021-12-02 |
JPWO2020028714A5 true JPWO2020028714A5 (en) | 2022-08-02 |
JP7383007B2 JP7383007B2 (en) | 2023-11-17 |
Family
ID=67659995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021505657A Active JP7383007B2 (en) | 2018-08-02 | 2019-08-01 | Hybrid precision and non-precision cache snoop filtering |
Country Status (6)
Country | Link |
---|---|
US (1) | US10761985B2 (en) |
EP (1) | EP3830699B1 (en) |
JP (1) | JP7383007B2 (en) |
KR (1) | KR20210035226A (en) |
CN (1) | CN112513825B (en) |
WO (1) | WO2020028714A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11099991B2 (en) | 2019-01-24 | 2021-08-24 | Vmware, Inc. | Programming interfaces for accurate dirty data tracking |
US11068400B2 (en) * | 2019-01-24 | 2021-07-20 | Vmware, Inc. | Failure-atomic logging for persistent memory systems with cache-coherent FPGAs |
US10817455B1 (en) * | 2019-04-10 | 2020-10-27 | Xilinx, Inc. | Peripheral I/O device with assignable I/O and coherent domains |
US10817462B1 (en) | 2019-04-26 | 2020-10-27 | Xilinx, Inc. | Machine learning model updates to ML accelerators |
US11586369B2 (en) | 2019-05-29 | 2023-02-21 | Xilinx, Inc. | Hybrid hardware-software coherent framework |
US11074208B1 (en) | 2019-07-24 | 2021-07-27 | Xilinx, Inc. | Routing network using global address map with adaptive main memory expansion for a plurality of home agents |
US11474871B1 (en) | 2019-09-25 | 2022-10-18 | Xilinx, Inc. | Cache coherent acceleration function virtualization |
US11556344B2 (en) | 2020-09-28 | 2023-01-17 | Xilinx, Inc. | Hardware coherent computational expansion memory |
US11567870B2 (en) * | 2021-03-29 | 2023-01-31 | Arm Limited | Snoop filter with imprecise encoding |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6959364B2 (en) * | 2002-06-28 | 2005-10-25 | Intel Corporation | Partially inclusive snoop filter |
US7636815B1 (en) | 2003-04-09 | 2009-12-22 | Klaiber Alexander C | System and method for handling direct memory accesses |
US7380071B2 (en) * | 2005-03-29 | 2008-05-27 | International Business Machines Corporation | Snoop filtering system in a multiprocessor system |
US7392351B2 (en) * | 2005-03-29 | 2008-06-24 | International Business Machines Corporation | Method and apparatus for filtering snoop requests using stream registers |
JP2008310414A (en) | 2007-06-12 | 2008-12-25 | Hitachi Ltd | Computer system |
US8015365B2 (en) * | 2008-05-30 | 2011-09-06 | Intel Corporation | Reducing back invalidation transactions from a snoop filter |
US8856456B2 (en) * | 2011-06-09 | 2014-10-07 | Apple Inc. | Systems, methods, and devices for cache block coherence |
US8812786B2 (en) * | 2011-10-18 | 2014-08-19 | Advanced Micro Devices, Inc. | Dual-granularity state tracking for directory-based cache coherence |
US20140095806A1 (en) * | 2012-09-29 | 2014-04-03 | Carlos A. Flores Fajardo | Configurable snoop filter architecture |
JP6272011B2 (en) | 2013-12-24 | 2018-01-31 | Necプラットフォームズ株式会社 | Cache device, computer including cache device, and cache control method |
GB2522057B (en) * | 2014-01-13 | 2021-02-24 | Advanced Risc Mach Ltd | A data processing system and method for handling multiple transactions |
US9817760B2 (en) * | 2016-03-07 | 2017-11-14 | Qualcomm Incorporated | Self-healing coarse-grained snoop filter |
US9990292B2 (en) * | 2016-06-29 | 2018-06-05 | Arm Limited | Progressive fine to coarse grain snoop filter |
US20190073304A1 (en) * | 2017-09-07 | 2019-03-07 | Alibaba Group Holding Limited | Counting cache snoop filter based on a bloom filter |
-
2018
- 2018-08-02 US US16/053,488 patent/US10761985B2/en active Active
-
2019
- 2019-08-01 CN CN201980051648.2A patent/CN112513825B/en active Active
- 2019-08-01 WO PCT/US2019/044742 patent/WO2020028714A1/en unknown
- 2019-08-01 EP EP19753558.6A patent/EP3830699B1/en active Active
- 2019-08-01 JP JP2021505657A patent/JP7383007B2/en active Active
- 2019-08-01 KR KR1020217004749A patent/KR20210035226A/en active Search and Examination
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210042238A1 (en) | Memory management for a hierarchical memory system | |
TWI536258B (en) | Method and apparatus for adaptive granularity row-buffer caching, and memory apparatus | |
US20070073974A1 (en) | Eviction algorithm for inclusive lower level cache based upon state of higher level cache | |
US9361236B2 (en) | Handling write requests for a data array | |
CN1307561C (en) | Multi-level cache having overlapping congruence groups of associativity sets in different cache levels | |
KR100978156B1 (en) | Method, apparatus, system and computer readable recording medium for line swapping scheme to reduce back invalidations in a snoop filter | |
US9575893B2 (en) | Snoop filter for multi-processor system and related snoop filtering method | |
EP0557050A1 (en) | Apparatus and method for executing processes in a multiprocessor system | |
US20080098178A1 (en) | Data storage on a switching system coupling multiple processors of a computer system | |
CN107315694B (en) | Cache consistency management method and node controller | |
JPWO2020028714A5 (en) | ||
US11360891B2 (en) | Adaptive cache reconfiguration via clustering | |
US20170168942A1 (en) | Technologies for managing cache memory in a distributed shared memory compute system | |
US20160085691A1 (en) | Regulating memory activation rates | |
US20130031327A1 (en) | System and method for allocating cache memory | |
CN103729309B (en) | A kind of catalogue Cache coherence methods | |
US20240103876A1 (en) | Direct swap caching with zero line optimizations | |
EP4200708A1 (en) | Scalable region-based directory | |
JP2016522915A (en) | Shared memory system | |
CN107526528B (en) | Mechanism for realizing on-chip low-delay memory | |
US10579519B2 (en) | Interleaved access of memory | |
JPS6154547A (en) | Data processing system with 3-level hierarchical memory | |
US10691625B2 (en) | Converged memory device and operation method thereof | |
US20200301844A1 (en) | Cache memory, memory system including the same and operating method thereof | |
KR20180044451A (en) | Memory system and method of wear-leveling for the same |