JP2019517690A - キャッシュ置換ポリシーのスケーリングされたセットデュエリング - Google Patents
キャッシュ置換ポリシーのスケーリングされたセットデュエリング Download PDFInfo
- Publication number
- JP2019517690A JP2019517690A JP2018555911A JP2018555911A JP2019517690A JP 2019517690 A JP2019517690 A JP 2019517690A JP 2018555911 A JP2018555911 A JP 2018555911A JP 2018555911 A JP2018555911 A JP 2018555911A JP 2019517690 A JP2019517690 A JP 2019517690A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- subset
- counter
- response
- hit
- 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
- 230000004044 response Effects 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims description 42
- 238000012545 processing Methods 0.000 abstract description 59
- 238000010586 diagram Methods 0.000 description 14
- 230000008901 benefit Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008685 targeting Effects 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/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
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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
-
- 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/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- 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/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- 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/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- 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
- G06F2212/1021—Hit rate 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/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/28—Using a specific disk cache architecture
- G06F2212/281—Single cache
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- 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/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
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)
Abstract
Description
Claims (16)
- キャッシュライン(315)の第1サブセット(320)と、前記キャッシュラインの第2サブセットと、に分割される、前記キャッシュラインを含むキャッシュ(310)と、
前記キャッシュラインの前記第2サブセット(325)に関連する少なくとも1つのカウンタ(330)と、
前記第2サブセットに関連するキャッシュヒット又はキャッシュミスのうち少なくとも1つに応じて前記少なくとも1つのカウンタを修正するように構成されたプロセッサ(305)であって、前記少なくとも1つのカウンタは、前記キャッシュヒット又は前記キャッシュミスのうち少なくとも1つを発生させたメモリアクセス要求の少なくとも1つの特性に基づく量だけ修正される、プロセッサ(305)と、を備える、
装置(100,300)。 - 前記メモリアクセス要求の少なくとも1つの特性は、前記キャッシュミスに関連する前記メモリアクセス要求のタイプ又はレイテンシのうち少なくとも1つを含む、
請求項1の装置。 - 前記プロセッサは、
前記第2サブセットの第1部分に対するキャッシュヒットに応じて前記少なくとも1つのカウンタをインクリメントし、前記第2サブセットの第2部分に対するキャッシュヒットに応じて前記少なくとも1つのカウンタをデクリメントするように構成されている、
請求項1の装置。 - 前記プロセッサは、
前記第2サブセットの前記第1部分に対するキャッシュヒットを発生させたメモリアクセス要求の投機度に基づいて決定された量だけ前記少なくとも1つのカウンタをインクリメントし、
前記第2サブセットの前記第2部分に対するキャッシュヒットを発生させたメモリアクセス要求の投機度に基づいて決定された量だけ前記少なくとも1つのカウンタをデクリメントする、
ように構成されている、
請求項3の装置。 - 前記プロセッサは、
前記第2サブセットの第1部分に関連するキャッシュミスに応じて前記少なくとも1つのカウンタをデクリメントし、
前記第2サブセットの第2部分に関連するキャッシュミスに応じて前記少なくとも1つのカウンタをインクリメントする、
ように構成されている、
請求項1の装置。 - 前記プロセッサは、
前記第2サブセットの前記第1部分に関連するキャッシュミスに関するレイテンシに基づいて決定された量だけ前記少なくとも1つのカウンタをデクリメントし、
前記第2サブセットの前記第2部分に関連するキャッシュミスに関するレイテンシに基づいて決定された量だけ前記少なくとも1つのカウンタをインクリメントする、
ように構成されている、
請求項5の装置。 - 前記プロセッサは、
帯域幅消費を示すフィードバックに基づく帯域幅制限動作を検出したことに応じて、前記第2サブセットの前記第1部分に関連する全てのキャッシュミスに対して同じ量だけ前記少なくとも1つのカウンタをデクリメントし、
前記帯域幅制限動作を検出したことに応じて、前記第2サブセットの前記第2部分に関連する全てのキャッシュミスに対して同じ量だけ前記少なくとも1つのカウンタをインクリメントする、
ように構成されている、
請求項6の装置。 - 前記第2サブセットは、対応する複数のキャッシュ置換ポリシーを使用しており、
前記プロセッサは、
前記少なくとも1つのカウンタの少なくとも1つの値に基づいて、前記複数のキャッシュ置換ポリシーのうち1つのキャッシュ置換ポリシーを選択し、
前記複数のキャッシュ置換ポリシーのうち選択されたキャッシュ置換ポリシーを使用するように、前記第1サブセットを構成する、
ように構成されている、
請求項1の装置。 - キャッシュ(310)を、キャッシュライン(315)の第1サブセット(320)と、前記キャッシュラインの第2サブセット(325)と、に分割することと、
前記第2サブセットに関連するキャッシュヒット又はキャッシュミスのうち少なくとも1つを検出することと、
前記キャッシュヒット又は前記キャッシュミスのうち少なくとも1つに応じて、前記キャッシュラインの前記第2サブセットに関連する少なくとも1つのカウンタ(330)を修正することであって、前記少なくとも1つのカウンタは、前記キャッシュヒット及び前記キャッシュミスのうち少なくとも1つを発生させたメモリアクセス要求の少なくとも1つの特性によって決定された量だけ修正される、ことと、を含む、
方法。 - 前記メモリアクセス要求の少なくとも1つの特性は、前記キャッシュミスに関連するメモリアクセス要求のタイプ又はレイテンシのうち少なくとも1つを含む、
請求項9の方法。 - 前記少なくとも1つのカウンタを修正することは、
前記第2サブセットの第1部分に対するキャッシュヒットに応じて前記少なくとも1つのカウンタをインクリメントすることと、
前記第2サブセットの第2部分に対するキャッシュヒットに応じて前記少なくとも1つのカウンタをデクリメントすることと、を含む、
請求項9の方法。 - 前記少なくとも1つのカウンタをインクリメントすることは、前記第2サブセットの前記第1部分に対するキャッシュヒットを発生させたメモリアクセス要求の投機度に基づいて決定された量だけ前記少なくとも1つのカウンタをインクリメントすることを含み、
前記少なくとも1つのカウンタをデクリメントすることは、前記第2サブセットの前記第2部分に対するキャッシュヒットを発生させたメモリアクセス要求の投機度に基づいて決定された量だけ前記少なくとも1つのカウンタをデクリメントすることを含む、
請求項11の方法。 - 前記少なくとも1つのカウンタを修正することは、
前記第2サブセットの第1部分に関連するキャッシュミスに応じて前記少なくとも1つのカウンタをデクリメントすることと、
前記第2サブセットの第2部分に関連するキャッシュミスに応じて前記少なくとも1つのカウンタをインクリメントすることと、を含む、
請求項9の方法。 - 前記少なくとも1つのカウンタをデクリメントすることは、前記第2サブセットの前記第1部分に関連するキャッシュミスに関するレイテンシに基づいて決定された量だけ前記少なくとも1つのカウンタをデクリメントすることを含み、
前記少なくとも1つのカウンタをインクリメントすることは、前記第2サブセットの前記第2部分に関連するキャッシュミスに関するレイテンシに基づいて決定された量だけ前記少なくとも1つのカウンタをインクリメントすることを含む、
請求項13の方法。 - 前記第2サブセットは、対応する複数のキャッシュ置換ポリシーを使用しており、
前記少なくとも1つのカウンタの少なくとも1つの値に基づいて、前記複数のキャッシュ置換ポリシーのうち1つのキャッシュ置換ポリシーを選択することと、
前記複数のキャッシュ置換ポリシーのうち選択されたキャッシュ置換ポリシーを使用するように、前記第1サブセットを構成することと、を含む、
請求項9の方法。 - メモリ(115,120)と、
前記メモリからの情報を記憶するために、第1サブセット(320)と第2サブセット(325)とに分割されるキャッシュライン(315)を含むキャッシュ(300)と、
前記第2サブセットに関連する少なくとも1つのカウンタ(330)と、
前記メモリ又は前記キャッシュのうち少なくとも1つの動作が帯域幅制限されるかどうかを示すフィードバックに基づいて、前記キャッシュのキャッシュ置換ポリシーを決定するために、セットデュエリングを選択的に有効化又は無効化するように構成されたプロセッサ(110,305)であって、前記セットデュエリングは、前記少なくとも1つのカウンタに基づいて、前記第1サブセット及び前記第2サブセットの各々によって実施されるキャッシュ置換ポリシーを第1キャッシュ置換ポリシー及び第2キャッシュ置換ポリシーの中から選択する、プロセッサ(110,305)と、を備える、
装置(100,300)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/180,995 US10430349B2 (en) | 2016-06-13 | 2016-06-13 | Scaled set dueling for cache replacement policies |
US15/180,995 | 2016-06-13 | ||
PCT/US2016/052605 WO2017218026A1 (en) | 2016-06-13 | 2016-09-20 | Scaled set dueling for cache replacement policies |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019517690A true JP2019517690A (ja) | 2019-06-24 |
JP6752292B2 JP6752292B2 (ja) | 2020-09-09 |
Family
ID=60572771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018555911A Active JP6752292B2 (ja) | 2016-06-13 | 2016-09-20 | キャッシュ置換ポリシーのスケーリングされたセットデュエリング |
Country Status (6)
Country | Link |
---|---|
US (1) | US10430349B2 (ja) |
EP (1) | EP3433745B1 (ja) |
JP (1) | JP6752292B2 (ja) |
KR (1) | KR102357246B1 (ja) |
CN (1) | CN109313610B (ja) |
WO (1) | WO2017218026A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021510886A (ja) * | 2018-03-20 | 2021-04-30 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | プリフェッチャベースの投機的ダイナミックランダムアクセスメモリ読み出し要求技術 |
JP2023500590A (ja) * | 2019-10-31 | 2023-01-10 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュアクセス測定デスキュー |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10229161B2 (en) | 2013-09-20 | 2019-03-12 | Oracle International Corporation | Automatic caching of scan and random access data in computing systems |
US10853267B2 (en) * | 2016-06-14 | 2020-12-01 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Adaptive method for selecting a cache line replacement algorithm in a direct-mapped cache |
US10331573B2 (en) * | 2016-11-04 | 2019-06-25 | Oracle International Corporation | Detection of avoidable cache thrashing for OLTP and DW workloads |
US11182306B2 (en) * | 2016-11-23 | 2021-11-23 | Advanced Micro Devices, Inc. | Dynamic application of software data caching hints based on cache test regions |
US10409728B2 (en) * | 2017-05-09 | 2019-09-10 | Futurewei Technologies, Inc. | File access predication using counter based eviction policies at the file and page level |
US10983922B2 (en) * | 2018-05-18 | 2021-04-20 | International Business Machines Corporation | Selecting one of multiple cache eviction algorithms to use to evict a track from the cache using a machine learning module |
US10810126B2 (en) * | 2018-09-24 | 2020-10-20 | Arm Limited | Cache storage techniques |
US11106600B2 (en) * | 2019-01-24 | 2021-08-31 | Advanced Micro Devices, Inc. | Cache replacement based on translation lookaside buffer evictions |
US10725923B1 (en) * | 2019-02-05 | 2020-07-28 | Arm Limited | Cache access detection and prediction |
US11693790B2 (en) | 2019-05-24 | 2023-07-04 | Texas Instmments Incorporated | Methods and apparatus to facilitate write miss caching in cache system |
US11561895B2 (en) | 2019-09-05 | 2023-01-24 | Advanced Micro Devices, Inc. | Oldest operation wait time indication input into set-dueling |
CN112860600A (zh) * | 2019-11-28 | 2021-05-28 | 深圳市海思半导体有限公司 | 一种加速硬件页表遍历的方法及装置 |
CN111143244B (zh) * | 2019-12-30 | 2022-11-15 | 海光信息技术股份有限公司 | 计算机设备的内存访问方法和计算机设备 |
KR20210097345A (ko) | 2020-01-30 | 2021-08-09 | 삼성전자주식회사 | 캐시 메모리 장치, 이를 포함하는 시스템 및 캐시 메모리 장치의 동작 방법 |
US11704250B2 (en) * | 2021-09-28 | 2023-07-18 | Advanced Micro Devices, Inc. | Using request class and reuse recording in one cache for insertion policies of another cache |
US12099451B2 (en) * | 2021-09-29 | 2024-09-24 | Advanced Micro Devices, Inc. | Re-reference interval prediction (RRIP) with pseudo-LRU supplemental age information |
US11768778B2 (en) * | 2021-09-30 | 2023-09-26 | Advanced Micro Devices, Inc. | Re-reference indicator for re-reference interval prediction cache replacement policy |
US11886354B1 (en) | 2022-05-20 | 2024-01-30 | Apple Inc. | Cache thrash detection |
US12056058B2 (en) * | 2022-06-27 | 2024-08-06 | Arm Limited | Cache replacement control |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030970A1 (en) * | 2008-08-01 | 2010-02-04 | International Business Machines Corporation | Adaptive Spill-Receive Mechanism for Lateral Caches |
WO2010116735A1 (ja) * | 2009-04-10 | 2010-10-14 | パナソニック株式会社 | キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路 |
US20130151778A1 (en) * | 2011-12-09 | 2013-06-13 | International Business Machines Corporation | Dynamic Inclusive Policy in a Hybrid Cache Hierarchy Using Bandwidth |
WO2015153855A1 (en) * | 2014-04-04 | 2015-10-08 | Qualcomm Incorporated | Adaptive cache prefetching based on competing dedicated prefetch policies in dedicated cache sets to reduce cache pollution |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4206569C2 (de) * | 1992-03-02 | 1994-12-22 | Siemens Ag | Verfahren zur Ermittlung von Verdrängungs-Misses bei einem von einer Reihenfolge von Programmteilen gebildeten Programm |
US6510493B1 (en) | 1999-07-15 | 2003-01-21 | International Business Machines Corporation | Method and apparatus for managing cache line replacement within a computer system |
JP4072665B2 (ja) * | 2000-05-22 | 2008-04-09 | 富士ゼロックス株式会社 | 画像処理装置及びキャッシュメモリ |
US7133971B2 (en) | 2003-11-21 | 2006-11-07 | International Business Machines Corporation | Cache with selective least frequently used or most frequently used cache line replacement |
US7457922B2 (en) * | 2004-11-20 | 2008-11-25 | International Business Machines Corporation | Cache line placement prediction for multiprocessor non-uniform cache architecture systems |
US8683129B2 (en) | 2010-10-21 | 2014-03-25 | Oracle International Corporation | Using speculative cache requests to reduce cache miss delays |
US8661202B2 (en) * | 2010-12-10 | 2014-02-25 | International Business Machines Corporation | Systems and methods for destaging storage tracks from cache |
US8806137B2 (en) | 2011-06-17 | 2014-08-12 | Lsi Corporation | Cache replacement using active cache line counters |
US8688915B2 (en) * | 2011-12-09 | 2014-04-01 | International Business Machines Corporation | Weighted history allocation predictor algorithm in a hybrid cache |
US10223278B2 (en) * | 2016-04-08 | 2019-03-05 | Qualcomm Incorporated | Selective bypassing of allocation in a cache |
-
2016
- 2016-06-13 US US15/180,995 patent/US10430349B2/en active Active
- 2016-09-20 JP JP2018555911A patent/JP6752292B2/ja active Active
- 2016-09-20 WO PCT/US2016/052605 patent/WO2017218026A1/en active Application Filing
- 2016-09-20 EP EP16905675.1A patent/EP3433745B1/en active Active
- 2016-09-20 CN CN201680085894.6A patent/CN109313610B/zh active Active
- 2016-09-20 KR KR1020187033474A patent/KR102357246B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030970A1 (en) * | 2008-08-01 | 2010-02-04 | International Business Machines Corporation | Adaptive Spill-Receive Mechanism for Lateral Caches |
WO2010116735A1 (ja) * | 2009-04-10 | 2010-10-14 | パナソニック株式会社 | キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路 |
US20130151778A1 (en) * | 2011-12-09 | 2013-06-13 | International Business Machines Corporation | Dynamic Inclusive Policy in a Hybrid Cache Hierarchy Using Bandwidth |
WO2015153855A1 (en) * | 2014-04-04 | 2015-10-08 | Qualcomm Incorporated | Adaptive cache prefetching based on competing dedicated prefetch policies in dedicated cache sets to reduce cache pollution |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021510886A (ja) * | 2018-03-20 | 2021-04-30 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | プリフェッチャベースの投機的ダイナミックランダムアクセスメモリ読み出し要求技術 |
JP2023500590A (ja) * | 2019-10-31 | 2023-01-10 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュアクセス測定デスキュー |
US11880310B2 (en) | 2019-10-31 | 2024-01-23 | Advanced Micro Devices, Inc. | Cache access measurement deskew |
JP7453360B2 (ja) | 2019-10-31 | 2024-03-19 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュアクセス測定デスキュー |
Also Published As
Publication number | Publication date |
---|---|
EP3433745A4 (en) | 2019-12-04 |
KR102357246B1 (ko) | 2022-01-28 |
CN109313610A (zh) | 2019-02-05 |
EP3433745A1 (en) | 2019-01-30 |
EP3433745B1 (en) | 2022-07-27 |
US10430349B2 (en) | 2019-10-01 |
CN109313610B (zh) | 2023-10-03 |
JP6752292B2 (ja) | 2020-09-09 |
KR20190008249A (ko) | 2019-01-23 |
US20170357588A1 (en) | 2017-12-14 |
WO2017218026A1 (en) | 2017-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6752292B2 (ja) | キャッシュ置換ポリシーのスケーリングされたセットデュエリング | |
CN106537360B (zh) | 用于具有动态分区的共享高速缓存的方法和装置 | |
JP5090047B2 (ja) | ロックされたキャッシュ内のセットの置換を管理するための方法、コンピュータ・プログラム、キャッシング・システムおよびプロセッサ | |
US11341059B2 (en) | Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations | |
US9348753B2 (en) | Controlling prefetch aggressiveness based on thrash events | |
US20140181412A1 (en) | Mechanisms to bound the presence of cache blocks with specific properties in caches | |
CN111263934B (zh) | 至少具有三个缓存级别的缓存层级的混合低级缓存包含策略 | |
CN115443454A (zh) | 自适应高速缓存 | |
US20170357596A1 (en) | Dynamically adjustable inclusion bias for inclusive caches | |
US20170083444A1 (en) | Configuring fast memory as cache for slow memory | |
US11604733B1 (en) | Limiting allocation of ways in a cache based on cache maximum associativity value | |
US8589627B2 (en) | Partially sectored cache | |
JP7072573B2 (ja) | 非割り当てキャッシュポリシー | |
JP2019521410A (ja) | 別のキャッシュレベルからのヒントに基づくキャッシュエントリエイジの設定 | |
EP3724774B1 (en) | Rinsing cache lines from a common memory page to memory | |
US10725675B2 (en) | Management apparatus, information processing apparatus, management method, and computer program product | |
Sivakumar et al. | Enhancing lifetime of non-volatile memory caches by write-aware techniques | |
EP3258383A1 (en) | Dynamically adjustable inclusion bias for inclusive caches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190612 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200602 |
|
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: 20200721 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200818 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6752292 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 |