JP6630449B2 - 他のキャッシュでのエントリの可用性に基づくキャッシュエントリの置換 - Google Patents
他のキャッシュでのエントリの可用性に基づくキャッシュエントリの置換 Download PDFInfo
- Publication number
- JP6630449B2 JP6630449B2 JP2018555745A JP2018555745A JP6630449B2 JP 6630449 B2 JP6630449 B2 JP 6630449B2 JP 2018555745 A JP2018555745 A JP 2018555745A JP 2018555745 A JP2018555745 A JP 2018555745A JP 6630449 B2 JP6630449 B2 JP 6630449B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- entry
- data
- controller
- response
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 5
- 238000006467 substitution reaction Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Human Computer Interaction (AREA)
Description
Claims (16)
- 処理システムにおいて、
第1データを、前記処理システムの第1キャッシュのエントリから前記処理システムの第2キャッシュのエントリに転送することと、
前記処理システムにおいて、前記第1データを前記第1キャッシュのエントリから前記第2キャッシュのエントリに転送することに応じて、前記第1キャッシュのエントリの有効ステータスを無効状態に設定することと、
前記処理システムにおいて、前記第1キャッシュのエントリの有効ステータスが無効状態を示すことに応じて、前記第2キャッシュにおいて置換のための第2データを選択することと、
置換のための前記第2データを選択したことに応じて、前記第2データを前記第2キャッシュから前記第1キャッシュに転送することと、を含む、
方法。 - 前記第1データを前記第1キャッシュのエントリから前記第2キャッシュのエントリに転送した後に、前記第2キャッシュにおいて受信したメモリアクセス要求に応じて、前記第2キャッシュにおいて置換のための前記第2データを選択することをさらに含む、
請求項1の方法。 - 前記第2キャッシュのキャッシュコントローラにおいて前記第1キャッシュのエントリの有効ステータスを記憶することであって、前記第2データを選択することは、記憶された有効ステータスに基づいて前記第2データを選択することを含む、ことをさらに含む、
請求項1の方法。 - データが前記第1キャッシュのエントリに記憶されたという指示に応じて、記憶された有効ステータスを更新することをさらに含む、
請求項3の方法。 - 前記第2キャッシュにおいて置換のための前記第2データを選択することは、前記第2キャッシュのエントリのエイジ値に基づいている、
請求項1の方法。 - 第1データを前記第2キャッシュのエントリから第3キャッシュに転送することと、
前記第2キャッシュのエントリの有効ステータスに関係なく、前記第3キャッシュにおける置換のためのデータを選択することと、をさらに含む、
請求項1の方法。 - 処理システムの第1キャッシュに関連する第1キャッシュコントローラにおいて、第2キャッシュのエントリの有効ステータスを追跡することと、
前記処理システムにおいて、前記第1キャッシュコントローラによって追跡された前記第2キャッシュのエントリの有効ステータスが無効データを示すことに応じて、前記第1キャッシュコントローラによるエビクションのためのデータを前記第1キャッシュから選択することと、
前記データが前記第2キャッシュのエントリに記憶されていることを識別したことに応じて、前記第1キャッシュから前記データを選択することと、を含む、
方法。 - データが前記第2キャッシュのエントリから前記第1キャッシュに転送される場合に、前記第2キャッシュのエントリの有効ステータスが無効であると識別することをさらに含む、
請求項7の方法。 - エビクションのために選択されたデータを前記第1キャッシュから前記第2キャッシュに転送することをさらに含む、
請求項7の方法。 - エビクションのためのデータを前記第1キャッシュから選択することは、前記第1キャッシュにおける前記データのエイジ値に部分的に基づいている、
請求項7の方法。 - 第1キャッシュと、
第2キャッシュと、
第1キャッシュコントローラと、を備え、
前記第1キャッシュコントローラは、
第1データを、前記第1キャッシュのエントリから前記第2キャッシュのエントリに転送することに応じて、前記第1キャッシュのエントリの有効ステータスを無効状態に設定することと、
前記第1キャッシュのエントリの有効ステータスが無効状態を示すことに応じて、前記第2キャッシュにおいて置換のための第2データを選択することと、
置換のために選択された前記第2データを前記第2キャッシュから前記第1キャッシュに転送することと、
を行うように構成されている、
プロセッサ。 - 前記第1キャッシュコントローラは、
前記第1データを前記第1キャッシュのエントリから前記第2キャッシュのエントリに転送した後に、前記第2キャッシュにおいて受信したメモリアクセス要求に応じて、前記第2キャッシュにおいて置換のための前記第2データを選択すること、
を行うようにさらに構成されている、
請求項11のプロセッサ。 - 前記第1キャッシュコントローラは、
前記第1キャッシュのエントリの有効ステータスを記憶することと、
前記記憶された有効ステータスに基づいて前記第2データを選択することと、
を行うようにさらに構成されている、
請求項12のプロセッサ。 - 前記第1キャッシュコントローラは、
データが前記第1キャッシュのエントリに記憶されたという指示に応じて、記憶された有効ステータスを更新することを行うようにさらに構成されている、
請求項13のプロセッサ。 - 前記第1キャッシュコントローラは、
前記第2キャッシュのエントリのエイジ値に基づいて、置換のための前記第2データを選択することを行うようにさらに構成されている、
請求項11のプロセッサ。 - 第3キャッシュと、第2キャッシュコントローラと、をさらに備え、
前記第1キャッシュコントローラは、前記第1データを前記第2キャッシュのエントリから前記第3キャッシュのエントリに転送するように構成されており、
前記第2キャッシュコントローラは、前記第3キャッシュにおいて置換のためのデータを選択するように構成されている、
請求項11のプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/180,807 | 2016-06-13 | ||
US15/180,807 US10152425B2 (en) | 2016-06-13 | 2016-06-13 | Cache entry replacement based on availability of entries at another cache |
PCT/US2016/051661 WO2017218022A1 (en) | 2016-06-13 | 2016-09-14 | Cache entry replacement based on availability of entries at another cache |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019517689A JP2019517689A (ja) | 2019-06-24 |
JP2019517689A5 JP2019517689A5 (ja) | 2019-10-10 |
JP6630449B2 true JP6630449B2 (ja) | 2020-01-15 |
Family
ID=60572796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018555745A Active JP6630449B2 (ja) | 2016-06-13 | 2016-09-14 | 他のキャッシュでのエントリの可用性に基づくキャッシュエントリの置換 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10152425B2 (ja) |
EP (1) | EP3433743B1 (ja) |
JP (1) | JP6630449B2 (ja) |
KR (1) | KR102453192B1 (ja) |
CN (1) | CN109154912B (ja) |
WO (1) | WO2017218022A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10268558B2 (en) * | 2017-01-13 | 2019-04-23 | Microsoft Technology Licensing, Llc | Efficient breakpoint detection via caches |
US10528519B2 (en) * | 2017-05-02 | 2020-01-07 | Mellanox Technologies Ltd. | Computing in parallel processing environments |
US10534710B2 (en) * | 2018-06-22 | 2020-01-14 | Intel Corporation | Non-volatile memory aware caching policies |
US10740220B2 (en) | 2018-06-27 | 2020-08-11 | Microsoft Technology Licensing, Llc | Cache-based trace replay breakpoints using reserved tag field bits |
US10970222B2 (en) * | 2019-02-28 | 2021-04-06 | Micron Technology, Inc. | Eviction of a cache line based on a modification of a sector of the cache line |
US20220374431A1 (en) * | 2021-05-21 | 2022-11-24 | Oracle International Corporation | Techniques for a deterministic distributed cache to accelerate sql queries |
US11886342B2 (en) * | 2021-12-01 | 2024-01-30 | International Business Machines Corporation | Augmenting cache replacement operations |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0745941B1 (en) | 1995-06-02 | 2003-08-06 | Sun Microsystems, Inc. | A system and method for providing a flexible memory hierarchy |
US20070186045A1 (en) * | 2004-07-23 | 2007-08-09 | Shannon Christopher J | Cache eviction technique for inclusive cache systems |
US8214601B2 (en) * | 2004-07-30 | 2012-07-03 | Hewlett-Packard Development Company, L.P. | Purging without write-back of cache lines containing spent data |
US20060155934A1 (en) * | 2005-01-11 | 2006-07-13 | Ramakrishnan Rajamony | System and method for reducing unnecessary cache operations |
US20070094450A1 (en) * | 2005-10-26 | 2007-04-26 | International Business Machines Corporation | Multi-level cache architecture having a selective victim cache |
US7774549B2 (en) * | 2006-10-11 | 2010-08-10 | Mips Technologies, Inc. | Horizontally-shared cache victims in multiple core processors |
US9058272B1 (en) * | 2008-04-25 | 2015-06-16 | Marvell International Ltd. | Method and apparatus having a snoop filter decoupled from an associated cache and a buffer for replacement line addresses |
US8782348B2 (en) | 2008-09-09 | 2014-07-15 | Via Technologies, Inc. | Microprocessor cache line evict array |
US8949540B2 (en) | 2009-03-11 | 2015-02-03 | International Business Machines Corporation | Lateral castout (LCO) of victim cache line in data-invalid state |
US8285936B2 (en) | 2009-10-20 | 2012-10-09 | The Regents Of The University Of Michigan | Cache memory with power saving state |
US8667222B2 (en) | 2011-04-01 | 2014-03-04 | Intel Corporation | Bypass and insertion algorithms for exclusive last-level caches |
US9176879B2 (en) | 2013-07-19 | 2015-11-03 | Apple Inc. | Least recently used mechanism for cache line eviction from a cache memory |
US20160055100A1 (en) * | 2014-08-19 | 2016-02-25 | Advanced Micro Devices, Inc. | System and method for reverse inclusion in multilevel cache hierarchy |
US9990289B2 (en) * | 2014-09-19 | 2018-06-05 | Advanced Micro Devices, Inc. | System and method for repurposing dead cache blocks |
US9836399B2 (en) * | 2015-03-27 | 2017-12-05 | Intel Corporation | Mechanism to avoid hot-L1/cold-L2 events in an inclusive L2 cache using L1 presence bits for victim selection bias |
-
2016
- 2016-06-13 US US15/180,807 patent/US10152425B2/en active Active
- 2016-09-14 WO PCT/US2016/051661 patent/WO2017218022A1/en active Application Filing
- 2016-09-14 JP JP2018555745A patent/JP6630449B2/ja active Active
- 2016-09-14 EP EP16905671.0A patent/EP3433743B1/en active Active
- 2016-09-14 CN CN201680086077.2A patent/CN109154912B/zh active Active
- 2016-09-14 KR KR1020187035192A patent/KR102453192B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20170357446A1 (en) | 2017-12-14 |
US10152425B2 (en) | 2018-12-11 |
JP2019517689A (ja) | 2019-06-24 |
CN109154912B (zh) | 2024-01-12 |
EP3433743A4 (en) | 2019-11-06 |
EP3433743A1 (en) | 2019-01-30 |
KR102453192B1 (ko) | 2022-10-11 |
KR20190008269A (ko) | 2019-01-23 |
EP3433743B1 (en) | 2023-02-15 |
WO2017218022A1 (en) | 2017-12-21 |
CN109154912A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6630449B2 (ja) | 他のキャッシュでのエントリの可用性に基づくキャッシュエントリの置換 | |
US8745334B2 (en) | Sectored cache replacement algorithm for reducing memory writebacks | |
US7380065B2 (en) | Performance of a cache by detecting cache lines that have been reused | |
US9928176B2 (en) | Selecting cache transfer policy for prefetched data based on cache test regions | |
US8364904B2 (en) | Horizontal cache persistence in a multi-compute node, symmetric multiprocessing computer | |
US20210173789A1 (en) | System and method for storing cache location information for cache entry transfer | |
US20180113815A1 (en) | Cache entry replacement based on penalty of memory access | |
US11526449B2 (en) | Limited propagation of unnecessary memory updates | |
US10922230B2 (en) | System and method for identifying pendency of a memory access request at a cache entry | |
EP3724774B1 (en) | Rinsing cache lines from a common memory page to memory | |
US20170357585A1 (en) | Setting cache entry age based on hints from another cache level |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190829 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190829 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190829 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190902 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6630449 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |