JP2007249971A - 統合キャッシュ階層における最新性情報の同期 - Google Patents
統合キャッシュ階層における最新性情報の同期 Download PDFInfo
- Publication number
- JP2007249971A JP2007249971A JP2007063584A JP2007063584A JP2007249971A JP 2007249971 A JP2007249971 A JP 2007249971A JP 2007063584 A JP2007063584 A JP 2007063584A JP 2007063584 A JP2007063584 A JP 2007063584A JP 2007249971 A JP2007249971 A JP 2007249971A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- level cache
- message
- throttling
- synchronization
- 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/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
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
Description
前記下位レベルキャッシュに統合される上位レベルキャッシュに前記下位レベルキャッシュラインに関する最新性情報を送信するステップとを有する方法を提供する。
20 プロセッサコア
22 メッセージユニット
25、28 キャッシュ
30 リンク
40 ラストレベルキャッシュ
300 スロットルユニット
310、320 カウンタ
330 スロットルロジック
335、340 レジスタ
500 マルチプロセッサシステム
550 ポイント・ツー・ポイントインターコネクト
570、580 プロセッサ
Claims (28)
- 下位レベルキャッシュの下位レベルキャッシュラインに存在するデータに対するキャッシュアクセスリクエストを受け付けるステップと、
前記下位レベルキャッシュに統合される上位レベルキャッシュに前記下位レベルキャッシュラインに関する最新性情報を送信するステップと、
を有する方法。 - 前記最新性情報に基づき、前記下位レベルキャッシュラインに対応する上位レベルキャッシュの上位レベルキャッシュラインに係る経時データを更新するステップをさらに有する、請求項1記載の方法。
- 前記経時データに少なくとも部分的に基づき、前記上位レベルキャッシュラインを排除せず、当該キャッシュラインに係るより古い経時データを有する第2の上位レベルキャッシュラインを排除するステップをさらに有する、請求項2記載の方法。
- 前記最新性情報を送信するステップは、ゼロ長リードリクエストを前記上位レベルキャッシュに送信するステップを有する、請求項1記載の方法。
- 前記ゼロ長リードリクエストに対応する最も最近利用された状態に、前記下位レベルキャッシュラインに対応する上位レベルキャッシュラインを設定するステップをさらに有する、請求項4記載の方法。
- 各々が複数のプロセッサコアの1つに係る複数の下位レベルキャッシュからのキャッシュアクセスリクエストに関する最新性情報を前記上位レベルキャッシュに送信するステップをさらに有する、請求項1記載の方法。
- 前記複数の下位レベルキャッシュの少なくとも1つに関する最新性情報の送信をスロットリングするステップをさらに有する、請求項6記載の方法。
- 前記複数の下位レベルキャッシュの少なくとも1つに係るプロセッサコアに対する帯域幅割当に基づきスロットリングするステップをさらに有する、請求項7記載の方法。
- 第1レベルキャッシュと、
前記第1レベルキャッシュに接続される第2レベルキャッシュと、
アクセスリクエストが前記第1レベルキャッシュに存在するデータに対応する場合、前記第2レベルキャッシュにメッセージを送信するメッセージユニットと、
を有する装置。 - 前記メッセージユニットは、ゼロの長さフィールドを有するリードリクエストとして前記メッセージを生成する、請求項9記載の装置。
- 閾値数のメッセージが第1期間に前記メッセージユニットから送信された場合、前記送信をスロットリングするスロットル装置をさらに有する、請求項9記載の装置。
- 前記メッセージユニットは、前記第1レベルキャッシュにかかるコアのトランザクショントラフィックに少なくとも部分的に基づき、前記送信をスロットリングする、請求項11記載の装置。
- 前記スロットル装置はさらに、前記トランザクショントラフィックがトラフィック閾値を超過しているか判断し、超過している場合、前記送信をスロットリングするロジックを有する、請求項12記載の装置。
- 前記第2レベルキャッシュは、前記データを含む前記第2レベルキャッシュのキャッシュラインに対する最新性情報を更新する、請求項9記載の装置。
- 前記第2レベルキャッシュは、前記最新性情報に少なくとも部分的に基づき、前記データを有するキャッシュラインを維持し、異なるキャッシュラインを排除する、請求項14記載の装置。
- 前記第2レベルキャッシュは、前記第1レベルキャッシュより上位のレベルを有する、請求項9記載の装置。
- マシーンにより実行されると、
ある期間にキャッシュ階層の第1キャッシュから第2キャッシュに送信される同期メッセージの個数を決定するステップと、
前記同期メッセージの個数がメッセージ閾値を超過する場合、前記同期メッセージをスロットリングするステップと、
を有する方法を前記マシーンが実行することを可能にする命令を有するマシーン可読記憶媒体を有する物。 - 前記方法はさらに、前記同期メッセージの個数が前記メッセージ閾値を超過する場合、スロットル指標を設定するステップを有する、請求項17記載の物。
- 前記方法はさらに、前記期間後に前記スロットル指標をクリアするステップを有する、請求項18記載の物。
- 前記方法はさらに、保留中のプロセッサトランザクションの個数がウォーターマーク閾値を超過するか判断するステップを有する、請求項17記載の物。
- 前記方法はさらに、前記保留中のプロセッサトランザクションの個数がウォーターマーク閾値を超過している場合、前記同期メッセージをスロットリングするステップを有する、請求項20記載の方法。
- 前記方法はさらに、第2プロセッサコアから共有キャッシュメモリに同期メッセージをスロットリングしない間、第1プロセッサコアから前記共有キャッシュメモリに同期メッセージをスロットリングするステップを有する、請求項17記載の物。
- 第1キャッシュメモリを有する第1プロセッサコアと、
第2キャッシュメモリを有する第2プロセッサコアと、
前記第1プロセッサコアと前記第2プロセッサコアとに接続され、前記第1キャッシュメモリにおいてヒットが生じた場合、前記第1プロセッサコアが同期メッセージを送信する共有キャッシュメモリと、
前記共有キャッシュメモリに接続されるDRAM(Dynamic Random Access Memory)と、
を有するシステム。 - 前記共有キャッシュメモリは、前記第1キャッシュメモリと前記第2キャッシュメモリとに関する統合キャッシュメモリを有する、請求項23記載のシステム。
- 前記第1プロセッサコアと、前記第2プロセッサコアと、前記共有キャッシュメモリとを有するマルチコアプロセッサをさらに有する、請求項23記載のシステム。
- 前記第1プロセッサコアはさらに、前記同期メッセージを生成するメッセージユニットを有し、
前記同期メッセージは、ゼロ長リードリクエストを有する、請求項23記載のシステム。 - 前記メッセージユニットはさらに、前記第1プロセッサコアに保留中のトランザクションのレベルに少なくとも部分的に基づき、同期メッセージの送信をスロットリングするスロットルロジックを有する、請求項24記載のシステム。
- 前記スロットルロジックは、ある期間に送信される同期メッセージの個数に少なくとも部分的に基づき、同期メッセージの送信をスロットリングする、請求項27記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/374,222 US7757045B2 (en) | 2006-03-13 | 2006-03-13 | Synchronizing recency information in an inclusive cache hierarchy |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007249971A true JP2007249971A (ja) | 2007-09-27 |
JP4195902B2 JP4195902B2 (ja) | 2008-12-17 |
Family
ID=38480274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007063584A Expired - Fee Related JP4195902B2 (ja) | 2006-03-13 | 2007-03-13 | 統合キャッシュ階層における最新性情報の同期 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7757045B2 (ja) |
JP (1) | JP4195902B2 (ja) |
CN (1) | CN101127005B (ja) |
DE (1) | DE102007012058A1 (ja) |
TW (1) | TWI337708B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010140362A (ja) * | 2008-12-12 | 2010-06-24 | Nec Corp | 分散キャッシュシステム、方法、プログラム、及び計算ノード |
KR101602150B1 (ko) * | 2014-11-10 | 2016-03-10 | 전남대학교산학협력단 | 공간 지역성 인지 선인출 기법을 이용하는 메모리 장치, 그 메모리 장치를 포함하는 컴퓨팅 시스템, 데이터 인출 방법 및 데이터 인출 프로그램 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019306A1 (en) * | 2007-07-11 | 2009-01-15 | Herbert Hum | Protecting tag information in a multi-level cache hierarchy |
US9035959B2 (en) | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
US9058272B1 (en) | 2008-04-25 | 2015-06-16 | Marvell International Ltd. | Method and apparatus having a snoop filter decoupled from an associated cache and a buffer for replacement line addresses |
US8930644B2 (en) * | 2008-05-02 | 2015-01-06 | Xilinx, Inc. | Configurable transactional memory for synchronizing transactions |
US8015365B2 (en) * | 2008-05-30 | 2011-09-06 | Intel Corporation | Reducing back invalidation transactions from a snoop filter |
US8214602B2 (en) * | 2008-06-23 | 2012-07-03 | Advanced Micro Devices, Inc. | Efficient load queue snooping |
EP2443574A4 (en) | 2009-06-19 | 2014-05-07 | Blekko Inc | EVOLVING CLUSTER DATABASE |
US8971470B2 (en) * | 2011-02-25 | 2015-03-03 | Intel Corporation | System, method, and device to distribute accurate synchronization timestamps in an expandable and timing critical system |
US9110658B2 (en) * | 2011-04-29 | 2015-08-18 | International Business Machines Corporation | Automatic verification and synthesis for weak memory models |
US8972661B2 (en) * | 2011-10-31 | 2015-03-03 | International Business Machines Corporation | Dynamically adjusted threshold for population of secondary cache |
US9170955B2 (en) | 2012-11-27 | 2015-10-27 | Intel Corporation | Providing extended cache replacement state information |
US9158702B2 (en) | 2012-12-28 | 2015-10-13 | Intel Corporation | Apparatus and method for implementing a scratchpad memory using priority hint |
US9378148B2 (en) | 2013-03-15 | 2016-06-28 | Intel Corporation | Adaptive hierarchical cache policy in a microprocessor |
US9336144B2 (en) * | 2013-07-25 | 2016-05-10 | Globalfoundries Inc. | Three-dimensional processing system having multiple caches that can be partitioned, conjoined, and managed according to more than one set of rules and/or configurations |
CN106155936B (zh) * | 2015-04-01 | 2019-04-12 | 华为技术有限公司 | 一种缓存替换方法与相关装置 |
US9600417B2 (en) | 2015-04-29 | 2017-03-21 | Google Inc. | Data caching |
US20170300427A1 (en) * | 2016-04-18 | 2017-10-19 | Mediatek Inc. | Multi-processor system with cache sharing and associated cache sharing method |
US9946646B2 (en) * | 2016-09-06 | 2018-04-17 | Advanced Micro Devices, Inc. | Systems and method for delayed cache utilization |
US10847196B2 (en) | 2016-10-31 | 2020-11-24 | Rambus Inc. | Hybrid memory module |
WO2019074743A1 (en) | 2017-10-12 | 2019-04-18 | Rambus Inc. | NON-VOLATILE PHYSICAL MEMORY WITH DRAM CACHE MEMORY |
US11467964B1 (en) * | 2020-03-09 | 2022-10-11 | Marvell Asia Pte Ltd | Mergeable counter system and method |
US11379370B1 (en) | 2020-04-08 | 2022-07-05 | Marvell Asia Pte Ltd | System and methods for reducing global coherence unit snoop filter lookup via local memories |
US11886342B2 (en) | 2021-12-01 | 2024-01-30 | International Business Machines Corporation | Augmenting cache replacement operations |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61229142A (ja) | 1985-04-04 | 1986-10-13 | Hitachi Ltd | 階層構成をなすバツフアメモリシステムにおけるリブレ−ス制御用アレイ管理装置 |
US5590308A (en) | 1993-09-01 | 1996-12-31 | International Business Machines Corporation | Method and apparatus for reducing false invalidations in distributed systems |
US5809526A (en) * | 1996-10-28 | 1998-09-15 | International Business Machines Corporation | Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation |
US6970976B1 (en) * | 1999-06-25 | 2005-11-29 | International Business Machines Corporation | Layered local cache with lower level cache optimizing allocation mechanism |
US6457101B1 (en) * | 1999-12-20 | 2002-09-24 | Unisys Corporation | System and method for providing the speculative return of cached data within a hierarchical memory system |
US6574714B2 (en) | 2001-02-12 | 2003-06-03 | International Business Machines Corporation | Efficient instruction cache coherency maintenance mechanism for scalable multiprocessor computer system with write-back data cache |
US6820143B2 (en) * | 2002-12-17 | 2004-11-16 | International Business Machines Corporation | On-chip data transfer in multi-processor system |
CN1320464C (zh) | 2003-10-23 | 2007-06-06 | 英特尔公司 | 用于维持共享高速缓存一致性的方法和设备 |
US7711901B2 (en) | 2004-02-13 | 2010-05-04 | Intel Corporation | Method, system, and apparatus for an hierarchical cache line replacement |
US7228388B2 (en) * | 2004-11-19 | 2007-06-05 | International Business Machines Corporation | Enabling and disabling cache bypass using predicted cache line usage |
US20090019306A1 (en) | 2007-07-11 | 2009-01-15 | Herbert Hum | Protecting tag information in a multi-level cache hierarchy |
-
2006
- 2006-03-13 US US11/374,222 patent/US7757045B2/en not_active Expired - Fee Related
-
2007
- 2007-03-12 CN CN200710103561.4A patent/CN101127005B/zh not_active Expired - Fee Related
- 2007-03-13 TW TW096108530A patent/TWI337708B/zh not_active IP Right Cessation
- 2007-03-13 JP JP2007063584A patent/JP4195902B2/ja not_active Expired - Fee Related
- 2007-03-13 DE DE102007012058A patent/DE102007012058A1/de not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010140362A (ja) * | 2008-12-12 | 2010-06-24 | Nec Corp | 分散キャッシュシステム、方法、プログラム、及び計算ノード |
KR101602150B1 (ko) * | 2014-11-10 | 2016-03-10 | 전남대학교산학협력단 | 공간 지역성 인지 선인출 기법을 이용하는 메모리 장치, 그 메모리 장치를 포함하는 컴퓨팅 시스템, 데이터 인출 방법 및 데이터 인출 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
CN101127005B (zh) | 2015-11-25 |
DE102007012058A1 (de) | 2008-01-10 |
TW200813716A (en) | 2008-03-16 |
JP4195902B2 (ja) | 2008-12-17 |
US20070214321A1 (en) | 2007-09-13 |
TWI337708B (en) | 2011-02-21 |
US7757045B2 (en) | 2010-07-13 |
CN101127005A (zh) | 2008-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4195902B2 (ja) | 統合キャッシュ階層における最新性情報の同期 | |
US8140759B2 (en) | Specifying an access hint for prefetching partial cache block data in a cache hierarchy | |
US7917699B2 (en) | Apparatus and method for controlling the exclusivity mode of a level-two cache | |
EP1388065B1 (en) | Method and system for speculatively invalidating lines in a cache | |
US8041897B2 (en) | Cache management within a data processing apparatus | |
US7434007B2 (en) | Management of cache memories in a data processing apparatus | |
US8176255B2 (en) | Allocating space in dedicated cache ways | |
US10579531B2 (en) | Multi-line data prefetching using dynamic prefetch depth | |
US20070156963A1 (en) | Method and system for proximity caching in a multiple-core system | |
US20060218352A1 (en) | Cache eviction technique for reducing cache eviction traffic | |
US20060064547A1 (en) | Method and apparatus for run-ahead victim selection to reduce undesirable replacement behavior in inclusive caches | |
US9524232B2 (en) | Inter-core cooperative TLB prefetchers | |
US20100217937A1 (en) | Data processing apparatus and method | |
JP2003186744A (ja) | キャッシュエントリのプリエンプティブな追い出しのために使用される時間を調整することによるコンピュータパフォーマンスの向上方法 | |
JPWO2005091146A1 (ja) | キャッシュメモリ及びその制御方法 | |
US20070288694A1 (en) | Data processing system, processor and method of data processing having controllable store gather windows | |
US20210182214A1 (en) | Prefetch level demotion | |
US7454580B2 (en) | Data processing system, processor and method of data processing that reduce store queue entry utilization for synchronizing operations | |
US8473686B2 (en) | Computer cache system with stratified replacement | |
US9280476B2 (en) | Hardware stream prefetcher with dynamically adjustable stride | |
US7610458B2 (en) | Data processing system, processor and method of data processing that support memory access according to diverse memory models | |
US8176254B2 (en) | Specifying an access hint for prefetching limited use data in a cache hierarchy | |
US20240111677A1 (en) | Region pattern-matching hardware prefetcher | |
JP2006260378A (ja) | 半導体集積回路 | |
KR20240069323A (ko) | 이종 메모리로 구성된 메인 메모리 장치를 포함하는 컴퓨터 시스템 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080527 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080827 |
|
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: 20080909 |
|
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: 20080929 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111003 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121003 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131003 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |