JP2010517184A - スヌープ要求キャッシュを用いたスヌープ・フィルタリング - Google Patents
スヌープ要求キャッシュを用いたスヌープ・フィルタリング Download PDFInfo
- Publication number
- JP2010517184A JP2010517184A JP2009547456A JP2009547456A JP2010517184A JP 2010517184 A JP2010517184 A JP 2010517184A JP 2009547456 A JP2009547456 A JP 2009547456A JP 2009547456 A JP2009547456 A JP 2009547456A JP 2010517184 A JP2010517184 A JP 2010517184A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- snoop
- processor
- data
- snoop request
- 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
-
- 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/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
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
Description
Claims (28)
- スヌープ・エンティティによって、データ・キャッシュを有するターゲット・プロセッサへのデータ・キャッシュ・スヌープ要求をフィルタする方法であって、
データ格納動作に応答してスヌープ要求キャッシュのルックアップを実行することと、
ヒットに応答して前記データ・キャッシュ・スヌープ要求を抑制することと
を備えた方法。 - 前記ヒットに応答してデータ・キャッシュ・スヌープ要求を抑制することは更に、ヒットしているキャッシュ・エントリ内の、前記スヌープ・エンティティの識別に応答して、前記データ・キャッシュ・スヌープ要求を抑制することを更に備えた請求項1に記載の方法。
- 前記ヒットに応答してデータ・キャッシュ・スヌープ要求を抑制することは更に、ヒットしているキャッシュ・エントリ内の、前記ターゲット・プロセッサの識別に応答して、前記データ・キャッシュ・スヌープ要求を抑制することを更に備えた請求項1に記載の方法。
- ミスに応答して前記スヌープ要求キャッシュ内のエントリを割り当てることを更に備えた請求項1に記載の方法。
- ミスに応答して、前記データ・キャッシュ・スヌープ要求を前記ターゲット・プロセッサへ転送することを更に備えた請求項4に記載の方法。
- 前記スヌープ要求キャッシュ内のエントリを割り当てることは更に、前記スヌープ要求キャッシュ内に、前記スヌープ・エンティティの識別情報を含めることを備えた請求項4に記載の方法。
- 前記スヌープ要求キャッシュ内のエントリを割り当てることは更に、前記スヌープ要求キャッシュ内に、前記ターゲット・プロセッサの識別情報を含めることを備えた請求項4に記載の方法。
- ヒットに応答して、前記データ・キャッシュ・スヌープ要求を前記ターゲット・プロセッサへ転送することであって、前記ターゲット・プロセッサの識別情報が前記ヒットしているキャッシュ・エントリ内に設定されていないことと、
前記ターゲット・プロセッサの識別情報を前記ヒットしているキャッシュ・エントリ内に設定することと
を更に備えた請求項1に記載の方法。 - 前記スヌープ・エンティティは、データ・キャッシュを有するプロセッサであり、データ・ロード動作に応答して、スヌープ要求キャッシュのルックアップを実行することを更に備えた請求項1に記載の方法。
- ヒットに応答して、前記ヒットしているスヌープ要求キャッシュ・エントリを無効にすることを更に備えた請求項9に記載の方法。
- ヒットに応答して、前記プロセッサの識別情報を前記ヒットしているキャッシュ・エントリから除去することを更に備えた請求項9に記載の方法。
- 前記スヌープ要求キャッシュのルックアップは、予め定められた属性を有するデータのデータ格納動作のためにのみ実行される請求項1に記載の方法。
- 前記予め定められた属性は、前記データが共有されることである請求項12に記載の方法。
- 前記データ・キャッシュ・スヌープ要求は、前記ターゲット・プロセッサのデータ・キャッシュ内のラインのキャッシュ状態を変更するように動作可能である請求項1に記載の方法。
- 前記データ・キャッシュ・スヌープ要求は、前記ターゲット・プロセッサのデータ・キャッシュからのラインを無効にするように動作可能なスヌープ・キル要求である請求項14に記載の方法。
- メモリと、
データ・キャッシュを有する第1のプロセッサと、
予め定められた属性を有するデータをメモリへ書き込むと、データ・キャッシュ・スヌープ要求を前記第1のプロセッサへ向けるように動作可能なスヌープ・エンティティと、
各有効なエントリが、前のデータ・キャッシュ・スヌープ要求を示す少なくとも1つのエントリを備えた少なくとも1つのスヌープ要求キャッシュとを備え、
前記スヌープ・エンティティは更に、データ・キャッシュ・スヌープ要求を前記第1のプロセッサへ向ける前に、スヌープ要求キャッシュのルックアップを実行し、ヒットに応答して、前記データ・キャッシュ・スヌープ要求を抑制するように動作可能であるコンピュータ・システム。 - 前記スヌープ・エンティティは更に、ミスに応答して、前記スヌープ要求キャッシュ内の新たなエントリを割り当てるように動作可能である請求項16に記載のシステム。
- 前記スヌープ・エンティティは更に、ヒットしているキャッシュ・エントリ内の、前記スヌープ・エンティティの識別に応答して、前記データ・キャッシュ・スヌープ要求を抑制するように動作可能である請求項16に記載のシステム。
- 前記スヌープ・エンティティは更に、ヒットしているキャッシュ・エントリ内の、前記第1のプロセッサの識別に応答して、前記データ・キャッシュ・スヌープ要求を抑制するように動作可能である請求項16に記載のシステム。
- 前記スヌープ・エンティティは更に、前記第1のプロセッサの識別情報が設定されていないヒットしているエントリ内に、前記第1のプロセッサの識別情報を設定するように動作可能である請求項19に記載のシステム。
- 前記予め定められた属性は、共有データを示す請求項16に記載のシステム。
- 前記第1のプロセッサは更に、予め定められた属性を有するデータをメモリから読み取ると、スヌープ要求キャッシュのルックアップを実行し、ヒットに応答して、ヒットしているスヌープ要求キャッシュ・エントリを変更するように動作可能である請求項16に記載のシステム。
- 前記第1のプロセッサは、前記ヒットしているスヌープ要求キャッシュ・エントリを無効にするように動作可能である請求項22に記載のシステム。
- 前記第1のプロセッサは、前記ヒットしているスヌープ要求キャッシュ・エントリから、自身の識別情報をクリアするように動作可能である請求項22に記載のシステム。
- 前記少なくとも1つのスヌープ要求キャッシュは、予め定められた属性を有するデータをメモリへ書き込むと、前記第1のプロセッサと前記スヌープ・エンティティとの両方がルックアップを実行する、単一のスヌープ要求キャッシュを備えた請求項16に記載のシステム。
- 前記少なくとも1つのスヌープ要求キャッシュは、
予め定められた属性を有するデータをメモリへ書き込むと、前記第1のプロセッサがルックアップを実行するように動作可能な第1のスヌープ要求キャッシュと、
予め定められた属性を有するデータをメモリへ書き込むと、前記スヌープ・エンティティがルックアップを実行するように動作可能な第2のスヌープ要求キャッシュと
を備えた請求項16に記載のシステム。 - 前記第1のプロセッサは更に、予め定められた属性を有するデータをメモリから読み取ると、前記第2のスヌープ要求キャッシュ内のルックアップを実行するように動作可能である請求項26に記載のシステム。
- データ・キャッシュを有する第2のプロセッサと、
予め定められた属性を有するデータをメモリへ書き込むと、前記スヌープ・エンティティがルックアップを実行するように動作可能な第3のスヌープ要求キャッシュと
を更に備えた請求項26に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/627,705 US20080183972A1 (en) | 2007-01-26 | 2007-01-26 | Snoop Filtering Using a Snoop Request Cache |
US11/627,705 | 2007-01-26 | ||
PCT/US2008/052216 WO2008092159A1 (en) | 2007-01-26 | 2008-01-28 | Snoop filtering using a snoop request cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010517184A true JP2010517184A (ja) | 2010-05-20 |
JP5221565B2 JP5221565B2 (ja) | 2013-06-26 |
Family
ID=39512520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009547456A Expired - Fee Related JP5221565B2 (ja) | 2007-01-26 | 2008-01-28 | スヌープ要求キャッシュを用いたスヌープ・フィルタリング |
Country Status (10)
Country | Link |
---|---|
US (1) | US20080183972A1 (ja) |
EP (1) | EP2115597A1 (ja) |
JP (1) | JP5221565B2 (ja) |
KR (2) | KR101313710B1 (ja) |
CN (1) | CN101601019B (ja) |
BR (1) | BRPI0807437A2 (ja) |
CA (1) | CA2674723A1 (ja) |
MX (1) | MX2009007940A (ja) |
RU (1) | RU2443011C2 (ja) |
WO (1) | WO2008092159A1 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108619B2 (en) * | 2008-02-01 | 2012-01-31 | International Business Machines Corporation | Cache management for partial cache line operations |
US8140771B2 (en) * | 2008-02-01 | 2012-03-20 | International Business Machines Corporation | Partial cache line storage-modifying operation based upon a hint |
US8250307B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Sourcing differing amounts of prefetch data in response to data prefetch requests |
US8117401B2 (en) * | 2008-02-01 | 2012-02-14 | International Business Machines Corporation | Interconnect operation indicating acceptability of partial data delivery |
US8266381B2 (en) | 2008-02-01 | 2012-09-11 | International Business Machines Corporation | Varying an amount of data retrieved from memory based upon an instruction hint |
US8255635B2 (en) | 2008-02-01 | 2012-08-28 | International Business Machines Corporation | Claiming coherency ownership of a partial cache line of data |
US8024527B2 (en) * | 2008-02-01 | 2011-09-20 | International Business Machines Corporation | Partial cache line accesses based on memory access patterns |
US8762652B2 (en) * | 2008-04-30 | 2014-06-24 | Freescale Semiconductor, Inc. | Cache coherency protocol in a data processing system |
US8706974B2 (en) * | 2008-04-30 | 2014-04-22 | Freescale Semiconductor, Inc. | Snoop request management in a data processing system |
US8423721B2 (en) * | 2008-04-30 | 2013-04-16 | Freescale Semiconductor, Inc. | Cache coherency protocol in a data processing system |
US9158692B2 (en) * | 2008-08-12 | 2015-10-13 | International Business Machines Corporation | Cache injection directing technique |
US8868847B2 (en) * | 2009-03-11 | 2014-10-21 | Apple Inc. | Multi-core processor snoop filtering |
US8117390B2 (en) | 2009-04-15 | 2012-02-14 | International Business Machines Corporation | Updating partial cache lines in a data processing system |
US8140759B2 (en) | 2009-04-16 | 2012-03-20 | International Business Machines Corporation | Specifying an access hint for prefetching partial cache block data in a cache hierarchy |
US8856456B2 (en) | 2011-06-09 | 2014-10-07 | Apple Inc. | Systems, methods, and devices for cache block coherence |
US9477600B2 (en) | 2011-08-08 | 2016-10-25 | Arm Limited | Apparatus and method for shared cache control including cache lines selectively operable in inclusive or non-inclusive mode |
WO2013188754A1 (en) | 2012-06-15 | 2013-12-19 | Soft Machines, Inc. | A disambiguation-free out of order load store queue |
EP2862084A4 (en) | 2012-06-15 | 2016-11-30 | Soft Machines Inc | METHOD AND SYSTEM FOR IMPLEMENTING RECOVERY FROM A SPECULATIVE TRANSMISSION OF FAULT FORECASTS / ERRORS DUE TO THE CHANGE AND OPTIMIZATION OF MEMORY LOADS |
KR101996351B1 (ko) | 2012-06-15 | 2019-07-05 | 인텔 코포레이션 | 통합된 구조를 갖는 동적 디스패치 윈도우를 가지는 가상 load store 큐 |
CN104583957B (zh) | 2012-06-15 | 2018-08-10 | 英特尔公司 | 具有无消歧乱序加载存储队列的重新排序的推测性指令序列 |
KR101826399B1 (ko) | 2012-06-15 | 2018-02-06 | 인텔 코포레이션 | Load store 재정렬 및 최적화를 구현하는 명령어 정의 |
CN104583943B (zh) | 2012-06-15 | 2018-06-08 | 英特尔公司 | 拥有具有分布式结构的动态分派窗口的虚拟加载存储队列 |
US9268697B2 (en) * | 2012-12-29 | 2016-02-23 | Intel Corporation | Snoop filter having centralized translation circuitry and shadow tag array |
US20160110113A1 (en) * | 2014-10-17 | 2016-04-21 | Texas Instruments Incorporated | Memory Compression Operable for Non-contiguous write/read Addresses |
US9575893B2 (en) * | 2014-10-22 | 2017-02-21 | Mediatek Inc. | Snoop filter for multi-processor system and related snoop filtering method |
JP6334824B2 (ja) * | 2015-07-16 | 2018-05-30 | 東芝メモリ株式会社 | メモリコントローラ、情報処理装置および処理装置 |
US10157133B2 (en) * | 2015-12-10 | 2018-12-18 | Arm Limited | Snoop filter for cache coherency in a data processing system |
US9898408B2 (en) * | 2016-04-01 | 2018-02-20 | Intel Corporation | Sharing aware snoop filter apparatus and method |
US10360158B2 (en) | 2017-03-27 | 2019-07-23 | Samsung Electronics Co., Ltd. | Snoop filter with stored replacement information, method for same, and system including victim exclusive cache and snoop filter shared replacement policies |
KR20220083522A (ko) | 2020-12-11 | 2022-06-20 | 윤태진 | 세척이 용이한 개폐형 싱크대 음식물 거름망 |
US11983538B2 (en) * | 2022-04-18 | 2024-05-14 | Cadence Design Systems, Inc. | Load-store unit dual tags and replays |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745732A (en) * | 1994-11-15 | 1998-04-28 | Cherukuri; Ravikrishna V. | Computer system including system controller with a write buffer and plural read buffers for decoupled busses |
US6516368B1 (en) * | 1999-11-09 | 2003-02-04 | International Business Machines Corporation | Bus master and bus snooper for execution of global operations utilizing a single token for multiple operations with explicit release |
US20040068595A1 (en) * | 2002-10-03 | 2004-04-08 | International Business Machines Corp. | Dynamic cache coherency snooper presence with variable snoop latency |
WO2006104747A2 (en) * | 2005-03-29 | 2006-10-05 | International Business Machines Corporation | Method and apparatus for filtering snoop requests using stream registers |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210845A (en) * | 1990-11-28 | 1993-05-11 | Intel Corporation | Controller for two-way set associative cache |
RU2189630C1 (ru) * | 2001-11-21 | 2002-09-20 | Бабаян Борис Арташесович | Способ фильтрации межпроцессорных запросов в многопроцессорных вычислительных системах и устройство для его осуществления |
US7062612B2 (en) * | 2002-12-12 | 2006-06-13 | International Business Machines Corporation | Updating remote locked cache |
US7089376B2 (en) * | 2003-03-20 | 2006-08-08 | International Business Machines Corporation | Reducing snoop response time for snoopers without copies of requested data via snoop filtering |
-
2007
- 2007-01-26 US US11/627,705 patent/US20080183972A1/en not_active Abandoned
-
2008
- 2008-01-28 MX MX2009007940A patent/MX2009007940A/es active IP Right Grant
- 2008-01-28 JP JP2009547456A patent/JP5221565B2/ja not_active Expired - Fee Related
- 2008-01-28 EP EP08728411A patent/EP2115597A1/en not_active Withdrawn
- 2008-01-28 KR KR1020097017828A patent/KR101313710B1/ko active IP Right Grant
- 2008-01-28 CN CN2008800029873A patent/CN101601019B/zh not_active Expired - Fee Related
- 2008-01-28 CA CA002674723A patent/CA2674723A1/en not_active Abandoned
- 2008-01-28 BR BRPI0807437-2A patent/BRPI0807437A2/pt not_active IP Right Cessation
- 2008-01-28 KR KR1020127010449A patent/KR20120055739A/ko not_active Application Discontinuation
- 2008-01-28 RU RU2009132090/08A patent/RU2443011C2/ru not_active IP Right Cessation
- 2008-01-28 WO PCT/US2008/052216 patent/WO2008092159A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745732A (en) * | 1994-11-15 | 1998-04-28 | Cherukuri; Ravikrishna V. | Computer system including system controller with a write buffer and plural read buffers for decoupled busses |
US6516368B1 (en) * | 1999-11-09 | 2003-02-04 | International Business Machines Corporation | Bus master and bus snooper for execution of global operations utilizing a single token for multiple operations with explicit release |
US20040068595A1 (en) * | 2002-10-03 | 2004-04-08 | International Business Machines Corp. | Dynamic cache coherency snooper presence with variable snoop latency |
WO2006104747A2 (en) * | 2005-03-29 | 2006-10-05 | International Business Machines Corporation | Method and apparatus for filtering snoop requests using stream registers |
JP2008535093A (ja) * | 2005-03-29 | 2008-08-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストリーム・レジスタを用いてスヌープ要求をフィルタする方法、装置及びコンピュータ・プログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20090110920A (ko) | 2009-10-23 |
CN101601019A (zh) | 2009-12-09 |
RU2009132090A (ru) | 2011-03-10 |
CN101601019B (zh) | 2013-07-24 |
WO2008092159A1 (en) | 2008-07-31 |
US20080183972A1 (en) | 2008-07-31 |
EP2115597A1 (en) | 2009-11-11 |
BRPI0807437A2 (pt) | 2014-07-01 |
JP5221565B2 (ja) | 2013-06-26 |
KR20120055739A (ko) | 2012-05-31 |
KR101313710B1 (ko) | 2013-10-01 |
MX2009007940A (es) | 2009-08-18 |
RU2443011C2 (ru) | 2012-02-20 |
CA2674723A1 (en) | 2008-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5221565B2 (ja) | スヌープ要求キャッシュを用いたスヌープ・フィルタリング | |
US8180981B2 (en) | Cache coherent support for flash in a memory hierarchy | |
US9513904B2 (en) | Computer processor employing cache memory with per-byte valid bits | |
US8176282B2 (en) | Multi-domain management of a cache in a processor system | |
US5359723A (en) | Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only | |
US8285969B2 (en) | Reducing broadcasts in multiprocessors | |
US7657710B2 (en) | Cache coherence protocol with write-only permission | |
JP6831788B2 (ja) | キャッシュ保守命令 | |
US20070136535A1 (en) | System and Method for Reducing Unnecessary Cache Operations | |
JPH09259036A (ja) | ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法 | |
JP2006277762A (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
US20030115402A1 (en) | Multiprocessor system | |
CN113892090A (zh) | 多级高速缓存安全性 | |
CN113874845A (zh) | 多请求者存储器存取管线和仲裁器 | |
CN113853589A (zh) | 高速缓冲存储器大小改变 | |
EP3800556A1 (en) | Selective override of cache coherence in multi-processor computer systems | |
WO2013186694A2 (en) | System and method for data classification and efficient virtual cache coherence without reverse translation | |
US8332592B2 (en) | Graphics processor with snoop filter | |
EP3688597B1 (en) | Preemptive cache writeback with transaction support | |
JP3068469B2 (ja) | 2次レベルキャッシュメモリシステム | |
US9442856B2 (en) | Data processing apparatus and method for handling performance of a cache maintenance operation | |
Mallya et al. | Simulation based performance study of cache coherence protocols | |
JP2000132456A (ja) | 並列計算機のキャッシュメモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120110 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120417 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120717 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121016 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130111 |
|
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: 20130205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130307 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5221565 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 |
|
LAPS | Cancellation because of no payment of annual fees |