JPH09204403A - 並列計算機 - Google Patents
並列計算機Info
- Publication number
- JPH09204403A JPH09204403A JP8011540A JP1154096A JPH09204403A JP H09204403 A JPH09204403 A JP H09204403A JP 8011540 A JP8011540 A JP 8011540A JP 1154096 A JP1154096 A JP 1154096A JP H09204403 A JPH09204403 A JP H09204403A
- Authority
- JP
- Japan
- Prior art keywords
- main memory
- cache
- address area
- data
- continuous address
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 57
- 238000012546 transfer Methods 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 40
- 230000007246 mechanism Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 abstract description 65
- 230000008569 process Effects 0.000 description 15
- 238000012544 monitoring process Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 6
- 238000010926 purge Methods 0.000 description 5
- 230000001629 suppression Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005764 inhibitory process Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000002789 length control Methods 0.000 description 1
- 210000003739 neck Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- 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/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】メッセージパッシング型の並列計算機における
データ転送に係わるソフトウェアによるキャッシュ一致
制御処理のオーバヘッドを低減してデータ転送性能を向
上させ、又、データ転送時にキャッシュメモリを意識し
制御するというプログラム上の制約を緩和する。 【解決手段】ストレージコントローラからの要求に応じ
てキャッシュ一致制御を行う演算プロセッサを採用し、
ストレージコントローラに、キャッシュ一致制御処理部
を設け、キャッシュ一致制御処理部が、データ転送に係
わる主記憶アクセスのアクセス先アドレス領域を対象と
したキャッシュ一致制御を行うと共に、キャッシュ一致
制御処理を基本的にキャッシュラインに1回となるよう
にしてキャッシュ一致制御を含むデータ転送を行う。 【効果】データ転送に係わるソフトウェアによるキャッ
シュ一致制御処理が不要となり、キャッシュメモリ制御
を含めたデータ転送効率が向上し、プログラム上の制約
が緩和される。
データ転送に係わるソフトウェアによるキャッシュ一致
制御処理のオーバヘッドを低減してデータ転送性能を向
上させ、又、データ転送時にキャッシュメモリを意識し
制御するというプログラム上の制約を緩和する。 【解決手段】ストレージコントローラからの要求に応じ
てキャッシュ一致制御を行う演算プロセッサを採用し、
ストレージコントローラに、キャッシュ一致制御処理部
を設け、キャッシュ一致制御処理部が、データ転送に係
わる主記憶アクセスのアクセス先アドレス領域を対象と
したキャッシュ一致制御を行うと共に、キャッシュ一致
制御処理を基本的にキャッシュラインに1回となるよう
にしてキャッシュ一致制御を含むデータ転送を行う。 【効果】データ転送に係わるソフトウェアによるキャッ
シュ一致制御処理が不要となり、キャッシュメモリ制御
を含めたデータ転送効率が向上し、プログラム上の制約
が緩和される。
Description
【0001】
【発明の属する技術分野】本発明は、分散メモリ方式の
並列計算機に係わり、特に、並列計算機を構成する要素
プロセッサ間でのデータ送受信時における、送受信対象
データを格納する主記憶領域に対するキャッシュメモリ
と主記憶の内容一致制御を実現する並列計算機に関す
る。
並列計算機に係わり、特に、並列計算機を構成する要素
プロセッサ間でのデータ送受信時における、送受信対象
データを格納する主記憶領域に対するキャッシュメモリ
と主記憶の内容一致制御を実現する並列計算機に関す
る。
【0002】
【従来の技術】計算機に対する高速処理性能への要求
は、演算プロセッサを複数台連携して使用する並列計算
機の登場を促した。科学技術計算などのいわゆるスーパ
ーコンピューティング分野への適用を目的とする並列計
算機は、数百台から数千台の演算プロセッサを有し、そ
の演算プロセッサが相互結合網で接続されるという形態
をとる。また、この形態の並列計算機は、各演算プロセ
ッサがそれぞれ主記憶を有し、それを管理するという構
成方式(一般に分散メモリ方式と呼ぶ)をとる。
は、演算プロセッサを複数台連携して使用する並列計算
機の登場を促した。科学技術計算などのいわゆるスーパ
ーコンピューティング分野への適用を目的とする並列計
算機は、数百台から数千台の演算プロセッサを有し、そ
の演算プロセッサが相互結合網で接続されるという形態
をとる。また、この形態の並列計算機は、各演算プロセ
ッサがそれぞれ主記憶を有し、それを管理するという構
成方式(一般に分散メモリ方式と呼ぶ)をとる。
【0003】分散メモリ方式の並列計算機では、各演算
プロセッサが他の演算プロセッサが管理する主記憶上の
データを参照したい場合に、演算プロセッサ間の相互結
合網を介したデータ転送によってこれを実現する。分散
メモリ方式の並列計算機は、このデータ転送の実現方法
の違いによって、分散共有メモリ型とメッセージパッシ
ング型の2種類に分類される。
プロセッサが他の演算プロセッサが管理する主記憶上の
データを参照したい場合に、演算プロセッサ間の相互結
合網を介したデータ転送によってこれを実現する。分散
メモリ方式の並列計算機は、このデータ転送の実現方法
の違いによって、分散共有メモリ型とメッセージパッシ
ング型の2種類に分類される。
【0004】分散共有メモリ型の並列計算機では、他演
算プロセッサの主記憶領域を指すアドレスへのロード/
ストア命令(機械語命令)の実行によって自動的にデー
タ転送が発生する。この時のデータ転送量は、ロード/
ストア命令が対象とするワード(方式によっては数十ワ
ード)程度である。一方、メッセージパッシング型の並
列計算機では、プログラム上の手続き(関数)により明
示的にデータ転送機構を動作させてデータ転送を実現す
る。この時のデータ転送量は、ハードウェア的な限界が
あるものの、その限界までの範囲内で任意であり、数キ
ロワード以上といった多量のデータ転送も実現できる。
算プロセッサの主記憶領域を指すアドレスへのロード/
ストア命令(機械語命令)の実行によって自動的にデー
タ転送が発生する。この時のデータ転送量は、ロード/
ストア命令が対象とするワード(方式によっては数十ワ
ード)程度である。一方、メッセージパッシング型の並
列計算機では、プログラム上の手続き(関数)により明
示的にデータ転送機構を動作させてデータ転送を実現す
る。この時のデータ転送量は、ハードウェア的な限界が
あるものの、その限界までの範囲内で任意であり、数キ
ロワード以上といった多量のデータ転送も実現できる。
【0005】上述のとおり、分散共有メモリ型とメッセ
ージパッシング型では、データ転送起動のメカニズムや
転送データ量に相違があるが、さらに演算プロセッサが
キャッシュメモリを有する場合の制御機構が大幅に異な
る。分散共有メモリ型の並列計算機では、バス結合のマ
ルチプロセッサ(シンメトリックマルチプロセッサ:S
MP)と同様に、データ転送にともなって、キャッシュ
メモリと主記憶との内容一致制御(コヒーレンス制御)
をハードウェアによって自動的に行う。例えば、米国S
tanford大学のDashという分散共有メモリ型
の並列計算機では、ディレクトリ方式という方式でコヒ
ーレンス制御を実現している。しかし、このような制御
機構を実現するのは、ハードウェアコストの面からは不
利である。一方、メッセージパッシング型の並列計算機
では、データ転送にともなうコヒーレンス制御はハード
ウェアでは行わず、ソフトウェアで明示的に行う。具体
的には、キャッシュメモリを制御するフラッシュ(キャ
ッシュメモリ上のデータが主記憶と異なる場合にその内
容を主記憶に書き戻した後、そのデータ領域をキャッシ
ュメモリ上から消失させる)命令やパージ(キャッシュ
メモリ上からデータ領域を消失させる)命令などを用い
てデータ転送の前に転送するデータ領域をキャッシュメ
モリから消失させておき、キャッシュメモリと主記憶の
内容不一致を防止する。
ージパッシング型では、データ転送起動のメカニズムや
転送データ量に相違があるが、さらに演算プロセッサが
キャッシュメモリを有する場合の制御機構が大幅に異な
る。分散共有メモリ型の並列計算機では、バス結合のマ
ルチプロセッサ(シンメトリックマルチプロセッサ:S
MP)と同様に、データ転送にともなって、キャッシュ
メモリと主記憶との内容一致制御(コヒーレンス制御)
をハードウェアによって自動的に行う。例えば、米国S
tanford大学のDashという分散共有メモリ型
の並列計算機では、ディレクトリ方式という方式でコヒ
ーレンス制御を実現している。しかし、このような制御
機構を実現するのは、ハードウェアコストの面からは不
利である。一方、メッセージパッシング型の並列計算機
では、データ転送にともなうコヒーレンス制御はハード
ウェアでは行わず、ソフトウェアで明示的に行う。具体
的には、キャッシュメモリを制御するフラッシュ(キャ
ッシュメモリ上のデータが主記憶と異なる場合にその内
容を主記憶に書き戻した後、そのデータ領域をキャッシ
ュメモリ上から消失させる)命令やパージ(キャッシュ
メモリ上からデータ領域を消失させる)命令などを用い
てデータ転送の前に転送するデータ領域をキャッシュメ
モリから消失させておき、キャッシュメモリと主記憶の
内容不一致を防止する。
【0006】
【発明が解決しようとする課題】上述したとおり、メッ
セージパッシング型の並列計算機では、データ転送時に
キャッシュメモリと主記憶の内容不一致を防止すること
を目的として、データ転送(送信あるいは受信)前にソ
フトウェアによって明示的にキャッシュメモリのフラッ
シュまたはパージ処理が必要になる。データ転送の性能
という観点で述べると、このようなソフトウェア処理は
それ自体大変なオーバヘッド(性能低下要因)であり、
また、データ転送時に、キャッシュメモリという本来ハ
ードウェアに任せておけば良い要素をソフトウェアで意
識し、制御する必要が生じるという点は、プログラム全
体(アルゴリズム)にとっても大きな制約事項となり、
処理効率を低下させる。
セージパッシング型の並列計算機では、データ転送時に
キャッシュメモリと主記憶の内容不一致を防止すること
を目的として、データ転送(送信あるいは受信)前にソ
フトウェアによって明示的にキャッシュメモリのフラッ
シュまたはパージ処理が必要になる。データ転送の性能
という観点で述べると、このようなソフトウェア処理は
それ自体大変なオーバヘッド(性能低下要因)であり、
また、データ転送時に、キャッシュメモリという本来ハ
ードウェアに任せておけば良い要素をソフトウェアで意
識し、制御する必要が生じるという点は、プログラム全
体(アルゴリズム)にとっても大きな制約事項となり、
処理効率を低下させる。
【0007】このようなメッセージパッシング型の並列
計算機におけるデータ転送にともなうソフトウェアのオ
ーバヘッドを低減し、プログラム上の制約を緩和すると
いうのが本発明が解決しようとする課題である。
計算機におけるデータ転送にともなうソフトウェアのオ
ーバヘッドを低減し、プログラム上の制約を緩和すると
いうのが本発明が解決しようとする課題である。
【0008】
【課題を解決するための手段】シンメトリックマルチプ
ロセッサを構成するときに用いられる演算プロセッサ
は、バスを介して伝えられるトランザクション要求に応
じてハードウェアでキャッシュメモリを制御する(フラ
ッシュまたはパージ処理を行う)機構を有している。本
発明は、並列計算機の演算プロセッサとして、バスを介
して伝えられるトランザクション要求に応じてハードウ
ェアでキャッシュメモリを制御する機構を有している演
算プロセッサを採用することを前提とする。
ロセッサを構成するときに用いられる演算プロセッサ
は、バスを介して伝えられるトランザクション要求に応
じてハードウェアでキャッシュメモリを制御する(フラ
ッシュまたはパージ処理を行う)機構を有している。本
発明は、並列計算機の演算プロセッサとして、バスを介
して伝えられるトランザクション要求に応じてハードウ
ェアでキャッシュメモリを制御する機構を有している演
算プロセッサを採用することを前提とする。
【0009】そして、上記課題を解決するために、本発
明の並列計算機は、データ転送の際に、そのデータの送
信あるいは受信と並行して、その送信/受信で発生する
主記憶アクセスの送信元あるいは受信先のアドレス領域
を対象としたキャッシュメモリ制御(フラッシュあるい
はパージ)要求を演算プロセッサに対し順次発行してい
く回路を有する。
明の並列計算機は、データ転送の際に、そのデータの送
信あるいは受信と並行して、その送信/受信で発生する
主記憶アクセスの送信元あるいは受信先のアドレス領域
を対象としたキャッシュメモリ制御(フラッシュあるい
はパージ)要求を演算プロセッサに対し順次発行してい
く回路を有する。
【0010】また、本発明の並列計算機は、データ転送
が連続アドレス領域のデータを扱うという特徴を利用し
て、演算プロセッサに対するキャッシュメモリ制御要求
の発行回数を、基本的にはキャッシュメモリへの登録単
位であるキャッシュラインごとに1回となるようにし、
キャッシュメモリ制御を含めたデータ転送の効率を向上
させる。
が連続アドレス領域のデータを扱うという特徴を利用し
て、演算プロセッサに対するキャッシュメモリ制御要求
の発行回数を、基本的にはキャッシュメモリへの登録単
位であるキャッシュラインごとに1回となるようにし、
キャッシュメモリ制御を含めたデータ転送の効率を向上
させる。
【0011】具体的には、それぞれが、命令プロセッ
サ、主記憶、前記主記憶へのアクセスの効率向上に使用
するキャッシュメモリを有する複数のプロセッサと、前
記複数のプロセッサを結合する相互結合網とからなり、
データ書き込みを前記キャッシュメモリと前記主記憶の
両方に対して同時に行う、分散メモリ方式の並列計算機
において、前記相互結合網を介して転送されるデータを
前記プロセッサが前記相互結合網から受信する際に、受
信データを格納する主記憶領域の内容を前記キャッシュ
メモリから消失させる消失手段と、前記消失手段の実行
後に、前記受信データを前記主記憶に書き込む手段を設
ける。また、前記消失手段は、前記主記憶から前記キャ
ッシュメモリへのデータ複写の単位となる複数語からな
る連続アドレス領域に対するデータの受信が前記相互結
合網から繰り返されている間は、前記連続アドレス領域
への1つ目の受信データの前記主記憶への書き込みの前
に一度だけ前記連続アドレス領域を前記キャッシュメモ
リから消失させ、前記連続アドレス領域が一度前記キャ
ッシュメモリから消失されると、前記連続アドレス領域
が再び前記キャッシュメモリに複写されるまで、前記連
続アドレス領域に対する受信データを受けた際、前記連
続アドレス領域を前記キャッシュメモリから消失させる
動作を行わない様にする。更にまた前記連続アドレス領
域へのデータの受信が継続している間に前記連続アドレ
ス領域が再び前記キャッシュメモリに複写された場合に
は、前記連続アドレス領域が再び前記キャッシュメモリ
に複写された以降1つめの受信データの前記主記憶への
書き込みの前に1度だけ前記連続アドレス領域を前記キ
ャッシュメモリから消失させ、以降は前記連続アドレス
領域が再び前記キャッシュメモリに複写されるまで、前
記連続アドレス領域に対する受信データを受けた際、前
記連続アドレス領域を前記キャッシュメモリから消失さ
せる動作を行わない様にする。
サ、主記憶、前記主記憶へのアクセスの効率向上に使用
するキャッシュメモリを有する複数のプロセッサと、前
記複数のプロセッサを結合する相互結合網とからなり、
データ書き込みを前記キャッシュメモリと前記主記憶の
両方に対して同時に行う、分散メモリ方式の並列計算機
において、前記相互結合網を介して転送されるデータを
前記プロセッサが前記相互結合網から受信する際に、受
信データを格納する主記憶領域の内容を前記キャッシュ
メモリから消失させる消失手段と、前記消失手段の実行
後に、前記受信データを前記主記憶に書き込む手段を設
ける。また、前記消失手段は、前記主記憶から前記キャ
ッシュメモリへのデータ複写の単位となる複数語からな
る連続アドレス領域に対するデータの受信が前記相互結
合網から繰り返されている間は、前記連続アドレス領域
への1つ目の受信データの前記主記憶への書き込みの前
に一度だけ前記連続アドレス領域を前記キャッシュメモ
リから消失させ、前記連続アドレス領域が一度前記キャ
ッシュメモリから消失されると、前記連続アドレス領域
が再び前記キャッシュメモリに複写されるまで、前記連
続アドレス領域に対する受信データを受けた際、前記連
続アドレス領域を前記キャッシュメモリから消失させる
動作を行わない様にする。更にまた前記連続アドレス領
域へのデータの受信が継続している間に前記連続アドレ
ス領域が再び前記キャッシュメモリに複写された場合に
は、前記連続アドレス領域が再び前記キャッシュメモリ
に複写された以降1つめの受信データの前記主記憶への
書き込みの前に1度だけ前記連続アドレス領域を前記キ
ャッシュメモリから消失させ、以降は前記連続アドレス
領域が再び前記キャッシュメモリに複写されるまで、前
記連続アドレス領域に対する受信データを受けた際、前
記連続アドレス領域を前記キャッシュメモリから消失さ
せる動作を行わない様にする。
【0012】次に、それぞれが、命令プロセッサ、主記
憶、前記主記憶へのアクセスの効率向上に使用するキャ
ッシュメモリを有する複数のプロセッサと、前記複数の
プロセッサを結合する相互結合網とからなり、通常はデ
ータの書き込みを前記キャッシュメモリに対して行い、
かつ前記主記憶への書き戻し要求があったときにデータ
の書き込みを主記憶に対して行う、分散メモリ方式の並
列計算機において、前記相互結合網を介して転送される
データを前記プロセッサが受信する際に、前記受信する
データを格納する前記主記憶領域の内容が前記キャッシ
ュメモリと前記主記憶の間で異なる場合に前記主記憶領
域の内容を前記キャッシュメモリから前記主記憶に書き
戻し、かつ前記受信データを格納する主記憶領域の内容
を前記キャッシュメモリから消失させる第1の手段と、
第1の手段の実行後、前記受信データを前記主記憶に書
き込む手段を有する様にする。次に又、前記第1の手段
は、前記主記憶から前記キャッシュメモリへのデータ複
写の単位となる複数語からなる連続アドレス領域に対す
るデータの受信が繰り返されている間は、前記連続アド
レス領域への1つ目の受信データの前記主記憶への書き
込みの前に1度だけ、前記キャッシュメモリ上の前記連
続アドレス領域の内容が主記憶と異なる場合に前記連続
アドレス領域の内容を主記憶に反映し、かつ前記連続ア
ドレス領域を前記キャッシュメモリから消失させ、以降
は前記連続アドレス領域が再び前記キャッシュメモリに
複写されるまでは前記連続アドレス領域に対する受信デ
ータを受けた際、前記キャッシュメモリ上の前記連続ア
ドレス領域の内容が主記憶と異なる場合に前記連続アド
レス領域の内容を主記憶に反映し、かつ前記連続アドレ
ス領域を前記キャッシュメモリから消失させる動作を行
わない様にする。次に又、前記第1の手段は、前記連続
アドレス領域へのデータ受信が継続している間に前記連
続アドレス領域が再び前記キャッシュメモリに複写され
た場合には、前記連続アドレス領域が再び前記キャッシ
ュメモリに複写された以降1つ目の受信データの主記憶
への書き込みの前に1度だけ、前記キャッシュメモリ上
の前記連続アドレス領域の内容が主記憶と異なる場合に
前記連続アドレス領域の内容を主記憶に反映し、かつ前
記連続アドレス領域を前記キャッシュメモリから消失さ
せ、以降は前記連続アドレス領域が再び前記キャッシュ
メモリに複写されるまでは前記連続アドレス領域に対す
る受信データを受けても、前記キャッシュメモリ上の前
記連続アドレス領域の内容が主記憶と異なる場合に前記
連続アドレス領域の内容を主記憶に反映し、かつ前記連
続アドレス領域を前記キャッシュメモリから消失させる
動作を行わない様にする。
憶、前記主記憶へのアクセスの効率向上に使用するキャ
ッシュメモリを有する複数のプロセッサと、前記複数の
プロセッサを結合する相互結合網とからなり、通常はデ
ータの書き込みを前記キャッシュメモリに対して行い、
かつ前記主記憶への書き戻し要求があったときにデータ
の書き込みを主記憶に対して行う、分散メモリ方式の並
列計算機において、前記相互結合網を介して転送される
データを前記プロセッサが受信する際に、前記受信する
データを格納する前記主記憶領域の内容が前記キャッシ
ュメモリと前記主記憶の間で異なる場合に前記主記憶領
域の内容を前記キャッシュメモリから前記主記憶に書き
戻し、かつ前記受信データを格納する主記憶領域の内容
を前記キャッシュメモリから消失させる第1の手段と、
第1の手段の実行後、前記受信データを前記主記憶に書
き込む手段を有する様にする。次に又、前記第1の手段
は、前記主記憶から前記キャッシュメモリへのデータ複
写の単位となる複数語からなる連続アドレス領域に対す
るデータの受信が繰り返されている間は、前記連続アド
レス領域への1つ目の受信データの前記主記憶への書き
込みの前に1度だけ、前記キャッシュメモリ上の前記連
続アドレス領域の内容が主記憶と異なる場合に前記連続
アドレス領域の内容を主記憶に反映し、かつ前記連続ア
ドレス領域を前記キャッシュメモリから消失させ、以降
は前記連続アドレス領域が再び前記キャッシュメモリに
複写されるまでは前記連続アドレス領域に対する受信デ
ータを受けた際、前記キャッシュメモリ上の前記連続ア
ドレス領域の内容が主記憶と異なる場合に前記連続アド
レス領域の内容を主記憶に反映し、かつ前記連続アドレ
ス領域を前記キャッシュメモリから消失させる動作を行
わない様にする。次に又、前記第1の手段は、前記連続
アドレス領域へのデータ受信が継続している間に前記連
続アドレス領域が再び前記キャッシュメモリに複写され
た場合には、前記連続アドレス領域が再び前記キャッシ
ュメモリに複写された以降1つ目の受信データの主記憶
への書き込みの前に1度だけ、前記キャッシュメモリ上
の前記連続アドレス領域の内容が主記憶と異なる場合に
前記連続アドレス領域の内容を主記憶に反映し、かつ前
記連続アドレス領域を前記キャッシュメモリから消失さ
せ、以降は前記連続アドレス領域が再び前記キャッシュ
メモリに複写されるまでは前記連続アドレス領域に対す
る受信データを受けても、前記キャッシュメモリ上の前
記連続アドレス領域の内容が主記憶と異なる場合に前記
連続アドレス領域の内容を主記憶に反映し、かつ前記連
続アドレス領域を前記キャッシュメモリから消失させる
動作を行わない様にする。
【0013】更に、それぞれが、命令プロセッサ、主記
憶、前記主記憶へのアクセスの効率向上に使用するキャ
ッシュメモリを有する複数のプロセッサと、前記複数の
プロセッサを結合する相互結合網とからなり、通常はデ
ータの書き込みを前記キャッシュメモリに対して行い、
かつ前記主記憶への書き戻し要求があったときにデータ
の書き込みを主記憶に対して行う、分散メモリ方式の並
列計算機において、前記相互結合網を介して転送される
データを前記プロセッサが送信する際に、前記送信デー
タが格納される主記憶領域の内容が前記キャッシュメモ
リと前記主記憶の間で異なる場合に前記主記憶領域の内
容を前記キャッシュメモリから前記主記憶に書き戻し、
かつ前記送信データが格納される主記憶領域の内容を前
記キャッシュメモリから消失させる第1の手段と、前記
第1の手段の実行後、前記送信データを前記主記憶から
読み出し手段を設ける。更に又、前記主記憶から前記キ
ャッシュメモリへのデータ複写の単位となる複数語から
なる連続アドレス領域からのデータの送信が繰り返され
ている間は、前記連続アドレス領域への1つめの送信デ
ータの主記憶からの読み出しの前に1度だけ、前記キャ
ッシュメモリ上の前記連続アドレス領域の内容が主記憶
と異なる場合に前記連続アドレス領域の内容を前記主記
憶に反映し、かつ前記連続アドレス領域を前記キャッシ
ュメモリから消失させるという動作を行い、以降は前記
連続アドレス領域が再び前記キャッシュメモリに複写さ
れるまでは前記連続アドレス領域からの送信データ読み
出しの際、前記キャッシュメモリ上の前記連続アドレス
領域の内容が主記憶と異なる場合に前記連続アドレス領
域の内容を前記主記憶に反映し、かつ前記連続アドレス
領域を前記キャッシュメモリから消失させるという動作
を行わない様にする。更に又、前記連続アドレス領域か
らのデータ送信が継続している間に前記連続アドレス領
域が再び前記キャッシュメモリに複写された場合には、
前記連続アドレス領域が再び前記キャッシュメモリに複
写された以降1つめの送信データの主記憶からの読み出
しの前に1度だけ、前記キャッシュメモリ上の前記連続
アドレス領域の内容が主記憶と異なる場合に前記連続ア
ドレス領域の内容を主記憶に反映し、かつ前記連続アド
レス領域を前記キャッシュメモリから消失させるという
動作を行い、以降は前記連続アドレス領域が再び前記キ
ャッシュメモリに複写されるまでは前記連続アドレス領
域からの送信データ読み出しがあっても、前記キャッシ
ュメモリ上の前記連続アドレス領域の内容が主記憶と異
なる場合に前記連続アドレス領域の内容を主記憶に反映
し、かつ前記連続アドレス領域を前記キャッシュメモリ
から消失させるという動作を行わない様にする。
憶、前記主記憶へのアクセスの効率向上に使用するキャ
ッシュメモリを有する複数のプロセッサと、前記複数の
プロセッサを結合する相互結合網とからなり、通常はデ
ータの書き込みを前記キャッシュメモリに対して行い、
かつ前記主記憶への書き戻し要求があったときにデータ
の書き込みを主記憶に対して行う、分散メモリ方式の並
列計算機において、前記相互結合網を介して転送される
データを前記プロセッサが送信する際に、前記送信デー
タが格納される主記憶領域の内容が前記キャッシュメモ
リと前記主記憶の間で異なる場合に前記主記憶領域の内
容を前記キャッシュメモリから前記主記憶に書き戻し、
かつ前記送信データが格納される主記憶領域の内容を前
記キャッシュメモリから消失させる第1の手段と、前記
第1の手段の実行後、前記送信データを前記主記憶から
読み出し手段を設ける。更に又、前記主記憶から前記キ
ャッシュメモリへのデータ複写の単位となる複数語から
なる連続アドレス領域からのデータの送信が繰り返され
ている間は、前記連続アドレス領域への1つめの送信デ
ータの主記憶からの読み出しの前に1度だけ、前記キャ
ッシュメモリ上の前記連続アドレス領域の内容が主記憶
と異なる場合に前記連続アドレス領域の内容を前記主記
憶に反映し、かつ前記連続アドレス領域を前記キャッシ
ュメモリから消失させるという動作を行い、以降は前記
連続アドレス領域が再び前記キャッシュメモリに複写さ
れるまでは前記連続アドレス領域からの送信データ読み
出しの際、前記キャッシュメモリ上の前記連続アドレス
領域の内容が主記憶と異なる場合に前記連続アドレス領
域の内容を前記主記憶に反映し、かつ前記連続アドレス
領域を前記キャッシュメモリから消失させるという動作
を行わない様にする。更に又、前記連続アドレス領域か
らのデータ送信が継続している間に前記連続アドレス領
域が再び前記キャッシュメモリに複写された場合には、
前記連続アドレス領域が再び前記キャッシュメモリに複
写された以降1つめの送信データの主記憶からの読み出
しの前に1度だけ、前記キャッシュメモリ上の前記連続
アドレス領域の内容が主記憶と異なる場合に前記連続ア
ドレス領域の内容を主記憶に反映し、かつ前記連続アド
レス領域を前記キャッシュメモリから消失させるという
動作を行い、以降は前記連続アドレス領域が再び前記キ
ャッシュメモリに複写されるまでは前記連続アドレス領
域からの送信データ読み出しがあっても、前記キャッシ
ュメモリ上の前記連続アドレス領域の内容が主記憶と異
なる場合に前記連続アドレス領域の内容を主記憶に反映
し、かつ前記連続アドレス領域を前記キャッシュメモリ
から消失させるという動作を行わない様にする。
【0014】
(実施の形態1)本発明の実施の形態を図を用いながら
説明する。図2は、メッセージパッシング型の並列計算
機の概略構成を示している。メッセージパッシング型の
並列計算機は、数十から数百、数千といった台数の要素
プロセッサ201(201a、201b、・・・、20
1n)で構成され、要素プロセッサ201各々は、相互
結合網202に接続され、その相互結合網202を介し
て他の要素プロセッサ201とデータの授受を行う。相
互結合網202の構成方法は様々であるが、本発明では
この相互結合網202の構成方法を特に限定しない。
説明する。図2は、メッセージパッシング型の並列計算
機の概略構成を示している。メッセージパッシング型の
並列計算機は、数十から数百、数千といった台数の要素
プロセッサ201(201a、201b、・・・、20
1n)で構成され、要素プロセッサ201各々は、相互
結合網202に接続され、その相互結合網202を介し
て他の要素プロセッサ201とデータの授受を行う。相
互結合網202の構成方法は様々であるが、本発明では
この相互結合網202の構成方法を特に限定しない。
【0015】要素プロセッサ201の構成方法もまた多
種多様になるが、その一例を図3で概略的に示す。要素
プロセッサ201の主な構成要素は、演算プロセッサ
(命令プロセッサとも呼ばれる)301、演算プロセッ
サ301に付随するキャッシュメモリ(単にキャッシュ
と呼ぶ場合もある)302、演算プロセッサ301や後
述のネットワークインタフェース305およびI/Oイ
ンタフェース303から発行されるデータアクセス要求
にしたがって適当な記憶デバイスにアクセスを行うスト
レージコントローラ304、ストレージコントローラ3
04で制御される主記憶306、相互結合網202に接
続し、データ転送を制御するネットワークインタフェー
ス305、および、ストレージコントローラ304から
の要求によってI/O装置にアクセスを行うI/Oイン
タフェース303などである。なお、I/Oインタフェ
ース303は構成によっては存在しないケースも考えら
れる。
種多様になるが、その一例を図3で概略的に示す。要素
プロセッサ201の主な構成要素は、演算プロセッサ
(命令プロセッサとも呼ばれる)301、演算プロセッ
サ301に付随するキャッシュメモリ(単にキャッシュ
と呼ぶ場合もある)302、演算プロセッサ301や後
述のネットワークインタフェース305およびI/Oイ
ンタフェース303から発行されるデータアクセス要求
にしたがって適当な記憶デバイスにアクセスを行うスト
レージコントローラ304、ストレージコントローラ3
04で制御される主記憶306、相互結合網202に接
続し、データ転送を制御するネットワークインタフェー
ス305、および、ストレージコントローラ304から
の要求によってI/O装置にアクセスを行うI/Oイン
タフェース303などである。なお、I/Oインタフェ
ース303は構成によっては存在しないケースも考えら
れる。
【0016】要素プロセッサ201中、演算プロセッサ
301は、プログラム処理を行うユニットであり、ネッ
トワークインタフェース305は、演算プロセッサ30
1からの指令にしたがって、メッセージパッシング型の
並列計算機の特徴であるデータ転送(メッセージパッシ
ング)を演算プロセッサ301のプログラム処理とは独
立に行うユニットである。演算プロセッサ301とネッ
トワークインタフェース305が独立に動作するため、
ストレージコントローラ304は、演算プロセッサ30
1からの主記憶306のアクセスを処理すると同時に、
ネットワークインタフェース305からのデータ転送に
ともなう主記憶306へのアクセスも処理する。本発明
は、このストレージコントローラ304内に実現する機
構に係わる。
301は、プログラム処理を行うユニットであり、ネッ
トワークインタフェース305は、演算プロセッサ30
1からの指令にしたがって、メッセージパッシング型の
並列計算機の特徴であるデータ転送(メッセージパッシ
ング)を演算プロセッサ301のプログラム処理とは独
立に行うユニットである。演算プロセッサ301とネッ
トワークインタフェース305が独立に動作するため、
ストレージコントローラ304は、演算プロセッサ30
1からの主記憶306のアクセスを処理すると同時に、
ネットワークインタフェース305からのデータ転送に
ともなう主記憶306へのアクセスも処理する。本発明
は、このストレージコントローラ304内に実現する機
構に係わる。
【0017】次に、本実施の形態においての前提事項に
ついて述べる。まず、本発明は、メッセージパッシング
型の並列計算機での適用を前提とする。メッセージパッ
シング型の並列計算機では、1回のデータ転送(データ
の送信または受信)に際して、ネットワークインタフェ
ース305からストレージコントローラ304に対して
発行される主記憶アクセス要求のアクセス先アドレス
は、ワード単位(主記憶へアクセスできる一定単位であ
ればよい)で連続あるいは一定ワード間隔(ストライ
ド)となるが、いずれにせよ昇順となる。
ついて述べる。まず、本発明は、メッセージパッシング
型の並列計算機での適用を前提とする。メッセージパッ
シング型の並列計算機では、1回のデータ転送(データ
の送信または受信)に際して、ネットワークインタフェ
ース305からストレージコントローラ304に対して
発行される主記憶アクセス要求のアクセス先アドレス
は、ワード単位(主記憶へアクセスできる一定単位であ
ればよい)で連続あるいは一定ワード間隔(ストライ
ド)となるが、いずれにせよ昇順となる。
【0018】また、本発明では、演算プロセッサ301
として、演算プロセッサ301の外部(図3の場合、ス
トレージコントローラ304)からの要求に応じてハー
ドウェアでキャッシュメモリ302を制御する機構(キ
ャッシュコヒーレンス機構)を持つものを採用すること
を前提とする。
として、演算プロセッサ301の外部(図3の場合、ス
トレージコントローラ304)からの要求に応じてハー
ドウェアでキャッシュメモリ302を制御する機構(キ
ャッシュコヒーレンス機構)を持つものを採用すること
を前提とする。
【0019】さらに、本発明の実施の形態を詳述する前
に整理しておかなければならない点としてキャッシュメ
モリ302の実現方法がある。キャッシュメモリ302
には、ストアスルー方式とコピーバック方式という2種
類の実現方法が存在する。この種類分けは、演算プロセ
ッサ301におけるストア命令の実行結果の主記憶30
6への反映のさせ方による。ストアスルー方式は、演算
プロセッサ301によってストア命令が実行される度に
そのストア結果をキャッシュメモリ302に反映させる
と同時に主記憶306にも反映させる方式である。一
方、コピーバック方式は、演算プロセッサ301によっ
てストア命令が実行されてもそのストア結果をキャッシ
ュメモリ302にのみ反映させ、主記憶306にはその
時点ではストア結果を反映させない方式である。コピー
バック方式でストア結果が主記憶306に反映されるの
は、キャッシュメモリ302から主記憶306への書き
戻し命令が実行された場合、あるいは、演算プロセッサ
301外部からの要求によってキャッシュメモリ302
から主記憶306への書き戻しが実行された場合のみで
ある。
に整理しておかなければならない点としてキャッシュメ
モリ302の実現方法がある。キャッシュメモリ302
には、ストアスルー方式とコピーバック方式という2種
類の実現方法が存在する。この種類分けは、演算プロセ
ッサ301におけるストア命令の実行結果の主記憶30
6への反映のさせ方による。ストアスルー方式は、演算
プロセッサ301によってストア命令が実行される度に
そのストア結果をキャッシュメモリ302に反映させる
と同時に主記憶306にも反映させる方式である。一
方、コピーバック方式は、演算プロセッサ301によっ
てストア命令が実行されてもそのストア結果をキャッシ
ュメモリ302にのみ反映させ、主記憶306にはその
時点ではストア結果を反映させない方式である。コピー
バック方式でストア結果が主記憶306に反映されるの
は、キャッシュメモリ302から主記憶306への書き
戻し命令が実行された場合、あるいは、演算プロセッサ
301外部からの要求によってキャッシュメモリ302
から主記憶306への書き戻しが実行された場合のみで
ある。
【0020】本発明の実施の形態は、このキャッシュメ
モリ302の実現方法によって若干異なったものとな
る。まず、ここではストアスルー方式のキャッシュメモ
リ302を採用した場合の実施の形態を説明する。コピ
ーバック方式のキャッシュメモリ302を採用した場合
の実施の形態については、後段で変形例として説明す
る。
モリ302の実現方法によって若干異なったものとな
る。まず、ここではストアスルー方式のキャッシュメモ
リ302を採用した場合の実施の形態を説明する。コピ
ーバック方式のキャッシュメモリ302を採用した場合
の実施の形態については、後段で変形例として説明す
る。
【0021】キャッシュメモリ302にストアスルー方
式を採用した場合、演算プロセッサ301がネットワー
クインタフェース305に対して、他要素プロセッサ2
01へのデータ送信開始を要求した時点では、主記憶3
06上のデータは、(ストア結果が常に主記憶306に
反映されているため)送信したい最新のデータとなって
いる。したがって、データ送信に際しては、主記憶30
6とキャッシュメモリ302の内容一致制御(コヒーレ
ンス制御)は不要である。
式を採用した場合、演算プロセッサ301がネットワー
クインタフェース305に対して、他要素プロセッサ2
01へのデータ送信開始を要求した時点では、主記憶3
06上のデータは、(ストア結果が常に主記憶306に
反映されているため)送信したい最新のデータとなって
いる。したがって、データ送信に際しては、主記憶30
6とキャッシュメモリ302の内容一致制御(コヒーレ
ンス制御)は不要である。
【0022】一方、データの受信については、演算プロ
セッサ301の動作とは無関係に発生するため、主記憶
306とキャッシュメモリ302の内容一致制御(コヒ
ーレンス制御)が必要になる。
セッサ301の動作とは無関係に発生するため、主記憶
306とキャッシュメモリ302の内容一致制御(コヒ
ーレンス制御)が必要になる。
【0023】本実施の形態では、このようなストアスル
ー方式のキャッシュメモリ302を想定してストレージ
コントローラ304内に実現するコヒーレンス制御機構
を図4に基づき説明する。なお、以降の記述において、
I/Oインタフェース303がらみの動作は特に主題と
する内容とは関係が無いため省略する。また、図4につ
いてもI/Oインタフェース303がらみの処理要素に
ついては記述を省略した。
ー方式のキャッシュメモリ302を想定してストレージ
コントローラ304内に実現するコヒーレンス制御機構
を図4に基づき説明する。なお、以降の記述において、
I/Oインタフェース303がらみの動作は特に主題と
する内容とは関係が無いため省略する。また、図4につ
いてもI/Oインタフェース303がらみの処理要素に
ついては記述を省略した。
【0024】図4はストレージコントローラ304の詳
細構成を示す。図4に於いて、演算プロセッサインタフ
ェース部101は、演算プロセッサ301からのストレ
ージコントローラ304に対する処理要求を受けつけ、
さらに、その処理結果としての読み出しデータを演算プ
ロセッサ301に伝達したり、あるいは、ネットワーク
インタフェース305からの演算プロセッサ301への
処理要求を受け、これを演算プロセッサ301に伝達す
る。ネットワークインタフェース305からの演算プロ
セッサ301への処理要求とは、例えばデータ送信処理
の終了を伝えるための割り込み処理要求などであり、こ
のような要求は、まず、ストレージコントローラ304
内のコマンド・データ受け取り部110が受け取り、内
容を解読した後に信号線L107を介して演算プロセッ
サインタフェース部101に伝えられ、そこから演算プ
ロセッサ301に伝達される。
細構成を示す。図4に於いて、演算プロセッサインタフ
ェース部101は、演算プロセッサ301からのストレ
ージコントローラ304に対する処理要求を受けつけ、
さらに、その処理結果としての読み出しデータを演算プ
ロセッサ301に伝達したり、あるいは、ネットワーク
インタフェース305からの演算プロセッサ301への
処理要求を受け、これを演算プロセッサ301に伝達す
る。ネットワークインタフェース305からの演算プロ
セッサ301への処理要求とは、例えばデータ送信処理
の終了を伝えるための割り込み処理要求などであり、こ
のような要求は、まず、ストレージコントローラ304
内のコマンド・データ受け取り部110が受け取り、内
容を解読した後に信号線L107を介して演算プロセッ
サインタフェース部101に伝えられ、そこから演算プ
ロセッサ301に伝達される。
【0025】コマンド・データ受け取り部110および
コマンド・データ送出部113は、それぞれネットワー
クインタフェース305からの処理要求を受ける部分と
ネットワークインタフェース305からの処理要求に対
する処理結果(主記憶読み出しデータ)や演算プロセッ
サ301からの処理要求をネットワークインタフェース
305に伝える部分である。ここで、演算プロセッサ3
01からの処理要求とは、例えばデータ送信開始要求な
どであり、このような要求は、まず演算プロセッサイン
タフェース部101が受け取り、その演算プロセッサイ
ンタフェース部101がその内容を解読した結果、信号
線L108を介してコマンド・データ送出部113に伝
える。
コマンド・データ送出部113は、それぞれネットワー
クインタフェース305からの処理要求を受ける部分と
ネットワークインタフェース305からの処理要求に対
する処理結果(主記憶読み出しデータ)や演算プロセッ
サ301からの処理要求をネットワークインタフェース
305に伝える部分である。ここで、演算プロセッサ3
01からの処理要求とは、例えばデータ送信開始要求な
どであり、このような要求は、まず演算プロセッサイン
タフェース部101が受け取り、その演算プロセッサイ
ンタフェース部101がその内容を解読した結果、信号
線L108を介してコマンド・データ送出部113に伝
える。
【0026】主記憶インタフェース部114は、演算プ
ロセッサ301やネットワークインタフェース305か
らの主記憶306へのアクセス要求を受け、これを主記
憶306に伝達し、さらに、そのアクセス(主記憶読み
出し)結果を主記憶306から受け取り、これを各アク
セス元に伝達する。ここでもう少し詳しくこの主記憶ア
クセスに関わるパスについて記述する。まず、演算プロ
セッサ301からの主記憶アクセス要求は、はじめに演
算プロセッサインタフェース部101で受理され、L1
02を介してアクセス権制御部111に伝わり、次にア
クセス権制御部111から主記憶インタフェース部11
4に伝わる。そして、そのアクセス結果(主記憶読み出
しデータ)は、主記憶306からいったん主記憶インタ
フェース部114に伝えられ、さらに主記憶インタフェ
ース部114からL101を介して演算プロセッサイン
タフェース部101に伝えられたのち、演算プロセッサ
インタフェース部101から演算プロセッサ301に伝
えられる。一方、ネットワークインタフェース305か
らの主記憶アクセス要求は、まずコマンド・データ受け
取り部110で受理され、その内容解析の結果、主記憶
アクセス発行部112に伝えられ、そこからアクセス権
制御部111を介して主記憶インタフェース部114に
伝わる。そして、そのアクセス結果(主記憶読み出しデ
ータ)は、主記憶306からいったん主記憶インタフェ
ース部114に伝えられ、さらに主記憶インタフェース
部114からコマンド・データ送出部113に伝えら
れ、そこからネットワークインタフェース305に伝え
られる。
ロセッサ301やネットワークインタフェース305か
らの主記憶306へのアクセス要求を受け、これを主記
憶306に伝達し、さらに、そのアクセス(主記憶読み
出し)結果を主記憶306から受け取り、これを各アク
セス元に伝達する。ここでもう少し詳しくこの主記憶ア
クセスに関わるパスについて記述する。まず、演算プロ
セッサ301からの主記憶アクセス要求は、はじめに演
算プロセッサインタフェース部101で受理され、L1
02を介してアクセス権制御部111に伝わり、次にア
クセス権制御部111から主記憶インタフェース部11
4に伝わる。そして、そのアクセス結果(主記憶読み出
しデータ)は、主記憶306からいったん主記憶インタ
フェース部114に伝えられ、さらに主記憶インタフェ
ース部114からL101を介して演算プロセッサイン
タフェース部101に伝えられたのち、演算プロセッサ
インタフェース部101から演算プロセッサ301に伝
えられる。一方、ネットワークインタフェース305か
らの主記憶アクセス要求は、まずコマンド・データ受け
取り部110で受理され、その内容解析の結果、主記憶
アクセス発行部112に伝えられ、そこからアクセス権
制御部111を介して主記憶インタフェース部114に
伝わる。そして、そのアクセス結果(主記憶読み出しデ
ータ)は、主記憶306からいったん主記憶インタフェ
ース部114に伝えられ、さらに主記憶インタフェース
部114からコマンド・データ送出部113に伝えら
れ、そこからネットワークインタフェース305に伝え
られる。
【0027】ここで示したとおり、アクセス権制御部1
11は、演算プロセッサ301からの主記憶アクセス要
求とネットワークインタフェース305からの主記憶ア
クセス要求が初めて合流するところであり、互いに独立
して任意に発生する演算プロセッサ301およびネット
ワークインタフェース305からの主記憶アクセス要求
を順序づけする。少なくとも主記憶306の同じアドレ
スへのアクセス順はアクセス権制御部で受理された順番
に従う。
11は、演算プロセッサ301からの主記憶アクセス要
求とネットワークインタフェース305からの主記憶ア
クセス要求が初めて合流するところであり、互いに独立
して任意に発生する演算プロセッサ301およびネット
ワークインタフェース305からの主記憶アクセス要求
を順序づけする。少なくとも主記憶306の同じアドレ
スへのアクセス順はアクセス権制御部で受理された順番
に従う。
【0028】続いて、本発明の主題であるコヒーレンス
制御について述べる。基本的な動作は以下の流れとな
る。
制御について述べる。基本的な動作は以下の流れとな
る。
【0029】(1)ネットワークインタフェース305
でのデータ受信にともない、コマンド・データ受け取り
部110がネットワークインタフェース305から主記
憶306へのデータ書き込み要求を受ける。
でのデータ受信にともない、コマンド・データ受け取り
部110がネットワークインタフェース305から主記
憶306へのデータ書き込み要求を受ける。
【0030】(2)コマンド・データ受け取り部110
は、主記憶アクセス発行部112に対して主記憶書き込
み要求を発行する。
は、主記憶アクセス発行部112に対して主記憶書き込
み要求を発行する。
【0031】(3)コマンド・データ受け取り部110
は、(2)と同時に主記憶書き込み先と同じアドレスを
対象としてストレージコントローラ304内キャッシュ
一致制御処理部に対してキャッシュ一致制御要求を発行
する。なお、ストレージコントローラ304内キャッシ
ュ一致制御処理部という名称は図4中に明示しないが、
当該処理部は図4中の読み出しアドレスレジスタ10
2、キャッシュ一致制御要求発行部103、キャッシュ
一致制御要求発行待ち判定部104、アドレス一致監視
部105、キャッシュ一致制御要求レジスタ106、キ
ャッシュ一致制御要求発行判定部107および受信側ア
ドレスレジスタ109からなる機能部分であり、コマン
ド・データ受け取り部110と演算プロセッサインタフ
ェース部101の中間的な位置で機能する。
は、(2)と同時に主記憶書き込み先と同じアドレスを
対象としてストレージコントローラ304内キャッシュ
一致制御処理部に対してキャッシュ一致制御要求を発行
する。なお、ストレージコントローラ304内キャッシ
ュ一致制御処理部という名称は図4中に明示しないが、
当該処理部は図4中の読み出しアドレスレジスタ10
2、キャッシュ一致制御要求発行部103、キャッシュ
一致制御要求発行待ち判定部104、アドレス一致監視
部105、キャッシュ一致制御要求レジスタ106、キ
ャッシュ一致制御要求発行判定部107および受信側ア
ドレスレジスタ109からなる機能部分であり、コマン
ド・データ受け取り部110と演算プロセッサインタフ
ェース部101の中間的な位置で機能する。
【0032】(4)ストレージコントローラ304内キ
ャッシュ一致制御処理部は、必要に応じて、また、後述
するタイミングにおいてキャッシュ一致制御要求を演算
プロセッサインタフェース部101に伝える。
ャッシュ一致制御処理部は、必要に応じて、また、後述
するタイミングにおいてキャッシュ一致制御要求を演算
プロセッサインタフェース部101に伝える。
【0033】(5)演算プロセッサインタフェース部1
01は、演算プロセッサ301に対してキャッシュ一致
制御要求を発行する。演算プロセッサ301は、この要
求に応じてキャッシュ一致制御を行う(本実施の形態で
は、ストアスルー方式のキャッシュメモリを仮定してい
るため、キャッシュメモリ302に対する書き込みデー
タは常に主記憶306に対して反映されており、したが
って、この場面でのキャッシュ一致制御とはキャッシュ
エントリの無効化のみを行うキャッシュパージ処理であ
る)。
01は、演算プロセッサ301に対してキャッシュ一致
制御要求を発行する。演算プロセッサ301は、この要
求に応じてキャッシュ一致制御を行う(本実施の形態で
は、ストアスルー方式のキャッシュメモリを仮定してい
るため、キャッシュメモリ302に対する書き込みデー
タは常に主記憶306に対して反映されており、したが
って、この場面でのキャッシュ一致制御とはキャッシュ
エントリの無効化のみを行うキャッシュパージ処理であ
る)。
【0034】次に、ストレージコントローラ304内キ
ャッシュ一致制御処理部の構成と動作を説明する。
ャッシュ一致制御処理部の構成と動作を説明する。
【0035】読み出しアドレスレジスタ102は、スト
レージコントローラ304で処理中のキャッシュライン
読み出しの対象アドレスを保持するレジスタである。キ
ャッシュライン読み出しとは、演算プロセッサ301の
キャッシュメモリ302の管理単位であるキャッシュラ
インと呼ぶ連続アドレス領域を主記憶から読み出す処理
であり、演算プロセッサ301内におけるメモリ読み出
し命令の読み出し対象がキャッシュメモリ302内に存
在しなかった場合に演算プロセッサ301からストレー
ジコントローラ304に対して発行される。この読み出
しアドレスレジスタ102は、キャッシュライン読み出
しアドレスを保持するフィールドの他に有効ビットフィ
ールドを持っており、この有効ビットフィールドによっ
て保持しているアドレスに対するキャッシュライン読み
出し処理がストレージコントローラ304内で処理中か
否かを示す。
レージコントローラ304で処理中のキャッシュライン
読み出しの対象アドレスを保持するレジスタである。キ
ャッシュライン読み出しとは、演算プロセッサ301の
キャッシュメモリ302の管理単位であるキャッシュラ
インと呼ぶ連続アドレス領域を主記憶から読み出す処理
であり、演算プロセッサ301内におけるメモリ読み出
し命令の読み出し対象がキャッシュメモリ302内に存
在しなかった場合に演算プロセッサ301からストレー
ジコントローラ304に対して発行される。この読み出
しアドレスレジスタ102は、キャッシュライン読み出
しアドレスを保持するフィールドの他に有効ビットフィ
ールドを持っており、この有効ビットフィールドによっ
て保持しているアドレスに対するキャッシュライン読み
出し処理がストレージコントローラ304内で処理中か
否かを示す。
【0036】演算プロセッサインタフェース部101
は、演算プロセッサ301からキャッシュライン読み出
し要求を受けると、そのキャッシュライン全てを読み出
すために必要な数の主記憶読み出し要求を生成し、それ
をアクセス権制御部111に順次伝えていく。この時の
1つ目の主記憶読み出し要求がアクセス権制御部に受理
された時点でストレージコントローラ304内で当該キ
ャッシュラインに対する読み出し処理が始まったことに
なる。この時点で演算プロセッサインタフェース部10
1はキャッシュラインの読み出しアドレスをL104に
のせて読み出しアドレスレジスタ102にセットすると
同時に、L103を介して「有効」を示す情報(例え
ば”1”)を読み出しアドレスレジスタ102の有効ビ
ットフィールドにセットする。一方、キャッシュライン
読み出しにともなって演算プロセッサインタフェース部
101で生成された複数の主記憶読み出し結果が全て演
算プロセッサインタフェース部101を介して演算プロ
セッサ301に伝わると当該キャッシュラインに対する
読み出しが終了したことになる。この時点で演算プロセ
ッサインタフェース部101はL103を介して「無
効」を示す情報(「有効」を示す値の逆値、先の例にな
らえば”0”)を読み出しアドレスレジスタ102の有
効ビットフィールドにセットする。このように、読み出
しアドレスレジスタ102は、その有効ビットフィール
ドが「有効」であることでストレージコントローラ30
4でキャッシュライン読み出しが処理中であることを示
し、かつその対象アドレスがキャッシュライン読み出し
アドレスを保持するフィールドに示された値であること
を示している。
は、演算プロセッサ301からキャッシュライン読み出
し要求を受けると、そのキャッシュライン全てを読み出
すために必要な数の主記憶読み出し要求を生成し、それ
をアクセス権制御部111に順次伝えていく。この時の
1つ目の主記憶読み出し要求がアクセス権制御部に受理
された時点でストレージコントローラ304内で当該キ
ャッシュラインに対する読み出し処理が始まったことに
なる。この時点で演算プロセッサインタフェース部10
1はキャッシュラインの読み出しアドレスをL104に
のせて読み出しアドレスレジスタ102にセットすると
同時に、L103を介して「有効」を示す情報(例え
ば”1”)を読み出しアドレスレジスタ102の有効ビ
ットフィールドにセットする。一方、キャッシュライン
読み出しにともなって演算プロセッサインタフェース部
101で生成された複数の主記憶読み出し結果が全て演
算プロセッサインタフェース部101を介して演算プロ
セッサ301に伝わると当該キャッシュラインに対する
読み出しが終了したことになる。この時点で演算プロセ
ッサインタフェース部101はL103を介して「無
効」を示す情報(「有効」を示す値の逆値、先の例にな
らえば”0”)を読み出しアドレスレジスタ102の有
効ビットフィールドにセットする。このように、読み出
しアドレスレジスタ102は、その有効ビットフィール
ドが「有効」であることでストレージコントローラ30
4でキャッシュライン読み出しが処理中であることを示
し、かつその対象アドレスがキャッシュライン読み出し
アドレスを保持するフィールドに示された値であること
を示している。
【0037】受信側アドレスレジスタ109は、前回の
キャッシュ一致制御要求の対象アドレスを保持するフィ
ールドと有効ビットフィールドを持つ。コマンド・デー
タ受け取り部110は、ネットワークインタフェース3
05から主記憶への書き込み要求を受け取ると、主記憶
アクセス発行部112に対して主記憶書き込み要求を発
行すると同時にL117を介してキャッシュ一致制御要
求発行判定部107に対してキャッシュ一致制御要求を
発行する。キャッシュ一致制御要求発行判定部107
は、その要求の対象アドレスとL114を介して伝わる
受信側アドレスレジスタ109の内容を比較する。受信
側アドレスレジスタ109の有効ビットフィールドが
「有効」であり、かつ、L117を介して伝わる要求の
対象アドレスと受信側アドレスレジスタ109の前回の
キャッシュ一致制御要求の対象アドレスを保持するフィ
ールドの内容が一致すれば、後述するように、対象とす
るキャッシュラインは、演算プロセッサ301のキャッ
シュメモリ302上には存在しないことが保証されるた
め、この時のキャッシュ一致制御要求をキャンセルし、
その旨をL120を介してコマンド・データ受け取り部
110に伝える。その信号を受け取ったコマンド・デー
タ受け取り部110は、その回の主記憶書き込みにとも
なうキャッシュ一致制御が完了したと解釈し、新たな主
記憶書き込み要求を処理し始める。一方、キャッシュ一
致制御要求発行判定部107における判定の結果、受信
側アドレスレジスタ109の有効ビットフィールドが
「無効」であるか、または、L117を介して伝わる要
求の対象アドレスと受信側アドレスレジスタ109の前
回のキャッシュ一致制御要求の対象アドレスを保持する
フィールドの内容が不一致であれば、キャッシュ一致制
御要求発行判定部107は、キャッシュ一致制御要求を
受理してこれをキャッシュ一致制御要求レジスタ106
に登録し、該レジスタ106の有効ビットを「有効」に
セットし、その旨をL120を介してコマンド・データ
受け取り部110に伝える。この信号を受け取ったコマ
ンド・データ受け取り部110は、その時のキャッシュ
一致制御要求の対象アドレスを受信側アドレスレジスタ
109にセットすると同時に、受信側アドレスレジスタ
109の有効ビットフィールドに「有効」を示す内容を
セットし、また、その回の主記憶書き込みにともなうキ
ャッシュ一致制御が完了したと解釈して新たな主記憶書
き込み要求を処理し始める。なお、上述のアドレス比較
は、対象アドレスが属するキャッシュラインの先頭アド
レスの比較という形でなされる。
キャッシュ一致制御要求の対象アドレスを保持するフィ
ールドと有効ビットフィールドを持つ。コマンド・デー
タ受け取り部110は、ネットワークインタフェース3
05から主記憶への書き込み要求を受け取ると、主記憶
アクセス発行部112に対して主記憶書き込み要求を発
行すると同時にL117を介してキャッシュ一致制御要
求発行判定部107に対してキャッシュ一致制御要求を
発行する。キャッシュ一致制御要求発行判定部107
は、その要求の対象アドレスとL114を介して伝わる
受信側アドレスレジスタ109の内容を比較する。受信
側アドレスレジスタ109の有効ビットフィールドが
「有効」であり、かつ、L117を介して伝わる要求の
対象アドレスと受信側アドレスレジスタ109の前回の
キャッシュ一致制御要求の対象アドレスを保持するフィ
ールドの内容が一致すれば、後述するように、対象とす
るキャッシュラインは、演算プロセッサ301のキャッ
シュメモリ302上には存在しないことが保証されるた
め、この時のキャッシュ一致制御要求をキャンセルし、
その旨をL120を介してコマンド・データ受け取り部
110に伝える。その信号を受け取ったコマンド・デー
タ受け取り部110は、その回の主記憶書き込みにとも
なうキャッシュ一致制御が完了したと解釈し、新たな主
記憶書き込み要求を処理し始める。一方、キャッシュ一
致制御要求発行判定部107における判定の結果、受信
側アドレスレジスタ109の有効ビットフィールドが
「無効」であるか、または、L117を介して伝わる要
求の対象アドレスと受信側アドレスレジスタ109の前
回のキャッシュ一致制御要求の対象アドレスを保持する
フィールドの内容が不一致であれば、キャッシュ一致制
御要求発行判定部107は、キャッシュ一致制御要求を
受理してこれをキャッシュ一致制御要求レジスタ106
に登録し、該レジスタ106の有効ビットを「有効」に
セットし、その旨をL120を介してコマンド・データ
受け取り部110に伝える。この信号を受け取ったコマ
ンド・データ受け取り部110は、その時のキャッシュ
一致制御要求の対象アドレスを受信側アドレスレジスタ
109にセットすると同時に、受信側アドレスレジスタ
109の有効ビットフィールドに「有効」を示す内容を
セットし、また、その回の主記憶書き込みにともなうキ
ャッシュ一致制御が完了したと解釈して新たな主記憶書
き込み要求を処理し始める。なお、上述のアドレス比較
は、対象アドレスが属するキャッシュラインの先頭アド
レスの比較という形でなされる。
【0038】受信側アドレスレジスタ109の有効ビッ
トフィールドは、初期値は「無効」である。受信側アド
レスレジスタ109の有効ビットフィールドが「有効」
にセットされるのは、上述のとおり、キャッシュ一致制
御要求発行判定部107がキャッシュ一致制御要求を受
理し、これに応じてコマンド・データ受け取り部110
がセットする場合のみである。一方、受信側アドレスレ
ジスタ109の有効ビットフィールドが「有効」から
「無効」にリセットされるのは、アドレス一致監視部1
05が、L114を介して伝わる受信側アドレスレジス
タ109の前回のキャッシュ一致制御要求の対象アドレ
スを保持するフィールドの内容とL110を介して伝わ
る読みだしアドレスレジスタ102のキャッシュライン
読み出しアドレスを保持するフィールドの内容が一致
し、かつ、受信側アドレスレジスタ109および読み出
しアドレスレジスタ102各々の有効ビットフィールド
がともに「有効」であるという状態を検出したときであ
り、そのリセットはアドレス一致監視部105によって
L112を介して行われる。
トフィールドは、初期値は「無効」である。受信側アド
レスレジスタ109の有効ビットフィールドが「有効」
にセットされるのは、上述のとおり、キャッシュ一致制
御要求発行判定部107がキャッシュ一致制御要求を受
理し、これに応じてコマンド・データ受け取り部110
がセットする場合のみである。一方、受信側アドレスレ
ジスタ109の有効ビットフィールドが「有効」から
「無効」にリセットされるのは、アドレス一致監視部1
05が、L114を介して伝わる受信側アドレスレジス
タ109の前回のキャッシュ一致制御要求の対象アドレ
スを保持するフィールドの内容とL110を介して伝わ
る読みだしアドレスレジスタ102のキャッシュライン
読み出しアドレスを保持するフィールドの内容が一致
し、かつ、受信側アドレスレジスタ109および読み出
しアドレスレジスタ102各々の有効ビットフィールド
がともに「有効」であるという状態を検出したときであ
り、そのリセットはアドレス一致監視部105によって
L112を介して行われる。
【0039】この受信側アドレスレジスタ109の有効
ビットフィールドに関する制御は、ストレージコントロ
ーラ304内キャッシュ一致制御処理部における処理の
正当性を保証し、かつ、そのキャッシュ一致制御自体の
効率を高め、演算プロセッサ301におけるプログラム
処理や相互結合網202におけるデータ転送にとっての
無駄なオーバヘッドおよび処理ネックの発生を防止す
る。まず、受信側アドレスレジスタ109の有効ビット
フィールドが「有効」であることによって、その時の受
信側アドレスレジスタ109の前回のキャッシュ一致制
御要求の対象アドレスを保持するフィールドの内容が示
すアドレスのキャッシュラインが演算プロセッサ301
のキャッシュメモリ302には存在しないことが保証で
きる。受信側アドレスレジスタ109の有効ビットフィ
ールドが「有効」であれば、その時の受信側アドレスレ
ジスタ109の前回のキャッシュ一致制御要求の対象ア
ドレスを保持するフィールドの内容が示すアドレスに対
して少なくとも1回はキャッシュ一致制御が行われてお
り、その1回のキャッシュ一致制御によって、演算プロ
セッサ301のキャッシュメモリ302からは当該アド
レスのキャッシュラインは無くなっている。さらに、こ
の受信側アドレスレジスタ109の有効ビットフィール
ドが「有効」であり続けることで、先に失われたキャッ
シュラインの読み出しが始まっていないことも保証され
る。仮に、このキャッシュラインの読み出しが始まって
いれば、その対象アドレスが読み出しアドレスレジスタ
102にセットされ、さらに読み出しアドレスレジスタ
102の有効ビットフィールドに「有効」がセットされ
ているはずである。そして、この状態は、アドレス一致
監視部105が受信側アドレスレジスタ109の有効ビ
ットフィールドの値を「無効」にリセットする条件が成
立している状態である。したがって、受信側アドレスレ
ジスタ109の有効ビットフィールドが「有効」であり
続けることは、その時の受信側アドレスレジスタ109
の前回のキャッシュ一致制御要求の対象アドレスを保持
するフィールドの内容が示すアドレスのキャッシュライ
ンが演算プロセッサ301のキャッシュメモリ302に
は存在せず、かつ、その後新たに読み出されてもいない
ことを保証している。この保証によって、先述したとお
り、受信側アドレスレジスタ109の有効ビットフィー
ルドが「有効」であり、かつ、L117を介して伝わる
キャッシュ一致制御要求の対象アドレスとL114を介
して伝わる受信側アドレスレジスタ109の前回のキャ
ッシュ一致制御要求の対象アドレスを保持するフィール
ドの内容が一致する場面でのキャッシュ一致制御要求発
行判定部107におけるキャッシュ一致制御要求のキャ
ンセルという制御が可能となる。なお、この制御は、メ
ッセージパッシング型の並列計算機のデータ転送にとっ
て都合がよく、処理の効率を高めるものである。メッセ
ージパッシング型の並列計算機におけるデータ転送は、
大量のデータを(読み出し/書き込み先)アドレス昇順
で転送する。また、そのアドレスも連続したアドレスで
あるケースがほとんどである。そうすると、データ受信
時には、同じキャッシュライン領域を対象とした主記憶
書き込みが連続的に発生する。このような点を考える
と、キャッシュ一致制御は、その1つのキャッシュライ
ン領域への複数の書き込みの総てに対して発行する必要
はなく、基本的には(途中で当該キャッシュラインに対
する演算プロセッサ301からの読み出しが発生しない
限り)、最初の1個目の書き込みに対してのみ発行する
だけで十分である。そして、本発明の構成は、そのよう
な処理を実現しているため、データ転送の効率を高める
ことができる。
ビットフィールドに関する制御は、ストレージコントロ
ーラ304内キャッシュ一致制御処理部における処理の
正当性を保証し、かつ、そのキャッシュ一致制御自体の
効率を高め、演算プロセッサ301におけるプログラム
処理や相互結合網202におけるデータ転送にとっての
無駄なオーバヘッドおよび処理ネックの発生を防止す
る。まず、受信側アドレスレジスタ109の有効ビット
フィールドが「有効」であることによって、その時の受
信側アドレスレジスタ109の前回のキャッシュ一致制
御要求の対象アドレスを保持するフィールドの内容が示
すアドレスのキャッシュラインが演算プロセッサ301
のキャッシュメモリ302には存在しないことが保証で
きる。受信側アドレスレジスタ109の有効ビットフィ
ールドが「有効」であれば、その時の受信側アドレスレ
ジスタ109の前回のキャッシュ一致制御要求の対象ア
ドレスを保持するフィールドの内容が示すアドレスに対
して少なくとも1回はキャッシュ一致制御が行われてお
り、その1回のキャッシュ一致制御によって、演算プロ
セッサ301のキャッシュメモリ302からは当該アド
レスのキャッシュラインは無くなっている。さらに、こ
の受信側アドレスレジスタ109の有効ビットフィール
ドが「有効」であり続けることで、先に失われたキャッ
シュラインの読み出しが始まっていないことも保証され
る。仮に、このキャッシュラインの読み出しが始まって
いれば、その対象アドレスが読み出しアドレスレジスタ
102にセットされ、さらに読み出しアドレスレジスタ
102の有効ビットフィールドに「有効」がセットされ
ているはずである。そして、この状態は、アドレス一致
監視部105が受信側アドレスレジスタ109の有効ビ
ットフィールドの値を「無効」にリセットする条件が成
立している状態である。したがって、受信側アドレスレ
ジスタ109の有効ビットフィールドが「有効」であり
続けることは、その時の受信側アドレスレジスタ109
の前回のキャッシュ一致制御要求の対象アドレスを保持
するフィールドの内容が示すアドレスのキャッシュライ
ンが演算プロセッサ301のキャッシュメモリ302に
は存在せず、かつ、その後新たに読み出されてもいない
ことを保証している。この保証によって、先述したとお
り、受信側アドレスレジスタ109の有効ビットフィー
ルドが「有効」であり、かつ、L117を介して伝わる
キャッシュ一致制御要求の対象アドレスとL114を介
して伝わる受信側アドレスレジスタ109の前回のキャ
ッシュ一致制御要求の対象アドレスを保持するフィール
ドの内容が一致する場面でのキャッシュ一致制御要求発
行判定部107におけるキャッシュ一致制御要求のキャ
ンセルという制御が可能となる。なお、この制御は、メ
ッセージパッシング型の並列計算機のデータ転送にとっ
て都合がよく、処理の効率を高めるものである。メッセ
ージパッシング型の並列計算機におけるデータ転送は、
大量のデータを(読み出し/書き込み先)アドレス昇順
で転送する。また、そのアドレスも連続したアドレスで
あるケースがほとんどである。そうすると、データ受信
時には、同じキャッシュライン領域を対象とした主記憶
書き込みが連続的に発生する。このような点を考える
と、キャッシュ一致制御は、その1つのキャッシュライ
ン領域への複数の書き込みの総てに対して発行する必要
はなく、基本的には(途中で当該キャッシュラインに対
する演算プロセッサ301からの読み出しが発生しない
限り)、最初の1個目の書き込みに対してのみ発行する
だけで十分である。そして、本発明の構成は、そのよう
な処理を実現しているため、データ転送の効率を高める
ことができる。
【0040】逆に、受信側アドレスレジスタ109の有
効ビットフィールドが「有効」であり、その受信側アド
レスレジスタ109の前回のキャッシュ一致制御要求の
対象アドレスを保持するフィールドの内容が示すアドレ
スのキャッシュラインに対する読み出しが始まった場
合、当該キャッシュラインはしかる後に演算プロセッサ
301のキャッシュメモリ302に存在することになる
ため、キャッシュライン読み出しが開始された以降に発
生した(順番は先述のとおりアクセス権制御部111で
のアクセスの受理/不受理で制御される)当該キャッシ
ュライン領域のアドレスに対するキャッシュ一致制御要
求は、当該キャッシュラインが演算プロセッサ301の
キャッシュメモリ302に登録された後に演算プロセッ
サ301に対して伝えられなければならない。上述のア
ドレス一致監視部105が受信側アドレスレジスタ10
9の有効ビットを「無効」にリセットする処理は、この
ようなタイミングで発生したキャッシュ一致制御要求が
キャンセルされることなく発行されるようにするための
制御である。また、本ケースにおいて当該キャッシュラ
インが演算プロセッサ301のキャッシュメモリ302
に登録された後に当該キャッシュライン領域のアドレス
に対するキャッシュ一致制御要求を演算プロセッサ30
1に伝達するという順番制御は、キャッシュ一致制御要
求発行待ち判定部104によって行われる。
効ビットフィールドが「有効」であり、その受信側アド
レスレジスタ109の前回のキャッシュ一致制御要求の
対象アドレスを保持するフィールドの内容が示すアドレ
スのキャッシュラインに対する読み出しが始まった場
合、当該キャッシュラインはしかる後に演算プロセッサ
301のキャッシュメモリ302に存在することになる
ため、キャッシュライン読み出しが開始された以降に発
生した(順番は先述のとおりアクセス権制御部111で
のアクセスの受理/不受理で制御される)当該キャッシ
ュライン領域のアドレスに対するキャッシュ一致制御要
求は、当該キャッシュラインが演算プロセッサ301の
キャッシュメモリ302に登録された後に演算プロセッ
サ301に対して伝えられなければならない。上述のア
ドレス一致監視部105が受信側アドレスレジスタ10
9の有効ビットを「無効」にリセットする処理は、この
ようなタイミングで発生したキャッシュ一致制御要求が
キャンセルされることなく発行されるようにするための
制御である。また、本ケースにおいて当該キャッシュラ
インが演算プロセッサ301のキャッシュメモリ302
に登録された後に当該キャッシュライン領域のアドレス
に対するキャッシュ一致制御要求を演算プロセッサ30
1に伝達するという順番制御は、キャッシュ一致制御要
求発行待ち判定部104によって行われる。
【0041】キャッシュ一致制御要求発行待ち判定部1
04は、上記述べた順番制御も含めて、演算プロセッサ
301の動作を把握しつつ、一方で、L111によって
伝えられるキャッシュ一致制御要求レジスタ106内の
キャッシュ一致制御要求の存在を知ると共に、演算プロ
セッサ301へキャッシュ一致制御要求を発行するタイ
ミングを制御する。
04は、上記述べた順番制御も含めて、演算プロセッサ
301の動作を把握しつつ、一方で、L111によって
伝えられるキャッシュ一致制御要求レジスタ106内の
キャッシュ一致制御要求の存在を知ると共に、演算プロ
セッサ301へキャッシュ一致制御要求を発行するタイ
ミングを制御する。
【0042】演算プロセッサインタフェース部101
は、演算プロセッサ301からキャッシュ一致制御要求
発行抑止信号が発行されている場合や、他のトランザク
ション発行やデータ転送を演算プロセッサ301に対し
て実施している場合には、L105に抑止信号をのせ、
その状態をキャッシュ一致制御要求発行待ち判定部10
4に伝える。この抑止信号を受けたキャッシュ一致制御
要求発行待ち判定部104は、キャッシュ一致制御要求
を発行させないようにキャッシュ一致制御要求発行部1
03を制御線L109によって制御するとともに、L11
6を介してコマンド・データ受け取り部110に対し
て、キャッシュ一致制御要求の生成を抑止する。この抑
止を受けたコマンド・データ受け取り部110は、キャ
ッシュ一致制御要求発行判定部107によってキャッシ
ュ一致要求発行が認められてもその発行を見合わせる。
ただし、コマンド・データ受け取り部110は、キャッ
シュ一致制御要求発行判定部107によってキャッシュ
一致制御要求がキャンセルされたケースにはキャッシュ
一致制御要求発行待ち判定部104からの抑止の制限を
受けずに動作する。
は、演算プロセッサ301からキャッシュ一致制御要求
発行抑止信号が発行されている場合や、他のトランザク
ション発行やデータ転送を演算プロセッサ301に対し
て実施している場合には、L105に抑止信号をのせ、
その状態をキャッシュ一致制御要求発行待ち判定部10
4に伝える。この抑止信号を受けたキャッシュ一致制御
要求発行待ち判定部104は、キャッシュ一致制御要求
を発行させないようにキャッシュ一致制御要求発行部1
03を制御線L109によって制御するとともに、L11
6を介してコマンド・データ受け取り部110に対し
て、キャッシュ一致制御要求の生成を抑止する。この抑
止を受けたコマンド・データ受け取り部110は、キャ
ッシュ一致制御要求発行判定部107によってキャッシ
ュ一致要求発行が認められてもその発行を見合わせる。
ただし、コマンド・データ受け取り部110は、キャッ
シュ一致制御要求発行判定部107によってキャッシュ
一致制御要求がキャンセルされたケースにはキャッシュ
一致制御要求発行待ち判定部104からの抑止の制限を
受けずに動作する。
【0043】また、キャッシュ一致制御要求発行待ち判
定部104は、L110で伝達される読み出しアドレス
レジスタ102の有効ビットフィールドの内容が「有
効」であり、かつ、同レジスタ102のキャッシュライ
ン読み出しアドレスを保持するフィールドの内容とL1
11を介して伝達されるキャッシュ一致制御要求レジス
タ106の内容を比較し、そのアドレス情報が一致した
場合には、読み出しアドレスレジスタ102の有効ビッ
トフィールドの内容が先述したように演算プロセッサイ
ンタフェースによって「無効」にリセットされるまで、
キャッシュ一致制御要求の発行を抑止する。この抑止時
の制御も上述のL105による抑止に従う制御と同じで
ある。
定部104は、L110で伝達される読み出しアドレス
レジスタ102の有効ビットフィールドの内容が「有
効」であり、かつ、同レジスタ102のキャッシュライ
ン読み出しアドレスを保持するフィールドの内容とL1
11を介して伝達されるキャッシュ一致制御要求レジス
タ106の内容を比較し、そのアドレス情報が一致した
場合には、読み出しアドレスレジスタ102の有効ビッ
トフィールドの内容が先述したように演算プロセッサイ
ンタフェースによって「無効」にリセットされるまで、
キャッシュ一致制御要求の発行を抑止する。この抑止時
の制御も上述のL105による抑止に従う制御と同じで
ある。
【0044】キャッシュ一致制御要求発行待ち判定部1
04において上記抑止状態が成立していない場合には、
キャッシュ一致制御要求は発行可能である。この状態
で、キャッシュ一致制御要求レジスタ106にキャッシ
ュ一致制御要求が存在すれば、キャッシュ一致制御要求
発行部103がL111を介してその要求を読みとり、
これをL106を介して演算プロセッサインタフェース
部101に伝える。この要求を受けた演算プロセッサイ
ンタフェース部101は、さらにその要求をトランザク
ションとして演算プロセッサ301に伝え、演算プロセ
ッサ301が実際にキャッシュ一致制御を実施する。
04において上記抑止状態が成立していない場合には、
キャッシュ一致制御要求は発行可能である。この状態
で、キャッシュ一致制御要求レジスタ106にキャッシ
ュ一致制御要求が存在すれば、キャッシュ一致制御要求
発行部103がL111を介してその要求を読みとり、
これをL106を介して演算プロセッサインタフェース
部101に伝える。この要求を受けた演算プロセッサイ
ンタフェース部101は、さらにその要求をトランザク
ションとして演算プロセッサ301に伝え、演算プロセ
ッサ301が実際にキャッシュ一致制御を実施する。
【0045】以上が、本発明に関わる実施の形態1であ
る。
る。
【0046】(実施の形態1の変形例1)本発明の実施
の形態1では、演算プロセッサ301のキャッシュメモ
リ302にストアスルー方式を採用した場合の実施の形
態を述べた。本変形例1では、同キャッシュメモリ30
2に実施の形態1で説明したコピーバック方式を採用し
た場合の実施の形態について図1に基づいて説明を行
う。
の形態1では、演算プロセッサ301のキャッシュメモ
リ302にストアスルー方式を採用した場合の実施の形
態を述べた。本変形例1では、同キャッシュメモリ30
2に実施の形態1で説明したコピーバック方式を採用し
た場合の実施の形態について図1に基づいて説明を行
う。
【0047】キャッシュメモリ302にコピーバック方
式を採用した場合、演算プロセッサ301がネットワー
クインタフェース305に対して、他要素プロセッサ2
01へのデータ送信開始を要求した時点では、送信対象
のデータに関して、主記憶306上とキャッシュメモリ
302上で内容が異なる可能性がある。この場合、最新
の内容は、キャッシュメモリ302上に存在しているた
め、送信対象データに関してキャッシュメモリ302か
らの主記憶306への書き戻しが必要となる。この点が
先の実施の形態1との大きな相違点である。この制御を
実現するために、図1のストレージコントローラ304
内キャッシュ一致制御処理部(名称については図4と同
様に図1中にも明示していない。構成要素については後
述する)には図4の構成要素に加えて送信側アドレスレ
ジスタ108が存在している。この制御機構に関しては
後段で詳述する。
式を採用した場合、演算プロセッサ301がネットワー
クインタフェース305に対して、他要素プロセッサ2
01へのデータ送信開始を要求した時点では、送信対象
のデータに関して、主記憶306上とキャッシュメモリ
302上で内容が異なる可能性がある。この場合、最新
の内容は、キャッシュメモリ302上に存在しているた
め、送信対象データに関してキャッシュメモリ302か
らの主記憶306への書き戻しが必要となる。この点が
先の実施の形態1との大きな相違点である。この制御を
実現するために、図1のストレージコントローラ304
内キャッシュ一致制御処理部(名称については図4と同
様に図1中にも明示していない。構成要素については後
述する)には図4の構成要素に加えて送信側アドレスレ
ジスタ108が存在している。この制御機構に関しては
後段で詳述する。
【0048】一方、データの受信についても、同様に、
主記憶306とキャッシュメモリ302の内容一致制御
制御が必要であり、また、その内容一致制御の方法も、
キャッシュメモリ302上のデータの主記憶306への
書き戻しという処理が新たに必要になるため、実施の形
態1と若干制御機構が異なる。
主記憶306とキャッシュメモリ302の内容一致制御
制御が必要であり、また、その内容一致制御の方法も、
キャッシュメモリ302上のデータの主記憶306への
書き戻しという処理が新たに必要になるため、実施の形
態1と若干制御機構が異なる。
【0049】なお、本変形例においても、実施の形態1
と同様に、I/Oインタフェース303がらみの動作は
特に主題とする内容とは関係が無いため省略する。図1
についてもI/Oインタフェース303がらみの処理要
素については記述を省略した。
と同様に、I/Oインタフェース303がらみの動作は
特に主題とする内容とは関係が無いため省略する。図1
についてもI/Oインタフェース303がらみの処理要
素については記述を省略した。
【0050】図1において、ストレージコントローラ3
04内の演算プロセッサインタフェース部101、アク
セス権制御部111、主記憶インタフェース部114、
コマンド・データ受け取り部110、主記憶アクセス発
行部112、コマンド・データ送出部113、およびス
トレージコントローラ304内キャッシュ一致制御処理
部を構成する読み出しアドレスレジスタ102、キャッ
シュ一致制御要求発行部103、キャッシュ一致制御要
求発行待ち判定部104、アドレス一致監視部105、
キャッシュ一致制御要求レジスタ106、キャッシュ一
致制御要求発行判定部107、受信側アドレスレジスタ
109に関しては、その機能や役割および構成が実施の
形態1に示した図4のものとほぼ同じである。ただし、
キャッシュ一致制御におけるキャッシュメモリ302上
のデータの主記憶306への書き戻し(コピーバック)
処理に関して、ストレージコントローラ304内キャッ
シュ一致制御処理部に新たにコピーバック完了監視部1
15が用意され、さらに演算プロセッサインタフェース
101およびコマンド・データ受け取り部110にコピ
ーバック処理に対応した制御動作が加わる。また、デー
タ受信時だけでなく、データ送信時にもキャッシュ一致
制御が必要になるため、これに対しても、ストレージコ
ントローラ304内キャッシュ一致制御処理部に新たに
送信側アドレスレジスタ108が用意され、アドレス一
致監視部105およびキャッシュ一致制御要求発行判定
部107、コマンド・データ受け取り部110にデータ
送信時に対応した制御動作が加わる。
04内の演算プロセッサインタフェース部101、アク
セス権制御部111、主記憶インタフェース部114、
コマンド・データ受け取り部110、主記憶アクセス発
行部112、コマンド・データ送出部113、およびス
トレージコントローラ304内キャッシュ一致制御処理
部を構成する読み出しアドレスレジスタ102、キャッ
シュ一致制御要求発行部103、キャッシュ一致制御要
求発行待ち判定部104、アドレス一致監視部105、
キャッシュ一致制御要求レジスタ106、キャッシュ一
致制御要求発行判定部107、受信側アドレスレジスタ
109に関しては、その機能や役割および構成が実施の
形態1に示した図4のものとほぼ同じである。ただし、
キャッシュ一致制御におけるキャッシュメモリ302上
のデータの主記憶306への書き戻し(コピーバック)
処理に関して、ストレージコントローラ304内キャッ
シュ一致制御処理部に新たにコピーバック完了監視部1
15が用意され、さらに演算プロセッサインタフェース
101およびコマンド・データ受け取り部110にコピ
ーバック処理に対応した制御動作が加わる。また、デー
タ受信時だけでなく、データ送信時にもキャッシュ一致
制御が必要になるため、これに対しても、ストレージコ
ントローラ304内キャッシュ一致制御処理部に新たに
送信側アドレスレジスタ108が用意され、アドレス一
致監視部105およびキャッシュ一致制御要求発行判定
部107、コマンド・データ受け取り部110にデータ
送信時に対応した制御動作が加わる。
【0051】以降、ストレージコントローラ304内の
制御動作および機構に関しては、ほとんどの部分が実施
の形態1と同じであるため、本変形例では、制御動作お
よび機構の異なる点についてのみ説明する。
制御動作および機構に関しては、ほとんどの部分が実施
の形態1と同じであるため、本変形例では、制御動作お
よび機構の異なる点についてのみ説明する。
【0052】まず、データ送信時に関わるキャッシュ一
致制御について述べる。基本的な動作は以下の流れとな
る。
致制御について述べる。基本的な動作は以下の流れとな
る。
【0053】(1)ネットワークインタフェース305
でのデータ送信にともない、コマンド・データ受け取り
部110がネットワークインタフェース305から主記
憶306へのデータ読み出し要求を受ける。
でのデータ送信にともない、コマンド・データ受け取り
部110がネットワークインタフェース305から主記
憶306へのデータ読み出し要求を受ける。
【0054】(2)コマンド・データ受け取り部110
は、受け取った主記憶読み出し要求の読み出し先と同じ
アドレスを対象としてストレージコントローラ304内
キャッシュ一致制御処理部に対してキャッシュ一致制御
要求を発行する。
は、受け取った主記憶読み出し要求の読み出し先と同じ
アドレスを対象としてストレージコントローラ304内
キャッシュ一致制御処理部に対してキャッシュ一致制御
要求を発行する。
【0055】(3)ストレージコントローラ304内キ
ャッシュ一致制御処理部は、キャッシュ一致制御が必要
でないと判定した場合にはその旨をコマンド・データ受
け取り部110に伝え、キャッシュ一致制御が必要であ
ると判定した場合には、後述するタイミングにおいてキ
ャッシュ一致制御要求を演算プロセッサインタフェース
部101に伝える。そして、演算プロセッサインタフェ
ース部101は、演算プロセッサ301に対してキャッ
シュ一致制御要求を発行する。演算プロセッサ301
は、この要求に応じてキャッシュ一致制御を行う。この
際に、演算プロセッサ301は、必要に応じてコピーバ
ック処理を実行する(キャッシュラインデータの主記憶
306への書き込み要求を順次発行する)。演算プロセ
ッサインタフェース部101は、そのコピーバック処理
の終了を検出(詳細は後述する)した後にキャッシュ一
致制御処理が終了したということをストレージコントロ
ーラ304内キャッシュ一致制御処理部に伝える。そし
て、その情報がコマンド・データ受け取り部110に伝
えられる。
ャッシュ一致制御処理部は、キャッシュ一致制御が必要
でないと判定した場合にはその旨をコマンド・データ受
け取り部110に伝え、キャッシュ一致制御が必要であ
ると判定した場合には、後述するタイミングにおいてキ
ャッシュ一致制御要求を演算プロセッサインタフェース
部101に伝える。そして、演算プロセッサインタフェ
ース部101は、演算プロセッサ301に対してキャッ
シュ一致制御要求を発行する。演算プロセッサ301
は、この要求に応じてキャッシュ一致制御を行う。この
際に、演算プロセッサ301は、必要に応じてコピーバ
ック処理を実行する(キャッシュラインデータの主記憶
306への書き込み要求を順次発行する)。演算プロセ
ッサインタフェース部101は、そのコピーバック処理
の終了を検出(詳細は後述する)した後にキャッシュ一
致制御処理が終了したということをストレージコントロ
ーラ304内キャッシュ一致制御処理部に伝える。そし
て、その情報がコマンド・データ受け取り部110に伝
えられる。
【0056】(4)コマンド・データ受け取り部110
は、ストレージコントローラ304内キャッシュ一致制
御処理部からキャッシュ一致制御が不要である旨を伝え
られるか、あるいは、キャッシュ一致制御処理が終了し
たことを伝えられると先の主記憶読み出し要求を主記憶
アクセス発行部112に伝え、次の処理要求を待つ。
は、ストレージコントローラ304内キャッシュ一致制
御処理部からキャッシュ一致制御が不要である旨を伝え
られるか、あるいは、キャッシュ一致制御処理が終了し
たことを伝えられると先の主記憶読み出し要求を主記憶
アクセス発行部112に伝え、次の処理要求を待つ。
【0057】次に、このデータ送信時に関わるキャッシ
ュ一致制御要求発行に関するストレージコントローラ3
04内キャッシュ一致制御処理部の制御動作を説明す
る。基本的な動作は、実施の形態1でのストレージコン
トローラ304内キャッシュ一致制御処理部の制御動作
とほとんど同じであり、受信側アドレスレジスタ109
の代わりに送信側アドレスレジスタ108が制御に使用
される点が異なる。送信側アドレスレジスタ108の構
成は、受信側アドレスレジスタ109と同じであり、前
回の(データ送信時のデータ読み出しにともなう)キャ
ッシュ一致制御要求の対象アドレスを保持するフィール
ドと有効ビットフィールドを持つ。コマンド・データ受
け取り部110は、ネットワークインタフェース305
から主記憶への読み出し要求を受け取ると、L117を
介してキャッシュ一致制御要求発行判定部107に対し
てキャッシュ一致制御要求を発行する。キャッシュ一致
制御要求発行判定部107は、その要求の対象アドレス
とL115を介して伝わる送信側アドレスレジスタ10
8の内容を比較する。送信側アドレスレジスタ108の
有効ビットフィールドが「有効」であり、かつ、L11
7を介して伝わる要求の対象アドレスと送信側アドレス
レジスタ108の前回のキャッシュ一致制御要求の対象
アドレスを保持するフィールドの内容が一致すれば、実
施の形態1で説明したとおり、対象とするキャッシュラ
インは、演算プロセッサ301のキャッシュメモリ30
2上には存在しないことが保証されるため、この時のキ
ャッシュ一致制御要求をキャンセルし、その旨をL12
0を介してコマンド・データ受け取り部110に伝え
る。その信号を受け取ったコマンド・データ受け取り部
110は、その回の主記憶読み出しにともなうキャッシ
ュ一致制御が完了したと解釈し、この時の主記憶読み出
し要求を主記憶アクセス発行部112に対して伝え、次
の処理要求を待つ。一方、キャッシュ一致制御要求発行
判定部107における判定の結果、送信側アドレスレジ
スタ108の有効ビットフィールドが「無効」である
か、または、L117を介して伝わる要求の対象アドレ
スと送信側アドレスレジスタ108の前回のキャッシュ
一致制御要求の対象アドレスを保持するフィールドの内
容が不一致であれば、キャッシュ一致制御要求発行判定
部107は、キャッシュ一致制御要求を受理してこれを
キャッシュ一致制御要求レジスタ106に登録し、該レ
ジスタ106の有効ビットを「有効」にセットし、その
旨をL120を介してコマンド・データ受け取り部11
0に伝える。この信号を受け取ったコマンド・データ受
け取り部110は、その時のキャッシュ一致制御要求の
対象アドレスを送信側アドレスレジスタ108にセット
すると同時に、送信側アドレスレジスタ108の有効ビ
ットフィールドに「有効」を示す内容をセットし、キャ
ッシュ一致制御処理の終了がL122を介して伝達され
る(このL122に関する動作については後述する)の
を待つ。L122を介してキャッシュ一致制御処理の終
了が伝達されると、コマンド・データ受け取り部は、そ
の時の主記憶読み出し要求を主記憶アクセス発行部11
2に伝え、次の処理要求を待つ。なお、上述のアドレス
比較は、対象アドレスが属するキャッシュラインの先頭
アドレスの比較という形でなされる。
ュ一致制御要求発行に関するストレージコントローラ3
04内キャッシュ一致制御処理部の制御動作を説明す
る。基本的な動作は、実施の形態1でのストレージコン
トローラ304内キャッシュ一致制御処理部の制御動作
とほとんど同じであり、受信側アドレスレジスタ109
の代わりに送信側アドレスレジスタ108が制御に使用
される点が異なる。送信側アドレスレジスタ108の構
成は、受信側アドレスレジスタ109と同じであり、前
回の(データ送信時のデータ読み出しにともなう)キャ
ッシュ一致制御要求の対象アドレスを保持するフィール
ドと有効ビットフィールドを持つ。コマンド・データ受
け取り部110は、ネットワークインタフェース305
から主記憶への読み出し要求を受け取ると、L117を
介してキャッシュ一致制御要求発行判定部107に対し
てキャッシュ一致制御要求を発行する。キャッシュ一致
制御要求発行判定部107は、その要求の対象アドレス
とL115を介して伝わる送信側アドレスレジスタ10
8の内容を比較する。送信側アドレスレジスタ108の
有効ビットフィールドが「有効」であり、かつ、L11
7を介して伝わる要求の対象アドレスと送信側アドレス
レジスタ108の前回のキャッシュ一致制御要求の対象
アドレスを保持するフィールドの内容が一致すれば、実
施の形態1で説明したとおり、対象とするキャッシュラ
インは、演算プロセッサ301のキャッシュメモリ30
2上には存在しないことが保証されるため、この時のキ
ャッシュ一致制御要求をキャンセルし、その旨をL12
0を介してコマンド・データ受け取り部110に伝え
る。その信号を受け取ったコマンド・データ受け取り部
110は、その回の主記憶読み出しにともなうキャッシ
ュ一致制御が完了したと解釈し、この時の主記憶読み出
し要求を主記憶アクセス発行部112に対して伝え、次
の処理要求を待つ。一方、キャッシュ一致制御要求発行
判定部107における判定の結果、送信側アドレスレジ
スタ108の有効ビットフィールドが「無効」である
か、または、L117を介して伝わる要求の対象アドレ
スと送信側アドレスレジスタ108の前回のキャッシュ
一致制御要求の対象アドレスを保持するフィールドの内
容が不一致であれば、キャッシュ一致制御要求発行判定
部107は、キャッシュ一致制御要求を受理してこれを
キャッシュ一致制御要求レジスタ106に登録し、該レ
ジスタ106の有効ビットを「有効」にセットし、その
旨をL120を介してコマンド・データ受け取り部11
0に伝える。この信号を受け取ったコマンド・データ受
け取り部110は、その時のキャッシュ一致制御要求の
対象アドレスを送信側アドレスレジスタ108にセット
すると同時に、送信側アドレスレジスタ108の有効ビ
ットフィールドに「有効」を示す内容をセットし、キャ
ッシュ一致制御処理の終了がL122を介して伝達され
る(このL122に関する動作については後述する)の
を待つ。L122を介してキャッシュ一致制御処理の終
了が伝達されると、コマンド・データ受け取り部は、そ
の時の主記憶読み出し要求を主記憶アクセス発行部11
2に伝え、次の処理要求を待つ。なお、上述のアドレス
比較は、対象アドレスが属するキャッシュラインの先頭
アドレスの比較という形でなされる。
【0058】送信側アドレスレジスタ108の有効ビッ
トフィールドに関する制御も、受信側アドレスレジスタ
109のそれと同じである。まず、初期値は「無効」で
ある。送信側アドレスレジスタ108の有効ビットフィ
ールドが「有効」にセットされるのは、上述のとおり、
キャッシュ一致制御要求発行判定部107がキャッシュ
一致制御要求を受理し、これに応じてコマンド・データ
受け取り部110がセットする場合のみである。一方、
送信側アドレスレジスタ108の有効ビットフィールド
が「有効」から「無効」にリセットされるのは、アドレ
ス一致監視部105が、L115を介して伝わる送信側
アドレスレジスタ108の前回のキャッシュ一致制御要
求の対象アドレスを保持するフィールドの内容とL11
0を介して伝わる読みだしアドレスレジスタ102のキ
ャッシュライン読み出しアドレスを保持するフィールド
の内容が一致し、かつ、送信側アドレスレジスタ108
および読みだしアドレスレジスタ102各々の有効ビッ
トフィールドがともに「有効」であるという状態を検出
したときであり、そのリセットはアドレス一致監視部1
05によってL113を介して行われる。
トフィールドに関する制御も、受信側アドレスレジスタ
109のそれと同じである。まず、初期値は「無効」で
ある。送信側アドレスレジスタ108の有効ビットフィ
ールドが「有効」にセットされるのは、上述のとおり、
キャッシュ一致制御要求発行判定部107がキャッシュ
一致制御要求を受理し、これに応じてコマンド・データ
受け取り部110がセットする場合のみである。一方、
送信側アドレスレジスタ108の有効ビットフィールド
が「有効」から「無効」にリセットされるのは、アドレ
ス一致監視部105が、L115を介して伝わる送信側
アドレスレジスタ108の前回のキャッシュ一致制御要
求の対象アドレスを保持するフィールドの内容とL11
0を介して伝わる読みだしアドレスレジスタ102のキ
ャッシュライン読み出しアドレスを保持するフィールド
の内容が一致し、かつ、送信側アドレスレジスタ108
および読みだしアドレスレジスタ102各々の有効ビッ
トフィールドがともに「有効」であるという状態を検出
したときであり、そのリセットはアドレス一致監視部1
05によってL113を介して行われる。
【0059】次に、データ受信時に関わるキャッシュ一
致制御について述べる。基本的な動作は以下の流れとな
る。
致制御について述べる。基本的な動作は以下の流れとな
る。
【0060】(1)ネットワークインタフェース305
でのデータ受信にともない、コマンド・データ受け取り
部110がネットワークインタフェース305から主記
憶306へのデータ書き込み要求を受ける。
でのデータ受信にともない、コマンド・データ受け取り
部110がネットワークインタフェース305から主記
憶306へのデータ書き込み要求を受ける。
【0061】(2)コマンド・データ受け取り部110
は、受け取った主記憶書き込み要求の書き込み先と同じ
アドレスを対象としてストレージコントローラ304内
キャッシュ一致制御処理部に対してキャッシュ一致制御
要求を発行する。
は、受け取った主記憶書き込み要求の書き込み先と同じ
アドレスを対象としてストレージコントローラ304内
キャッシュ一致制御処理部に対してキャッシュ一致制御
要求を発行する。
【0062】(3)ストレージコントローラ304内キ
ャッシュ一致制御処理部は、キャッシュ一致制御が必要
でないと判定した場合にはその旨をコマンド・データ受
け取り部110に伝え、キャッシュ一致制御が必要であ
ると判定した場合には、後述するタイミングにおいてキ
ャッシュ一致制御要求を演算プロセッサインタフェース
部101に伝える。そして、演算プロセッサインタフェ
ース部101は、演算プロセッサ301に対してキャッ
シュ一致制御要求を発行する。演算プロセッサ301
は、この要求に応じてキャッシュ一致制御を行う。この
際に、演算プロセッサ301は、必要に応じてコピーバ
ック処理を実行する(キャッシュラインデータの主記憶
306への書き込み要求を順次発行する)。演算プロセ
ッサインタフェース部101は、そのコピーバック処理
の終了を検出(詳細は後述する)した後にキャッシュ一
致制御処理が終了したということをストレージコントロ
ーラ304内キャッシュ一致制御処理部に伝える。そし
て、その情報がコマンド・データ受け取り部110に伝
えられる。
ャッシュ一致制御処理部は、キャッシュ一致制御が必要
でないと判定した場合にはその旨をコマンド・データ受
け取り部110に伝え、キャッシュ一致制御が必要であ
ると判定した場合には、後述するタイミングにおいてキ
ャッシュ一致制御要求を演算プロセッサインタフェース
部101に伝える。そして、演算プロセッサインタフェ
ース部101は、演算プロセッサ301に対してキャッ
シュ一致制御要求を発行する。演算プロセッサ301
は、この要求に応じてキャッシュ一致制御を行う。この
際に、演算プロセッサ301は、必要に応じてコピーバ
ック処理を実行する(キャッシュラインデータの主記憶
306への書き込み要求を順次発行する)。演算プロセ
ッサインタフェース部101は、そのコピーバック処理
の終了を検出(詳細は後述する)した後にキャッシュ一
致制御処理が終了したということをストレージコントロ
ーラ304内キャッシュ一致制御処理部に伝える。そし
て、その情報がコマンド・データ受け取り部110に伝
えられる。
【0063】(4)コマンド・データ受け取り部110
は、ストレージコントローラ304内キャッシュ一致制
御処理部からキャッシュ一致制御が不要である旨を伝え
られるか、あるいは、キャッシュ一致制御処理が終了し
たことを伝えられると先の主記憶書き込み要求を主記憶
アクセス発行部112に伝え、次の処理要求を待つ。
は、ストレージコントローラ304内キャッシュ一致制
御処理部からキャッシュ一致制御が不要である旨を伝え
られるか、あるいは、キャッシュ一致制御処理が終了し
たことを伝えられると先の主記憶書き込み要求を主記憶
アクセス発行部112に伝え、次の処理要求を待つ。
【0064】このデータ受信時に関わるキャッシュ一致
制御要求発行に関するストレージコントローラ304内
キャッシュ一致制御処理部の制御動作は、実施の形態1
でのストレージコントローラ304内キャッシュ一致制
御処理部の制御動作とほとんど同じである。異なるの
は、コマンド・データ受け取り部110が、ネットワー
クインタフェース305から主記憶への書き込み要求を
受け取った際に、すぐにはその書き込み要求を主記憶ア
クセス発行部112には伝えずに、キャッシュ一致制御
要求発行判定部107によるキャッシュ一致制御不要判
定または、キャッシュ一致制御処理の完了を待ち合わせ
る点である。データ受信時、コマンド・データ受け取り
部110は、ネットワークインタフェース305から主
記憶への書き込み要求を受け取ると、L117を介して
キャッシュ一致制御要求発行判定部107に対してキャ
ッシュ一致制御要求を発行する。キャッシュ一致制御要
求発行判定部107は、その要求の対象アドレスとL1
14を介して伝わる受信側アドレスレジスタ109の内
容を比較する。受信側アドレスレジスタ109の有効ビ
ットフィールドが「有効」であり、かつ、L117を介
して伝わる要求の対象アドレスと受信側アドレスレジス
タ109の前回のキャッシュ一致制御要求の対象アドレ
スを保持するフィールドの内容が一致すれば、実施の形
態1で説明したとおり、対象とするキャッシュライン
は、演算プロセッサ301のキャッシュメモリ302上
には存在しないことが保証されるため、この時のキャッ
シュ一致制御要求をキャンセルし、その旨をL120を
介してコマンド・データ受け取り部110に伝える。そ
の信号を受け取ったコマンド・データ受け取り部110
は、その回の主記憶書き込みにともなうキャッシュ一致
制御が完了したと解釈し、主記憶アクセス発行部112
に対してその時の主記憶書き込み要求を発行し、新たな
処理要求を待つ。
制御要求発行に関するストレージコントローラ304内
キャッシュ一致制御処理部の制御動作は、実施の形態1
でのストレージコントローラ304内キャッシュ一致制
御処理部の制御動作とほとんど同じである。異なるの
は、コマンド・データ受け取り部110が、ネットワー
クインタフェース305から主記憶への書き込み要求を
受け取った際に、すぐにはその書き込み要求を主記憶ア
クセス発行部112には伝えずに、キャッシュ一致制御
要求発行判定部107によるキャッシュ一致制御不要判
定または、キャッシュ一致制御処理の完了を待ち合わせ
る点である。データ受信時、コマンド・データ受け取り
部110は、ネットワークインタフェース305から主
記憶への書き込み要求を受け取ると、L117を介して
キャッシュ一致制御要求発行判定部107に対してキャ
ッシュ一致制御要求を発行する。キャッシュ一致制御要
求発行判定部107は、その要求の対象アドレスとL1
14を介して伝わる受信側アドレスレジスタ109の内
容を比較する。受信側アドレスレジスタ109の有効ビ
ットフィールドが「有効」であり、かつ、L117を介
して伝わる要求の対象アドレスと受信側アドレスレジス
タ109の前回のキャッシュ一致制御要求の対象アドレ
スを保持するフィールドの内容が一致すれば、実施の形
態1で説明したとおり、対象とするキャッシュライン
は、演算プロセッサ301のキャッシュメモリ302上
には存在しないことが保証されるため、この時のキャッ
シュ一致制御要求をキャンセルし、その旨をL120を
介してコマンド・データ受け取り部110に伝える。そ
の信号を受け取ったコマンド・データ受け取り部110
は、その回の主記憶書き込みにともなうキャッシュ一致
制御が完了したと解釈し、主記憶アクセス発行部112
に対してその時の主記憶書き込み要求を発行し、新たな
処理要求を待つ。
【0065】一方、キャッシュ一致制御要求発行判定部
107における判定の結果、受信側アドレスレジスタ1
09の有効ビットフィールドが「無効」であるか、また
は、L117を介して伝わる要求の対象アドレスと受信
側アドレスレジスタ109の前回のキャッシュ一致制御
要求の対象アドレスを保持するフィールドの内容が不一
致であれば、キャッシュ一致制御要求発行判定部107
は、キャッシュ一致制御要求を受理してこれをキャッシ
ュ一致制御要求レジスタ106に登録し、該レジスタ1
06の有効ビットを「有効」にセットし、その旨をL1
20を介してコマンド・データ受け取り部110に伝え
る。この信号を受け取ったコマンド・データ受け取り部
110は、その時のキャッシュ一致制御要求の対象アド
レスを受信側アドレスレジスタ109にセットすると同
時に、受信側アドレスレジスタ109の有効ビットフィ
ールドに「有効」を示す内容をセットし、キャッシュ一
致制御処理の終了がL122を介して伝達される(このL
122に関する動作については後述する)のを待つ。L
122を介してキャッシュ一致制御処理の終了が伝達さ
れると、コマンド・データ受け取り部は、その時の主記
憶書き込み要求を主記憶アクセス発行部112に伝え、
次の処理要求を待つ。なお、上述のアドレス比較は、対
象アドレスが属するキャッシュラインの先頭アドレスの
比較という形でなされる。
107における判定の結果、受信側アドレスレジスタ1
09の有効ビットフィールドが「無効」であるか、また
は、L117を介して伝わる要求の対象アドレスと受信
側アドレスレジスタ109の前回のキャッシュ一致制御
要求の対象アドレスを保持するフィールドの内容が不一
致であれば、キャッシュ一致制御要求発行判定部107
は、キャッシュ一致制御要求を受理してこれをキャッシ
ュ一致制御要求レジスタ106に登録し、該レジスタ1
06の有効ビットを「有効」にセットし、その旨をL1
20を介してコマンド・データ受け取り部110に伝え
る。この信号を受け取ったコマンド・データ受け取り部
110は、その時のキャッシュ一致制御要求の対象アド
レスを受信側アドレスレジスタ109にセットすると同
時に、受信側アドレスレジスタ109の有効ビットフィ
ールドに「有効」を示す内容をセットし、キャッシュ一
致制御処理の終了がL122を介して伝達される(このL
122に関する動作については後述する)のを待つ。L
122を介してキャッシュ一致制御処理の終了が伝達さ
れると、コマンド・データ受け取り部は、その時の主記
憶書き込み要求を主記憶アクセス発行部112に伝え、
次の処理要求を待つ。なお、上述のアドレス比較は、対
象アドレスが属するキャッシュラインの先頭アドレスの
比較という形でなされる。
【0066】受信側アドレスレジスタ109の有効ビッ
トフィールドに関する制御は、実施の形態1と全く同じ
である。
トフィールドに関する制御は、実施の形態1と全く同じ
である。
【0067】キャッシュ一致制御要求発行待ち判定部1
04による制御は、データ送信に関わるキャッシュ一致
制御要求およびデータ受信に関わるキャッシュ一致制御
要求のいずれに対しても実施の形態1と同じである。
04による制御は、データ送信に関わるキャッシュ一致
制御要求およびデータ受信に関わるキャッシュ一致制御
要求のいずれに対しても実施の形態1と同じである。
【0068】次に、コマンド・データ受け取り部110
におけるキャッシュ一致制御処理の終了待ち合わせに関
する制御について述べる。データ送信にともなう送信デ
ータの主記憶306からの読み出し時であってもデータ
受信にともなう受信データの主記憶306への書き込み
時であっても、キャッシュ一致制御要求がキャッシュ一
致制御要求発行判定部107で受理された場合には、コ
マンド・データ受け取り部110は、キャッシュ一致制
御処理の終了がL122を介して伝達されるのを待つ。L
122に対してキャッシュ一致制御処理の終了情報をの
せるのは、コピーバック完了監視部115の役割であ
る。コピーバック完了監視部115は、演算プロセッサ
インタフェース部101が、自身が発行したキャッシュ
一致制御要求トランザクションに対して、演算プロセッ
サ301からコピーバックなしで完了する旨を伝えられ
た場合、あるいは、演算プロセッサインタフェース部1
01が、自身が発行したキャッシュ一致制御要求トラン
ザクションに対して、演算プロセッサ301からコピー
バックトランザクションとしてキャッシュライン分の主
記憶書き込み要求を受け取り、これが総てアクセス権制
御部111に受理された場合に、演算プロセッサインタ
フェース部101からキャッシュ一致制御処理の完了信
号をL121を介して受け取る。そして、コピーバック
完了監視部115は、その完了信号をL122を介して
コマンド・データ受け取り部110に伝える。
におけるキャッシュ一致制御処理の終了待ち合わせに関
する制御について述べる。データ送信にともなう送信デ
ータの主記憶306からの読み出し時であってもデータ
受信にともなう受信データの主記憶306への書き込み
時であっても、キャッシュ一致制御要求がキャッシュ一
致制御要求発行判定部107で受理された場合には、コ
マンド・データ受け取り部110は、キャッシュ一致制
御処理の終了がL122を介して伝達されるのを待つ。L
122に対してキャッシュ一致制御処理の終了情報をの
せるのは、コピーバック完了監視部115の役割であ
る。コピーバック完了監視部115は、演算プロセッサ
インタフェース部101が、自身が発行したキャッシュ
一致制御要求トランザクションに対して、演算プロセッ
サ301からコピーバックなしで完了する旨を伝えられ
た場合、あるいは、演算プロセッサインタフェース部1
01が、自身が発行したキャッシュ一致制御要求トラン
ザクションに対して、演算プロセッサ301からコピー
バックトランザクションとしてキャッシュライン分の主
記憶書き込み要求を受け取り、これが総てアクセス権制
御部111に受理された場合に、演算プロセッサインタ
フェース部101からキャッシュ一致制御処理の完了信
号をL121を介して受け取る。そして、コピーバック
完了監視部115は、その完了信号をL122を介して
コマンド・データ受け取り部110に伝える。
【0069】この制御によって、主記憶306に最新の
データが存在する状態での主記憶306へのアクセスが
保証される。
データが存在する状態での主記憶306へのアクセスが
保証される。
【0070】以上が、本発明に関わる実施の形態1に対
する変形例1である。
する変形例1である。
【0071】(実施の形態1の変形例2)本発明の実施
の形態1およびその変形例1は、データの送信あるいは
受信にともなうネットワークインタフェース305から
主記憶306へのアクセス総てを対象としてキャッシュ
一致制御を行うという記述になっている。
の形態1およびその変形例1は、データの送信あるいは
受信にともなうネットワークインタフェース305から
主記憶306へのアクセス総てを対象としてキャッシュ
一致制御を行うという記述になっている。
【0072】プログラムの性質あるいはアルゴリズムに
よっては、このようなハードウェアによるキャッシュ一
致制御が不要であるか、あるいはソフトウェアによるキ
ャッシュ一致制御を実施した方が処理効率が良い場合も
存在する。そのような場合においても一律ハードウェア
による上記キャッシュ一致制御を行うと、そのオーバヘ
ッドがプログラムの処理性能を低下させてしまう原因と
なる可能性がある。この点を考慮して本変形例2では、
ネットワークインタフェース305から主記憶306へ
のアクセスを要求するネットワークインタフェース30
5からストレージコントローラ304のコマンド・デー
タ受け取り部110に対するトランザクションとして、
「キャッシュ一致制御を必要とする」主記憶読み出し/
書き込み要求を行うトランザクションと「キャッシュ一
致制御を必要としない」主記憶読み出し/書き込み要求
を行うトランザクションの大きく分けて2種類を定義す
る。
よっては、このようなハードウェアによるキャッシュ一
致制御が不要であるか、あるいはソフトウェアによるキ
ャッシュ一致制御を実施した方が処理効率が良い場合も
存在する。そのような場合においても一律ハードウェア
による上記キャッシュ一致制御を行うと、そのオーバヘ
ッドがプログラムの処理性能を低下させてしまう原因と
なる可能性がある。この点を考慮して本変形例2では、
ネットワークインタフェース305から主記憶306へ
のアクセスを要求するネットワークインタフェース30
5からストレージコントローラ304のコマンド・デー
タ受け取り部110に対するトランザクションとして、
「キャッシュ一致制御を必要とする」主記憶読み出し/
書き込み要求を行うトランザクションと「キャッシュ一
致制御を必要としない」主記憶読み出し/書き込み要求
を行うトランザクションの大きく分けて2種類を定義す
る。
【0073】キャッシュ一致制御を必要とする主記憶読
み出し/書き込み要求を行うトランザクションを受けた
コマンド・データ受け取り部110は、実施の形態1お
よびその変形例1で述べたとおりストレージコントロー
ラ304内キャッシュ一致制御処理部に対してキャッシ
ュ一致制御要求を発行しながらその制御にしたがって主
記憶アクセス要求を主記憶アクセス発行部112に対し
て発行していく。一方、キャッシュ一致制御を必要とし
ない主記憶読み出し/書き込み要求を行うトランザクシ
ョンを受けたコマンド・データ受け取り部110は、ス
トレージコントローラ304内キャッシュ一致制御処理
部に対する制御要求は一切発行せずに受け取った主記憶
アクセス要求をキャッシュ一致制御とは無関係に次々と
主記憶アクセス発行部112に発行していく。
み出し/書き込み要求を行うトランザクションを受けた
コマンド・データ受け取り部110は、実施の形態1お
よびその変形例1で述べたとおりストレージコントロー
ラ304内キャッシュ一致制御処理部に対してキャッシ
ュ一致制御要求を発行しながらその制御にしたがって主
記憶アクセス要求を主記憶アクセス発行部112に対し
て発行していく。一方、キャッシュ一致制御を必要とし
ない主記憶読み出し/書き込み要求を行うトランザクシ
ョンを受けたコマンド・データ受け取り部110は、ス
トレージコントローラ304内キャッシュ一致制御処理
部に対する制御要求は一切発行せずに受け取った主記憶
アクセス要求をキャッシュ一致制御とは無関係に次々と
主記憶アクセス発行部112に発行していく。
【0074】ネットワークインタフェース305が、そ
の主記憶アクセス要求をストレージコントローラ304
に伝える際に、キャッシュ一致制御を必要とするタイプ
とキャッシュ一致制御を必要としないタイプのどちらの
トランザクションを選択するかという制御に関しては、
以下に示すような様々な実現方法がある。
の主記憶アクセス要求をストレージコントローラ304
に伝える際に、キャッシュ一致制御を必要とするタイプ
とキャッシュ一致制御を必要としないタイプのどちらの
トランザクションを選択するかという制御に関しては、
以下に示すような様々な実現方法がある。
【0075】(1)データ転送時に転送データに付加す
るパケットヘッダ内の一制御情報として、そのデータの
受信時にキャッシュ一致制御を必要とするか否かを示す
情報を埋め込む。ネットワークインタフェース305
は、受信したパケットのパケットヘッダ内の当該情報ビ
ットによって、キャッシュ一致制御を必要とするタイプ
とキャッシュ一致制御を必要としないタイプのいずれか
のトランザクションの発行を決定する。
るパケットヘッダ内の一制御情報として、そのデータの
受信時にキャッシュ一致制御を必要とするか否かを示す
情報を埋め込む。ネットワークインタフェース305
は、受信したパケットのパケットヘッダ内の当該情報ビ
ットによって、キャッシュ一致制御を必要とするタイプ
とキャッシュ一致制御を必要としないタイプのいずれか
のトランザクションの発行を決定する。
【0076】(2)データ転送に関わる転送データが格
納されている(データ送信時)あるいは転送データを格
納する(データ受信時)主記憶306上のバッファ領域
に関する制御情報によって、キャッシュ一致制御の必要
/不要を示す。ネットワークインタフェース305は、
データの送信あるいは受信に先だって、当該バッファ領
域に関する制御情報を読み取り、キャッシュ一致制御の
必要/不要を判定してから判定結果に応じてキャッシュ
一致制御を必要とするタイプとキャッシュ一致制御を必
要としないタイプのいずれかのトランザクションの発行
を決定する。
納されている(データ送信時)あるいは転送データを格
納する(データ受信時)主記憶306上のバッファ領域
に関する制御情報によって、キャッシュ一致制御の必要
/不要を示す。ネットワークインタフェース305は、
データの送信あるいは受信に先だって、当該バッファ領
域に関する制御情報を読み取り、キャッシュ一致制御の
必要/不要を判定してから判定結果に応じてキャッシュ
一致制御を必要とするタイプとキャッシュ一致制御を必
要としないタイプのいずれかのトランザクションの発行
を決定する。
【0077】(3)ネットワークインタフェース305
内にキャッシュ一致制御の要/不要を示す制御レジスタ
を用意し、データ転送に先立って当該レジスタにキャッ
シュ一致制御の要/不要を設定する。データ転送にとも
ない、ネットワークインタフェース305は当該レジス
タの内容にしたがってキャッシュ一致制御を必要とする
タイプとキャッシュ一致制御を必要としないタイプのい
ずれかのトランザクションの発行を決定する。
内にキャッシュ一致制御の要/不要を示す制御レジスタ
を用意し、データ転送に先立って当該レジスタにキャッ
シュ一致制御の要/不要を設定する。データ転送にとも
ない、ネットワークインタフェース305は当該レジス
タの内容にしたがってキャッシュ一致制御を必要とする
タイプとキャッシュ一致制御を必要としないタイプのい
ずれかのトランザクションの発行を決定する。
【0078】以上のネットワークインタフェース305
内の制御は、データ転送に関わるデータ長制御や転送形
態制御などの他の制御情報を扱う際の従来の技術の範疇
で実現が可能であるため、詳細な記述は省略する。本変
形例2の要点は、データ転送に関する制御情報として新
たにキャッシュ一致制御の要/不要という項目を追加し
た点である。
内の制御は、データ転送に関わるデータ長制御や転送形
態制御などの他の制御情報を扱う際の従来の技術の範疇
で実現が可能であるため、詳細な記述は省略する。本変
形例2の要点は、データ転送に関する制御情報として新
たにキャッシュ一致制御の要/不要という項目を追加し
た点である。
【0079】
【発明の効果】本発明によれば、メッセージパッシング
型の並列計算機でのデータ転送において、そのデータの
送信あるいは受信と並行して、その送信/受信で発生す
る主記憶アクセスの送信元あるいは受信先のアドレス領
域を対象としたキャッシュ一致制御をハードウェアによ
って自動的に行い、かつ、そのメッセージパッシング型
のデータ転送が連続アドレス領域のデータを扱うという
特徴を利用して演算プロセッサに対するキャッシュ一致
制御要求の発行回数を基本的にはキャッシュメモリへの
登録単位であるキャッシュラインごとに1回となるよう
にするため、従来メッセージパッシング型の並列計算機
におけるデータ転送で問題となっていたキャッシュ一致
制御に関わるソフトウェアのオーバヘッドをなくしてキ
ャッシュメモリ制御を含めたデータ転送の効率を向上さ
せ、また、プログラム上の制約を緩和できる。
型の並列計算機でのデータ転送において、そのデータの
送信あるいは受信と並行して、その送信/受信で発生す
る主記憶アクセスの送信元あるいは受信先のアドレス領
域を対象としたキャッシュ一致制御をハードウェアによ
って自動的に行い、かつ、そのメッセージパッシング型
のデータ転送が連続アドレス領域のデータを扱うという
特徴を利用して演算プロセッサに対するキャッシュ一致
制御要求の発行回数を基本的にはキャッシュメモリへの
登録単位であるキャッシュラインごとに1回となるよう
にするため、従来メッセージパッシング型の並列計算機
におけるデータ転送で問題となっていたキャッシュ一致
制御に関わるソフトウェアのオーバヘッドをなくしてキ
ャッシュメモリ制御を含めたデータ転送の効率を向上さ
せ、また、プログラム上の制約を緩和できる。
【図1】本発明に係わるストレージコントローラの構成
を示す図である。
を示す図である。
【図2】本発明に係わるメッセージパッシング型の並列
計算機の概略構成を示す図である。
計算機の概略構成を示す図である。
【図3】本発明に係わる要素プロセッサの概略構成を示
す図である。
す図である。
【図4】本発明に係わるストレージコントローラの構成
を示す図である。
を示す図である。
201・・・要素プロセッサ、202・・・相互結合
網、301・・・演算プロセッサ、302・・・キャッ
シュメモリ、304・・・ストレージコントローラ、3
05・・・ネットワークインタフェース、306・・・
主記憶。
網、301・・・演算プロセッサ、302・・・キャッ
シュメモリ、304・・・ストレージコントローラ、3
05・・・ネットワークインタフェース、306・・・
主記憶。
フロントページの続き (72)発明者 明石 英也 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内
Claims (12)
- 【請求項1】それぞれが、命令プロセッサ、主記憶、前
記主記憶へのアクセスの効率向上に使用するキャッシュ
メモリを有する複数のプロセッサと、前記複数のプロセ
ッサを結合する相互結合網とからなり、データ書き込み
を前記キャッシュメモリと前記主記憶の両方に対して同
時に行う、分散メモリ方式の並列計算機において、 前記相互結合網を介して転送されるデータを前記プロセ
ッサが前記相互結合網から受信する際に、受信データを
格納する主記憶領域の内容を前記キャッシュメモリから
消失させる消失手段と、 前記消失手段の実行後に、前記受信データを前記主記憶
に書き込む手段を有することを特徴とする並列計算機。 - 【請求項2】前記消失手段は、 前記主記憶から前記キャッシュメモリへのデータ複写の
単位となる複数語からなる連続アドレス領域に対するデ
ータの受信が前記相互結合網から繰り返されている間
は、前記連続アドレス領域への1つ目の受信データの前
記主記憶への書き込みの前に一度だけ前記連続アドレス
領域を前記キャッシュメモリから消失させ、 前記連続アドレス領域が一度前記キャッシュメモリから
消失されると、前記連続アドレス領域が再び前記キャッ
シュメモリに複写されるまで、前記連続アドレス領域に
対する受信データを受けた際、前記連続アドレス領域を
前記キャッシュメモリから消失させる動作を行わないこ
とを特徴とする請求項1の並列計算機。 - 【請求項3】前記消失手段は、 前記連続アドレス領域へのデータの受信が継続している
間に前記連続アドレス領域が再び前記キャッシュメモリ
に複写された場合には、前記連続アドレス領域が再び前
記キャッシュメモリに複写された以降1つめの受信デー
タの前記主記憶への書き込みの前に1度だけ前記連続ア
ドレス領域を前記キャッシュメモリから消失させ、 以降は前記連続アドレス領域が再び前記キャッシュメモ
リに複写されるまで、前記連続アドレス領域に対する受
信データを受けた際、前記連続アドレス領域を前記キャ
ッシュメモリから消失させる動作を行わないことを特徴
とする請求項2の並列計算機。 - 【請求項4】それぞれが、命令プロセッサ、主記憶、前
記主記憶へのアクセスの効率向上に使用するキャッシュ
メモリを有する複数のプロセッサと、前記複数のプロセ
ッサを結合する相互結合網とからなり、通常はデータの
書き込みを前記キャッシュメモリに対して行い、かつ前
記主記憶への書き戻し要求があったときにデータの書き
込みを主記憶に対して行う、分散メモリ方式の並列計算
機において、 前記相互結合網を介して転送されるデータを前記プロセ
ッサが受信する際に、前記受信するデータを格納する前
記主記憶領域の内容が前記キャッシュメモリと前記主記
憶の間で異なる場合に前記主記憶領域の内容を前記キャ
ッシュメモリから前記主記憶に書き戻し、かつ前記受信
データを格納する主記憶領域の内容を前記キャッシュメ
モリから消失させる第1の手段と、 第1の手段の実行後、前記受信データを前記主記憶に書
き込む手段を有することを特徴とする並列計算機。 - 【請求項5】前記第1の手段は、 前記主記憶から前記キャッシュメモリへのデータ複写の
単位となる複数語からなる連続アドレス領域に対するデ
ータの受信が繰り返されている間は、前記連続アドレス
領域への1つ目の受信データの前記主記憶への書き込み
の前に1度だけ、前記キャッシュメモリ上の前記連続ア
ドレス領域の内容が主記憶と異なる場合に前記連続アド
レス領域の内容を主記憶に反映し、かつ前記連続アドレ
ス領域を前記キャッシュメモリから消失させ、 以降は前記連続アドレス領域が再び前記キャッシュメモ
リに複写されるまでは前記連続アドレス領域に対する受
信データを受けた際、前記キャッシュメモリ上の前記連
続アドレス領域の内容が主記憶と異なる場合に前記連続
アドレス領域の内容を主記憶に反映し、かつ前記連続ア
ドレス領域を前記キャッシュメモリから消失させる動作
を行わないことを特徴とする請求項4のデータ転送機
構。 - 【請求項6】前記第1の手段は、 前記連続アドレス領域へのデータ受信が継続している間
に前記連続アドレス領域が再び前記キャッシュメモリに
複写された場合には、前記連続アドレス領域が再び前記
キャッシュメモリに複写された以降1つ目の受信データ
の主記憶への書き込みの前に1度だけ、前記キャッシュ
メモリ上の前記連続アドレス領域の内容が主記憶と異な
る場合に前記連続アドレス領域の内容を主記憶に反映
し、かつ前記連続アドレス領域を前記キャッシュメモリ
から消失させ、 以降は前記連続アドレス領域が再び前記キャッシュメモ
リに複写されるまでは前記連続アドレス領域に対する受
信データを受けても、前記キャッシュメモリ上の前記連
続アドレス領域の内容が主記憶と異なる場合に前記連続
アドレス領域の内容を主記憶に反映し、かつ前記連続ア
ドレス領域を前記キャッシュメモリから消失させる動作
を行わないことを特徴とする請求項5の並列計算機。 - 【請求項7】それぞれが、命令プロセッサ、主記憶、前
記主記憶へのアクセスの効率向上に使用するキャッシュ
メモリを有する複数のプロセッサと、前記複数のプロセ
ッサを結合する相互結合網とからなり、通常はデータの
書き込みを前記キャッシュメモリに対して行い、かつ前
記主記憶への書き戻し要求があったときにデータの書き
込みを主記憶に対して行う、分散メモリ方式の並列計算
機において、 前記相互結合網を介して転送されるデータを前記プロセ
ッサが送信する際に、前記送信データが格納される主記
憶領域の内容が前記キャッシュメモリと前記主記憶の間
で異なる場合に前記主記憶領域の内容を前記キャッシュ
メモリから前記主記憶に書き戻し、かつ前記送信データ
が格納される主記憶領域の内容を前記キャッシュメモリ
から消失させる第1の手段と、 前記第1の手段の実行後、前記送信データを前記主記憶
から読み出し手段を有することを特徴とする並列計算
機。 - 【請求項8】前記第1の手段は、 前記主記憶から前記キャッシュメモリへのデータ複写の
単位となる複数語からなる連続アドレス領域からのデー
タの送信が繰り返されている間は、前記連続アドレス領
域への1つめの送信データの主記憶からの読み出しの前
に1度だけ、前記キャッシュメモリ上の前記連続アドレ
ス領域の内容が主記憶と異なる場合に前記連続アドレス
領域の内容を前記主記憶に反映し、かつ前記連続アドレ
ス領域を前記キャッシュメモリから消失させるという動
作を行い、 以降は前記連続アドレス領域が再び前記キャッシュメモ
リに複写されるまでは前記連続アドレス領域からの送信
データ読み出しの際、前記キャッシュメモリ上の前記連
続アドレス領域の内容が主記憶と異なる場合に前記連続
アドレス領域の内容を前記主記憶に反映し、かつ前記連
続アドレス領域を前記キャッシュメモリから消失させる
という動作を行わないことを特徴とする請求項7の並列
計算機。 - 【請求項9】前記第1の手段は、 前記連続アドレス領域からのデータ送信が継続している
間に前記連続アドレス領域が再び前記キャッシュメモリ
に複写された場合には、前記連続アドレス領域が再び前
記キャッシュメモリに複写された以降1つめの送信デー
タの主記憶からの読み出しの前に1度だけ、前記キャッ
シュメモリ上の前記連続アドレス領域の内容が主記憶と
異なる場合に前記連続アドレス領域の内容を主記憶に反
映し、かつ前記連続アドレス領域を前記キャッシュメモ
リから消失させるという動作を行い、 以降は前記連続アドレス領域が再び前記キャッシュメモ
リに複写されるまでは前記連続アドレス領域からの送信
データ読み出しがあっても、前記キャッシュメモリ上の
前記連続アドレス領域の内容が主記憶と異なる場合に前
記連続アドレス領域の内容を主記憶に反映し、かつ前記
連続アドレス領域を前記キャッシュメモリから消失させ
るという動作を行わないことを特徴とする請求項8の並
列計算機。 - 【請求項10】請求項1から3において、更に、 前記相互結合網を介して転送されるデータを前記プロセ
ッサが前記相互結合網から受信する際に、該キャッシュ
メモリに絡んだ制御は行わずに前記受信データを前記主
記憶に書き込む第2の手段と、 前記消失手段および前記消失手段の実行後に前記受信デ
ータを前記主記憶に書き込む手段と、または前記第2の
手段とを選択する手段を有する並列計算機。 - 【請求項11】請求項4から6において、更に、 前記相互結合網を介して転送されるデータを前記プロセ
ッサが前記相互結合網から受信する際に、該キャッシュ
メモリに絡んだ制御は行わずに前記受信データを前記主
記憶に書き込む第2の手段と、 前記第1の手段および前記第1の手段の実行後に前記受
信データを前記主記憶に書き込む手段と、または前記第
2の手段とを選択する手段を有する並列計算機。 - 【請求項12】請求項7から9において、更に、 前記相互結合網を介して転送されるデータを前記プロセ
ッサが前記相互結合網から受信する際に、該キャッシュ
メモリに絡んだ制御は行わずに前記送信データを前記主
記憶に書き込む第2の手段と、 前記第1の手段および前記第1の手段の実行後に前記送
信データを前記主記憶に書き込む手段と、または前記第
2の手段とを選択する手段を有する並列計算機。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8011540A JPH09204403A (ja) | 1996-01-26 | 1996-01-26 | 並列計算機 |
US08/789,184 US6119150A (en) | 1996-01-26 | 1997-01-24 | Message passing distributed shared memory system that eliminates unnecessary software controlled cache flushes or purges |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8011540A JPH09204403A (ja) | 1996-01-26 | 1996-01-26 | 並列計算機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09204403A true JPH09204403A (ja) | 1997-08-05 |
Family
ID=11780807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8011540A Pending JPH09204403A (ja) | 1996-01-26 | 1996-01-26 | 並列計算機 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6119150A (ja) |
JP (1) | JPH09204403A (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185710A (ja) * | 1997-09-16 | 1999-03-30 | Toshiba Corp | サーバ装置およびファイル管理方法 |
GB9821768D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821792D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821763D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821766D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821789D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Jitter handling |
GB9821770D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821800D0 (en) * | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
US8266266B2 (en) | 1998-12-08 | 2012-09-11 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization, authentication and accounting |
JP2001101145A (ja) * | 1999-09-28 | 2001-04-13 | Fujitsu Ltd | 分散メモリ型並列計算機におけるデータ転送方式 |
US7117262B2 (en) * | 2000-11-01 | 2006-10-03 | Inktomi Corporation | Cooperative management of distributed network caches |
JP2002197073A (ja) * | 2000-12-25 | 2002-07-12 | Hitachi Ltd | キャッシュ一致制御装置 |
US7234029B2 (en) * | 2000-12-28 | 2007-06-19 | Intel Corporation | Method and apparatus for reducing memory latency in a cache coherent multi-node architecture |
US6934806B2 (en) * | 2002-09-23 | 2005-08-23 | International Business Machines Corporation | Method and system for improving input/output performance by proactively flushing and locking an entire page out of caches of a multiprocessor system |
JP4563403B2 (ja) * | 2003-12-22 | 2010-10-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信ネットワーク内での利用方法およびシステム |
WO2008155798A1 (ja) * | 2007-06-20 | 2008-12-24 | Fujitsu Limited | ユニット間設定同期装置 |
US8893271B1 (en) * | 2012-08-09 | 2014-11-18 | Cisco Technology, Inc. | End node discovery and tracking in layer-2 of an internet protocol version 6 network |
US10241790B2 (en) * | 2015-12-15 | 2019-03-26 | International Business Machines Corporation | Operation of a multi-slice processor with reduced flush and restore latency |
US11036650B2 (en) * | 2019-09-19 | 2021-06-15 | Intel Corporation | System, apparatus and method for processing remote direct memory access operations with a device-attached memory |
US20210112132A1 (en) * | 2020-12-21 | 2021-04-15 | Nitish Paliwal | System, apparatus and method for handling multi-protocol traffic in data link layer circuitry |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303362A (en) * | 1991-03-20 | 1994-04-12 | Digital Equipment Corporation | Coupled memory multiprocessor computer system including cache coherency management protocols |
US5813028A (en) * | 1993-10-12 | 1998-09-22 | Texas Instruments Incorporated | Cache read miss request invalidation prevention method |
JP3200757B2 (ja) * | 1993-10-22 | 2001-08-20 | 株式会社日立製作所 | 並列計算機の記憶制御方法および並列計算機 |
US5692149A (en) * | 1995-03-16 | 1997-11-25 | Samsung Electronics Co., Ltd. | Block replacement method in cache only memory architecture multiprocessor |
EP0735480B1 (en) * | 1995-03-31 | 2003-06-04 | Sun Microsystems, Inc. | Cache coherent computer system that minimizes invalidation and copyback operations |
US5787476A (en) * | 1995-05-05 | 1998-07-28 | Silicon Graphics, Inc. | System and method for maintaining coherency of virtual-to-physical memory translations in a multiprocessor computer |
US5680576A (en) * | 1995-05-05 | 1997-10-21 | Silicon Graphics, Inc. | Directory-based coherence protocol allowing efficient dropping of clean-exclusive data |
JPH0950400A (ja) * | 1995-08-10 | 1997-02-18 | Nec Corp | マルチプロセッサシステム |
JP3123413B2 (ja) * | 1995-11-07 | 2001-01-09 | 株式会社日立製作所 | コンピュータシステム |
US5765196A (en) * | 1996-02-27 | 1998-06-09 | Sun Microsystems, Inc. | System and method for servicing copyback requests in a multiprocessor system with a shared memory |
US6038644A (en) * | 1996-03-19 | 2000-03-14 | Hitachi, Ltd. | Multiprocessor system with partial broadcast capability of a cache coherent processing request |
JP3269967B2 (ja) * | 1996-04-24 | 2002-04-02 | 株式会社日立製作所 | キャッシュコヒーレンシ制御方法、および、これを用いたマルチプロセッサシステム |
JP3781212B2 (ja) * | 1996-06-04 | 2006-05-31 | 株式会社日立製作所 | サブシステム |
US5749095A (en) * | 1996-07-01 | 1998-05-05 | Sun Microsystems, Inc. | Multiprocessing system configured to perform efficient write operations |
US5864671A (en) * | 1996-07-01 | 1999-01-26 | Sun Microsystems, Inc. | Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used |
US5787480A (en) * | 1996-07-17 | 1998-07-28 | Digital Equipment Corporation | Lock-up free data sharing |
US5933598A (en) * | 1996-07-17 | 1999-08-03 | Digital Equipment Corporation | Method for sharing variable-grained memory of workstations by sending particular block including line and size of the block to exchange shared data structures |
US6044438A (en) * | 1997-07-10 | 2000-03-28 | International Business Machiness Corporation | Memory controller for controlling memory accesses across networks in distributed shared memory processing systems |
-
1996
- 1996-01-26 JP JP8011540A patent/JPH09204403A/ja active Pending
-
1997
- 1997-01-24 US US08/789,184 patent/US6119150A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6119150A (en) | 2000-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09204403A (ja) | 並列計算機 | |
US5848254A (en) | Multiprocessing system using an access to a second memory space to initiate software controlled data prefetch into a first address space | |
EP0817077B1 (en) | A multiprocessing system configured to perform prefetching operations and method therefor | |
US6760786B2 (en) | Multiprocessing system configured to perform efficient block copy operations | |
US6286090B1 (en) | Mechanism for selectively imposing interference order between page-table fetches and corresponding data fetches | |
JP3218317B2 (ja) | 集積キャッシュユニットおよびその構成方法 | |
EP0817073B1 (en) | A multiprocessing system configured to perform efficient write operations | |
US5958019A (en) | Multiprocessing system configured to perform synchronization operations | |
EP0817070B1 (en) | Multiprocessing system employing a coherency protocol including a reply count | |
KR100885277B1 (ko) | 캐시에서의 라인들을 추론적으로 무효화하는 방법 및 시스템 | |
JP3158161B2 (ja) | 集積キャッシュユニットおよび集積キャッシュユニットにおいてインターロック変数をキャッシュする方法 | |
US5860159A (en) | Multiprocessing system including an apparatus for optimizing spin--lock operations | |
EP0817074B1 (en) | Multiprocessing system employing a three-hop communication protocol | |
US5887138A (en) | Multiprocessing computer system employing local and global address spaces and COMA and NUMA access modes | |
US5398325A (en) | Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems | |
US6711650B1 (en) | Method and apparatus for accelerating input/output processing using cache injections | |
US6272602B1 (en) | Multiprocessing system employing pending tags to maintain cache coherence | |
EP1311956B1 (en) | Method and apparatus for pipelining ordered input/output transactions in a cache coherent, multi-processor system | |
US6260117B1 (en) | Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency | |
US20140089591A1 (en) | Supporting targeted stores in a shared-memory multiprocessor system | |
JPH1031625A (ja) | マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ | |
US6345320B1 (en) | DMA address buffer and cache-memory control system | |
US7024520B2 (en) | System and method enabling efficient cache line reuse in a computer system | |
US5361342A (en) | Tag control system in a hierarchical memory control system | |
JP3218316B2 (ja) | 集積キャッシュユニットおよびその内部でキャッシュ機能を実現するための方法 |