JP2009524137A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2009524137A5 JP2009524137A5 JP2008550761A JP2008550761A JP2009524137A5 JP 2009524137 A5 JP2009524137 A5 JP 2009524137A5 JP 2008550761 A JP2008550761 A JP 2008550761A JP 2008550761 A JP2008550761 A JP 2008550761A JP 2009524137 A5 JP2009524137 A5 JP 2009524137A5
- Authority
- JP
- Japan
- Prior art keywords
- cache
- level cache
- lower level
- line
- directory
- 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
- 230000000875 corresponding Effects 0.000 claims 3
- 125000004122 cyclic group Chemical group 0.000 claims 3
Claims (9)
- キャッシュ・ライン置換のための方法であって、
下位レベル・キャッシュに存在しない上位レベル・キャッシュの第1のキャッシュ・ラインを識別するステップと、
前記下位レベル・キャッシュに存在する前記上位レベル・キャッシュの第2のキャッシュ・ラインの代わりに、前記上位レベル・キャッシュから前記第1のキャッシュ・ラインをエビクトするステップと、
を含み、
前記下位レベル・キャッシュに存在しない前記上位レベル・キャッシュの前記第1のキャッシュ・ラインを識別する前記ステップは、
前記上位レベル・キャッシュのキャッシュ・ラインのアドレスを用いて前記下位レベル・キャッシュのスヌープ読み出しを行うステップと、
前記下位レベル・キャッシュの前記スヌープ読み出しが、前記下位レベル・キャッシュにおけるミスという結果になった場合には、前記キャッシュ・ラインをエビクション候補として識別するステップと、
前記下位レベル・キャッシュの前記スヌープ読み出しが、前記下位レベル・キャッシュにおけるミスという結果にならなかった場合には、前記キャッシュ・ラインをエビクション候補として識別しないステップと、
を含むことを特徴とする方法。 - 前記下位レベル・キャッシュのスヌープ読み出しを行う前記ステップは、
上位レベル・キャッシュ・ディレクトリがアイドル状態である第1の時間を決定するステップと、
前記上位レベル・キャッシュ・ディレクトリがアイドル状態であるときに、前記上位レベル・キャッシュ・ディレクトリからの1つ又は複数のキャッシュ・エントリを読み出すステップと、
前記上位レベル・キャッシュ・ディレクトリからの前記1つ又は複数のキャッシュ・エントリのタグ・フィールドを用いて、前記上位レベル・キャッシュの前記キャッシュ・ラインの前記アドレスを生成するステップと、
をさらに含む、請求項1に記載の方法。 - 前記下位レベル・キャッシュのスヌープ読み出しを行う前記ステップは、
下位レベル・キャッシュ・ディレクトリがアイドル状態である第2の時間を決定するステップと、
前記第2の時間中に、前記上位レベル・キャッシュの前記キャッシュ・ラインの前記アドレスを用いて前記下位レベル・キャッシュ・ディレクトリにアクセスするステップと、
前記第2の時間中に、前記上位レベル・キャッシュの前記キャッシュ・ラインの前記アドレスを用いて前記下位レベル・キャッシュ・ディレクトリにアクセスする前記ステップが、前記下位レベル・キャッシュ・ディレクトリにおけるミスという結果になった場合には、前記下位レベル・キャッシュにおける前記ミスを返すステップと、
前記第2の時間中に、前記上位レベル・キャッシュの前記キャッシュ・ラインの前記アドレスを用いて前記下位レベル・キャッシュ・ディレクトリにアクセスする前記ステップが、前記下位レベル・キャッシュ・ディレクトリにおけるヒットという結果になった場合には、前記下位レベル・キャッシュにおける前記ヒットを返すステップと、
をさらに含む、請求項2に記載の方法。 - a)前記上位レベル・キャッシュの第2のエントリについて請求項4に記載のステップを繰り返すステップ、
b)前記上位レベル・キャッシュ・ディレクトリからの前記1つ又は複数のキャッシュ・エントリの状態情報を読み出し、前記上位レベル・キャッシュ・ディレクトリからの前記1つ又は複数のキャッシュ・エントリの特定のキャッシュ・エントリについての前記状態情報が、対応するキャッシュ・ラインが無効であることを示す場合には、前記特定のエントリについて請求項4に記載の前記ステップを行わないステップ、又は
c)前記上位レベル・キャッシュ・ディレクトリからの前記1つ又は複数のキャッシュ・エントリの状態情報を読み出し、前記上位レベル・キャッシュ・ディレクトリからの前記1つ又は複数のキャッシュ・エントリの特定のキャッシュ・エントリについての前記状態情報が、対応するキャッシュ・ラインが変更されたことを示す場合には、前記特定のエントリについて請求項4に記載の前記ステップを行わないステップ、
をさらに含む、請求項3に記載の方法。 - a)前記上位レベル・キャッシュによるデータについての要求を受け取り、
前記データを含む特定のキャッシュ・ラインが前記上位レベル・キャッシュに存在するかどうかをチェックし、
前記特定のキャッシュ・ラインが前記上位レベル・キャッシュに存在する場合に、前記特定のキャッシュ・ラインが前記下位レベル・キャッシュに存在しないものとして識別された場合には、前記下位レベル・キャッシュに存在しないものとした前記キャッシュ・ラインの識別を解除することを実行するステップ、又は、
b)前記上位レベル・キャッシュが、各々が同じレベルにある複数の下位レベル・キャッシュに結合されている場合には、前記下位レベル・キャッシュに存在しない前記上位レベル・キャッシュの前記第1のキャッシュ・ラインを識別する前記ステップが、前記第1のキャッシュ・ラインが前記複数の下位レベル・キャッシュのいずれにも存在しないことを保証することをさらに含むステップ、
をさらに含む、請求項1から請求項4のいずれか1項に記載の方法。 - 前記上位レベル・キャッシュがL3キャッシュであり、前記下位レベル・キャッシュがL2キャッシュであるか、又は、前記上位レベル・キャッシュがL2キャッシュであり、前記下位レベル・キャッシュがL1キャッシュである、請求項1から請求項5のいずれか1項に記載の方法。
- 上位レベル・キャッシュと、
巡回スヌープ・シーケンサと、
を含むメモリ・コントローラを備えたコンピュータ・システムであって、
前記メモリ・コントローラに結合された下位レベル・キャッシュと、
前記メモリ・コントローラ内に、前記下位レベル・キャッシュに存在する第2のキャッシュ・ラインの代わりに、前記下位レベル・キャッシュに存在しないものとして識別された第1のキャッシュ・ラインをエビクトするように構成された論理と
をさらに備え、
前記メモリ・コントローラは、前記巡回スヌープ・シーケンサに結合され、前記上位レベル・キャッシュのキャッシュ・ラインごとのエントリを保持する、上位レベル・キャッシュ・ディレクトリをさらに備え、
前記エントリの各々は、前記上位レベル・キャッシュのキャッシュ・ラインごとの状態フィールド及びタグ・フィールドを含み、
前記上位レベル・キャッシュのキャッシュ・ラインごとの前記エントリは、前記上位レベル・キャッシュの特定のキャッシュ・ラインが前記下位レベル・キャッシュに存在しないかどうかに関する情報を保持するフィールドをさらに含み、
前記巡回スヌープ・シーケンサは、前記下位レベル・キャッシュに存在しない前記上位レベル・キャッシュのキャッシュ・ラインを識別することができるように構成され、
前記巡回スヌープ・シーケンサは、
前記上位レベル・キャッシュ・ディレクトリを読み出し、
前記上位レベル・キャッシュ内のエントリを読み出し、
前記上位レベル・キャッシュ内のキャッシュ・ラインのアドレスを生成し、
下位レベル・キャッシュ・ディレクトリのスヌープ読み出しを行い、
前記スヌープ読み出しが、前記下位レベル・キャッシュ・ディレクトリにおけるキャッシュ・ミスという結果になった場合には、前記上位レベル・キャッシュの特定のキャッシュ・ラインが前記下位レベル・キャッシュに存在しないかどうかに関する情報を保持する前記エントリについての前記フィールドに、前記エントリに対応するキャッシュ・ラインをエビクション候補として識別するように書き込み、
前記スヌープ読み出しが、前記下位レベル・キャッシュ・ディレクトリにおけるキャッシュ・ヒットという結果になった場合には、前記上位レベル・キャッシュの特定のキャッシュ・ラインが前記下位レベル・キャッシュに存在しないかどうかに関する情報を保持する前記エントリについての前記フィールドに、前記エントリに対応するキャッシュ・ラインをエビクション候補として識別するようには書き込まない、
ように構成された、
コンピュータ・システム。 - 前記メモリ・コントローラに結合され、前記下位レベル・キャッシュのキャッシュ・ラインごとのエントリを有する、下位レベル・キャッシュ・ディレクトリをさらに備える、請求項7に記載のコンピュータ・システム。
- 前記メモリ・コントローラに結合された第2の下位レベル・キャッシュをさらに備え、 前記巡回スヌープ・シーケンサは、前記第2の下位レベル・キャッシュに存在しない前記上位レベル・キャッシュのキャッシュ・ラインを識別することができるように構成され、
必要に応じて、前記メモリ・コントローラ内に、前記下位レベル・キャッシュ又は前記第2の下位レベル・キャッシュのいずれかに存在する第2のキャッシュ・ラインの代わりに、前記下位レベル・キャッシュにも前記第2の下位レベル・キャッシュにも存在しないものとして識別された第1のキャッシュ・ラインをエビクトするように構成された論理をさらに含む、請求項7又は請求項8に記載のコンピュータ・システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/335,765 US7577793B2 (en) | 2006-01-19 | 2006-01-19 | Patrol snooping for higher level cache eviction candidate identification |
PCT/EP2007/050503 WO2007082917A2 (en) | 2006-01-19 | 2007-01-18 | Patrol snooping for higher level cache eviction candidate identification |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009524137A JP2009524137A (ja) | 2009-06-25 |
JP2009524137A5 true JP2009524137A5 (ja) | 2010-04-02 |
JP4563486B2 JP4563486B2 (ja) | 2010-10-13 |
Family
ID=37955186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008550761A Expired - Fee Related JP4563486B2 (ja) | 2006-01-19 | 2007-01-18 | 上位レベル・キャッシュのエビクション候補を識別するための巡回スヌープ |
Country Status (8)
Country | Link |
---|---|
US (1) | US7577793B2 (ja) |
EP (1) | EP1977322B1 (ja) |
JP (1) | JP4563486B2 (ja) |
CN (1) | CN101361049B (ja) |
AT (1) | ATE467182T1 (ja) |
DE (1) | DE602007006277D1 (ja) |
TW (1) | TWI417723B (ja) |
WO (1) | WO2007082917A2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624234B2 (en) * | 2006-08-31 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | Directory caches, and methods for operation thereof |
JP4920378B2 (ja) * | 2006-11-17 | 2012-04-18 | 株式会社東芝 | 情報処理装置およびデータ検索方法 |
US7457920B1 (en) | 2008-01-26 | 2008-11-25 | International Business Machines Corporation | Method and system for cache eviction |
US8271735B2 (en) * | 2009-01-13 | 2012-09-18 | Oracle America, Inc. | Cache-coherency protocol with held state |
JP2011028736A (ja) * | 2009-07-02 | 2011-02-10 | Fujitsu Ltd | キャッシュメモリ装置、演算処理装置及びキャッシュメモリ装置の制御方法 |
US8566531B2 (en) * | 2009-08-21 | 2013-10-22 | Google Inc. | System and method of selectively caching information based on the interarrival time of requests for the same information |
AU2010201718B2 (en) * | 2010-04-29 | 2012-08-23 | Canon Kabushiki Kaisha | Method, system and apparatus for identifying a cache line |
US8769209B2 (en) * | 2010-12-20 | 2014-07-01 | Intel Corporation | Method and apparatus for achieving non-inclusive cache performance with inclusive caches |
US9804971B2 (en) * | 2012-01-17 | 2017-10-31 | International Business Machines Corporation | Cache management of track removal in a cache for storage |
CN105814549B (zh) * | 2014-10-08 | 2019-03-01 | 上海兆芯集成电路有限公司 | 具有主高速缓存器和溢出fifo高速缓存器的高速缓存器系统 |
JP6708019B2 (ja) | 2016-06-29 | 2020-06-10 | 富士通株式会社 | 演算処理装置、情報処理装置および演算処理装置の制御方法 |
WO2018161272A1 (zh) * | 2017-03-08 | 2018-09-13 | 华为技术有限公司 | 一种缓存替换方法,装置和系统 |
US20190012259A1 (en) * | 2017-07-06 | 2019-01-10 | Futurewei Technologies, Inc. | Lba eviction in pcm media |
US10915461B2 (en) * | 2019-03-05 | 2021-02-09 | International Business Machines Corporation | Multilevel cache eviction management |
US10997074B2 (en) | 2019-04-30 | 2021-05-04 | Hewlett Packard Enterprise Development Lp | Management of coherency directory cache entry ejection |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5373927A (en) * | 1976-11-10 | 1978-06-30 | Fujitsu Ltd | Replacing system of intermediate buffer memory |
JPH01199251A (ja) * | 1988-02-04 | 1989-08-10 | Fujitsu Ltd | キャッシュメモリアクセス制御方式 |
JPH02188847A (ja) * | 1989-01-18 | 1990-07-24 | Agency Of Ind Science & Technol | 階層キャッシュメモリにおけるデータ交換方式 |
JPH05216765A (ja) * | 1992-02-06 | 1993-08-27 | Hitachi Ltd | 階層バッファ記憶装置 |
US5530832A (en) * | 1993-10-14 | 1996-06-25 | International Business Machines Corporation | System and method for practicing essential inclusion in a multiprocessor and cache hierarchy |
US5850534A (en) * | 1995-06-05 | 1998-12-15 | Advanced Micro Devices, Inc. | Method and apparatus for reducing cache snooping overhead in a multilevel cache system |
US5829038A (en) * | 1996-06-20 | 1998-10-27 | Intel Corporation | Backward inquiry to lower level caches prior to the eviction of a modified line from a higher level cache in a microprocessor hierarchical cache structure |
JPH10105463A (ja) * | 1996-09-27 | 1998-04-24 | Mitsubishi Electric Corp | キャッシュシステム及びリプレース判定方法 |
JPH11102320A (ja) * | 1997-09-29 | 1999-04-13 | Mitsubishi Electric Corp | キャッシュシステム |
US6023747A (en) * | 1997-12-17 | 2000-02-08 | International Business Machines Corporation | Method and system for handling conflicts between cache operation requests in a data processing system |
US6343344B1 (en) * | 1999-08-04 | 2002-01-29 | International Business Machines Corporation | System bus directory snooping mechanism for read/castout (RCO) address transaction |
US6901450B1 (en) * | 2000-09-22 | 2005-05-31 | Hitachi, Ltd. | Multiprocessor machine and cache control method for providing higher priority to shared cache that is accessed by multiprocessors |
US6725337B1 (en) * | 2001-05-16 | 2004-04-20 | Advanced Micro Devices, Inc. | Method and system for speculatively invalidating lines in a cache |
US7024545B1 (en) * | 2001-07-24 | 2006-04-04 | Advanced Micro Devices, Inc. | Hybrid branch prediction device with two levels of branch prediction cache |
TWI246658B (en) * | 2003-04-25 | 2006-01-01 | Ip First Llc | Microprocessor, apparatus and method for selectively associating store buffer cache line status with response buffer cache line status |
US7143246B2 (en) * | 2004-01-16 | 2006-11-28 | International Business Machines Corporation | Method for supporting improved burst transfers on a coherent bus |
US20070186045A1 (en) * | 2004-07-23 | 2007-08-09 | Shannon Christopher J | Cache eviction technique for inclusive cache systems |
US20060212654A1 (en) * | 2005-03-18 | 2006-09-21 | Vinod Balakrishnan | Method and apparatus for intelligent instruction caching using application characteristics |
US20070073974A1 (en) * | 2005-09-29 | 2007-03-29 | International Business Machines Corporation | Eviction algorithm for inclusive lower level cache based upon state of higher level cache |
-
2006
- 2006-01-19 US US11/335,765 patent/US7577793B2/en not_active Expired - Fee Related
-
2007
- 2007-01-03 TW TW096100134A patent/TWI417723B/zh not_active IP Right Cessation
- 2007-01-18 JP JP2008550761A patent/JP4563486B2/ja not_active Expired - Fee Related
- 2007-01-18 DE DE602007006277T patent/DE602007006277D1/de active Active
- 2007-01-18 AT AT07703995T patent/ATE467182T1/de not_active IP Right Cessation
- 2007-01-18 WO PCT/EP2007/050503 patent/WO2007082917A2/en active Application Filing
- 2007-01-18 CN CN2007800017655A patent/CN101361049B/zh not_active Expired - Fee Related
- 2007-01-18 EP EP07703995A patent/EP1977322B1/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009524137A5 (ja) | ||
US9529544B2 (en) | Combined transparent/non-transparent cache | |
KR101379596B1 (ko) | Tlb 프리페칭 | |
US9223710B2 (en) | Read-write partitioning of cache memory | |
US7711901B2 (en) | Method, system, and apparatus for an hierarchical cache line replacement | |
US8219758B2 (en) | Block-based non-transparent cache | |
TWI603264B (zh) | 準確預測記憶體存取之以區域爲基礎的技術 | |
US7991963B2 (en) | In-memory, in-page directory cache coherency scheme | |
US20130205089A1 (en) | Cache Device and Methods Thereof | |
JP2007334852A5 (ja) | ||
US10120806B2 (en) | Multi-level system memory with near memory scrubbing based on predicted far memory idle time | |
JP2011204060A (ja) | ディスク装置 | |
JP2009524137A (ja) | 上位レベル・キャッシュのエビクション候補を識別するための巡回スヌープ | |
CN109478164B (zh) | 用于存储用于高速缓存条目传输的高速缓存位置信息的系统和方法 | |
KR20200066731A (ko) | 전원이 차단된 상태에서 프로세서 코어의 캐시 엔트리 보유하기 | |
US8473685B2 (en) | Cache memory device, processor, and control method for cache memory device to reduce power unnecessarily consumed by cache memory | |
US9760488B2 (en) | Cache controlling method for memory system and cache system thereof | |
CN110688155A (zh) | 一种访问不可缓存区域的存储指令的合并方法 | |
JP2011100390A (ja) | データ処理装置 |