JP2000268007A - Multiprocessor system - Google Patents

Multiprocessor system

Info

Publication number
JP2000268007A
JP2000268007A JP11068438A JP6843899A JP2000268007A JP 2000268007 A JP2000268007 A JP 2000268007A JP 11068438 A JP11068438 A JP 11068438A JP 6843899 A JP6843899 A JP 6843899A JP 2000268007 A JP2000268007 A JP 2000268007A
Authority
JP
Japan
Prior art keywords
memory
cache
processor
optical
shared memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP11068438A
Other languages
Japanese (ja)
Inventor
Shinobu Koseki
忍 小関
Takeshi Kamimura
健 上村
Keiji Fujimagari
啓志 藤曲
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP11068438A priority Critical patent/JP2000268007A/en
Publication of JP2000268007A publication Critical patent/JP2000268007A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To guarantee the consistency of cache data based on a directory system in simple configuration without lowering the performance of a multiprocessor system concerning the system in which plural processors and a shared memory are mutually coupled and the respective processors locally have cache memories. SOLUTION: Plural cache memories 2 broadcast memory access requests, which are transmitted by the respective cache memories, for accessing a shared memory 5 also to a directory memory 6 together with the shared memory 5 through an optical transmission medium 4 and the directory memory 6 broadcasts the internal states of all the plural cache memories 2 recorded in that directory memory 6 to these plural cache memories.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、相互結合網で結合
された共有メモリ型のマルチプロセッサシステムに係わ
り、特に複数のデータ伝送を同時に行うことのできるマ
ルチプロセッサシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a shared memory type multiprocessor system connected by an interconnection network, and more particularly to a multiprocessor system capable of simultaneously transmitting a plurality of data.

【0002】[0002]

【従来の技術】近年のプロセッサ技術の進歩によって、
プロセッサ内部の処理速度が飛躍的に向上してきている
反面、メモリやバスの動作速度の向上はプロセッサの性
能向上に比べて低く、プロセッサとメモリとの間のデー
タ転送速度がコンピュータシステム全体の性能を左右す
るようになってきている。また近年のコンピュータシス
テムの高速化、多機能化への要求と共に、システム構成
としてマルチプロセッサ構成にすることが必須となって
いる。マルチプロセッサシステムでは、プロセッサ間で
データの通信を行いながら並列してプロセスを実行す
る。データの通信用に全てのプロセッサから参照される
共有メモリを用いる方式は、システム構成が比較的単純
となるため、用いられることが多い。共有メモリを用い
たマルチプロセッサシステムについては、例えば文献
「並列コンピュータ」(天野英晴著、1996年、昭晃
堂)に詳しい。この方式においては、共有バスに複数の
プロセッサや共有メモリ、あるいは他のI/Oデバイス
などを接続する。そして共有メモリ上のデータを複数の
プロセッサやI/Oデバイスが適宜読み書きしながら並
列処理を行う。このような共有バス型の構成をとると、
バスの転送バンド幅やシステム中に発生するバストラフ
ィック頻度、あるいはメモリのアクセスレイテンシなど
により、システムの処理能力が左右される。
2. Description of the Related Art Recent advances in processor technology have
While the processing speed inside the processor has been dramatically improved, the improvement in the operating speed of the memory and bus is lower than the improvement in the performance of the processor, and the data transfer speed between the processor and the memory has reduced the performance of the entire computer system. It is starting to affect. In addition, with the recent demand for higher speed and more multifunctional computer systems, it is essential to use a multiprocessor configuration as the system configuration. In a multiprocessor system, processes are executed in parallel while communicating data between processors. The method of using a shared memory referred to by all processors for data communication is often used because the system configuration is relatively simple. The multiprocessor system using the shared memory is described in detail in, for example, the document “Parallel Computer” (Hideharu Amano, Shokodo, 1996). In this method, a plurality of processors, a shared memory, and other I / O devices are connected to a shared bus. A plurality of processors and I / O devices perform parallel processing while appropriately reading and writing data on the shared memory. With such a shared bus configuration,
The processing capacity of the system is influenced by the transfer bandwidth of the bus, the frequency of bus traffic occurring in the system, or the access latency of the memory.

【0003】メモリアクセスのボトルネックを解決する
一つの方法として、各プロセッサに高速のローカルキャ
ッシュを付加し、できるだけ多くのメモリアクセスをプ
ロセッサとキャッシュメモリ間でローカルに処理して、
共有バスの使用を少なくする方法が広く用いられてい
る。こうすることでアクセスタイムの長い共有メモリま
でアクセスに行かなければならない確率が大きく減少
し、メモリアクセスの平均レイテンシ時間を改善でき
る。
As one method for solving the bottleneck of the memory access, a high-speed local cache is added to each processor, and as much memory access as possible is processed locally between the processor and the cache memory.
Methods to reduce the use of shared buses are widely used. By doing so, the probability of having to access a shared memory having a long access time is greatly reduced, and the average latency time of memory access can be improved.

【0004】このようなキャッシュメモリを用いる場合
は、データの一貫性の維持を考慮する必要がある。すな
わち、複数のプロセッサに対応する複数のキャッシュメ
モリが共有メモリ内の同一領域のデータを保持している
場合に、あるプロセッサが共有メモリ内のこの領域のデ
ータを更新した場合、他のプロセッサのキャッシュメモ
リが保持するこの領域の更新前のデータを無効とする必
要が生じるということである。この、他のプロセッサの
キャッシュメモリが保持するデータを無効とするために
は、更新する共有メモリのデータを保持する他のプロセ
ッサにデータを無効にするよう指示すればよい。このよ
うにキャッシュメモリのデータを無効にすることを無効
化処理と呼ぶ。無効化処理を行うには、更新する共有メ
モリ内のデータをどのプロセッサのキャッシュが保持し
ているかを知る必要があり、この情報を得る方法にはス
ヌープ方式とディレクトリ方式がある。
When using such a cache memory, it is necessary to consider maintaining data consistency. That is, when a plurality of cache memories corresponding to a plurality of processors hold data in the same area in the shared memory, when one processor updates data in this area in the shared memory, a cache of another processor is updated. This means that it is necessary to invalidate the pre-update data of this area held by the memory. In order to invalidate the data held in the cache memory of the other processor, the other processor holding the data of the shared memory to be updated may be instructed to invalidate the data. Invalidating the data in the cache memory in this way is called invalidation processing. To perform the invalidation process, it is necessary to know which processor's cache holds the data in the shared memory to be updated, and there are a snoop method and a directory method for obtaining this information.

【0005】スヌープ方式は複数のプロセッサや共有メ
モリが単一のバスに接続されているシステムで用いられ
ている方法で、各々のキャッシュがバス上を流れるメモ
リアクセス情報を監視し、必要に応じてキャッシュの無
効化を行うものである。一方図7に示したディレクトリ
方式は、接続するプロセッサ数が大きい場合や、複数の
バスあるいは複数のスイッチで接続された相互結合網な
どで使われるものである。
[0005] The snoop method is a method used in a system in which a plurality of processors and a shared memory are connected to a single bus. Each cache monitors memory access information flowing on the bus, and as necessary, This is to invalidate the cache. On the other hand, the directory system shown in FIG. 7 is used when the number of connected processors is large, or in an interconnection network connected by a plurality of buses or a plurality of switches.

【0006】図7は、複数のプロセッサ1と、それら複
数のプロセッサ1のそれぞれに対応するキャッシュメモ
リ2と、共有メモリ5を備え、それらのキャッシュメモ
リ2および共有メモリ5がバス26に接続されたマルチ
プロセッサシステムを示している。ここで、ディレクト
リ方式は、例えば共有メモリ5上の一部分にディレクト
リメモリ領域5を割り当てて、そこに、どのデータがど
このキャッシュに保持されているかという情報を記録し
ておく方式である。
FIG. 7 includes a plurality of processors 1, a cache memory 2 corresponding to each of the plurality of processors 1, and a shared memory 5. The cache memory 2 and the shared memory 5 are connected to a bus 26. 1 shows a multiprocessor system. Here, the directory method is a method in which, for example, a directory memory area 5 is allocated to a part of the shared memory 5 and information on which data is held in which cache is recorded therein.

【0007】ディレクトリ方式における無効化処理は、
概略以下の手続きによって行われる。すなわち、あるデ
ータを更新しようとするプロセッサは、該当するデータ
をキャッシュ内に保持しているプロセッサを特定し、そ
の後、特定されたプロセッサに対してキャッシュ内の該
当するデータの無効化要求を、そのデータのアドレスと
共に送信する。この一連の処理はプロセッサの書き込み
動作に割り込んで生じるものであり、プロセッサの遊休
時間を増やす結果になる。また無効化処理のために流れ
る信号は、プロセッサや共有メモリを結ぶバスあるいは
相互結合網上のトラフィックを増やし、システム全体の
パフォーマンスを下げることになる。この問題を解決す
るために、例えば特開平7−319769号公報に開示
されている『データ処理装置』が提案されている。この
発明では、各プロセッサに送る無効化要求を全てのプロ
セッサに報知し、要求を受けたプロセッサが各々そのア
ドレス情報から判断して無効化処理を行う。そして無効
化受付信号を共通バスとは別の信号ラインを通じて返送
するというものである。しかしこの発明においては、読
み出しや書き込みのたびにディレクトリ情報を参照する
ための処理時間がかかること、また別の信号ラインを増
設することで、実装上のコストがかかってしまうという
欠点がある。
The invalidation processing in the directory method is as follows.
The procedure is outlined below. That is, a processor that attempts to update certain data specifies a processor that holds the relevant data in the cache, and then issues a request to invalidate the specified data in the cache to the specified processor. Sent together with data address. This series of processing is caused by interrupting the write operation of the processor, and results in increasing the idle time of the processor. Also, the signal flowing for the invalidation process increases the traffic on the bus or interconnection network connecting the processor and the shared memory, and lowers the performance of the entire system. In order to solve this problem, for example, a "data processing device" disclosed in Japanese Patent Application Laid-Open No. 7-319769 has been proposed. According to the present invention, an invalidation request to be sent to each processor is notified to all processors, and each of the processors receiving the request performs invalidation processing by judging from the address information. Then, the invalidation receiving signal is returned through a signal line different from the common bus. However, according to the present invention, there is a drawback that a processing time for referring to directory information every time reading or writing is required, and mounting another signal line increases a mounting cost.

【0008】一方、プロセッサ間の結合を光伝送で行っ
た例として特開平8−83227号公報に開示されてい
る『情報処理システム及びその方法』が提案されてい
る。この発明では各プロセッサ間を複数波長の光で同時
多重通信し、キャッシュ管理情報は接続経路利用調停の
ためのアービトレーション用信号経路を用いて送られる
ものである。この発明においては、複数の接続経路を持
ったシステムでキャッシュの管理を実現しているが、ア
ービトレーション用信号経路を用いて情報を送るため
に、例えば光ファイバーのような別の接続経路を用意す
るか、同じファイバー内で波長多重を行わなければなら
ず、システムが複雑化するという問題がある。
On the other hand, an "information processing system and method" disclosed in JP-A-8-83227 has been proposed as an example in which coupling between processors is performed by optical transmission. In the present invention, simultaneous multiplex communication is performed between the processors using light of a plurality of wavelengths, and the cache management information is sent using an arbitration signal path for arbitration of connection path use. In the present invention, cache management is realized by a system having a plurality of connection paths.However, in order to send information using an arbitration signal path, is it necessary to prepare another connection path such as an optical fiber? However, wavelength multiplexing must be performed in the same fiber, which causes a problem that the system becomes complicated.

【0009】[0009]

【発明が解決しようとする課題】しかるに、本発明で解
決しようとする課題は、複数のプロセッサと共有メモリ
が相互に結合され、各々のプロセッサがキャッシュメモ
リをローカルに持つマルチプロセッサシステムにおい
て、ディレクトリ方式によるキャッシュデータの一貫性
を、システムのパフォーマンスを下げることなく、簡易
な構成で保証することにある。
However, a problem to be solved by the present invention is to provide a directory system in a multiprocessor system in which a plurality of processors and a shared memory are mutually connected and each processor has a cache memory locally. It is to guarantee the consistency of cache data by a simple configuration without deteriorating the performance of the system.

【0010】[0010]

【課題を解決するための手段】上記課題を解決する本発
明のマルチプロセッサシステムは、複数のプロセッサ
と、これらの複数のプロセッサそれぞれに対応して配備
され、対応するプロセッサに接続されたキャッシュメモ
リと、これら複数のキャッシュメモリが接続されてなる
光相互結合網と、この光相互結合網を介在させて上記複
数のキャッシュメモリとの通信を行なう共有メモリと、
上記複数のキャッシュメモリ全ての内部状態を記録す
る、上記光相互結合網を介在させてこれら複数のキャッ
シュメモリとの通信を行なうキャッシュメモリ管理部と
を備え、上記複数のキャッシュメモリは、それぞれのキ
ャッシュメモリが発信した、上記共有メモリをアクセス
するメモリアクセス要求を光相互結合網を介在させて共
有メモリと共にキャッシュメモリ管理部にもブロードキ
ャストするものであり、上記キャッシュメモリ管理部
は、そのキャッシュメモリ管理部に記録された複数のキ
ャッシュメモリ全ての内部状態をそれら複数のキャッシ
ュメモリに向けてブロードキャストするものであること
を特徴とする。
According to the present invention, there is provided a multiprocessor system comprising: a plurality of processors; a cache memory provided for each of the plurality of processors and connected to the corresponding processor; An optical interconnection network in which the plurality of cache memories are connected, and a shared memory for communicating with the plurality of cache memories via the optical interconnection network;
A cache memory management unit that records the internal state of all of the plurality of cache memories and communicates with the plurality of cache memories via the optical interconnection network; A memory access request transmitted by the memory for accessing the shared memory is also broadcast to the cache memory management unit together with the shared memory via an optical interconnection network, and the cache memory management unit includes the cache memory management unit. , And broadcasts the internal state of all of the plurality of cache memories recorded to the plurality of cache memories to the plurality of cache memories.

【0011】ここで、上記本発明のマルチプロセッサシ
ステムにおいて、上記光相互結合網は、光信号が入射さ
れる光入射部に、その光り入射部から入射した光を拡散
伝搬させる光拡散部を備えたものであることが好まし
く、また上記光相互結合網は、複数種類の光信号の同時
伝送が可能なものであることが好ましい。
Here, in the multiprocessor system according to the present invention, the optical interconnection network includes a light diffusing unit for diffusing and propagating light incident from the light incident unit on a light incident unit to which an optical signal is incident. Preferably, the optical interconnection network is capable of transmitting a plurality of types of optical signals simultaneously.

【0012】さらに、上記本発明のマルチプロセッサシ
ステムにおいて、上記キャッシュメモリ管理部は、その
キャッシュメモリ管理部から発信され光相互結合網を介
在させて伝送される光信号として、上記複数のキャッシ
ュメモリから発信され光相互結合網を介在させて伝送さ
れる光信号の種類とは異なる種類の光信号が割り当てら
れてなるものであることが好ましい。
Further, in the multiprocessor system according to the present invention, the cache memory management unit transmits the optical signal transmitted from the cache memory management unit via the optical interconnection network from the plurality of cache memories. It is preferable that a type of optical signal different from the type of the optical signal transmitted and transmitted via the optical interconnection network is assigned.

【0013】[0013]

【発明の実施の形態】以下本発明の実施形態について説
明する。
Embodiments of the present invention will be described below.

【0014】図1は本発明におけるマルチプロセッサシ
ステムの一実施形態の概略構成図である。この図におい
て、複数のプロセッサ1は、それぞれ、共有メモリ5の
データの一部をコピーして格納することができるキャッ
シュメモリ2を持つ。共有メモリ5とプロセッサ1は光
伝送媒体4を通して接続されており、プロセッサはキャ
ッシュ上に存在しないデータを、光伝送媒体を通して得
る。プロセッサや共有メモリから出される電気信号は光
−電気変換部および電気−光変換部を含むインターフェ
ース3を通して光信号に変換され、光伝送媒体中に入射
される。
FIG. 1 is a schematic configuration diagram of an embodiment of a multiprocessor system according to the present invention. In this figure, a plurality of processors 1 each have a cache memory 2 which can copy and store a part of data in a shared memory 5. The shared memory 5 and the processor 1 are connected through the optical transmission medium 4, and the processor obtains data that does not exist on the cache through the optical transmission medium. An electric signal output from the processor or the shared memory is converted into an optical signal through an interface 3 including an optical-electrical converter and an electrical-optical converter, and is incident on an optical transmission medium.

【0015】インターフェース3のより詳細な図を図2
に示した。光伝送媒体に送られる電気信号は、電気−光
変換部22を構成するレベルシフタ13で信号レベルの
シフトが行なわれ、レーザーダイオードドライバ14で
レーザーダイオード15を駆動することによって光信号
に変換される。逆に光伝送媒体4から出射する光信号
は、光−電気変換部23を構成するフォトダイオード1
9で受光され、アンプ18で増幅され、レベルシフタ1
7でレベルがシフトされることにより所定の電気信号に
変換される。
A more detailed view of interface 3 is shown in FIG.
It was shown to. The electric signal sent to the optical transmission medium is shifted in signal level by the level shifter 13 constituting the electric-optical conversion unit 22, and is converted into an optical signal by driving the laser diode 15 by the laser diode driver 14. Conversely, the optical signal emitted from the optical transmission medium 4 is transmitted to the photodiode 1
9, the light is amplified by the amplifier 18, and the level shifter 1
The signal is converted into a predetermined electric signal by shifting the level at 7.

【0016】図1に戻って説明を続ける。Returning to FIG. 1, the description will be continued.

【0017】図6に示すインターフェース3は光拡散部
(具体的には図6を参照して後述する)を備えている。
この拡散部16は、電気信号から変換された光信号が光
伝送媒体中に入射される前に、その進行方向を広げて広
く拡散させる効果を有するものである。この用途では、
例えば液晶などに使われる拡散シートを用いることがで
きる。光拡散部を通った光信号は、光伝送媒体中を広が
りながら伝わり、対面の多くの位置で受信され電気信号
に変換される。そこで光伝送媒体として例えばシート状
に面に広がった形態を取れば、一方の端面から他端へ光
信号をブロードキャストすることが可能になる。よって
光信号が到達する面に共有メモリの接続ポートとディレ
クトリメモリの接続ポートを配置すれば、プロセッサか
らのメモリアクセス信号がほぼ同時に両ポートに到達す
ることになる。この方法であると光ファイバー等を用い
て全てのポートを各々接続するより構成が簡易で、かつ
システム変更も容易になる。
The interface 3 shown in FIG. 6 includes a light diffusion unit (specifically, described later with reference to FIG. 6).
The diffusing section 16 has an effect of expanding the traveling direction of the optical signal converted from the electric signal before the optical signal is incident on the optical transmission medium to diffuse the optical signal widely. In this application,
For example, a diffusion sheet used for a liquid crystal or the like can be used. The optical signal that has passed through the light diffusion unit propagates while spreading in the optical transmission medium, is received at many positions facing each other, and is converted into an electric signal. Therefore, if the optical transmission medium is spread over a surface, for example, in a sheet shape, it becomes possible to broadcast an optical signal from one end face to the other end. Therefore, if the connection port of the shared memory and the connection port of the directory memory are arranged on the surface where the optical signal reaches, the memory access signal from the processor reaches both ports almost simultaneously. According to this method, the configuration is simpler than that of connecting all the ports using an optical fiber or the like, and the system can be easily changed.

【0018】光伝送媒体4中を伝播した光信号は、出射
部におけるインターフェース3で再び電気信号へ変換さ
れ、その先に接続されるメモリあるいはプロセッサに送
られる。この時、プロセッサ1から送られる光信号は、
共有メモリ5が接続されている出射部に送られると共
に、複数のプロセッサに接続されているキャッシュに格
納されているデータの情報を記録しているディレクトリ
メモリ6が接続されている出射部にも同時に送られる。
ここで光伝送媒体4は、図1において対面する、プロセ
ッサ側の複数のポートと、共有メモリ、ディレクトリメ
モリ側の複数のポートとの間を接続できる機能を持ち、
例えば各ポート間を光ファイバー等で接続することによ
って実現できる。ここでは、便宜上光伝送媒体を矩形で
示したが、実際はこの形に限られるわけではなく、上記
機能を満たしていればどのような形でも構わない。
The optical signal that has propagated in the optical transmission medium 4 is converted into an electric signal again by the interface 3 in the emitting section, and sent to a memory or a processor connected to the interface. At this time, the optical signal sent from the processor 1 is
At the same time, it is sent to the emission unit connected to the shared memory 5 and also to the emission unit connected to the directory memory 6 that records information of data stored in the cache connected to the plurality of processors. Sent.
Here, the optical transmission medium 4 has a function of connecting between a plurality of ports on the processor side and a plurality of ports on the shared memory and directory memory sides facing each other in FIG.
For example, it can be realized by connecting each port with an optical fiber or the like. Here, the optical transmission medium is shown as a rectangle for the sake of convenience. However, the optical transmission medium is not limited to this shape, but may be any shape as long as the above function is satisfied.

【0019】次に図1におけるマルチプロセッサシステ
ムの機能について説明する。本発明はディレクトリ方式
で複数のキャッシュ間のデータの一貫性を保証するシス
テムである。各プロセッサは共有メモリに読み出しアク
セスを行う際、まず自身の持つキャッシュメモリからの
読み出しを優先する。キャッシュメモリは図3に示すよ
うにキャッシュコントローラ7とメモリテーブル8とメ
モリセル9からなっており、キャッシュコントローラ7
は要求されたアドレスの有効なデータがキャッシュメモ
リ上に存在するかどうかを判断する。有効なメモリが存
在する場合は、キャッシュコントローラ7はメモリテー
ブル8を参照してメモリセル9からデータを読み出し、
プロセッサに送る。ここでキャッシュメモリ2は、高速
読み出しが可能なSRAM(スタティックランダムアク
セスメモリ)で構成されることが多い。一方キャッシュ
メモリ上に有効なデータが存在しない場合は、光伝送媒
体4(図1参照)を通して共有メモリ5にアクセスす
る。共有メモリ5は通常、大容量化が容易だがSRAM
に比べると読み出しに時間がかかるDRAM(ダイナミ
ックランダムアクセスメモリ)で構成されることが多
い。この時、プロセッサからは、読み出しの制御信号と
読み出したい共有メモリ上のデータのアドレスが送られ
る。この制御信号とアドレスは、ディレクトリメモリ6
のポートにも到達する。ディレクトリメモリ6には共有
メモリ5上のどのアドレスのデータが、どこのキャッシ
ュに格納され、またそのデータの状態がどうなっている
かという情報を記録してある。ここでデータの状態と
は、キャッシュに格納されているデータがクリーン(共
有メモリと同一の値を持つ)かダーティー(共有メモリ
と異なる値を持つ)か、シェアード(複数のキャッシュ
に共有されている)かエクスクルーシブ(他に共有され
ていない)かということである。このディレクトリメモ
リは共有メモリの一部を用いて実現されることが多い
が、本実施形態では図1に示すように別にモジュールと
して設け、図4に示すようにディレクトリコントローラ
10を介して光伝送媒体4に接続される。このディレク
トリコントローラ10は、メモリセル11内のディレク
トリ情報の更新を行う他、必要に応じてキャッシュの無
効化要求をプロセッサに発信することもある。本実施形
態のディレクトリメモリはプロセッサ側からの信号を共
有メモリと同時に受信することによって、本来のメモリ
アクセスとディレクトリ情報の更新を同時に行うことを
可能にしたことが特徴である。特にキャッシュ制御方法
の一つであるライトスルー方式の場合、読み出しアクセ
スは他のキャッシュに対し無効化要求や書き戻し要求を
することはない。従って本実施形態によって、ディレク
トリ情報更新のためのオーバヘッドがなくなり、システ
ムパフォーマンスの向上に繋がる。
Next, the function of the multiprocessor system shown in FIG. 1 will be described. The present invention is a system that guarantees data consistency among a plurality of caches in a directory system. When performing read access to the shared memory, each processor first gives priority to reading from its own cache memory. The cache memory includes a cache controller 7, a memory table 8, and a memory cell 9 as shown in FIG.
Determines whether valid data at the requested address exists in the cache memory. If a valid memory exists, the cache controller 7 reads data from the memory cell 9 with reference to the memory table 8, and
Send to processor. Here, the cache memory 2 is often configured by an SRAM (static random access memory) capable of high-speed reading. On the other hand, when there is no valid data in the cache memory, the shared memory 5 is accessed through the optical transmission medium 4 (see FIG. 1). Generally, the shared memory 5 can easily be increased in capacity, but the SRAM
In many cases, a DRAM (Dynamic Random Access Memory), which requires a long time to read data, is used. At this time, the processor sends a read control signal and an address of data on the shared memory to be read. The control signal and the address are stored in the directory memory 6.
Also reach the port. The directory memory 6 stores information on which address data in the shared memory 5 is stored in which cache and the state of the data. Here, the data state means whether the data stored in the cache is clean (has the same value as the shared memory), dirty (has a different value from the shared memory), or shared (has been shared by a plurality of caches). ) Or exclusive (not shared elsewhere). Although this directory memory is often realized by using a part of the shared memory, in the present embodiment, it is provided as a separate module as shown in FIG. 1, and as shown in FIG. 4 is connected. In addition to updating the directory information in the memory cell 11, the directory controller 10 may transmit a cache invalidation request to the processor as needed. The directory memory according to the present embodiment is characterized in that the original memory access and the update of the directory information can be simultaneously performed by receiving a signal from the processor and the shared memory at the same time. In particular, in the case of the write-through method, which is one of the cache control methods, read access does not make invalidation requests or write-back requests to other caches. Therefore, according to the present embodiment, overhead for updating directory information is eliminated, which leads to improvement in system performance.

【0020】次に各プロセッサが共有メモリに書き込み
アクセスを行う場合を説明する。あるプロセッサ1が共
有メモリ上のデータを更新しようとする場合、通常、書
き込み要求の制御信号とデータのアドレスをまず共有メ
モリ5に送信する。しかる後に実際のデータが送られ、
共有メモリ5上のデータの更新が行われるが、先ほどの
書き込み要求の制御信号とアドレスはディレクトリメモ
リ6にも送られ、更新しようとするアドレスに対するキ
ャッシュの状態を更新する。もし他のプロセッサが自身
のキャッシュ上に同じアドレスのデータを格納していた
としたら、そのプロセッサに対して無効化要求を出す。
この無効化情報の発信をDRAMの書き込み待ちの時間
に行うことにより、無駄な遊休時間を削減することがで
きる。
Next, a case where each processor performs write access to the shared memory will be described. When a certain processor 1 attempts to update data in the shared memory, the control signal of the write request and the address of the data are usually transmitted to the shared memory 5 first. Then the actual data is sent,
The data in the shared memory 5 is updated. The control signal and the address of the write request are also sent to the directory memory 6 to update the cache state for the address to be updated. If another processor has stored data at the same address in its own cache, it issues an invalidation request to that processor.
By transmitting the invalidation information during the write waiting time of the DRAM, useless idle time can be reduced.

【0021】図5は、本発明におけるマルチプロセッサ
システムの一実施形態の概略構成図である。この図にお
いて、複数のプロセッサ1は共有メモリ5のデータの一
部をコピーして格納することができるキャッシュメモリ
2を持つ。共有メモリ5とプロセッサ1は光伝送媒体4
を通して接続されており、プロセッサはキャッシュ上に
存在しないデータを、光伝送媒体4を通して得る。プロ
セッサや共有メモリから出される電気信号は光−電気変
換部および電気−光変換部を含むインターフェース3を
通して光信号に変換され、光伝送媒体中に入射される。
光伝送媒体中を伝播した光信号は、出射部におけるイン
ターフェースで再び電気信号へ変換され、その先に接続
されるメモリあるいはプロセッサに送られる。この時、
プロセッサから送られる光信号は、共有メモリ5が接続
されている出射部に送られると共に、複数のプロセッサ
に接続されているキャッシュに格納されているデータの
情報を記録しているディレクトリメモリ6が接続されて
いる出射部にも同時に送られる。ここで光伝送媒体は、
図において対面するプロセッサ側の複数のポートと共有
メモリ、ディレクトリメモリ側の複数のポート間を接続
できる機能を持ち、例えば各ポート間を光ファイバー等
で接続することによって実現できる。この場合、便宜上
光伝送媒体を矩形で示したが、実際はこの形に限られる
わけではなく、上記機能を満たしていればどのような形
でも構わない。
FIG. 5 is a schematic diagram of a multiprocessor system according to an embodiment of the present invention. In this figure, a plurality of processors 1 have a cache memory 2 which can copy and store a part of data in a shared memory 5. The shared memory 5 and the processor 1 are connected to the optical transmission medium 4
, And the processor obtains data not existing in the cache through the optical transmission medium 4. An electric signal output from the processor or the shared memory is converted into an optical signal through an interface 3 including an optical-electrical converter and an electrical-optical converter, and is incident on an optical transmission medium.
The optical signal that has propagated in the optical transmission medium is converted into an electric signal again at the interface of the emission unit, and sent to a memory or a processor connected to the electric signal. At this time,
The optical signal sent from the processor is sent to the emission unit to which the shared memory 5 is connected, and the directory memory 6 that records information of data stored in the cache connected to the plurality of processors is connected. It is also sent to the emitting section that is being used. Here, the optical transmission medium is
In the figure, it has a function of connecting a plurality of ports on the processor side and a plurality of ports on the side of the shared memory and the directory memory, which can be realized, for example, by connecting each port with an optical fiber or the like. In this case, the optical transmission medium is shown as a rectangle for the sake of convenience. However, the optical transmission medium is not limited to this shape, and any shape may be used as long as the above function is satisfied.

【0022】本実施形態では、さらにディレクトリメモ
リが接続されているポートからディレクトリ情報を各プ
ロセッサにブロードキャストすることが可能である。こ
の場合、光の非干渉性により、光の伝播する方向が異な
る光は交わらないので、プロセッサから共有メモリへの
信号伝送と同時に、ディレクトリ情報をプロセッサに通
知することができる。
In this embodiment, it is possible to broadcast directory information to each processor from a port to which a directory memory is connected. In this case, because the light propagates in different directions due to the non-coherence of the light, the directory information can be notified to the processor simultaneously with the signal transmission from the processor to the shared memory.

【0023】すなわちこの実施形態における効果として
は、複数プロセッサの並列動作のパイプライン化が実現
できる点にある。プロセッサが読み出し、あるいは書き
出し動作を行う前に必要なディレクトリ情報の参照を、
ディレクトリメモリから送られてくる情報を得ることに
よってあらかじめ行うことができる。また、キャッシュ
の一貫性を保つために行うプロセッサのキャッシュ無効
化処理を他のプロセッサの共有メモリへの書き込み処理
の待ち時間の間に行うことができる。このように、複数
のプロセッサのメモリアクセス処理を平行して行うこと
により効率の良い動作を行うことができる。
That is, the effect of this embodiment is that the parallel operation of a plurality of processors can be realized in a pipeline. Reference of directory information required before the processor performs read or write operation,
This can be performed in advance by obtaining information sent from the directory memory. In addition, cache invalidation processing of a processor, which is performed to maintain cache coherency, can be performed during a waiting time for write processing to a shared memory of another processor. As described above, by performing the memory access processing of a plurality of processors in parallel, an efficient operation can be performed.

【0024】次に図6を用いて、光伝送媒体中を複数の
種類の光で多重伝送を行う実施形態について説明する。
複数の光とは、例えば波長の異なる光、偏光の異なる
光、強度の異なる光などを使うことができる。ここでは
強度の異なる光を使うことを考える。複数の経路から伝
送に使う光信号を選択するには、ここでは図示していな
い調停部(アービタ)を設ける。アクセス要求を出すプ
ロセッサはその旨をアービタに送り、適当な光信号の強
度レベルを指示される。そして図6における光信号レベ
ル制御部26がレベルシフタ13を制御して、その強度
レベルに合うようにレーザーダイオード15に入力する
信号を調整する。複数の光が重なる場合、その強度は単
純に加算される。ここでは例えば2種類の光信号を同時
に送ることを考える。プロセッサAから出される光は
‘High’状態のとき1の強度で、プロセッサBから
出される光を‘High’状態のとき2の強度とすれ
ば、受信部におけるその合計強度は0、1、2、3のい
ずれかになる。プロセッサAが‘High’のとき、受
信部における強度は1か3のいずれかで、‘Low’の
ときは0か2のいずれかになる。プロセッサBが‘Hi
gh’のとき、受信部における強度は2か3のいずれか
で、‘Low’のときは0か1のいずれかになる。した
がって、受信する強度からそれぞれのプロセッサがどの
ような信号を出したか復元することが可能である。それ
を受信側のアービタの情報を元にコンパレータ25で復
元することによって、多重伝送が可能になる。一般にn
強度多重の場合、それぞれの光信号の強度比を、1:
m:m2:…:mn-1にすれば受信部においてそれぞれを
分離することが可能である。また、光の波長や偏光を変
えて多重伝送を行う場合には、入射部のフォトダイオー
ド19の前に適当なフィルタ24を挿入することで望み
の信号だけを取り出すことができる。
Next, an embodiment in which multiplex transmission is performed with a plurality of types of light in an optical transmission medium will be described with reference to FIG.
As the plurality of lights, for example, lights having different wavelengths, lights having different polarizations, lights having different intensities, and the like can be used. Here, the use of light having different intensities is considered. To select an optical signal to be used for transmission from a plurality of paths, an arbiter (arbiter) not shown is provided. The processor issuing the access request will so indicate to the arbiter and be instructed of the appropriate optical signal strength level. Then, the optical signal level controller 26 in FIG. 6 controls the level shifter 13 to adjust a signal input to the laser diode 15 so as to match the intensity level. When multiple lights overlap, their intensities are simply added. Here, it is assumed that, for example, two types of optical signals are transmitted simultaneously. Assuming that the light emitted from the processor A has an intensity of 1 when in the “High” state and the light emitted from the processor B has an intensity of 2 when in the “High” state, the total intensity in the receiving unit is 0, 1, 2 , Or 3. When the processor A is “High”, the intensity at the receiving unit is either 1 or 3, and when it is “Low”, it is either 0 or 2. Processor B is 'Hi'
When it is "gh", the intensity at the receiving unit is either 2 or 3, and when it is "Low", it is either 0 or 1. Therefore, it is possible to restore what signal each processor has output from the received intensity. Multiplex transmission becomes possible by restoring it by the comparator 25 based on the information of the arbiter on the receiving side. Generally n
In the case of intensity multiplexing, the intensity ratio of each optical signal is set to 1:
If m: m 2 :...: m n−1 , each can be separated in the receiving unit. When multiplex transmission is performed by changing the wavelength or polarization of light, only a desired signal can be extracted by inserting an appropriate filter 24 in front of the photodiode 19 at the incident portion.

【0025】ここで、図1あるいは図5に示す構成にお
いて、ディレクトリメモリから出る光信号の波長を、プ
ロセッサとメモリとの間の通信で使われるものとは別の
ものにしてもよい。こうすると、ディレクトリの情報を
プロセッサに常に通知することができる。すなわち、プ
ロセッサのデータ読み出し要求でメモリからプロセッサ
に向けて光信号が送られる場合でも、その信号種類と、
ディレクトリメモリから送られる信号種類とを変えるこ
とで、プロセッサは望みの信号を選択受信することがで
きる。このような構成にすることでプロセッサの遊休時
間がさらに減り、システムのパフォーマンスを向上させ
ることができる。
Here, in the configuration shown in FIG. 1 or FIG. 5, the wavelength of the optical signal emitted from the directory memory may be different from that used in the communication between the processor and the memory. In this way, the directory information can always be notified to the processor. That is, even when an optical signal is sent from the memory to the processor in response to a data read request from the processor, the signal type and
By changing the signal type sent from the directory memory, the processor can selectively receive a desired signal. With such a configuration, the idle time of the processor can be further reduced, and the performance of the system can be improved.

【0026】[0026]

【発明の効果】以上説明したように、本発明によれば、
キャッシュの一貫性を保つために、キャッシュの管理情
報を記録したディレクトリメモリの参照をプロセッサの
メモリアクセスと平行して行うことが可能になり、結果
としてシステムパフォーマンスの向上に繋がる。
As described above, according to the present invention,
In order to maintain cache coherency, it is possible to refer to the directory memory in which the cache management information is recorded in parallel with the memory access of the processor, which leads to an improvement in system performance.

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

【図1】本発明のマルチプロセッサシステムの一実施形
態の概略構成図である。
FIG. 1 is a schematic configuration diagram of an embodiment of a multiprocessor system of the present invention.

【図2】図1の実施形態におけるインターフェース部を
示す図である。
FIG. 2 is a diagram showing an interface unit in the embodiment of FIG.

【図3】図1の実施形態におけるキャッシュメモリの詳
細を示す図である。
FIG. 3 is a diagram showing details of a cache memory in the embodiment of FIG. 1;

【図4】図1の実施形態におけるディレクトリメモリの
詳細を示す図である。
FIG. 4 is a diagram showing details of a directory memory in the embodiment of FIG. 1;

【図5】本発明のマルチプロセッサシステムの一実施形
態の概略構成図である。
FIG. 5 is a schematic configuration diagram of an embodiment of a multiprocessor system of the present invention.

【図6】インターフェース部の別の例を示す図である。FIG. 6 is a diagram illustrating another example of the interface unit.

【図7】従来型マルチプロセッサを示す図である。FIG. 7 is a diagram showing a conventional multiprocessor.

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

1 プロセッサ 2 キャッシュメモリ 3 インターフェース 4 光伝送媒体 5 共有メモリ 6 ディレクトリメモリ 7 キャッシュコントローラ 8 メモリコントローラ 9 メモリセル 10 ディレクトリコントローラ 11 メモリセル 13 レベルシフタ 14 レーザーダイオードドライバ 15 レーザーダイオード 16 光拡散部 17 レベルシフタ 18 アンプ 19 フォトダイオード 20 入射光 21 出射光 22 電気−光変換部 23 光−電気変換部 24 フィルタ 25 コンパレータ 26 光信号レベル制御部 26 電気バス DESCRIPTION OF SYMBOLS 1 Processor 2 Cache memory 3 Interface 4 Optical transmission medium 5 Shared memory 6 Directory memory 7 Cache controller 8 Memory controller 9 Memory cell 10 Directory controller 11 Memory cell 13 Level shifter 14 Laser diode driver 15 Laser diode 16 Light diffusion unit 17 Level shifter 18 Amplifier 19 Photodiode 20 Incident light 21 Outgoing light 22 Electric-optical converter 23 Optical-electric converter 24 Filter 25 Comparator 26 Optical signal level controller 26 Electric bus

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 13/38 330 G06F 13/38 330A 15/167 15/167 A 15/173 15/173 A (72)発明者 藤曲 啓志 神奈川県足柄上郡中井町境430 グリーン テクなかい 富士ゼロックス株式会社内 Fターム(参考) 5B005 JJ12 KK03 KK13 KK14 MM01 PP11 PP21 5B045 BB04 BB12 DD01 DD12 5B061 BA02 BB41 GG13 5B077 AA25 BA02 BB07 DD01 GG05──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G06F 13/38 330 G06F 13/38 330A 15/167 15/167 A 15/173 15/173 A (72) Inventor Keishi Fujimagari 430 Nakai-cho, Ashigami-gun, Kanagawa Prefecture Green Tech Naka Fuji Xerox Co., Ltd. F-term (reference)

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサと、これらの複数のプ
ロセッサそれぞれに対応して配備され、対応するプロセ
ッサに接続されたキャッシュメモリと、これら複数のキ
ャッシュメモリが接続されてなる光相互結合網と、この
光相互結合網を介在させて前記複数のキャッシュメモリ
との通信を行なう共有メモリと、前記複数のキャッシュ
メモリ全ての内部状態を記録する、前記光相互結合網を
介在させてこれら複数のキャッシュメモリとの通信を行
なうキャッシュメモリ管理部とを備え、 前記複数のキャッシュメモリは、それぞれのキャッシュ
メモリが発信した、前記共有メモリをアクセスするメモ
リアクセス要求を前記光相互結合網を介在させて前記共
有メモリと共に前記キャッシュメモリ管理部にもブロー
ドキャストするものであり、 前記キャッシュメモリ管理部は、該キャッシュメモリ管
理部に記録された前記複数のキャッシュメモリ全ての内
部状態を該複数のキャッシュメモリに向けてブロードキ
ャストするものであることを特徴とするマルチプロセッ
サシステム。
1. A plurality of processors, a cache memory provided corresponding to each of the plurality of processors and connected to the corresponding processor, an optical interconnection network formed by connecting the plurality of cache memories, A shared memory for communicating with the plurality of cache memories via the optical interconnection network; and a cache memory for recording an internal state of all of the plurality of cache memories. A cache memory management unit for communicating with the shared memory, wherein the plurality of cache memories transmit a memory access request for accessing the shared memory, which is issued by each cache memory, via the optical interconnection network. And also broadcasts to the cache memory management unit, Yasshumemori management unit, multiprocessor systems, characterized in that to broadcast towards said plurality of cache memories all internal state stored in the cache memory management unit to the plurality of cache memory.
【請求項2】 前記光相互結合網は、光信号が入射され
る光入射部に、該光り入射部から入射した光を拡散伝搬
させる光拡散部を備えたものであることを特徴とする請
求項1記載のマルチプロセッサシステム。
2. The optical interconnection network according to claim 1, wherein a light incident portion on which an optical signal is incident is provided with a light diffusing portion for diffusing and propagating light incident from the light incident portion. Item 2. The multiprocessor system according to Item 1.
【請求項3】 前記光相互結合網は、複数種類の光信号
の同時伝送が可能なものであることを特徴とする請求項
1記載のマルチプロセッサシステム。
3. The multiprocessor system according to claim 1, wherein said optical interconnection network is capable of simultaneously transmitting a plurality of types of optical signals.
【請求項4】 前記キャッシュメモリ管理部は、該キャ
ッシュメモリ管理部から発信され前記光相互結合網を介
在させて伝送される光信号として、前記複数のキャッシ
ュメモリから発信され前記光相互結合網を介在させて伝
送される光信号の種類とは異なる種類の光信号が割り当
てられてなるものであることを特徴とする請求項3記載
のマルチプロセッサシステム。
4. The cache memory management unit transmits the optical interconnection network transmitted from the plurality of cache memories as an optical signal transmitted from the cache memory management unit and transmitted via the optical interconnection network. 4. The multiprocessor system according to claim 3, wherein a type of optical signal different from the type of the optical signal transmitted through the intermediary is allocated.
JP11068438A 1999-03-15 1999-03-15 Multiprocessor system Withdrawn JP2000268007A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11068438A JP2000268007A (en) 1999-03-15 1999-03-15 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11068438A JP2000268007A (en) 1999-03-15 1999-03-15 Multiprocessor system

Publications (1)

Publication Number Publication Date
JP2000268007A true JP2000268007A (en) 2000-09-29

Family

ID=13373723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11068438A Withdrawn JP2000268007A (en) 1999-03-15 1999-03-15 Multiprocessor system

Country Status (1)

Country Link
JP (1) JP2000268007A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272643A (en) * 2006-03-31 2007-10-18 Nec Corp Usb (universal serial bus) device sharing system, interface unit of server used by it, and its action method
KR100794870B1 (en) * 2001-08-30 2008-01-14 마이크론 테크놀로지, 인크 An optical interconnect in high-speed memory systems
KR101095030B1 (en) 2009-11-16 2011-12-20 한국과학기술원 Express storage apparatus for large capacity using optical connection

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100794870B1 (en) * 2001-08-30 2008-01-14 마이크론 테크놀로지, 인크 An optical interconnect in high-speed memory systems
JP2007272643A (en) * 2006-03-31 2007-10-18 Nec Corp Usb (universal serial bus) device sharing system, interface unit of server used by it, and its action method
KR101095030B1 (en) 2009-11-16 2011-12-20 한국과학기술원 Express storage apparatus for large capacity using optical connection

Similar Documents

Publication Publication Date Title
US6651139B1 (en) Multiprocessor system
US5386511A (en) Multiprocessor system and data transmission apparatus thereof
EP0598535B1 (en) Pending write-back controller for a cache controller coupled to a packet switched memory bus
EP0735480B1 (en) Cache coherent computer system that minimizes invalidation and copyback operations
JPH10283301A (en) Device for distributing address and data to memory module and method therefor
JPH10177518A (en) Hybrid memory access protocol for decentralized common memory computer system
JPH11134312A (en) Decentralized shared memory multiprocessor system
US6950913B2 (en) Methods and apparatus for multiple cluster locking
US6078337A (en) Maintaining consistency of cache memory data by arbitrating use of a connection route by plural nodes
JP2004528647A (en) Method and apparatus for supporting multiple cache line invalidations per cycle
EP1049018B1 (en) Modular interconnection architecture for expandable multiprocessor engine, implementing a virtual bus hierarchy comprising a plurality of levels, each level comprising the same basic element
JP2000268007A (en) Multiprocessor system
JP3086261B2 (en) Bus structure for multiprocessor system
Ha et al. The SPEED cache coherence protocol for an optical multi-access interconnect architecture
JP3067976B2 (en) Multi-level bus-coupled multiprocessor system
US6735654B2 (en) Method and apparatus for efficiently broadcasting transactions between an address repeater and a client
KR100268812B1 (en) The method and apparatus for cache coherence of multiprocessor system having distribute shared memory structure
JP3466728B2 (en) Information processing system and method
JP3599381B2 (en) Information processing system and method
US6877055B2 (en) Method and apparatus for efficiently broadcasting transactions between a first address repeater and a second address repeater
Ha Optical Multi-Access Interconnect Architecture
KR100253201B1 (en) Cache coherency controller for system having distributed shared memory structure
JP2002197047A (en) Computer system having input/output read data arranged directly in processor local cache
KR100198808B1 (en) The immediate copying method between storage media
Ghose OPTIMUL: a hybrid multiprocessor for distributed and shared memory multiprocessing with WDM optical fiber interconnections

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060606