JP5328792B2 - プロセッサの非常にアソシエティビティの高いキャッシュメモリ用のセカンドチャンス置換機構 - Google Patents
プロセッサの非常にアソシエティビティの高いキャッシュメモリ用のセカンドチャンス置換機構 Download PDFInfo
- Publication number
- JP5328792B2 JP5328792B2 JP2010524027A JP2010524027A JP5328792B2 JP 5328792 B2 JP5328792 B2 JP 5328792B2 JP 2010524027 A JP2010524027 A JP 2010524027A JP 2010524027 A JP2010524027 A JP 2010524027A JP 5328792 B2 JP5328792 B2 JP 5328792B2
- Authority
- JP
- Japan
- Prior art keywords
- storage location
- block storage
- eligible
- block
- recently accessed
- 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
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/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
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)
Description
Claims (10)
- それぞれが複数のブロック記憶位置を有する複数のセットを有するキャッシュメモリ(269,16A,17A,18A)と、
前記キャッシュメモリに結合され、前記キャッシュメモリの各セットに対応する個別カウント値を保持するように構成されたブロック置換コントローラ(266)とを備え、所定のセットに対応する前記個別カウント値は、前記所定のセット内の、置換データを記憶するための適格なブロック記憶位置をポイントし、
前記ブロック置換コントローラは、前記ブロック記憶位置の少なくとも一部のそれぞれに対して、その対応するブロック記憶位置が最近アクセスされたかどうかを示す関連する最近アクセスビットを保持するように更に構成され、
前記ブロック置換コントローラに結合され、前記キャッシュメモリの各セットに対して前記個別カウント値を記憶し、各関連する最近アクセスビットを記憶するように構成された置換記憶域(264)をさらに備え、前記関連する最近アクセスビットの数は、セット数×(n−log 2 n)(nは前記キャッシュメモリのアソシエティビティのウェイ数)に直接対応しており、
前記ブロック置換コントローラは、前記個別カウント値がポイントしている適格なブロック記憶位置に対応する前記最近アクセスビットの特定の1つが、前記適格なブロック記憶位置が最近アクセスされたことを示しているかどうかに応じて、この適格なブロック記憶位置に前記置換データを記憶するように更に構成されている、キャッシュメモリシステム(200)。 - 前記ブロック置換コントローラは、前記個別カウント値がポイントしている前記適格なブロック記憶位置に対応する前記最近アクセスビットの前記特定の1つが、この適格なブロック記憶位置が最近アクセスされていないことを示す場合に、この適格なブロック記憶位置に前記置換データを記憶するように構成されている、請求項1に記載のキャッシュメモリシステム。
- 前記ブロック置換コントローラは、キャッシュアクセス要求が前記適格なブロック記憶位置にアクセスすると、前記適格なブロック記憶位置に対応する前記最近アクセスビットの前記特定の1つを、前記適格なブロック記憶位置が最近アクセスされたことを示すように設定するように更に構成されている、請求項1に記載のキャッシュメモリシステム。
- 前記ブロック置換コントローラは、前記個別カウント値がポイントしている前記適格なブロック記憶位置に対応する前記最近アクセスビットの前記特定の1つが、この適格なブロック記憶位置が最近アクセスされたことを示す場合に、この適格なブロック記憶位置に前記置換データが記憶されるのを阻止するように更に構成されている、請求項1に記載のキャッシュメモリシステム。
- 前記ブロック置換コントローラは、対応する適格なブロック記憶位置および所定の最近アクセスビットをポイントしている対応する個別カウント値が、前記対応する適格なブロック記憶位置が最近アクセスされていることを示す場合に、この関連する適格なブロック記憶位置が最近アクセスされていないことを示すように、前記所定の最近アクセスビットを設定するように更に構成されている、請求項1に記載のキャッシュメモリシステム。
- それぞれが複数のブロック記憶位置を有する複数のセットを有するキャッシュメモリ(269,16A,17A,18A)を提供するステップと、
前記キャッシュメモリの各セットに対応する個別カウント値を保持するステップであって、所定のセットに対応する前記個別カウント値は、前記所定のセット内の、置換データを記憶するための適格なブロック記憶位置をポイントしているステップと、
前記ブロック記憶位置の少なくとも一部のそれぞれに対して、その対応するブロック記憶位置が最近アクセスされたかどうかを示す関連する最近アクセスビットを保持するステップと、
各関連する最近アクセスビットを記憶域に記憶するステップであって、前記関連する最近アクセスビットの数は、セット数×(n−log 2 n)(nは前記キャッシュメモリのアソシエティビティのウェイ数)に直接対応しているステップと、
前記個別カウント値がポイントしている適格なブロック記憶位置に対応する前記最近アクセスビットの特定の1つが、前記適格なブロック記憶位置が最近アクセスされたことを示しているかどうかに応じて、この適格なブロック記憶位置に前記置換データを記憶するステップとを含む方法。 - 前記個別カウント値がポイントしている前記適格なブロック記憶位置に対応する前記最近アクセスビットの前記特定の1つが、この適格なブロック記憶位置が最近アクセスされていないことを示す場合に、この適格なブロック記憶位置に前記置換データを記憶するステップを更に含む、請求項6に記載の方法。
- キャッシュアクセス要求が前記適格なブロック記憶位置にアクセスすると、前記適格なブロック記憶位置に対応する前記最近アクセスビットの前記特定の1つを、前記適格なブロック記憶位置が最近アクセスされたことを示すように設定するステップを更に含む、請求項7に記載の方法。
- 前記個別カウント値がポイントしている前記適格なブロック記憶位置に対応する前記最近アクセスビットの前記特定の1つが、この適格なブロック記憶位置が最近アクセスされたことを示す場合に、この適格なブロック記憶位置に前記置換データが記憶されるのを阻止するステップを更に含む、請求項7に記載の方法。
- 対応する適格なブロック記憶位置および所定の最近アクセスビットをポイントしている対応する個別カウント値が、前記対応する適格なブロック記憶位置が最近アクセスされていることを示す場合に、この関連する適格なブロック記憶位置が最近アクセスされていないことを示すように、前記所定の最近アクセスビットを設定するステップを含む、請求項8に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/849,515 | 2007-09-04 | ||
US11/849,515 US7861041B2 (en) | 2007-09-04 | 2007-09-04 | Second chance replacement mechanism for a highly associative cache memory of a processor |
PCT/US2008/010368 WO2009032275A1 (en) | 2007-09-04 | 2008-09-04 | Second chance replacement mechanism for a highly associative cache memory of a processor |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010538390A JP2010538390A (ja) | 2010-12-09 |
JP2010538390A5 JP2010538390A5 (ja) | 2013-07-18 |
JP5328792B2 true JP5328792B2 (ja) | 2013-10-30 |
Family
ID=40002967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010524027A Active JP5328792B2 (ja) | 2007-09-04 | 2008-09-04 | プロセッサの非常にアソシエティビティの高いキャッシュメモリ用のセカンドチャンス置換機構 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7861041B2 (ja) |
EP (1) | EP2198370B1 (ja) |
JP (1) | JP5328792B2 (ja) |
KR (1) | KR101509628B1 (ja) |
CN (1) | CN101918925B (ja) |
TW (1) | TWI451330B (ja) |
WO (1) | WO2009032275A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5426036B2 (ja) | 2010-11-25 | 2014-02-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 複数のプロセッサのメモリ共有化のためのメモリアクセス装置、及びそのアクセス方法 |
US8615636B2 (en) * | 2011-03-03 | 2013-12-24 | International Business Machines Corporation | Multiple-class priority-based replacement policy for cache memory |
US9063945B2 (en) * | 2011-06-14 | 2015-06-23 | International Business Machines Corporation | Apparatus and method to copy data |
US9378153B2 (en) | 2013-08-27 | 2016-06-28 | Advanced Micro Devices, Inc. | Early write-back of modified data in a cache memory |
CN105938447B (zh) | 2015-03-06 | 2018-12-14 | 华为技术有限公司 | 数据备份装置及方法 |
US10402337B2 (en) * | 2017-08-03 | 2019-09-03 | Micron Technology, Inc. | Cache filter |
US10725782B2 (en) * | 2017-09-12 | 2020-07-28 | Qualcomm Incorporated | Providing variable interpretation of usefulness indicators for memory tables in processor-based systems |
CN108304214B (zh) * | 2017-12-13 | 2022-05-13 | 超聚变数字技术有限公司 | 一种立即数的完整性的校验方法及装置 |
US10783083B2 (en) | 2018-02-12 | 2020-09-22 | Stmicroelectronics (Beijing) Research & Development Co. Ltd | Cache management device, system and method |
US11561895B2 (en) | 2019-09-05 | 2023-01-24 | Advanced Micro Devices, Inc. | Oldest operation wait time indication input into set-dueling |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0222751A (ja) * | 1988-07-11 | 1990-01-25 | Mitsubishi Electric Corp | 優先順位決定手段 |
FR2645986B1 (fr) * | 1989-04-13 | 1994-06-17 | Bull Sa | Procede pour accelerer les acces memoire d'un systeme informatique et systeme pour la mise en oeuvre du procede |
US5353425A (en) * | 1992-04-29 | 1994-10-04 | Sun Microsystems, Inc. | Methods and apparatus for implementing a pseudo-LRU cache memory replacement scheme with a locking feature |
JPH10198603A (ja) * | 1997-01-08 | 1998-07-31 | Canon Inc | 情報処理システム及びその制御方法、情報処理装置 |
US6243791B1 (en) * | 1998-08-13 | 2001-06-05 | Hewlett-Packard Company | Method and architecture for data coherency in set-associative caches including heterogeneous cache sets having different characteristics |
US6490656B1 (en) | 2000-02-18 | 2002-12-03 | Hewlett-Packard Company | Retaining state information of an array of elements by subdividing the array into groups of elements |
US6823427B1 (en) | 2001-05-16 | 2004-11-23 | Advanced Micro Devices, Inc. | Sectored least-recently-used cache replacement |
US6732238B1 (en) | 2001-06-08 | 2004-05-04 | Tensilica, Inc. | Set-associative cache memory having variable time decay rewriting algorithm |
JP3988485B2 (ja) * | 2002-02-25 | 2007-10-10 | セイコーエプソン株式会社 | キャッシュ回路、情報処理装置及び電子機器 |
US7062610B2 (en) * | 2002-09-30 | 2006-06-13 | Advanced Micro Devices, Inc. | Method and apparatus for reducing overhead in a data processing system with a cache |
US6901483B2 (en) * | 2002-10-24 | 2005-05-31 | International Business Machines Corporation | Prioritizing and locking removed and subsequently reloaded cache lines |
EP1667028A4 (en) * | 2003-09-19 | 2008-10-29 | Matsushita Electric Ind Co Ltd | ANTEMEMOIRE AND METHOD FOR CONTROLLING ANTEMEMOIRE |
KR100813370B1 (ko) * | 2003-11-12 | 2008-03-12 | 마쯔시다덴기산교 가부시키가이샤 | 캐시 메모리 및 그 제어방법 |
JP4036206B2 (ja) * | 2004-03-31 | 2008-01-23 | 日本電気株式会社 | セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法 |
US8806103B2 (en) * | 2004-04-28 | 2014-08-12 | Hewlett-Packard Development Company, L.P. | System and method for interleaving memory |
US7516275B2 (en) * | 2006-04-25 | 2009-04-07 | International Business Machines Corporation | Pseudo-LRU virtual counter for a locking cache |
-
2007
- 2007-09-04 US US11/849,515 patent/US7861041B2/en active Active
-
2008
- 2008-08-25 TW TW097132347A patent/TWI451330B/zh active
- 2008-09-04 WO PCT/US2008/010368 patent/WO2009032275A1/en active Application Filing
- 2008-09-04 CN CN200880111266.6A patent/CN101918925B/zh active Active
- 2008-09-04 KR KR20107007196A patent/KR101509628B1/ko active IP Right Grant
- 2008-09-04 JP JP2010524027A patent/JP5328792B2/ja active Active
- 2008-09-04 EP EP08829948A patent/EP2198370B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2198370B1 (en) | 2012-07-11 |
US20090063776A1 (en) | 2009-03-05 |
KR101509628B1 (ko) | 2015-04-08 |
CN101918925A (zh) | 2010-12-15 |
KR20100054155A (ko) | 2010-05-24 |
CN101918925B (zh) | 2017-05-03 |
TWI451330B (zh) | 2014-09-01 |
WO2009032275A1 (en) | 2009-03-12 |
US7861041B2 (en) | 2010-12-28 |
EP2198370A1 (en) | 2010-06-23 |
JP2010538390A (ja) | 2010-12-09 |
TW200912742A (en) | 2009-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5328792B2 (ja) | プロセッサの非常にアソシエティビティの高いキャッシュメモリ用のセカンドチャンス置換機構 | |
US11074190B2 (en) | Slot/sub-slot prefetch architecture for multiple memory requestors | |
US6725337B1 (en) | Method and system for speculatively invalidating lines in a cache | |
US6366984B1 (en) | Write combining buffer that supports snoop request | |
JP4486750B2 (ja) | テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造 | |
US5787478A (en) | Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy | |
US7624235B2 (en) | Cache used both as cache and staging buffer | |
US6496902B1 (en) | Vector and scalar data cache for a vector multiprocessor | |
US10579531B2 (en) | Multi-line data prefetching using dynamic prefetch depth | |
JP2010532517A (ja) | 連想度を設定可能なキャッシュメモリ | |
JP2006517040A (ja) | キャッシュラインサイズが異なる第一レベルキャッシュと第二レベルキャッシュを備えたマイクロプロセッサ | |
US7640399B1 (en) | Mostly exclusive shared cache management policies | |
JP5063104B2 (ja) | エントリの時間経過によるキャッシュ・エントリの所有権喪失 | |
US11023410B2 (en) | Instructions for performing multi-line memory accesses | |
EP2430551A2 (en) | Cache coherent support for flash in a memory hierarchy | |
US20100318741A1 (en) | Multiprocessor computer cache coherence protocol | |
US7882309B2 (en) | Method and apparatus for handling excess data during memory access | |
US20090006777A1 (en) | Apparatus for reducing cache latency while preserving cache bandwidth in a cache subsystem of a processor | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
JP2013073271A (ja) | アドレス変換装置、アドレス変換装置の制御方法及び演算処理装置 | |
CN117785737A (zh) | 基于链表结构并支持动态分区粒度访问的末级高速缓存 | |
CN116361206A (zh) | 一种可配置容量的地址转换缓冲标记控制器及其应用方法 | |
Jing et al. | A 16-Port Data Cache for Chip Multi-Processor Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110902 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130306 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20130603 |
|
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: 20130710 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130723 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5328792 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |