JP5146844B2 - 直列インターフェースバスにまたがってキャッシュコヒーレンシを維持するシステム及び方法 - Google Patents
直列インターフェースバスにまたがってキャッシュコヒーレンシを維持するシステム及び方法 Download PDFInfo
- Publication number
- JP5146844B2 JP5146844B2 JP2009279506A JP2009279506A JP5146844B2 JP 5146844 B2 JP5146844 B2 JP 5146844B2 JP 2009279506 A JP2009279506 A JP 2009279506A JP 2009279506 A JP2009279506 A JP 2009279506A JP 5146844 B2 JP5146844 B2 JP 5146844B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- cache
- cache line
- local memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000001427 coherent effect Effects 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
Description
102 peripheral component interface express(PCIe)バス
104 トランザクションレイヤ
106 リンクレイヤ
108 物理レイヤ
110 ローカルメモリ
111 メモリコントローラ
112 プロセッサ
114 システムメモリ
115 ソフトウェアドライバ
116 メモリコントローラ
118 プロセッサ
120 キャッシュ
130 スヌープ経路
202A SNP要求
202B SNP要求
204 キャッシュラインアドレス
206 トランザクションレイヤパケット(TLP)ヘッダ
208A CPLメッセージ
208B CPLメッセージ
210 ベンダ定義メッセージ(VDM)ヘッダ
214 SNP CPL
300A コンピュータシステム
300B コンピュータシステム
300C コンピュータシステム
301 レグ
303 レグ
305 レグ
309 レグ
400 方法
500 方法
600 方法
Claims (8)
- 第1プロセッサと、
前記第1プロセッサに関連するローカルメモリと、
第2プロセッサと、
第2プロセッサに関連するデータキャッシュと、
前記第1プロセッサと前記第2プロセッサとの間でメッセージをルーティングするように構成された直列インターフェースバスと
を備える、メモリに格納されたデータが有効であるかどうかを判定するコンピュータシステムであって、
前記第1プロセッサが、
・前記ローカルメモリに格納された第1データが前記データキャッシュに格納された第2データに対して相対的にコヒーレントであるかどうかを判定するように構成されたスヌープ要求であって、
前記直列インターフェースバス上の前記データキャッシュを識別する宛先情報と、
前記データキャッシュ内で前記第2データが配置される場所を識別するキャッシュラインアドレスと
を含むスヌープ要求を生成し、
・前記データキャッシュを識別する前記宛先情報に基づいて、前記スヌープ要求を前記直列インターフェースバスを介して前記第2プロセッサに送り、
・前記ローカルメモリに格納された前記第1データを使用して処理動作を実行する
ように構成され、
前記第2プロセッサが、
・前記スヌープ要求から前記キャッシュラインアドレスを抽出し、
・前記データキャッシュ内で前記キャッシュラインアドレスに格納された前記第2データが前記第1データに対して相対的にコヒーレントであるかどうかを判定し、
・前記直列インターフェースバス上で前記ローカルメモリを識別する宛先情報と、
前記第1データが前記第2データに対して相対的にコヒーレントであることを示す完了情報と
を含む完了(CPL)メッセージを生成し、
・前記ローカルメモリを識別する前記宛先情報に基づいて、前記CPLメッセージを前記直列インターフェースバスを介して前記第1プロセッサに送る
ように構成され、
前記第2プロセッサが、さらに、読取り要求を前記直列インターフェースバスを介して前記第2プロセッサから前記第1プロセッサに送るように構成され、前記読取り要求が、前記ローカルメモリに格納された前記第1データを読み取る要求であり、
前記第1プロセッサが、さらに、
・前記第2プロセッサから受け取られる前記CPLメッセージを無視し、
・前記処理動作を実行した後に、前記直列インターフェースバスを介する前記第2プロセッサへの前記第1データの送信を行わせることによって前記読取り要求にサービスし、前記第1データが、前記実行される処理動作によって変更される
ように構成されている、コンピュータシステム。 - 前記スヌープ要求が、非ポストトランザクションであり、前記第1プロセッサは、前記スヌープ要求に応答して前記第2プロセッサからメッセージを受け取ることを待機する、請求項1に記載のコンピュータシステム。
- 前記スヌープ要求が、前記データキャッシュを識別する前記宛先情報を含むベンダ定義ヘッダを有するベンダ定義メッセージである、請求項1に記載のコンピュータシステム。
- 前記データキャッシュ内で前記キャッシュラインアドレスに格納された前記第2データがコヒーレントであるかどうかの前記判定が、前記第1データに対する相対的な前記第2データの状態を判定するために前記キャッシュラインアドレスに関連するキャッシュラインタグを調べることを含む、請求項1に記載のコンピュータシステム。
- 前記第2プロセッサが、さらに、
・前記データキャッシュ内で前記キャッシュラインアドレスに格納された前記第2データが変更されたことを判定し、
・前記第2データを前記ローカルメモリに送り、
・前記第2データを前記ローカルメモリに書き込ませ、
・前記キャッシュラインアドレスに対応するキャッシュラインが無効であることを示すために前記キャッシュラインアドレスに関連する前記キャッシュラインタグを変更する
ように構成されている、請求項4に記載のコンピュータシステム。 - メモリに格納されたデータを使用して処理動作を実行する方法であって、
・第1プロセッサに結合されたローカルメモリに格納された第1データが第2プロセッサに結合されたデータキャッシュに格納された第2データに対して相対的にコヒーレントであるかどうかを判定するように構成されたスヌープ要求であって、
直列インターフェースバス上の前記データキャッシュを識別する宛先情報と、
前記データキャッシュ内で前記第2データが配置される場所を識別するキャッシュラインアドレスと
を含むスヌープ要求を生成するステップと、
・前記データキャッシュを識別する前記宛先情報に基づいて、前記スヌープ要求を前記直列インターフェースバスを介して前記第2プロセッサに送るステップと、
・前記スヌープ要求から前記キャッシュラインアドレスを抽出するステップと、
・前記データキャッシュ内で前記キャッシュラインアドレスに格納された前記第2データが前記ローカルメモリに格納された前記第1データに対して相対的にコヒーレントであるかどうかを判定するステップと、
・前記直列インターフェースバス上で前記ローカルメモリを識別する宛先情報と、
前記第1データが前記第2データに対して相対的にコヒーレントであることを示す完了情報と
を含む完了(CPL)メッセージを生成するステップと、
・前記ローカルメモリを識別する前記宛先情報に基づいて、前記CPLメッセージを前記直列インターフェースバスを介して前記第1プロセッサに送るステップと、
・前記ローカルメモリに格納された前記第1データを使用して処理動作を前記第1プロセッサ上で実行するステップと
を含み、
読取り要求を前記第2プロセッサから前記直列インターフェースバスを介して前記第1プロセッサに送るステップであって、前記読取り要求が、前記ローカルメモリに格納された前記第1データを読み取る要求を含む、ステップと、
前記第1プロセッサで、前記第2プロセッサから受け取られる前記CPLメッセージを無視するステップと、
前記処理動作が前記第1プロセッサ上で実行された後に、前記直列インターフェースバスを介する前記第2プロセッサへの前記第1データの送信を行うことによって前記読取り要求にサービスするステップであって、前記第1データが、前記実行される処理動作によって変更される、ステップと
をさらに含む、方法。 - 判定する前記ステップが、前記キャッシュラインアドレスに関連するキャッシュラインタグを調べて、前記第1データに対する相対的な前記第2データの状態を判定するステップを含む、請求項6に記載の方法。
- 前記データキャッシュ内で前記キャッシュラインアドレスに格納された前記第2データが変更されたことを判定するステップと、
前記第2データを前記ローカルメモリに送るステップと、
前記第2データを前記ローカルメモリに書き込むステップと、
前記キャッシュラインアドレスに関連する前記キャッシュラインタグを変更して、前記キャッシュラインアドレスに対応するキャッシュラインが無効であることを示すステップと
をさらに含む、請求項7に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/331,302 | 2008-12-09 | ||
US12/331,302 US8234458B2 (en) | 2008-12-09 | 2008-12-09 | System and method for maintaining cache coherency across a serial interface bus using a snoop request and complete message |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010140485A JP2010140485A (ja) | 2010-06-24 |
JP5146844B2 true JP5146844B2 (ja) | 2013-02-20 |
Family
ID=42232360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009279506A Active JP5146844B2 (ja) | 2008-12-09 | 2009-12-09 | 直列インターフェースバスにまたがってキャッシュコヒーレンシを維持するシステム及び方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8234458B2 (ja) |
JP (1) | JP5146844B2 (ja) |
KR (1) | KR101107391B1 (ja) |
CN (1) | CN101751370B (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751714B2 (en) * | 2010-09-24 | 2014-06-10 | Intel Corporation | Implementing quickpath interconnect protocol over a PCIe interface |
JPWO2012124431A1 (ja) * | 2011-03-17 | 2014-07-17 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US11144580B1 (en) * | 2013-06-16 | 2021-10-12 | Imperva, Inc. | Columnar storage and processing of unstructured data |
US10846223B2 (en) * | 2017-10-19 | 2020-11-24 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Cache coherency between a device and a processor |
US11477049B2 (en) * | 2018-08-02 | 2022-10-18 | Xilinx, Inc. | Logical transport over a fixed PCIE physical transport network |
US11210246B2 (en) * | 2018-08-24 | 2021-12-28 | Advanced Micro Devices, Inc. | Probe interrupt delivery |
US10769071B2 (en) * | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
CN109617832B (zh) * | 2019-01-31 | 2022-07-08 | 新华三技术有限公司合肥分公司 | 报文缓存方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09223115A (ja) * | 1996-02-19 | 1997-08-26 | Canon Inc | 情報処理装置及びシステム及びその制御方法 |
JP3849951B2 (ja) * | 1997-02-27 | 2006-11-22 | 株式会社日立製作所 | 主記憶共有型マルチプロセッサ |
US6292872B1 (en) | 1998-02-17 | 2001-09-18 | International Business Machines Corporation | Cache coherency protocol having hovering (H) and recent (R) states |
US20020053004A1 (en) * | 1999-11-19 | 2002-05-02 | Fong Pong | Asynchronous cache coherence architecture in a shared memory multiprocessor with point-to-point links |
US7644237B1 (en) * | 2003-06-23 | 2010-01-05 | Mips Technologies, Inc. | Method and apparatus for global ordering to insure latency independent coherence |
US7698509B1 (en) * | 2004-07-13 | 2010-04-13 | Oracle America, Inc. | Snooping-based cache-coherence filter for a point-to-point connected multiprocessing node |
US7360027B2 (en) | 2004-10-15 | 2008-04-15 | Intel Corporation | Method and apparatus for initiating CPU data prefetches by an external agent |
US7543115B1 (en) * | 2006-01-11 | 2009-06-02 | Intel Corporation | Two-hop source snoop based cache coherence protocol |
US7571286B2 (en) * | 2006-08-24 | 2009-08-04 | International Business Machines Corporation | Reduced memory traffic via detection and tracking of temporally silent stores |
US7836144B2 (en) * | 2006-12-29 | 2010-11-16 | Intel Corporation | System and method for a 3-hop cache coherency protocol |
US7861024B2 (en) * | 2008-09-30 | 2010-12-28 | Intel Corporation | Providing a set aside mechanism for posted interrupt transactions |
-
2008
- 2008-12-09 US US12/331,302 patent/US8234458B2/en active Active
-
2009
- 2009-12-09 KR KR1020090121685A patent/KR101107391B1/ko active IP Right Grant
- 2009-12-09 CN CN2009102507255A patent/CN101751370B/zh active Active
- 2009-12-09 JP JP2009279506A patent/JP5146844B2/ja active Active
-
2012
- 2012-07-25 US US13/557,980 patent/US8782349B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8234458B2 (en) | 2012-07-31 |
KR101107391B1 (ko) | 2012-01-19 |
KR20100066410A (ko) | 2010-06-17 |
US20100146218A1 (en) | 2010-06-10 |
US8782349B2 (en) | 2014-07-15 |
CN101751370A (zh) | 2010-06-23 |
JP2010140485A (ja) | 2010-06-24 |
US20120290796A1 (en) | 2012-11-15 |
CN101751370B (zh) | 2013-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5146844B2 (ja) | 直列インターフェースバスにまたがってキャッシュコヒーレンシを維持するシステム及び方法 | |
US7600080B1 (en) | Avoiding deadlocks in a multiprocessor system | |
US20160224467A1 (en) | Hierarchical cache structure and handling thereof | |
US11714754B2 (en) | Shadow caches for level 2 cache controller | |
JP2008027435A (ja) | 排他的所有権のスヌープフィルタ | |
US20080109609A1 (en) | Mechanisms and methods of cache coherence in network-based multiprocessor systems with ring-based snoop response collection | |
US7685373B2 (en) | Selective snooping by snoop masters to locate updated data | |
US7519780B2 (en) | System and method for reducing store latency in symmetrical multiprocessor systems | |
US20070073977A1 (en) | Early global observation point for a uniprocessor system | |
CN112612725A (zh) | 用于处理缓存维护操作的装置和方法 | |
WO2012040741A2 (en) | Optimized ring protocols and techniques | |
JP2007080266A (ja) | 方法、データ処理システム、メモリ・コントローラ(i/o書込みオペレーションのパイプライン化および多重オペレーション範囲を可能にするデータ処理システムおよび方法) | |
JP2023544538A (ja) | キャッシュライン追い出しのためのマルチレベルキャッシュコヒーレンシプロトコル |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120703 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121004 |
|
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: 20121030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121115 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5146844 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: 20151207 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 |
|
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 |