JPH09198309A - 情報処理システム及びシステム制御方法及び情報処理装置 - Google Patents

情報処理システム及びシステム制御方法及び情報処理装置

Info

Publication number
JPH09198309A
JPH09198309A JP8005402A JP540296A JPH09198309A JP H09198309 A JPH09198309 A JP H09198309A JP 8005402 A JP8005402 A JP 8005402A JP 540296 A JP540296 A JP 540296A JP H09198309 A JPH09198309 A JP H09198309A
Authority
JP
Japan
Prior art keywords
information processing
data block
cache memory
node
processing device
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
JP8005402A
Other languages
English (en)
Inventor
Kazumasa Hamaguchi
一正 濱口
Toshiyuki Fukui
俊之 福井
Tomohiko Shimoyama
朋彦 下山
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 JP8005402A priority Critical patent/JPH09198309A/ja
Publication of JPH09198309A publication Critical patent/JPH09198309A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 システムの処理性能を向上する情報処理シス
テム及びそのシステム制御方法及び情報処理装置を提供
する。 【解決手段】 ノード0内のMPU00の制御によりノー
ド1のノード・メモリ1からキャッシングしてきたデー
タブロックに対し、該データブロックが他のどのノード
内のキャッシュ・メモリにキャッシュされているかを示
す第1キャッシング情報をECS0に記憶する。また、
ノード1内のノード・メモリ1に格納されているデータ
ブロックが、他のどの情報処理装置にキャッシングされ
ているかを示す第2キャッシング情報をDIR1に記憶
する。第1キャッシング情報と第2キャッシング情報に
基づいて、各ノードの各キャッシュ・メモリにキャッシ
ュされているデータブロックの一貫性を保持する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、少なくとも1つの
プロセッサ及びそれに付随するキャッシュ・メモリ、主
記憶装置、及び、該キャッシュ・メモリと該主記憶装置
間を相互に接続する結合網からなる情報処理装置と、情
報処理装置の複数台を相互に接続する結合網からなる情
報処理システム及びそのシステム制御方法及び情報処理
装置に関するものである。
【0002】
【従来の技術】複数個の計算ノードを結合網によって相
互に接続した階層型並列計算機システムにおいては、計
算ノードを相互に接続した結合網を伝送する通信トラフ
ィックを減らすため、各計算ノードに内蔵される複数の
プロセッサ装置それぞれにキャッシュ・メモリを備える
ていることが多い。また、各プロセッサ装置から発行さ
れる各計算ノードに内蔵される記憶装置あるいは他の計
算ノードに内蔵される記憶装置に対するアクセス要求に
対して高速に応じることができるようにするためにも、
キャッシュ・メモリを備えることは有用である。
【0003】各プロセッサ装置は、キャッシュ・メモリ
中に記憶装置からコードやデータ(以下、これらをデー
タ・ブロックと呼ぶ)のコピーをロードし、キャッシュ
・メモリ中にコピーされたデータ・ブロックを用いて処
理を行っていく。このように各プロセッサ装置に備えら
れるキャッシュ・メモリ中に記憶装置からデータ・ブロ
ックのコピーをロードすることにより、複数の同一デー
タ・ブロックのコピーがシステム中に同時に存在すると
いう状況が発生する場合がある。この場合、各キャッシ
ュ・メモリ中に存在する複数の同一データ・ブロックの
コピー間の内容の一貫性を保持する必要がある。
【0004】従来、この複数の同一データ・ブロックの
コピー間の内容の一貫性を保持するために、様々な方法
が考案、実現されている。例えば、プロセッサ装置間や
プロセッサ装置及び記憶装置間を相互に接続する結合網
に、バスのようなすべてのトランザクションを監視する
ことができるものを用いた並列計算機システムにおいて
は、スヌープ方式が一般的である。スヌープ方式とは、
プロセッサ装置またはキャッシュ・メモリの制御装置
が、結合網上に発行されるすべてのトランザクションを
監視し、自キャッシュ・メモリ中に格納されているデー
タ・ブロックのコピーのいずれかがアクセス対象である
トランザクションを検知した際に、必要な一貫性保持操
作を当該データ・ブロックのコピーに対して施すもので
ある。
【0005】また、プロセッサ装置間やプロセッサ装置
及び記憶装置間を相互に接続する結合網に、すべてのト
ランザクションを監視することが困難な結合網を用いた
並列計算機システム、即ち、スヌープ方式の適用が困難
な並列計算機システムにおいては、ディレクトリ方式が
用いられる。ディレクトリ方式とは、データ・ブロック
単位にコピーがどのキャッシュ・メモリ中に存在してい
るかの情報(以下、キャッシング情報と呼ぶ)を、ディ
レクトリと呼ばれる記憶装置に格納・管理しておく。そ
して、トランザクション発生時にはディレクトリから得
られるキャッシング情報を基にして、一貫性保持操作が
必要なキャッシュ・メモリに対してのみその指示を通知
し、必要な操作を執り行わせるというものである。
【0006】尚、ディレクトリの物理的配置としては、
システム中の全データ・ブロックに対応するディレクト
リ・エントリをシステム中の1箇所に集中して配置する
方式と、各計算ノードに内蔵される記憶装置のデータ・
ブロックに対応するディレクトリ・エントリを各計算ノ
ード内に分散して配置する方式がある。また、階層型並
列計算機システムの場合では、一般的にスヌープ方式を
適用することは困難であり、ディレクトリ方式を用いて
キャッシュ・メモリの一貫性保持を行っていることが多
い。
【0007】
【発明が解決しようとする課題】しかしながら、上記従
来のディレクトリ方式において、全ディレクトリ・エン
トリをシステム中の1箇所に集中して配置する方式の場
合、各計算ノードに内蔵されるプロセッサ装置が一貫性
を乱す可能性のあるアクセスの発行や、各計算ノードか
ら同じディレクトリのアクセスが重なったりすると、デ
ータ・ブロックの一貫性を保つためのオーバヘッドが大
きくなり、その結果、システムの処理機能が低下してし
まうという問題点があった。
【0008】一方、ディレクトリ・エントリを各計算ノ
ード内に分散して配置する方式の場合も、各計算ノード
内のプロセッサ装置が一貫性を乱す可能性のあるアクセ
スの発行や、アクセス対象であるデータ・ブロックに対
応するディレクトリ・エントリが他の計算ノードに備え
られていると、データ・ブロックの一貫性を保つための
オーバヘッドが大きくなり、その結果、システムの処理
機能が低下してしまうという問題点があった。
【0009】本発明は上記の問題点に鑑みてなされたも
のであり、システムの処理性能を向上する情報処理シス
テム及びそのシステム制御方法及び情報処理装置を提供
することを目的としている。
【0010】
【課題を解決するための手段】上記の目的を達成するた
めの本発明による情報処理システムは以下の構成を備え
る。即ち、少なくとも1つのプロセッサ及びそれに付随
するキャッシュ・メモリ、主記憶装置、及び、該キャッ
シュ・メモリと該主記憶装置間を相互に接続する結合網
からなる情報処理装置と、情報処理装置の複数台を相互
に接続する結合網からなる情報処理システムであって、
前記情報処理装置内のプロセッサの制御により他の情報
処理装置の主記憶装置からキャッシングしてきたデータ
ブロックに対し、該データブロックが他のどの情報処理
装置内のキャッシュ・メモリにキャッシュされているか
を示す第1キャッシング情報を記憶する第1記憶手段
と、前記情報処理装置内の主記憶装置に格納されている
データブロックが、他のどの情報処理装置にキャッシン
グされているかを示す第2キャッシング情報を記憶する
第2記憶手段と、前記第1キャッシング情報と前記第2
キャッシング情報に基づいて、各キャッシュ・メモリに
キャッシュされているデータブロックの一貫性を保持す
る保持手段とを備える。
【0011】また、好ましくは、前記保持手段は、キャ
ッシュ・メモリにキャッシュされているデータブロック
がライトヒットし、該データブロックが他のキャッシュ
・メモリにもキャッシュされている場合、該他のキャッ
シュ・メモリにキャッシュされているデータブロックを
無効化することで、データブロックの一貫性を保持す
る。他のキャッシュ・メモリにキャッシュされているデ
ータブロックを無効化することで、データブロックの一
貫性を保持することができるからである。
【0012】また、好ましくは、前記第2記憶手段は、
各情報処理装置内に配置されている。また、好ましく
は、前記保持手段は、各情報処理装置内のデータブロッ
クの一貫性をスヌープ方式によって保持し、情報処理装
置間のデータブロックの一貫性をディレクトリ方式によ
って保持する。情報処理装置間のデータブロックの一貫
性をディレクトリ方式によって保持することで、情報処
理装置間の一貫性を保持するための情報を最小にするこ
とができるからである。
【0013】上記の目的を達成するための本発明による
情報処理システム制御方法は以下の構成を備える。即
ち、少なくとも1つのプロセッサ及びそれに付随するキ
ャッシュ・メモリ、主記憶装置、及び、該キャッシュ・
メモリと該主記憶装置間を相互に接続する結合網からな
る情報処理装置と、情報処理装置の複数台を相互に接続
する結合網からなる情報処理システム制御方法であっ
て、前記情報処理装置内のプロセッサの制御により他の
情報処理装置の主記憶装置からキャッシングしてきたデ
ータブロックに対し、該データブロックが他のどの情報
処理装置内のキャッシュ・メモリにキャッシュされてい
るかを示す第1キャッシング情報を記憶する第1記憶工
程と、前記情報処理装置内の主記憶装置に格納されてい
るデータブロックが、他のどの情報処理装置にキャッシ
ングされているかを示す第2キャッシング情報を記憶す
る第2記憶工程と、前記第1キャッシング情報と前記第
2キャッシング情報に基づいて、各キャッシュ・メモリ
にキャッシュされているデータブロックの一貫性を保持
する保持工程とを備える。
【0014】また、好ましくは、前記保持工程は、キャ
ッシュ・メモリにキャッシュされているデータブロック
がライトヒットし、該データブロックが他のキャッシュ
・メモリにもキャッシュされている場合、該他のキャッ
シュ・メモリにキャッシュされているデータブロックを
無効化にすることで、データブロックの一貫性を保持す
る。
【0015】また、好ましくは、前記第2記憶工程で記
憶される記憶媒体は、各情報処理装置内に配置されてい
る。また、好ましくは、前記保持工程は、各情報処理装
置内のデータブロックの一貫性をスヌープ方式によって
保持し、情報処理装置間のデータブロックの一貫性をデ
ィレクトリ方式によって保持する。
【0016】上記の目的を達成するための本発明による
情報処理装置は以下の構成を備える。即ち、少なくとも
1つのプロセッサ及びそれに付随するキャッシュ・メモ
リ、主記憶装置、及び、該キャッシュ・メモリと該主記
憶装置間を相互に接続する結合網からなる情報処理装置
であって、前記情報処理装置と他の情報処理装置を含む
複数の情報処理装置と相互に接続する結合網と、前記情
報処理装置内のプロセッサの制御により、前記他の情報
処理装置の主記憶装置からキャッシングしてきたデータ
ブロックに対し、該データブロックが他のどの情報処理
装置内のキャッシュ・メモリにキャッシュされているか
を示す第1キャッシング情報を記憶する第1記憶手段
と、前記情報処理装置内の主記憶装置に格納されている
データブロックが、他のどの情報処理装置にキャッシン
グされているかを示す第2キャッシング情報を記憶する
第2記憶手段と、前記第1キャッシング情報と前記第2
キャッシング情報に基づいて、各キャッシュ・メモリに
キャッシュされているデータブロックの一貫性を保持す
る保持手段とを備える。
【0017】
【発明の実施の形態】以下、図面を参照して本発明の好
適な実施の形態を詳細に説明する。図1は本実施の形態
の情報処理システムの構成を示すブロック図である。図
に示すように、1個以上のMPUを持つノードが4つで
構成されている。各ノードは、ID番号として「i」が
(i=0、1、…、n)が付けられており、ノード0か
らノード3のID番号を持つノードとなっており、各ノ
ード0〜3の構成は全て同一である。但し、これらのシ
ステム構成は本発明により限定されるものではない。
【0018】101はノード0、102はノード1、1
03はノード2、104はノード3である。105はI
NCコントローラ(Inter Node Connection:インタノ
ード・コネクション・コントローラ)、106はスイッ
チング・ユニットである。107はノード0(101)
からINCコントローラ(105)への通信ライン、1
08はINCコントローラ(105)からノード0(1
01)への通信ラインである。109はノード0(10
1)と他のノード(102/103/104)との通信
に用いられる通信ラインであり、スイッチング・ユニッ
ト(106)と接続される。
【0019】同様に、110、111はノード1(10
2)とINCコントローラ(105)との通信ライン、
112はノード1(102)と他のノード(101/1
03/104)との通信ラインである。113、114
はノード2(103)とINCコントローラ(105)
との通信ライン、115はノード2(103)と他のノ
ード(101/102/104)との通信ラインであ
る。116、117はノード3(104)とINCコン
トローラ(105)との通信ライン、118はノード3
(104)と他のノード(101/102/103)と
の通信ラインである。 119、120はノード0(1
01)のMPU00、MPU01( Micro Processor Uni
t)である。尚、各ノードに内蔵されるMPUは区別す
るために、MPUij(i、j=正の整数)で表され、i
はノードのID番号、jは各ノードのj番目のMPUで
あることを示す。121、122は各々MPU00(11
9)、MPU01(120)に付随するキャッシュ・メモ
リ00、キャッシュ・メモリ01である。キャッシュ・メモ
リについても、同様に番号ijが付加されており、キャッ
シュ・メモリijは、ノードiのj番目のキャッシュ・メ
モリであることを示す。
【0020】123はノード0(101)に内蔵される
メモリ0であり、後にふってある番号0はノード0のメ
モリであることを示す。また、メモリiでノードiのメ
モリであることを示す。尚、本実施の形態における各ノ
ードのメモリの容量は32MBとする。124はノード
0(101)のINCi/f0であり、後にふってある
番号0はノード0のINCi/fであることを示す。ま
た、INCi/fiでノードiのINCi/fであるこ
とを示す。
【0021】125はノード0(101)のDIR0
(ディレクトリ)であり、後にふっている番号0はノー
ド0のディレクトリであることを示す。また、DIRi
でノードiのDIRであることを示す。各DIRiはノ
ードi、メモリi中のすべてのデータ・ブロックのキャ
ッシング情報を記憶している。126はノード0(10
1)のECS0(External Caching information Stora
ge)であり、後にふってある番号0はノード0のECS
であることを示す。また、ECSiでノードiのECS
であることを示す。ECSiはノードi内の任意のキャ
ッシュ・メモリijが、ノードk(k≠i)内のノードメ
モリk中からキャッシングしているデータ・ブロックの
キャッシング情報を含むものである。127はノード0
(101)の内部バスであり、キャッシュ・メモリ00
(121)、キャッシュ・メモリ01(122)、メモリ
0(123)、及びINCi/f0(124)を相互に
接続する。
【0022】以下、各ノード1〜3(102/103/
104)について同様に、128、129はノード1に
内蔵されるMPU10、MPU11であり、137、138
はノード2に内蔵されるMPU20、MPU211であり、
146、147はノード3に内蔵されるMPU30、MP
U31である。130、131はノード1に内蔵されるキ
ャッシュ・メモリ10、キャッシュ・メモリ11であり、1
39、140はノード2に内蔵されるキャッシュ・メモ
リ20、キャッシュ・メモリ21であり、148、149は
ノード3に内蔵されるキャッシュ・メモリ30、キャッシ
ュ・メモリ31である。
【0023】132はノード1に内蔵されるメモリ1で
あり、141はノード2に内蔵されるメモリ2であり、
150はノード3に内蔵されるメモリ3である。133
はノード1に内蔵されるINCi/f1であり、142
はノード2に内蔵されるINCi/f2であり、151
はノード3に内蔵されるINCi/f3である。134
はノード1に内蔵されるDIR1であり、143はノー
ド2に内蔵されるDIR2であり、152はノード3に
内蔵されるDIR3である。135はノード1に内蔵さ
れるECS1であり、144はノード2に内蔵されるE
CS2であり、153はノード3に内蔵されるECS3
である。136はノード1の内部バスであり、145は
ノード2の内部バスであり、154はノード3の内部バ
スである。155はINCコントローラ(105)がス
イッチング・ユニット(106)を制御する制御ライン
である。
【0024】尚、図2に示すように、本システムにおけ
る物理アドレスの上位7ビットのアドレスA0−A6は
ノードの番号を示す。各ノード(101、102、10
3、104)内のノード・メモリ(123、132、1
41、150)の容量は各々32MBである。よって、
キャッシュ・メモリ(121、122、130、13
1、139、140、148、149)のライン・サイ
ズは16Bであるから、DIR(125、134、14
3、152)のエントリ数は各々2Mエントリとなる。
また、キャッシュ・メモリ(121、122、130、
131、139、140、148、149)のライン数
は各々2kラインであるから、ECS(126、13
5、144、151)のエントリ数は4kエントリとな
る。
【0025】次にキャッシュ・メモリijの詳細な構成と
動作を図3を用いて説明する。尚、ここではキャッシュ
・メモリ00を例に挙げて説明する。また、図1に示され
る他のキャッシュ・メモリ(122、130、131、
139、140、148、149)の構成については同
様なので省略する。図3は本実施の形態のキャッシュ・
メモリの詳細な構成を示すブロック図である。
【0026】201はキャッシュ・コントローラであ
り、202はキャッシュ・タグである。203、20
4、205、及び206はそれぞれが2k×32bitの記
憶容量を持つRAM、207はデータバッファである。
尚、本実施の形態のキャッシュ・メモリは、ダイレクト
マップ方式、ライン数=2k、ライン・サイズ=16
B、記憶容量=32kBの構成とするが、これが本発明
により限定されるものではない。
【0027】次にキャッシュ・メモリ00(121)の動
作を説明する。MPU00(119)がメモリアクセスを
発行すると、キャッシュ・コントローラ201はmisc信
号によって、例えば、 「メモリ・アクセスが発行されたこと」 「キャッシュ・メモリ00を介するアクセス(cache enab
le access)であるか、あるいはキャッシュ・メモリ00
をスルーするアクセス(cache disable access)である
か」等の情報を受け取る。
【0028】cache disable accessの場合は、Bmisc信
号を用いてバス127の使用権を獲得した後に、MPU
00が出力したアドレス信号(A0-31)をバス・アドレス
信号(BA0-31)に、サイズ信号(SIZ0-1)をバス
サイズ信号(BSIZ0-1)に出力する。また、発行さ
れたメモリ・アクセスがライトアクセスであるかリード
でアクセスであるかを示すアクセス方向信号(R/W)
をエンコードし、その結果をアクセスタイプ信号(Bty
pe)に出力する。
【0029】ライトアクセスの場合はデータバッファ2
07を制御し、データ信号(D0-31)をバスデータ信号
(BD0-31)に各々出力し、Bmisc信号を用いてバスア
クセスを発行する。発行したバスアクセスは、Bmisc信
号を用いたバス・プロトコルに従ってターミネートされ
る。キャッシュ・コントローラ201は、misc信号を用
いたMPU00のバス・プロトコルに従って、MPU00が
発行したメモリアクセスをターミネートする。
【0030】リードアクセスの場合は、ターミネート時
に返されるデータBD0-31を、データバッファ207を
制御することでD0-31に出力し、ターミネートする。ca
che enable accessの場合は、MPU00が出力したアド
レス信号(A0-31)のうちのA17-27アドレスをライン
アドレス信号としてCA17-27へ、A0-16をタグ・アド
レス信号としてCA0-16に出力する。そして、コントロ
ール信号(control)を用いてキャッシュ・タグ202
に、MPU00の発行したアクセスの対象であるデータ・
ブロックがキャッシュ・メモリ00中に存在するか否かを
チェックさせる。キャッシュ・タグ202は、ack信号
を用いてチェックが完了したことを知らせ、その結果を
state0-1信号に出力する。
【0031】尚、本実施の形態のキャッシュ・メモリ
は、コヒーレンシ・プロトコルとしてMESIプロトコ
ルを用いるものとする。以下、MESIプロトコルの動
作を図4の状態遷移図を用いて説明する。図4は本実施
の形態のMESIプロトコルの状態遷移を示す図であ
る。MESIプロトコルは、ステートとして、INVA
LID、SHARED、EXCLUSIVE 、MOD
IFIEDの4つから構成されている。この4つの各ス
テートは、state0-1信号によって、例えば、state0-1=
「00」の時がINVALIDステート、「01」の時がS
HAREDステート、「11」の時がEXCLUSIVE
ステート、「10」の時がMODIFIEDステートを示
すものとする。また、state0-1信号の値が「00」が返さ
れた場合はキャッシュ・ミス(要求するデータがキャッ
シュ・メモリ内に存在しない)であり、その他の値が返
された場合は各々のステートにおけるキャッシュ・ヒッ
ト(要求するデータがキャッシュ・メモリ内に存在す
る)である。各々のステートにおけるキャッシュ・ヒッ
ト時に、キャッシュ・コントローラ201が行う必要の
ある動作は、以下の通りである。
【0032】・EXCLUSIVEステート リード・ヒット時はステートの変更等はなし、ライト・
ヒット時はステートをMODIFIEDステートに変更
する。 ・MODIFIEDステート リード・ヒット時、ライト・ヒット時、ステートの変更
はなし。
【0033】・SHAREDステート リード・ヒット時はステートの変更はなし、他キャッシ
ュ・メモリ中の当該データ・ブロックを無効化し、ステ
ートをMODIFIEDに変更する。ここでキャッシュ
・コントローラ201は、キャッシュ・ミス時あるいは
SHAREDステートのデータ・ブロックにおけるライト・ヒ
ット時に、バス127上にトランザクションを発行する
必要がある。その場合は、Bmisc信号を用いてバス12
7の使用権を獲得した後に、MPU00が出力したアドレ
ス信号(A0-31)が指すデータ・ブロックのアドレスを
バス・アドレス信号(BA0-31)に、アクセス・サイズ
(本実施の形態では、16B(=ライン・サイズ))を
エンコードしたサイズ信号(SIZ0-1)をバス・サイ
ズ信号(BSIZE0-1)に、 ・リード・ミス時は、「リード」(read)であること
を、 ・ライト・ミス時は、「変更を意図したリード」(read
with intent to modify)であることを、 ・SHAREDステートのデータ・ブロックにおけるラ
イト・ヒット時は、「無効化」(invalidate)であるこ
とをエンコードし、アクセス・タイプ信号(Btype)に
各々出力し、Bmisc信号を用いてトランザクションを発
行する。
【0034】ここでのトランザクションは、各ノード
(101、102、103、104)のバス(127、
136、145、154)上に選択的に発行する(後
述)。発行されたトランザクションは、バス上の各ノー
ド(101、102、103、104)に内蔵されるキ
ャッシュ・コントローラ(201)によってスヌープさ
れる。
【0035】スヌープ時には、バス・アドレス信号(B
A0-31)のうちのBA17-27アドレスをライン・アドレ
ス信号としてCA17-27へ、BA0-16をタグ・アドレス
信号としてCA0-16に出力する。そして、コントロール
信号(control)を用いてキャッシュ・タグ(202)
に、バス上に発行されているトランザクションの対象で
あるデータ・ブロックがキャッシュ・メモリ中に存在す
るか否かをチェックさせる。キャッシュ・タグ(20
2)は、ack信号を用いてチェックが完了したことを知
らせ、その結果をstate0-1信号に出力する。
【0036】ここでトランザクション対象のデータ・ブ
ロックがキャッシュ・メモリ中に存在していなかった場
合は、スヌープ動作は完了する。存在していた場合は存
在していることをBmisc信号を用いてバス上に示すとと
もに、各々ステートに応じて以下のような動作を行う。 ・EXCLUSIVEステート リード(read)トランザクション時は、SHAREDス
テートに変更する。変更を意図したリード(read with
intent to modify)トランザクション時は、INVAL
IDステートに変更する。無効化(invalidate)トラン
ザクション時は、このステートで存在することは有り得
ないが、その場合はINVALIDステートに変更す
る。
【0037】・MODIFIEDステート リード(read)トランザクション時は、SHAREDス
テートに変更するとともに、当該データ・ブロックをノ
ード・メモリに書き戻す。変更を意図したリード(read
with intent to modify)トランザクション時は、IN
VALIDステートに変更するとともに、当該データ・
ブロックをノード・メモリに書き戻す。無効化(invali
date)トランザクション時は、このステートで存在する
ことは有り得ないが、その場合はINVALIDステー
トに変更する。
【0038】・SHAREDステート リード(read)トランザクション時は、ステートの変更
等はなし。変更を意図したリード(read with intent t
o modify)または無効化(invalidate)トランザクショ
ン時は、INVALIDステートに変更する。以上のよ
うな動作を行うことによって、キャッシュ・メモリ中の
データ・ブロックのコピー間の一貫性を保持する。この
際、各ノードのバス上に上述のようなトランザクション
を発行する必要はなく、どのノードにトランザクション
を発行する必要があるか、即ち、どのノードのキャッシ
ュ・メモリ中に当該データ・ブロックのコピーが存在す
るか等のキャッシング情報を、各ディレクトリが記憶し
ており、必要のあるノードに対してのみトランザクショ
ンを発行する。本発明ではこれに付け加えて、ノード
(101、102、103、104)内の各キャッシュ
・メモリ(121、122、130、131、139、
140、148、149)にキャッシングされた各デー
タ・ブロックのキャッシング情報の要約または全てを、
各ノードのECS(126、135、144、154)
に格納しておき、その情報を基にキャッシュの一貫性保
持を図る。
【0039】次に図5〜7を用いて、INCi/f(1
24、133、142、151)、DIR(125、1
34、143、152)、及びECS(126、13
5、144、151)の構成を説明するとともに、本実
施の形態におけるキャッシュの一貫性保持動作を説明す
る。ここでは、特に,リード・ミス時の処理動作とSH
AREDステートのデータ・ブロックに対するライト・
ヒット時の処理動作で説明する。
【0040】尚、図5では、ノード0に内蔵されるIN
Ci/f0、DIR0、ECS0を例に挙げて説明す
る。また、図1に示される他のノード1〜ノード3のそ
れぞれに内蔵されるINCi/f、DIR、ECSの構
成については同様なので省略する。尚、図6において、
ノード1(102)内のノード・メモリ1(132)中
に、あるデータ・ブロック1000の原本が格納されて
いる。また、データ・ブロック1000が、ノード2
(103)内のキャッシュ・メモリ20(139)中にDI
RTYステートでキャッシングされているとする。更に、
ノード0(101)内のキャッシュ・メモリ00(12
1)には、データ・ブロック1000はキャッシュされ
ていないとする。
【0041】また、図6に示される括弧付きの番号は、
処理が行われていく順番を表しており、以下、処理の説
明において、それぞれ括弧付きの番号に対応する処理の
説明の末尾にその番号を付加する。まず、ノード0(1
01)内のMPU00(119)が、データ・ブロック1
000に対するリード・アクセスをキャッシュ・メモリ
00(121)に対し発行する(1)。キャッシュ・メモ
リ00(121)には、データ・ブロック1000はキャ
ッシュされていないのでキャッシュ・ミスが生じる
(2)。その結果、キャッシュ・メモリ00(121)に
内蔵されるキャッシュ・コントローラ(201)は、キ
ャッシュ・ミス処理を開始し、バス127にreadトラン
ザクションを発行する(3)。同時に、バス127上の
バス・アドレス信号(BA0-31)のBA0-6より、このr
eadトランザクションの対象となるデータ・ブロック1
000の原本が、ノード1(102)内のノード・メモ
リ1(132)中に存在することが判明する。
【0042】INCi/f0(124)はこれに応じ
て、通信ライン(107)のINCrtype上にreadトラ
ンザクションであることをエンコードした信号を出力す
る。また、TA0-27上には、対象となるデータ・ブロッ
ク1000のアドレスを出力する。更に、INCreq信
号を用いてINCi/f0(124)の使用要求をIN
Cコントローラ(105)に対して行う(4)。
【0043】INCコントローラ(105)は、通信ラ
イン(111)のINCcmd上にキャッシング情報の要
求であることをエンコードした信号を出力する。また、
CKA0-27上には、対象となるデータ・ブロック100
0のアドレスを出力する。更に、INCcontorolを用い
てノード1(102)内のINCi/f1(133)に
データ・ブロック1000のキャッシング情報の転送を
指示する(5)。
【0044】ノード1(102)のINCi/f1(1
33)は、渡されたアドレスをDA7-27に出力し、chip
select信号でDIR1(134)のRAMを選択す
る。また、contorol信号を用いてDIR1(134)中
のデータ・ブロック1000のキャッシング情報を読み
出す(6)。そして、読み出したキャッシング情報を通
信ライン(110)のTA0-27に出力し、INCreq信
号を用いてデータ・ブロック1000のキャッシング情
報をINCコントローラ(105)に転送する(7)。
ここでデータ・ブロック1000のコピーが、ノード
2(103)内のキャッシュ・メモリ20/キャッシュ・
メモリ21(137/138)中に存在することが示され
たとする。INCコントローラ(105)は、通信ライ
ン(114)のINCcmd上にノード0(101)が発
行したreadトランザクションに対応したコヒーレンシ・
チェックであることをエンコードした信号を、CKA0-
27上にターゲット・データ・ブロックのアドレスを出力
する。また、INCcontrolを用いてノード2(10
3)内のINCi/f2(142)にデータ・ブロック
10000のコヒーレンシ・チェックを指示する
(8)。
【0045】INCi/f2(142)が、バス(14
5)上に擬似readトランザクションを発行する(9)。
その結果、キャッシュ・メモリ20(139)及びキャッ
シュ・メモリ21(140)のキャッシュ・コントローラ
(201)は、それをスヌープする(10)。そして、
それぞれのキャッシュ・タグ(202)をアクセスする
ことでデータ・ブロック1000のコピーの存在の有無
とそのステートのチェックを行う(11)。ここではキ
ャッシュ・メモリ20(139)中に、データ・ブロッ
クのコピーがMODIFIEDステートで存在していた
とする。キャッシュ・メモリ20(139)に内蔵される
キャッシュ・コントローラ(201)は、データ・ブロ
ック1000のコピーがMODIFIEDステートで存
在していたことを示すとともに、それを書き戻すための
writeトランザクションを発行する(12)。一方、キ
ャッシュ・メモリ21(140)中にはデータブロック1
000のコピーが存在しないので、キャッシュ・メモリ
21(140)のキャッシュ・コントローラ(201)
は、データブロック1000のコピーが存在しなかった
ことを示す(12)。コヒーレンシ・チェックの結果と
キャッシュ・メモリ20(139)から発行されたwrite
トランザクションに対して以下の処理を行う。INCi
/f2(142)は通信ライン(113)のINCrtyp
e上にリード・スヌープ・ヒット(read snoop hit)に
応じたwriteトランザクションであることをエンコード
した信号を、TA0-27上にデータ・ブロック1000の
アドレスを出力する。また、INCreq信号を用いてI
NCの使用昇給をINCコントローラ(105)に対し
て行う(13)。INCコントローラ(105)は、す
ぐにこれを許可する(14)とともに、ノード1(10
2)内のINCi/f1(133)にも回線設定を指示
する(14)。
【0046】INCi/f2(142)は、writeトラ
ンザクションをINCの通信ライン(115、112)
上に発行する(15)。そして、それを受けたノード1
(102)内のINCi/f1(133)が、バス(1
36)上にwriteトランザクションを発行する(1
6)。その結果、データ・ブロック1000の原本の更
新が行われる。キャッシュ・メモリ20(130)中の
データ・ブロック1000のコピーのステートは、MO
DIFIEDからSHAREDへ変更される。この時点
でノード2(103)内のECS2(144)のデータ
・ブロック1000に対応したエントリには、ノード0
(101)中にもキャッシングされていることが書き込
まれる(18)。
【0047】ノード2(103)からのwriteトランザ
クションが完了した後に、INCコントローラ(10
5)は先に出されていたノード0(101)からのIN
C使用要求を認める。同時に、データ・ブロック100
0がノード2(103)にもキャッシングされていると
いう情報が与えられる(19)。また、ノード1(10
2)内のINCi/f1(133)にも回線設定を指示
する(19)。
【0048】INCi/f0(124)は、readトラン
ザクションをINCの通信ライン(109、112)上
に発行する(20)。それを受けたノード1(102)内
のINCi/f1(133)がバス(136)上にread
トランザクションを発行する。また、INCi/f1
(133)は、DIR1(134)のデータ・ブロック
1000に対応したエントリにノード0(101)中に
もキャッシングされていることが書き込まれる(2
2)。
【0049】キャッシュ・メモリ00(121)中に転送
されてきたデータ・ブロック1000は、SHARED
ステートに変更される(23)。INCi/f0(12
4)はECS0(126)のデータ・ブロック1000
に対応したエントリに、ノード2(103)にもキャッ
シングされていることが書き込まれる(24)。上述の
図6の処理における処理フローについて、図7〜図9の
フローチャートを用いて説明する。また、括弧付きの番
号における処理の対応関係を併記する。
【0050】ステップS701で、あるデータ・ブロッ
クに対するリード・アクセスを発行する((1)に対
応)。ステップS702で、対象とするデータ・ブロッ
クがキャッシュ・メモリにあるかどうかを判定する。対
象とするデータ・ブロックがキャッシュ・メモリにある
場合(ステップS702でYES)、ステップS703
に進む。
【0051】ステップS703で、対象とするデータ・
ブロックを用いてリード処理を行う((23)、(2
4)に対応)。対象とするデータ・ブロックがキャッシ
ュ・メモリにない場合(ステップS703でNO)、図
8のステップS801に進む((2)、(3)に対
応)。ステップS801で、対象とするデータ・ブロッ
クの原本を記憶するノードにアクセスする((4)、
(5)に対応)。
【0052】ステップS802で、対象とするデータ・
ブロックが他のノードに記憶されているかどうかを判定
する((6)に対応)。対象とするデータ・ブロックが
他のノードに記憶されていない場合(ステップS802
でNO)、ステップS803に進む。ステップS803
で、対象とするデータ・ブロックをアクセス要求を行っ
たノードに転送し((16)、(20)〜(22)に対
応)、ステップS703に進む。
【0053】対象とするデータ・ブロックが他のノード
に記憶されている場合(ステップS802でYES)、
図9のステップS901に進む。ステップS901で、
対象とするデータ・ブロックをキャッシュしているノー
ドへアクセスする((7)、(8)に対応)。ステップ
S902で、各キャッシュに基づく処理を行う((9)
〜(11)、(17)、(18)に対応)。
【0054】ステップS903で、対象とするデータ・
ブロックがMODIFIEDステートであるかどうかを
判定する。対象とするデータ・ブロックがMODIFI
EDステートである場合(ステップS903でYE
S)、ステップS904に進む((12)に対応)。ス
テップS904で、対象とするデータ・ブロックの原本
を記憶するノードへアクセスし((13)〜(15)、
(19)に対応)、図8のステップS803に進む。
【0055】次に、キャッシュ・メモリ00(121)中
に、上述で説明した図6の処理を経て転送されてきたデ
ータブロック1000に対し、MPU00(119)が書
き込みを行う際(SHAREDステートのデータ・ブロ
ックに対するライト・ヒット時)の動作を、図10を用
いて示す。尚、図10に示される括弧付きの番号は、処
理が行われていく順番を表しており、以下、処理の説明
において、それぞれ括弧付きの番号に対応する処理の説
明の末尾にその番号を付加する。
【0056】ノード0(101)のMPU00(119)
が、データ・ブロック1000に対してライト・アクセ
スを発行する(25)。そして、それがSHAREDス
テートのデータ・ブロック1000にライト・ヒットす
る(26)。キャッシュ・メモリ00(121)のキャッ
シュ・コントローラ(201)は、コヒーレンシ保持の
ための処理を開始し、バス(127)にinvalidateトラ
ンザクションを発行する(27)。INCi/f0(1
24)は、これに応じてこのトランザクションを発行す
べきノードを知るためにECS0(126)中のデータ
・ブロック1000のキャッシング情報を読み出す(2
8)。読み出したキャッシング情報により、データ・ブ
ロック1000は、ノード2(103)にキャッシング
されていることが判る。
【0057】その結果、INCi/f0(124)は、
通信ライン(107)のINCrtype上にinvalidateト
ランザクションであることをエンコードした信号を、T
A0-27にデータ・ブロック1000のアドレスを出力す
る。また、INCreq信号を用いてINCの使用要求を
INCコントローラ(105)に対して行う(29)。
INCコントローラ(105)は、通信ライン(11
4)のINCcmd上にinvalidate要求であることをエン
コードした信号を、CKA0-27上にデータ・ブロック1
000のアドレスを出力する。また、INCcontrolを
用いてノード2(103)内のINCi/f2(14
2)に、データ・ブロック1000のアドレスを出力す
る。更に、INCcontrolを用いて、ノード2(10
3)内のINCi/f2(142)に、データ・ブロッ
ク1000のinvalidateトランザクションのバス(14
5)上への発行を指示する(30)。
【0058】INCi/f2(142)が、バス(14
5)上にinvalidateトランザクションを発行する(3
1)。キャッシュ・メモリ20(3139)及びキャッシ
ュ・メモリ21(140)のキャッシュ・コントローラ
(201)は、それをスヌープする(32)。その結
果、キャッシュ・タグ(202)をアクセスすることで
データ・ブロック1000のコピーの存在の有無とその
ステートのチェックを行う(33)。
【0059】キャッシュ・メモリ21(140)中には、
データ・ブロック1000は存在しないので、キャッシ
ュ・メモリ21(140)のキャッシュ・コントローラ
(201)は、データ・ブロック1000のコピーが存
在しなかったことを示す(34)。 一方、キャッシュ
・メモリ20(139)のキャッシュ・コントローラ(2
01)は、データ・ブロック1000のコピーがSHA
REDステートで存在していたことを示し(34)、こ
れを指示に従って無効化する(35)。
【0060】INCi/f2(142)は、ECS2
(114)中のデータ・ブロック1000に対応したエ
ントリを無効化する(36)。また、INCコントロー
ラ(105)は、ノード1(102)のINCi/f1
(133)に対して、以下の処理を行う。通信ライン
(111)のINCcmd上にノード2(103)中のデ
ータ・ブロック1000が、無効となったことを示す情
報をDIR1(134)へ転送する指示をエンコードし
た信号を出力する。また、CKA0-27上にデータ・ブロ
ックのアドレスを出力する。更に、INCcontrolを用
いてノード1(102)内のINCi/f1(133)
に、DIR1(134)の書き換えを指示する(3
7)。
【0061】INCi/f1(133)は、DIR1
(138)中のデータ・ブロック1000に対応したエ
ントリを書き換える(38)。この無効化処理完了後、
ノード0(101)内のキャッシュ・メモリ00(12
1)では、データ・ブロック1000の書き換えが行わ
れ、ステートがSHAREDからMODIFIEDに変
わる(39)。そして、INCi/f0(124)は、
ECS0(126)中のデータ・ブロック1000に対
応したエントリを書き換える(40)。
【0062】上述の図10処理における処理フローにつ
いて、図11〜図13のフローチャートを用いて説明す
る。また、括弧付きの番号における処理の対応関係を併
記する。ステップS1101で、あるデータ・ブロック
に対するライト・アクセスを発行する((25)に対
応)。
【0063】ステップS1102で、ライト・ヒットす
る((26)に対応)。ステップS1103で、ライト
・ヒットしたデータ・ブロックに対し、そのデータ・ブ
ロックがSHAREDステートであるかいなかを判定す
る((27)、(28)に対応)。データ・ブロックが
SHAREDステートでない場合(ステップS1110
3でNO)、ステップS1104に進む。ステップS1
104で、対象とするデータ・ブロックのライト処理を
行う((39)、(40)に対応)。
【0064】データ・ブロックがSHAREDステート
である場合(ステップS1103で、YES)、図12
のステップS1201に進む。ステップS1201で、
対象とするデータ・ブロックをキャッシュしているノー
ドへアクセスする((29)、(30)に対応)。ステ
ップS1202で、各キャッシュに基づく処理を行い
((31)〜(36)に対応)、図13のステップS1
301に進む。
【0065】ステップS1301で、対象とするデータ
・ブロックの原本を記憶するノードへアクセスする
((37)に対応)。ステップS1302で、対象とす
るデータ・ブロックのキャッシング情報を更新し((3
8)に対応)、ステップS1104へ進む。尚、本実施
の形態では、ディレクトリを各ノードに配置させる構成
にしているが、これに限らない。例えば、システムの1
箇所に集中させて配置させる構成にしても良い。
【0066】以上説明したように、本実施の形態によれ
ば、ECSを備えることにより、SHAREDステート
のデータ・ブロックのライト・ヒット時等の一貫性保持
動作が必要な場合に、DIR中に格納されているキャッ
シング情報への高速アクセスが可能となる。また、情報
処理システムの上位の結合網の通信トラフィックをへら
ることが可能となり、情報処理システム全体の性能を向
上することができる。
【0067】また、本発明は、『ホストコンピュータ、
インタフェース、プリンタ等の』複数の機器から構成さ
れるシステムに適用しても、1つの機器からなる装置に
適用しても良い。また、本発明はシステム或は装置にプ
ログラムを供給することによって達成される場合にも適
用できることはいうまでもない。この場合、本発明を達
成するためのソフトウェアによって表されるプログラム
を格納した記憶媒体から、該プログラムを該システム或
は装置に読み出すことによって、そのシステム或は装置
が、本発明の効果を享受することが可能となる。
【0068】
【発明の効果】以上の説明からも明らかなように、シス
テムの処理性能を向上する情報処理システム及びそのシ
ステム制御方法及び情報処理装置を提供できる。
【図面の簡単な説明】
【図1】本実施の形態の情報処理システムの構成を示す
ブロック図である。
【図2】本実施の形態の情報処理システムの物理アドレ
スのフィールド構成とメモリマップを示す図である。
【図3】本実施の形態のキャッシュ・メモリの詳細な構
成を示すブロック図である。
【図4】本実施の形態のMESIプロトコルの状態遷移
を示す図である。
【図5】本実施の形態のINCi/f、DIR、ECS
の構成を示すブロック図である。
【図6】本実施の形態のリード・ミス時の処理動作を説
明するための図である。
【図7】本実施の形態の図6の処理フローを示すフロー
チャートである。
【図8】本実施の形態の図6の処理フローを示すフロー
チャートである。
【図9】本実施の形態の図6の処理フローを示すフロー
チャートである。
【図10】本実施の形態のSHAREDステートのデー
タ・ブロックへ、ライト・ヒットした時の処理動作を説
明するための図である。
【図11】本実施の形態の図10の処理フローを示すフ
ローチャートである。
【図12】本実施の形態の図10の処理フローを示すフ
ローチャートである。
【図13】本実施の形態の図10の処理フローを示すフ
ローチャートである。
【符号の説明】
101 ノード0 102 ノード1 103 ノード2 104 ノード3 105 INCコントローラ 106 スイッチング・ユニット 107〜118 通信ライン 119、120、128、129、137、138、1
46、147 MPU 121、122、130、131、139、140、1
48、149 キャッシュ・メモリ 123、133、142、151 ノード・メモリ 125、134、143、152 ディレクトリ 126、135、144、153 ECS 127、136、145、154 バス 155 コントロール・ライン 201 キャッシュ・コントローラ 202 キャッシュ・タグ 203〜206 RAM 207 データ・バッファ
フロントページの続き (72)発明者 中村 秀一 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのプロセッサ及びそれに
    付随するキャッシュ・メモリ、主記憶装置、及び、該キ
    ャッシュ・メモリと該主記憶装置間を相互に接続する結
    合網からなる情報処理装置と、情報処理装置の複数台を
    相互に接続する結合網からなる情報処理システムであっ
    て、 前記情報処理装置内のプロセッサの制御により他の情報
    処理装置の主記憶装置からキャッシングしてきたデータ
    ブロックに対し、該データブロックが他のどの情報処理
    装置内のキャッシュ・メモリにキャッシュされているか
    を示す第1キャッシング情報を記憶する第1記憶手段
    と、 前記情報処理装置内の主記憶装置に格納されているデー
    タブロックが、他のどの情報処理装置にキャッシングさ
    れているかを示す第2キャッシング情報を記憶する第2
    記憶手段と、 前記第1キャッシング情報と前記第2キャッシング情報
    に基づいて、各キャッシュ・メモリにキャッシュされて
    いるデータブロックの一貫性を保持する保持手段とを備
    えることを特徴とする情報処理システム。
  2. 【請求項2】 前記保持手段は、キャッシュ・メモリに
    キャッシュされているデータブロックがライトヒット
    し、該データブロックが他のキャッシュ・メモリにもキ
    ャッシュされている場合、該他のキャッシュ・メモリに
    キャッシュされているデータブロックを無効化すること
    で、データブロックの一貫性を保持することを特徴とす
    る請求項1に記載の情報処理システム。
  3. 【請求項3】 前記第2記憶手段は、各情報処理装置内
    に配置されていることを特徴とする請求項1に記載の情
    報処理システム。
  4. 【請求項4】 前記保持手段は、各情報処理装置内のデ
    ータブロックの一貫性をスヌープ方式によって保持し、
    情報処理装置間のデータブロックの一貫性をディレクト
    リ方式によって保持することを特徴とする請求項1に記
    載の情報処理システム。
  5. 【請求項5】 少なくとも1つのプロセッサ及びそれに
    付随するキャッシュ・メモリ、主記憶装置、及び、該キ
    ャッシュ・メモリと該主記憶装置間を相互に接続する結
    合網からなる情報処理装置と、情報処理装置の複数台を
    相互に接続する結合網からなる情報処理システム制御方
    法であって、 前記情報処理装置内のプロセッサの制御により他の情報
    処理装置の主記憶装置からキャッシングしてきたデータ
    ブロックに対し、該データブロックが他のどの情報処理
    装置内のキャッシュ・メモリにキャッシュされているか
    を示す第1キャッシング情報を記憶する第1記憶工程
    と、 前記情報処理装置内の主記憶装置に格納されているデー
    タブロックが、他のどの情報処理装置にキャッシングさ
    れているかを示す第2キャッシング情報を記憶する第2
    記憶工程と、 前記第1キャッシング情報と前記第2キャッシング情報
    に基づいて、各キャッシュ・メモリにキャッシュされて
    いるデータブロックの一貫性を保持する保持工程とを備
    えることを特徴とする情報処理システム制御方法。
  6. 【請求項6】 前記保持工程は、キャッシュ・メモリに
    キャッシュされているデータブロックがライトヒット
    し、該データブロックが他のキャッシュ・メモリにもキ
    ャッシュされている場合、該他のキャッシュ・メモリに
    キャッシュされているデータブロックを無効化すること
    で、データブロックの一貫性を保持することを特徴とす
    る請求項5に記載の情報処理システム制御方法。
  7. 【請求項7】 前記第2記憶工程で記憶される記憶媒体
    は、各情報処理装置内に配置されていることを特徴とす
    る請求項5に記載の情報処理システム制御方法。
  8. 【請求項8】 前記保持工程は、各情報処理装置内のデ
    ータブロックの一貫性をスヌープ方式によって保持し、
    情報処理装置間のデータブロックの一貫性をディレクト
    リ方式によって保持することを特徴とする請求項5に記
    載の情報処理システム制御方法。
  9. 【請求項9】 少なくとも1つのプロセッサ及びそれに
    付随するキャッシュ・メモリ、主記憶装置、及び、該キ
    ャッシュ・メモリと該主記憶装置間を相互に接続する結
    合網からなる情報処理装置であって、 前記情報処理装置と他の情報処理装置を含む複数の情報
    処理装置と相互に接続する結合網と、 前記情報処理装置内のプロセッサの制御により、前記他
    の情報処理装置の主記憶装置からキャッシングしてきた
    データブロックに対し、該データブロックが他のどの情
    報処理装置内のキャッシュ・メモリにキャッシュされて
    いるかを示す第1キャッシング情報を記憶する第1記憶
    手段と、 前記情報処理装置内の主記憶装置に格納されているデー
    タブロックが、他のどの情報処理装置にキャッシングさ
    れているかを示す第2キャッシング情報を記憶する第2
    記憶手段と、 前記第1キャッシング情報と前記第2キャッシング情報
    に基づいて、各キャッシュ・メモリにキャッシュされて
    いるデータブロックの一貫性を保持する保持手段とを備
    えることを特徴とする情報処理装置。
  10. 【請求項10】 前記保持手段は、キャッシュ・メモリ
    にキャッシュされているデータブロックがライトヒット
    し、該データブロックが他のキャッシュ・メモリにもキ
    ャッシュされている場合、該他のキャッシュ・メモリに
    キャッシュされているデータブロックを無効化すること
    で、データブロックの一貫性を保持することを特徴とす
    る請求項9に記載の情報処理装置。
  11. 【請求項11】 前記第2記憶手段は、前記情報処理装
    置内に配置されていることを特徴とする請求項9に記載
    の情報処理装置。
  12. 【請求項12】 前記保持手段は、情報処理装置内のデ
    ータブロックの一貫性をスヌープ方式によって保持し、
    情報処理装置間のデータブロックの一貫性をディレクト
    リ方式によって保持することを特徴とする請求項9に記
    載の情報処理装置。
JP8005402A 1996-01-17 1996-01-17 情報処理システム及びシステム制御方法及び情報処理装置 Withdrawn JPH09198309A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8005402A JPH09198309A (ja) 1996-01-17 1996-01-17 情報処理システム及びシステム制御方法及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8005402A JPH09198309A (ja) 1996-01-17 1996-01-17 情報処理システム及びシステム制御方法及び情報処理装置

Publications (1)

Publication Number Publication Date
JPH09198309A true JPH09198309A (ja) 1997-07-31

Family

ID=11610161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8005402A Withdrawn JPH09198309A (ja) 1996-01-17 1996-01-17 情報処理システム及びシステム制御方法及び情報処理装置

Country Status (1)

Country Link
JP (1) JPH09198309A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141606A (ja) * 2003-11-10 2005-06-02 Hitachi Ltd マルチプロセッサシステム
JP2007193805A (ja) * 2006-01-18 2007-08-02 Internatl Business Mach Corp <Ibm> デュアル・システム・ディレクトリ構造体を有するマルチプロセッサ・システムおよび方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141606A (ja) * 2003-11-10 2005-06-02 Hitachi Ltd マルチプロセッサシステム
JP2007193805A (ja) * 2006-01-18 2007-08-02 Internatl Business Mach Corp <Ibm> デュアル・システム・ディレクトリ構造体を有するマルチプロセッサ・システムおよび方法

Similar Documents

Publication Publication Date Title
JP2819982B2 (ja) 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
US7814279B2 (en) Low-cost cache coherency for accelerators
EP0735480B1 (en) Cache coherent computer system that minimizes invalidation and copyback operations
US5822763A (en) Cache coherence protocol for reducing the effects of false sharing in non-bus-based shared-memory multiprocessors
US5347634A (en) System and method for directly executing user DMA instruction from user controlled process by employing processor privileged work buffer pointers
KR0163231B1 (ko) 입/출력 채널 제어기, 멀티 프로세싱 시스템 및 데이타 프로세싱 방법
US6711650B1 (en) Method and apparatus for accelerating input/output processing using cache injections
US6463510B1 (en) Apparatus for identifying memory requests originating on remote I/O devices as noncacheable
KR100515059B1 (ko) 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법
JPH0272452A (ja) 無効要求を選別する方法及び装置
JP3661764B2 (ja) 不均等メモリ・アクセス・コンピュータ・システムにおいてエヴィクション・プロトコルを提供するための方法およびシステム
US7925836B2 (en) Selective coherency control
JPH0576060B2 (ja)
JPH10320283A (ja) マルチプロセッサ・データ処理システム内でキャッシュ・コヒーレンシを維持するキャッシュ・コヒーレンシ・プロトコルを提供する方法及び装置
JPH10154100A (ja) 情報処理システム及び装置及びその制御方法
JPH0340046A (ja) キャッシュメモリ制御方式および情報処理装置
KR100257993B1 (ko) 분산 공유 메모리 시스템에서 미세 통신과 대단위 통신의 병합을 위한 적응형 입도 방법
US6807608B2 (en) Multiprocessor environment supporting variable-sized coherency transactions
JPH07152647A (ja) 共有メモリマルチプロセッサ
JPH09179779A (ja) コンピュータシステムおよびデータ転送方法
US6944721B2 (en) Asynchronous non-blocking snoop invalidation
JPH09198309A (ja) 情報処理システム及びシステム制御方法及び情報処理装置
JPH0238968B2 (ja)
KR100362607B1 (ko) I/o 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법
JPH05210639A (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: 20030401