JP2008027435A - 排他的所有権のスヌープフィルタ - Google Patents
排他的所有権のスヌープフィルタ Download PDFInfo
- Publication number
- JP2008027435A JP2008027435A JP2007170088A JP2007170088A JP2008027435A JP 2008027435 A JP2008027435 A JP 2008027435A JP 2007170088 A JP2007170088 A JP 2007170088A JP 2007170088 A JP2007170088 A JP 2007170088A JP 2008027435 A JP2008027435 A JP 2008027435A
- Authority
- JP
- Japan
- Prior art keywords
- snoop filter
- entry
- line
- coherence
- coherence engine
- 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/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
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
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
Claims (20)
- 排他状態を有するエントリだけをスヌープフィルタに記憶することと、
リクエストが前記エントリと関連するラインの排他的所有権を変更すると、前記スヌープフィルタのエントリをアップデートすること、
を備える方法。 - 前記スヌープフィルタをアップデートする際に、読出リクエストを書込リクエストから分離すること、
を更に備える請求項1に記載の方法。 - 前記エントリをアップデートすることは、
読出リクエストが受信されると、前記スヌープフィルタの前記エントリを削除すること、
を有する請求項1に記載の方法。 - 前記エントリをアップデートすることは、
プロセッサの書き込みリクエストが結果としてヒットになると、前記ラインの所有者を変更すること、
を更に有する請求項1に記載の方法。 - 前記エントリをアップデートすることは、
プロセッサが結果としてミスになる書込リクエストを発行すると、前記スヌープフィルタの新規なエントリを前記プロセッサに割り当てること、
を更に有する請求項1に記載の方法。 - 前記エントリをアップデートすることは、
ダイレクト・メモリ・アクセス(DMA)のリクエストが結果として前記スヌープフィルタのヒットになると、前記スヌープフィルタの前記エントリを削除すること、
を更に有する請求項1に記載の方法。 - 書込リクエストが結果としてミスであると、キャッシュ・ラインが前記スヌープフィルタにより追跡される全てのプロセッサに、インバリッド・メッセージを送信すること、
を更に備える請求項1に記載の方法。 - 書込リクエストが結果としてヒットになると、前記ラインの現在の所有者にインバリッド・メッセージを送信すること、
を更に備える請求項1に記載の方法。 - 複数のプロセッサと、
前記プロセッサに接続され、排他状態を有するエントリだけを記憶しているスヌープフィルタと、
前記スヌープフィルタの前記エントリをアップデートするコヒーレンス・エンジンと、
を備える装置。 - 前記コヒーレンス・エンジンは、
読出リクエストを書込リクエストから分離するシーケンス・ルールをインプリメントする回路、
を有する請求項9に記載の装置。 - 前記コヒーレンス・エンジンは、
読出リクエストが前記コヒーレンス・エンジンにより受信されると、前記スヌープフィルタからエントリを除去するための、スヌープフィルタアップデートユニットを
を更に有する請求項9に記載の装置。 - 前記コヒーレンス・エンジンは、
ラインの排他状態をシェアード状態に変更するためのGoto_Sユニット、
を更に有する請求項11に記載の装置。 - 前記コヒーレンス・エンジンは、
書込リクエストが前記コヒーレンス・エンジンにより受信されると、少なくとも一つの前記プロセッサにインバリッド・メッセージを送信するためのインバリッドユニット、
を更に有する請求項9に記載の装置。 - 前記複数のプロセッサは、
MESI(モディファイド、排他的、シェアード、又は、インバリッド)状態を使用するキャッシュ・コヒーレンス・プロトコルをサポートする複数のキャッシュ、
を有する請求項9に記載の装置。 - ダイレクト・メモリ・アクセス(DMA)リクエストを発行するために、前記スヌープフィルタに接続された複数の入出力(I/O)デバイス、
を更に有する請求項9に記載の装置。 - 複数のプロセッサ、
前記複数のプロセッサにより一部がキャッシュに格納されるサーバ・メモリ、
外部リクエストを受信して応答する少なくとも一つのサーバ入出力(I/O)デバイスと、
排他状態を含むエントリだけを記憶するためのスヌープフィルタと、
前記スヌープフィルタの前記エントリをアップデートするためのコヒーレンス・エンジンと、
を有するチップセット、
を備えるシステム。 - 前記コヒーレンス・エンジンは、
読出リクエストを書込リクエストから分離するシーケンス・ルールをインプリメントするための回路、
を有する請求項16に記載のシステム。 - 前記コヒーレンス・エンジンは、
前記コヒーレンス・エンジンにより読出リクエストが受信されると、前記スヌープフィルタからエントリを除去するためのスヌープフィルタ・アップデートユニット、
を更に有する請求項16に記載のシステム。 - 前記コヒーレンス・エンジンは、
ラインの排他状態をシェアード状態に変更するGoto_Sユニット、
を更に有する請求項18に記載のシステム。 - 前記コヒーレンス・エンジンは、
前記コヒーレンス・エンジンにより書込リクエストが受信されると、少なくとも一つのプロセッサにインバリッド・メッセージを送信するためのインバリッドユニット、
を更に有する請求項16に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/479,327 US7581068B2 (en) | 2006-06-29 | 2006-06-29 | Exclusive ownership snoop filter |
US11/479,327 | 2006-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008027435A true JP2008027435A (ja) | 2008-02-07 |
JP4737691B2 JP4737691B2 (ja) | 2011-08-03 |
Family
ID=38420925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007170088A Expired - Fee Related JP4737691B2 (ja) | 2006-06-29 | 2007-06-28 | 排他的所有権のスヌープフィルタ |
Country Status (6)
Country | Link |
---|---|
US (1) | US7581068B2 (ja) |
JP (1) | JP4737691B2 (ja) |
CN (1) | CN101097545B (ja) |
DE (1) | DE102007030116B4 (ja) |
GB (1) | GB2439650B (ja) |
TW (1) | TWI336846B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009295156A (ja) * | 2008-05-30 | 2009-12-17 | Intel Corp | インバリデーショントランザクションのスヌープフィルタからの削除 |
CN111417934A (zh) * | 2017-12-05 | 2020-07-14 | Arm有限公司 | 用于处理写入操作的装置和方法 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080109624A1 (en) * | 2006-11-03 | 2008-05-08 | Gilbert Jeffrey D | Multiprocessor system with private memory sections |
US7657710B2 (en) * | 2006-11-17 | 2010-02-02 | Sun Microsystems, Inc. | Cache coherence protocol with write-only permission |
US7996626B2 (en) * | 2007-12-13 | 2011-08-09 | Dell Products L.P. | Snoop filter optimization |
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 |
US8041898B2 (en) * | 2008-05-01 | 2011-10-18 | Intel Corporation | Method, system and apparatus for reducing memory traffic in a distributed memory system |
US8489822B2 (en) | 2010-11-23 | 2013-07-16 | Intel Corporation | Providing a directory cache for peripheral devices |
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 |
CN104583956B (zh) | 2012-06-15 | 2019-01-04 | 英特尔公司 | 用于实现加载存储重新排序和优化的指令定义 |
KR101996592B1 (ko) | 2012-06-15 | 2019-07-04 | 인텔 코포레이션 | 명확화 없는 비순차 load store 큐를 갖는 재정렬된 투기적 명령어 시퀀스들 |
KR101996351B1 (ko) | 2012-06-15 | 2019-07-05 | 인텔 코포레이션 | 통합된 구조를 갖는 동적 디스패치 윈도우를 가지는 가상 load store 큐 |
KR101832574B1 (ko) * | 2012-06-15 | 2018-02-26 | 인텔 코포레이션 | 모든 store들이 캐시의 모든 워드들에 대한 검사를 스누핑해야만 하는 것을 방지하기 위해 store들을 필터링하는 방법 및 시스템 |
CN104583943B (zh) | 2012-06-15 | 2018-06-08 | 英特尔公司 | 拥有具有分布式结构的动态分派窗口的虚拟加载存储队列 |
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 |
CN104583975B (zh) | 2012-06-15 | 2017-07-14 | 英特尔公司 | 无消歧乱序加载存储队列 |
US20140095801A1 (en) * | 2012-09-28 | 2014-04-03 | Devadatta V. Bodas | System and method for retaining coherent cache contents during deep power-down operations |
US9405351B2 (en) | 2012-12-17 | 2016-08-02 | Intel Corporation | Performing frequency coordination in a multiprocessor system |
US9292468B2 (en) | 2012-12-17 | 2016-03-22 | Intel Corporation | Performing frequency coordination in a multiprocessor system based on response timing optimization |
US9436972B2 (en) | 2014-03-27 | 2016-09-06 | Intel Corporation | System coherency in a distributed graphics processor hierarchy |
US9639470B2 (en) * | 2014-08-26 | 2017-05-02 | Arm Limited | Coherency checking of invalidate transactions caused by snoop filter eviction in an integrated circuit |
US9507716B2 (en) * | 2014-08-26 | 2016-11-29 | Arm Limited | Coherency checking of invalidate transactions caused by snoop filter eviction in an integrated circuit |
US9727466B2 (en) * | 2014-08-26 | 2017-08-08 | Arm Limited | Interconnect and method of managing a snoop filter for an interconnect |
US9748788B2 (en) * | 2015-09-17 | 2017-08-29 | Qualcomm Incorporated | Systems and methods for charging a battery |
KR102428563B1 (ko) * | 2015-09-30 | 2022-08-03 | 삼성전자주식회사 | 수눕 작동을 관리하는 코히런트 인터커넥트와 이를 포함하는 데이터 처리 장치들 |
US9900260B2 (en) | 2015-12-10 | 2018-02-20 | Arm Limited | Efficient support for variable width data channels in an interconnect network |
US10157133B2 (en) * | 2015-12-10 | 2018-12-18 | Arm Limited | Snoop filter for cache coherency in a data processing system |
US9990292B2 (en) * | 2016-06-29 | 2018-06-05 | Arm Limited | Progressive fine to coarse grain snoop filter |
US10346307B2 (en) | 2016-09-28 | 2019-07-09 | Samsung Electronics Co., Ltd. | Power efficient snoop filter design for mobile platform |
US10339060B2 (en) * | 2016-12-30 | 2019-07-02 | Intel Corporation | Optimized caching agent with integrated directory cache |
US10042766B1 (en) | 2017-02-02 | 2018-08-07 | Arm Limited | Data processing apparatus with snoop request address alignment and snoop response time alignment |
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 |
US10915445B2 (en) | 2018-09-18 | 2021-02-09 | Nvidia Corporation | Coherent caching of data for high bandwidth scaling |
US11550720B2 (en) | 2020-11-24 | 2023-01-10 | Arm Limited | Configurable cache coherency controller |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10240621A (ja) * | 1996-12-09 | 1998-09-11 | Ncr Internatl Inc | マルチプロセッサ・コンピュータ・システム |
JPH10260898A (ja) * | 1996-12-09 | 1998-09-29 | Ncr Internatl Inc | キャッシュ整合メモリ・システムの整合サイクルの回数を低減する方法 |
JP2002163149A (ja) * | 2000-10-31 | 2002-06-07 | Hewlett Packard Co <Hp> | マルチプロセッサシステムのキャッシュコヒーレンスプロトコル |
JP2003067246A (ja) * | 2001-07-31 | 2003-03-07 | Hewlett Packard Co <Hp> | シングル・ラインとライン・グループの両方のコヒーレンシを維持するライン・グループのキャッシュ・システム |
JP2006501546A (ja) * | 2002-09-27 | 2006-01-12 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 統合ディレクトリとプロセッサキャッシュを備えたコンピュータシステム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6598123B1 (en) * | 2000-06-28 | 2003-07-22 | Intel Corporation | Snoop filter line replacement for reduction of back invalidates in multi-node architectures |
US6810467B1 (en) * | 2000-08-21 | 2004-10-26 | Intel Corporation | Method and apparatus for centralized snoop filtering |
US6950906B2 (en) * | 2002-12-13 | 2005-09-27 | Hewlett-Packard Development Company, L.P. | System for and method of operating a cache |
US7093079B2 (en) * | 2002-12-17 | 2006-08-15 | Intel Corporation | Snoop filter bypass |
US7107410B2 (en) * | 2003-01-07 | 2006-09-12 | Hewlett-Packard Development Company, L.P. | Exclusive status tags |
US7305524B2 (en) * | 2004-10-08 | 2007-12-04 | International Business Machines Corporation | Snoop filter directory mechanism in coherency shared memory system |
US7386685B2 (en) * | 2005-03-29 | 2008-06-10 | International Busniess Machines Corporation | Method and apparatus for filtering snoop requests using multiple snoop caches |
-
2006
- 2006-06-29 US US11/479,327 patent/US7581068B2/en not_active Expired - Fee Related
-
2007
- 2007-06-27 TW TW096123243A patent/TWI336846B/zh not_active IP Right Cessation
- 2007-06-28 JP JP2007170088A patent/JP4737691B2/ja not_active Expired - Fee Related
- 2007-06-29 DE DE102007030116.4A patent/DE102007030116B4/de not_active Expired - Fee Related
- 2007-06-29 GB GB0712625A patent/GB2439650B/en not_active Expired - Fee Related
- 2007-06-29 CN CN2007101290143A patent/CN101097545B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10240621A (ja) * | 1996-12-09 | 1998-09-11 | Ncr Internatl Inc | マルチプロセッサ・コンピュータ・システム |
JPH10260898A (ja) * | 1996-12-09 | 1998-09-29 | Ncr Internatl Inc | キャッシュ整合メモリ・システムの整合サイクルの回数を低減する方法 |
JP2002163149A (ja) * | 2000-10-31 | 2002-06-07 | Hewlett Packard Co <Hp> | マルチプロセッサシステムのキャッシュコヒーレンスプロトコル |
JP2003067246A (ja) * | 2001-07-31 | 2003-03-07 | Hewlett Packard Co <Hp> | シングル・ラインとライン・グループの両方のコヒーレンシを維持するライン・グループのキャッシュ・システム |
JP2006501546A (ja) * | 2002-09-27 | 2006-01-12 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 統合ディレクトリとプロセッサキャッシュを備えたコンピュータシステム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009295156A (ja) * | 2008-05-30 | 2009-12-17 | Intel Corp | インバリデーショントランザクションのスヌープフィルタからの削除 |
CN111417934A (zh) * | 2017-12-05 | 2020-07-14 | Arm有限公司 | 用于处理写入操作的装置和方法 |
JP2021505994A (ja) * | 2017-12-05 | 2021-02-18 | エイアールエム リミテッド | 書込み動作を処理するための装置及び方法 |
JP7320508B2 (ja) | 2017-12-05 | 2023-08-03 | アーム・リミテッド | 書込み動作を処理するための装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI336846B (en) | 2011-02-01 |
GB0712625D0 (en) | 2007-08-08 |
TW200815992A (en) | 2008-04-01 |
DE102007030116A1 (de) | 2008-02-14 |
GB2439650B (en) | 2011-09-28 |
CN101097545A (zh) | 2008-01-02 |
DE102007030116B4 (de) | 2014-11-13 |
US20080005485A1 (en) | 2008-01-03 |
GB2439650A (en) | 2008-01-02 |
US7581068B2 (en) | 2009-08-25 |
CN101097545B (zh) | 2012-05-30 |
JP4737691B2 (ja) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4737691B2 (ja) | 排他的所有権のスヌープフィルタ | |
US6115804A (en) | Non-uniform memory access (NUMA) data processing system that permits multiple caches to concurrently hold data in a recent state from which data can be sourced by shared intervention | |
TWI676891B (zh) | 轉譯後備緩衝器管理 | |
KR100308323B1 (ko) | 공유된 개입 지원을 가지는 비균등 메모리 액세스 데이터처리 시스템 | |
US6647453B1 (en) | System and method for providing forward progress and avoiding starvation and livelock in a multiprocessor computer system | |
US7174431B2 (en) | Mechanism for resolving ambiguous invalidates in a computer system | |
TWI391821B (zh) | 在互連結構上發佈請求而無參照基於標籤快取狀態的低階快取之處理單元及資料處理系統與方法 | |
US8015365B2 (en) | Reducing back invalidation transactions from a snoop filter | |
US7814279B2 (en) | Low-cost cache coherency for accelerators | |
US9170946B2 (en) | Directory cache supporting non-atomic input/output operations | |
US8037252B2 (en) | Method for reducing coherence enforcement by selective directory update on replacement of unmodified cache blocks in a directory-based coherent multiprocessor | |
JP3629511B2 (ja) | 不均等メモリ・アクセス・システムにおいてトランザクションのキャンセルによるデータ損失を避けるための方法およびシステム | |
KR20170069149A (ko) | 데이터 처리 시스템의 캐시 일관성을 위한 스누프 필터 | |
US6266743B1 (en) | Method and system for providing an eviction protocol within a non-uniform memory access system | |
TW201107974A (en) | Cache coherent support for flash in a memory hierarchy | |
WO2011041095A2 (en) | Memory mirroring and migration at home agent | |
US6269428B1 (en) | Method and system for avoiding livelocks due to colliding invalidating transactions within a non-uniform memory access system | |
US7383398B2 (en) | Preselecting E/M line replacement technique for a snoop filter | |
US7797495B1 (en) | Distributed directory cache | |
US20180336135A1 (en) | Ownership tracking updates across multiple simultaneous operations | |
US20080140942A1 (en) | Implementing a hot coherency state to a cache coherency protocol in a symmetric multi-processor environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110228 |
|
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: 20110405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110422 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4737691 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |