JP2000347933A - バスブリッジ、キャッシュコヒーレンシ制御装置、キャッシュコヒーレンシ制御方法、プロセッサユニット、マルチプロセッサシステム - Google Patents

バスブリッジ、キャッシュコヒーレンシ制御装置、キャッシュコヒーレンシ制御方法、プロセッサユニット、マルチプロセッサシステム

Info

Publication number
JP2000347933A
JP2000347933A JP11160420A JP16042099A JP2000347933A JP 2000347933 A JP2000347933 A JP 2000347933A JP 11160420 A JP11160420 A JP 11160420A JP 16042099 A JP16042099 A JP 16042099A JP 2000347933 A JP2000347933 A JP 2000347933A
Authority
JP
Japan
Prior art keywords
cluster
bus
cache
processor
bridge
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.)
Pending
Application number
JP11160420A
Other languages
English (en)
Inventor
Shinya Mizukami
信也 水上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP11160420A priority Critical patent/JP2000347933A/ja
Publication of JP2000347933A publication Critical patent/JP2000347933A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 複数のCPUクラスタを搭載し複数階層型バ
ス構造を有するマルチプロセッサシステムで、プロセッ
サからの無効化読み出し要求に対し、他のクラスタが、
モディファイデータを持つ場合、主記憶からデータを読
み出す性能に比べ、低くなるという課題を解決する。 【解決手段】 キャッシュコヒーレンシ制御を行うクラ
スタブリッジ12に、他のクラスタ2がモディファイデ
ータを持つことが記憶されていた場合、クラスタバスプ
ロトコルを拡張し、通常プロトコルによる無効化読み出
し時に他クラスタのクラスタブリッジ22が、そのクラ
スタ2内にモディファイデータが存在すること認識する
前に、拡張プロトコルにより、そのクラスタ2内にモデ
ィファイデータが存在することを通知することにより、
事前にプロセッサ8からモディファイデータをクラスタ
ブリッジ22に書き戻し、レイテンシを改善する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
を有するプロセッサをバスによりクラスタ接続しそのク
ラスタを複数個階層接続したマルチプロセッサシステム
関し、特に複数プロセッサ内のキャッシュのコヒーレン
シ制御に関する。
【0002】
【従来の技術】SMPシステムでは、従来のMESIキ
ャッシュコヒーレンシプロトコルを採用していた。
【0003】特開平8ー185359号公報「メモリサ
ブシステム」には、NUMA方式の多階層キャッシュに
おいて、タグメモリに格納されたタグ情報を参照してキ
ャッシュコヒーレンシの制御の返事を行い、一方タグ情
報がダーティーを示していた場合主記憶からの読み出し
データを停止させダーティーラインのコピーバック処理
後に正しいデータをプロセッサへ送る技術が開示されて
いる。
【0004】特開平9ー319719号公報「クラスタ
接続バスシステム」には、複数のCPUクラスタを搭載
し複数階層型バス構造を有するマルチプロセッサシステ
ムにおいて、CPU数がひとつの時にインタフェースL
SIと主記憶コントローラを1対1接続させ、クラスタ
バスの調停、キャッシュ一貫性制御のサポートを取り除
いたバスプロトコルを用い性能の向上を図る技術が開示
されている。
【0005】特開平10ー289157号公報「SMP
バスの共用介入優先方法およびシステム」では、従来の
MESIキャッシュコヒーレンシプロトコルにあらた
に、R最近参照という状態を導入し、優先度に応じて要
求を処理する技術が開示されている。
【0006】
【発明が解決しようとする課題】MESIキャッシュコ
ヒーレンシ制御を有するSMPシステムで、プロセッサ
からの無効化読み出し要求に対し、他のクラスタのプロ
セッサが、モディファイデータを持つ場合、主記憶から
データを読み出す性能に比べ、低くなるという問題があ
る。
【0007】特開平8ー185359号公報「メモリサ
ブシステム」は、NUMA方式を対象としているためS
MPには適用が難しいという問題点がある。
【0008】特開平9ー319719号公報「クラスタ
接続バスシステム」は、単一プロセッサ時のシステム性
能を向上させるもので複数プロセッサ時の性能向上を図
るものではない。
【0009】特開平10ー289157号公報「SMP
バスの共用介入優先方法およびシステム」は、優先度に
よる処理をするものでありキャッシュコヒーレンシ維持
動作の性能を向上を図るものではない。
【0010】
【課題を解決するための手段】本発明のバスブリッジ
は、内部キャッシュを有する複数のプロセッサをプロセ
ッサバスにより結合したクラスタと、システムバスを接
続するバスブリッジにおいて、前記バスブリッジは、ク
ラスタキャッシュと前記クラスタキャッシュのコヒーレ
ンシを維持するクラスタキャッシュ制御部を有し、前記
クラスタキャッシュ制御部は、前記システムバスを監視
する手段と、前記クラスタがモディファイデータを持つ
ことを検出する手段と、前記クラスタキャッシュに空き
があることを検出する手段と、前記空き状態を保持させ
る手段と、前記プロセッサバスからの前記プロセッサか
らの無効化読み出し要求時に前記空き状態が検出された
場合、前記システムバスに前記無効化読み出し要求を転
送する手段と、前記システムバス上に前記無効化読み出
し要求のアドレスを通知する手段と、他の前記バスブリ
ッジから前記アドレスを受信したときに前記プロセッサ
に前記無効化読み出し要求を転送する手段を有する。
【0011】本発明のキャッシュコヒーレンシ制御装置
は、内部キャッシュを有する複数のプロセッサをプロセ
ッサバスにより結合したクラスタと、システムバスを接
続するバスブリッジを複数接続したマルチプロセッサシ
ステムのキャッシュコヒーレンシ制御装置において、前
記キャッシュコヒーレンシ制御装置は、第一のクラスタ
キャッシュを制御する第一のクラスタキャッシュ制御部
を有する第一のバスブリッジと、第二のクラスタキャッ
シュを制御する第二のクラスタキャッシュ制御部を有す
る第二のバスブリッジから構成され、前記第一のクラス
タキャッシュ制御部は、前記システムバスを監視する手
段と、前記第二のバスブリッジに接続される前記クラス
タがモディファイデータを持つことを検出する手段と、
前記モディファイデータを有する前記第二のクラスタキ
ャッシュに空きがあることを検出する手段と、前記空き
状態を保持させる手段と、前記第一のバスブリッジに接
続する前記プロセッサからの無効化読み出し要求時に前
記空き状態が検出された場合、前記システムバスに前記
無効化読み出し要求を転送する手段と、前記システムバ
ス上に前記無効化読み出し要求のアドレスを通知する手
段とを有し、前記第二のバスブリッジは、前記システム
バスを監視する手段と、前記第一のバスブリッジからの
要求により前記第二のバスブリッジに接続される前記ク
ラスタがモディファイデータを持つことを検出する手段
と、前記空き状態を保持する手段と、前記検出する手段
により検出した結果を前記第一のバスブリッジへ返送す
る手段と、第一のバスブリッジから前記アドレスを受信
したときに前記第二のバスブリッジに接続するプロセッ
サに前記無効化読み出し要求を転送する手段を有する。
【0012】本発明のキャッシュコヒーレンシ制御方法
は、内部キャッシュを有する複数のプロセッサをプロセ
ッサバスにより結合したクラスタと、システムバスを接
続するバスブリッジを複数接続したマルチプロセッサシ
ステムのキャッシュコヒーレンシ制御方法において、前
記複数のバスブリッジは、第一のクラスタキャッシュを
制御する第一のクラスタキャッシュ制御部を有する第一
のバスブリッジと、第二のクラスタキャッシュを制御す
る第二のクラスタキャッシュ制御部を有する第二のバス
ブリッジから構成され、前記第一のクラスタキャッシュ
制御部において、前記システムバスを監視する第一の手
順と、前記第二のバスブリッジに接続される前記クラス
タがモディファイデータを持つことを検出する第二の手
順と、前記モディファイデータを有する前記第二のクラ
スタキャッシュに空きがあることを検出する第三の手順
と、前記空き状態を保持させる第四の手順と、前記第一
のバスブリッジに接続する前記プロセッサからの無効化
読み出し要求時に前記空き状態が検出された場合、前記
システムバスに前記無効化読み出し要求を転送する第五
の手順と、前記システムバス上に前記無効化読み出し要
求のアドレスを通知する第六の手順と、前記第二のバス
ブリッジにおいて、第一のバスブリッジから前記アドレ
スを受信する第七の手順と前記第二のバスブリッジに接
続するプロセッサに前記無効化読み出し要求を転送する
第八の手順をを有する。
【0013】本発明第一のプロセッサユニットは、内部
キャッシュを有する複数のプロセッサをプロセッサバス
により結合したクラスタと、前記クラスタとシステムバ
スを接続する本発明第一のバスブリッジから構成され
る。
【0014】本発明第二のプロセッサユニットは、内部
キャッシュを有するプロセッサ4個をプロセッサバスに
より結合したクラスタと、前記クラスタとシステムバス
を接続する本発明第一のバスブリッジから構成される。
【0015】本発明のマルチプロセッサシステムは、本
発明第一または本発明第二のプロセッサユニットを複数
個と入出力制御装置と主記憶をシステムバスにより接続
した。
【0016】
【発明の実施の形態】本発明の実施の形態について図面
を参照して詳細に説明する。
【0017】図1は、本発明の実施の形態のマルチプロ
セッサシステムの構成を示すブロック図である。
【0018】4個のプロセッサ1は、プロセッサバス1
1に接続され、クラスタ9を構成する。4個のプロセッ
サ8は、プロセッサバス21に接続され、クラスタ2を
構成する。プロセッサバス11とプロセッサバス21に
は、クラスタブリッジ12とクラスタブリッジ22を介
してシステムバス31が接続される。クラスタブリッジ
1はプロセッサバス11とシステムバス31とのブリッ
ジ機能と、クラスタキャッシュ13とのインタフェース
及び制御機能を有する。クラスタブリッジ22はプロセ
ッサバス21とシステムバス31とのブリッジ機能と、
クラスタキャッシュ23とのインタフェース及び制御機
能を有する。主記憶制御装置32はシステムバス31に
接続され主記憶39の制御を行う。入出力制御装置33
はシステムバス31に接続され入出力装置38の制御を
行う。
【0019】図2は、本発明の実施の形態のプロセッサ
1内部の構成を示すブロック図である。プロセッサ1と
プロセッサ8は同一である。プロセッサ1は、CPU4
9、L1キャッシュ41、L2キャッシュ42から構成
される。L1キャッシュ41とL2キャッシュ42はプ
ロセッサ内蔵キャッシュ43である。CPU49は、プ
ロセッサ1内部全体の制御を行い、またL1キャッシ
ュ、L2キャッシュのコヒーレンシの制御も行う。コヒ
ーレンシ制御の際には、プロセッサバス11を経由して
外部との転送処理を行う。
【0020】図3は、クラスタブリッジ12の回路構成
を示す図である。クラスタブリッジ12とクラスタブリ
ッジ22は同一である。プロセッサバス入出力制御回路
141は、プロセッサバス11とのインタフェース制御
を行う。システムバス入出力制御回路142は、システ
ムバス31とのインタフェース制御を行う。キャッシュ
コヒーレンシ制御回路143であり、クラスタキャッシ
ュ13とのインタフェースをもち、キャッシュステート
の判定およびステート変更の制御を行う。システムバス
入出力制御回路242、キャッシュコヒーレンシ制御回
路243、クラスタキャッシュ22も同様の制御を行
う。クラスタキャッシュ13とクラスタキャッシュ23
は同一であり、アドレスアレイ131、データアレイ1
32から構成される。また、特定のアドレスに対応する
アドレスアレイ131、データアレイ132の一部をエ
ントリ139と呼ぶ。
【0021】図4は、本発明の実施の形態のMESIプ
ロトコルでのキャッシュコヒーレンシ制御方法のステー
ト遷移図である。MESIプロトコルには、以下に示す
4つのステートが存在する。M(モディファイ)ステー
トは、キャッシュラインのみ有効を示す。主記憶データ
は無効(キャッシュと不一致)であり、当該キャッシュ
のみデータが存在する。E(イクスクルーシブ)ステー
トは、キャッシュラインと主記憶データが有効(キャッ
シュと一致)であることを示す。当該キャッシュのみデ
ータが存在する。S(シェア)ステートは、キャッシュ
ラインと主記憶データが有効(キャッシュと一致)であ
ることを示す。複数のキャッシュにデータが存在する。
I(インバリッド)ステートは、キャッシュラインが無
効で、主記憶のみ有効であることを示す。プロセッサ
は、プロセッサバスをスヌープし、状態遷移を行い、キ
ャッシュのコヒーレンシ制御を行う。本発明では、Mス
テートはM1とM0の二つの状態を保有する。M1とM
0については後述する。
【0022】次に本発明のキャッシュコヒーレンシ制御
の動作の概要について説明する。
【0023】プロセッサ1は、内部にL1キャッシュ4
1、L2キャッシュ42を持つ。プロセッサ1は、4個
でクラスタ9を構成しており、プロセッサバス11で、
クラスタブリッジ12と接続される。各クラスタブリッ
ジ12(22)はクラスタキャッシュ13を持つ。各ク
ラスタブリッジ12(22)は、システムバス31で、
主記憶制御装置32、入出力制御装置33と接続され
る。プロセッサ1のL1キャッシュ41、L2キャッシ
ュ42を制御するプロトコルは、ライトバックキャッシ
ュ方式のMESIプロトコルが使われ。クラスタキャッ
シュ13のプロトコルは、同様にMESIプロトコルが
使われる。クラスタキャッシュ13のコヒーレンシを維
持するためには、プロセッサ1内でのデータ更新は、す
べてプロセッサバス11に見えなければならない。その
ため、プロセッサ1に、Eステートを持たせないように
クラスタブリッジ12は制御する。またクラスタブリッ
ジ12では、クラスタ9内にモディファイデータがある
ことを、M0ステートとM1ステートにわけ、管理す
る。M0ステートは、自クラスタ9のプロセッサのL1
キャッシュ41,L2キャッシュ42のみ有効データを
もち、クラスタキャッシュ13は無効な状態を示す。こ
のとき主記憶39内のデータは無効である。M1ステー
トは、クラスタキャッシュ13に有効なデータが存在す
ることを示す。このときL1キャッシュ41,L2キャ
ッシュ42はシェアードまたは、インバリッドであり、
また主記憶39内のデータは無効である。クラスタキャ
ッシュ13は、M0ステートでは、他クラスタ2からの
無効化読み出し要求時に、有効なデータが存在しないの
で、自クラスタ9内のプロセッサ1内のL1キャッシュ
41またはL2キャッシュ42にデータを要求し、プロ
セッサ1からの書き戻しが行われるのを待たなければ、
データが返送できない。M1ステートでは、他クラスタ
2からの無効化読み出し要求時に、有効なデータが存在
するので、すぐにデータ返送できる。
【0024】以下に各部の動作の説明を行う。クラスタ
間のキャッシュコヒーレンシを維持するキャッシュコヒ
ーレンシ制御回路143は、自クラスタブリッジ12の
接続されるプロセッサバス11、システムバス31を常
に監視している。このとき、他クラスタブリッジ22か
ら、他クラスタ2のプロセッサ8がモディファイ(M)
ステートになる読み出し要求がシステムバス31で発生
した場合、上記キャッシュコヒーレンシ制御回路143
は、アドレスアレイ131の該当エントリ139を参照
し、ヒットしていれば、インバリデートするのではなく
て、他クラスタ2にモディファイデータありを示すCス
テートに変更する。また、他クラスタ2から、書き戻し
が発生した場合には、インバリデートする。これによ
り、上記キャッシュコヒーレンシ制御回路143の接続
するクラスタ9のプロセッサ1から無効化読み出し要求
が発生した場合、他クラスタ2のMステートの有無(C
ステート)が認識できる。クラスタブリッジ12は、M
ステートの有無にかかわらず、ミスヒットであれば、シ
ステムバス31に無効化読み出し要求を転送する。Mス
テート有りの場合、拡張プロトコルで、通常プロトコル
と同じタイミングあるいはそれよりも前に、Mステート
の読み出し要求を、アドレスと共に通知する。この通知
を受けたクラスタブリッジ22は、通常システムバス3
1からクラスタ2のプロセッサバス21へクラスタキャ
ッシュ23のスヌープ結果から転送する無効化読み出し
要求を、スヌープなしで転送することができ、通常のプ
ロトコルの場合よりはやく、プロセッサ8からのモディ
ファイデータをクラスタキャッシュ23に書き戻すこと
ができ、無効化読み出し要求を行ったプロセッサ1にデ
ータが到達するまでの時間を短縮することができる。
【0025】次に。本発明のキャッシュコヒーレンシ制
御について、図5乃至7を用いて説明する。図5は、本
発明の実施の形態のキャッシュコヒーレンシ制御方法に
おいて、通常プロトコルによる無効化読み出しシーケン
スを示す図である。図6は、本発明の実施の形態のキャ
ッシュコヒーレンシ制御方法において、先行要求なしの
拡張プロトコルによる無効化読み出しシーケンスを示す
図である。図7は、本発明の実施の形態のデータ転送方
法において、先行要求ありでの拡張プロトコルによる無
効化読み出しシーケンスを示す図である。
【0026】まず、プロセッサ1がモディファイデータ
をもつまでの動作を説明する。プロセッサ1が無効化読
み出し要求を、プロセッサバス11に発行すると、プロ
セッサバス入出力制御回路141は、クラスタキャッシ
ュ13を索引する。キャッシュコヒーレンシ制御回路1
43は、クラスタキャッシュ13の状態を判定する。こ
こでは、ミスヒットであったとする。すると、無効化読
み出し要求はシステムバス入出力制御回路142に転送
され、システムバス31のバス使用権を獲得し、無効化
読み出し要求をシステムバス31に発行する。クラスタ
ブリッジ12とクラスタブリッジ22はそれぞれクラス
タキャッシュ13(23)の索引をキャッシュコヒーレ
ンシ制御部143(243)に要求し、スヌープ結果を
システムバス31に送出する。ここでは、クラスタキャ
ッシュ13とクラスタキャッシュ23もミスヒットし、
主記憶制御装置32からデータが返送されたとする。キ
ャッシュコヒーレンシ制御部143は、クラスタキャッ
シュ13に自クラスタ9のプロセッサ1がモディファイ
データを持っている事を示すM0ステートを書き込む。
一方、キャッシュコヒーレンシ制御回路143は、該当
するエントリ139に有効なデータSステートがある場
合は、それを保持する。もし、有効なデータがない場合
は、他クラスタキャッシュ23にモディファイデータが
ある事を示すCステートを、書き込む。これで、プロセ
ッサ1がモディファイデータをもち、L1、L2キャッ
シュのステートがMになった。
【0027】次にプロセッサ8が、プロセッサ1内のM
ステートとなったL1キャッシュ41またはL2キャッ
シュ42内のデータを無効化読み出し要求を発行するこ
とによって、プロセッサ8内の内蔵キャッシュ48がM
ステートになるまでを、該当エントリ139が他アドレ
スの有効データを保持しているため、該当データをミス
し、システムバス31での転送は通常プロトコルとなる
場合を説明する。プロセッサ8が無効化読み出し要求
を、プロセッサバス21に発行すると、プロセッサバス
入出力制御回路241は、クラスタキャッシュ23を索
引する。キャッシュコヒーレンシ制御回路243は、ク
ラスタキャッシュ23の状態を判定する。ここでは、ミ
スヒットとなる。すると、無効化読み出し要求はシステ
ムバス入出力制御回路242に転送され、システムバス
31のバス使用権を獲得し、無効化読み出し要求をシス
テムバス31に発行する。クラスタブリッジ12、22
はそれぞれ自クラスタキャッシュ13(23)の索引を
キャッシュコヒーレンシ制御回路143,243に要求
し、スヌープ結果をシステムバス31に送出する。クラ
スタブリッジ12のスヌープ結果は、M0である。クラ
スタブリッジ12は、データを持っていないため、上位
クラスタのプロセッサバス11にプロセッサバス入出力
制御回路141を介して、無効化読み出し要求を転送
し、システムバス31での無効化読み出し要求を一旦終
了させる。プロセッサバス11に発行された無効化読み
出し要求により、プロセッサ1よりモディファイデータ
が出力されると、そのデータをキャッシュコヒーレンシ
制御回路143はクラスタキャッシュ13に取り込みM
1とする。その後システムバス31にデータ返送の要求
を発行し、データ返送する。このとき、キャッシュコヒ
ーレンシ制御回路143は、他クラスタ2にモディファ
イデータが移動したので、Cステートを書き込む。一
方、キャッシュコヒーレンシ制御回路243は、M0を
書き込み、プロセッサ8にデータ返送し、プロセッサ8
のステートはMとなる。この動作のシーケンスを図3に
示す。
【0028】これに対し、プロセッサ8が同じデータを
無効化読み出し要求を発行することによって、プロセッ
サの内部キャッシュ48がMステートになるまでを、該
当データをプロセッサ1がMデータを持つ転送におい
て、該当ラインをCステートとして保持しているため
に、システムバス31での転送を拡張プロトコルとする
場合を説明する。プロセッサ8が無効化読み出し要求
を、プロセッサバス21に発行すると、プロセッサバス
入出力制御回路241は、クラスタキャッシュ23を索
引する。キャッシュコヒーレンシ制御回路243は、キ
ャッシュの状態を判定する。ここでは、Cステートにヒ
ットとなる。無効化読み出し要求はシステムバス入出力
制御回路242に転送されると同時に、Mアドレス出力
制御回路251にも転送される。システムバス31のバ
ス使用権を獲得し、Mデータ無効化読み出し要求を発行
する。これは、通常プロトコルのアドレス転送時に、M
データ要求であることを示す信号を、アドレスストロー
ブ信号と同時にアサートすることで、区別する。クラス
タブリッジ12は、Mデータ要求なので、自クラスタキ
ャッシュ13のスヌープ結果をまたずに、プロセッサバ
ス11にプロセッサバス入出力制御回路141を介し
て、無効化読み出し要求を転送し、システムバス31で
の無効化読み出し要求を一旦終了させる。プロセッサバ
ス11に発行された無効化読み出し要求により、プロセ
ッサ1よりモディファイデータ出力されると、そのデー
タをキャッシュコヒーレンシ制御回路143はクラスタ
キャッシュ13に取り込みM1とする。その後システム
バス31にデータ返送の要求を発行し、データ返送す
る。このとき、キャッシュコヒーレンシ制御回路143
は、他クラスタ2にモディファイデータが移動したの
で、Cステートを書き込む。一方、キャッシュコヒーレ
ンシ制御回路243は、M0を書き込み、プロセッサ8
にデータ返送し、プロセッサ8の内蔵キャッシュ48ス
テートはMとなる。この動作のシーケンスを図6に示
す。クラスタブリッジ12で、システムバス31からプ
ロセッサバス11への無効化読み出し要求をの転送がス
ヌープを待たなかった分のレイテンシが改善される。
【0029】また、システムバス31のバス獲得時にシ
ステムバスに出力すべき、先行する要求ある場合は、通
常プロトコルでは、規定していないMデータアドレスの
みを転送する要求を起動する。この転送は、アドレスス
トローブ信号をアサートせずに、Mデータ要求であるこ
とを示す信号をアサートする。これにより、1T間バス
を占有することになる。Mアドレス入力制御回路152
は、Mデータ要求なので、直ちにプロセッサバス11に
プロセッサバス入出力制御回路141を介して、無効化
読み出し要求を転送する。プロセッサバス11に発行さ
れた無効化読み出し要求により、プロセッサ1よりモデ
ィファイデータ出力されると、そのデータをキャッシュ
コヒーレンシ制御回路143はクラスタキャッシュ13
に取り込みM1とする。その後システムバス31に発行
された、無効化要求時に、データ返送準備ができていれ
ば、データ返送し、できていなければ、一旦終了させ
て、データ返送の要求を発行する。このとき、キャッシ
ュコヒーレンシ制御回路143は、他クラスタ2にモデ
ィファイデータが移動したので、Cステートを書き込
む。一方、キャッシュコヒーレンシ制御回路243は、
M0を書き込み、プロセッサ8にデータ返送し、プロセ
ッサ内蔵キャッシュ48のステートはMとなる。この動
作のシーケンスを図7に示す。クラスタブリッジ12
で、システムバス31からプロセッサバス11への無効
化読み出し要求を、実際に無効化読み出し要求が発行さ
れる前に起動したことにより、レイテンシが改善され
る。
【0030】
【発明の効果】以上詳記したように本発明によれば、シ
ステムバスを監視して、他のクラスタがモディファイデ
ータを持つことを検出し、該当するクラスタキャッシュ
のエントリに空きがある場合に、上記状態を保持する手
段と、プロセッサバスで、プロセッサからの無効化読み
出し要求時に、上記状態が検出された場合、システムバ
スに無効化読み出し要求を転送するのと同時またはそれ
以前にそのモディファイデータの存在するクラスタブリ
ッジに、そのアドレスを通知するバスインタフェースプ
ロトコルと、上記モディファイデータの存在を通知され
たことにより、上位のクラスタに無効化読み出し要求を
転送する手段を備えることで、他のクラスタ内のプロセ
ッサが、モディファイデータを持つ場合のレイテンシ
を、改善することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態のマルチプロセッサシステ
ムの構成を示すブロック図である。
【図2】本発明の実施の形態のプロセッサ内部の構成を
示すブロック図である。
【図3】本発明の実施の形態のクラスタブリッジの構成
を示すブロック図である。
【図4】本発明の実施の形態のMESIプロトコルでの
キャッシュコヒーレンシ制御方法のステート遷移図であ
る。
【図5】本発明の実施の形態のキャッシュコヒーレンシ
制御方法において、通常プロトコルによる無効化読み出
しシーケンスを示す図である。
【図6】本発明の実施の形態のキャッシュコヒーレンシ
制御方法において、先行要求なしの拡張プロトコルによ
る無効化読み出しシーケンスを示す図である。
【図7】本発明の実施の形態のデータ転送方法におい
て、先行要求ありでの拡張プロトコルによる無効化読み
出しシーケンスを示す図である。
【符号の説明】
1 プロセッサ 2 クラスタ 8 プロセッサ 9 クラスタ 11 プロセッサバス 21 プロセッサバス 12 クラスタブリッジ 22 クラスタブリッジ 13 クラスタキャッシュ 23 クラスタキャッシュ 31 システムバス 32 主記憶制御装置 33 入出力制御装置 38 入出力装置 39 主記憶 41 L1キャッシュ 42 L2キャッシュ 43 プロセッサ内蔵キャッシュ 49 CPU 131 アドレスアレイ 132 データアレイ 139 エントリ 141 プロセッサバス入出力制御回路 241 プロセッサバス入出力制御回路 142 システムバス入出力制御回路 242 システムバス入出力制御回路 143 キャッシュコヒーレンシ制御回路 243 キャッシュコヒーレンシ制御回路 251 Mアドレス出力制御回路 152 Mアドレス入力制御回路

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 内部キャッシュを有する複数のプロセッ
    サをプロセッサバスにより結合したクラスタとシステム
    バスを接続するバスブリッジにおいて、 前記バスブリッジは、クラスタキャッシュと前記クラス
    タキャッシュのコヒーレンシを維持するクラスタキャッ
    シュ制御部を有し、 前記クラスタキャッシュ制御部は、前記システムバスを
    監視する手段と、前記クラスタがモディファイデータを
    持つことを検出する手段と、前記クラスタキャッシュに
    空きがあることを検出する手段と、前記空き状態を保持
    させる手段と、前記プロセッサバスからの前記プロセッ
    サからの無効化読み出し要求時に前記空き状態が検出さ
    れた場合、前記システムバスに前記無効化読み出し要求
    を転送する手段と、前記システムバス上に前記無効化読
    み出し要求のアドレスを通知する手段と、他の前記バス
    ブリッジから前記アドレスを受信したときに前記プロセ
    ッサに前記無効化読み出し要求を転送する手段を具備す
    ることを特徴とするバスブリッジ。
  2. 【請求項2】 内部キャッシュを有する複数のプロセッ
    サをプロセッサバスにより結合したクラスタとシステム
    バスを接続するバスブリッジを複数接続したマルチプロ
    セッサシステムのキャッシュコヒーレンシ制御装置にお
    いて、 前記キャッシュコヒーレンシ制御装置は、第一のクラス
    タキャッシュを制御する第一のクラスタキャッシュ制御
    部を有する第一のバスブリッジと、第二のクラスタキャ
    ッシュを制御する第二のクラスタキャッシュ制御部を有
    する第二のバスブリッジから構成され、 前記第一のクラスタキャッシュ制御部は、前記システム
    バスを監視する手段と、前記第二のバスブリッジに接続
    される前記クラスタがモディファイデータを持つことを
    検出する手段と、前記モディファイデータを有する前記
    第二のクラスタキャッシュに空きがあることを検出する
    手段と、前記空き状態を保持させる手段と、前記第一の
    バスブリッジに接続する前記プロセッサからの無効化読
    み出し要求時に前記空き状態が検出された場合、前記シ
    ステムバスに前記無効化読み出し要求を転送する手段
    と、前記システムバス上に前記無効化読み出し要求のア
    ドレスを通知する手段とを有し、 前記第二のバスブリッジは、前記システムバスを監視す
    る手段と、前記第一のバスブリッジからの要求により前
    記第二のバスブリッジに接続される前記クラスタが前記
    モディファイデータを持つことを検出する手段と、前記
    空き状態を保持する手段と、前記検出する手段により検
    出した結果を前記第一のバスブリッジへ返送する手段
    と、第一のバスブリッジから前記アドレスを受信したと
    きに前記第二のバスブリッジに接続する前記プロセッサ
    に前記無効化読み出し要求を転送する手段を具備するこ
    とを特徴とするキャッシュコヒーレンシ制御装置。
  3. 【請求項3】 内部キャッシュを有する複数のプロセッ
    サをプロセッサバスにより結合したクラスタとシステム
    バスを接続するバスブリッジを複数接続したマルチプロ
    セッサシステムのキャッシュコヒーレンシ制御方法にお
    いて、前記複数のバスブリッジは、第一のクラスタキャ
    ッシュを制御する第一のクラスタキャッシュ制御部を有
    する第一のバスブリッジと、第二のクラスタキャッシュ
    を制御する第二のクラスタキャッシュ制御部を有する第
    二のバスブリッジから構成され、 前記第一のクラスタキャッシュ制御部において、前記シ
    ステムバスを監視する第一の手順と、前記第二のバスブ
    リッジに接続される前記クラスタがモディファイデータ
    を持つことを検出する第二の手順と、前記モディファイ
    データを有する前記第二のクラスタキャッシュに空きが
    あることを検出する第三の手順と、前記空き状態を保持
    させる第四の手順と、前記第一のバスブリッジに接続す
    る前記プロセッサからの無効化読み出し要求時に前記空
    き状態が検出された場合、前記システムバスに前記無効
    化読み出し要求を転送する第五の手順と、前記システム
    バス上に前記無効化読み出し要求のアドレスを通知する
    第六の手順と、 前記第二のバスブリッジにおいて、第一のバスブリッジ
    から前記アドレスを受信する第七の手順と前記第二のバ
    スブリッジに接続する前記プロセッサに前記無効化読み
    出し要求を転送する第八の手順を有することを特徴とす
    るキャッシュコヒーレンシ制御方法。
  4. 【請求項4】 内部キャッシュを有する複数のプロセッ
    サをプロセッサバスにより結合したクラスタと、前記ク
    ラスタとシステムバスを接続する請求項1記載のバスブ
    リッジから構成されるプロセッサユニット。
  5. 【請求項5】 請求項4記載のプロセッサユニットであ
    って、プロセッサ4個によりクラスタを構成することを
    特徴とするプロセッサユニット。
  6. 【請求項6】 請求項4または請求項5記載のプロセッ
    サユニットを複数個と入出力制御装置と主記憶をシステ
    ムバスにより接続したことを特徴とするマルチプロセッ
    サシステム。
JP11160420A 1999-06-08 1999-06-08 バスブリッジ、キャッシュコヒーレンシ制御装置、キャッシュコヒーレンシ制御方法、プロセッサユニット、マルチプロセッサシステム Pending JP2000347933A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11160420A JP2000347933A (ja) 1999-06-08 1999-06-08 バスブリッジ、キャッシュコヒーレンシ制御装置、キャッシュコヒーレンシ制御方法、プロセッサユニット、マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11160420A JP2000347933A (ja) 1999-06-08 1999-06-08 バスブリッジ、キャッシュコヒーレンシ制御装置、キャッシュコヒーレンシ制御方法、プロセッサユニット、マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JP2000347933A true JP2000347933A (ja) 2000-12-15

Family

ID=15714551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11160420A Pending JP2000347933A (ja) 1999-06-08 1999-06-08 バスブリッジ、キャッシュコヒーレンシ制御装置、キャッシュコヒーレンシ制御方法、プロセッサユニット、マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2000347933A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004046954A1 (ja) * 2002-11-21 2004-06-03 Fujitsu Limited プロセッサモジュール及び情報処理装置
JP2008176699A (ja) * 2007-01-22 2008-07-31 Renesas Technology Corp マルチプロセッサ装置
JP2011154704A (ja) * 2011-03-04 2011-08-11 Renesas Electronics Corp マルチプロセッサ装置
JP2013140630A (ja) * 2013-04-04 2013-07-18 Renesas Electronics Corp マルチプロセッサ装置
EP3547146A1 (en) * 2018-03-29 2019-10-02 INTEL Corporation System, method, and apparatus for detecting repetitive data accesses and automatically loading data into local cache
US10606755B2 (en) 2017-06-30 2020-03-31 Intel Corporation Method and system for performing data movement operations with read snapshot and in place write update
US11055226B2 (en) 2018-06-29 2021-07-06 Intel Corporation Mitigation of cache-latency based side-channel attacks

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004046954A1 (ja) * 2002-11-21 2004-06-03 Fujitsu Limited プロセッサモジュール及び情報処理装置
JP2008176699A (ja) * 2007-01-22 2008-07-31 Renesas Technology Corp マルチプロセッサ装置
US8200878B2 (en) 2007-01-22 2012-06-12 Renesas Electronics Corporation Multi-processor device with groups of processors consisting of respective separate external bus interfaces
US8621127B2 (en) 2007-01-22 2013-12-31 Renesas Electronics Corporation Multi-processor device with groups of processors and respective separate external bus interfaces
US10372654B2 (en) 2007-01-22 2019-08-06 Renesas Electronics Corporation Multi-processor device
JP2011154704A (ja) * 2011-03-04 2011-08-11 Renesas Electronics Corp マルチプロセッサ装置
JP2013140630A (ja) * 2013-04-04 2013-07-18 Renesas Electronics Corp マルチプロセッサ装置
US10606755B2 (en) 2017-06-30 2020-03-31 Intel Corporation Method and system for performing data movement operations with read snapshot and in place write update
US11327894B2 (en) 2017-06-30 2022-05-10 Intel Corporation Method and system for performing data movement operations with read snapshot and in place write update
US11816036B2 (en) 2017-06-30 2023-11-14 Intel Corporation Method and system for performing data movement operations with read snapshot and in place write update
EP3547146A1 (en) * 2018-03-29 2019-10-02 INTEL Corporation System, method, and apparatus for detecting repetitive data accesses and automatically loading data into local cache
US11055226B2 (en) 2018-06-29 2021-07-06 Intel Corporation Mitigation of cache-latency based side-channel attacks

Similar Documents

Publication Publication Date Title
AU693334B2 (en) Multi-processing cache coherency protocol on a local bus
US7584330B2 (en) Multi-processor data coherency
US5353415A (en) Method and apparatus for concurrency of bus operations
JP3999821B2 (ja) データ処理システム内でバス仲裁プロトコルを実行する方法および装置
US7143246B2 (en) Method for supporting improved burst transfers on a coherent bus
US5732244A (en) Multiprocessor with split transaction bus architecture for sending retry direction to other bus module upon a match of subsequent address bus cycles to content of cache tag
US20030093624A1 (en) Symmetric multiprocessor systems with an independent super-coherent cache directory
US20030140200A1 (en) Methods and apparatus for transferring cache block ownership
WO1994008297A9 (en) Method and apparatus for concurrency of bus operations
JPH11506852A (ja) 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減
US8015364B2 (en) Method and apparatus for filtering snoop requests using a scoreboard
US5485592A (en) Write back cache controller method and apparatus for use in a system having a CPU with internal cache memory
JP3757117B2 (ja) キャッシュ装置及び制御方法
US5987544A (en) System interface protocol with optional module cache
US6763435B2 (en) Super-coherent multiprocessor system bus protocols
JP2000330965A (ja) マルチプロセッサシステム及びそのメモリアクセストランザクションの転送方法
US6976132B2 (en) Reducing latency of a snoop tenure
WO1997004392A1 (en) Shared cache memory device
JP2000347933A (ja) バスブリッジ、キャッシュコヒーレンシ制御装置、キャッシュコヒーレンシ制御方法、プロセッサユニット、マルチプロセッサシステム
CN115858420A (zh) 用于支持多处理器架构的系统缓存架构和芯片
JPH10232832A (ja) 重複タグ・システム維持方法
JPH03163640A (ja) マルチプロセッサシステムおよびそれに用いるキャッシュメモリ
US9672153B2 (en) Memory interface control
US20040128451A1 (en) Power/performance optimized caches using memory write prevention through write snarfing
JP4114915B2 (ja) データ処理装置及びデータ処理システム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030819