JP2009524137A5 - - Google Patents

Download PDF

Info

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
Application number
JP2008550761A
Other languages
English (en)
Other versions
JP4563486B2 (ja
JP2009524137A (ja
Filing date
Publication date
Priority claimed from US11/335,765 external-priority patent/US7577793B2/en
Application filed filed Critical
Publication of JP2009524137A publication Critical patent/JP2009524137A/ja
Publication of JP2009524137A5 publication Critical patent/JP2009524137A5/ja
Application granted granted Critical
Publication of JP4563486B2 publication Critical patent/JP4563486B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (9)

  1. キャッシュ・ライン置換のための方法であって、
    下位レベル・キャッシュに存在しない上位レベル・キャッシュの第1のキャッシュ・ラインを識別するステップと、
    前記下位レベル・キャッシュに存在する前記上位レベル・キャッシュの第2のキャッシュ・ラインの代わりに、前記上位レベル・キャッシュから前記第1のキャッシュ・ラインをエビクトするステップと、
    を含み、
    前記下位レベル・キャッシュに存在しない前記上位レベル・キャッシュの前記第1のキャッシュ・ラインを識別する前記ステップは、
    前記上位レベル・キャッシュのキャッシュ・ラインのアドレスを用いて前記下位レベル・キャッシュのスヌープ読み出しを行うステップと、
    前記下位レベル・キャッシュの前記スヌープ読み出しが、前記下位レベル・キャッシュにおけるミスという結果になった場合には、前記キャッシュ・ラインをエビクション候補として識別するステップと、
    前記下位レベル・キャッシュの前記スヌープ読み出しが、前記下位レベル・キャッシュにおけるミスという結果にならなかった場合には、前記キャッシュ・ラインをエビクション候補として識別しないステップと、
    を含むことを特徴とする方法。
  2. 前記下位レベル・キャッシュのスヌープ読み出しを行う前記ステップは、
    上位レベル・キャッシュ・ディレクトリがアイドル状態である第1の時間を決定するステップと、
    前記上位レベル・キャッシュ・ディレクトリがアイドル状態であるときに、前記上位レベル・キャッシュ・ディレクトリからの1つ又は複数のキャッシュ・エントリを読み出すステップと、
    前記上位レベル・キャッシュ・ディレクトリからの前記1つ又は複数のキャッシュ・エントリのタグ・フィールドを用いて、前記上位レベル・キャッシュの前記キャッシュ・ラインの前記アドレスを生成するステップと、
    をさらに含む、請求項1に記載の方法。
  3. 前記下位レベル・キャッシュのスヌープ読み出しを行う前記ステップは、
    下位レベル・キャッシュ・ディレクトリがアイドル状態である第2の時間を決定するステップと、
    前記第2の時間中に、前記上位レベル・キャッシュの前記キャッシュ・ラインの前記アドレスを用いて前記下位レベル・キャッシュ・ディレクトリにアクセスするステップと、
    前記第2の時間中に、前記上位レベル・キャッシュの前記キャッシュ・ラインの前記アドレスを用いて前記下位レベル・キャッシュ・ディレクトリにアクセスする前記ステップが、前記下位レベル・キャッシュ・ディレクトリにおけるミスという結果になった場合には、前記下位レベル・キャッシュにおける前記ミスを返すステップと、
    前記第2の時間中に、前記上位レベル・キャッシュの前記キャッシュ・ラインの前記アドレスを用いて前記下位レベル・キャッシュ・ディレクトリにアクセスする前記ステップが、前記下位レベル・キャッシュ・ディレクトリにおけるヒットという結果になった場合には、前記下位レベル・キャッシュにおける前記ヒットを返すステップと、
    をさらに含む、請求項2に記載の方法。
  4. a)前記上位レベル・キャッシュの第2のエントリについて請求項4に記載のステップを繰り返すステップ、
    b)前記上位レベル・キャッシュ・ディレクトリからの前記1つ又は複数のキャッシュ・エントリの状態情報を読み出し、前記上位レベル・キャッシュ・ディレクトリからの前記1つ又は複数のキャッシュ・エントリの特定のキャッシュ・エントリについての前記状態情報が、対応するキャッシュ・ラインが無効であることを示す場合には、前記特定のエントリについて請求項4に記載の前記ステップを行わないステップ、又は
    c)前記上位レベル・キャッシュ・ディレクトリからの前記1つ又は複数のキャッシュ・エントリの状態情報を読み出し、前記上位レベル・キャッシュ・ディレクトリからの前記1つ又は複数のキャッシュ・エントリの特定のキャッシュ・エントリについての前記状態情報が、対応するキャッシュ・ラインが変更されたことを示す場合には、前記特定のエントリについて請求項4に記載の前記ステップを行わないステップ、
    をさらに含む、請求項3に記載の方法。
  5. a)前記上位レベル・キャッシュによるデータについての要求を受け取り、
    前記データを含む特定のキャッシュ・ラインが前記上位レベル・キャッシュに存在するかどうかをチェックし、
    前記特定のキャッシュ・ラインが前記上位レベル・キャッシュに存在する場合に、前記特定のキャッシュ・ラインが前記下位レベル・キャッシュに存在しないものとして識別された場合には、前記下位レベル・キャッシュに存在しないものとした前記キャッシュ・ラインの識別を解除することを実行するステップ、又は、
    b)前記上位レベル・キャッシュが、各々が同じレベルにある複数の下位レベル・キャッシュに結合されている場合には、前記下位レベル・キャッシュに存在しない前記上位レベル・キャッシュの前記第1のキャッシュ・ラインを識別する前記ステップが、前記第1のキャッシュ・ラインが前記複数の下位レベル・キャッシュのいずれにも存在しないことを保証することをさらに含むステップ、
    をさらに含む、請求項1から請求項4のいずれか1項に記載の方法。
  6. 前記上位レベル・キャッシュがL3キャッシュであり、前記下位レベル・キャッシュがL2キャッシュであるか、又は、前記上位レベル・キャッシュがL2キャッシュであり、前記下位レベル・キャッシュがL1キャッシュである、請求項1から請求項5のいずれか1項に記載の方法。
  7. 上位レベル・キャッシュと、
    巡回スヌープ・シーケンサと、
    を含むメモリ・コントローラを備えたコンピュータ・システムであって、
    前記メモリ・コントローラに結合された下位レベル・キャッシュと、
    前記メモリ・コントローラ内に、前記下位レベル・キャッシュに存在する第2のキャッシュ・ラインの代わりに、前記下位レベル・キャッシュに存在しないものとして識別された第1のキャッシュ・ラインをエビクトするように構成された論理と
    をさらに備え、
    前記メモリ・コントローラは、前記巡回スヌープ・シーケンサに結合され、前記上位レベル・キャッシュのキャッシュ・ラインごとのエントリを保持する、上位レベル・キャッシュ・ディレクトリをさらに備え、
    前記エントリの各々は、前記上位レベル・キャッシュのキャッシュ・ラインごとの状態フィールド及びタグ・フィールドを含み、
    前記上位レベル・キャッシュのキャッシュ・ラインごとの前記エントリは、前記上位レベル・キャッシュの特定のキャッシュ・ラインが前記下位レベル・キャッシュに存在しないかどうかに関する情報を保持するフィールドをさらに含み、
    前記巡回スヌープ・シーケンサは、前記下位レベル・キャッシュに存在しない前記上位レベル・キャッシュのキャッシュ・ラインを識別することができるように構成され、
    前記巡回スヌープ・シーケンサは、
    前記上位レベル・キャッシュ・ディレクトリを読み出し、
    前記上位レベル・キャッシュ内のエントリを読み出し、
    前記上位レベル・キャッシュ内のキャッシュ・ラインのアドレスを生成し、
    下位レベル・キャッシュ・ディレクトリのスヌープ読み出しを行い、
    前記スヌープ読み出しが、前記下位レベル・キャッシュ・ディレクトリにおけるキャッシュ・ミスという結果になった場合には、前記上位レベル・キャッシュの特定のキャッシュ・ラインが前記下位レベル・キャッシュに存在しないかどうかに関する情報を保持する前記エントリについての前記フィールドに、前記エントリに対応するキャッシュ・ラインをエビクション候補として識別するように書き込み、
    前記スヌープ読み出しが、前記下位レベル・キャッシュ・ディレクトリにおけるキャッシュ・ヒットという結果になった場合には、前記上位レベル・キャッシュの特定のキャッシュ・ラインが前記下位レベル・キャッシュに存在しないかどうかに関する情報を保持する前記エントリについての前記フィールドに、前記エントリに対応するキャッシュ・ラインをエビクション候補として識別するようには書き込まない、
    ように構成された、
    コンピュータ・システム。
  8. 前記メモリ・コントローラに結合され、前記下位レベル・キャッシュのキャッシュ・ラインごとのエントリを有する、下位レベル・キャッシュ・ディレクトリをさらに備える、請求項7に記載のコンピュータ・システム。
  9. 前記メモリ・コントローラに結合された第2の下位レベル・キャッシュをさらに備え、 前記巡回スヌープ・シーケンサは、前記第2の下位レベル・キャッシュに存在しない前記上位レベル・キャッシュのキャッシュ・ラインを識別することができるように構成され、
    必要に応じて、前記メモリ・コントローラ内に、前記下位レベル・キャッシュ又は前記第2の下位レベル・キャッシュのいずれかに存在する第2のキャッシュ・ラインの代わりに、前記下位レベル・キャッシュにも前記第2の下位レベル・キャッシュにも存在しないものとして識別された第1のキャッシュ・ラインをエビクトするように構成された論理をさらに含む、請求項又は請求項に記載のコンピュータ・システム。
JP2008550761A 2006-01-19 2007-01-18 上位レベル・キャッシュのエビクション候補を識別するための巡回スヌープ Expired - Fee Related JP4563486B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) データ処理装置