JP2007293839A - ロックされたキャッシュ内のセットの置換を管理するための方法、コンピュータ・プログラム、キャッシング・システムおよびプロセッサ - Google Patents
ロックされたキャッシュ内のセットの置換を管理するための方法、コンピュータ・プログラム、キャッシング・システムおよびプロセッサ Download PDFInfo
- Publication number
- JP2007293839A JP2007293839A JP2007099120A JP2007099120A JP2007293839A JP 2007293839 A JP2007293839 A JP 2007293839A JP 2007099120 A JP2007099120 A JP 2007099120A JP 2007099120 A JP2007099120 A JP 2007099120A JP 2007293839 A JP2007293839 A JP 2007293839A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- lru
- array
- identified
- program
- 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
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/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/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
- G06F12/124—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being minimized, e.g. non MRU
-
- 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
- G06F12/125—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being generated by decoding an array or storage
-
- 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/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
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
【解決手段】プログラムによるキャッシュ・アクセスに応答して、基底ノードによってポイントされている2分木の側を識別する。2分木の識別された側へのアクセスの回数が、識別された側のプログラムに関連するセットの個数と等しいかどうかに関する判定を行う。識別された側へのアクセスの回数が、識別された側のプログラムに関連するセットの個数と等しい場合に、基底ノードは、2分木の反対側をポイントするように変更される。
【選択図】図4
Description
102 ノース・ブリッジおよびメモリ・コントローラ・ハブ
104 サウス・ブリッジおよび入出力(I/O)コントローラ・ハブ
106 プロセッサ・ユニット
108 メインメモリ
110 グラフィックス・プロセッサ
112 ローカル・エリア・ネットワーク(LAN)アダプタ
116 オーディオ・アダプタ
120 キーボードおよびマウス・アダプタ
122 モデム
124 読取専用メモリ(ROM)
126 ハード・ディスク・ドライブ(HDD)
130 CD−ROMドライブ
132 USBポートその他の通信ポート
134 PCI/PCIeデバイス
136 スーパーI/O(SIO)デバイス
138 バス
140 バス
200 プロセッサ・システム
202 フェッチ・ユニット
204 デコード・ユニット
206 発行ユニット
208 分岐ユニット
210 実行ユニット
212 完了ユニット
214 メモリ・サブシステム
216 キャッシュ・アレイ
218 LRUアレイ
220 LRUコントロール
222 L2ロード・アンド・ストア・キュー・コントロール
224 ディレクトリ・アレイ
226 置換管理テーブル(RMT)
228 ホスト・バス
230 メインメモリ・ユニット
232 バス制御ユニット
234 さらなるプロセッサおよび外部デバイス
300 キャッシュ・アレイ
302 ディレクトリ・アレイ
304 LRUアレイ
306 擬似LRU(p−LRU)コントロール
400 2分木
402 ノード
404 ノード
406 ノード
408 ノード
410 ノード
412 ノード
414 ノード
416 仮想カウンタ
500 セクション
502 セクション
600 セクション
602 セクション
700 テーブル
702 エントリ
704 エントリ
706 エントリ
708 エントリ
710 エントリ
712 エントリ
714 エントリ
716 エントリ
800 テーブル
802 エントリ
804 エントリ
806 エントリ
808 エントリ
810 エントリ
900 テーブル
902 エントリ
904 エントリ
906 エントリ
908 エントリ
910 エントリ
912 エントリ
914 エントリ
1000 要求側からロード/ストア要求およびアドレスを受け取るステップ
1002 LRUアレイおよびRMTテーブルにアクセスするステップ
1004 LRUデータおよびRMTデータを検査するステップ
1006 新しいLRUデータを識別するステップ
1008 新しいデータを用いてLRUを更新するステップ
1100 キャッシュ・アクセスを待つステップ
1102 基底ノードによってポイントされている側を識別するステップ
1104 仮想カウンタを増分するステップ
1106 仮想カウンタがセットの個数と等しいかどうかを判定するステップ
1108 反対側をポイントするように基底ノードの値を変更するステップ
1110 仮想カウンタをリセットするステップ
Claims (11)
- ロックされたキャッシュ内のセットの置換を管理するための方法であって、
プログラムによるキャッシュ・アクセスに応答して、基底ノードによってポイントされる2分木の側を識別するステップと、
前記識別された側へのアクセスの回数が、前記識別された側の前記プログラムに関連するセットの個数と等しいかどうかを判定するステップと、
前記識別された側へのアクセスの回数が、前記識別された側の前記プログラムに関連するセットの前記個数と等しい場合に、前記2分木の反対側をポイントするように前記基底ノードを変更するステップと、
を含む、方法。 - 前記基底ノードの値を使用して、LRUアレイを更新するステップ
をさらに含む、請求項1に記載の方法。 - 仮想カウンタが、前記識別された側へのアクセスの回数をトラッキングする、請求項1に記載の方法。
- 前記アクセスが、キャッシュ・ヒットまたは前記ロックされたキャッシュ内のセットの置換である、請求項1に記載の方法。
- 前記キャッシュは、前記2分木がアンバランスになるようにロックされる、請求項1に記載の方法。
- 前記キャッシュが、8つのセットを有する、請求項1に記載の方法。
- 前記識別ステップ、前記判定ステップ、および前記変更ステップが、LRUコントロールによって実行される、請求項1に記載の方法。
- ロックされたキャッシュ内のセットを管理するためのコンピュータ・プログラムであって、
プログラムによるキャッシュ・アクセスに応答して、基底ノードによってポイントされる2分木の側を識別するステップと、
前記識別された側へのアクセスの回数が、前記識別された側の前記プログラムに関連するセットの個数と等しいかどうかを判定するステップと、
前記識別された側へのアクセスの前記回数が、前記識別された側の前記プログラムに関連するセットの前記個数と等しい場合に、前記2分木の反対側をポイントするように前記基底ノードを変更するステップと、
をコンピュータ・システムに実行させる、コンピュータ・プログラム。 - データのセットが保管されるキャッシュ・アレイであって、前記キャッシュが、ロックされたキャッシュである、キャッシュ・アレイと、
2分木を含む、LRUアレイと、
プログラムによるキャッシュ・アクセスに応答して、基底ノードによってポイントされる前記2分木の側を識別し、前記識別された側へのアクセスの回数が、前記識別された側の前記プログラムに関連するセットの個数と等しいかどうかを判定し、前記識別された側へのアクセスの前記回数が、前記識別された側の前記プログラムに関連するセットの前記個数と等しい場合に、前記2分木の反対側をポイントするように前記基底ノードを変更する、制御ユニットと、
を備える、キャッシング・システム。 - 実行ユニットと、
前記実行ユニットに結合されたメモリ・サブシステムを備えるプロセッサであって、前記メモリ・サブシステムが、
キャッシュ・アレイと、
前記実行ユニットによる前記キャッシュ・アレイのキャッシュ・アクセスに応答して、基底ノードによってポイントされる2分木の側を識別し、前記識別された側へのアクセスの回数が、前記識別された側のプログラムに関連するセットの個数と等しいかどうかを判定し、前記識別された側へのアクセスの前記回数が、前記識別された側のプログラムに関連するセットの前記個数と等しい場合に、前記2分木の反対側をポイントするように前記基底ノードを変更する、前記キャッシュ・アレイに結合されたコントローラと、
を備える、プロセッサ。 - 前記メモリ・サブシステムが、
前記実行ユニットから受け取られる要求に応答して前記キャッシュ・アレイにアクセスする、前記キャッシュ・アレイに結合されたロード・アンド・ストア・キュー・コントロール
をさらに含む、請求項10に記載のプロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/380140 | 2006-04-25 | ||
US11/380,140 US7516275B2 (en) | 2006-04-25 | 2006-04-25 | Pseudo-LRU virtual counter for a locking cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007293839A true JP2007293839A (ja) | 2007-11-08 |
JP5090047B2 JP5090047B2 (ja) | 2012-12-05 |
Family
ID=38620810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007099120A Expired - Fee Related JP5090047B2 (ja) | 2006-04-25 | 2007-04-05 | ロックされたキャッシュ内のセットの置換を管理するための方法、コンピュータ・プログラム、キャッシング・システムおよびプロセッサ |
Country Status (4)
Country | Link |
---|---|
US (1) | US7516275B2 (ja) |
JP (1) | JP5090047B2 (ja) |
CN (1) | CN100573477C (ja) |
TW (1) | TW200817897A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010538390A (ja) * | 2007-09-04 | 2010-12-09 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | プロセッサの非常にアソシエティビティの高いキャッシュメモリ用のセカンドチャンス置換機構 |
JP2016018563A (ja) * | 2014-07-08 | 2016-02-01 | エイアールエム リミテッド | 調停兼多重化回路 |
CN110704541A (zh) * | 2019-10-15 | 2020-01-17 | 浪潮云信息技术有限公司 | 一种Redis集群多数据中心高可用的分布式方法及架构 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101107599B (zh) * | 2005-03-22 | 2011-09-21 | 松下电器产业株式会社 | 高速缓冲存储器控制方法和高速缓冲存储器控制装置 |
US7512739B2 (en) * | 2006-07-05 | 2009-03-31 | International Business Machines Corporation | Updating a node-based cache LRU tree |
US8296320B1 (en) * | 2007-04-30 | 2012-10-23 | Network Appliance, Inc. | Method and system for storing clients' access permissions in a cache |
US8566529B2 (en) * | 2008-02-13 | 2013-10-22 | International Business Machines Corporation | Method, system and computer program product for generalized LRU in cache and memory performance analysis and modeling |
US8195881B2 (en) * | 2008-02-26 | 2012-06-05 | International Business Machines Corporation | System, method and processor for accessing data after a translation lookaside buffer miss |
US8660234B2 (en) | 2008-07-31 | 2014-02-25 | International Business Machines Corporation | RAM based implementation for scalable, reliable high speed event counters |
US8140767B2 (en) * | 2009-06-04 | 2012-03-20 | International Business Machines Corporation | Cache management through delayed writeback |
US8386717B1 (en) * | 2010-09-08 | 2013-02-26 | Symantec Corporation | Method and apparatus to free up cache memory space with a pseudo least recently used scheme |
US20130339620A1 (en) * | 2012-06-15 | 2013-12-19 | Futurewei Technololgies, Inc. | Providing Cache Replacement Notice Using a Cache Miss Request |
US9164928B2 (en) * | 2013-05-22 | 2015-10-20 | Globalfoundries U.S. 2 Llc | Validation of cache locking using instruction fetch and execution |
CN104850508B (zh) * | 2015-04-09 | 2018-02-09 | 深圳大学 | 基于数据局部性的访存方法 |
US11106599B2 (en) * | 2016-09-30 | 2021-08-31 | Intel Corporation | System and method for replacement in associative memories using weighted PLRU trees |
US10528482B2 (en) | 2018-06-04 | 2020-01-07 | International Business Machines Corporation | Cache management |
US11360704B2 (en) * | 2018-12-21 | 2022-06-14 | Micron Technology, Inc. | Multiplexed signal development in a memory device |
CN112948283B (zh) * | 2021-01-25 | 2024-03-08 | 中国人民解放军军事科学院国防科技创新研究院 | 一种Cache替换方法 |
US11893254B2 (en) * | 2021-06-04 | 2024-02-06 | International Business Machines Corporation | Dynamic permission management of storage blocks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06124238A (ja) * | 1992-10-13 | 1994-05-06 | Toshiba Corp | 書換え対象エントリ選択方法および装置 |
JPH1196073A (ja) * | 1997-06-30 | 1999-04-09 | Hyundai Electron Ind Co Ltd | 高性能マルチポート支援lruメモリ |
JP2003248625A (ja) * | 2002-02-25 | 2003-09-05 | Seiko Epson Corp | キャッシュ回路、情報処理装置及び電子機器 |
US20050055506A1 (en) * | 2003-09-04 | 2005-03-10 | International Business Machines Corporation | Pseudo-LRU for a locking cache |
WO2005029336A1 (ja) * | 2003-09-19 | 2005-03-31 | Matsushita Electric Industrial Co., Ltd. | キャッシュメモリおよびキャッシュメモリ制御方法 |
WO2005048112A1 (ja) * | 2003-11-12 | 2005-05-26 | Matsushita Electric Industrial Co., Ltd. | キャッシュメモリおよびその制御方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5594886A (en) * | 1994-10-23 | 1997-01-14 | Lsi Logic Corporation | Pseudo-LRU cache memory replacement method and apparatus utilizing nodes |
US20030159003A1 (en) * | 2001-10-23 | 2003-08-21 | Ip-First, Llc | Associative cache memory with replacement way information integrated into directory |
US7020748B2 (en) * | 2003-01-21 | 2006-03-28 | Sun Microsystems, Inc. | Cache replacement policy to mitigate pollution in multicore processors |
US7558921B2 (en) * | 2005-08-16 | 2009-07-07 | International Business Machines Corporation | Method for data set replacement in 4-way or greater locking cache |
US7716423B2 (en) * | 2006-02-07 | 2010-05-11 | International Business Machines Corporation | Pseudo LRU algorithm for hint-locking during software and hardware address translation cache miss handling modes |
-
2006
- 2006-04-25 US US11/380,140 patent/US7516275B2/en not_active Expired - Fee Related
-
2007
- 2007-04-02 CN CNB2007100922220A patent/CN100573477C/zh not_active Expired - Fee Related
- 2007-04-05 JP JP2007099120A patent/JP5090047B2/ja not_active Expired - Fee Related
- 2007-04-16 TW TW096113350A patent/TW200817897A/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06124238A (ja) * | 1992-10-13 | 1994-05-06 | Toshiba Corp | 書換え対象エントリ選択方法および装置 |
JPH1196073A (ja) * | 1997-06-30 | 1999-04-09 | Hyundai Electron Ind Co Ltd | 高性能マルチポート支援lruメモリ |
JP2003248625A (ja) * | 2002-02-25 | 2003-09-05 | Seiko Epson Corp | キャッシュ回路、情報処理装置及び電子機器 |
US20050055506A1 (en) * | 2003-09-04 | 2005-03-10 | International Business Machines Corporation | Pseudo-LRU for a locking cache |
WO2005029336A1 (ja) * | 2003-09-19 | 2005-03-31 | Matsushita Electric Industrial Co., Ltd. | キャッシュメモリおよびキャッシュメモリ制御方法 |
WO2005048112A1 (ja) * | 2003-11-12 | 2005-05-26 | Matsushita Electric Industrial Co., Ltd. | キャッシュメモリおよびその制御方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010538390A (ja) * | 2007-09-04 | 2010-12-09 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | プロセッサの非常にアソシエティビティの高いキャッシュメモリ用のセカンドチャンス置換機構 |
JP2016018563A (ja) * | 2014-07-08 | 2016-02-01 | エイアールエム リミテッド | 調停兼多重化回路 |
CN110704541A (zh) * | 2019-10-15 | 2020-01-17 | 浪潮云信息技术有限公司 | 一种Redis集群多数据中心高可用的分布式方法及架构 |
Also Published As
Publication number | Publication date |
---|---|
CN101063957A (zh) | 2007-10-31 |
US7516275B2 (en) | 2009-04-07 |
CN100573477C (zh) | 2009-12-23 |
US20070250667A1 (en) | 2007-10-25 |
TW200817897A (en) | 2008-04-16 |
JP5090047B2 (ja) | 2012-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5090047B2 (ja) | ロックされたキャッシュ内のセットの置換を管理するための方法、コンピュータ・プログラム、キャッシング・システムおよびプロセッサ | |
US11789872B2 (en) | Slot/sub-slot prefetch architecture for multiple memory requestors | |
US10896128B2 (en) | Partitioning shared caches | |
US10430349B2 (en) | Scaled set dueling for cache replacement policies | |
US9223710B2 (en) | Read-write partitioning of cache memory | |
US20080086599A1 (en) | Method to retain critical data in a cache in order to increase application performance | |
US8001330B2 (en) | L2 cache controller with slice directory and unified cache structure | |
US7805574B2 (en) | Method and cache system with soft I-MRU member protection scheme during make MRU allocation | |
US8352683B2 (en) | Method and system to reduce the power consumption of a memory device | |
US9311239B2 (en) | Power efficient level one data cache access with pre-validated tags | |
US20080086598A1 (en) | System and method for establishing cache priority for critical data structures of an application | |
US20080065809A1 (en) | Optimized software cache lookup for simd architectures | |
KR20060049710A (ko) | 칩 멀티-프로세서의 공유 캐시를 분할하기 위한 장치 및방법 | |
US10831675B2 (en) | Adaptive tablewalk translation storage buffer predictor | |
JP2017503299A (ja) | モードに応じてセットの1つ又は複数を選択的に選択するように動的に構成可能であるマルチモード・セット・アソシエイティブ・キャッシュ・メモリ | |
US10437732B2 (en) | Multi-level cache with associativity collision compensation | |
CN112148641A (zh) | 用于跟踪由cpu或设备进行的物理地址访问的系统和方法 | |
KR100582340B1 (ko) | 캐시 시스템, 캐시 관리 방법 및 컴퓨터 판독가능한 기록매체 | |
US7325101B1 (en) | Techniques for reducing off-chip cache memory accesses | |
US11822652B1 (en) | Prime and probe attack mitigation | |
Gupta et al. | A comparative study of cache optimization techniques and cache mapping techniques | |
WO2008043670A1 (en) | Managing cache data | |
Islam et al. | A unified approach to eliminate memory accesses early | |
Park et al. | Aggressive superpage support with the shadow memory and the partial-subblock TLB | |
Kravtsov | Methods of cache memory optimization for multimedia applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120808 |
|
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: 20120828 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120912 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150921 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |