JP5116418B2 - マルチプロセッサ・データ処理システムにおいて、データを処理する方法、マルチプロセッサ・データ処理システムのための処理ユニット、およびデータ処理システム - Google Patents
マルチプロセッサ・データ処理システムにおいて、データを処理する方法、マルチプロセッサ・データ処理システムのための処理ユニット、およびデータ処理システム Download PDFInfo
- Publication number
- JP5116418B2 JP5116418B2 JP2007247897A JP2007247897A JP5116418B2 JP 5116418 B2 JP5116418 B2 JP 5116418B2 JP 2007247897 A JP2007247897 A JP 2007247897A JP 2007247897 A JP2007247897 A JP 2007247897A JP 5116418 B2 JP5116418 B2 JP 5116418B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- coherency
- state
- memory
- domain
- 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.)
- Expired - Fee Related
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
-
- 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/0817—Cache consistency protocols using directory methods
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
図面全体を通して、同じ参照番号は同じ部分または対応する部分を指す。図1を参照すると、本発明を実装し得る例示的なデータ処理システムを表す高レベルのブロック図が示される。データ処理システムは、キャッシュ・コヒーレントな対称マルチプロセッサ(SMP)・データ処理システム100として示される。図示のように、データ処理システム100は、データおよび命令を処理するための複数の処理ノード102a、102bを含む。処理ノード102は、アドレス、データ、および制御情報を通信するためのシステム相互接続網110に接続される。システム相互接続網110は、例えば、バス型の相互接続網、交換型の相互接続網、またはハイブリッド相互接続網として実装することが可能である。
次に図5を参照すると、図1のデータ処理システム100のローカル相互接続網114またはシステム相互接続網110を介した例示的オペレーションの時空線図が示される。相互接続網110、114は必ずしもバス型の相互接続網ではないが、1つまたは複数のローカル相互接続網114および/またはシステム相互接続網110を介して伝送されるオペレーションは本明細書では「バス・オペレーション」と呼ばれ、プロセッサ・コア200とそれ自身のキャッシュ階層内にあるキャッシュ・メモリとの間で伝送されるCPU要求とは区別される。
通常のブロードキャスト・ベースのデータ処理システムは、ブロードキャスト通信を通してキャッシュ・コヒーレンシおよびデータ配信の両方を処理する。ブロードキャスト通信は、通常のシステムでは、システム相互接続網を通して少なくともそのシステムにおけるすべてのメモリ・コントローラおよびキャッシュ階層に伝送される。別のアーキテクチャおよび同様の規模のシステムと比べると、ブロードキャスト・ベースのシステムは、少ないアクセス待ち時間、並びに、共用メモリ・ブロックの良好なデータ処理およびコヒーレンシ管理の提供に有用である。
前述のデータ配信ドメインの実装は、データ・アクセス待ち時間を改良するが、この機能強化は、システムの規模が増大するとき、m*nの乗算的なトラフィック量に対処しない。ブロードキャスト・ベースのコヒーレンシ機構を維持しながらトラフィック量を減らすために、本発明の好適な実施例は、前述のデータ配信ドメインのように、別々のコヒーレンシ・ドメインを形成する各処理ノード102によって複数のコヒーレンシ・ドメインを都合よく(しかし必要なことではないが)追加的に実装することが可能である。データ配信ドメインおよびコヒーレンシ・ドメインは、共存することが可能であるが、必ずしもそうである必要はない。データ処理システム100の例示的オペレーションを説明する便宜上、以下では、これらのコヒーレンシ・ドメインが、処理ノード102によって定義された境界を有するものと仮定する。
不要なローカル・オペレーションの発行を制限することによって、操作待ち時間を減少させ且つローカル相互接続網上の追加の帯域幅を浪費しないようにするために、本発明は、関連するメモリ・ブロックのコピーがローカル・コヒーレンシ・ドメインの外でキャッシュされるかどうかを表す、メモリ・ブロックごとのドメイン標識を実装することが望ましい。図6は、本発明に従ったドメイン標識の第1実装例を示す。図6に示されるように、ダイナミック・ランダム・アクセス・メモリ(DRAM)において実装されるシステム・メモリ108は、複数のメモリ・ブロック500をストアする。システム・メモリ108は、各メモリ・ブロック500と関連して、そのメモリ・ブロック500における可能なエラーを訂正するために利用されるエラー訂正コード(ECC)502およびドメイン標識504をストアする。本発明の或る実施例では、ドメイン標識504は、特定のコヒーレンシ・ドメインを識別し(即ち、コヒーレンシ・ドメインまたはノードIDを指定し)得るが、以後の説明では、ドメイン標識504は、1ビットの標識であるものと仮定し、そして関連するメモリ・ブロック500がLPCとして作用するメモリ・コントローラ206と同じコヒーレンシ・ドメイン内にのみキャッシュされる場合は、(例えば、「ローカル」を表すために「1」に)セットされるものと仮定する。さもなければ、ドメイン標識504は(例えば、「グローバル」を表すために「0」に)リセットされる。「ローカル」を表すようにドメイン標識504を設定することは、「グローバル」を誤って設定しても如何なるコヒーレンシ・エラーも生じさせないが、オペレーションの不要なグローバル・ブロードキャストを生じさせ得るという点で、不正確に実装され得る。
好適な実施例では、L2キャッシュ230およびL3キャッシュ232は、周知のMESIプロトコルの変形を使用する。コヒーレンシ状態の集合体は、
(1)キャッシュがメモリ・ブロックに対するHPCであるかどうかの表示、
を提供することに加えて、次のような3つの属性を表示する。
(2)キャッシュされたコピーが、そのメモリ階層レベルにおけるキャッシュ間でユニークである(即ち、唯一のキャッシュされたコピーである)かどうかの表示、
(3)キャッシュが、メモリ・ブロックのコピーを要求のマスタに提供し得るかどうか、およびいつそれを提供し得るかの表示、
(4)メモリ・ブロックのキャッシュされたイメージが、LPCにおける対応するブロックと整合しているかどうかの表示。
これらの4つの属性は、下記の表2において要約されるコヒーレンシ・プロトコル状態において表される。
(1)キャッシュ・アレイにおける関連するメモリ・ブロックが無効である、
(2)キャッシュ・ディレクトリにおけるアドレス・タグが有効である、
(3)アドレス・タグにより識別されたメモリ・ブロックの修正コピーが、リモート・コヒーレンシ・ドメインにおけるキャッシュに対して配信された。
Sg状態は、本明細書では、次の4つの状態を表すキャッシュ・コヒーレンシ状態として定義される。
(1)キャッシュ・アレイにおける関連するメモリ・ブロックが有効である、
(2)キャッシュ・ディレクトリにおけるアドレス・タグが有効である、
(3)アドレス・タグにより識別されたメモリ・ブロックの修正コピーが、リモート・コヒーレンシ・ドメインにおけるキャッシュに対して配信された。
(4)メモリ・ブロックのコピーが他のキャッシュに保持されていたし、依然として当該他のキャッシュに保持されていることも可能である。
Slg状態は、本明細書では、次の5つの状態を表すキャッシュ・コヒーレンシ状態として同様に定義される。
(1)キャッシュ・アレイにおける関連するメモリ・ブロックが有効である、
(2)キャッシュ・ディレクトリにおけるアドレス・タグが有効である、
(3)アドレス・タグにより識別されたメモリ・ブロックの修正コピーが、リモート・コヒーレンシ・ドメインにおけるキャッシュに対して配信された。
(4)メモリ・ブロックのコピーが他のキャッシュに保持されていたし、依然として当該他のキャッシュに保持されていることも可能である。
(5)キャッシュは、キャッシュ間のデータ介入によって、メモリ・ブロックのコピーをそのコヒーレンシ・ドメインにおけるマスタに対して配信する権限を有する。
次に図7を参照すると、本発明の好適な実施例に従ったL3キャッシュへのキャストインを行う例示的な方法の高レベルの論理的流れ図が示される。図7に示されたプロセスは、L3キャッシュ・コントローラ380によるオペレーションを含む。プロセスはブロック600で開始し、次に、ブロック602に進み、そこで、L3キャッシュ232(例えば、L3キャッシュ232a)のL3キャッシュ・コントローラ380は、ソースのL2キャッシュ230からキャッシュ・ラインが排出される結果として、それが接続されているL2キャッシュ230の1つ(例えば、L2キャッシュ230a)からキャストアウト要求を受取る。キャストアウト要求は、ターゲット・アドレス、キャストイン・キャッシュ・ライン、およびキャストイン・キャッシュ・ラインのキャッシュ・ディレクトリ状態を含む。L3キャッシュ・コントローラ380は、キャストイン・キャッシュ・ラインがそのデータ・アレイ360に保存されるかどうかを決定し、そうであれば、状態フィールド366におけるそのキャッシュ・ラインに対する適切なコヒーレンシ状態を決定するための置換ポリシでもってプログラムされる。
(1)キャストイン・キャッシュ・ラインがL3データ・アレイ360内にストアされるのか或いは廃棄されるのか、
(2)キャッシュ・ディレクトリ366における対応するエントリのコヒーレンシ状態。
Claims (8)
- 少なくとも第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインを含み、該第1コヒーレンシ・ドメインが少なくとも1つの処理ユニット、システム・メモリ、およびキャッシュ・メモリを含む、マルチプロセッサ・データ処理システムにおいて、データを処理する方法であって、
前記キャッシュ・メモリのデータ・アレイにおいてキャッシュ・ラインをバッファするステップと、
前記キャッシュ・ラインが前記データ・アレイにおいて有効であること、前記キャッシュ・ラインが前記キャッシュ・メモリに非排他的に且つ前記システム・メモリにおける対応するメモリ・ブロックに関し修正されずに保持されること、前記第2コヒーレンシ・ドメインにおける別のキャッシュが前記キャッシュ・ラインのコピーを保持し得ること、そして前記第2コヒーレンシ・ドメインを含まない前記キャッシュ・ラインについての第1コヒーレンシ通信範囲を表す第1状態および前記第2コヒーレンシ・ドメインを含む前記キャッシュ・ラインについての第2コヒーレンシ通信範囲を表す第2状態を有する、前記第1コヒーレンシ・ドメインにおける前記ドメイン標識が前記第2状態に更新されなければならないこと、を表すために前記キャッシュ・メモリのキャッシュ・ディレクトリにおける状態フィールドをコヒーレンシ状態にセットするステップと、
を有する、方法。 - 前記キャッシュ・メモリは、下位レベルのキャッシュ・メモリであり、
前記データ処理システムは前記下位レベルのキャッシュ・メモリに接続された複数の上位レベルのキャッシュ・メモリを含み、
前記コヒーレンシ状態は第1コヒーレンシ状態であり、
前記セットするステップは、前記複数の上位レベルのキャッシュ・メモリの1つから前記データ・アレイへの前記キャッシュ・ラインのキャストインに応答して、前記キャッシュ・ラインが無効であることを表す第2コヒーレンシ状態から前記第1コヒーレンシ状態に前記状態フィールドを更新するステップを有する、
請求項1に記載の方法。 - 前記キャッシュ・メモリは前記データ処理システムの相互接続網に接続され、
前記コヒーレンシ状態は第1コヒーレンシ状態であり、
前記キャッシュ・メモリは、前記相互接続網上に前記キャッシュ・ラインについての要求を発行するステップを更に有し、
前記セットするステップは、前記要求に対する応答として前記キャッシュ・ラインを受取ったことに応答して、前記キャッシュ・ラインが無効であること、および前記第2コヒーレンシ・ドメインにおける別のキャッシュが前記キャッシュ・ラインのコピーを保持していること、を表す第2コヒーレンシ状態から、前記第1コヒーレンシ状態に前記状態フィールドを更新するステップを有する、
請求項1に記載の方法。 - 前記キャッシュ・ラインを前記データ・アレイから排出するために選択するステップと、
前記キャッシュ・ラインを前記データ・アレイから排出するために選択したことに応答して、前記第2コヒーレンシ・ドメインにおける別のキャッシュが前記キャッシュ・ラインのコピーを保持しているという表示のデータレス・キャストアウトを、前記キャッシュ・メモリが行うステップと、
を更に有する、請求項1に記載の方法。 - 前記第2コヒーレンシ・ドメインにおける別のキャッシュが前記キャッシュ・ラインのコピーを保持しているという前記表示を受取ったことに応答して、前記システム・メモリのメモリ・コントローラが、前記キャッシュ・ラインについての前記ドメイン標識を更新するステップを更に含む、請求項4に記載の方法。
- 前記コヒーレンシ状態は、更に、前記キャッシュ・メモリが、キャッシュ間のデータ介入によって前記キャッシュ・ラインのコピーを配信するための前記第1コヒーレンシ・ドメインにおける権限を有するということを表す、請求項1に記載の方法。
- 少なくとも第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインを含むマルチプロセッサ・データ処理システムのための処理ユニットであって、該第1コヒーレンシ・ドメインはシステム・メモリおよび該処理ユニットを含み、
プロセッサ・コアと、
前記プロセッサ・コアに接続されたキャッシュ・メモリとを備え、
前記キャッシュ・メモリは、
キャッシュ・ラインを保持するデータ・アレイと、
前記キャッシュ・ラインと関連付けられ且つ状態フィールドを含むエントリを保持するキャッシュ・ディレクトリと、
キャッシュ・コントローラとを有し、
前記キャッシュ・コントローラは、
前記キャッシュ・ラインが前記データ・アレイにおいて有効であること、前記キャッシュ・ラインが前記キャッシュ・メモリに非排他的に且つ前記システム・メモリにおける対応するメモリ・ブロックに関し修正されずに保持されること、前記第2コヒーレンシ・ドメインにおける別のキャッシュが前記キャッシュ・ラインのコピーを保持し得ること、そして前記第2コヒーレンシ・ドメインを含まない前記キャッシュ・ラインについての第1コヒーレンシ通信範囲を表す第1状態および前記第2コヒーレンシ・ドメインを含む前記キャッシュ・ラインについての第2コヒーレンシ通信範囲を表す第2状態を有する、前記第1コヒーレンシ・ドメインにおける前記ドメイン標識が前記第2状態に更新されなければならないこと、を表すために前記状態フィールドをコヒーレンシ状態にセットする、
処理ユニット。 - 相互に接続されたキャッシュ・コヒーレントな第1コヒーレンシ・ドメインおよび第2コヒーレンシ・ドメインを少なくとも備え、該第1コヒーレンシ・ドメインは第1処理ユニットおよびドメイン標識を含み、該第2コヒーレンシ・ドメインは第2処理ユニットを含み、システム・メモリが前記第1コヒーレンシ・ドメインおよび前記第2コヒーレンシ・ドメインの少なくとも1つに配置されている、データ処理システムであって、
前記第1処理ユニットは、
プロセッサ・コアと、
前記プロセッサ・コアに接続されたキャッシュ・メモリとを備え、
前記キャッシュ・メモリは、
キャッシュ・ラインを保持するデータ・アレイと、
前記キャッシュ・ラインと関連付けられ且つ状態フィールドを含むエントリを保持するキャッシュ・ディレクトリと、
キャッシュ・コントローラとを有し、
前記キャッシュ・コントローラは、
前記キャッシュ・ラインが前記データ・アレイにおいて有効であること、前記キャッシュ・ラインが前記キャッシュ・メモリに非排他的に且つ前記システム・メモリにおける対応するメモリ・ブロックに関し修正されずに保持されること、前記第2コヒーレンシ・ドメインにおける別のキャッシュが前記キャッシュ・ラインのコピーを保持し得ること、そして前記第2コヒーレンシ・ドメインを含まない前記キャッシュ・ラインについての第1コヒーレンシ通信範囲を表す第1状態および前記第2コヒーレンシ・ドメインを含む前記キャッシュ・ラインについての第2コヒーレンシ通信範囲を表す第2状態を有する、前記第1コヒーレンシ・ドメインにおける前記ドメイン標識が前記第2状態に更新されなければならないこと、を表すために前記状態フィールドをコヒーレンシ状態にセットする、
データ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/539694 | 2006-10-09 | ||
US11/539,694 US8495308B2 (en) | 2006-10-09 | 2006-10-09 | Processor, data processing system and method supporting a shared global coherency state |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008097598A JP2008097598A (ja) | 2008-04-24 |
JP5116418B2 true JP5116418B2 (ja) | 2013-01-09 |
Family
ID=39275855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007247897A Expired - Fee Related JP5116418B2 (ja) | 2006-10-09 | 2007-09-25 | マルチプロセッサ・データ処理システムにおいて、データを処理する方法、マルチプロセッサ・データ処理システムのための処理ユニット、およびデータ処理システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8495308B2 (ja) |
JP (1) | JP5116418B2 (ja) |
CN (1) | CN101162442A (ja) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8244983B2 (en) * | 2006-10-30 | 2012-08-14 | Hewlett-Packard Development Company, L.P. | Memory control systems with directory caches and methods for operation thereof |
US8250307B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Sourcing differing amounts of prefetch data in response to data prefetch requests |
US8255635B2 (en) * | 2008-02-01 | 2012-08-28 | International Business Machines Corporation | Claiming coherency ownership of a partial cache line of data |
US8117401B2 (en) * | 2008-02-01 | 2012-02-14 | International Business Machines Corporation | Interconnect operation indicating acceptability of partial data delivery |
US8140771B2 (en) * | 2008-02-01 | 2012-03-20 | International Business Machines Corporation | Partial cache line storage-modifying operation based upon a hint |
US8108619B2 (en) | 2008-02-01 | 2012-01-31 | International Business Machines Corporation | Cache management for partial cache line operations |
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 |
US9035959B2 (en) | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
US8327072B2 (en) | 2008-07-23 | 2012-12-04 | International Business Machines Corporation | Victim cache replacement |
US8209489B2 (en) * | 2008-10-22 | 2012-06-26 | International Business Machines Corporation | Victim cache prefetching |
US8347037B2 (en) * | 2008-10-22 | 2013-01-01 | International Business Machines Corporation | Victim cache replacement |
US8117397B2 (en) * | 2008-12-16 | 2012-02-14 | International Business Machines Corporation | Victim cache line selection |
US8225045B2 (en) * | 2008-12-16 | 2012-07-17 | International Business Machines Corporation | Lateral cache-to-cache cast-in |
US8499124B2 (en) * | 2008-12-16 | 2013-07-30 | International Business Machines Corporation | Handling castout cache lines in a victim cache |
US8489819B2 (en) | 2008-12-19 | 2013-07-16 | International Business Machines Corporation | Victim cache lateral castout targeting |
US8799587B2 (en) * | 2009-01-26 | 2014-08-05 | International Business Machines Corporation | Region coherence array for a mult-processor system having subregions and subregion prefetching |
US8949540B2 (en) | 2009-03-11 | 2015-02-03 | International Business Machines Corporation | Lateral castout (LCO) of victim cache line in data-invalid state |
US8285939B2 (en) * | 2009-04-08 | 2012-10-09 | International Business Machines Corporation | Lateral castout target selection |
US8347036B2 (en) * | 2009-04-09 | 2013-01-01 | International Business Machines Corporation | Empirically based dynamic control of transmission of victim cache lateral castouts |
US8312220B2 (en) * | 2009-04-09 | 2012-11-13 | International Business Machines Corporation | Mode-based castout destination selection |
US8327073B2 (en) * | 2009-04-09 | 2012-12-04 | International Business Machines Corporation | Empirically based dynamic control of acceptance of victim cache lateral castouts |
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 |
US20120297011A1 (en) * | 2009-12-30 | 2012-11-22 | Nokia Corporation | Intelligent Reception of Broadcasted Information Items |
US9189403B2 (en) * | 2009-12-30 | 2015-11-17 | International Business Machines Corporation | Selective cache-to-cache lateral castouts |
US9767025B2 (en) * | 2012-04-18 | 2017-09-19 | Qualcomm Incorporated | Write-only dataless state for maintaining cache coherency |
US9411595B2 (en) * | 2012-05-31 | 2016-08-09 | Nvidia Corporation | Multi-threaded transactional memory coherence |
CN102866923B (zh) * | 2012-09-07 | 2015-01-28 | 杭州中天微系统有限公司 | 对称多核的高效一致性侦听过滤装置 |
CN103049422B (zh) * | 2012-12-17 | 2013-11-27 | 浪潮电子信息产业股份有限公司 | 一种具有多cache一致性域的多处理器节点系统构建方法 |
US9208091B2 (en) * | 2013-06-19 | 2015-12-08 | Globalfoundries Inc. | Coherent attached processor proxy having hybrid directory |
CN103955435B (zh) * | 2014-04-09 | 2017-01-11 | 上海理工大学 | 一种融合多级缓存目录建立访问方法 |
EP3198824A4 (en) * | 2014-09-25 | 2018-05-23 | Intel Corporation | Reducing interconnect traffics of multi-processor system with extended mesi protocol |
US9740617B2 (en) * | 2014-12-23 | 2017-08-22 | Intel Corporation | Hardware apparatuses and methods to control cache line coherence |
US9639276B2 (en) * | 2015-03-27 | 2017-05-02 | Intel Corporation | Implied directory state updates |
US9619396B2 (en) | 2015-03-27 | 2017-04-11 | Intel Corporation | Two level memory full line writes |
US10255184B2 (en) * | 2016-11-07 | 2019-04-09 | International Business Machines Corporation | Memory access architecture with coherence |
US10691599B1 (en) | 2018-12-19 | 2020-06-23 | International Business Machines Corporation | Selectively updating a coherence state in response to a storage update |
US10705957B1 (en) | 2018-12-19 | 2020-07-07 | International Business Machines Corporation | Selectively updating a coherence state in response to a storage update |
US10733102B2 (en) | 2018-12-19 | 2020-08-04 | International Business Machines Corporation | Selectively updating a coherence state in response to a storage update |
US11360906B2 (en) * | 2020-08-14 | 2022-06-14 | Alibaba Group Holding Limited | Inter-device processing system with cache coherency |
US11354239B2 (en) * | 2020-09-18 | 2022-06-07 | Microsoft Technology Licensing, Llc | Maintaining domain coherence states including domain state no-owned (DSN) in processor-based devices |
CN112612727B (zh) * | 2020-12-08 | 2023-07-07 | 成都海光微电子技术有限公司 | 一种高速缓存行替换方法、装置及电子设备 |
US11599467B2 (en) * | 2021-05-27 | 2023-03-07 | Arm Limited | Cache for storing coherent and non-coherent data |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01175660A (ja) * | 1987-12-29 | 1989-07-12 | Matsushita Electric Ind Co Ltd | マルチプロセッサシステム |
US6038644A (en) * | 1996-03-19 | 2000-03-14 | Hitachi, Ltd. | Multiprocessor system with partial broadcast capability of a cache coherent processing request |
US5852716A (en) * | 1996-07-02 | 1998-12-22 | Sun Microsystems, Inc. | Split-SMP computer system with local domains and a top repeater that distinguishes local and global transactions |
US6038651A (en) * | 1998-03-23 | 2000-03-14 | International Business Machines Corporation | SMP clusters with remote resource managers for distributing work to other clusters while reducing bus traffic to a minimum |
US6606676B1 (en) * | 1999-11-08 | 2003-08-12 | International Business Machines Corporation | Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system |
JP3709322B2 (ja) * | 2000-03-10 | 2005-10-26 | 株式会社日立製作所 | 多次元クロスバーネットワークおよび並列計算機システム |
US6754782B2 (en) * | 2001-06-21 | 2004-06-22 | International Business Machines Corporation | Decentralized global coherency management in a multi-node computer system |
US6785774B2 (en) * | 2001-10-16 | 2004-08-31 | International Business Machines Corporation | High performance symmetric multiprocessing systems via super-coherent data mechanisms |
US7100001B2 (en) * | 2002-01-24 | 2006-08-29 | Intel Corporation | Methods and apparatus for cache intervention |
US7096323B1 (en) * | 2002-09-27 | 2006-08-22 | Advanced Micro Devices, Inc. | Computer system with processor cache that stores remote cache presence information |
US7702717B2 (en) * | 2003-03-27 | 2010-04-20 | Oracle America, Inc. | Method and apparatus for controlling management agents in a computer system on a packet-switched input/output network |
US7526631B2 (en) * | 2003-04-28 | 2009-04-28 | International Business Machines Corporation | Data processing system with backplane and processor books configurable to support both technical and commercial workloads |
GB2403560A (en) * | 2003-07-02 | 2005-01-05 | Advanced Risc Mach Ltd | Memory bus within a coherent multi-processing system |
US7337280B2 (en) * | 2005-02-10 | 2008-02-26 | International Business Machines Corporation | Data processing system and method for efficient L3 cache directory management |
US7366844B2 (en) * | 2005-02-10 | 2008-04-29 | International Business Machines Corporation | Data processing system and method for handling castout collisions |
US7536513B2 (en) | 2005-03-31 | 2009-05-19 | International Business Machines Corporation | Data processing system, cache system and method for issuing a request on an interconnect fabric without reference to a lower level cache based upon a tagged cache state |
-
2006
- 2006-10-09 US US11/539,694 patent/US8495308B2/en not_active Expired - Fee Related
-
2007
- 2007-09-12 CN CNA2007101544154A patent/CN101162442A/zh active Pending
- 2007-09-25 JP JP2007247897A patent/JP5116418B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8495308B2 (en) | 2013-07-23 |
JP2008097598A (ja) | 2008-04-24 |
US20080086602A1 (en) | 2008-04-10 |
CN101162442A (zh) | 2008-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5116418B2 (ja) | マルチプロセッサ・データ処理システムにおいて、データを処理する方法、マルチプロセッサ・データ処理システムのための処理ユニット、およびデータ処理システム | |
US7536513B2 (en) | Data processing system, cache system and method for issuing a request on an interconnect fabric without reference to a lower level cache based upon a tagged cache state | |
US7404046B2 (en) | Cache memory, processing unit, data processing system and method for filtering snooped operations | |
US7747826B2 (en) | Data processing system and method for efficient communication utilizing an in coherency state | |
US7716428B2 (en) | Data processing system, cache system and method for reducing imprecise invalid coherency states | |
US8140770B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation | |
US7543116B2 (en) | Data processing system, cache system and method for handling a flush operation in a data processing system having multiple coherency domains | |
US7290094B2 (en) | Processor, data processing system, and method for initializing a memory block to an initialization value without a cache first obtaining a data valid copy | |
US7451277B2 (en) | Data processing system, cache system and method for updating an invalid coherency state in response to snooping an operation | |
US7237070B2 (en) | Cache memory, processing unit, data processing system and method for assuming a selected invalid coherency state based upon a request source | |
US7454578B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a location of a memory | |
US7478201B2 (en) | Data processing system, cache system and method for passively scrubbing a domain indication | |
JP5004571B2 (ja) | 同報通信範囲を示す無効な整合状態を正確に形成するためのデータ処理システム、キャッシュ・システム、および方法 | |
US20070226426A1 (en) | Data processing system, cache system and method for precisely forming an invalid coherency state based upon a combined response | |
US7467262B2 (en) | Data processing system, cache system and method for scrubbing a domain indication in response to execution of program code | |
US7475195B2 (en) | Data processing system, cache system and method for actively scrubbing a domain indication | |
US7584331B2 (en) | Data processing system and method for selectively updating an invalid coherency state in response to snooping a castout | |
US7725619B2 (en) | Data processing system and method that permit pipelining of I/O write operations and multiple operation scopes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120831 |
|
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: 20120925 |
|
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: 20121016 |
|
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: 20151026 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |