JPH0962579A - 情報処理装置及び情報処理システム - Google Patents

情報処理装置及び情報処理システム

Info

Publication number
JPH0962579A
JPH0962579A JP7213375A JP21337595A JPH0962579A JP H0962579 A JPH0962579 A JP H0962579A JP 7213375 A JP7213375 A JP 7213375A JP 21337595 A JP21337595 A JP 21337595A JP H0962579 A JPH0962579 A JP H0962579A
Authority
JP
Japan
Prior art keywords
bus
data
cache
memory
shared
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.)
Withdrawn
Application number
JP7213375A
Other languages
English (en)
Inventor
Toshiyuki Fukui
俊之 福井
Kazumasa Hamaguchi
一正 濱口
Shuichi Nakamura
秀一 中村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP7213375A priority Critical patent/JPH0962579A/ja
Priority to US08/699,105 priority patent/US5860110A/en
Publication of JPH0962579A publication Critical patent/JPH0962579A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 (修正有) 【課題】並列計算機システムにおいて、緩いメモリコン
システンシモデルに適合した形で、キャッシュ一貫性を
保持するためのトラフィック集中を避ける。 【解決手段】キャッシュ11は、メモリ12から読み出
した後で更新したデータで、メモリ12にその結果を反
映していないものがあった場合で自分に対する処理要求
がないときには、低優先度のバス要求をバスアービタ1
6に対して発行する。キャッシュ11は、この低優先度
要求に対して使用許可が与えられると、そのデータをメ
モリ12に書き戻す。キャッシュ21は、書き戻された
データがあることを監視し、あればそのアドレスのデー
タを自分が保持しているか調べ、保持しているときに
は、そのデータを無効化する。このようにして、バスの
空き時間にデータの書き戻しを行って一貫性を保持して
おくことで、所定の同期点に書き戻しが集中しなくな
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュを介し
て接続された複数のプロセッサが並列に動作する情報処
理装置およびその制御方法に関するものである。
【0002】
【従来の技術】並列計算機システムにおいては、プロセ
ッサから発せられる主記憶に対するアクセス要求に高速
に応じるため、及び、相互結合網のトラフィックを減じ
るために、各プロセッサにキャッシュ・メモリを付随さ
せることが多い。各プロセッサから発行されるメモリ・
アクセスはキャッシュ・メモリを介して行われ、キャッ
シュ・メモリ中にはそれらメモリ・アクセス対象のデー
タ・ブロックのコピーが置かれることになる。並列計算
機システムにおいては、複数あるキャッシュ・メモリ中
に同一データ・ブロックのコピーが各々存在する状況が
生じ得るが、それらコピー間の一貫性を保証するため
に、従来様々な方法が考案・実現されている。
【0003】プロセッサ間やプロセッサ−主記憶間を相
互に接続する結合網に、全てのトランザクションが監視
可能であるバスのような相互結合網を用いた並列計算機
システムにおいてはスヌープ方式が一般的である。スヌ
ープ方式は、キャッシュ・メモリが結合網上に発行され
る全トランザクションを監視し、トランザクション対象
のデータ・ブロックのコピーが自キャッシュ・メモリ中
に存在していた場合は、必要な一貫性保持動作を施すも
のである。
【0004】また、プロセッサ間やプロセッサ・主記憶
間を相互に接続する結合網に、全てのトランザクション
を監視することが困難なものを用いた並列計算機システ
ムにおいては、ディレクトリ方式が用いられる。ディレ
クトリ方式は、データ・ブロック単位、あるいはそれに
類する単位毎に、いずれのキャッシュ・メモリ中にその
コピーが存在するかというキャッシング情報を、ディレ
クトリと呼ばれる記憶装置に格納・管理しておき、プロ
セッサからのトランザクション発行時にはディレクトリ
から得られるキャッシング情報をもとにして、トランザ
クション対象データ・ブロックのコピーを有するキャッ
シュ・メモリにトランザクションの発生を通知し、コピ
ー間の一貫性保持を図るものである。
【0005】一方、メモリに対するアクセス・レイテン
シを抑えるために様々な緩いメモリ・コンシステンシ・
モデルが考案/実現されている。
【0006】一般に緩いメモリ・コンシステンシ・モデ
ルでは、処理の過程に同期ポイントを定め、処理が同期
ポイントに達した時点で、それまでに発行したメモリ・
トランザクションをシステム中に反映させることを義務
付けている。このことは、同期ポイント以前には各メモ
リ・トランザクション結果を反映させる必要がないこと
を意味する。
【0007】この、緩いメモリ・コンシステンシ・モデ
ルを採る並列計算機システムにおいて従来のキャッシュ
一貫性保持手法を用いた場合、その時点では不要な一貫
性保持動作がトランザクション毎に入ることとなり、そ
のオーバヘッドは、緩いメモリ・コンシステンシ・モデ
ルの目的に反し、不用意にメモリ・アクセス・レイテン
シを嵩ませると言える。
【0008】この課題を解決するために、キャッシュの
一貫性保持動作の実施を、緩いメモリ・コンシステンシ
・モデルでメモリ・トランザクションを反映する必要が
生じる同期ポイントの時点にまで遅延させることによっ
て、オーバーヘッドを削減しシステムの性能向上を図っ
た例が、本件出願人らにより出願されている。
【0009】
【発明が解決しようとする課題】しかし、キャッシュの
一貫性保持動作の実施を、緩いメモリ・コンシステンシ
・モデルでメモリ・トランザクションを反映する必要が
生じる同期ポイントの時点にまで遅延させることによっ
て、不要なキャッシュ一貫性保持動作によるオーバーヘ
ッドを削減するようなシステムにおいては、同期ポイン
トの時点において集中的にキャッシュの一貫性保持動作
が行われるため、同期ポイントの時点で相互結合網上に
集中的にトラフィックが発生することになり、その結
果、相互結合網の利用効率が同期ポイントの時点におい
て極端に低下する恐れがあった。
【0010】本発明は上記従来例に鑑みてなされたもの
で、不要な一貫性保持動作を行うことによるオーバーヘ
ッドを削減しつつ、同期ポイント時点における相互結合
網上のトラフィックの集中による相互結合網の利用効率
の低下を避け、同期動作に伴う処理のオーバヘッドを軽
減することができる情報処理装置を提供することを目的
とする。
【0011】
【課題を解決するための手段】上記課題を解決するため
本発明の情報処理システムは次のような構成からなる。
すなわち、複数のプロセッサと、それらプロセッサそれ
ぞれに付随するキャッシュ・メモリと主メモリとを含む
複数の結合網利用主体と、各結合網利用主体を相互に接
続する結合網とを含む情報処理システムであって、各プ
ロセッサの処理が予め定めた段階に達した場合、当該プ
ロセッサに付随するキャッシュ・メモリ中に存在するデ
ータ・ブロックの内容の一貫性を保持する一貫性保持処
理を実行する。
【0012】また、望ましくは、前記プロセッサによる
処理が前記予め定めた段階に達する以前において、前記
結合網の状態が所定の条件を満たした場合には、当該キ
ャッシュ・メモリ中に存在するデータ・ブロックの内容
の一貫性を保持する一貫性保持処理を実行する。
【0013】また、望ましくは、前記結合網には、前記
結合網利用主体による前記結合網の使用を調停する調停
ユニットが更に接続され、前記結合網利用主体は、前記
調停ユニットに対して、前記予め定めた段階に達する以
前における書き戻しの場合にはその他の場合よりも低い
第1の優先順位で前記結合網の利用要求を発行し、前記
調停ユニットは、前記第1の優先順位の利用要求以外の
利用要求がない場合に、前記条件は満たされていると判
定して前記結合網利用主体の1に前記結合網の利用許可
を付与する。
【0014】また、望ましくは、前記一貫性保持処理
は、当該キャッシュメモリ中に存在する更新されたデー
タブロックを主メモリに書き戻す。
【0015】また、望ましくは、当該情報処理システム
は、緩いメモリ・コンシステンシ・モデルを採用する。
【0016】また、本発明の情報処理装置は次のような
構成からなる。すなわち、バス手段と、前記バス手段に
接続されたメモリ手段と、前記バス手段に接続され、前
記バス手段を少なくとも2つの互いに異なる優先順位で
要求し、前記バス手段を用いて前記メモリ手段から読出
したデータを保持する複数のバスマスタ手段と、前記優
先順位による要求に対して、優先順位の異なる2つ以上
の要求が重複した場合には高優先順位の要求に対して優
先的に前記バス手段を割り当てるバス管理手段とを備
え、前記バスマスタ手段は、第1の条件を満たした場合
には高優先順位で、第2の条件を満たした場合には低優
先順位で、前記バス管理手段に対してバス手段を要求
し、前記バス管理手段によるバスの使用許可に基づいて
前記バス手段を使用して、保持する更新されたデータを
前記メモリ手段に書き戻す。
【0017】また、望ましくは、前記バスマスタ手段に
接続されたプロセッサ手段を更に備え、該プロセッサ手
段から発行される所定の命令に従って、前記メモリ手段
から読み出して更新したデータを前記メモリ手段に書き
戻す。
【0018】また、望ましくは、前記バスマスタ手段
は、他のバスマスタ手段が前記メモリ手段にデータを書
き戻した場合、そのデータが重複して前記メモリ手段か
ら当該バスマスタ手段に読み出されているか調べ、読出
されている場合には、そのデータを無効化する。
【0019】また、望ましくは、前記第1の条件は、所
定の同期時期に達した場合、または、前記バスマスタの
保持するデータを入れ替える場合である。
【0020】また、望ましくは、前記第2の条件は、前
記バスマスタ手段の保持するデータにアクセスがない場
合である。また、バス手段と、前記バス手段に接続さ
れ、前記バス手段を少なくとも2つの互いに異なる優先
順位で要求し、前記バス手段を用いて前記メモリ手段か
ら読出したデータを保持する複数のバスマスタ手段と、
前記優先順位による要求に対して、優先順位の異なる2
つ以上の要求が重複した場合には高優先順位の要求に対
して優先的に前記バス手段を割り当てるバス管理手段と
を備え、前記バスマスタ手段は、第1の条件を満たした
場合には高優先順位で、第2の条件を満たした場合には
低優先順位で、前記バス管理手段に対してバス手段を要
求し、前記バス管理手段によるバスの使用許可に基づい
て前記バス手段を使用して、保持するデータを前記メモ
リ手段に書き戻す。
【0021】また、望ましくは、前記バスマスタ手段に
接続されたプロセッサ手段を更に備え、該プロセッサ手
段から発行される所定の命令に従って、前記メモリ手段
から読み出して更新したデータを前記メモリ手段に書き
戻す。
【0022】また、望ましくは、データを書き戻された
前記メモリ手段は、そのデータが重複して前記メモリ手
段から他のバスマスタ手段に読み出されているか調べ、
読出されている場合には、そのデータを無効化する命令
を当該他のバスマスタ手段に発行する。
【0023】また、望ましくは、前記バスマスタ手段
は、共有バス手段と、共有メモリ手段と、共有バス手段
により接続された複数の共有バスマスタと、少なくとも
高低2つの優先順位による要求に対して、優先順位の異
なる2つ以上の要求が重複した場合には高優先度の要求
に対して優先的に前記バス手段を割り当てる共有バス管
理手段とを含み、前記共有バスマスタ手段は、前記高優
先順位の要求が前記共有バス手段が使用されていない場
合に、前記共有バス管理手段に対して低優先順位で共有
バス手段を要求し、共有バス管理手段による共有バスの
使用許可に基づいて前記共有バス手段を使用して、前記
共有メモリ手段から読み出して更新したデータを前記共
有メモリ手段に書き戻す。
【0024】また、望ましくは、前記共有バスマスタ手
段は、前記バス手段と接続されたノード間インターフェ
ースと、前記共有メモリ手段に記憶された内容のコピー
を保持するキャッシュとを含む。
【0025】また、望ましくは、前記バスマスタ手段
は、前記共有バスマスタ手段に接続されたプロセッサ手
段を更に含み、該プロセッサ手段から発行される所定の
命令に従って、前記共有メモリ手段から読み出して更新
したデータを前記共有メモリ手段に書き戻す。
【0026】また、望ましくは、前記共有バスマスタ手
段は、他の共有バスマスタ手段が前記共有メモリ手段に
データを書き戻した場合、そのデータが重複して前記共
有メモリ手段から当該共有バスマスタ手段に読み出され
ているか調べ、読出されている場合には、そのデータを
無効化する。
【0027】
【発明の実施の形態】以下、添付図面を参照して本発明
の好適な実施の形態であるマルチプロセッサシステムを
詳細に説明する。 <マルチプロセッサシステムの構成>図1は本発明を実
現するためのシステムの第1の実施例の構成図である。
【0028】10、20はプロセッサであり、各プロセ
ッサはプロセッサバス14、24を介してキャッシュ1
1、21に接続される。また、キャッシュ11、21は
共有バス15を介してメインメモリ12、及びキャッシ
ュ同志の間を接続され、プロセッサの要求に基づいて、
キャッシュ11、21の内部にあるデータの更新を行っ
たり、メインメモリ12に反映させたり等すると共に、
バス上を流れるアドレス情報等をスヌープしてキャッシ
ュのメインテナンスを実施する。バスアービタ16は共
有バス15の利用権を調停するためのものである。
【0029】図2は、第1の実施の形態におけるキャッ
シュの構成図である。
【0030】キャッシュの本体は、キャッシュ制御シー
ケンサ111、アドレスタグ112、状態フラグ11
3、SRAM114、比較器115、選択器116から
なる。
【0031】ここで、SRAM114はデータを保持す
るためのデータ・ブロックを構成する。アドレスタグ1
12はデータ・ブロックであるSRAM114のアドレ
スを保持し、状態フラグ113はSRAM114上のデ
ータの状態を保持する役割りを果たす。比較器115は
アドレスタグ112の内容とプロセッサバス、共有バス
からもたらされるアドレスとを比較する。選択器116
は比較器115の比較結果からSRAM114内のデー
タを選択する。なお、キャッシュ制御シーケンサ111
はこれらキャッシュ内の各モジュールを制御する。
【0032】ここでは、2ウェイ・セット・アソシアテ
ィブの構成をとっているが、これらの構成は本発明によ
り制限されるものではない。これらは、プロセッサと
は、プロセッサバスアドレスインタフェース144、プ
ロセッサバスデータインタフェース145、プロセッサ
バスコントロールインタフェース146によって接続さ
れ、プロセッサからもたらされる要求に従って、データ
の供給等を実行する。また、これらは、共有バスに、共
有バスアドレスインタフェース154、共有バスデータ
インタフェース155、共有バスコントロールインタフ
ェース156によって接続され、プロセッサからもたら
される要求に従って、キャッシュミスした場合にデータ
をメインメモリ12からキャッシュ内にロードしたり、
キャッシュの情報をメインメモリにライトバックした
り、他のキャッシュからもたらされる制御情報をもと
に、キャッシュ内部の状態フラグ113を変更したりす
る。
【0033】本実施形態では、図1、図2に示すような
構成のシステムにおいて、ライトバック型キャッシュ・
メモリの無効化型プロトコルが用いられているとし、そ
の条件の下で、緩いメモリ・コンシステンシ・モデルに
適合したキャッシュメモリの制御方法に基づいて、キャ
ッシュ・メモリの一貫性が保証される例を示す。メモリ
の無効化型プロトコルとは、あるキャッシュでライトバ
ックされたデータブロックを他のキャッシュが重複して
保持していると、その重複したデータブロックを無効な
データとみなし、最新のデータのみを保持することで一
貫性を保持するものである。
【0034】具体的には、プロセッサから同期のための
命令(ここでは以下SYNC命令と記す)が発行された
時点において、キャッシュ・メモリの一貫性が保証され
るようなプロトコルを用いたシステムにおいて、その性
能を高めるために、将来SYNC命令が発行された時点
においてキャッシュ・メモリからメイン・メモリへの書
き戻しが行われるであろうデータ・ブロック、即ちキャ
ッシュ・メモリ内部で最新の値で書き換えられた後メイ
ンメモリにその値を反映していないデータ・ブロック
(以下“DIRTY”ブロックと呼ぶ)を、共有バスが
他のバスマスタに利用されていない場合において、あら
かじめ書き戻すことを可能にするシステムの動作手順と
システム構成の詳細に付いて説明する。なお、メインメ
モリから読出されてあるいはメインメモリに書き戻され
てキャッシュブロックの値と、それに対応するメインメ
モリのデータブロックとの値が一致しているブロックを
“CLEAN”ブロックと呼ぶ。 <キャッシュシステムの基本動作>まず最初にこのキャ
ッシュシステム自体の基本動作について図1、図2を参
照しながら説明する。 [LOAD命令]図3は、メインメモリ12からプロセ
ッサ10にデータブロックを読み込むLOAD命令実行
の際の、キャッシュ11による制御手順を示したもので
ある(以下LOAD命令がプロセッサ10から発行され
たものとして説明する)。
【0035】図3において、プロセッサ10から発行さ
れるLOAD命令に対して、アドレスバス141に出力
されているアドレスとアドレスタグ112に格納された
アドレスとを比較器115により比較し(ステップS3
01)、キャッシュ・リードヒットした場合、キャッシ
ュ11は、プロセッサ10に対してSRAM114より
データを供給する(ステップS303)。
【0036】一方、プロセッサ10から発行されるLO
AD命令に対してキャッシュ・リードミスした場合、キ
ャッシュ11はキャッシュミス処理を行い、メインメモ
リ12からデータを読み込んで(ステップS302)、
プロセッサ10に対してSRAM114よりデータを供
給する(ステップS303)。この場合、キャッシュ・
リードミスしたデータがキャッシュ11に供給されるま
で、キャッシュ11はプロセッサ10に対して当該デー
タの供給を行わない。
【0037】リードキャッシュミス処理は図5に示した
通りの手順で行われる。
【0038】まず、キャッシュ置換を行う必要があるか
判定する(ステップS501)。すなわち、SRAM1
14がすべて使用されており、空いている容量がない場
合には、使用されているブロックと置換することにな
る。置換する場合には、もっとも遠い過去に使用された
ブロックや、予め付された優先順位により決定されたブ
ロックなど、所定の方法で置換されるブロックを決定す
る(ステップS502)。次に置換対象のブロックをメ
インメモリ12にライトバックする(ステップS50
3)。ライトバックの結果、キャッシュ11内の置換対
象のブロックとメインメモリの対応するデータブロック
とが一致することが保証され、そのブロックをキャッシ
ュから削除することが可能となる。
【0039】その状態で、バスアービタ16に対して共
有バス15の利用要求を発行する(ステップS50
4)。
【0040】キャッシュ11は、共有バス15の利用許
可を得た後、共有アドレスバス151に対して当該リー
ドアクセスのアドレスを転送し、共有コントロールバス
153に対してリード要求を発行し、共有データバス1
52にデータが供給されるまで待つ(ステップS50
6)。
【0041】メイン・メモリ12により、リード要求、
及び当該リードアクセスのアドレスが受け付けられ共有
データバス152にデータが供給される(ステップS5
07)。
【0042】キャッシュ11は、共有データバス152
に供給されたデータをキャッシュ11内のSRAM11
4の当該データブロックのエントリに登録する(ステッ
プS508)。
【0043】その後状態フラグ113を所定の値にセッ
トする(ステップS509)。状態フラグ113の値は
後述するが、リードミスであれば“CLEAN”に、ラ
イトミスであれば“DIRTY”にセットされる。
【0044】このようにして、キャッシュミスがあれば
メインメモリ12から必要なデータブロックを読み出し
て、LOAD命令を実行することができる。 [STORE命令]図4は、データをプロセッサ10か
らキャッシュ11に書き込むSTORE命令実行の際
の、キャッシュ11による制御手順を示したものである
(以下STORE命令がプロセッサ10から発行された
ものとして説明する)。
【0045】図4において、プロセッサ10から発行さ
れるSTORE命令に対して、アドレスバス141に出
力されているアドレスとアドレスタグ112に格納され
たアドレスとを比較器115により比較して一致するア
ドレスがあるか、すなわちキャッシュヒットしたか調べ
(ステップS401)、キャッシュ・ライトヒットした
場合、プロセッサ10はキャッシュ11に対してデータ
を供給する(ステップS403)。
【0046】プロセッサ10から発行されるSTORE
命令に対してキャッシュ・ライトミスした場合には、図
5のキャッシュミス処理を行って(ステップS40
2)、対応するエントリをキャッシュ内部に得た後キャ
ッシュ・ライトヒット処理を行う。
【0047】以上のようにして、LOAD/STORE
命令をキャッシュにおいて処理している。 [SYNC命令]また、図11としてSYNC命令に対
する処理を説明する。SYNC命令はプロセッサがそれ
までに発行したメモリトランザクションを、システム中
に反映することを要求するものであり、本実施例におい
てはキャッシュのデータブロックの一貫性を保持するた
めにDIRTYブロックを強制的にライトバックさせる
命令となる。コントロール信号のデコードなどでSYN
C命令を検出すると、キャッシュ制御シーケンサ111
が図8に示した単に後述のライトバック処理によりライ
トバックを実施するというものである。 [ライトバック制御(流れ図による説明)]次に本シス
テムの特長であるキャッシュからメモリへのライトバッ
クを実施するまでの制御手順を、図8のフローチャート
を用いて説明する。
【0048】本システムの特長は緩いコンシステンシモ
デルに合わせて、キャッシュのライトバックを実施する
ことにある。従来では他のプロセッサ等から自キャッシ
ュの最新の値で書き換えられた後メインメモリにその値
を反映していないデータ・ブロック(“DIRTY”ブ
ロック)に対するリードが行われた場合、ライトバック
を実行していたが、本システムではこれを行わない。ラ
イトバックが行われるのは、 1:プロセッサからSYNC命令が発行された場合;こ
の場合、キャッシュ内部にある“DIRTY”ブロック
は全てメイン・メモリにライトバックされる。
【0049】2:キャッシュミスが発生し、置換対象と
して“DIRTY”ブロックが選択された場合;この場
合、キャッシュ内部にある、置換の対象となったブロッ
クのみメイン・メモリにライトバックされる。
【0050】3:キャッシュ内部に“DIRTY”ブロ
ックが存在し、共有バスが空いている場合;この場合、
共有バスが空いている時、“DIRTY”ブロックが順
次メモリにライトバックされる。なお、この実行時にプ
ロセッサからSYNC命令が発生される等、優先度の高
いトランザクションが発生した時には、共有バス要求は
高優先に切り替わる。という以上3つの場合である。
【0051】場合1では、プロセッサからSYNC命令
が発行されたことをコントロール信号のデコードなどで
検出したキャッシュ制御シーケンサ111がキャッシュ
内部の“DIRTY”ブロックが無くなるまで繰り返し
ライトバックを実施する。
【0052】また場合2はキャッシュミスした場合で、
キャッシュ・ブロックの置換を必要とした場合に、キャ
ッシュ制御シーケンサ111がLRUなどの置換アルゴ
リズムにより置換対象のブロックを検出した後に行なわ
れる。
【0053】本件出願では特に上記の場合3を特徴とし
ているので、この場合3を実現するための装置および手
順について、以下図8の手順にそって詳細に説明する。
図8は、ライトバックを行う際のキャッシュ制御シーケ
ンサ111による制御手順である。
【0054】ライトバック処理が開始されると、キャッ
シュ内部に“DIRTY”ブロックがあるか判定し(ス
テップS801)、あれば、すなわち上記場合1(図1
1から呼び出される場合)であれば、プロセッサからS
YNC命令が発行されたことによるライトバックである
ことを検出して(ステップS802)、キャッシュ制御
シーケンサ111が高優先の共有バスリクエストを発行
して(ステップS803)、キャッシュ内部の“DIR
TY”ブロックが無くなるまで繰り返しライトバックを
実施する(ステップS804〜S805)。この実現方
法に関しては、本願出願による特願平 −
において詳細が説明されている。
【0055】また場合2であれば(図5から呼び出され
る場合)、すなわちキャッシュミスした際に“DIRT
Y”キャッシュブロックを置換する場合には(ステップ
S806−Yes)、高優先の共有バスリクエストを発
行して共通バス15の使用許可を得ると(ステップS8
07)、置換対象となるキャッシュブロックをメインメ
モリ12にライトバックする(ステップS808)。
【0056】また、場合3であれば、低優先の共有バス
リクエストを発行して(ステップS809)、使用許可
(BG信号)が与えられる前に高優先のバスリクエスト
が発生していないことを判定し(ステップS810)、
発生していなければ(ステップS810−No)、“D
IRTY”ブロックのライトバックを行う(ステップS
811)。
【0057】図6は、メイン・メモリへ“DIRTY”
データブロックのライトバック処理実行の制御手順を示
したものであり、図8におけるライトバック実施(ステ
ップS804,S808,S810)の手順となる。以
下、メイン・メモリ12へのライトバック処理がキャッ
シュ11から発行されたものとして説明する。
【0058】図6は、キャッシュ11が共有バス15の
利用権を要求(共有バスリクエスト)した直後から開始
されている。キャッシュ11は、共有バス15の利用権
を獲得した後(ステップS601)、共有コントロール
バス153に対してライトバック要求元情報、及び共有
アドレスバス151に対して当該ライトバックアクセス
のアドレスを転送し、共有コントロールバス153に対
してライトバック要求を発行し(ステップS602)、
共有データバス152にライトバックするデータを供給
してメインメモリ12にそのデータを書き込む(ステッ
プS603)。その後、当該ライトバックされたキャッ
シュブロックの状態フラグを“CLEAN”に設定する
(ステップS604)。
【0059】一方、キャッシュ11からライトバック要
求が発生すると、キャッシュ11以外のキャッシュ、例
えばキャッシュ21は、共有バス15に転送されるアド
レスをスヌープして(ステップS611)、キャッシュ
21内のアドレスタグを検索する(ステップS61
2)。検索の結果、アドレスタグに、スヌープしたアド
レスのデータのコピーが有効な状態、すなわち“DIR
TY”もしくは“CLEAN”で保持されている場合は
(ステップS613)、有効な状態で保持しているデー
タブロックに対応する状態フラグを無効化(“INVA
LID”に)する。この無効化が、本例における一貫性
保持動作である。
【0060】このように、ライトバック処理が行われる
と、ライトバックしたキャッシュに保持されているデー
タがメインメモリと一致しているデータとして有効とな
り、それ以外のキャッシュに保持されている、ライトバ
ックされたデータは無効化され、データの一貫性が保持
される。
【0061】図7は、各メモリトランザクション実行時
の状態フラグの状態遷移図を示したものであり、図3〜
図6,図8及び図11に従ったキャッシュ制御シーケン
サの制御の結果、状態フラグが変遷する様子をまとめた
ものである。以下キャッシュ11の状態フラグ113と
して説明する。
【0062】図7において、状態“INVALID”は
当該状態フラグ113が管理するデータエントリが無効
であることを示す。状態“CLEAN”は当該状態フラ
グ113が管理するデータエントリがメイン・メモリか
らリードされた後、1回も書き換えられていないことを
示す。当該データエントリにはメイン・メモリと同一の
値が格納されているが、他のキャッシュのデータエント
リには最新の値が格納されている可能性がある。状態
“DIRTY”は当該状態フラグ113が管理するデー
タエントリがメイン・メモリからリードされた後、1回
以上最新の値で書き換えられ、かつ、主記憶にその値を
反映していないことを示す。当該データエントリには最
新の値が格納されている。このようなそれぞれの状態に
おいて、処理に応じて図7のように状態が遷移する。以
下、丸数字は図7に対応する。
【0063】“INVALID”状態のデータに対し
てプロセッサ10からLOAD命令が発行された場合、
キャッシュミス処理が行なわれ、状態フラグは“CLE
AN”に遷移する。
【0064】“INVALID”状態のデータに対し
てプロセッサ10からSTORE命令が発行された場
合、キャッシュライトミス処理が実行され、状態フラグ
は“DIRTY”に遷移する。
【0065】“CLEAN”状態のデータに対してプ
ロセッサ10からLOAD命令が発行された場合、キャ
ッシュ・リードヒット処理が実行され、状態フラグは
“CLEAN”に遷移する。
【0066】“CLEAN”状態のデータに対してプ
ロセッサ10からSTORE命令が発行された場合、キ
ャッシュ・ライトヒット処理が実行され、状態フラグは
“DIRTY”に遷移する。
【0067】“CLEAN”状態のデータに対して外
部のバスマスタのライトバック処理に対してスヌープヒ
ットした場合は、一貫性保持動作(他プロセッサからの
無効化トランザクション)が実行され、状態フラグは
“INVALID”に遷移する。
【0068】“DIRTY”状態のデータに対してプ
ロセッサ10からLOAD命令が発行された場合、キャ
ッシュ・リードヒット処理が実行され、状態フラグは
“DIRTY”のままである。
【0069】“DIRTY”状態のデータに対しプロ
セッサ10からSTORE命令が発行された場合、キャ
ッシュ・ライトヒット処理が実行され、状態フラグは
“DIRTY”のままである。
【0070】“DIRTY”状態のデータに対して主
記憶へのライトバック処理が実行された場合、状態フラ
グは“CLEAN”に遷移する。
【0071】“DIRTY”状態のデータに対して、
外部のバスマスタのライトバック処理に対してスヌープ
ヒットした場合は、一貫性保持動作(他プロセッサから
の無効化トランザクション)が実行され、状態フラグは
“INVALID”に遷移する。
【0072】以上のように状態を遷移させることで、図
1の構成におけるキャッシュブロックとメインメモリと
の一貫性を保持することができる。 <ライトバック制御(信号による説明)>以上、ライト
バック制御を手続き的に説明したが、ここでは信号の制
御という点から本件出願の特徴である低優先度共有バス
リクエスト発行を伴うライトバックについて、説明す
る。 [キャッシュ]図2において、キャッシュ制御シーケン
サはキャッシュ外部からのアクセスが無い場合、内部レ
ジスタ196の値をアドレス−m171上に発行し、そ
れによって得られる状態フラグ113の状態をステータ
ス信号線192を通じて検査する。その結果、そのブロ
ックが“DIRTY”であると判断されると、共有バス
コントロールインタフェース156に対して、低優先度
の共有バスリクエスト信号をドライブするようにS−C
ont信号線195を通じて通知する。その通知を受け
た共有バスコントロールインタフェース156は、バス
アービタ16に対して、共有バスリクエスト信号(BR
1*)161及びそれが低優先度であることを示すバス
リクエスト優先度信号(図9における信号LP1*16
3であり、コントロールバス153に含まれる)をそれ
ぞれLにドライブする。 [バスアービタ]各種信号が入力されたバスアービタ1
6は次の様に動作する。図9はバスアービタ60の構成
図である。
【0073】キャッシュ11及び21からコントロール
バス153の一部として、キャッシュ11の共有バスリ
クエスト信号(BR1*)161、キャッシュ11のバ
スリクエスト優先度信号(LP1*)163、キャッシ
ュ21の共有バスリクエスト信号(BR2*)162、
キャッシュ21のバスリクエスト優先度信号(LP2
*)164が入力されている。共有バスリクエスト信号
161、162は、Lのときに真である。また、バスリ
クエスト優先度信号163、164は、その信号がLに
アサートされたときに低優先度であることを示してい
る。
【0074】また、キャッシュ11に対する共有バスグ
ラント信号(BG1*)165、キャッシュ21に対す
る共有バスグラント信号(BG2*)166が出力され
ている。これらの信号もLの時に真である。
【0075】さらに、バスアービタ16には、各バスマ
スタが共有バスを使用しているかどうかを示すバスビジ
ー信号(BB*=Lの場合は、あるバスマスタがバスを
使用中であることを示す)167も入力されている。バ
スアービタ16は同期式回路であり、システムクロック
(BCLK)168の各立ち上がりで各信号はラッチさ
れ、その信号に合わせて組み合わせ回路160は各状態
を遷移する。
【0076】図10は、共有バスのアービトレーション
のタイミングの一例を示したものである。本実施例にお
いては、各共有バスマスタは、図10に示すようにバス
利用要求信号BR*を出していて、BB*=Hを検出し
たバスクロック(BCLK)の立ち上がり時点におい
て、自分にバス利用許可が降りていること(BG*=
L)を認識した場合(図10のタイミングt1で、バス
マスタ1がその状態にある)、その次のバスサイクルで
BB*をLにアサートして共有バスの使用を宣言し、自
分が共有バスを利用している間BB*をアサートし続け
るという形で、共有バスアービトレーションが行われて
いるものとする。
【0077】このアルゴリズムの基本は、BB*がHか
らLに遷移したことを検出した後、(即ち、新しくバス
マスタがバスを利用し始めた後)バスの使用権の調停を
開始し、その時点において優先順位のもっとも高いバス
マスタに対してバスの利用許可を与えるというものであ
る。
【0078】優先順位は調停開始時点において以下のよ
うなものである。まず、バス利用要求の有無に基づいて
以下の3グループに分けられる。
【0079】優先度A:高優先度のバスリクエストを出
しているバスマスタ 優先度B:低優先度のバスリクエストを出しているバス
マスタ 優先度C:バスリクエストを出していないが、現在バス
の使用権をもつバスマスタ 但し優先度A>優先度B>優先度Cとする。
【0080】各優先度グループの中では各バスマスタの
順位はラウンドロビン方式で決められる。即ち、N個の
バスマスタがあったとして(本実施例ではN=2)今バ
スマスタ番号i(0≦i≦N−1)がバスを利用してい
るとすると i+1(mod N)>i+2(mod N) > … > i+N-2(mod N) > i+N-1
(mod N) > i となる。この順番にしたがってバスリクエストを発行し
ているバスマスタに対してバスの利用権が与えられる。
但し、調停開始時点において、どのバスマスタに対して
もその直前にバスの利用権が与えられていなかった場合
には(システム動作開始時)バスマスタ番号iが小さい
バスマスタに対してバス利用権が与えられるものとす
る。調停は上記優先度に従って次のバスマスタが決めら
れた段階(BG*がアサートされた時点)で終了する。
その調停によって決められたバスマスタがBB*=Hに
おいて自分のバス使用権を認識するより前に、より優先
度の高いグループに含まれるバス利用要求が発生した場
合には再調停が行われる。なお、一旦次のバスマスタが
決まった後、同一優先度グループ内でラウンドロビン方
式に基づいた優先度が高い要求がきた場合は再調停は行
われない。
【0081】このようにすることによって、バスアービ
タ16は、共有バスが真に空いている状態の時のみ各キ
ャッシュに対して、“DIRTY”ブロックのメモリへ
のライトバックへのライトバックを許可することができ
る。
【0082】図12及び図13は、バスアービタ16に
より上述の調停を行う論理を示した真理値表である。図
12は信号BG1*を与え、図13は信号BG2*を与
える。図12(a)においては、バスマスタ1にバスの
使用許可を必ず与える(表の値がL)のは、優先度信号
の値に関らず信号BR1*=Lであって信号BR2*=
Hである場合、すなわちバスマスタ1だけがバスを要求
している場合と、BR1*=LかつLP1*=HかつB
R2*=LかつLP2*=Lの場合、すなわち、バスマ
スタ1が高優先バスリクエストを発行しており、バスマ
スタ2が低優先バスリクエストを発行している場合であ
る。
【0083】RR1は、同一優先グループ内における調
停を行う必要がある場合で、図12(b)にその内容が
示されている。すなわち、この場合には前述のラウンド
ロビンに従うため、直前に許可されているバスマスタの
次の番号のバスマスタに対してしよう許可する。本例で
はバスマスタは2つであるから、直前のBG2*(=B
G2’)がLであれば、BG1*をLとする。
【0084】信号BG2*についても同様であるが、図
13のように、図12の信号の番号1と2とを入れ替え
たものとなる。
【0085】図10を例として説明すると、タイミング
t2において信号BR1*がHに、信号BR2*がLに
なっており、それぞれの優先度は同一であるため、調停
の結果BG2*をLとしてバスマスタ2にバスの利用を
許可している。
【0086】また、タイミングt3では、バスリクエス
ト信号はいずれのバスマスタからも出されていないた
め、その時点でバスの使用権を持つバスマスタに使用が
許可されており、次のクロックタイミングでバスマスタ
2は一旦バスを開放するが、使用許可が与えられている
ため、直ちにバスの使用を開始する。 [再びキャッシュの説明]さて、以上がバスアービタに
よるバス使用許可信号の出力のしかたであるが、バスマ
スタであるキャッシュはバスアービタによる調停に応え
て次のように動作する。
【0087】図2において、BR1*161及びLP1
*163に対してBB=Hを満たすバスロックBCLK
168の立ち上がりでBG1*165がLであることを
認識したキャッシュ制御シーケンサ111は、そのバス
リクエストを発行するに至ったアドレスをアドレス‐m
171及びそれによって引き出された上位アドレスアド
レス−h’173などから生成し、供給バスアドレスI
/F154に供給し共有バス上にドライブする。同時に
そのとき選択されるべきSRAM114上のデータを、
比較器コントロール信号176を115の比較器を通す
ことによって得られる選択器に対するセレクト信号19
3によって選択し、Data信号線174上にドライブ
させる。そのデータは共有バスデータI/F155を通
して共有バス上にドライブされ、メインメモリ12に対
するライトバック動作が実行される。
【0088】なお、同時にキャッシュ21はバスをスヌ
ープしており、上記のようなライトバック動作が実行さ
れた場合には、自キャッシュ内を検査し、該当するエン
トリが存在していた場合にはその状態フラグ113を無
効化する。
【0089】この仕組みにより、プロセッサから同期の
ための命令(ここでは以下SYNC命令と記す)が発行
された時点でキャッシュ・メモリの一貫性が保証される
ようなプロトコルを用いたシステムにおいて、その性能
を高めるために将来SYNC命令が発行された時点にキ
ャッシュ・メモリからメイン・メモリへのライトバック
が行われるであろうデータ・ブロックを、共有バスが他
のバスマスタに利用されていない場合にあらかじめ書き
戻すことが可能になり、システムの高性能化が図れるこ
とになる。
【0090】[第2の実施の形態]先の実施の形態で
は、キャッシュ・メモリの一貫性保持動作にバスをスヌ
ープする方式を用いていた。しかし、プロセッサ間やプ
ロセッサ・メインメモリ間を相互に接続する結合網に、
全てのトランザクションを監視することが困難なものを
用いた並列計算機システムにおいては、ディレクトリ方
式が用いられる。以下、そのような場合を、本発明を適
用した第2のマルチプロセッサシステムとして詳細に説
明する。第1の実施の形態として説明した図面及び番号
などは共通に使えるものはそれを用いる。 <システムの構成>図14は、本発明を適用した第2の
マルチプロセッサシステムの構成を示すブロック図であ
る。
【0091】図14中、1,2,3は計算機ノードであ
る。10,20,30はプロセッサであり、それぞれプ
ロセッサバス14,24,34を介してキャッシュ1
1,21,31に接続される。またキャッシュ11,2
1,31は、それぞれ共有バス15,25,35を介し
てメインメモリ12,22,32及び、ノード間インタ
フェース13,23,33と接続される。4はグローバ
ルバスであり、ノード間インタフェース13,23,3
3を接続する。グローバルバスの利用調停は5のグロー
バルバスアービタが実施する。
【0092】図14では、接続されている計算機ノード
の数は3であるが、この数は3に制限されるものではな
い。また、ノード内部のプロセッサ及びキャッシュの数
はそれぞれ1組ずつであるがこの数も1組に制限される
ものではない。
【0093】本例では、プロセッサからSYNC命令が
発行された時点においてデータの一貫性が保証されるよ
うな、緩いメモリ・コンシステンシ・モデルを採用した
一貫性制御が行われる図14に示すような構成の情報処
理システムにおいて、キャッシュ内部に最新の値で書き
換えられた後メインメモリにその値を反映していないデ
ータ・ブロック(“DIRTY”ブロック)が存在する
場合で、グローバルバス、及び各ノード内部の共有バス
が他のバスマスタにおいて利用されていない場合におい
て、“DIRTY”ブロックを、当該メインメモリにラ
イトバック処理し、かつ、当該キャッシュデータ・ブロ
ックのデータが他のキャッシュに共有コピーを保持して
されている場合は、共有で保持しているキャッシュデー
タ・ブロックに対して一貫性保持トランザクションを実
行することによって、同期命令発行時点で集中的に発生
する一貫性保持トランザクション・トラフィックを分散
することを実現する例を示す。
【0094】図15は、本実施例の一部分である計算機
ノードの内部構成を示す図である。図15においては、
計算機ノード1を例にあげているが、計算機ノード2,
3についても同様な構成をとる。
【0095】図15において、プロセッサ10は、メモ
リ・アクセスを多重発行することが可能であり、多重発
行されたメモリ・アクセスを緩いメモリ・コンシステン
シ・モデルによる一貫性保証下で完了させるための特別
な命令(SYNC命令)を持つものとする。
【0096】図15において、11はキャッシュ、12
はメインメモリ、15はノード内共有バス、13はノー
ド間インタフェースである。メインメモリ12は、メイ
ンメモリ制御シーケンサ121、実メモリ123、及び
ディレクトリユニット122を含む。プロセッサバス1
4は、プロセッサ10とキャッシュ11をそれぞれ接続
するアドレスバス141、データバス142、コントロ
ールバス143の三組の信号線よりなる。ノード内部共
有バス151,152,153は、キャッシュ11とノ
ード間インタフェース13とメインメモリ12を接続す
る、それぞれアドレスバス、データバス、コントロール
バスである。また、各ノード1,2,3間を接続するグ
ローバルバス4は、ノード間インタフェース13,2
3,33を接続するアドレスバス41、データバス4
2、コントロールバス43を含む。グローバルバス4の
利用権を調停するものがグローバルバスアービタ5であ
る。
【0097】なお、キャッシュ11〜31の構成は前掲
の実施形態と同一であるので図2を流用する。図2にお
いては、キャッシュ11を例にあげているが、キャッシ
ュ21,31についても同様な構成をとる。また、キャ
ッシュのプロトコルはライトバック無効化型として、そ
のフラグの状態遷移は図7と同様であることとする。こ
れらの詳細については第一の実施形態に記しているの
で、ここでは割愛する。
【0098】まず、本実施形態におけるキャッシュ・シ
ステムの動作について、図14,図15,図16,図1
7,図18を用いて簡単に説明する。
【0099】図16は、本実施形態のシステムの一部分
であるメイン・メモリ12の構成をより詳細に示す図で
ある。ディレクトリユニット122はディレクトリフラ
グ124を有しており、メインメモリ制御シーケンサ1
21がメインメモリ12全体を制御している。 <LOAD命令の制御>また、図17は、本実施形態の
システムにおけるプロセッサ10のLOAD命令の際の
制御手順を示したものである。
【0100】図17において、プロセッサ10から発行
されるLOAD命令に対してキャッシュ・リードヒット
した場合、すなわち、キャッシュのアドレスタグに、ロ
ードしようとするデータブロックと一致するアドレスが
ある場合(ステップS1701−Yes)、キャッシュ
11は、プロセッサ10に対してデータを供給する(ス
テップS1702)。
【0101】また、プロセッサ10から発行されるLO
AD命令に対してキャッシュ・リードミスした場合、キ
ャッシュ11は、共有バス15に対してアクセス要求を
発行する(ステップS1703)。この場合、キャッシ
ュ・リードミスしたデータがキャッシュ11に供給され
るまで、キャッシュ11はプロセッサ10に対してデー
タの供給を行わない。
【0102】キャッシュ・リードミスした場合で、か
つ、当該メモリ・アクセスが計算機ノード1(当該計算
機ノード自身をローカルノードと呼ぶ)内のメインメモ
リ12に対するものである場合(ステップS1704−
Yes)、キャッシュ11はメインメモリ12に対して
データを要求する(ステップS1705)。
【0103】この後のステップS1706,S1707
はメインメモリ12のメインメモリシーケンサ121に
よる実行される手順であり、キャッシュ11の制御シー
ケンサ111は、それを受けてステップS1708から
制御を再開する。メインメモリ制御シーケンサ121
は、メインメモリ12内のディレクトリユニット122
にキャッシュ11に対応したディレクトリフラグ124
を登録する(ステップS1706)。そして、キャッシ
ュ11から要求されたデータを、共有バス15を介して
キャッシュ11に転送する(ステップS1707)。
【0104】キャッシュ11は共有データバス152を
通じてデータを受け取って、SRAM114の当該エン
トリにリードした後(ステップS1708)、プロセッ
サ10に対してデータを供給する(ステップS170
9)。
【0105】一方、キャッシュ・リードミスした場合
で、かつ、当該メモリ・アクセスが計算機ノード1以外
のノード(リモートノードと呼ぶ)のメインメモリ(例
えばメインメモリ22)に対するものである場合(ステ
ップS1704−No)、ノード1のノード間インタフ
ェース13は、ノード2のノード間インタフェース23
に対して、グローバルバス4を介してデータ要求を発行
する(ステップS1710)。
【0106】以降、ステップS1711〜S1713ま
では、ノード2におけるメインメモリ制御シーケンサに
よる処理手順となる。
【0107】データ要求を受けたノード間インタフェー
ス23は、メインメモリ22に対してデータ要求元情報
とともにデータ要求を発行し(ステップS1711)、
メイリメモリ22はそのディレクトリユニットにデータ
要求元のキャッシュに対応するディレクトリフラグを登
録する(ステップS1712)。それとともに、メイン
メモリ22は、ノード間インタフェース23に対してデ
ータを供給し、ノード間インターフェース23はそれを
グローバルバス4に転送する(ステップS1713)。
【0108】このようにしてグローバルバス4にデータ
が乗せられると、ノード1のノード間インターフェース
13はグローバルバス4上のデータを読み、共有バス1
5に転送する(ステップS1714)。キャッシュ11
はそれを受け取ってキャッシュ内のデータブロックを置
換する(ステップS1715)。このようにして所望の
データをキャッシュ11内に読み込むと、それをプロセ
ッサ10に供給する(ステップS1716)。
【0109】以上のようにして、ローカルノードであろ
うとリモートノードであろうと、ロードしようとするデ
ータをキャッシュに読込み、プロセッサはそのキャッシ
ュ内のデータにアクセスすることができる。
【0110】ローカルノード内でのバスの管理は共有バ
スアービタが前記実施の形態に示したと同様の手順で行
う。この場合には、バスマスタは、キャッシュ,ノード
間インターフェースの2者である。また、グローバルバ
ス4の管理はグローバルバスアービタ5が行う。これも
また各ノードのノード間インターフェースをバスマスタ
として、前記実施形態とおなじ要領でバスを管理する。
【0111】なお、STORE命令発行時の制御手順は
第一の実施形態における図4で示したものと同様である
ので、ここでは省略する。但し、S402のキャッシュ
ミス処理は、図17におけるS1701−Noのリード
ミス処理以後の処理に置き換えられる。 <ライトバック処理>本システムにおけるライトバック
の制御は第1の実施形態の図8と同様であるが、バスの
要求の手順がローカルバス(共有バス)とグローバルバ
スとがあるためにやや複雑なものとなっている。また、
第1の実施形態と同様、図8の手順と同様に、STOR
E命令や、SYNC命令、あるいはキャッシュミスなど
の際に実行され、以下の3通りでライトバックを実施す
る。
【0112】図8に沿って説明すれば、“DIRTY”
ブロックのライトバックの契機となる第一の原因は、プ
ロセッサ10からのSYNC命令の発行である。
【0113】すなわち、キャッシュ11に、“DIRT
Y”ブロックが1つ以上存在し、かつ、プロセッサ10
からSYNC命令が発行された場合、それら“DIRT
Y”ブロックのメインメモリへの書き戻し処理を実行す
る。SYNC命令が発行された場合、DIRYTブロッ
クのメインメモリへのライトバック処理は“DIRT
Y”ブロックがなくなるまで繰り返し実行される。
【0114】この処理は、ノード内部及びノード間を接
続するバスの利用要求に関しては、一般のバスアクセス
と同様高優先度のバスリクエストにより実施される。
“DIRTY”ブロックのメインメモリへのライトバッ
ク処理の際、メインメモリ制御シーケンサ121はメイ
ンメモリへのライトバック処理されるデータ・ブロック
に対応したディレクトリのディレクトリフラグを検索
し、当該最新の値で書き換えた後、“DIRTY”ブロ
ックのライトバックを実行したキャッシュ以外のキャッ
シュにもデータのコピーが共有保持されていた場合は、
共有で保持しているキャッシュデータ・ブロックに対し
て一貫性保持トランザクションを実行する。
【0115】なお、本実施例では一貫性保持トランザク
ションは無効化型のトランザクションとするが、これに
制限されるものではない。
【0116】また、第2の契機はキャッシュの置換対象
として“DIRTY”ブロックが選択された場合であ
る。この場合も、SYNC命令の発行時と同様の処理が
実施される。ただ一つ異なる点は、“DIRTY”ブロ
ックのメインメモリへのライトバック処理はキャッシュ
ブロックの置換に必要な数だけしか行われない点にあ
る。
【0117】第3の契機が、本件出願の特徴である相互
結合網が空いている場合に、他のバスマスタの動作を防
げずにキャッシュ制御シーケンサがライトバックを試み
るというものである。
【0118】また、図18は、本実施形態における図8
中のDIRTYデータライトバック処理を詳しく示した
ものである。以下、メイン・メモリへのライトバック処
理がキャッシュ11から発行されたものとして説明す
る。なお、バスの利用権の調停部分はここでは無視す
る。
【0119】図18の手順は、高優先あるいは低優先の
共有バスリクエストを発行し、バス利用許可をバスアー
ビタ16から得たものとして開始される。
【0120】図18において、キャッシュ11は、共有
コントロールバス153に対してライトバック要求元情
報、及び、共有アドレスバス151に対して当該ライト
バックアクセスのアドレスを転送し、共有バス15上に
対してライトバック要求を発行する(ステップS180
1)。そして、共有データバス152にライトバックす
るデータを供給し、ライトバックしたデータが当該メイ
ン・メモリのエントリに供給され、必要な一貫性保持動
作が完了し、メイン・メモリへのライトバック処理が完
了するまで待つ。ステップS1803〜S1807は、
ライトバック要求を受けたローカルノードのメインメモ
リにより行われ、ステップS1808〜S1814は、
ローカルノードにおいて行われる。
【0121】(1)当該メイン・メモリへのライトバッ
ク処理のアドレスが計算機ノード1内のメイン・メモリ
12に対するライトバックアクセスである場合(ステッ
プS1802−Yes):メイン・メモリ制御シーケン
サ121は、リード要求、及び当該ライトバックアクセ
スのアドレス及び供給データバス152に供給されてい
るデータを受け付けて、メイン・メモリ12内のディレ
クトリユニット122を検索し、ライトバック要求元で
あるキャッシュ11以外のディレクトリフラグが登録さ
れているか調べる(ステップS1803)。キャッシュ
11以外のキャッシュにもデータのコピーが有効状態で
保持されている場合は(ステップS1804−Ye
s)、有効状態で保持しているキャッシュデータに対し
て一貫性保持動作を実行する。すなわち、データブロッ
クのコピーをキャッシュに有するノードとしてディレク
トリフラグに登録されているノードに対して、当該デー
タブロックを無効化するための無効化処理命令を発行す
る(ステップS1805)。発行先のノードでは、その
信号を受けてキャッシュ内のデータブロックの状態フラ
グを“INVALID”とする。この際に共有バス/グ
ローバルバスを使用するが、バスリクエストは高優先度
とし、データの一貫性を保持する処理は迅速に行われ
る。
【0122】次に、実メモリにおける当該データのエン
トリを、ライトバック要求とともに送られてきたデータ
で更新する(ステップS1806)。それが完了する
と、キャッシュ11に実メモリへのライトバックの完了
を通知する(ステップS1807)。
【0123】なお、本実施例では一貫性保持動作は無効
化型のトランザクションとするが、これは本実施例に制
限されるものではない。 (2)当該メインメモリへのライトバック処理のアドレ
スが計算機ノード1外のメイン・メモリ(例えば22)
に対するライトバックアクセスである場合(ステップS
1802−No):ノード間インタフェース13は、ラ
イトバック要求、及び当該ライトバックアクセスのアド
レス、共有データバス152に供給されているデータを
受け付けて、グローバルバスアービタ5に対してグロー
バルバスリクエストを発行し、バスの使用許可を得る
と、グローバルコントロールバス43に対してライトバ
ック要求元情報、及びグローバルアドレスバス41に対
して当該ライトバックアドレスのアドレス、グローバル
データバス42に対して当該ライトバックアクセスのデ
ータを転送し、ノード間インタフェース23に対してラ
イトバック要求を発行する(ステップS1808)。
【0124】ノード間インタフェース23は、ライトバ
ック要求、及び当該ライトバックアクセスのアドレスを
受け付けてノード2の共有コントロールバス253に対
してライトバック要求元情報、及び供給アドレスバス2
41に対して当該ライトバックアクセスのアドレス、共
有データバス252に対して当該ライトバックアクセス
のデータを転送し、共有コントロールバス253に対し
てライトバック要求を発行する(ステップS180
9)。この場合のバスリクエストは、SYNC命令及び
キャッシュ置換のためのライトバックならば高優先度で
あり、そうでなければ定優先度のグローバルバスリクエ
ストとなる。
【0125】メイン・メモリ22は、ライトバック要
求、及び当該ライトバックアクセスのアドレス及び共有
データバス252に供給されているデータを受け付け
て、メイン・メモリ22内のディレクトリユニット22
2を検索し、ライトバック要求元であるキャッシュ11
以外のディレクトリフラグが登録されているか調べる
(ステップS1810)。キャッシュ11以外のキャッ
シュにもデータのコピーが有効状態で保持されている場
合は(ステップS1811−Yes)、有効状態で保持
しているキャッシュデータに対して一貫性保持動作を実
行する(ステップS1812)。これは、ステップS1
805における処理と同様である。
【0126】この後、メインメモリ制御シーケンサ22
1は、ライトバック要求とともに受けたライトバックす
べきデータで実メモリの該当するデータを更新する(ス
テップS1813)。
【0127】ライトバック処理終了後、ノード間インタ
フェース23は、ノード間インタフェース13にメイン
・メモリへのライトバック処理完了を通達する。ノード
間インタフェース13は、キャッシュ11にメイン・メ
モリへのライトバック処理完了を通達する(ステップS
1814)。 <低優先度ライトバック>ここで特に、本発明の特徴で
ある、キャッシュにアクセスがない場合に、DIRTY
ブロックをライトバックする制御手順について、図2、
図9、図15を参照して更に詳しく説明する。
【0128】図2において、キャッシュ制御シーケンサ
はキャッシュ外部からのアクセスが無い場合、内部レジ
スタ196の値をアドレス−m171上に発行し、それ
によって得られる状態フラグ113の状態を192ステ
ータス信号線を通じて検査する。その結果がそのブロッ
クが“DIRTY”であると判断されると、共有バスコ
ントロールインタフェース156に対して、低優先度の
共有バスリクエスト信号をドライブするようにS‐Co
nt信号線195を通じて通知する。その通知を受けた
共有バスコントロールインタフェース156は、バスア
ービタ16に対して、共有バスリクエスト信号(BR1
*)161及びそれが低優先度であることを示すバスリ
クエスト優先度信号(LP1*)163をそれぞれLに
ドライブする。
【0129】この要求を受けた共有バスアービタ16
は、他のノード1内部のバスマスタからの高優先度のバ
ス利用要求が無い場合に、図12の規則に従って、キャ
ッシュ11に対してノード1内の共有バス15の利用権
を認める。この過程に関しては既に第一の実施形態おい
て述べたので、ここでは割愛する。
【0130】共有バス15の利用権を得たキャッシュ制
御シーケンサ111は、ノード間インタフェース13に
対して、グローバルバス4を通じて、ノード2のメイン
メモリ22にノード間低優先度ライトバックする要求を
出す。具体的には、ノード間インタフェース13の低優
先度ライトバック用内部レジスタ131(アドレス)、
132(データ)、133(コントロール)に対して、
ライトバックする対象のアドレス、データなどを書き込
む。
【0131】この、ノード間低優先度ライトバック要求
を受け取ったノード間インタフェース13はグローバル
バスの調停を司るグローバルバスアービタ5に対してグ
ローバルバス4の低優先度利用要求を出す。その要求を
受けたグローバルバスアービタ5は、ノード内部での共
有バスの調停と同様にして、グローバルバス4に対して
他のノード間インタフェースから利用要求が来ていない
場合に限り、このノード間低優先度ライトバック要求に
対してグローバルバス4の利用許可を与える。グローバ
ルバスの利用許可を受け取ったノード間インタフェース
13はノード2のノード間インタフェース23と通信
し、ノード2のメインメモリ20に対するノード間低優
先度ライトバック要求を伝える。
【0132】キャッシュ11からのノード間低優先度ラ
イトバック要求を受け取ったノード間インタフェース2
3は、その情報に基づき、ノード内共有バス25に対し
て低優先度のバスリクエストを発行する。ノード2内部
でも同様にして共有バス25の調停が行なわれ、他のノ
ード2内部のバスマスタからの高優先度のバス利用要求
がない場合に、所定の規則に従って、ノード間インタフ
ェース23に対してノード2内の共有バス25の利用権
を認められる。共有バス25の利用を認められたノード
間インタフェース12は、メインメモリ22に対して、
ライトバック動作を実施する。ライトバック動作を受け
たメインメモリ制御シーケンサ221は、その内容を実
メモリ223へ反映すると同時に、メインメモリ22へ
書き戻し処理されるデータ・ブロックに対応したディレ
クトリのディレクトリフラグ224を検索し、当該最新
の値で書き換えられた後、“DIRTY”ブロックのラ
イトバックを実行したノード1のキャッシュ11以外の
キャッシュにもデータのコピーが共有保持されていた場
合は、共有で保持しているキャッシュデータ・ブロック
に対して一貫性保持トランザクションを実行する。
【0133】この一貫性保持動作に伴うバス利用要求
は、キャッシュトランザクションの性質に鑑み、一般の
処理と同様に高優先度で実施される。データコピーを保
持していたキャッシュに対する、一貫性保持動作(この
場合、当該エントリの無効化)が完了すると、その旨が
ノード2のメインメモリ制御シーケンサ221から、ノ
ード1のキャッシュ制御シーケンサ111に対して高優
先度で通知される。その通知を受け取ったキャッシュ制
御シーケンサ111は、ライトバック処理を行なったエ
ントリの状態フラグ113を“DIRTY”から“CL
EAN”(キャッシュ11とメインメモリ22上のデー
タの値が一致している状態)に変更する。
【0134】このようにして、一連の動作が終了する。
【0135】なお、これら一連の動作のうち、低優先度
で行われる部分に関しては、他のバスマスタからのバス
利用要求があった場合には待たされることになる。具体
的には、各ノード間インタフェースが、低優先度ライト
バック要求を受け取って、それを処理するより前に高優
先度の処理要求を受け取った場合、そちらが優先的に処
理される。但し、高優先度の処理要求の内容が、先に低
優先度のライトバック要求を発行したバスマスタと同一
のバスマスタによるものであり、後から来た処理要求が
高優先度のライトバック要求であった場合のみ、処理待
ちになっていた低優先度のライトバックは高優先度扱い
になり、後から来た要求の処理に先立って処理される。
【0136】以上のように、複数の計算機ノードをグロ
ーバルバスで接続してなるマルチプロセサシステムにお
いても、高優先バスリクエストが発生していなければキ
ャッシュのライトバック処理を随時行うことができ、ラ
イトバックトランザクションが一時に集中してしまうこ
とを防止できる。
【0137】
【発明の効果】以上説明したように、本発明によれば、
緩いメモリ・コンシステンシ・モデルを採用した並列計
算機において、その性能をより向上させるためのキャッ
シュ一貫性保持動作機構を提供し、同期ポイント時点に
おける相互結合網上のトラフィックの集中による相互結
合網の利用効率の低下を避け、同期動作に伴う処理のオ
ーバヘッドを軽減することによりシステム全体の処理能
力の向上をさせるという効果がある。
【0138】
【図面の簡単な説明】
【図1】本発明を実現するためのシステムの一構成例を
示す図である。
【図2】本発明の構成例で用いられているキャッシュの
構成を示した図である。
【図3】本発明の第1の実施形態で用いられているLO
AD命令実行の際の制御手順を示したフローチャートで
ある。
【図4】本発明の第1の実施形態で用いられているST
ORE命令実行の際の制御手順を示したフローチャート
である。
【図5】本発明の第1の実施形態で用いられているLO
AD/STORE命令実行のキャッシュミスの際の制御
手順を示したフローチャートである。
【図6】本発明の第1の実施形態で用いられているキャ
シュの“DIRTY”データのライトバック処理手順を
示したフローチャートである。
【図7】本発明の実施形態におけるキャッシュの状態フ
ラグの状態遷移図である。
【図8】本発明の第1の実施形態で用いられているキャ
シュのライトバックを実施する際の制御手順を示したフ
ローチャートである。
【図9】本発明の実施形態の共有バスアービタの構成を
示した図である。
【図10】本発明の実施形態で用いられているバスアー
ビトレーションプロトコルの例を示す図である。
【図11】本発明の第1の実施形態で用いられているS
YNC命令実行の際の制御手順を示したフローチャート
である。
【図12】本発明の第1の実施形態で用いられている共
有バスアービタの出力信号を生成する真理値表である。
【図13】本発明の第1の実施形態で用いられている共
有バスアービタの出力信号を生成する真理値表である。
【図14】本発明の第2の実施形態を実現するためのシ
ステムの構成を示す図である。
【図15】本発明の第2の実施形態における計算機ノー
ドの構成を示した図である。
【図16】本発明の第2の実施形態におけるメインメモ
リとディレクトリの構成を示した図である。
【図17】本発明の第2の実施形態で用いられているL
OAD命令実行の際の制御手順を示したフローチャート
である。
【図18】本発明の第2の実施形態で用いられているキ
ャシュの“DIRTY”データのライトバック処理手順
を示したフローチャートである。
【符号の説明】
1,2,3 ノード 4 グローバルバス 5 グローバルバスアービタ 10,20,30 プロセッサ 11,21,31 キャッシュ 12,22,32 メインメモリ 13,23,33 ノード間インタフェース 14,24,34 プロセッサバス 15,25,35 共有バス 16,26,36 共有バスアービタ 41 グローバルアドレスバス 42 グローバルデータバス 43 グローバルコントロールバス 111 キャシュ制御シーケンサ 112 アドレスタグ 113 状態フラグ 114 SRAM 115 比較器 116 選択器 121 メインメモリ制御シーケンサ 122 ディレクトリユニット 123 実メモリ 124 ディレクトリフラグ 131 低優先度ライトバック用内部レジスタ(アドレ
ス) 132 低優先度ライトバック用内部レジスタ(デー
タ) 133 低優先度ライトバック用内部レジスタ(コント
ロール) 141 プロセッサアドレスバス 142 プロセッサデータバス 143 プロセッサコントロールバス 144 プロセッサバスアドレスインタフェース 145 プロセッサバスデータインタフェース 146 プロセッサバスコントロールインタフェース 151 共有アドレスバス 152 共有データバス 153 共有コントロールバス 154 共有バスアドレスインタフェース 155 共有バスデータインタフェース 156 共有バスコントロールインタフェース 157 メインメモリアドレスバスインタフェース 158 メインメモリデータバスインタフェース 159 メインメモリコントロールバスインタフェース 160 バスアービタ内部組み合わせ回路 161 共有バスリクエスト信号1(BR1*) 162 共有バスリクエスト信号2(BR2*) 163 共有バスリクエスト優先度信号1(LP1*) 163 共有バスリクエスト優先度信号2(LP2*) 165 共有バスグラント信号1(BG1*) 166 共有バスグラント信号2(BG2*) 167 バスビジー信号(BB*) 168 バスクロック信号(BCLK) 170 addr‐h 171 addr‐m 172 addr‐l 173 addr‐h’ 174 Data 175 キャッシュブロックコントロール 176 比較器コントロール信号 190 プロセッサバスIFコントロール信号 191 共有バスIFコントロール信号 192 status信号 193 Select信号 194 L‐Cont信号 195 S‐Cont信号

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサと、それらプロセッサ
    それぞれに付随するキャッシュ・メモリと主メモリとを
    含む複数の結合網利用主体と、各結合網利用主体を相互
    に接続する結合網とを含む情報処理システムであって、 各プロセッサの処理が予め定めた段階に達した場合、当
    該プロセッサに付随するキャッシュ・メモリ中に存在す
    るデータ・ブロックの内容の一貫性を保持する一貫性保
    持処理を実行することを特徴とする情報処理システム。
  2. 【請求項2】 前記プロセッサによる処理が前記予め定
    めた段階に達する以前において、前記結合網の状態が所
    定の条件を満たした場合には、当該キャッシュ・メモリ
    中に存在するデータ・ブロックの内容の一貫性を保持す
    る一貫性保持処理を実行することを特徴とする請求項1
    記載の情報処理システム。
  3. 【請求項3】 前記結合網には、前記結合網利用主体に
    よる前記結合網の使用を調停する調停ユニットが更に接
    続され、前記結合網利用主体は、前記調停ユニットに対
    して、前記予め定めた段階に達する以前における書き戻
    しの場合にはその他の場合よりも低い第1の優先順位で
    前記結合網の利用要求を発行し、前記調停ユニットは、
    前記第1の優先順位の利用要求以外の利用要求がない場
    合に、前記条件は満たされていると判定して前記結合網
    利用主体の1に前記結合網の利用許可を付与することを
    特徴とする請求項1または2に記載の情報処理システ
    ム。
  4. 【請求項4】前記一貫性保持処理は、当該キャッシュメ
    モリ中に存在する更新されたデータブロックを主メモリ
    に書き戻すことを特徴とする請求項1乃至3いずれかに
    記載の情報処理システム。
  5. 【請求項5】 当該情報処理システムは、緩いメモリ・
    コンシステンシ・モデルを採用することを特徴とする請
    求項1乃至3いずれかに記載の情報処理システム。
  6. 【請求項6】 バス手段と、 前記バス手段に接続されたメモリ手段と、 前記バス手段に接続され、前記バス手段を少なくとも2
    つの互いに異なる優先順位で要求し、前記バス手段を用
    いて前記メモリ手段から読出したデータを保持する複数
    のバスマスタ手段と、 前記優先順位による要求に対して、優先順位の異なる2
    つ以上の要求が重複した場合には高優先順位の要求に対
    して優先的に前記バス手段を割り当てるバス管理手段と
    を備え、 前記バスマスタ手段は、第1の条件を満たした場合には
    高優先順位で、第2の条件を満たした場合には低優先順
    位で、前記バス管理手段に対してバス手段を要求し、前
    記バス管理手段によるバスの使用許可に基づいて前記バ
    ス手段を使用して、保持する更新されたデータを前記メ
    モリ手段に書き戻すことを特徴とする情報処理装置。
  7. 【請求項7】 前記バスマスタ手段に接続されたプロセ
    ッサ手段を更に備え、該プロセッサ手段から発行される
    所定の命令に従って、前記メモリ手段から読み出して更
    新したデータを前記メモリ手段に書き戻すことを特徴と
    する請求項6に記載の情報処理装置。
  8. 【請求項8】 前記バスマスタ手段は、他のバスマスタ
    手段が前記メモリ手段にデータを書き戻した場合、その
    データが重複して前記メモリ手段から当該バスマスタ手
    段に読み出されているか調べ、読出されている場合に
    は、そのデータを無効化することを特徴とする請求項6
    または7に記載の情報処理装置。
  9. 【請求項9】 前記第1の条件は、所定の同期時期に達
    した場合、または、前記バスマスタの保持するデータを
    入れ替える場合であることを特徴とする請求項6乃至8
    のいずれかに記載の情報処理装置。
  10. 【請求項10】 前記第2の条件は、前記バスマスタ手
    段の保持するデータにアクセスがない場合であることを
    特徴とする請求項6乃至9のいずれかに記載の情報処理
    装置。
  11. 【請求項11】 バス手段と、 前記バス手段に接続され、前記バス手段を少なくとも2
    つの互いに異なる優先順位で要求し、前記バス手段を用
    いて前記メモリ手段から読出したデータを保持する複数
    のバスマスタ手段と、 前記優先順位による要求に対して、優先順位の異なる2
    つ以上の要求が重複した場合には高優先順位の要求に対
    して優先的に前記バス手段を割り当てるバス管理手段と
    を備え、 前記バスマスタ手段は、第1の条件を満たした場合には
    高優先順位で、第2の条件を満たした場合には低優先順
    位で、前記バス管理手段に対してバス手段を要求し、前
    記バス管理手段によるバスの使用許可に基づいて前記バ
    ス手段を使用して、保持するデータを前記メモリ手段に
    書き戻すことを特徴とする情報処理装置。
  12. 【請求項12】 前記バスマスタ手段に接続されたプロ
    セッサ手段を更に備え、該プロセッサ手段から発行され
    る所定の命令に従って、前記メモリ手段から読み出して
    更新したデータを前記メモリ手段に書き戻すことを特徴
    とする請求項11に記載の情報処理装置。
  13. 【請求項13】 データを書き戻された前記メモリ手段
    は、そのデータが重複して前記メモリ手段から他のバス
    マスタ手段に読み出されているか調べ、読出されている
    場合には、そのデータを無効化する命令を当該他のバス
    マスタ手段に発行することを特徴とする請求項11また
    は12に記載の情報処理装置。
  14. 【請求項14】 前記バスマスタ手段は、共有バス手段
    と、共有メモリ手段と、共有バス手段により接続された
    複数の共有バスマスタと、少なくとも高低2つの優先順
    位による要求に対して、優先順位の異なる2つ以上の要
    求が重複した場合には高優先度の要求に対して優先的に
    前記バス手段を割り当てる共有バス管理手段とを含み、 前記共有バスマスタ手段は、前記高優先順位の要求が前
    記共有バス手段が使用されていない場合に、前記共有バ
    ス管理手段に対して低優先順位で共有バス手段を要求
    し、共有バス管理手段による共有バスの使用許可に基づ
    いて前記共有バス手段を使用して、前記共有メモリ手段
    から読み出して更新したデータを前記共有メモリ手段に
    書き戻すことを特徴とする請求項11乃至13いずれか
    に記載の情報処理装置。
  15. 【請求項15】 前記共有バスマスタ手段は、前記バス
    手段と接続されたノード間インターフェースと、前記共
    有メモリ手段に記憶された内容のコピーを保持するキャ
    ッシュとを含むことを特徴とする請求項14に記載の情
    報処理装置。
  16. 【請求項16】 前記バスマスタ手段は、前記共有バス
    マスタ手段に接続されたプロセッサ手段を更に含み、該
    プロセッサ手段から発行される所定の命令に従って、前
    記共有メモリ手段から読み出して更新したデータを前記
    共有メモリ手段に書き戻すことを特徴とする請求項14
    に記載の情報処理装置。
  17. 【請求項17】 前記共有バスマスタ手段は、他の共有
    バスマスタ手段が前記共有メモリ手段にデータを書き戻
    した場合、そのデータが重複して前記共有メモリ手段か
    ら当該共有バスマスタ手段に読み出されているか調べ、
    読出されている場合には、そのデータを無効化すること
    を特徴とする請求項14に記載の情報処理装置。
JP7213375A 1995-08-22 1995-08-22 情報処理装置及び情報処理システム Withdrawn JPH0962579A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7213375A JPH0962579A (ja) 1995-08-22 1995-08-22 情報処理装置及び情報処理システム
US08/699,105 US5860110A (en) 1995-08-22 1996-08-16 Conference maintenance method for cache memories in multi-processor system triggered by a predetermined synchronization point and a predetermined condition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7213375A JPH0962579A (ja) 1995-08-22 1995-08-22 情報処理装置及び情報処理システム

Publications (1)

Publication Number Publication Date
JPH0962579A true JPH0962579A (ja) 1997-03-07

Family

ID=16638156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7213375A Withdrawn JPH0962579A (ja) 1995-08-22 1995-08-22 情報処理装置及び情報処理システム

Country Status (1)

Country Link
JP (1) JPH0962579A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086776B2 (en) 2005-03-30 2011-12-27 Canon Kabushiki Kaisha Device for arbitrating bus accesses and method for controlling same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086776B2 (en) 2005-03-30 2011-12-27 Canon Kabushiki Kaisha Device for arbitrating bus accesses and method for controlling same

Similar Documents

Publication Publication Date Title
US5796977A (en) Highly pipelined bus architecture
US5623632A (en) System and method for improving multilevel cache performance in a multiprocessing system
US5778438A (en) Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
JP3737834B2 (ja) 2重化キャッシュ・スヌープ機構
US5774700A (en) Method and apparatus for determining the timing of snoop windows in a pipelined bus
US5682516A (en) Computer system that maintains system wide cache coherency during deferred communication transactions
JP3635634B2 (ja) データを転送するための推論的アービトレーション(Speculative Arbitration)を提供するシステムと方法
US20030140200A1 (en) Methods and apparatus for transferring cache block ownership
US6351791B1 (en) Circuit arrangement and method of maintaining cache coherence utilizing snoop response collection logic that disregards extraneous retry responses
US7383397B2 (en) Method and apparatus for filtering snoop requests using a scoreboard
US6601145B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls
US6976132B2 (en) Reducing latency of a snoop tenure
CN106201939A (zh) 面向gpdsp架构的多核目录一致性装置
JP6792139B2 (ja) 演算処理装置及び演算処理装置の制御方法
JPH03163640A (ja) マルチプロセッサシステムおよびそれに用いるキャッシュメモリ
JP2000347933A (ja) バスブリッジ、キャッシュコヒーレンシ制御装置、キャッシュコヒーレンシ制御方法、プロセッサユニット、マルチプロセッサシステム
JPH0962579A (ja) 情報処理装置及び情報処理システム
JPH06282528A (ja) データ転送方法及びそのシステム
JPH0962578A (ja) 情報処理装置及びその制御方法
JPH0744459A (ja) キャッシュ制御方法およびキャッシュ制御装置
US6546469B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers
US6546468B2 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers performing directory update
JPH09185547A (ja) マルチプロセッサの制御方法及びその装置
JPH0816475A (ja) マルチプロセッサシステム
JP4948141B2 (ja) バス制御装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021105