JPH02244253A - Multiprocessor system containing common spread memories - Google Patents

Multiprocessor system containing common spread memories

Info

Publication number
JPH02244253A
JPH02244253A JP1063856A JP6385689A JPH02244253A JP H02244253 A JPH02244253 A JP H02244253A JP 1063856 A JP1063856 A JP 1063856A JP 6385689 A JP6385689 A JP 6385689A JP H02244253 A JPH02244253 A JP H02244253A
Authority
JP
Japan
Prior art keywords
memory
memory device
processing means
instruction processing
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1063856A
Other languages
Japanese (ja)
Other versions
JP2846888B2 (en
Inventor
Masahiko Saito
雅彦 齋藤
Shinichiro Yamaguchi
伸一朗 山口
Tadashi Kamiwaki
正 上脇
Yoshiki Kobayashi
芳樹 小林
Tomoaki Nakamura
智明 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP1063856A priority Critical patent/JP2846888B2/en
Publication of JPH02244253A publication Critical patent/JPH02244253A/en
Application granted granted Critical
Publication of JP2846888B2 publication Critical patent/JP2846888B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To assure the consistency between a physical address space of a processor and an entire system physical address space and to attain the sequence of processes among processes by preparing a physical address space connected to all memory devices. CONSTITUTION:The number of instruction process means connected to a communication bus 7 is decided at starting of a system and the physical addresses assigned to the memory devices 3a to 3d are decided in an entire physical address space of the system via an address deciding means 6. Then the means 6 assigns the different addresses to the devices 3a to 3d of each processor according to their capacities as well as the number of instruction process means connected to the bus 7 at starting of the system. Thus a continuous address space is formed in a system as a whole. As a result, the number of processors can be freely selected in the system and a flexible system constitution is attained.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は1分散共有メモリを持つマルチプロセッサシス
テムに係わり、とくに汎用マルチプログラミングに適し
た分散共有メモリを持つマルチプロセッサシステムに関
する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a multiprocessor system having a single distributed shared memory, and more particularly to a multiprocessor system having a distributed shared memory suitable for general-purpose multiprogramming.

〔従来の技術〕[Conventional technology]

従来の分散共有メモリ型のマルチプロセッサシステムに
は、特開昭56−155465に記載のように、複数個
のプロセッサ(各々が固有のメモリ装置を持っている)
と、共有メモリ装置とを切換制御装置によって接続し、
物理アドレス空間の一部をプロセッサ固有のメモリ装置
に割り当てる方式がある。この方式においては、プロセ
ッサが自メモリ装置への参照でないと判断し、外部へ要
求を発すると、切換制御装置が共有メモリ装置、あるい
は他プロセッサのメモリ装置のいずれかに要求を通知す
る。
A conventional distributed shared memory multiprocessor system includes multiple processors (each having its own memory device), as described in Japanese Patent Laid-Open No. 56-155465.
and the shared memory device are connected by a switching control device,
There is a method of allocating a part of the physical address space to a processor-specific memory device. In this method, when a processor determines that the reference is not to its own memory device and issues a request to the outside, the switching control device notifies either the shared memory device or the memory device of another processor of the request.

また、特開昭63−109563、および特開昭63−
111563に記載の技術は、複数個のプロセッサを通
信バス上に接続した構成をとっている。前者は通信バス
と各プロセッサに共通のアドレスをもつ領域を定め、プ
ロセッサがこの領域を参照した場合には、共有メモリ空
間を参照し、プロセッサが他のアドレス領域を参照した
場合には、プロセッサ固有のメモリ装置を参照する方式
である。後老は、各プロセッサ固有のメモリ装置を物理
アドレス空間の異なった部分に割り当て、プロセッサが
自メモリ装置外のアドレスを参照する場合には、プロセ
ッサのアドレスを通信バスのアドレスに変換し、通信バ
スを介して他メモリ装置に要求を通知する方式である。
Also, JP-A-63-109563 and JP-A-63-
The technology described in No. 111563 has a configuration in which a plurality of processors are connected on a communication bus. The former defines an area with a communication bus and a common address for each processor, and when a processor refers to this area, it refers to the shared memory space, and when a processor refers to another address area, it refers to the processor-specific address area. This method refers to the memory device. The latter allocates memory devices unique to each processor to different parts of the physical address space, and when a processor refers to an address outside its own memory device, it converts the processor's address to an address on the communication bus, and This method notifies the request to other memory devices via the .

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記特開昭56−155465の技術においては、プロ
セッサ間でデータを共有する場合、およびプロセッサ固
有のメモリ装置の容量制限等により、プログラム領域や
データ領域が共有メモリ装置、あるいは他プロセッサの
メモリ装置に配置されている場合、切換制御装置への要
求が多発し、速度低下の要因となることがある。他に、
切換制御装置に接続可能なプロセッサ台数に物理的な制
限がある。
In the technique of JP-A-56-155465 mentioned above, when data is shared between processors, and due to the capacity limitations of the memory device specific to the processor, the program area and data area are stored in the shared memory device or in the memory device of other processors. If the switching control device is installed, requests to the switching control device may be made frequently, which may cause speed reduction. other,
There is a physical limit to the number of processors that can be connected to a switching control device.

特開昭63−109563の技術では、あるプロセッサ
が他プロセッサのメモリ装置を、それが共有のアドレス
領域として設定されていない限り参照できないため、プ
ロセッサ固有のメモリ装置を効率的に活用できない。
In the technique disclosed in Japanese Patent Laid-Open No. 63-109563, a processor cannot refer to the memory device of another processor unless it is set as a shared address area, and therefore the memory device specific to the processor cannot be used efficiently.

また、特開昭63−111563の技術においては、プ
ロセッサ間でアドレスの不一致が存在し、アドレス変換
を行って他プロセッサのメモリ装置へ要求を発している
。このため、プロセッサ間でのプロセス移行が不可能で
あり、プロセッサを効率的に活用できない。
Furthermore, in the technique disclosed in Japanese Patent Application Laid-Open No. 111563/1983, there is an address mismatch between processors, and a request is issued to the memory device of another processor by performing address translation. Therefore, it is impossible to transfer processes between processors, and processors cannot be used efficiently.

さらに特開昭63−109563、および特開昭63−
111563の技術においても、特開昭56−1554
65の技術と同様、プロセッサ間でデータを共有する場
合、およびプログラム領域やデータ領域がプロセッサ固
有のメモリ装置に入りきらない場合1通信バス要求が多
発し、速度低下を招くことがある。
Furthermore, JP-A-63-109563 and JP-A-63-
In the technology of 111563, JP-A-56-1554
Similar to the technique of No. 65, when data is shared between processors, and when the program area and data area cannot fit into the processor's own memory device, one communication bus request may occur frequently, resulting in a reduction in speed.

本発明の目的は、プロセッサ台数にかかわりなく、すべ
てのメモリ装置に対して連結した物理アドレス空間を実
現することによって、プロセッサ台数を自由に選べ、各
メモリ装置を有効に利用でき、かつプロセスのプロセッ
サ間移行も容易に行えるようにするとともに、通信バス
要求の低いメモリ管理方法を実現して、マルチプログラ
ミング処理を高速に行えるようにした、分散共有メモリ
を持つマルチプロセッサシステムを提供するにある。
An object of the present invention is to realize a physical address space connected to all memory devices regardless of the number of processors, so that the number of processors can be freely selected, each memory device can be used effectively, and To provide a multiprocessor system having a distributed shared memory, which can easily perform inter-processing migration, realize a memory management method that requires low communication bus requirements, and can perform multiprogramming processing at high speed.

[1題を解決するための手段] 上記目的は、各プロセッサに分散したメモリ装置を設け
たマルチプロセッサシステムにおいて、システム立ち上
げ時に、通信バスに接続されている命令処理手段(プロ
セッサ、メモリ管理装置。
[Means for Solving Problem 1] The above object is to solve the problem by using a multiprocessor system in which each processor is provided with a distributed memory device. .

メモリ装置から成る装置の雫位)の数を判定し、システ
ム全体の物理アドレス空間の中で、各メモリ装置に割り
当てるべき物理アドレスを決定するアドレス決定手段を
設けることにより達成され、各メモリ装置を同一領域、
共通領域、および局所領域に分割し、さらに各命令処理
手段のメモリ管理装置に、当該プロセッサからのアクセ
スアドレスが自メモリ装置へか他命令処理手段のメモリ
装置へかを判定して、他命令処理手段のメモリ装置であ
ると判定したときは通信バスを介してアクセス要求を出
力するアドレス判定手段と1通信バスを介して参照した
データを一時的に蓄えておくキャッシュ記憶装置を設け
るとともに、キャッシュ記憶装置とそれが一時蓄えてい
るデータを格納しているメモリ装置との一方にデータ書
き込みが生じたときの一致北制御、および1つのメモリ
装置の同一領域が書き換えられたときの全メモリ装置間
の一致化制御を行う一致北機摺を設けることにより達成
される。
This is achieved by providing an address determining means that determines the number of units consisting of memory devices, and determines the physical address to be assigned to each memory device within the physical address space of the entire system. same area,
It is divided into a common area and a local area, and the memory management device of each instruction processing means determines whether the access address from the processor is to its own memory device or to the memory device of another instruction processing means, and processes other instructions. An address determining means outputs an access request via a communication bus when it is determined that the memory device is a memory device of a means, and a cache storage device for temporarily storing data referenced via the communication bus is provided. Coincidence control when data is written to one of the devices and the memory device that temporarily stores data, and control between all memory devices when the same area of one memory device is rewritten. This is achieved by providing a matching north machine that performs matching control.

〔作 用〕[For production]

アドレ、ス決定手段は、システム立ち上げ時に通信バス
に接続された命令処理手段の数と、各プロセッサに装備
されているメモリ装置の容量により。
The address determining means depends on the number of instruction processing means connected to the communication bus at the time of system startup and the capacity of the memory device installed in each processor.

それぞれのメモリ装置に異なったアドレスを割り肖で、
システム全体としては、連続したアドレス空間を形成す
る。これによって、システムのプロセッサ数は自由に選
べて柔軟なシステム構成が可能となり、また、アドレス
判定手段の設置により全メモリ装置を1つのアドレス空
間としてどのプロセッサからでもアクセスできるから、
各メモリMlを有効に利用でき、プロセスのプロセッサ
間移動も容易に行えてマルチプログラミングに適したシ
ステムとなる。キャッシュ記憶装置の設置は通信バス製
分しての他命令処理手段のメモリ装置へのアクセス回数
を減らせる効果とともに、通信バスを介さないときも含
めてアクセスの高速化が図れる。各メモリ装置を領域分
割し、同一領域はO8のカーネル等の、プロセッサ間で
共通に使用されかつ高速処理が要求されるプログラムお
よびデータ用とし、共通領域はその大きさがさまざまで
あるユーザのテキストおよびデータ等に使用し、局所領
域はそのプロセッサだけが使う作業領域等に使用すれば
、各メモリ装置が有効に利用でき、高速処理可能なマル
チプロセッサ環境を実現できる。
Assign a different address to each memory device,
The system as a whole forms a continuous address space. As a result, the number of processors in the system can be freely selected, making it possible to have a flexible system configuration.Also, by installing an address determination means, all memory devices can be accessed as one address space by any processor.
Each memory Ml can be used effectively, processes can be easily moved between processors, and the system is suitable for multiprogramming. The installation of a cache storage device has the effect of reducing the number of accesses to the memory device by other instruction processing means by dividing the communication bus, and also increases the speed of access even when not via the communication bus. Each memory device is divided into areas, and the same area is used for programs and data that are commonly used among processors and requires high-speed processing, such as O8 kernels, and the common area is used for user text whose size varies. If the local area is used as a work area only for that processor, each memory device can be used effectively, and a multiprocessor environment capable of high-speed processing can be realized.

〔実施例〕〔Example〕

以下、本発明の実施例を図面を用いて説明する。 Embodiments of the present invention will be described below with reference to the drawings.

第1図は、本発明の一実施例を示す構成図である。FIG. 1 is a configuration diagram showing an embodiment of the present invention.

プロセッサ18〜1d(PEO〜3)にはそれぞれメモ
リ管理装置I 2 a 〜2 d (M CU O〜3
 )が接続され、各対応プロセッサより渡される論理ア
ドレスに応じて自プロセッサ対応のメモリ装置!3a〜
3d(MS 1〜3)にアクセスする他、通信バスへ要
求を通知することにより他のメモリ装置へもアクセスで
きる。これらメモリ装置38〜3dは、プロセッサ18
〜1dが実行する命令およびデータを格納している。共
有メモリ装[4(GM)は、マルチプロセッサシステム
の構成に応じて省略してもよい、入出力抜[15(Il
o)は一般には、ディスク装置、デイスプレィ、キーボ
ード等であるが、本発明には直接関係ないので一括して
示している0割込み分配装[6(DIST)は、入出力
抜[5からの割込み信号12を信号線8を介して各プロ
セッサへ分配する1通信バス7は、アドレス線、データ
線および制御線よりなるバスであるが、これを金属ある
いは光ファイバを用いたネットワークに置き換えること
は可能である。
The processors 18 to 1d (PEO to 3) have memory management units I2a to 2d (MCU O to 3), respectively.
) is connected, and the memory device corresponding to the own processor is connected according to the logical address passed from each corresponding processor! 3a~
In addition to accessing 3d (MS 1 to 3), other memory devices can also be accessed by notifying a request to the communication bus. These memory devices 38 to 3d are connected to the processor 18
~1d stores instructions and data to be executed. The shared memory unit [4 (GM) is an input/output unit [15 (Il) that may be omitted depending on the configuration of the multiprocessor system.
o) generally refers to a disk device, display, keyboard, etc., but since they are not directly related to the present invention, they are shown together. 0 Interrupt distribution device [6 (DIST) is the input/output disconnection device [6 (DIST)] is the interrupt distribution device from input/output [5] The communication bus 7 that distributes the signal 12 to each processor via the signal line 8 is a bus consisting of an address line, a data line, and a control line, but it is possible to replace this with a network using metal or optical fiber. It is.

以上の全体構成において、本発明の特徴とするメモリ管
理装置について、その構成および動作を以下に説明する
In the above overall configuration, the configuration and operation of the memory management device, which is a feature of the present invention, will be described below.

第2図、第3図および第4図に、メモリ管理装置12a
(他も同一機構)の3g1l類の形態を示した。
2, 3, and 4, the memory management device 12a
(Others have the same mechanism).

第2@は1通信バス7から参照したデータのみをキャッ
シュ記憶装置25a (Cachθ)に蓄えておく構成
である。同図において、アドレス変換回路19a (A
 T )はプロセッサ1aから出力される論理アドレス
を物理アドレスに変換する。アドレス判定回路20a(
AJ)は、後に詳しく述べる機構により、アドレス変換
回路19aからの物理アドレスを調べ、それがメモリ装
M3aのアドレスに一致するならば、メモリインターフ
ェース21a(MS−Inf)を介してメモリ装置i3
aへ要求を通知し。
The second @ has a configuration in which only the data referenced from one communication bus 7 is stored in the cache storage device 25a (Cachθ). In the figure, an address conversion circuit 19a (A
T ) converts the logical address output from the processor 1a into a physical address. Address determination circuit 20a (
AJ) checks the physical address from the address conversion circuit 19a by a mechanism described in detail later, and if it matches the address of the memory device M3a, the memory device i3 is transferred via the memory interface 21a (MS-Inf).
Notify a of the request.

アドレスが一致しないならばキャッシュ記憶装置25a
に要求を通知する。このアドレス判定回路の設置により
、各プロセッサはどのメモリ装置へもアクセスでき、シ
ステム全体のアドレス空間を−つのものとして扱える。
If the addresses do not match, the cache storage device 25a
Notify the request to. By installing this address determination circuit, each processor can access any memory device, and the address space of the entire system can be treated as one.

キャッシュ記憶表W258は、アドレス判定回路20a
から要求があれば、データの読み出し動作または書き込
み動作を行う。
The cache storage table W258 is stored in the address determination circuit 20a.
If there is a request from , it performs a data read or write operation.

ただし、アドレス判定回路20aからのアドレスに対応
するデータのコピーがキャッシュ記憶装置25aの中に
存在しない場合(ミスヒツト)には。
However, if a copy of the data corresponding to the address from the address determination circuit 20a does not exist in the cache storage device 25a (miss).

バスインターフェース22a (Bus −I nf)
を介して、通信バス7に要求を通知する。この要求がデ
ータの読み出しであり、そのデータが通信バス経由で送
られてきたときには(通常ページ囃位のデータブロック
で送られる)、そのデータをコピーとして一時的に蓄え
ておく、このキャッシュ記憶装置の設置により、他メモ
リ装置へのアクセスを高速化でき、かつ通信バスへのア
クセス頻度を大幅に減ら・せる。
Bus interface 22a (Bus-I nf)
The request is notified to the communication bus 7 via. When this request is to read data and the data is sent via the communication bus (usually sent in a page-first data block), this cache storage device temporarily stores the data as a copy. By installing this, it is possible to speed up access to other memory devices and significantly reduce the frequency of access to the communication bus.

バス監視回路23a (B  Man)は、後に詳しく
述べる機構により、常に通信バス7を監視し1通信バス
7にメモリ装[3aのアドレスに一致する要求が流れた
とき、その要求をメモリインターフェース21aを介し
てメモリ装[3aに通知する。スヌープ回路24a (
S noop)は、キャッシュ記憶表[25aの一致化
制御を行うものである。即ち、キャッシュ記憶装置25
aは、他命令処理手段のメモリ装置のデータのコピーを
有しているから、他メモリ装置が本来のデータを更新し
た場合には、該当するコピーを無効化、あるいは更新す
る必要がある。このためススープ回路24aは、常に通
信バス7を監視し、通信バス7に流れる書き込みデータ
のアドレスとキャッシュ記憶装置25aの保持するコピ
ーのアドレスとを比較し、必要があればキャッシュ記憶
装置258のコピー無効化あるいは更新する。
The bus monitoring circuit 23a (B Man) constantly monitors the communication bus 7 by a mechanism described in detail later, and when a request matching the address of the memory device [3a flows through the communication bus 7, the request is sent to the memory interface 21a. Notify the memory device [3a] via the memory device [3a]. Snoop circuit 24a (
S noop) performs matching control for the cache storage table [25a. That is, the cache storage device 25
Since a has a copy of the data in the memory device of another instruction processing means, when the other memory device updates the original data, it is necessary to invalidate or update the corresponding copy. Therefore, the soup circuit 24a constantly monitors the communication bus 7, compares the address of the write data flowing on the communication bus 7 with the address of the copy held in the cache storage device 25a, and copies the data to the cache storage device 258 if necessary. Disable or update.

これらバス監視回路とスヌープ回路は、キャッシュ記憶
装置とメモリ装置の一致化を行う一致化機構である。
These bus monitoring circuit and snoop circuit are a matching mechanism that matches the cache storage device and the memory device.

メモリインターフェース21aとバスインターフェース
22aとは、それぞれ2つおよび3つの信号線を同時に
制御するインターフェース回路であり。
The memory interface 21a and the bus interface 22a are interface circuits that control two and three signal lines simultaneously, respectively.

その内部には同一資源に対する複数の要求を処理する調
停手段を有するが、本発明とは直接関係ないので省略す
る。
Although it includes an arbitration means for processing multiple requests for the same resource, it is not directly related to the present invention and will therefore be omitted.

第3図は、通信バス7を介して参照したデータを蓄えて
おくキャッシュ記憶装置125aの他に、メモリ装置3
aから参照したデータを蓄えておく第2のキャッシュ記
憶装置26aを備えた構成である。
FIG. 3 shows a memory device 3 in addition to a cache storage device 125a that stores data referenced via the communication bus 7.
This configuration includes a second cache storage device 26a that stores data referenced from a.

第2のキャッシュ記憶表[26aは、アドレス判定回路
20aから要求されたアドレスに対応するデータのコピ
ーを保持していない場合、メモリインターフェース21
aを介してメモリ装置13aに要求を通知する。その他
の構成要素は、第2図と同じ構成かつ同じ動作を行う。
If the second cache storage table [26a does not hold a copy of the data corresponding to the address requested by the address determination circuit 20a, the memory interface 21
The request is notified to the memory device 13a via a. The other components have the same configuration and the same operation as in FIG. 2.

このとき、2つのキャッシュ記憶装置25a、 26a
に、同一のデータのコピーは存在しない、従って、2つ
のキャッシュ記憶装置間での一致化制御を考慮する必要
はない。
At this time, two cache storage devices 25a and 26a
There are no copies of the same data, so there is no need to consider consistency control between the two cache storage devices.

第4図は通信バス7を介して参照したデータとメモリ装
置3aから参照したデータとを蓄えておくキャッシュ記
憶装置27aを装備した構成である。
FIG. 4 shows a configuration equipped with a cache storage device 27a for storing data referenced via the communication bus 7 and data referenced from the memory device 3a.

キャッシュ記憶装置27aは、アドレス変換回路19a
の要求アドレスを受け、そのアドレスに対応するデータ
のコピーが存在しなければ、アドレス判定回路20aに
要求を通知する。通知されたアドレスにより、アドレス
判定回路20aが、通信バス7あるいはメモリ管理装置
ll 3 aに要求を転送することになる。その構成要
素は、第2図と同じ構成かつ同じ動作を行う。この構成
では、キャッシュ記憶表[27aの参照において、アド
レス判定回路20aの介在がなく、第2図、第3図の構
成と比べて、キャッシュ記憶表ff1i 27 aの参
照がより高速である。
The cache storage device 27a includes an address conversion circuit 19a.
If a copy of the data corresponding to the address does not exist, the address determination circuit 20a is notified of the request. Based on the notified address, the address determination circuit 20a transfers the request to the communication bus 7 or the memory management device ll3a. Its components have the same configuration and operate in the same way as in FIG. In this configuration, the address determination circuit 20a does not intervene when referring to the cache storage table [27a, and the cache storage table ff1i 27a can be referenced faster than the configurations shown in FIGS. 2 and 3.

次しこ第5図および第6図しこ、アドレス判定回路20
aの2つの例を示す。
Next, FIGS. 5 and 6, address determination circuit 20
Two examples of a are shown.

第5図は、各メモリ装置に割り当てられている物理アド
レスの上限と下限とを記憶するレジスタを設けたもので
ある。メモリ装置のアドレスの上限および下限はそれぞ
れ上限レジスタ200a (U −Rag)および下限
レジスタ201a <L  Reg)に記憶されている
。アドレス変換回路19aからのアドレスは比較器20
2a 、 203a (CM P )でそれぞれ上限レ
ジスタ200aおよび下限レジスタ201aの内容とそ
れぞれ比較され、両レジスタの上限、下限アドレスの間
にあるときアンド素子204aからLL I IIない
とき“Onが出力される。交換器205a(EXC)は
このアンド素子204aの出力に従ってアドレス変換回
路19aからの要求をメモリインターフェース21a、
あるいはキャッシュ記憶袋[25aに接続する。
In FIG. 5, registers are provided to store the upper and lower limits of physical addresses assigned to each memory device. The upper and lower limits of addresses of the memory device are stored in upper limit register 200a (U-Rag) and lower limit register 201a (L Reg), respectively. The address from the address conversion circuit 19a is sent to the comparator 20.
2a and 203a (CMP) are compared with the contents of the upper limit register 200a and lower limit register 201a, respectively, and when the address is between the upper and lower limit addresses of both registers, "On" is output from the AND element 204a when LL I II is not present. The exchanger 205a (EXC) converts the request from the address conversion circuit 19a to the memory interface 21a, according to the output of the AND element 204a.
Or connect to the cache storage bag [25a.

第6図は、各メモリ装置のアドレスの上位数ビットをレ
ジスタに記憶してアドレス判定を行う場合である0例え
ばアドレス線が32ビツトであり。
FIG. 6 shows a case where address determination is performed by storing the upper few bits of the address of each memory device in a register.For example, the address line is 32 bits.

各メモリ装置が1Mバイトの容量を持つとする。Assume that each memory device has a capacity of 1 Mbyte.

メモリ装置内部のアドレスは20ビツトで指定できるか
ら、マスクレジスタ206a (M−Reg)の長さは
12ビツト長であり、この内容を変更することにより、
各メモリ装置の割り当てられているアドレスをIMバイ
ト単位で変更できる。比較器207aは、アドレス変換
口j419aからのアドレスの上位12ビツトとマスク
レジスタ206aとの値が一致するか否かを判定する。
Since the address inside the memory device can be specified using 20 bits, the length of the mask register 206a (M-Reg) is 12 bits, and by changing this content,
The address assigned to each memory device can be changed in units of IM bytes. Comparator 207a determines whether the upper 12 bits of the address from address conversion port j419a match the value in mask register 206a.

なお、第5図、第6図はともに第2図のメモリ管理装置
の場合を示しているが、第5図、第6図のメモリインタ
ーフェース21aを第2のキャッシュ記憶装置26aと
読みかえることにより、第3図と対応させることができ
、また、アドレス変換回路L9aをキャッシュ記憶装置
27aと、キャッシュ記憶袋W125aをバスインター
フェース22aと読みかえることにより、第4図と対応
させることができる。
5 and 6 both show the case of the memory management device in FIG. 2, but by replacing the memory interface 21a in FIGS. 5 and 6 with the second cache storage device 26a, , can be made to correspond to FIG. 3, and by replacing the address conversion circuit L9a with the cache storage device 27a and the cache storage bag W125a with the bus interface 22a, it can be made to correspond with FIG.

次に第7図および第8図により、2つの形のバス監視回
路23aを説明する。第7図は第5図と同様、各メモリ
装置に割り当てられている物理アドレスの上限と下限と
を上限レジスタ230a(U−Reg)と下限レジスタ
231a (L −Rag)とに記憶したものである。
Next, two types of bus monitoring circuits 23a will be explained with reference to FIGS. 7 and 8. Similar to FIG. 5, FIG. 7 shows the upper limit and lower limit of physical addresses assigned to each memory device stored in an upper limit register 230a (U-Reg) and a lower limit register 231a (L-Rag). .

バスインターフェース22aからのアドレスは比較器2
32a 、 233a (CM P )でそれぞれ上限
レジスタ232a、下限レジスタ233aの内容と比較
され、両レジスタの上限、下限アドレスの間にあるとき
のみアンド素子234a(AND)の出力が“1”にな
って駆動回路235aをオンとし、通信バスからのアド
レス線、データ線および制御線をメモリインターフェー
ス21aに接続する。
The address from the bus interface 22a is the comparator 2.
32a and 233a (CM P ) are compared with the contents of the upper limit register 232a and lower limit register 233a, respectively, and the output of the AND element 234a (AND) becomes "1" only when the address is between the upper and lower limit addresses of both registers. The drive circuit 235a is turned on and the address line, data line, and control line from the communication bus are connected to the memory interface 21a.

一方、第8図のバス監視回路では、第6図と同様に、各
メモリ装置のアドレスの上位数ビットをマスクレジスタ
236a (M−Rag)に記憶したものである6例え
ば第6図の例と同じく、アドレス線32ビツト、各メモ
リ装置が1Mバイトとすると、メモリ装置内部のアドレ
スは20ビツトで指定できるから、マスクレジスタ23
6aの長さは12ビツト長である。従って、比較器23
7aは、バスインターフェース22aからのアドレスの
上位12ビツトとマスクレジスタ236aとの値が一致
するか否かを判定し、−Mしたときのみ駆動回路235
aをオンとする。
On the other hand, in the bus monitoring circuit shown in FIG. 8, the upper few bits of the address of each memory device are stored in a mask register 236a (M-Rag), as in the example shown in FIG. Similarly, if the address line is 32 bits and each memory device is 1M byte, the address inside the memory device can be specified with 20 bits, so the mask register 23
The length of 6a is 12 bits. Therefore, comparator 23
7a determines whether the upper 12 bits of the address from the bus interface 22a match the value in the mask register 236a, and only when -M, the drive circuit 235
Turn on a.

以上、第1図の実施例の、とくに本発明に関係する部分
の詳細な構成と、各部の動作を説明した。
Above, the detailed configuration of the parts related to the present invention and the operation of each part of the embodiment shown in FIG. 1 have been explained.

本実施例によって、各プロセッサが全部のメモリ装置に
またがるシステム全体のアドレス空間を利用でき、また
各命令処理手段にメモリ装置を分散配置しか・つキャッ
シュ記憶装置を設けることで通信バスへのアクセス要求
を低減できる。しかしこれらの効果が十分発揮されるに
は、プロセッサからのメモリ領域確保の要求に対して、
なるべく同一の命令処理手段内のメモリ装置を割り当て
るようにし、また各メモリ装置とキャッシュ記憶装置の
内容を常に一致させておく一致化制御のためのオーバヘ
ッドを十分小さくする必要がある。そこで次に、このメ
モリ割り当て制御と、−M比制御について詳細に述べる
According to this embodiment, each processor can utilize the address space of the entire system spanning all the memory devices, and by distributing the memory devices to each instruction processing means and providing a cache storage device, access requests to the communication bus can be processed. can be reduced. However, in order for these effects to be fully realized, it is necessary to respond to requests from processors to secure memory areas.
It is necessary to allocate memory devices within the same instruction processing means as much as possible, and to minimize the overhead for matching control to always match the contents of each memory device and the cache storage device. Therefore, next, this memory allocation control and -M ratio control will be described in detail.

メモリ割り当て制御は、O8内にメモリ管理プログラム
を設け、このプログラムによってメモリ確保を要求した
プロセッサ対応のメモリ装置内に必要な量の空き領域が
あるか否かを調べる。あればこの領域を確保し、なけれ
ば他命令処理手段のメモリ装置の空き領域を探してこれ
を割り当てる。
For memory allocation control, a memory management program is provided in the O8, and this program checks whether there is a necessary amount of free space in the memory device corresponding to the processor that has requested memory reservation. If so, this area is secured, and if not, a free area in the memory device of another instruction processing means is searched for and allocated.

次にキャッシュ記憶装置の一致化であるが、まず第1!
Iのメモリ管理装置におけるキャッシュ記憶袋[25a
は、通信バス7を介して参照したデータ、つまり他命令
処理手段のメモリ装置に格納されたデータのコピーを一
時的に蓄えている。キャッシュ記憶装置125aにプロ
セッサ1aからの書き込みが発生した場合、キャッシュ
記憶装置125aからバスインターフェース22a経出
で通信バス7へその書き込みデータとアドレスをブロー
ドキャストし、他命令処理手段のメモリ装置の該当アド
レスヘも書き込むという、ライトスル一方式により一致
をとる。このとき、該当データを有するメモリ装置は、
後述のようにバス監視回路によってこのブロードキャス
トを検出し、その内容を更新する。
Next is matching the cache storage devices, but first!
Cache storage bag in memory management device of I [25a
temporarily stores a copy of the data referenced via the communication bus 7, that is, the data stored in the memory device of the other instruction processing means. When writing from the processor 1a occurs in the cache storage device 125a, the write data and address are broadcast from the cache storage device 125a to the communication bus 7 via the bus interface 22a, and sent to the corresponding address in the memory device of other instruction processing means. Matching is achieved using a write-through method in which the data is also written. At this time, the memory device that has the relevant data is
As will be described later, this broadcast is detected by the bus monitoring circuit and its contents are updated.

また同じデータが他命令処理手段のキャッシュ記憶装置
にあるときも、同じブロードキャストで対応する。ここ
で述べたストアスルーによる一致化方法は、従来からの
公知のものであるので、その詳細は省略する。
Also, when the same data is in the cache storage device of another instruction processing means, the same broadcast is used. The store-through matching method described here is a conventionally known method, so its details will be omitted.

なお、キャッシュ記憶装置に書き込みが発生したとき、
正しいデータが必要となるまでキャッシュ記憶装置25
aのコピーを本来のメモリ装置に書き込まないコピーパ
ック方式も公知であるが、他命令処理手段のメモリ装置
は、その命令処理手段内ではキ・ヤッシュ記憶装!25
aとは独立に参照できるため、−数比が複雑となり、効
率的でなく、本発明においては使用しない、以降に述べ
るキャッシュ記憶装置についても同様である。
Note that when a write occurs to the cache storage device,
Cache storage 25 until the correct data is needed
A copy pack method in which a copy of a is not written to the original memory device is also known, but the memory device of the other instruction processing means is a ki yash memory device within the instruction processing means! 25
Since it can be referenced independently of a, the -number ratio becomes complicated and inefficient, and the same applies to the cache storage device described below, which is not used in the present invention.

逆に、キャッシュ記憶装置25aは、保持しているコピ
ーの本来のデータを持つメモリ装置が該当するプロセッ
サにより更新された場合、そのコピーを無効化あるいは
更新する必要がある。このメモリ装置の方が先に更新さ
れるというのは、甲、−プロセッサシステムのキャッシ
ュ記憶装置には発生しないものであり、このために前述
したようなスヌープ回路24aを設けてこの一致化を行
っている。なお、無効化と更新の違いは、更新の時は本
来のメモリ装置で書き換えられたデータをキャッシュ記
憶装置t25aにスヌープ回路24a経由で書き込むが
、無効化のときはデータ書き込みはせずに該当アドレス
のデータの有効性を示すビットをオフにするだけである
点である。そこで以下では、数比のための更新、無効化
を合わせて甲、に無効化ということもある。
Conversely, when the memory device containing the original data of the copy it holds is updated by the corresponding processor, the cache storage device 25a needs to invalidate or update the copy. The fact that this memory device is updated first does not occur in the cache storage device of the processor system, and for this purpose, the snoop circuit 24a as described above is provided to perform this matching. ing. The difference between invalidation and update is that when updating, the data rewritten in the original memory device is written to the cache storage device t25a via the snoop circuit 24a, but when invalidating, data is not written and the data is written to the corresponding address. The point is that all you have to do is turn off the bit that indicates the validity of the data. Therefore, in the following, updates and invalidations for numerical ratios may also be referred to as invalidation.

次に第3図に示した第2のキャッシュ記憶装置26aは
、メモリ装置13aのデータのコピーのみを保存する。
Next, the second cache storage device 26a shown in FIG. 3 stores only a copy of the data in the memory device 13a.

従って、キャッシュ記憶装置!25aとのコピーの重な
りはなく、2つのキャッシュ記憶装置間の一致化制御は
必要ない。プロセッサ1aによるキャッシュ記憶装[2
6aへの書き込みのときは。
Hence, cache storage! There is no copy overlap with 25a, and there is no need for matching control between the two cache storage devices. Cache storage device [2] by processor 1a
When writing to 6a.

前述したライトスル一方式によりメモリ装置3aとの間
で常に同一の値を保つようにする。また。
The write-through method described above always maintains the same value with the memory device 3a. Also.

他プロセッサがメモリ装置3aの値を更新するようブロ
ードキャストした場合は、そのブロードキャスト信号に
よりキャッシュ記憶装[126aの該当コピーを無効化
して、不一致をなくす。
When another processor broadcasts to update the value in the memory device 3a, the broadcast signal invalidates the corresponding copy in the cache storage device 126a to eliminate the mismatch.

第4図に示したキャッシュ記憶装置127aへの書き込
みに対しても、−数比制御を単純とするため、ライトス
ル一方式とする1通信バス7から参照したデータと、メ
モリ装置3aからのデータの区別は、アドレス判定回路
20aが行うので、このライトスルーの制御は、キャッ
シュ記憶装置125a、 26aの場合と同じでよい、
一方、メモリ装置の方の更新に対応するためには、第2
図のようにスヌープ回路24aにより無効化を行い、ま
た第3図のようにメモリ族W3aからの要求により無効
化を行う。
Also for writing to the cache storage device 127a shown in FIG. 4, in order to simplify the -number ratio control, the data referenced from the 1 communication bus 7, which is a write-through type, and the data from the memory device 3a are Since the distinction is made by the address determination circuit 20a, this write-through control may be the same as in the case of the cache storage devices 125a and 26a.
On the other hand, in order to cope with updates to the memory device, the second
As shown in the figure, invalidation is performed by the snoop circuit 24a, and as shown in FIG. 3, invalidation is performed in response to a request from the memory group W3a.

次にメモリ族[3aから見た一致化制御について説明す
る。他命令処理手段のキャッシュ記憶装置が、メモリ族
[3aに割り当てられているアドレスのデータのコピー
を保持している場合、メモリ装置13aへのデータの書
き込みが行われると。
Next, matching control from the perspective of memory group [3a] will be explained. When the cache storage device of the other instruction processing means holds a copy of the data at the address assigned to the memory group [3a, when data is written to the memory device 13a.

同メモリ装[3aはブロードキャストにより上記コピー
の無効化を行う必要がある0本実施例では、他命令処理
手段のキャッシュ記憶装置がコピーを所有しているか否
かを示すための参照ビットを設け、これを判定して上記
無効化のブロードキャストを行うか否かを決定する。こ
れにより、不必要なブロード丸ヤストを行わないから1
通信バス。
The memory device [3a needs to invalidate the copy by broadcasting] In this embodiment, a reference bit is provided to indicate whether or not a cache storage device of another instruction processing means owns the copy, By determining this, it is determined whether or not to broadcast the above-mentioned invalidation. This will prevent unnecessary broad strokes.1
communication bus.

キャッシュ記憶装置へのアクセス頻度を抑えることがで
きる。
The frequency of access to the cache storage device can be reduced.

第9図は上記参照ビット30a(R)の説明図である。FIG. 9 is an explanatory diagram of the reference bit 30a(R).

キャッシュ記憶装置へのデータの転送は。Transfer of data to cache storage.

通常ページと呼ばれる県位のデータ数に対して一括して
行われる。この1回の転送データが第9図のデータライ
ン31a (Data I、1ne)として示されてい
る。参照ビット30aは、このデータラインごとに1つ
設けられる。そして他プロセッサのアクセスでキャッシ
ュ記憶装置がミスヒツトし、通信バス7にアクセス要求
が出されているのをバス監視回路23aが検出し、これ
によってメモリ装置3aからアクセスアドレスを含むデ
ータライン31 aが読み出されると、対応する上記参
照ビットに′1″がセットされ、このデータラインのコ
ピーが他命令処理手段のキャッシュ記憶装置にあること
を示す、従ってこの参照ビットがセットされている場合
に、当該データラインへの書き込み動作が発生したとき
のみ、他命令処理手段のキャッシュ記憶装置のコピーを
無効化する要求をブロードキャストすればよい。そして
このブロードキャストの後には、コピーは他命令処理手
段にはなくなるので。
This is usually done for the number of prefectural data called pages. This one transfer data is shown as a data line 31a (Data I, 1ne) in FIG. One reference bit 30a is provided for each data line. Then, the bus monitoring circuit 23a detects that the cache storage device misses due to an access by another processor and an access request is issued to the communication bus 7, and as a result, the data line 31a containing the access address is read from the memory device 3a. When the reference bit is set, the corresponding reference bit is set to '1', indicating that a copy of this data line is in the cache storage device of another instruction processing means.Therefore, when this reference bit is set, the data Only when a write operation to a line occurs, it is necessary to broadcast a request to invalidate the copy of the cache storage device of the other instruction processing means.After this broadcast, the copy is no longer available to the other instruction processing means.

参照ビットを0″にリセットしておく。Reset the reference bit to 0''.

上記のデータラインは1通常16バイトから32バイト
程度である。そこでデータラインを16バイトとし、メ
モリ装[3aの容量を1Mバイトとすると、参照ビット
のために使う記憶容量は64にビット即ち8にバイトで
よい。これをメモリ装[3a内に設けるか外部のレジス
タに設けるかは自由であり、効果には関係しない。
Each data line is typically about 16 to 32 bytes. Therefore, assuming that the data line is 16 bytes and the capacity of the memory device 3a is 1 Mbyte, the storage capacity used for the reference bits may be 64 bits, or 8 bytes. It is free to provide this in the memory device [3a or in an external register, and has no effect on the effect.

次に領域分割を行った場合の、メモリ装置について説明
する6以上では、各メモリ装置の全領域がシステム全体
の1つのアドレス空間に割り当てられるものとしたが、
以下のように各メモリ装置の領域分割を行うことにより
、各メモリ装置の有効利用と、マルチプログラミングに
適したシステム構成をより強化できる。なお、以下の説
明もプロセッサla、メモリ管理装置12a、メモリ装
置3aを中心として述べるが、他も同様である。
Next, in 6 and above, which describes memory devices when area division is performed, it is assumed that the entire area of each memory device is allocated to one address space of the entire system.
By dividing each memory device into areas as described below, the effective use of each memory device and the system configuration suitable for multiprogramming can be further enhanced. Note that although the following description will also focus on the processor la, the memory management device 12a, and the memory device 3a, the same applies to the others.

第10図は、物理アドレスと領域分割を行ったメモリ装
置3aとの対応例を示す。プロセッサ1aから見ること
のできるアドレス空間1よ、第10図左側の空間である
が、実際にメモリ装置:3aに割り当てられているアド
レス空間は、第10図右側の空間である。左側の同一領
域310a (Common Region)には右側
の同一領域300aが対応づけられ、これはどのプロセ
ッサでも同じアドレスでアクセスされ、各メモリ装置で
同一のデータを持つ領域として設定されている。左側の
共通領域311a (S haredRegion O
)には右側の共通領域301aが対応づけられ、他の共
通領域312a〜314aは他のメモリ装置3b〜3d
の共通領域(図示は省略)が対応づけられ、グローバル
領域315a (G 1obal Region)およ
びレジスタ領域316a (ROgister Reg
ion)は共有メモリ4および図示を省略したレジスタ
群に対応づけられ、これら領域311a〜316aはい
ずれのプロセッサからもアクセス可能な、一連のアドレ
スを持つ空間である。左側の局所領域317a (Lo
calR+4ion)は右側の局所領域302aが対応
し、当該プロセッサ1aからのみアクセスできる。この
ように領域分割を行い、同一領域はOSカーネルのよ−
うなどのプロセッサも頻繁に使うプログラム用として用
いれば、O8処理などのオーバーヘッドが軽減できる。
FIG. 10 shows an example of the correspondence between physical addresses and the memory device 3a that has undergone area division. The address space 1 visible from the processor 1a is the space on the left side of FIG. 10, but the address space actually allocated to the memory device 3a is the space on the right side of FIG. The common region 310a (Common Region) on the left is associated with the common region 300a on the right, which is accessed by any processor with the same address and is set as a region having the same data in each memory device. Common area 311a on the left (SharedRegion O
) is associated with the common area 301a on the right, and the other common areas 312a to 314a are associated with the other memory devices 3b to 3d.
A common region (not shown) is associated with the global region 315a (Global Region) and register region 316a (ROgister Reg).
ion) is associated with the shared memory 4 and a register group (not shown), and these areas 311a to 316a are spaces having a series of addresses that can be accessed from any processor. Left local area 317a (Lo
calR+4ion) corresponds to the right local area 302a and can be accessed only from the processor 1a. The area is divided in this way, and the same area is divided like the OS kernel.
By using a processor such as the above for frequently used programs, the overhead of O8 processing can be reduced.

共通領域はなるべく、同じ命令処理手段内のプロセッサ
が処理するユーザプログラム用として使い、容量不足の
場合のみ他命令処理手段のメモリ装置の共通領域を使う
ようにすれば、ユーザプログラムの処理を高速に行えか
つ各メモリ装置を有効に使える、局所領域は、当該プロ
セッサのみの作業領域として使用するもので、この領域
に対しては全体的なメモリ管理は不用で、その管理の負
荷を減らすのに役立つ。
If possible, use the common area for user programs processed by processors in the same instruction processing means, and use the common area of the memory devices of other instruction processing means only when there is insufficient capacity, which will speed up the processing of user programs. A local area that can be used efficiently and effectively uses each memory device is used as a work area only for the processor in question, and does not require overall memory management for this area, which helps reduce the management load. .

以上のような領域分割を有効とするには、この分割に対
してアドレスの判定と一致化制御が必要となる。このう
ちアドレス判定は、第5図あるいは第6図に示したアド
レス判定回路20aで、第1O図右側の領域300aま
たは302aに対してメモリ装置3aヘアクセスし、領
域301aに対して通信バス7ヘアクセスするようにし
、また第7図あるいは第8図のバス監視回路23aで、
共通領Wi、301aに対して領域判定を行うようにす
ればよい。
In order to make the area division as described above effective, it is necessary to perform address determination and matching control for this division. For address determination, the address determination circuit 20a shown in FIG. 5 or 6 accesses the memory device 3a for the area 300a or 302a on the right side of FIG. In addition, the bus monitoring circuit 23a of FIG. 7 or 8
Area determination may be performed for the common area Wi, 301a.

同一領域の一致化については、前述したキャッシュ記憶
装置の一致化制御と同様、同一領域への書き込みがあっ
たときに1通信バス7あるいは通信バス7とは別に設け
た同一化バスを介して、書き込みデータとアドレスをブ
ロードキャストすればよい、このときバス監視回路23
aでは、同一領域300aに対しても領域判定を行って
これを検出するようにする。
Regarding the matching of the same area, similar to the above-mentioned matching control of the cache storage device, when there is a write to the same area, the data is written via one communication bus 7 or a matching bus provided separately from the communication bus 7. All you have to do is broadcast the write data and address. At this time, the bus monitoring circuit 23
In step a, area determination is also performed for the same area 300a to detect this.

次に領域分割を行ったときのキャッシュ記憶装置の一致
化について説明する。第11図は、領域分割を行ったメ
モリ装置3aにおける、キャッシュ記憶装置27a(第
4図)の−数比制御を含むメモリアクセス動作を示して
おり、第7列までが条件(アクセスの内容)、それ以降
が条件に応じた動作を示している。第1列(Acces
s 5ource)はデータ参照の要求元がプロセッサ
1aのときP、通信バス7のときBである。第2列〜第
5列は、どの領域への読み出しくR)あるいは書き込み
(W)の要求かを示しており、同一領域310a (C
ommon)。
Next, the matching of cache storage devices when area division is performed will be explained. FIG. 11 shows a memory access operation including -number ratio control of the cache storage device 27a (FIG. 4) in the memory device 3a that has undergone area division, and up to the seventh column are conditions (access contents). , and subsequent ones indicate behavior according to the conditions. 1st column (Acces
s5source) is P when the data reference request source is the processor 1a, and B when it is the communication bus 7. The second to fifth columns indicate to which area the read (R) or write (W) is requested, and the same area 310a (C
ommon).

共通領域311a (Inner 5hared) 、
他メモリ装置の共通領域312a〜314a (Out
er 5hared) 、および局所領域317a (
Local)のどれへのアクセスかを示す、第6列(C
ache Hit)は、要求したデータのコピーがキャ
ッシュ記憶装置27aに存在するときH1存在しないと
きMである。第7列(Migration)は、要求し
たデータのコピーが他命令処理手段のキャッシュ記憶装
置に存在するか否か、即ち参照ビットがセットされてい
るかどうかを示す、第8列以降の動作は、それぞれメモ
リ装置の同一領域300a (Common) 、共通
領域30+、a(I nner S hared) 、
局所領域302a (L ocal)、キャッシュ記憶
装置27a (Cache) 、および通信バス7 (
Cow、)への読み出しくRD)、書き込み(w’r)
、無効化(INV)を示している。例えば第1行は、プ
ロセッサ1aが局所領域317aのデータの読み出し要
求を行い、そのデータのコピーがキャッシュ記憶装置1
127aに存在したとき、キャッシュ記憶装置27aの
みに読み出し要求が伝えられることを示している。
Common area 311a (Inner 5hared),
Common areas 312a to 314a of other memory devices (Out
er 5hared), and local area 317a (
The sixth column (C
ache Hit) is H1 when a copy of the requested data exists in the cache storage device 27a, and M when a copy of the requested data does not exist. The seventh column (Migration) indicates whether a copy of the requested data exists in the cache storage device of the other instruction processing means, that is, whether the reference bit is set. Same area 300a (Common) of memory device, common area 30+, a (Inner Shared),
Local area 302a (Local), cache storage device 27a (Cache), and communication bus 7 (
Read (RD), write (w'r) to Cow,)
, indicates invalidation (INV). For example, in the first line, the processor 1a issues a read request for data in the local area 317a, and a copy of that data is sent to the cache storage device 1.
127a, it indicates that the read request is transmitted only to the cache storage device 27a.

なお、第11図は領域を3つに分割した場合の図である
が、領域を2つに分割する場合、および領域分割を行わ
ない場合には、存在しない領域への要求と動作を省略す
ればよい、また、第2図、第3図のキャッシュ記憶装置
1125aにおいては、共通領域312a〜314aへ
の要求データのみコピーが存在しうろこと、第3図の第
2のキャッシュ記憶装置26aにおいては、同一領域3
10a、共通領域311FM、局所領域317aへの要
求データのみコピーが存在しうろことを考慮し、それ以
外のキャッシュ記憶装置の条件を省略するとよい。また
、第11図の動作における一致化制御の機構は、前に第
2図〜第9図で示したものと同じでよい。
Note that Fig. 11 is a diagram when the area is divided into three, but if the area is divided into two or if area division is not performed, requests and operations for areas that do not exist should be omitted. In addition, in the cache storage device 1125a in FIGS. 2 and 3, there is a copy of only the requested data to the common areas 312a to 314a, and in the second cache storage device 26a in FIG. , same area 3
10a, common area 311FM, and local area 317a, it is preferable to omit other conditions for the cache storage device. Further, the matching control mechanism in the operation shown in FIG. 11 may be the same as that shown previously in FIGS. 2 to 9.

最後に、第1図を用いて、割込み分配装置6によるシス
テム立ち上げ時のアドレス決定について説明する。シス
テム立ち上げ時に1割込み分配装置6に対してリセット
信号が送られると、割込み分配装置6は信号AIa8に
よりプロセッサ1aを起動し、命令処理手段内のハード
ウェアチエツクを実行させる。プロセッサ1aはハード
ウェアチエツクを終了すると、メモリ装置3aの容量(
領域分割をしたときは各領域の容量)を調べ、割込み分
配装置6へ通知する。以下、割込み分配装置6は、順に
プロセッサlb、lc、ldを起動し、同様のことを実
行する。最後に各メモリ装置の容量から、連続した物理
アドレス空間を構成し、各領域のア ドレスを各プロセ
ッサに通知する。プロセッサ 1aは、これをメモリ管
理装置内の上限レジスタおよび下限レジスタ、あるいは
マスクレジスタにセットする。他プロセッサlb、 l
c、 ldも同様である。これにより、第10図で説明
したようなアドレス空間の構成が、プロセッサ数に応じ
てダイナミックに構成でき、柔軟性のあるシステムが実
現できる。
Finally, using FIG. 1, address determination by the interrupt distribution device 6 at system start-up will be explained. When a reset signal is sent to the 1-interrupt distribution device 6 at system start-up, the interrupt distribution device 6 activates the processor 1a with the signal AIa8 to execute a hardware check in the instruction processing means. When the processor 1a finishes the hardware check, the capacity of the memory device 3a (
When the area is divided, the capacity of each area is checked and the interrupt distribution device 6 is notified. Thereafter, the interrupt distribution device 6 sequentially activates the processors lb, lc, and ld and executes the same operations. Finally, a continuous physical address space is constructed from the capacity of each memory device, and the address of each area is notified to each processor. Processor 1a sets this in the upper limit register and lower limit register or mask register in the memory management device. Other processors lb, l
The same applies to c and ld. As a result, the structure of the address space as explained in FIG. 10 can be configured dynamically depending on the number of processors, and a flexible system can be realized.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、4つの効果がある6 第1の効果として、プロセッサの物理アドレス空間とシ
ステム全体の物理アドレス空間との一貫性を保証したた
め、プロセッサ間においてプロセスの移行が1″−ト能
となり、プロセッサの効率的な活用ができる。
According to the present invention, there are four effects.6 The first effect is that consistency between the physical address space of the processor and the physical address space of the entire system is guaranteed, so that process migration between processors is possible. This allows efficient use of the processor.

第2に、システム立ち上げ時に、命令処理手段の数によ
り、システム全体の物理アドレス空間とメモリ装置の物
理アドレスとを再決定するため、利用形態に応じて、プ
ロセッサ数を増減可能で。
Second, when starting up the system, the physical address space of the entire system and the physical addresses of the memory devices are re-determined depending on the number of instruction processing means, so the number of processors can be increased or decreased depending on the usage pattern.

物理アドレス空間を最大限に活用できる、柔軟なマルチ
プロセッサシステムを実現できる。
It is possible to realize a flexible multiprocessor system that can make maximum use of the physical address space.

第3に、キャッシュ記憶装置を使用することにより、−
旦通信バスを介して参照したデータを蓄えておくことが
でき、以降のデータ参照を通信バスを介さずに行って、
参照を高速化できる。また。
Third, by using cache storage, -
The data referenced via the communication bus can be stored, and subsequent data references can be made without going through the communication bus.
References can be made faster. Also.

同一領域への参照は、同一化を行うハードウエアによっ
て、同一性を保証されているため、プロセッサがあたか
も共有メモリ装置を自命令処理手段内に所有しているか
のように参照することができ、共有データの高速な参照
が可能となる。
References to the same area are guaranteed to be identical by the hardware that performs the identification, so the processor can refer to the shared memory device as if it were owned within its own instruction processing means. High-speed reference to shared data becomes possible.

第4に、領域分割を行ったメモリ装置においては、同一
領域にオペレーティングシステムのカーネルデータ、共
通領域にユーザデータ、局所領域にワークエリアを配置
する等のことが可能で、マルチプログラミングに適した
環境を実現できる。
Fourth, in a memory device with area division, it is possible to place operating system kernel data in the same area, user data in a common area, and work area in a local area, making it an environment suitable for multiprogramming. can be realized.

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

第1図は本発明の実施例を示すシステムの全体構成図、
第2図、第3図、第4図は3種類のメモリ管理装置の構
成例を示す図、第5図、第6図は2種類のアドレス判定
回路の構成例を示す図、第7図、第8図は2種類のバス
監視回路の構成例を示す図、第9図は参照ビットの説明
図、第10図は領域分割を行った場合のアドレスの対応
を示す図。 第11図はキャッシュ記憶装置の一致化制御の説明図で
ある。 18〜1d・・・プロセッサ、28〜2d・・・メモリ
管理装置、38〜3d・・・メモリ装置、4・・・共有
メモリ、6・・・割込み分配装置、7・・・通信バス、
 19a・・・アドレス変換回路、20a・・・アドレ
ス判定回路、23a・・・バス監視回路、24a・・・
スヌープ回路、25a、 26a、 27a・・・キャ
ッシュ記憶装置、30a・・・参照ビット、300a 
。 310a−同一領域、 301a、 311a、 31
2a、 313a、 314a・・・共通領域、 30
2a、 317a・・・局所領域。 代理人弁理士  秋 本 正 実 第 図 第 図 筒 図 78 口 第 図 第 口 第 図
FIG. 1 is an overall configuration diagram of a system showing an embodiment of the present invention;
FIG. 2, FIG. 3, and FIG. 4 are diagrams showing configuration examples of three types of memory management devices, FIGS. 5 and 6 are diagrams showing configuration examples of two types of address determination circuits, and FIG. FIG. 8 is a diagram showing a configuration example of two types of bus monitoring circuits, FIG. 9 is an explanatory diagram of reference bits, and FIG. 10 is a diagram showing address correspondence when area division is performed. FIG. 11 is an explanatory diagram of matching control of the cache storage device. 18-1d... Processor, 28-2d... Memory management device, 38-3d... Memory device, 4... Shared memory, 6... Interrupt distribution device, 7... Communication bus,
19a...Address conversion circuit, 20a...Address determination circuit, 23a...Bus monitoring circuit, 24a...
Snoop circuit, 25a, 26a, 27a... Cache storage device, 30a... Reference bit, 300a
. 310a-same area, 301a, 311a, 31
2a, 313a, 314a... common area, 30
2a, 317a...local area. Representative Patent Attorney Tadashi Akimoto Actual Figure Figure 78 Oral Figure Figure 78

Claims (1)

【特許請求の範囲】 1、少なくともプロセッサとメモリ装置と該メモリ装置
へのアクセスを管理するためのメモリ管理装置とを有す
る命令処理手段の複数個を通信バスで接続して構成し、
上記メモリ装置の各々にはシステム全体の物理アドレス
空間の相異なる部分を割り当てるとともに、上記命令処
理手段内のメモリ管理装置は、当該命令処理手段内のプ
ロセッサからの論理アドレスを物理アドレスへ変換する
アドレス変換手段と、該手段から出力された物理アドレ
スが当該命令処理手段内のメモリ装置にあれば該メモリ
装置へアクセス要求を出力し、無ければ当該命令処理手
段とは別の命令処理手段の他メモリ装置へのアクセス要
求を出力するアドレス判定手段と、上記他メモリ装置の
一部のデータのコピーを有して上記他メモリ装置へのア
クセス要求に応答し、もし要求されたデータが存在しな
いときは通信バスを介して上記他メモリ装置へのアクセ
スを行う第1のキャッシュ記憶装置と、該キャッシュ記
憶装置への書き込みあるいは上記キャッシュ記憶装置が
コピーとして有するデータをもつ上記他メモリ装置への
書き込みが発生したときに上記第1のキャッシュ記憶装
置と上記他メモリ装置の内容を一致させるか上記第1の
キャッシュ記憶装置の該当データを無効化するための一
致化制御を行う一致化手段とから構成したことを特徴と
する分散共有メモリを持つマルチプロセッサシステム。 2、前記各命令処理手段内に設けられ、当該命令処理手
段のメモリ装置の一部データのコピーを有して前記アド
レス判定手段からの上記メモリ装置へのアクセス要求に
応答し、もし要求されたデータが存在しないときは上記
メモリ装置へのアクセスを行う第2のキャッシュ記憶装
置を付加したことを特徴とする請求項1記載の分散共有
メモリを持つマルチプロセッサシステム。 3、前記第1および第2のキャッシュ記憶装置を1つの
キャッシュ記憶装置に一体化して前記アドレス変換手段
からの物理アドレスでアクセスするようにし、該当する
データが存在しないときには前記アドレス判定手段を介
して当該命令処理手段内のメモリ装置あるいは前記通信
バスを介しての他命令処理手段の他メモリ装置へアクセ
スする構成とするとともに、前記一致化手段は、上記一
体化したキャッシュ記憶装置内の上記他メモリ装置のコ
ピーと該他メモリ装置の該当データとの一致化制御を行
うことを特徴とする請求項2記載の分散共有メモリを持
つマルチプロセッサシステム。 4、共有メモリを前記通信バスに接続し、該共有メモリ
には、前記物理アドレス空間の内、前記メモリ装置とは
異なった部分を割り当てたことを特徴とする請求項1、
2もしくは3記載の分散共有メモリを持つマルチプロセ
ッサシステム。 5、システム全体の物理アドレス空間の中で、前記メモ
リ装置の各々と存在する場合は前記共有メモリ装置の各
々と存在する場合は前記共有メモリとに割り当てるべき
物理アドレスを決定するアドレス決定手段を設け、シス
テム立ち上げ時に、前記命令処理手段の数に従って上記
メモリ装置の各々と存在する場合は前記共有メモリとに
割り当てる物理アドレスを決定することを特徴とする請
求項1、2もしくは3記載の分散共有メモリを持つマル
チプロセッサシステム。 6、前記メモリ装置の各々は、他メモリ装置と常に同一
の値を有するよう制御されている同一領域と、物理アド
レス空間の異なった位置に割り当てられ、当該命令処理
手段以外の命令処理手段の他プロセッサからは通信バス
を介して参照できる共通領域と、当該命令処理手段内で
のみ参照できる局所領域との3つの領域もしくは該3つ
の領域の内の2つの領域に分割されていることを特徴と
する請求項1、2、3もしくは4記載の分散共有メモリ
を持つマルチプロセッサシステム。 7、システム全体の物理アドレス空間の中で、前記メモ
リ装置の各々の前記共通領域と存在する場合は前記共有
メモリとに割り当てるべき物理アドレスを決定するアド
レス決定手段を設け、システム立ち上げ時に、前記命令
処理手段の数に従って、上記共通領域の各々と存在する
場合は前記共有メモリとに割り当てる物理アドレスを決
定することを特徴とする請求項6記載の分散共有メモリ
を持つマルチプロセッサシステム。 8、前記メモリ装置は、他命令処理手段の他キャッシュ
記憶装置に自メモリ装置のデータのコピーが存在してい
るか否かを示す参照ビットを有し、自メモリ装置に対す
る書き込み動作時に、当該データ対応の上記参照ビット
がコピーの存在を示すならば、前記通信バスを介して一
致化要求を出力し、上記他命令処理手段の前記一致化手
段により上記他キャッシュ記憶装置の該当データの無効
化もしくは更新を行うことを特徴とする請求項1、2、
3、4、5、6もしくは7記載の分散共有メモリを持つ
マルチプロセッサシステム。 9、前記命令処理手段内にメモリ管理プログラムを設け
、前記プロセッサが一定量の物理アドレス領域を確保す
る必要が生じたときに、上記メモリ管理プログラムは、
当該命令処理手段の前記メモリ装置内に上記一定量のア
ドレス領域が存在すれば該領域を割り当て、存在しなけ
れば他命令処理手段のメモリ装置のアドレス領域を割り
当てるように制御することを特徴とする請求項1、2、
3、4、5、6、7もしくは8記載の分散共有メモリを
持つマルチプロセッサシステム。 10、前記メモリ装置の分割を前記同一領域を含むよう
に行った場合に、上記同一領域に対する書き込み要求が
発生したときには該書き込みのアドレスとデータを前記
通信バスもしくは別に設けた同一化バスを介して他命令
処理手段にブロードキャストし、他のメモリ装置の同一
領域のデータとの一致化を行うようにしたことを特徴と
する請求項6もしくは7記載の分散共有メモリを持つマ
ルチプロセッサシステム。
[Scope of Claims] 1. A plurality of instruction processing means each having at least a processor, a memory device, and a memory management device for managing access to the memory device are connected by a communication bus;
Each of the memory devices is allocated a different part of the physical address space of the entire system, and the memory management device in the instruction processing means is configured to provide an address for converting a logical address from a processor in the instruction processing means into a physical address. If the conversion means and the physical address outputted from the means are in a memory device within the instruction processing means, an access request is output to the memory device, and if not, an access request is output to the memory device of the instruction processing means other than the instruction processing means. an address determination means for outputting an access request to the device; and a copy of some data in the other memory device to respond to the access request to the other memory device, and if the requested data does not exist; A first cache storage device that accesses the other memory device via a communication bus, and writing to the cache storage device or writing to the other memory device that has data that the cache storage device has as a copy occurs. and matching means for performing matching control to match the contents of the first cache storage device and the other memory device or invalidate the corresponding data in the first cache storage device when the first cache storage device and the other memory device A multiprocessor system with distributed shared memory featuring 2. Provided in each of the instruction processing means, having a copy of some data of the memory device of the instruction processing means, and responding to a request for access to the memory device from the address determination means, if requested. 2. The multiprocessor system with distributed shared memory according to claim 1, further comprising a second cache storage device that accesses said memory device when no data exists. 3. The first and second cache storage devices are integrated into one cache storage device and accessed using the physical address from the address conversion means, and when the corresponding data does not exist, the data is accessed via the address determination means. The configuration is such that the memory device within the instruction processing means or the other memory device of the other instruction processing means is accessed via the communication bus, and the matching means accesses the other memory device within the integrated cache storage device. 3. The multiprocessor system having a distributed shared memory according to claim 2, wherein the multiprocessor system with a distributed shared memory performs control to match the copy of the device with the corresponding data of the other memory device. 4. A shared memory is connected to the communication bus, and a portion of the physical address space that is different from the memory device is allocated to the shared memory.
A multiprocessor system having distributed shared memory as described in 2 or 3. 5. Address determining means for determining a physical address to be allocated to each of the memory devices, if any, and each of the shared memory devices, if any, to be allocated to the shared memory, in the physical address space of the entire system. 4. Distributed sharing according to claim 1, 2 or 3, characterized in that when the system is started up, a physical address to be allocated to each of the memory devices and the shared memory, if any, is determined according to the number of the instruction processing means. A multiprocessor system with memory. 6. Each of the memory devices is allocated to the same area that is controlled to always have the same value as the other memory devices, and to a different position in the physical address space, and is assigned to a different location in the physical address space, It is characterized by being divided into three areas, or two areas among the three areas: a common area that can be referenced from the processor via a communication bus, and a local area that can be referenced only within the instruction processing means. A multiprocessor system having a distributed shared memory according to claim 1, 2, 3 or 4. 7. An address determining means is provided for determining a physical address to be allocated to the common area of each of the memory devices and the shared memory, if any, in the physical address space of the entire system; 7. A multiprocessor system having a distributed shared memory according to claim 6, wherein physical addresses to be assigned to each of said common areas and said shared memory, if any, are determined in accordance with the number of instruction processing means. 8. The memory device has a reference bit indicating whether or not a copy of the data of the memory device exists in a cache storage device other than the other instruction processing means, and when writing to the memory device, If the reference bit indicates the existence of a copy, a matching request is output via the communication bus, and the matching means of the other instruction processing means invalidates or updates the corresponding data in the other cache storage device. Claims 1 and 2, characterized in that:
A multiprocessor system having distributed shared memory according to 3, 4, 5, 6 or 7. 9. A memory management program is provided in the instruction processing means, and when it becomes necessary to secure a certain amount of physical address area for the processor, the memory management program:
If the predetermined amount of address area exists in the memory device of the instruction processing means, the area is allocated, and if it does not exist, the address area of the memory device of another instruction processing means is controlled to be allocated. Claims 1, 2,
A multiprocessor system having a distributed shared memory according to 3, 4, 5, 6, 7 or 8. 10. When the memory device is divided to include the same area, when a write request to the same area occurs, the write address and data are sent via the communication bus or a separately provided identification bus. 8. A multiprocessor system having a distributed shared memory according to claim 6, wherein said instruction is broadcast to other instruction processing means and matched with data in the same area of another memory device.
JP1063856A 1989-03-17 1989-03-17 Multiprocessor system with distributed shared memory Expired - Fee Related JP2846888B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1063856A JP2846888B2 (en) 1989-03-17 1989-03-17 Multiprocessor system with distributed shared memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1063856A JP2846888B2 (en) 1989-03-17 1989-03-17 Multiprocessor system with distributed shared memory

Publications (2)

Publication Number Publication Date
JPH02244253A true JPH02244253A (en) 1990-09-28
JP2846888B2 JP2846888B2 (en) 1999-01-13

Family

ID=13241399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1063856A Expired - Fee Related JP2846888B2 (en) 1989-03-17 1989-03-17 Multiprocessor system with distributed shared memory

Country Status (1)

Country Link
JP (1) JP2846888B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027305A (en) * 2006-07-24 2008-02-07 Renesas Technology Corp Data processor
JP2009230764A (en) * 2009-07-06 2009-10-08 Univ Waseda Multiprocessor system
JP2013130976A (en) * 2011-12-20 2013-07-04 Fujitsu Ltd Information processing apparatus and memory access method
JP2014160502A (en) * 2014-04-28 2014-09-04 Fujitsu Ltd Information processor and memory access method
JP2016513316A (en) * 2013-02-06 2016-05-12 華為技術有限公司Huawei Technologies Co.,Ltd. Data access system, memory sharing apparatus, and data reading method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011128821A (en) * 2009-12-17 2011-06-30 Yokogawa Electric Corp Redundant field apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027305A (en) * 2006-07-24 2008-02-07 Renesas Technology Corp Data processor
JP2009230764A (en) * 2009-07-06 2009-10-08 Univ Waseda Multiprocessor system
JP2013130976A (en) * 2011-12-20 2013-07-04 Fujitsu Ltd Information processing apparatus and memory access method
JP2016513316A (en) * 2013-02-06 2016-05-12 華為技術有限公司Huawei Technologies Co.,Ltd. Data access system, memory sharing apparatus, and data reading method
JP2014160502A (en) * 2014-04-28 2014-09-04 Fujitsu Ltd Information processor and memory access method

Also Published As

Publication number Publication date
JP2846888B2 (en) 1999-01-13

Similar Documents

Publication Publication Date Title
US6742104B2 (en) Master/slave processing system with shared translation lookaside buffer
US6240501B1 (en) Cache-less address translation
US6289420B1 (en) System and method for increasing the snoop bandwidth to cache tags in a multiport cache memory subsystem
US8250254B2 (en) Offloading input/output (I/O) virtualization operations to a processor
CA2414438C (en) System and method for semaphore and atomic operation management in a multiprocessor
US6920521B2 (en) Method and system of managing virtualized physical memory in a data processing system
US6907494B2 (en) Method and system of managing virtualized physical memory in a memory controller and processor system
US5463739A (en) Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold
JPH03142644A (en) Cache memory control system
US6904490B2 (en) Method and system of managing virtualized physical memory in a multi-processor system
JP2004505346A (en) Cache coherency system and method for multiprocessor architecture
US6742103B2 (en) Processing system with shared translation lookaside buffer
US20060123196A1 (en) System, method and computer program product for application-level cache-mapping awareness and reallocation requests
US7093080B2 (en) Method and apparatus for coherent memory structure of heterogeneous processor systems
US5361342A (en) Tag control system in a hierarchical memory control system
JPH02244253A (en) Multiprocessor system containing common spread memories
US5727179A (en) Memory access method using intermediate addresses
EP1262875A1 (en) Master/slave processing system with shared translation lookaside buffer
EP1262876B1 (en) Multiprocessing system with shared translation lookaside buffer
JPH02297656A (en) Data control system
CN117971716A (en) Cache management method, equipment, device and storage medium
JPH05210590A (en) Device and method for write cash memory

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees