JPH07210526A - Parallel computer - Google Patents

Parallel computer

Info

Publication number
JPH07210526A
JPH07210526A JP6019905A JP1990594A JPH07210526A JP H07210526 A JPH07210526 A JP H07210526A JP 6019905 A JP6019905 A JP 6019905A JP 1990594 A JP1990594 A JP 1990594A JP H07210526 A JPH07210526 A JP H07210526A
Authority
JP
Japan
Prior art keywords
line
processor
directory
page
message
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.)
Granted
Application number
JP6019905A
Other languages
Japanese (ja)
Other versions
JP3410535B2 (en
Inventor
Naonobu Sukegawa
直伸 助川
Toshiaki Tarui
俊明 垂井
Keimei Fujii
啓明 藤井
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP01990594A priority Critical patent/JP3410535B2/en
Publication of JPH07210526A publication Critical patent/JPH07210526A/en
Application granted granted Critical
Publication of JP3410535B2 publication Critical patent/JP3410535B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To reduce directory capacity in the parallel computer which is provided with a distributed shared memory and performs the coincidence control of a cache memory by a directory. CONSTITUTION:In the parallel computer provided with plural processors and plural distributed shared memories to be accessed by the respective processors and providing cache memories for registering the data of the shared memories for the unit of a line in the respective processors, concerning the shared memory, a page directory 70 is prepared for each page of the shared memory, and the page directory 70 stores the processor which registers the line of that page in the cache memory. Then, a line directory is prepared for each line of the shared memory, and the position of the processor registering the line in the cache memory corresponding to the position on the page directory is stored in the line directory by a bit map.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数のキャッシュメモ
リおよび共有メモリを有し、該共有メモリにディレクト
リを備える並列計算機に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel computer having a plurality of cache memories and a shared memory, and the shared memory having a directory.

【0002】[0002]

【従来の技術】計算機性能の向上のため、多数台のプロ
セッサを並列動作させる並列計算機が有望視されてい
る。並列計算機ではプロセッサ間の通信手段が必要とな
る。通信手段としては、ネットワークを介してメッセー
ジを交換するメッセージパッシング方式と、各プロセッ
サよりアクセスできる共有メモリ領域を用意する共有メ
モリ方式とがある。メッセージパッシング方式における
メッセージの交換は、一般にオペレーティングシステム
を起動することで実現する。オペレーティングシステム
の起動は、特に短いメッセージの通信において、非常に
重いオーバヘッドとなる。これに対し、共有メモリを用
いる方法では、オペレーティングシステムを起動するこ
となく通信が実現する。このため、共有メモリ方式は、
通信におけるプロセッサの負担を軽減できる。
2. Description of the Related Art In order to improve computer performance, a parallel computer for operating a large number of processors in parallel is considered promising. A parallel computer requires a communication means between processors. As communication means, there are a message passing method of exchanging messages via a network and a shared memory method of preparing a shared memory area accessible by each processor. Exchange of messages in the message passing method is generally realized by starting an operating system. Booting an operating system is a very heavy overhead, especially for communicating short messages. On the other hand, the method using the shared memory realizes communication without starting the operating system. Therefore, the shared memory method is
The load on the processor in communication can be reduced.

【0003】大規模並列計算機の共有メモリ方式とし
て、共有メモリを分割・分散させて用意する、分散型共
有メモリ方式が有効である。共有メモリを分散させるこ
とで、複数のプロセッサによる共有メモリの同時アクセ
スが可能になり、高度な並列性を持つ処理が実現する。
分散共有メモリ方式としては、 (A)プロセッサを持つ構成要素と、一部の共有メモリ
を持つ構成要素とを、ネットワークで結合する、均質な
分散型共有メモリシステム (B)プロセッサと一部の共有メモリとを持つ構成要素
を、ネットワークで結合する、不均質な分散型共有メモ
リシステム とが知られている。均質(アクセス時間にバラツキのな
い)な分散型共有メモリシステムとしては、特開平5−
128071などが、不均質(アクセス時間にバラツキ
のある)な分散型共有メモリシステムとしては、特開平
5−89056などがある。これらの方式では、プロセ
ッサが共有メモリをアクセスする場合、均質な分散型共
有メモリ方式では毎回、不均質な分散型共有メモリシス
テムでも高い確率で、ネットワークを介してデータ転送
することになる。近年のプロセッサの処理速度の向上
は、ネットワーク速度の向上と比べ著しい。このため、
ネットワークを介するアクセスでは、遅延時間が大きな
問題になる。
As a shared memory system for a large-scale parallel computer, a distributed shared memory system in which a shared memory is divided and distributed and prepared is effective. Distributing the shared memory allows multiple processors to access the shared memory at the same time, and realizes highly parallel processing.
The distributed shared memory system includes (A) a homogeneous distributed shared memory system in which a constituent element having a processor and a constituent element having a part of shared memory are connected by a network (B) a processor and a part of a shared A heterogeneous distributed shared memory system is known in which components having a memory are connected by a network. As a homogeneous distributed type shared memory system (with no variation in access time), Japanese Patent Application Laid-Open No.
As a distributed shared memory system in which 128071 or the like is heterogeneous (variation in access time), there is JP-A-5-89056. In these schemes, when the processor accesses the shared memory, the homogeneous distributed shared memory scheme transfers data through the network with a high probability even in the heterogeneous distributed shared memory system. The recent improvement in the processing speed of the processor is remarkable as compared with the improvement in the network speed. For this reason,
When accessing via a network, the delay time becomes a big problem.

【0004】各プロセッサの共有メモリアクセスの高速
化手段として、キャッシュメモリを各プロセッサに用意
する方式が有効である。キャッシュメモリは、共有メモ
リの一部の内容を登録する、高速なバッファである。キ
ャッシュメモリを用意した共有メモリ型並列計算機で
は、同一データを複数のプロセッサがそれぞれのキャッ
シュメモリに登録するケースが発生する。この場合、各
プロセッサのキャッシュメモリ内容の一致を保証する手
段が必要となる。バスで結合された並列計算機では、ス
ヌーピング手法を利用することで、キャッシュメモリの
内容の一致を保証する。しかし、ネットワークを用いた
分散型共有メモリシステムでは、スヌーピング手法は利
用が困難である。スヌーピング手法が必要とする、一致
管理の情報を全てのプロセッサに通達する通信のオーバ
ヘッドが、ネットワークでは非常に大きくなるためであ
る。分散型共有メモリシステムでキャッシュメモリの一
致を保証する手段として、特開平4−328653で
は、アドレス/コマンド用にバスを、データ用にネット
ワークを設ける方式を開示する。この方法では、アドレ
ス/コマンド送信は並列処理が不可能であり、高並列な
処理は実現困難である。
As a means for accelerating the shared memory access of each processor, a method of preparing a cache memory for each processor is effective. The cache memory is a high-speed buffer that registers part of the contents of the shared memory. In a shared memory type parallel computer having a cache memory, a plurality of processors may register the same data in their respective cache memories. In this case, a means for guaranteeing the match of the cache memory contents of each processor is required. The parallel computers connected by the bus guarantee the matching of the contents of the cache memory by using the snooping method. However, it is difficult to use the snooping method in the distributed shared memory system using the network. This is because the communication overhead required for the snooping technique to communicate the matching management information to all the processors becomes very large in the network. As means for guaranteeing cache memory match in a distributed shared memory system, Japanese Patent Laid-Open No. 328653/1992 discloses a system in which a bus is provided for addresses / commands and a network is provided for data. With this method, parallel processing of address / command transmission is impossible, and highly parallel processing is difficult to realize.

【0005】並列性を高めた一致管理として、「The
Stanford Dash Multiproce
ssor,IEEE Computer,March
1992 pp.63〜78」では、ディレクトリ方式
が開示される。ディレクトリ方式では、共有メモリから
キャッシュメモリに登録する単位であるラインごとに、
そのラインをキャッシュメモリに登録しているプロセッ
サを記憶するディレクトリを用意する。また、分散され
た共有メモリごとに、ディレクトリを制御するディレク
トリ制御回路とを用意する。あるラインを1つまたはそ
れ以上のプロセッサがキャッシュメモリに登録した場
合、ディレクトリ制御回路は、そのラインに用意される
ディレクトリに、そのプロセッサ全てをディレクトリに
登録する。また、あるプロセッサがあるラインの内容を
更新する場合には、ディレクトリ制御回路が更新するラ
インのディレクトリを調べ、そのラインをキャッシュメ
モリに登録しているプロセッサ(更新する主体のプロセ
ッサ以外)を特定する。さらディレクトリ制御回路は、
特定されたプロセッサのキャッシュメモリに対しては、
ネットワークを通じ、 (A)そのキャッシュメモリより、更新するラインの情
報を、(必要な場合には共有メモリに書き戻した後に)
抹消する (B)そのキャッシュメモリの情報も更新する のどちらかの処理を命令する。以上の管理を行なうこと
により、全てのキャッシュメモリにおいて、同一ライン
については同一の情報が登録されることになる。
As a match management with improved parallelism, "The
Stanford Dash Multiproce
ssor, IEEE Computer, March
1992 pp. 63-78 "discloses a directory system. In the directory method, for each line that is a unit to be registered in the cache memory from the shared memory,
Prepare a directory to store the processor that registers the line in the cache memory. Further, a directory control circuit for controlling a directory is prepared for each distributed shared memory. When one or more processors register a line in the cache memory, the directory control circuit registers all the processors in the directory prepared in the line. When a processor updates the contents of a certain line, the directory control circuit checks the directory of the line to be updated and identifies the processor (other than the main processor that updates the line) in the cache memory. . Furthermore, the directory control circuit
For the cache memory of the specified processor,
Through the network, (A) The information of the line to be updated from the cache memory (after writing back to the shared memory if necessary)
Delete (B) Instruct either processing to update the information in the cache memory. By performing the above management, the same information is registered for the same line in all cache memories.

【0006】ディレクトリ方式には、フルマップ方式と
リミテッドポインタ方式がある。フルマップ方式は、1
ビットと1プロセッサとが対応するビットマップで、デ
ィレクトリを構成する方式である。リミテッドポインタ
方式は、プロセッサIDがいくつか記憶できる有限長ポ
インタ配列で、ディレクトリを構成する方式である。リ
ミテッドポインタ方式は、同じラインを同時にキャッシ
ュメモリに登録しているプロセッサ数は一般に少ない、
という特性を利用する。フルマップ方式で発生するディ
レクトリの冗長性(ディレクトリのほとんどのビットが
0となる)が、リミテッドポインタ方式では削減され
る。これにより、ディレクトリ容量を小さくすることが
可能である。リミテッドポインタ方式では、あるライン
のディレクトリが溢れる場合には、リプレース処理など
の対策が必要になる。リプレース処理とは、ディレクト
リに既に記憶されているプロセッサの1つが、そのライ
ンをキャッシュから共有メモリに書き戻した後に、その
プロセッサをディレクトリより抹消し、新たなプロセッ
サを登録する処理である。「The Stanford
Dash Multiprocessor,IEEE
Computer,March 1992 pp.6
3〜78」ではフルマップ方式が用いられており、特開
平5−128071ではリミテッドポインタ方式が用い
られている。
The directory system includes a full map system and a limited pointer system. The full map method is 1
This is a method of constructing a directory with a bitmap in which bits correspond to one processor. The limited pointer method is a method of forming a directory with a finite length pointer array that can store several processor IDs. In the limited pointer method, the number of processors that register the same line in the cache memory at the same time is generally small.
To utilize the characteristic. The redundancy of the directory that occurs in the full map method (most of the bits in the directory are 0) is reduced in the limited pointer method. As a result, the directory capacity can be reduced. In the limited pointer method, when a directory on a certain line overflows, it is necessary to take measures such as replacement processing. The replace process is a process in which one of the processors already stored in the directory writes the line back from the cache to the shared memory, deletes the processor from the directory, and registers a new processor. "The Stanford
Dash Multiprocessor, IEEE
Computer, March 1992 pp. 6
3 to 78 ", the full map method is used, and in JP-A-5-128071, the limited pointer method is used.

【0007】[0007]

【発明が解決しようとする課題】上記のディレクトリ方
式を用いて、分散型共有メモリを持つ大規模並列計算機
を構成すると、極めて大きなディレクトリ容量が必要と
なる。例として、4096台のプロセッサがネットワー
クで結合されている並列計算機で、フルマップ方式のデ
ィレクトリを用意する場合を説明する。ページおよびラ
インの大きさは、1ページ64ライン、1ライン512
ビット(1ページ4Kバイト)とする。フルマップ方式
では、各ラインに4096ビット=512バイトのディ
レクトリが必要になり、共有メモリ1ページごとに必要
なディレクトリ容量は、512バイト×64ライン=3
2Kバイトとなる。つまり、共有メモリ容量の8倍の容
量を持つディレクトリが必要となり、実用性に欠ける。
同じ並列計算機で、リミテッドポインタ方式を用意する
場合を説明する。一つのラインのディレクトリに16プ
ロセッサまで登録可能とすると、各記憶場合には、共有
メモリの1ページごとに必要なディレクトリ容量は、
(12+1)/8バイト×16ポインタ×64ライン=
1664バイトとなる(4096台の場合のラインディ
レクトリの1ポインタには、各プロセッサ番号を表すた
めには12ビット必要である。また、各ポインタには、
そのポインタが使用されているかどうかを示すVali
dビットが1ビット必要である)。リミテッドポインタ
ディレクトリ方式では、ディレクトリの容量は共有メモ
リ容量の約2/5となりフルマップ方式より大幅に軽減
されるものの、まだ相当大きい。以上に示した通り、フ
ルマップ方式は、大規模の並列計算機では実用性に欠け
る容量のディレクトリを必要とする。リミテッド方式で
も、ディレクトリの容量は無視できない大きさになる。
本発明の目的は、ディレクトリ容量の小さい、ディレク
トリ方式の分散型共有メモリを持つ大規模並列計算機を
実現することにある。
When a large-scale parallel computer having a distributed shared memory is constructed using the above directory system, an extremely large directory capacity is required. As an example, a case where a full-map type directory is prepared in a parallel computer in which 4096 processors are connected via a network will be described. The size of page and line is 64 lines per page and 512 lines per line.
Bit (4K bytes per page). In the full map method, a directory of 4096 bits = 512 bytes is required for each line, and the directory capacity required for each page of shared memory is 512 bytes × 64 lines = 3.
It will be 2K bytes. That is, a directory having a capacity eight times as large as the shared memory capacity is required, which is not practical.
A case where the limited pointer method is prepared in the same parallel computer will be described. If up to 16 processors can be registered in the directory of one line, the directory capacity required for each page of the shared memory is:
(12 + 1) / 8 bytes x 16 pointers x 64 lines =
1664 bytes (1 pointer of the line directory for 4096 units requires 12 bits to represent each processor number. Further, each pointer has
Vali indicating if the pointer is used
1 bit is required for d bits). In the limited pointer directory method, the capacity of the directory is about 2/5 of the shared memory capacity, which is significantly reduced as compared with the full map method, but it is still considerably large. As described above, the full map method requires a directory with a capacity that is not practical for a large-scale parallel computer. Even with the limited method, the size of the directory is not negligible.
An object of the present invention is to realize a large-scale parallel computer having a directory type distributed shared memory with a small directory capacity.

【0008】[0008]

【課題を解決するための手段】上記目的を達成するた
め、本発明は、複数のプロセッサと該各プロセッサがア
クセスできる複数の分散型の共有メモリを備え、前記各
プロセッサは共有メモリのデータをライン単位で登録す
るキャッシュメモリを備える並列計算機において、前記
共有メモリは、該共有メモリの各ページごとに用意さ
れ、該ページの一部または全てのラインをキャッシュメ
モリに登録したプロセッサを記憶するページディレクト
リと、共有メモリの各ラインごとに用意され、該ライン
をキャッシュメモリに登録したプロセッサのページディ
レクトリ上での位置をビットマップ形式で記憶するライ
ンディレクトリとを備えるようにしている。また、前記
ラインディレクトリは、共有メモリの各ラインごとに用
意され、該ラインをキャッシュメモリに登録したプロセ
ッサのページディレクトリ上での位置をポインタ形式で
記憶するようにしている。また、前記複数の共有メモリ
と前記複数のプロセッサとをネットワークで接続するよ
うにしている。また、前記共有メモリと前記プロセッサ
とによりノードを構成し、複数の前記ノードをネットワ
ークで接続するようにしている。また、前記ページディ
レクトリ毎に、該ページディレクトリに記憶されている
プロセッサのうち、記憶された時間が最も早いプロセッ
サを指示するページディレクトリポインタを備えるよう
にしている。また、前記ページディレクトリに記憶され
ている各プロセッサ対応に、該ページディレクトリから
のプロセッサの記憶抹消の可否を表すロックビットを備
えるようにしている。
In order to achieve the above object, the present invention comprises a plurality of processors and a plurality of distributed shared memories which can be accessed by the respective processors, and each of the processors transfers data in the shared memory to a line. In a parallel computer having a cache memory that is registered in units, the shared memory is prepared for each page of the shared memory, and a page directory for storing a processor that registers some or all lines of the page in the cache memory A line directory that is prepared for each line of the shared memory and that stores the position on the page directory of the processor that registered the line in the cache memory in the bitmap format is provided. The line directory is prepared for each line of the shared memory, and the position on the page directory of the processor that registered the line in the cache memory is stored in the pointer format. Further, the plurality of shared memories and the plurality of processors are connected by a network. Further, a node is configured by the shared memory and the processor, and a plurality of the nodes are connected by a network. Further, each page directory is provided with a page directory pointer which points to a processor having the earliest stored time among the processors stored in the page directory. Further, each processor stored in the page directory is provided with a lock bit indicating whether or not the processor can delete the memory from the page directory.

【0009】[0009]

【作用】本発明によれば、共有メモリにページディレク
トリとラインディレクトリを備えたことにより、ライン
ディレクトリに必要となる容量を大幅に低減することが
でき、これにより、ディレクトリ全体に必要な容量の大
幅な低減を達成することができる。
According to the present invention, since the shared memory is provided with the page directory and the line directory, the space required for the line directory can be significantly reduced, and thus the space required for the entire directory can be greatly reduced. Can be achieved.

【0010】[0010]

【実施例】図1〜図6に本発明の1実施例を示す。ま
た、図9に、本実施例によるページディレクトリ70、
ラインディレクトリ90の内容の1例を示す。最初に、
図7〜図9により、本実施例の概要を説明する。8台の
プロセッサI〜VIIIが、それぞれ共有メモリから6
ラインだけ登録できるキャッシュメモリ20−0〜7を
持つ場合の、キャッシュメモリの内容の例を図7に示
す。各プロセッサのキャッシュメモリ20が図7に示す
登録状況である時、本実施例に示す方式で、各ラインが
登録されているプロセッサを記憶した場合の、ページデ
ィレクトリ70およびラインディレクトリ90を図9に
示す。ただし、ライン0〜7の8本で共有メモリ1ペー
ジとし、そのページのページディレクトリ70、ライン
0〜7に対応するラインディレクトリ90−0〜7の内
容のみ示す。
1 to 6 show an embodiment of the present invention. Further, FIG. 9 shows a page directory 70 according to the present embodiment.
An example of the contents of the line directory 90 is shown. At first,
The outline of the present embodiment will be described with reference to FIGS. Eight processors I-VIII are each connected to shared memory 6
FIG. 7 shows an example of the contents of the cache memory having the cache memories 20-0 to 20-7 capable of registering only lines. When the cache memory 20 of each processor has the registration status shown in FIG. 7, the page directory 70 and the line directory 90 when the processor in which each line is registered are stored by the method shown in this embodiment are shown in FIG. Show. However, one line of the shared memory is made up of eight lines 0 to 7, and only the contents of the page directory 70 of that page and the line directories 90-0 to 90 corresponding to the lines 0 to 7 are shown.

【0011】ライン0〜7を記憶しているプロセッサ
は、プロセッサI、II、III、VIであるため、ペ
ージディレクトリ70のポインタ94にはプロセッサ
I、II、III、VIの4つのプロセッサIDを記憶
する。さらに、各ラインに、ラインディレクトリ90−
0〜7を用意する。ラインディレクトリ90−0〜7
は、そのラインをキャッシュメモリ20−0〜7に登録
しているプロセッサが、ページディレクトリ70に記憶
されているプロセッサのうち、どのプロセッサであるか
をビットマップ形式で記憶する。本例では、ページディ
レクトリ70に記憶されるプロセッサ4つに対応した4
ビットのビットマップで、ラインディレクトリ90−0
〜7を構成している。例えば、ライン0に用意されたラ
インディレクトリ90−0が全て1であれば、ページデ
ィレクトリに記憶されているすべてのプロセッサI、I
I、III、VIがライン0をキャッシュに登録してい
ることを意味する。なお、ラインディレクトリ90−0
〜7は、ポインタ形式、すなわちポインタ列で構成する
ことも可能である。この場合、各ポインタは、ページデ
ィレクトリ70中のプロセッサ登録位置を示すことにな
る。例えば、図9の場合ページディレクトリには4つの
プロセッサIDが登録されているが、その登録位置にそ
れぞれポインタ00、01、10、11を与え、ライン
ディレクトリにはこのポインタを格納するようにする。
ページディレクトリ70のポインタ94のそれぞれに
は、そのポインタの使用/未使用を示すフラグを用意し
ても、用意しなくてもよい。用意しない場合には、ペー
ジディレクトリが記憶するプロセッサは常に定数個とな
る。この場合、ページディレクトリ70には記憶されて
いるが、対応するラインディレクトリ90−0〜7のビ
ットが全て0のプロセッサが有り得る。
Since the processors storing the lines 0 to 7 are the processors I, II, III and VI, the pointer 94 of the page directory 70 stores the four processor IDs of the processors I, II, III and VI. To do. Furthermore, for each line, the line directory 90-
Prepare 0-7. Line directory 90-0 to 7
Stores, in a bitmap format, which of the processors stored in the page directory 70 is the processor that registered the line in the cache memories 20-0 to 20-7. In this example, 4 corresponding to the 4 processors stored in the page directory 70
Bit directory, line directory 90-0
~ 7 are configured. For example, if all the line directories 90-0 prepared for the line 0 are 1, all the processors I, I stored in the page directory
It means that I, III, and VI have registered line 0 in the cache. The line directory 90-0
.About.7 can also be configured in a pointer format, that is, a pointer string. In this case, each pointer indicates the processor registration position in the page directory 70. For example, in the case of FIG. 9, four processor IDs are registered in the page directory, but pointers 00, 01, 10 and 11 are given to the registered positions, respectively, and these pointers are stored in the line directory.
Each of the pointers 94 of the page directory 70 may or may not be provided with a flag indicating use / unuse of the pointer. If not prepared, the page directory always stores a fixed number of processors. In this case, although there are processors stored in the page directory 70, all the bits of the corresponding line directories 90-0 to 90-7 may be 0.

【0012】リミテッドポインタ方式のディレクトリ
で、図7に示す登録状況を記憶した場合の、ライン0〜
7に用意されたディレクトリ92−0〜7の内容を図8
に示す。各ラインに用意されたディレクトリ92−0〜
7のポインタ94は、そのラインをキャッシュメモリ2
0−0〜7に登録しているプロセッサのIDをそのまま
記憶する。例えば、ライン0は、プロセッサI、II、
III、VIの4つのキャッシュメモリ20−0〜7に
登録されているため、ディレクトリ92−0には、プロ
セッサI、II、III、VIの4つのプロセッサID
が記憶されている。なお、各ポインタ94は、使用/未
使用を表すValidフラグ96が必要である。
Lines 0 to 0 when the registration status shown in FIG. 7 is stored in the limited pointer type directory.
8 shows the contents of the directories 92-0 to 92-7 prepared in FIG.
Shown in. Directories 92-0 to 92-0 prepared for each line
The pointer 94 of 7 indicates the line to the cache memory 2
The IDs of the processors registered in 0-0 to 7 are stored as they are. For example, line 0 is processor I, II,
Since it is registered in the four cache memories 20-0 to 7 of III and VI, the four processor IDs of processors I, II, III, and VI are stored in the directory 92-0.
Is remembered. It should be noted that each pointer 94 needs a Valid flag 96 indicating whether it is used or not.

【0013】一般に、あるラインをキャッシュメモリに
登録するプロセッサは、近接するラインもキャッシュメ
モリに登録する確率が高い。これは、ループ構造をもつ
プログラムでは、連続した領域を処理することが多いこ
とによる(一般的には、連続する領域を処理するよう
に、プログラムを最適化する)。例えば、図7のプロセ
ッサVのキャッシュメモリ20−4のように、連続する
ラインがキャッシュメモリに登録される確率は高い。上
記の特性がある場合、リミテッドポインタ方式では、近
接するディレクトリに同じプロセッサのIDが繰り返し
登録されることになる。この場合、ディレクトリのもつ
情報に冗長性が発生する。例えば、図8の8本のディレ
クトリ92−0〜7には、のべ22個のプロセッサID
が記憶されているが、記憶されているのはプロセッサ
I、II、III、VIの4つだけである。本実施例の
方式では、この冗長性を利用して、ディレクトリの容量
を削減する。図8、9の例で、それぞれに必要なディレ
クトリの容量を計算する。プロセッサは全8個であるか
ら、ポインタ94は3ビット必要である。リミテッドポ
インタ方式では、Validビット96も含めて、全部
で(3+1)ビット×4ポインタ×8ライン=128ビ
ットのディレクトリ容量が必要になる。これに対し、本
実施例の方式では、ページディレクトリ70に3ビット
×4ポインタ=12ビット、ラインディレクトリ90−
0〜8に4ビット×8ライン=32ビット、合計44ビ
ットで済み、リミテッドポインタ方式に比べ、約1/3
の容量で済む。更に、4096台のプロセッサがネット
ワークで結合されている並列計算機で、本実施方式で必
要とされるディレクトリ容量を計算する。前記のフルマ
ップ方式およびリミテッドポインタ方式でディレクトリ
の容量を計算した際と同様に、ページおよびラインの大
きさは、1ページ64ライン、1ライン512ビット
(1ページ4Kバイト)とする。各ページのページディ
レクトリに登録できるプロセッサ数を16とした場合、
12/8バイト×16ポインタ+16/8バイト×64
ライン=152バイトとなる。また、各ページのページ
ディレクトリに登録できるプロセッサ数を64とした場
合にも、12/8バイト×64ポインタ+64/8バイ
ト×64ライン=608バイトで済む。これは、同条件
におけるフルマップ方式の32Kバイト、リミテッドポ
インタ方式の1664バイトに比べると、ディレクトリ
容量が低減されている。
Generally, a processor that registers a certain line in the cache memory has a high probability of registering an adjacent line in the cache memory. This is because a program having a loop structure often processes a continuous area (generally, the program is optimized to process a continuous area). For example, like the cache memory 20-4 of the processor V in FIG. 7, there is a high probability that consecutive lines will be registered in the cache memory. In the case of the above-mentioned characteristics, in the limited pointer method, the ID of the same processor is repeatedly registered in the adjacent directories. In this case, redundancy occurs in the information that the directory has. For example, a total of 22 processor IDs are stored in the eight directories 92-0 to 7 in FIG.
Are stored, but only the four processors I, II, III, and VI are stored. In the method of this embodiment, the capacity of the directory is reduced by utilizing this redundancy. In the examples of FIGS. 8 and 9, the required directory capacity is calculated for each. Since there are a total of eight processors, the pointer 94 requires 3 bits. The limited pointer method requires a directory capacity of (3 + 1) bits × 4 pointers × 8 lines = 128 bits in total including the Valid bit 96. On the other hand, in the method of this embodiment, the page directory 70 has 3 bits × 4 pointers = 12 bits, and the line directory 90−
4 bits for 0 to 8 x 32 lines = 32 bits, 44 bits in total, about 1/3 of the limited pointer method
Capacity is enough. Further, a parallel computer in which 4096 processors are connected via a network calculates the directory capacity required in this embodiment. Similar to the case where the directory capacity is calculated by the full map method and the limited pointer method, the size of page and line is set to 64 lines per page, 512 bits per line (4 Kbytes per page). If the number of processors that can be registered in the page directory of each page is 16,
12/8 bytes x 16 pointers + 16/8 bytes x 64
Line = 152 bytes. Further, even when the number of processors that can be registered in the page directory of each page is 64, it will be 12/8 bytes × 64 pointers + 64/8 bytes × 64 lines = 608 bytes. This is smaller in directory capacity than the full-map type 32 Kbytes and the limited pointer type 1664 bytes under the same conditions.

【0014】本実施例においては、ページディレクトリ
が全て使用されていて、かつさらに新たなプロセッサを
ページディレクトリに記憶する必要が生じた場合の処理
が問題となる。この処理の概要を、図1を用いて説明す
る。本実施例では、ページディレクトリ70が全て使用
されていて、かつさらに新たなプロセッサをページディ
レクトリ70に記憶する必要が生じた場合には、ページ
ディレクトリ70に記憶されているプロセッサのうち、
最も記憶された時間が早いプロセッサを指すページディ
レクトリポインタ80により指されるプロセッサに対し
て、メッセージ解釈/実行部50がリプレース処理を要
求する。例えば,ページディレクトリ70に既に記憶さ
れているプロセッサ15について、プロセッサ215へ
のリプレース処理を行なう場合、メッセージ解釈/実行
部50は、プロセッサ15に、ページディレクトリ70
の所属する共有メモリ45のページから、キャッシュメ
モリ20に登録されているラインを全て共有メモリ45
に書き戻すよう要求し、プロセッサ15をラインディレ
クトリ90およびページディレクトリ70より消去する
ことで、ディレクトリを空けた後に、新しいプロセッサ
215をページディレクトリ70に記憶する。ページデ
ィレクトリポインタ80は、リプレース処理ごとにイン
クリメント(またはディクリメント)することで、最も
記憶された時間が早いプロセッサを常に指すことができ
る。さらに、ページディレクトリ70に記憶されている
プロセッサそれぞれについて、記憶抹消の可否を表すロ
ックビット75を持たせることで、記憶抹消を避けたい
プロセッサのリプレースを禁止することができる。この
場合、リプレース処理の必要が生じた場合には、ページ
ディレクトリポインタ80がロックビット75によりリ
プレースが禁止されていないプロセッサを指すまで、ペ
ージディレクトリポインタ80をインクリメント(また
はディクリメント)する。ページディレクトリポインタ
80およびロックビット75により、リプレース処理の
頻発を避け、リプレース処理の時間コストを低減でき
る。
In this embodiment, there is a problem in processing when the page directory is completely used and it is necessary to store a new processor in the page directory. The outline of this process will be described with reference to FIG. In the present embodiment, when all the page directories 70 are used and a new processor needs to be stored in the page directory 70, among the processors stored in the page directory 70,
The message interpretation / execution unit 50 requests replacement processing to the processor pointed to by the page directory pointer 80 that points to the processor with the earliest stored time. For example, when replacing the processor 15 already stored in the page directory 70 with the processor 215, the message interpretation / execution unit 50 causes the processor 15 to notify the page directory 70.
From the page of the shared memory 45 to which all the lines registered in the cache memory 20 belong
, And the processor 15 is erased from the line directory 90 and the page directory 70, so that the new processor 215 is stored in the page directory 70 after the directory is emptied. The page directory pointer 80 can always point to the processor with the earliest stored time by incrementing (or decrementing) each replacement process. Furthermore, by providing each processor stored in the page directory 70 with a lock bit 75 indicating whether or not the memory can be erased, it is possible to prohibit the replacement of the processor whose memory is to be erased. In this case, when the replacement process becomes necessary, the page directory pointer 80 is incremented (or decremented) until the page directory pointer 80 points to a processor whose replacement is prohibited by the lock bit 75. By using the page directory pointer 80 and the lock bit 75, frequent replacement processing can be avoided and the time cost for replacement processing can be reduced.

【0015】図1〜図6を用いて、本実施例の詳細を説
明する。図1はシステムユニット0、200、1000
を持つ、分散型共有メモリ方式の並列計算機である。各
システムユニットは、プロセッサノード10、210、
1010、メモリノード40、240、1040より構
成される。本実施例は、全てのプロセッサユノード1
0、210、1010と、メモリユノード40、24
0、1040との間を、ネットワーク1500で接続し
た、均質な分散型共有メモリである。同一システムユニ
ット0内のプロセッサノード10とメモリノード40、
システムユニット200内のプロセッサノード210と
メモリノード240、システムユニット1000内のプ
ロセッサノード1010とメモリノード1040間の接
続には、ネットワーク1500を利用せずに、別に用意
した結合方法を利用する、不均質な分散型共有メモリに
おいても、本実施例は、適応できる。また、本実施例で
は、常に、ページディレクトリ70が全て使用されてい
る状態で動作させる。この場合、ページディレクトリ7
0へ新たにプロセッサ15、215、1015を記憶さ
せる場合、必ずリプレース処理が必要になる。
The details of this embodiment will be described with reference to FIGS. FIG. 1 shows system units 0, 200 and 1000.
It is a distributed shared memory parallel computer. Each system unit includes a processor node 10, 210,
1010 and memory nodes 40, 240, 1040. In this embodiment, all processor nodes 1
0, 210, 1010 and memory unit nodes 40, 24
A uniform distributed shared memory in which 0 and 1040 are connected by a network 1500. A processor node 10 and a memory node 40 in the same system unit 0,
The connection between the processor node 210 and the memory node 240 in the system unit 200 and the connection between the processor node 1010 and the memory node 1040 in the system unit 1000 does not use the network 1500 but uses a separately prepared coupling method. This embodiment can be applied to various distributed shared memories. Further, in the present embodiment, the page directory 70 is always operated in a state of being used. In this case, page directory 7
When the processors 15, 215, and 1015 are newly stored in 0, the replacement process is necessary.

【0016】システムユニット0についてのみ、プロセ
ッサノード10およびメモリノード40の構成を述べ
る。他のシステムユニット200、1000もシステム
ユニット0と同じ構成である。プロセッサノード10
は、プロセッサ15、キャッシュメモリ20、プロセッ
サネットワーク接続回路25、メッセージ組立回路3
0、メッセージ分解回路35より構成される。プロセッ
サネットワーク接続回路25は、プロセッサ15の共有
メモリ45、245、1045に対する要求が、どのメ
モリノード40、240、1040に対する要求である
かを判別するための分散メモリマップ27を持ち、また
プロセッサ0とメッセージ組立回路30、メッセージ分
解回路35とを接続する機能とを持つ。メッセージ組立
回路30は、プロセッサネットワーク接続回路25から
のネットワーク1500に対するメモリノード番号、ア
ドレス、データおよびコマンドに対し、メッセージパケ
ットを生成して、ネットワーク1500に送る機能を持
つ。メッセージ分解回路35は、ネットワークからのメ
ッセージパケットを、アドレス、データおよびコマンド
に分解して、プロセッサネットワーク接続回路25に送
る機能をもつ。
Only for the system unit 0, the configurations of the processor node 10 and the memory node 40 will be described. The other system units 200 and 1000 have the same configuration as the system unit 0. Processor node 10
Is a processor 15, a cache memory 20, a processor network connection circuit 25, a message assembly circuit 3
0, a message decomposition circuit 35. The processor network connection circuit 25 has a distributed memory map 27 for determining which memory node 40, 240, 1040 the request for the shared memory 45, 245, 1045 of the processor 15 is, and the processor 0 and the processor 0. It has a function of connecting the message assembling circuit 30 and the message disassembling circuit 35. The message assembling circuit 30 has a function of generating a message packet for the memory node number, address, data and command for the network 1500 from the processor network connection circuit 25 and sending the message packet to the network 1500. The message decomposing circuit 35 has a function of decomposing a message packet from the network into an address, data and a command, and sending it to the processor network connection circuit 25.

【0017】メモリノード40は、共有メモリ45、ぺ
ージディレクトリ70、ロックビット75、ページディ
レクトリポインタ80、ラインディレクトリ90、ペー
ジディレクトリ制御回路65、ラインディレクトリ制御
回路85、メッセージ組立回路55、メッセージ分解回
路60より構成される。メッセージ解釈/実行部50
は、プロセッサ15、215、1015の要求に対し、
ページディレクトリ70、ロックビット75、ページデ
ィレクトリポインタ80にアドレス線173を介してペ
ージ番号を送るほか、ページディレクトリ制御回路6
5、ラインディレクトリ制御回路85にアドレス情報、
データ、制御信号を送り、ページディレクトリ70、ラ
インディレクトリ90の書き込み、または読み出しを行
う。また、共有メモリ45の書き込み、読み出しを行
う。本実施例では、メッセージ解釈/実行部50を、内
部にプロセッサ、メモリ、およびI/Oを持つ制御シス
テムとするが、回路で構成することも可能である。ペー
ジディレクトリ制御回路65は、メッセージ解釈/実行
部50からの制御信号により、ページディレクトリ7
0、ロックビット75、ページディレクトリポインタ8
0を操作する回路である。ラインディレクトリ制御回路
85は、メッセージ解釈/実行部50からの制御信号に
より、ラインディレクトリ90を操作する回路である。
The memory node 40 includes a shared memory 45, a page directory 70, a lock bit 75, a page directory pointer 80, a line directory 90, a page directory control circuit 65, a line directory control circuit 85, a message assembly circuit 55, and a message disassembly circuit. It consists of 60. Message interpreter / executor 50
Responds to requests from processors 15, 215, 1015
In addition to sending the page number to the page directory 70, the lock bit 75, and the page directory pointer 80 via the address line 173, the page directory control circuit 6
5, address information in the line directory control circuit 85,
Data and control signals are sent to write or read the page directory 70 and line directory 90. In addition, writing to and reading from the shared memory 45 are performed. In this embodiment, the message interpretation / execution unit 50 is a control system having a processor, a memory, and an I / O therein, but it may be configured by a circuit. The page directory control circuit 65 receives the page directory 7 according to the control signal from the message interpreting / executing unit 50.
0, lock bit 75, page directory pointer 8
It is a circuit that operates 0. The line directory control circuit 85 is a circuit for operating the line directory 90 by a control signal from the message interpreting / executing unit 50.

【0018】図2にページディレクトリ制御回路65の
構成を示す。ここでは、ページディレクトリ70に各ペ
ージごとに登録できるプロセッサ数を、mとしている。
プロセッサ番号レジスタ101には、メッセージ解釈/
実行部50よりデータ線157で送られてきたプロセッ
サ番号が入る。プロセッサ番号レジスタ110〜114
には、データ線170より送られてきた、ページディレ
クトリ70に記憶されているプロセッサ番号が入る。プ
ロセッサ番号レジスタ110〜114の数はmである。
比較器105〜109は、プロセッサ番号レジスタ10
1とプロセッサ番号レジスタ110〜114のプロセッ
サ番号を比較し、一致判定結果を、ビット演算器12
0、およびデータ線160を介してラインディレクトリ
制御回路85のビット演算器180に送る回路である。
比較結果が全て不一致の場合には、データ線145によ
り、メッセージ解釈/実行部50へ不一致が出力され
る。マルチプレクサ117は、プロセッサ番号レジスタ
110〜114に記憶されているプロセッサ番号のう
ち、セレクタ118からの信号により決定される1つ
を、メッセージ解釈/実行部50に出力する回路であ
る。デマルチプレクサ119は、メッセージ解釈/実行
部50からの制御信号150に応じて、プロセッサ番号
レジスタ101に記憶されているプロセッサ番号を、プ
ロセッサ番号レジスタ110〜114のうちポインタ情
報レジスタ122により示される1つのレジスタへ出力
する回路である。ロック情報レジスタ121には、デー
タ線171より送られてきた、ロックビット75の1ペ
ージ分のロック情報が入る。ビット演算器120は、ロ
ック情報レジスタ121の内容を、メッセージ解釈/実
行部50からの制御信号151に応じてセット、制御信
号152に応じてリセットする回路である。ロック情報
レジスタ121のどのビットをセット/リセットするか
は、比較器105〜109からの一致信号により決定さ
れる。また、ビット演算器120は、メッセージ解釈/
実行部50からの制御信号153に応じて、ロック情報
レジスタ121のビットが0か1かをテストし、結果を
データ線146を介してメッセージ解釈/実行部50へ
送る機能を持つ。テストするビットは、ポインタ情報レ
ジスタ122からのデータにより決定される。ポインタ
情報レジスタ122には、データ線172から送られて
きた、ディレクトリページポインタ80の1ページ分の
情報が入る。ポインタレジスタの内容は、データ線16
1を介して、ラインディレクトリ制御回路85のビット
演算器180にも出力される。インクリメント回路12
3は、ポインタ情報レジスタ122の内容を、メッセー
ジ解釈/実行部50からの制御信号156に応じて、イ
ンクリメントする回路である。プライオリティエンコー
ダは、ラインディレクトリ制御回路85からデータ線1
65で送られてきたライン情報レジスタ179の内容を
エンコードする回路である。エンコードした結果が複数
になる場合には、一定の方法もしくはランダムな方法に
より、一つを選んでセレクタ118に出力する。メッセ
ージ解釈/実行部50からの制御線155により、エン
コードした複数の結果を順にセレクタ118に出力する
機能も持つ。セレクタ118は、メッセージ解釈/実行
部50からの制御信号154に応じて、マルチプレクサ
117に出力する信号を、ポインタ情報レジスタ122
の内容か、プライオリティエンコーダ124の内容かに
切り換える回路である。
FIG. 2 shows the configuration of the page directory control circuit 65. Here, the number of processors that can be registered in the page directory 70 for each page is m.
The processor number register 101 stores message interpretation /
The processor number sent from the execution unit 50 via the data line 157 is entered. Processor number registers 110-114
In, the processor number stored in the page directory 70 sent from the data line 170 is entered. The number of processor number registers 110 to 114 is m.
The comparators 105 to 109 are the processor number register 10
1 and the processor numbers of the processor number registers 110 to 114 are compared, and the coincidence determination result is determined by the bit calculator 12
It is a circuit for sending to the bit calculator 180 of the line directory control circuit 85 via 0 and the data line 160.
If all the comparison results do not match, the data line 145 outputs the mismatch to the message interpretation / execution unit 50. The multiplexer 117 is a circuit that outputs one of the processor numbers stored in the processor number registers 110 to 114, which is determined by the signal from the selector 118, to the message interpretation / execution unit 50. In response to the control signal 150 from the message interpreting / executing unit 50, the demultiplexer 119 sets the processor number stored in the processor number register 101 to one of the processor number registers 110 to 114 indicated by the pointer information register 122. It is a circuit that outputs to a register. The lock information register 121 stores the lock information for one page of the lock bit 75 sent from the data line 171. The bit calculator 120 is a circuit that sets the contents of the lock information register 121 according to the control signal 151 from the message interpreting / executing unit 50 and resets it according to the control signal 152. Which bit of the lock information register 121 is set / reset is determined by a match signal from the comparators 105 to 109. Further, the bit calculator 120 interprets the message /
It has a function of testing whether the bit of the lock information register 121 is 0 or 1 according to the control signal 153 from the execution unit 50 and sending the result to the message interpretation / execution unit 50 via the data line 146. The bit to test is determined by the data from the pointer information register 122. Information for one page of the directory page pointer 80 sent from the data line 172 is stored in the pointer information register 122. The contents of the pointer register are the data line 16
It is also output to the bit calculator 180 of the line directory control circuit 85 via 1. Increment circuit 12
Reference numeral 3 is a circuit that increments the contents of the pointer information register 122 according to the control signal 156 from the message interpreting / executing unit 50. The priority encoder uses the data line 1 from the line directory control circuit 85.
It is a circuit that encodes the contents of the line information register 179 sent in 65. When there are a plurality of encoded results, one is selected by a fixed method or a random method and output to the selector 118. The control line 155 from the message interpretation / execution unit 50 also has a function of sequentially outputting a plurality of encoded results to the selector 118. The selector 118 outputs the signal output to the multiplexer 117 according to the control signal 154 from the message interpretation / execution unit 50 to the pointer information register 122.
Or the content of the priority encoder 124.

【0019】図3に、ラインディレクトリ制御回路90
の構成を示す。ライン番号発生器175は、メッセージ
解釈/実行部50からの制御線188に応じて、全ての
ライン番号を順々に発生させる回路である。発生させた
ライン番号は、セレクタ176に出力される。ライン番
号発生器175は、ビット演算器180にテスト要求も
出力する。セレクタ176は、メッセージ解釈/実行部
50からの制御線187に応じて、ライン番号発生器1
75の出力するライン番号、もしくはアドレス線185
より得られるメッセージ解釈/実行部50からのライン
番号のどちらかを出力する回路である。ミキサ178
は、メッセージ解釈/実行部50よりアドレス線186
で送られてきた、ページ番号と、セレクタ176からの
ライン番号とを合成して、ラインディレクトリ90のア
ドレス線160に結果を出力する回路である。ライン情
報レジスタ179には、データ線197から送られてき
た、ラインディレクトリ90の1ライン分の情報が入
る。ライン情報レジスタ179の内容は、データ線16
5より、ページディレクトリ制御回路65のプライオリ
ティエンコーダ155に出力される。ビット演算器18
0は、ライン情報レジスタ180の内容を、メッセージ
解釈/実行部50からの制御信号189に応じてセッ
ト、制御信号190に応じてリセットする回路である。
ライン情報レジスタ179のどのビットをセット/リセ
ットするかは、ページディレクトリ制御回路65の比較
器105〜109からの一致信号160により決定され
る。また、ビット演算器180は、ライン番号発生器1
75からの制御信号に応じて、ライン情報レジスタ17
9のビットが0か1かをテストし、結果をライン番号ラ
ッチ177に出力する機能を持つ。テストするビット
は、ページディレクトリ制御回路65のポインタ情報レ
ジスタ161からのデータにより決定される。ライン番
号ラッチ177は、ビット演算器180のテスト結果が
真の場合に、セレクタ176の出力するライン番号をメ
ッセージ解釈/実行部50に出力する回路である。
FIG. 3 shows a line directory control circuit 90.
Shows the configuration of. The line number generator 175 is a circuit that sequentially generates all the line numbers according to the control line 188 from the message interpretation / execution unit 50. The generated line number is output to the selector 176. The line number generator 175 also outputs a test request to the bit calculator 180. The selector 176 receives the line number generator 1 according to the control line 187 from the message interpretation / execution unit 50.
75 output line number or address line 185
This is a circuit for outputting either of the line numbers from the message interpretation / execution unit 50 obtained further. Mixer 178
Is the address line 186 from the message interpreter / executor 50.
It is a circuit for synthesizing the page number and the line number sent from the selector 176, which are sent in step S1, and outputting the result to the address line 160 of the line directory 90. The line information register 179 stores information for one line of the line directory 90 sent from the data line 197. The content of the line information register 179 is the data line 16
5 is output to the priority encoder 155 of the page directory control circuit 65. Bit calculator 18
Reference numeral 0 is a circuit that sets the content of the line information register 180 according to the control signal 189 from the message interpreting / executing unit 50 and resets it according to the control signal 190.
Which bit of the line information register 179 is set / reset is determined by the coincidence signal 160 from the comparators 105 to 109 of the page directory control circuit 65. Further, the bit calculator 180 is the line number generator 1
In response to a control signal from 75, the line information register 17
It has a function of testing whether the 9th bit is 0 or 1 and outputting the result to the line number latch 177. The bit to be tested is determined by the data from the pointer information register 161 of the page directory control circuit 65. The line number latch 177 is a circuit that outputs the line number output by the selector 176 to the message interpretation / execution unit 50 when the test result of the bit calculator 180 is true.

【0020】以下に、本発明方式による、プロセッサ1
5によるロード、ストア、フラッシュ実行時のメモリ制
御機構の動作を説明する。プロセッサ15は、ストアイ
ン型のキャッシュメモリ20を持つとする。この中で、
ページディレクトリ制御回路65、ラインディレクトリ
制御回路85の動作が必要とされるページディレクトリ
チェック2000、ページディレクトリ記憶2100、
プロセッサ検索2200、全プロセッサ検索2300、
ラインディレクトリ記憶2400、ラインディレクトリ
抹消2500、ロックビットセット、ロックビットリセ
ットの詳細は、後に説明する。
The processor 1 according to the method of the present invention will be described below.
The operation of the memory control mechanism at the time of executing load, store, and flush according to No. 5 will be described. It is assumed that the processor 15 has a store-in type cache memory 20. In this,
Page directory control circuit 65, line directory control circuit 85, page directory check 2000, page directory storage 2100,
Processor search 2200, all processor search 2300,
Details of the line directory storage 2400, the line directory deletion 2500, the lock bit set, and the lock bit reset will be described later.

【0021】[1]プロセッサ15が共有メモリ45の
データをロードする場合 キャッシュメモリ20に目的のデータを含むラインが登
録されている場合には、プロセッサ15よりプロセッサ
ネットワーク接続回路25へはロード要求は出力され
ず、動作は全て終了となる。キャッシュメモリ20に目
的のデータを含むラインが登録されていない場合に、プ
ロセッサ15よりプロセッサネットワーク接続回路25
にロード要求が出力され、以下の動作を行う。プロセッ
サネットワーク接続回路25において、分散メモリマッ
プ27をチエックし、ロード要求は共有メモリ45への
ロード要求と判断される。プロセッサネットワーク接続
回路25は、メッセージ組立回路30、ネットワーク1
500、メッセージ分解回路60を介して、メッセージ
解釈/実行部50にロードコマンドを送付する。
[1] When the processor 15 loads the data in the shared memory 45 When the line containing the target data is registered in the cache memory 20, the load request is sent from the processor 15 to the processor network connection circuit 25. No operation is output and all operations are completed. When the line including the target data is not registered in the cache memory 20, the processor 15 connects the processor network connection circuit 25 to the processor network connection circuit 25.
A load request is output to and the following operation is performed. In the processor network connection circuit 25, the distributed memory map 27 is checked, and the load request is determined to be a load request to the shared memory 45. The processor network connection circuit 25 includes a message assembly circuit 30, a network 1
A load command is sent to the message interpretation / execution unit 50 via the message decomposition circuit 60.

【0022】ロードコマンドに対するメッセージ解釈/
実行部50の動作を図4に示し、以下に説明する。ロー
ドコマンドを受けたメッセージ解釈/実行部50はペー
ジディレクトリチェック2000を行い、プロセッサ1
5がページディレクトリ70に記憶されているかを調べ
る。記憶されていなければ、ページディレクトリ記憶2
100を行い、プロセッサ15をページディレクトリ7
0に記憶させる。次に他のプロセッサ215、1015
が、そのラインをキャッシュメモリ220、1020に
登録していないかどうかプロセッサ検索2200を行
う。その結果、例えばプロセッサ215のキャッシュメ
モリ220に登録されていれば、メッセージ解釈/実行
部50は、メッセージ組立回路55、ネットワーク15
00、メッセージ分解回路235、プロセッサネットワ
ーク接続回路225を介して、プロセッサ215にライ
ンをプロセッサ15へ転送するように依頼する。依頼さ
れたプロセッサ215は、キャッシュメモリ220より
ラインを読みだし、プロセッサネットワーク接続回路2
25、メッセージ組立回路230、ネットワーク150
0、メッセージ分解回路35、プロセッサネットワーク
接続回路25を介して、プロセッサ15へとラインを転
送する。ラインのキャッシュメモリ220、1020へ
の登録がない場合には、メッセージ解釈/実行部50は
共有メモリ45よりラインを読みだし、そのラインをメ
ッセージ組立回路55、ネットワーク1500、メッセ
ージ分解回路35、プロセッサネットワーク接続回路2
5を介して、プロセッサ15に送る。最後に、メッセー
ジ解釈/実行部50は、ラインディレクトリ記憶240
0を実行し、プロセッサ15をラインディレクトリ90
に記憶させる。以上で、プロセッサ15が共有メモリ4
5のデータをロードする場合の動作の説明を終了する。
Message interpretation for load command /
The operation of the execution unit 50 is shown in FIG. 4 and will be described below. Upon receiving the load command, the message interpreting / executing unit 50 performs page directory check 2000, and the processor 1
Check whether 5 is stored in the page directory 70. Page directory storage 2 if not stored
100, processor 15 to page directory 7
Store to 0. Next, another processor 215, 1015
Performs a processor search 2200 to see if the line is registered in the cache memories 220 and 1020. As a result, for example, if it is registered in the cache memory 220 of the processor 215, the message interpretation / execution unit 50 causes the message assembling circuit 55, the network 15
00, the message decomposing circuit 235, and the processor network connecting circuit 225 to request the processor 215 to transfer the line to the processor 15. The requested processor 215 reads the line from the cache memory 220, and the processor network connection circuit 2
25, message assembly circuit 230, network 150
0, the message decomposition circuit 35, and the processor network connection circuit 25 to transfer the line to the processor 15. If the line is not registered in the cache memories 220 and 1020, the message interpretation / execution unit 50 reads the line from the shared memory 45, and the line is assembled into the message assembly circuit 55, the network 1500, the message decomposition circuit 35, the processor network. Connection circuit 2
5 to the processor 15. Finally, the message interpreter / executor 50 uses the line directory store 240
0 to run processor 15 in line directory 90
To memorize. With the above processing, the processor 15 causes the shared memory 4
The description of the operation for loading data No. 5 is finished.

【0023】[2]プロセッサ15が共有メモリ45の
データにストアする場合 キャッシュメモリ20にストアするデータを含むライン
が登録されていない場合、最初に上記データのロードと
同じ動作が行われる。目的のデータを含むラインがキャ
ッシュメモリ20に登録された状態で、以下の動作が行
われる。プロセッサ15は、ストアを実行する場合に、
他プロセッサ215、1015のキャッシュメモリ22
0、1020に登録しているそのラインを無効化する要
求を、プロセッサネットワーク接続回路25に出力す
る。プロセッサネットワーク接続回路25は、分散メモ
リマップ27をチェックすることで、ストアするデータ
が、元は共有メモリ45のデータであることを判断し、
メッセージ組立回路30、ネットワーク1500、メッ
セージ分解回路60を介し、インバリデートコマンドを
送る。インバリデートコマンドに対するメッセージ解釈
/実行部50の動作を、図5に示し、以下に説明する。
インバリデートコマンドを受けたメッセージ解釈/実行
部50は、そのラインをキャッシュメモリ220、10
20に登録している全プロセッサ番号を抽出するする全
プロセッサ検索2300を行う。その結果、例えばプロ
セッサ15、プロセッサ215、プロセッサ1015の
キャッシュメモリ20、キャッシュメモリ220、キャ
ッシュメモリ1020に登録されていた場合、メッセー
ジ解釈/実行部50は、インバリデート要求元であるプ
ロセッサ15を除くプロセッサ215、プロセッサ10
15に、メッセージ組立回路55、ネットワーク150
0、メッセージ分解回路235およびメッセージ分解回
路1035、プロセッサネットワーク接続回路225お
よびプロセッサネットワーク接続回路1025を介し
て、そのラインの無効化を要求する。プロセッサ215
およびプロセッサ1015は、そのラインをキャッシュ
メモリ220およびキャッシュメモリ1020から無効
化した後に、プロセッサネットワーク接続回路225お
よびプロセッサネットワーク接続回路1025、メッセ
ージ組立回路230およびメッセージ組立回路103
0、ネットワーク1500、メッセージ分解回路60を
介し、メッセージ解釈/実行部50に無効化終了を通達
する。メッセージ解釈/実行部50は、無効化終了を受
ける度に、無効化したプロセッサ215、またはプロセ
ッサ1015の記憶を、そのラインのラインディレクト
リ90より抹消するラインディレクトリ抹消2500を
行う。インバリデートコマンドを要求したプロセッサ1
5以外のプロセッサ215とプロセッサ1015の無効
化終了受理およびラインディレクトリ抹消2500を終
了した後に、メッセージ解釈/実行部50は、メッセー
ジ組立回路55、ネットワーク1500、メッセージ分
解回路35、プロセッサネットワーク接続回路25を介
して、プロセッサ15にインバデーションコマンド終了
を通達する。以上で、プロセッサ15が共有メモリ45
のデータにストアする場合の動作の説明を終了する。
[2] When the processor 15 stores in the data of the shared memory 45 When the line including the data to be stored in the cache memory 20 is not registered, the same operation as the above-mentioned data loading is first performed. The following operation is performed while the line including the target data is registered in the cache memory 20. When the processor 15 executes the store,
Cache memory 22 of other processors 215, 1015
A request for invalidating the line registered in 0, 1020 is output to the processor network connection circuit 25. The processor network connection circuit 25 checks the distributed memory map 27 to determine that the data to be stored is originally the data in the shared memory 45,
An invalidate command is sent via the message assembly circuit 30, the network 1500, and the message decomposition circuit 60. The operation of the message interpreter / executor 50 for the invalidate command is shown in FIG. 5 and described below.
The message interpretation / execution unit 50 that has received the invalidate command sets the line to the cache memories 220, 10
An all processor search 2300 for extracting all processor numbers registered in 20 is performed. As a result, for example, when the processor 15, the processor 215, and the cache memory 20 of the processor 1015, the cache memory 220, and the cache memory 1020 are registered, the message interpreting / executing unit 50 excludes the processor 15 that is the invalidation request source. 215, processor 10
15, message assembly circuit 55, network 150
0, the message decomposing circuit 235 and the message decomposing circuit 1035, the processor network connecting circuit 225, and the processor network connecting circuit 1025 are requested to invalidate the line. Processor 215
And the processor 1015 invalidates the line from the cache memory 220 and the cache memory 1020, and then the processor network connection circuit 225 and the processor network connection circuit 1025, the message assembly circuit 230 and the message assembly circuit 103.
0, the network 1500, and the message decomposing circuit 60 to notify the message interpreting / executing unit 50 of the invalidation end. Each time the message interpretation / execution unit 50 receives the invalidation completion, it erases the memory of the invalidated processor 215 or the processor 1015 from the line directory 90 of the line, and performs line directory elimination 2500. Processor 1 that requested the invalidate command
After completing the invalidation termination acceptance and line directory deletion 2500 of the processors 215 and 1015 other than 5, the message interpreting / executing unit 50 causes the message assembling circuit 55, the network 1500, the message disassembling circuit 35, and the processor network connecting circuit 25 to operate. Via the end of the invalidation command, the processor 15 is notified of the completion. With the above processing, the processor 15 causes the shared memory 45
This ends the description of the operation for storing in the data.

【0024】[3]プロセッサ15が共有メモリ45に
ラインをフラッシュする場合 プロセッサ15は、フラッシュ要求をプロセッサネット
ワーク接続回路25に、フラッシュするラインとともに
出力する。プロセッサネットワーク接続回路25は、分
散メモリマップ27をチェックすることで、フラッシュ
するラインが、元は共有メモリ45のラインであること
を判断し、メッセージ組立回路30、ネットワーク15
00、メッセージ分解回路60を介し、ラインとともに
フラッシュコマンドを送る。フラッシュコマンドに対す
るメッセージ解釈/実行部50の動作を、図6に示し、
以下に説明する。フラッシュコマンドを受けたメッセー
ジ解釈/実行部50は、そのラインを共有メモリ45に
書き戻す。さらに、そのラインのラインディレクトリ9
0よりプロセッサ15の記憶を抹消するラインディレク
トリ抹消2500を行う。最後に、メッセージ解釈/実
行部50は、メッセージ組立回路55、ネットワーク1
500、メッセージ分解回路35、プロセッサネットワ
ーク接続回路25を介し、プロセッサ15にフラッシュ
コマンド終了を通達する。以上で、プロセッサ15が共
有メモリ45のラインをフラッシュする場合の動作の説
明を終了する。
[3] When Processor 15 Flushes Line to Shared Memory 45 The processor 15 outputs a flush request to the processor network connection circuit 25 together with the line to be flushed. The processor network connection circuit 25 checks the distributed memory map 27 to determine that the line to be flushed is originally the line of the shared memory 45, and the message assembly circuit 30 and the network 15
00, send a flush command with the line via the message decomposition circuit 60. The operation of the message interpretation / execution unit 50 for the flash command is shown in FIG.
This will be described below. The message interpretation / execution unit 50 that has received the flush command writes the line back to the shared memory 45. In addition, the line directory 9 for that line
The line directory deletion 2500 that deletes the memory of the processor 15 from 0 is performed. Finally, the message interpreter / executor 50 includes a message assembling circuit 55, a network 1
The end of the flash command is notified to the processor 15 via the 500, the message decomposition circuit 35, and the processor network connection circuit 25. This is the end of the description of the operation when the processor 15 flushes the line of the shared memory 45.

【0025】以下に、ページディレクトリ制御回路6
5、ラインディレクトリ制御回路85の動作が必要とさ
れるページディレクトリチェック2000、ページディ
レクトリ記憶2100、プロセッサ検索2200、全プ
ロセッサ検索2300、ラインディレクトリ記憶240
0、ラインディレクトリ消去2500、ロックビットセ
ット、ロックビットリセットの詳細な動作を説明する。
Below, the page directory control circuit 6
5, page directory check 2000 that requires the operation of the line directory control circuit 85, page directory storage 2100, processor search 2200, all processor search 2300, line directory storage 240
Detailed operations of 0, line directory deletion 2500, lock bit set, and lock bit reset will be described.

【0026】<1>ページディレクトリチェック200
0 ページディレクトリチェック2000は、プロセッサ1
5、215、1015がページディレクトリ70に記憶
されているかを調べる動作である。例として、プロセッ
サ15について調べるとする。メッセージ解釈/実行部
50は、データ線157より、ページディレクトリ制御
回路65内のプロセッサ番号レジスタ101に、プロセ
ッサ15のID番号を記憶させる。また、メッセージ解
釈/実行部50は、アドレス線173により、ページデ
ィレクトリ70に調査するページ番号を通達する。調査
するページのページディレクトリ情報は、データ線17
0を通り、プロセッサ番号レジスタ110〜114に記
憶される。プロセッサ番号レジスタ101の内容と、プ
ロセッサ番号レジスタ110〜114の内容とが、比較
器105〜109において比較され、結果がすべて不一
致であった場合には、データ線145より不一致がメッ
セージ解釈/実行部50に通達される。以上により、プ
ロセッサ15がページディレクトリ70に記憶されてい
るか調べる動作が終了する。
<1> Page directory check 200
0 Page Directory Check 2000 is for Processor 1
This is an operation for checking whether 5, 215 and 1015 are stored in the page directory 70. As an example, let us consider the processor 15. The message interpretation / execution unit 50 causes the processor number register 101 in the page directory control circuit 65 to store the ID number of the processor 15 through the data line 157. Further, the message interpreting / executing unit 50 informs the page directory 70 of the page number to be investigated through the address line 173. The page directory information of the page to be investigated is the data line 17
It goes through 0 and is stored in the processor number registers 110-114. The contents of the processor number register 101 and the contents of the processor number registers 110 to 114 are compared in the comparators 105 to 109, and if the results are all inconsistent, the message line interpreting / executing unit indicates that the inconsistencies are from the data line 145. 50 is notified. With the above, the operation of checking whether the processor 15 is stored in the page directory 70 ends.

【0027】<2>ページディレクトリ記憶2100 ページディレクトリ記憶2100は、ページディレクト
リ70より前述のリプレース処理を行うことで、プロセ
ッサ15、215、1015を新たに登録する動作であ
る。例として、プロセッサ215をページディレクトリ
70より抹消し、新たにプロセッサ15を登録させる動
作について説明する。メッセージ解釈/実行部50は、
アドレス線173により、ページディレクトリ70、ロ
ックビット75、ページディレクトリポインタ80に調
査するページ番号を通達する。調査するページの、ペー
ジディレクトリ情報はデータ線170を通りプロセッサ
番号レジスタ110〜114に、ロック情報はデータ線
171を通りロック情報レジスタ121に、ポインタ情
報はデータ線172を通りポインタ情報レジスタ122
に記憶される。メッセージ解釈/実行部50は、制御線
153よりビット演算器120に、ロック情報レジスタ
121のポインタ情報レジスタ122が指すビットの、
テストを要求する。ビット演算器120は、データ線1
46を通して、結果をメッセージ解釈/実行部50に送
る。メッセージ解釈/実行部は、もしテスト結果がロッ
ク状態とわかれば制御線156により、インクリメント
回路123にインクリメント要求を出す。インクリメン
ト回路123は、インクリメント要求があった場合には
ポインタ情報レジスタ122の内容を、インクリメント
する。メッセージ解釈/実行部50は、インクリメント
した場合には、再び制御線153よりビット演算器12
0に、ロック情報レジスタ121のポインタ情報レジス
タ122が指すビットの、テストを要求する。以上の動
作を、テスト結果がアンロック状態となるまで繰り返
す。m回繰り返しても、アンロック状態がない場合に
は、メッセージ解釈/実行部50は異常終了となる。
<2> Page Directory Storage 2100 The page directory storage 2100 is an operation for newly registering the processors 15, 215, and 1015 by performing the above-mentioned replacement processing from the page directory 70. As an example, the operation of deleting the processor 215 from the page directory 70 and newly registering the processor 15 will be described. The message interpretation / execution unit 50
The address line 173 informs the page directory 70, the lock bit 75, and the page directory pointer 80 of the page number to be examined. The page directory information of the page to be investigated passes through the data line 170 to the processor number registers 110 to 114, the lock information passes through the data line 171 to the lock information register 121, and the pointer information passes through the data line 172 and the pointer information register 122.
Memorized in. The message interpreter / executor 50 sends the bit calculator 120 through the control line 153 to the bit calculator 120 of the bit indicated by the pointer information register 122 of the lock information register 121.
Request a test. The bit calculator 120 uses the data line 1
The result is sent to the message interpreter / executor 50 via 46. If the message interpretation / execution unit finds that the test result is in the locked state, the message interpretation / execution unit issues an increment request to the increment circuit 123 via the control line 156. The increment circuit 123 increments the content of the pointer information register 122 when an increment request is made. When the message interpreter / executor 50 increments, the message interpreter / executor 50 sends the bit calculator 12 from the control line 153 again.
0 is requested to test the bit indicated by the pointer information register 122 of the lock information register 121. The above operation is repeated until the test result is unlocked. If there is no unlock state even after repeating m times, the message interpretation / execution unit 50 terminates abnormally.

【0028】アンロック状態がプロセッサ215につい
て見つかると、メッセージ解釈/実行部50は、制御線
154により、セレクタ118の出力をポインタ情報レ
ジスタ122側のデータとする。セレクタ118の出力
により、マルチプレクサ117は、プロセッサ番号レジ
スタ110〜114のうち、ポインタ情報レジスタ12
2の指すものの内容、つまりリプレース処理で抹消する
べきプロセッサ215のID番号を出力する。この出力
は、データ線140よりメッセージ解釈/実行部50に
送られる。これによって、メッセージ解釈/実行部50
は、リプレース処理で抹消すべきプロセッサのID番号
を入手する。
When the unlocked state is found for the processor 215, the message interpreter / executor 50 sets the output of the selector 118 to the data on the side of the pointer information register 122 through the control line 154. Based on the output of the selector 118, the multiplexer 117 causes the pointer information register 12 out of the processor number registers 110 to 114.
The content indicated by 2, that is, the ID number of the processor 215 to be deleted in the replacement process is output. This output is sent to the message interpreter / executor 50 via the data line 140. As a result, the message interpretation / execution unit 50
Obtains the ID number of the processor to be deleted in the replacement process.

【0029】次に、メッセージ解釈/実行部50は、制
御線187を使い、ラインディレクトリ制御回路85の
セレクタ176を、ライン番号発生器175側に切り替
える。また、メッセージ解釈/実行部50は、アドレス
線186より、ページ番号をミキサ178に送る。さら
に、メッセージ解釈/実行部50は、制御線188によ
り、ライン番号発生器175を起動する。
Next, the message interpreting / executing unit 50 uses the control line 187 to switch the selector 176 of the line directory control circuit 85 to the line number generator 175 side. Further, the message interpreting / executing unit 50 sends the page number to the mixer 178 via the address line 186. Further, the message interpreting / executing unit 50 activates the line number generator 175 through the control line 188.

【0030】ライン番号発生器175よりでたライン番
号は、セレクタ176を通り、ミキサ178でページ番
号とミクスされ、アドレス線195よりラインディレク
トリ90に出力される。ラインディレクトリ90の情報
は、ライン情報レジスタ179に入る。ライン番号発生
器175は、ビット演算器180にテスト要求信号を入
力する。ここで、ビット演算器180には、データ線1
61を通り、ページディレクトリ制御回路65のポイン
タ情報レジスタ122の内容、つまり、リプレースする
プロセッサ215のページディレクトリ70における位
置が入力されている。これにより、ビット演算器は、リ
プレースすべきプロセッサ215が、ライン番号発生器
175が出力するラインのラインディレクトリ90に記
憶されているかどうかを調べることになる。調べた結
果、記憶されていた場合には、ライン番号ラッチ177
に、出力要求信号を送る。出力要求信号を受けたライン
番号ラッチ177は、セレクタ176の出力を、データ
線181より、メッセージ解釈/実行部50に出力す
る。ライン番号発生器175は、ライン番号が一巡する
まで、新たなライン番号を発生させ、ビット演算器18
0にテスト要求信号を出力する。これにより、メッセー
ジ解釈/実行部50は、リプレース処理で抹消すべきプ
ロセッサ215がキャッシュメモリ220に登録してい
た、そのページのラインの番号全てを入手する。
The line number output from the line number generator 175 passes through the selector 176, is mixed with the page number in the mixer 178, and is output to the line directory 90 from the address line 195. Information in the line directory 90 enters the line information register 179. The line number generator 175 inputs the test request signal to the bit calculator 180. Here, the bit line 180 is connected to the data line 1
Through 61, the contents of the pointer information register 122 of the page directory control circuit 65, that is, the position of the processor 215 to be replaced in the page directory 70 is input. As a result, the bit calculator checks whether or not the processor 215 to be replaced is stored in the line directory 90 of the line output by the line number generator 175. As a result of the check, if it is stored, the line number latch 177
To the output request signal. Upon receiving the output request signal, the line number latch 177 outputs the output of the selector 176 to the message interpretation / execution unit 50 via the data line 181. The line number generator 175 generates a new line number until the line number makes a round, and the bit calculator 18
The test request signal is output to 0. As a result, the message interpretation / execution unit 50 obtains all the line numbers of the page registered in the cache memory 220 by the processor 215 to be deleted in the replacement process.

【0031】リプレース処理で抹消すべきプロセッサ2
15のID番号、およびャッシュメモリ220に登録し
ていたそのページのラインの番号全てを入手した後、メ
ッセージ解釈/実行部50は、メッセージ組立回路5
5、ネットワーク1500、メッセージ分解回路23
5、プロセッサネットワーク接続回路225を介し、プ
ロセッサ215にそのラインのフラッシュを要求する。
プロセッサ215より、プロセッサネットワーク接続回
路225、メッセージ組立回路230、ネットワーク1
500、メッセージ分解回路60を介し、メッセージ解
釈/実行部50までフラッシュデータが送出されてきた
ら、メッセージ解釈/実行部50はそのデータを共有メ
モリ45に書き戻す。
Processor 2 to be erased by the replacement process
After obtaining all the ID numbers of 15 and the line numbers of the page registered in the cache memory 220, the message interpreting / executing unit 50 causes the message assembling circuit 5 to execute.
5, network 1500, message decomposition circuit 23
5. Requests the processor 215 to flush the line via the processor network connection circuit 225.
From processor 215, processor network connection circuit 225, message assembly circuit 230, network 1
When the flash data is sent to the message interpretation / execution unit 50 via the message decomposition circuit 60, the message interpretation / execution unit 50 writes the data back to the shared memory 45.

【0032】その後、データ線157を使い、リプレー
スすべきプロセッサ215のID番号を、ページディレ
クトリ制御回路65のプロセッサ番号レジスタ101に
入力する。プロセッサ番号レジスタ110〜114には
そのページのページディレクトリ70の情報が入ってい
るので、比較器105〜109により比較されること
で、データ線160には、リプレースすべきプロセッサ
215の、ページディレクトリ70における位置が出力
される。ラインディレクトリ制御回路85のビット演算
器180には、データ線160により、リプレースすべ
きプロセッサ215の、ページディレクトリ70におけ
る位置が入力される。この状態で、アドレス線185の
信号が、セレクタ176より出力されるように、メッセ
ージ解釈/実行部50より制御信号187を出す。
Then, using the data line 157, the ID number of the processor 215 to be replaced is input to the processor number register 101 of the page directory control circuit 65. Since the processor number registers 110 to 114 store the information of the page directory 70 of the page, the data lines 160 are compared by the comparators 105 to 109, and the data line 160 has the page directory 70 of the processor 215 to be replaced. The position at is output. The position of the processor 215 to be replaced in the page directory 70 is input to the bit calculator 180 of the line directory control circuit 85 by the data line 160. In this state, the message interpreting / executing unit 50 issues a control signal 187 so that the signal on the address line 185 is output from the selector 176.

【0033】更に、メッセージ解釈/実行部50は、フ
ラッシュされたライン番号を、アドレス線185、セレ
クタ176を通し、ミキサ178に送る。アドレス線1
86にはそのページ番号が入力されているので、ライン
ディレクトリ90には、アドレス線195よりフラッシ
ュの終了したライン番号が入力される。ラインディレク
トリ90からは、そのラインの情報が、データ線197
を通り、ラインディレクトリレジスタ179に入力され
る。ここで、メッセージ解釈/実行部50から制御線1
90で、リセット要求を出力する。ビット演算器180
には、データ線160より、リプレースすべきプロセッ
サ215の、ページディレクトリ70における位置が入
力されているので、プロセッサ215の記憶がラインデ
ィレクトリレジスタ179より抹消される。抹消された
データをラインディレクトリ90に、データ線197を
通し、書き戻す。メッセージ解釈/実行部50は、フラ
ッシュされたすべてのラインについて、上記の抹消処理
を繰り返す。
Further, the message interpreting / executing unit 50 sends the flushed line number to the mixer 178 through the address line 185 and the selector 176. Address line 1
Since the page number is input to 86, the line number for which the flash is completed is input to the line directory 90 from the address line 195. From the line directory 90, the information of the line is the data line 197.
And is input to the line directory register 179. Here, from the message interpretation / execution unit 50 to the control line 1
At 90, a reset request is output. Bit calculator 180
Since the position of the processor 215 to be replaced in the page directory 70 is input to the data line 160, the memory of the processor 215 is deleted from the line directory register 179. The erased data is written back to the line directory 90 through the data line 197. The message interpretation / execution unit 50 repeats the erasure process described above for all the flushed lines.

【0034】ラインディレクトリ90からのプロセッサ
215の抹消処理の終了後、メッセージ解釈/実行部5
0は、新たにページディレクトリ70に記憶したいプロ
セッサ15のID番号を、データ線157を通して、ペ
ージディレクトリ制御回路のプロセッサ番号レジスタ1
01に入れる。ここで、ポインタ情報レジスタ122
は、プロセッサ215の記憶されているプロセッサ番号
レジスタ110〜114を指している。この状態で、メ
ッセージ解釈/実行部が、制御信号150により、デマ
ルチプレクサ119に出力要求信号を出す。デマルチプ
レクサは、プロセッサ番号レジスタ101に記憶されて
いるプロセッサ15のID番号を、プロセッサ215が
記憶されていたプロセッサ番号レジスタ110〜114
に出力する。プロセッサ番号レジスタ110〜114
を、データ線170を通して、ページディレクトリ70
に書き戻す。以上により、新たにプロセッサ15を、ペ
ージディレクトリ70に記憶する動作が終了する。
After the processing of deleting the processor 215 from the line directory 90 is completed, the message interpreting / executing unit 5
0 indicates the ID number of the processor 15 to be newly stored in the page directory 70 through the data line 157 and the processor number register 1 of the page directory control circuit.
Put it in 01. Here, the pointer information register 122
Indicates the processor number registers 110 to 114 stored in the processor 215. In this state, the message interpreting / executing unit issues an output request signal to the demultiplexer 119 by the control signal 150. The demultiplexer uses the ID number of the processor 15 stored in the processor number register 101 and the processor number registers 110 to 114 in which the processor 215 was stored.
Output to. Processor number registers 110-114
To the page directory 70 through the data line 170.
Write back to. As described above, the operation of newly storing the processor 15 in the page directory 70 ends.

【0035】<3> プロセッサ検索2200、全プロ
セッサ検索2300 プロセッサ検索2200は、プロセッサ15、215、
1015のうち、あるラインをキャッシュメモリ20、
220、1020に登録しているものを、1つだけ調べ
る動作であり、全プロセッサ検索2300は全て調べる
動作である。メッセージ解釈/実行部50は、アドレス
線173により、ページディレクトリ70に調査するペ
ージ番号を通達する。調査するページのページディレク
トリ情報は、データ線170を通り、プロセッサ番号レ
ジスタ110〜114に記憶される。次に、メッセージ
解釈/実行部50は、制御線187を使い、ラインディ
レクトリ制御回路85のセレクタ176を、アドレス線
185側に切り替える。また、メッセージ解釈/実行部
50は、アドレス線186より、ページ番号をミキサ1
78に送る。また、メッセージ解釈/実行部50は、調
査したいライン番号を、アドレス線185、セレクタ1
76を通し、ミキサ178に送る。ミキサ178でペー
ジ番号とライン番号がミクスされ、アドレス線195を
通りラインディレクトリ90に出力される。
<3> Processor search 2200, all processor search 2300 The processor search 2200 includes the processors 15, 215,
1015, a certain line is set to the cache memory 20,
Only one operation registered in 220, 1020 is checked, and all processor search 2300 is checked. The message interpreter / executor 50 notifies the page directory 70 of the page number to be examined through the address line 173. The page directory information of the page to be examined is stored in the processor number registers 110 to 114 through the data line 170. Next, the message interpretation / execution unit 50 uses the control line 187 to switch the selector 176 of the line directory control circuit 85 to the address line 185 side. In addition, the message interpreting / executing unit 50 sends the page number from the address line 186 to the mixer 1
Send to 78. Also, the message interpreting / executing unit 50 determines the line number to be investigated by the address line 185, the selector 1
It is sent to the mixer 178 through 76. The page number and the line number are mixed by the mixer 178 and output to the line directory 90 through the address line 195.

【0036】ラインディレクトリ90の情報は、ライン
情報レジスタ179に入る。ページディレクトリ制御回
路65のプライオリティエンコーダ124には、ライン
情報レジスタ179の情報が入力される。プライオリテ
ィエンコーダ124は、ライン情報に記憶されているペ
ージディレクトリ上のプロセッサ15、215、101
5の位置情報のうち、1つをセレクタ118に出力す
る。メッセージ解釈/実行部50は、制御線155を使
い、セレクタ118をプライオリティエンコーダ124
側に切り換える。これにより、プロセッサ番号レジスタ
110〜114に記憶されているプロセッサID番号の
うち、プライオリティエンコーダ124の選択した位置
のプロセッサ番号が、マルチプレクサ117によりメッ
セージ解釈/実行部50に送られる。全てのプロセッサ
番号が必要な全プロセッサ検索2300の場合には、プ
ライオリティエンコーダ124への制御信号155に、
メッセージ解釈/実行部50よりプライオリティ変更要
求を出す。プライオリィティを一巡変更すれば、メッセ
ージ解釈/実行部50は全プロセッサを入手できる。以
上により、あるラインをキャッシュメモリ20、22
0、1020に登録しているものを、1つまたは全て調
べる動作が終了する。
The information in the line directory 90 enters the line information register 179. The information of the line information register 179 is input to the priority encoder 124 of the page directory control circuit 65. The priority encoder 124 uses the processor 15, 215, 101 on the page directory stored in the line information.
One of the five pieces of position information is output to the selector 118. The message interpreting / executing unit 50 uses the control line 155 to set the selector 118 to the priority encoder 124.
Switch to the side. As a result, of the processor ID numbers stored in the processor number registers 110 to 114, the processor number at the position selected by the priority encoder 124 is sent to the message interpretation / execution unit 50 by the multiplexer 117. In the case of the all processor search 2300 that requires all the processor numbers, the control signal 155 to the priority encoder 124 includes
The message interpreting / executing unit 50 issues a priority change request. If the priority is changed once, the message interpreter / executor 50 can obtain all the processors. By the above, a certain line is set to the cache memory 20, 22
The operation of checking one or all of those registered in 0, 1020 is completed.

【0037】<4>ラインディレクトリ記憶2400、
ラインディレクトリ抹消2500 ラインディレクトリ記憶2400とは、あるラインのラ
インディレクトリ90より、プロセッサ15、215、
1015のいずれかを記憶する動作であり、ラインディ
レクトリ抹消2500とは記憶を抹消する動作である。
メッセージ解釈/実行部50は、データ線157より、
ページディレクトリ制御回路65内のプロセッサ番号レ
ジスタ101に、プロセッサ15のID番号を記憶させ
る。また、メッセージ解釈/実行部50は、アドレス線
173により、ページディレクトリ70に調査するペー
ジ番号を通達する。調査するページのページディレクト
リ情報は、データ線170を通り、プロセッサ番号レジ
スタ110〜114に記憶される。プロセッサ番号レジ
スタ101の内容と、プロセッサ番号レジスタ110〜
114の内容とが、比較器105〜109において比較
され、結果がすべて不一致であった場合には、データ線
145より不一致がメッセージ解釈/実行部50に通達
され、異常終了となる。一致があった場合には、データ
線160より、記憶/抹消すべきプロセッサ15、21
5、1015の記憶/抹消位置が、ラインディレクトリ
制御回路85のビット演算器180に入力される。次
に、メッセージ解釈/実行部50は、制御線187を使
い、ラインディレクトリ制御回路85のセレクタ176
を、アドレス線185側に切り替える。また、メッセー
ジ解釈/実行部50は、アドレス線186より、ページ
番号をミキサ178に送る。また、メッセージ解釈/実
行部50は、記憶/抹消したいライン番号を、アドレス
線185、セレクタ176を通し、ミキサ178に送
る。ミキサ178でページ番号とライン番号がミクスさ
れ、アドレス線195を通りラインディレクトリ90に
出力される。ラインディレクトリ90の情報は、ライン
情報レジスタ179に入る。この状態で、メッセージ解
釈/実行部50よりビット演算器180まで、制御信号
189により記憶要求を出すことで記憶が、制御信号1
90により抹消要求を出すことで抹消が実行される。最
後に、ライン情報レジスタ179より、ラインディレク
トリ90に情報を書き戻す。以上により、あるラインの
ラインディレクトリ90より、プロセッサ15、21
5、1015のいずれかを記憶/抹消する動作が終了す
る。
<4> Line directory storage 2400,
Line directory deletion 2500 The line directory storage 2400 refers to the line directory 90 of a certain line from the processors 15, 215,
1015 is an operation of storing any of them, and the line directory deletion 2500 is an operation of deleting the storage.
From the data line 157, the message interpretation / execution unit 50
The ID number of the processor 15 is stored in the processor number register 101 in the page directory control circuit 65. Further, the message interpreting / executing unit 50 informs the page directory 70 of the page number to be investigated through the address line 173. The page directory information of the page to be examined is stored in the processor number registers 110 to 114 through the data line 170. Contents of processor number register 101 and processor number registers 110-110
The contents of 114 are compared with each other in the comparators 105 to 109, and if the results are all inconsistent, the inconsistency is notified to the message interpretation / execution unit 50 from the data line 145, resulting in abnormal termination. If there is a match, the processor 15 or 21 to be stored / erased from the data line 160.
The storage / erasure positions of 5, 1015 are input to the bit calculator 180 of the line directory control circuit 85. Next, the message interpretation / execution unit 50 uses the control line 187 to select the selector 176 of the line directory control circuit 85.
To the address line 185 side. Further, the message interpreting / executing unit 50 sends the page number to the mixer 178 via the address line 186. The message interpreting / executing unit 50 also sends the line number to be stored / deleted to the mixer 178 through the address line 185 and the selector 176. The page number and the line number are mixed by the mixer 178 and output to the line directory 90 through the address line 195. Information in the line directory 90 enters the line information register 179. In this state, the message interpretation / execution unit 50 sends a storage request by the control signal 189 to the bit arithmetic unit 180 to store the control signal 1
Erasure is executed by issuing a erasure request by 90. Finally, the line information register 179 writes the information back to the line directory 90. As described above, the line directories 90 of a certain line allow the processors 15, 21
The operation of storing / deleting any one of 5, 1015 ends.

【0038】<5>ロックビットセット、ロックビット
リセット ロックビットセットとは、あるページのロックビット7
5を特定のプロセッサ15、215、1015について
ロック状態にする動作であり、ロックビットリセットと
はアンロック状態にする動作である。メッセージ解釈/
実行部50は、データ線157より、ページディレクト
リ制御回路65内のプロセッサ番号レジスタ101に、
プロセッサ15のID番号を記憶させる。また、メッセ
ージ解釈/実行部50は、アドレス線173により、ペ
ージディレクトリ70、ロックビット75にページ番号
を通達する。ページディレクトリ情報はデータ線170
を通りプロセッサ番号レジスタ110〜114に、ロッ
ク情報はデータ線171を通りロック情報レジスタ12
1に記憶される。プロセッサ番号レジスタ101の内容
と、プロセッサ番号レジスタ110〜114の内容と
が、比較器105〜109において比較され、結果がす
べて不一致であった場合には、データ線145より不一
致がメッセージ解釈/実行部50に通達され、異常終了
となる。一致があった場合には、記憶/抹消すべきプロ
セッサ15、215、1015の記憶/抹消位置が、比
較器105〜109より、ページディレクトリ制御回路
65のビット演算器120に入力される。この状態で、
メッセージ解釈/実行部50よりビット演算器120ま
で、制御信号151によりロック要求を出すことでロッ
クが、制御信号152により抹消要求を出すことで抹消
が実行される。最後に、ロック情報レジスタ121よ
り、ロックビット75に情報を書き戻す。以上により、
あるページのロックビット75を特定のプロセッサ1
5、215、1015についてロック/アンロック状態
にする動作が終了する。
<5> Lock Bit Set, Lock Bit Reset The lock bit set is the lock bit 7 of a page.
5 is an operation for putting the processor 5 into a locked state with respect to a specific processor 15, 215, 1015, and a lock bit reset is an operation for bringing it into an unlocked state. Message interpretation /
The execution unit 50 transfers the data line 157 to the processor number register 101 in the page directory control circuit 65,
The ID number of the processor 15 is stored. The message interpreting / executing unit 50 also notifies the page directory 70 and the lock bit 75 of the page number through the address line 173. Page directory information is data line 170
To the processor number registers 110 to 114, and the lock information passes through the data line 171 to the lock information register 12
Stored in 1. The contents of the processor number register 101 and the contents of the processor number registers 110 to 114 are compared in the comparators 105 to 109, and if the results are all inconsistent, the message line interpreting / executing unit indicates that the inconsistencies are from the data line 145. It is notified to 50 and ends abnormally. If there is a match, the storage / erasure positions of the processors 15, 215, 1015 to be stored / erased are input to the bit arithmetic unit 120 of the page directory control circuit 65 from the comparators 105 to 109. In this state,
From the message interpreting / executing unit 50 to the bit arithmetic unit 120, a lock request is issued by the control signal 151, and a lock is issued by issuing a delete request by the control signal 152. Finally, the information is written back to the lock bit 75 from the lock information register 121. From the above,
Lock bit 75 of a page to a specific processor 1
The operation of setting the locked / unlocked state for 5, 215, and 1015 ends.

【0039】以上により、本発明方式による、プロセッ
サ15、215、1015によるロード、ストア、フラ
ッシュ実行時のメモリ制御機構の動作の説明を終了す
る。以上述べた回路、制御方法により、ページディレク
トリ70、ロックビット75、ページディレクトリポイ
ンタ80、ラインディレクトリ90を持つ、共有メモリ
型並列計算機が実現する。
This is the end of the description of the operation of the memory control mechanism at the time of loading, storing, and flushing by the processors 15, 215, and 1015 according to the method of the present invention. With the circuit and control method described above, a shared memory parallel computer having the page directory 70, the lock bit 75, the page directory pointer 80, and the line directory 90 is realized.

【0040】[0040]

【発明の効果】本発明によれば、共有メモリに設けられ
た、キャッシュメモリの一致制御を行うディレクトリの
容量を、従来に比べ大幅に低減することができる。
According to the present invention, the capacity of the directory provided in the shared memory for performing the cache memory matching control can be significantly reduced as compared with the conventional one.

【図面の簡単な説明】[Brief description of drawings]

【図1】実施例の共有メモリ機構を持った並列計算機の
構成を示す図である。
FIG. 1 is a diagram showing a configuration of a parallel computer having a shared memory mechanism according to an embodiment.

【図2】実施例の共有メモリ機構におけるページディレ
クトリ制御回路を示す図である。
FIG. 2 is a diagram showing a page directory control circuit in the shared memory mechanism of the embodiment.

【図3】実施例の共有メモリ機構におけるラインディレ
クトリ制御回路を示す図である。
FIG. 3 is a diagram showing a line directory control circuit in the shared memory mechanism of the embodiment.

【図4】実施例の共有メモリ機構におけるメッセージ解
釈/実行部のロードコマンドに対する処理のフローチャ
ートを示す図である。
FIG. 4 is a diagram showing a flowchart of processing for a load command of a message interpreting / executing unit in the shared memory mechanism of the embodiment.

【図5】実施例の共有メモリ機構におけるメッセージ解
釈/実行部のインバリデートコマンドに対する処理のフ
ローチャートを示す図である。
FIG. 5 is a diagram showing a flowchart of processing for an invalidate command of a message interpretation / execution unit in the shared memory mechanism of the embodiment.

【図6】実施例の共有メモリ機構におけるメッセージ解
釈/実行部のフラッシュコマンドに対する処理のフロー
チャートを示す図である。
FIG. 6 is a diagram showing a flowchart of processing for a flash command of a message interpretation / execution unit in the shared memory mechanism of the embodiment.

【図7】並列計算機のキャッシュメモリにおけるライン
の記憶状態を示す図である。
FIG. 7 is a diagram showing a storage state of a line in a cache memory of a parallel computer.

【図8】リミテッドポインタ方式のディレクトリを示す
図である。
FIG. 8 is a diagram showing a directory of a limited pointer type.

【図9】実施例の共有メモリ機構を持った並列計算機の
ディレクトリを示す図である。
FIG. 9 is a diagram showing a directory of a parallel computer having a shared memory mechanism of the embodiment.

【符号の説明】[Explanation of symbols]

0、200、1000 システムユニット 10、210、1010 プロセッサノード 15、215、1015 プロセッサ 20、220、1020 キャッシュメモリ 25、225、1025 プロセッサネットワーク接続
回路 27 分散メモリマップ 30、55、230、1030 メッセージ組立回路 35、60、235、1035 メッセージ分解回路 40、240、1040 メモリノード 45、245、1045 共有メモリ 50 メッセージ解釈/実行部 65 ページディレクトリ制御回路 70 ページディレクトリ 75 ロックビット 80 ページディレクトリポインタ 85 ラインディレクトリ制御回路 90 ラインディレクトリ 92 フルマップディレクトリ 94 リミテッドポインタディレクトリ 96 ディレクトリバリッドビット 101 プロセッサ番号レジスタ 105〜109 比較器 110〜114 プロセッサ番号レジスタ 117 マルチプレクサ 118 セレクタ 119 デマルチプレクサ 120 ビット演算器 121 ロック情報レジスタ 122 ポインタ情報レジスタ 123 インクリメント回路 124 プライオリティ・エンコーダ 175 ライン番号発生器 176 セレクタ 177 ライン番号ラッチ 178 ミキサ 179 ライン情報レジスタ 180 ビット演算器 1500 ネットワーク
0, 200, 1000 system unit 10, 210, 1010 processor node 15, 215, 1015 processor 20, 220, 1020 cache memory 25, 225, 1025 processor network connection circuit 27 distributed memory map 30, 55, 230, 1030 message assembly circuit 35, 60, 235, 1035 Message decomposition circuit 40, 240, 1040 Memory node 45, 245, 1045 Shared memory 50 Message interpretation / execution unit 65 Page directory control circuit 70 Page directory 75 Lock bit 80 Page directory pointer 85 Line directory control circuit 90 line directory 92 full map directory 94 limited pointer directory 96 directory valid bit 101 processor number register 105-109 comparator 110-114 processor number register 117 multiplexer 118 selector 119 demultiplexer 120 bit calculator 121 lock information register 122 pointer information register 123 increment circuit 124 priority encoder 175 line number generator 176 selector 177 lines Number Latch 178 Mixer 179 Line Information Register 180-bit Operation Unit 1500 Network

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサと該各プロセッサがア
クセスできる複数の分散型の共有メモリを備え、前記各
プロセッサは共有メモリのデータをライン単位で登録す
るキャッシュメモリを備える並列計算機において、 前記共有メモリは、該共有メモリの各ページ毎に用意さ
れ、該ページの一部または全てのラインをキャッシュメ
モリに登録したプロセッサを記憶するページディレクト
リと、共有メモリの各ライン毎に用意され、該ラインを
キャッシュメモリに登録したプロセッサのページディレ
クトリ上での位置をビットマップ形式で記憶するライン
ディレクトリとを備えることを特徴とする並列計算機。
1. A parallel computer comprising a plurality of processors and a plurality of distributed shared memories accessible by the respective processors, each processor comprising a cache memory for registering data of the shared memory in line units, Is prepared for each page of the shared memory, and is provided for each line of the shared memory and a page directory for storing a processor in which some or all lines of the page are registered in the cache memory, and the line is cached. A parallel computer, comprising: a line directory that stores a position on a page directory of a processor registered in a memory in a bitmap format.
【請求項2】 複数のプロセッサと該各プロセッサがア
クセスできる複数の分散型の共有メモリを備え、前記各
プロセッサは共有メモリのデータをライン単位で登録す
るキャッシュメモリを備える並列計算機において、 前記共有メモリは、該共有メモリの各ページ毎に用意さ
れ、該ページの一部または全てのラインをキャッシュメ
モリに登録したプロセッサを記憶するページディレクト
リと、共有メモリの各ライン毎に用意され、該ラインを
キャッシュメモリに登録したプロセッサのページディレ
クトリ上での位置をポインタ形式で記憶するラインディ
レクトリとを備えることを特徴とする並列計算機。
2. A parallel computer comprising a plurality of processors and a plurality of distributed shared memories accessible by the respective processors, each processor comprising a cache memory for registering data of the shared memory in line units, Is prepared for each page of the shared memory, and is provided for each line of the shared memory and a page directory for storing a processor in which some or all lines of the page are registered in the cache memory, and the line is cached. A parallel computer, comprising: a line directory that stores, in a pointer format, a position on a page directory of a processor registered in a memory.
【請求項3】 請求項1または請求項2記載の並列計算
機において、 前記複数の共有メモリと前記複数のプロセッサとをネッ
トワークで接続したことを特徴とする並列計算機。
3. The parallel computer according to claim 1, wherein the plurality of shared memories and the plurality of processors are connected via a network.
【請求項4】 請求項1または請求項2記載の並列計算
機において、 前記共有メモリと前記プロセッサとによりノードを構成
し、複数の前記ノードをネットワークで接続したことを
特徴とする並列計算機。
4. The parallel computer according to claim 1, wherein the shared memory and the processor constitute a node, and a plurality of the nodes are connected by a network.
【請求項5】 請求項1または請求項2記載の並列計算
機において、 前記ページディレクトリ毎に、該ページディレクトリに
記憶されているプロセッサのうち、記憶された時間が最
も早いプロセッサを指示するページディレクトリポイン
タを備えることを特徴とする並列計算機。
5. The parallel computer according to claim 1, wherein, for each page directory, a page directory pointer that points to a processor having the earliest stored time among the processors stored in the page directory. A parallel computer comprising:
【請求項6】 請求項1または請求項2記載の並列計算
機において、 前記ページディレクトリに記憶されている各プロセッサ
対応に、該ページディレクトリからのプロセッサの記憶
抹消の可否を表すロックビットを備えることを特徴とす
る並列計算機。
6. The parallel computer according to claim 1, further comprising a lock bit for each processor stored in the page directory, the lock bit indicating whether or not the processor can delete the memory from the page directory. A characteristic parallel computer.
JP01990594A 1994-01-20 1994-01-20 Parallel computer Expired - Fee Related JP3410535B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01990594A JP3410535B2 (en) 1994-01-20 1994-01-20 Parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01990594A JP3410535B2 (en) 1994-01-20 1994-01-20 Parallel computer

Publications (2)

Publication Number Publication Date
JPH07210526A true JPH07210526A (en) 1995-08-11
JP3410535B2 JP3410535B2 (en) 2003-05-26

Family

ID=12012234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01990594A Expired - Fee Related JP3410535B2 (en) 1994-01-20 1994-01-20 Parallel computer

Country Status (1)

Country Link
JP (1) JP3410535B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809536A (en) * 1996-12-09 1998-09-15 Intel Corporation, Inc. Method for reducing the number of coherency cycles within a directory-based cache coherency memory system uitilizing a memory state cache
JP2002163149A (en) * 2000-10-31 2002-06-07 Hewlett Packard Co <Hp> Cache coherence protocol for multi-processor system
JP2005250830A (en) * 2004-03-04 2005-09-15 Hitachi Ltd Processor and main memory sharing multiprocessor
KR100700510B1 (en) * 2000-01-04 2007-03-28 엘지전자 주식회사 Shared memory multiprocessor system and directory compression method therefor
JP5435132B2 (en) * 2010-07-12 2014-03-05 富士通株式会社 Information processing system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS589272A (en) * 1981-07-08 1983-01-19 Hitachi Ltd Invalidation processing system for address conversion index buffer
JPH03235143A (en) * 1990-02-13 1991-10-21 Sanyo Electric Co Ltd Cache memory controller
JPH04302044A (en) * 1991-03-29 1992-10-26 Toshiba Corp Multiprocessor system
JPH06243035A (en) * 1992-12-23 1994-09-02 Bull Hn Inf Syst Inc Generalized shared memory in cluster architecture for computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS589272A (en) * 1981-07-08 1983-01-19 Hitachi Ltd Invalidation processing system for address conversion index buffer
JPH03235143A (en) * 1990-02-13 1991-10-21 Sanyo Electric Co Ltd Cache memory controller
JPH04302044A (en) * 1991-03-29 1992-10-26 Toshiba Corp Multiprocessor system
JPH06243035A (en) * 1992-12-23 1994-09-02 Bull Hn Inf Syst Inc Generalized shared memory in cluster architecture for computer system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809536A (en) * 1996-12-09 1998-09-15 Intel Corporation, Inc. Method for reducing the number of coherency cycles within a directory-based cache coherency memory system uitilizing a memory state cache
KR100700510B1 (en) * 2000-01-04 2007-03-28 엘지전자 주식회사 Shared memory multiprocessor system and directory compression method therefor
JP2002163149A (en) * 2000-10-31 2002-06-07 Hewlett Packard Co <Hp> Cache coherence protocol for multi-processor system
JP2005250830A (en) * 2004-03-04 2005-09-15 Hitachi Ltd Processor and main memory sharing multiprocessor
JP5435132B2 (en) * 2010-07-12 2014-03-05 富士通株式会社 Information processing system

Also Published As

Publication number Publication date
JP3410535B2 (en) 2003-05-26

Similar Documents

Publication Publication Date Title
JP2819982B2 (en) Multiprocessor system with cache match guarantee function that can specify range
JP3849951B2 (en) Main memory shared multiprocessor
JP2964926B2 (en) Database management apparatus and method
US5265232A (en) Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data
JP4131514B2 (en) Network system, server, data processing method and program
JP3199718B2 (en) Cache coherency maintenance method
US6510496B1 (en) Shared memory multiprocessor system and method with address translation between partitions and resetting of nodes included in other partitions
US5900020A (en) Method and apparatus for maintaining an order of write operations by processors in a multiprocessor computer to maintain memory consistency
JP2809961B2 (en) Multiprocessor
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US6564302B1 (en) Information processing apparatus with cache coherency
US7120651B2 (en) Maintaining a shared cache that has partitions allocated among multiple nodes and a data-to-partition mapping
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
JP3661764B2 (en) Method and system for providing an eviction protocol in a non-uniform memory access computer system
JPH11282821A (en) Low occupancy protocol for managing simultaneous transactions with dependency
US20050144399A1 (en) Multiprocessor system, and consistency control device and consistency control method in multiprocessor system
JPH04308956A (en) Receiving buffer
JPH11282820A (en) Sequence support mechanism for multiprocessor system using switch as its base
JPH0576060B2 (en)
US6076126A (en) Software locking mechanism for locking shared resources in a data processing system
US20020013886A1 (en) Multiprocessor system
KR100828869B1 (en) Method and apparatus for supporting mulitple cache line invalidations per cycle
US20040059818A1 (en) Apparatus and method for synchronizing multiple accesses to common resources
US6363458B1 (en) Adaptive granularity method for integration of fine and coarse communication in the distributed shared memory system
JPH05108473A (en) Data processing system

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040318

A072 Dismissal of procedure

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20040706

LAPS Cancellation because of no payment of annual fees