JPH05225147A - Multiprocessor type data processing system - Google Patents
Multiprocessor type data processing systemInfo
- Publication number
- JPH05225147A JPH05225147A JP4029359A JP2935992A JPH05225147A JP H05225147 A JPH05225147 A JP H05225147A JP 4029359 A JP4029359 A JP 4029359A JP 2935992 A JP2935992 A JP 2935992A JP H05225147 A JPH05225147 A JP H05225147A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- local memory
- processor
- 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
Links
Landscapes
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】本発明の目的は、大容量のキャッシュメモリを
使用することなく、システムバスの使用頻度を低下さ
せ、プロセッサ接続可能数を増加させることができるマ
ルチプロセッサ型データ処理システムを提供することに
ある。
【構成】バスインターフェース13aはCPU12aか
らキャッシュメモリ17aに対するアクセス要求時にキ
ャッシュミスが発生したときに、アクセス要求のアドレ
スとアドレス用ローカルメモリ15aに記憶されたアド
レスとを比較する。この比較結果が不一致でかつインス
トラクション・リード時には、他のデータ用ローカルメ
モリ14bからアクセス要求のデータをCPU12aに
転送し、または比較結果が不一致でかつデータリード時
またはデータライト時にはアクセス要求したプロセッサ
とは別のデータ用ローカルメモリ15bのデータ及びデ
ータ用ローカルメモリ15aのデータとを交換する。
(57) [Summary] [Object] An object of the present invention is to reduce the frequency of use of the system bus and increase the number of connectable processors without using a large capacity cache memory. To provide a system. A bus interface 13a compares an address of an access request with an address stored in an address local memory 15a when a cache miss occurs at the time of an access request from a CPU 12a to a cache memory 17a. When the comparison result does not match and at the time of instruction read, the access request data is transferred from the other data local memory 14b to the CPU 12a, or when the comparison result does not match and at the time of data read or data write The data in another data local memory 15b and the data in another data local memory 15a are exchanged.
Description
【0001】[0001]
【産業上の利用分野】本発明は、密結合型マルチプロセ
ッサにより構成されたデータ処理システムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing system composed of a tightly coupled multiprocessor.
【0002】[0002]
【従来の技術】従来、密結合マルチプロセッサからなる
データ処理システムでは、複数のプロセッサがシステム
バスを通じて結合されており、単一のOS及びメインメ
モリを共有している。メインメモリはシステムバスに固
定的に接続されている。各プロセッサは、システムバス
を通じてメインメモリをアクセスし、データのリード/
ライトを実行する。2. Description of the Related Art Conventionally, in a data processing system including a tightly coupled multiprocessor, a plurality of processors are coupled through a system bus and share a single OS and a main memory. The main memory is fixedly connected to the system bus. Each processor accesses the main memory through the system bus and reads / writes data.
Perform a write.
【0003】このようなシステムにおいて、メインメモ
リのアクセスを高速化するために、各プロセッサがそれ
ぞれキャッシュメモリを有する方式がある。この方式で
は、プロセッサはメインメモリからデータをリードした
ときに、そのリードデータ及び対応するアドレスをキャ
ッシュメモリにコピーする。次回に同一アドレスのデー
タをアクセスする場合に、プロセッサはキャッシュメモ
リに対するアクセスを実行することになる。これによ
り、メインメモリに対するアクセスの高速化を図ること
ができる。また、各プロセッサのシステムバスの使用頻
度を低下させ、プロセッサ接続可能数を増加させる利点
がある。In such a system, there is a system in which each processor has a cache memory in order to speed up access to the main memory. In this method, when the processor reads data from the main memory, it copies the read data and the corresponding address to the cache memory. When accessing the data of the same address next time, the processor will access the cache memory. This makes it possible to speed up access to the main memory. Further, there is an advantage that the frequency of use of the system bus of each processor is reduced and the number of connectable processors is increased.
【0004】[0004]
【発明が解決しようとする課題】マルチプロセッサのシ
ステムにおいて、キャッシュメモリを使用する方式によ
り、メインメモリに対するアクセスを高速化することが
できる。しかしながら、近年、プロセッサは高速化し、
システムバスの使用頻度は相対的に増大化する傾向にあ
る。このため、さらにシステムバスの使用頻度を低下さ
せ、プロセッサ接続可能数を増加させるためには、キャ
ッシュメモリの大容量化を図る必要がある。しかし、メ
インメモリと共に、キャッシュメモリを大容量化する
と、システム規模とコストの増大化を招くことになる。In the multiprocessor system, the access to the main memory can be speeded up by the method of using the cache memory. However, in recent years, processors have become faster,
The frequency of use of the system bus tends to increase relatively. Therefore, in order to further reduce the frequency of use of the system bus and increase the number of connectable processors, it is necessary to increase the capacity of the cache memory. However, increasing the capacity of the cache memory together with the main memory leads to an increase in system scale and cost.
【0005】本発明の目的は、大容量のキャッシュメモ
リを使用することなく、システムバスの使用頻度を低下
させ、プロセッサ接続可能数を増加させることができる
マルチプロセッサ型データ処理システムを提供すること
にある。It is an object of the present invention to provide a multiprocessor type data processing system which can reduce the frequency of use of the system bus and increase the number of connectable processors without using a large capacity cache memory. is there.
【0006】[0006]
【課題を解決するための手段】本発明は、複数のプロセ
ッサがシステムバスにより結合された構成の密結合マル
チプロセッサ型のデータ処理システムにおいて、各プロ
セッサに対応して設けられて各プロセッサが共有するメ
インメモリを分散構成する複数のデータ用ローカルメモ
リ手段、各プロセッサに対応して設けられて各データ用
ローカルメモリ手段に記憶されたデータに対応するアド
レスを記憶する複数のアドレス用ローカルメモリ手段、
各プロセッサに対応して設けられたキャッシュメモリ手
段、各プロセッサに対応して設けられてアドレス用ロー
カルメモリ手段及び各プロセッサに対応して設けられて
システムバスとのインターフェースを構成するインター
フェース手段を有するシステムである。The present invention is a tightly coupled multiprocessor type data processing system in which a plurality of processors are coupled by a system bus, and the data processing system is provided corresponding to each processor and shared by each processor. A plurality of data local memory means for configuring the main memory in a distributed manner; a plurality of address local memory means provided corresponding to each processor and storing an address corresponding to the data stored in each data local memory means,
System having cache memory means provided corresponding to each processor, address local memory means provided corresponding to each processor, and interface means provided corresponding to each processor to configure an interface with a system bus Is.
【0007】[0007]
【作用】本発明では、インターフェース手段は対応する
プロセッサからキャッシュメモリに対するアクセス要求
時にキャッシュミスが発生したときに、アクセス要求の
アドレスとアドレス用ローカルメモリ手段に記憶された
アドレスとを比較し、この比較結果が不一致でかつイン
ストラクション・リードモード時には他のプロセッサに
対応するデータ用ローカルメモリ手段からアクセス要求
のデータを対応するプロセッサに転送し、または比較結
果が不一致でかつデータリードまたはデータライトの各
モード時にはアクセス要求したプロセッサとは別のプロ
セッサに対応するデータ用ローカルメモリ手段のアクセ
ス要求のアドレスに記憶されたデータ及びアクセス要求
したプロセッサに対応するデータ用ローカルメモリ手段
のデータとを交換する。According to the present invention, the interface means compares the address of the access request with the address stored in the address local memory means when a cache miss occurs at the time of the access request to the cache memory from the corresponding processor, and this comparison is made. When the result does not match and the instruction read mode, the access request data is transferred from the data local memory means corresponding to another processor to the corresponding processor, or when the comparison result does not match and the data read or data write mode is set. The data stored in the access request address of the data local memory means corresponding to the processor different from the access requesting processor and the data of the data local memory means corresponding to the access requesting processor are exchanged. That.
【0008】このようなメインメモリを分散配置した構
成により、大容量のキャッシュメモリを使用することな
く、各プロセッサのシステムバス使用頻度を低下させ、
プロセッサ接続可能数を増加させることができる。With such a configuration in which the main memories are arranged in a distributed manner, the system bus usage frequency of each processor is reduced without using a large capacity cache memory,
The number of connectable processors can be increased.
【0009】[0009]
【実施例】以下図面を参照して本発明の実施例を説明す
る。Embodiments of the present invention will be described below with reference to the drawings.
【0010】図1は同実施例に係わるデータ処理システ
ムの構成を示すブロック図である。本システムでは、密
結合型マルチプロセッサを構成する複数のプロセッサ・
モジュール10a ,10b が、システムバス11を通じて結合
されている。FIG. 1 is a block diagram showing the configuration of a data processing system according to the embodiment. In this system, multiple processors that make up a tightly coupled multiprocessor are
Modules 10a and 10b are coupled via a system bus 11.
【0011】各プロセッサ・モジュール10a ,10b に
は、プロセッサ(CPU)12a ,12b、バスインターフ
ェース13a ,13b 、データ用ローカルメモリ14a ,14b
、アドレス用ローカルメモリ15a ,15b 、ステータス
用ローカルメモリ16a ,16b 及びキャッシュメモリ17a
,17b が設けられている。データ用ローカルメモリ14a
,14b はそれぞれ、メインメモリ20の一部を構成
し、各CPU12a ,12b のデータ処理に必要なデータを
記憶するメモリである。アドレス用ローカルメモリ15
a,15b は、データ用ローカルメモリ14a ,14b に対応
するアドレスを記憶するメモリである。Each processor module 10a, 10b includes a processor (CPU) 12a, 12b, a bus interface 13a, 13b, a data local memory 14a, 14b.
, Address local memories 15a and 15b, status local memories 16a and 16b, and cache memory 17a
, 17b are provided. Local memory for data 14a
, 14b respectively constitute a part of the main memory 20 and store the data necessary for the data processing of the CPUs 12a, 12b. Local memory for address 15
Reference numerals a and 15b are memories that store addresses corresponding to the data local memories 14a and 14b.
【0012】バスインターフェース13a ,13b は、シス
テムバス11とのインターフェースを構成し、かつ各CP
U12a ,12b からのアクセス要求に応じてデータ用ロー
カルメモリ14a ,14b に対するアクセス制御を実行す
る。ステータス用ローカルメモリ16a ,16b は、CPU
12a ,12b が対応するデータ用ローカルメモリ14a ,14
b に対してデータをライトする場合に、キャッシュメモ
リ17a ,17b とメインメモリ間のデータの一貫性を維持
するためのステータスSを記憶するメモリである。The bus interfaces 13a and 13b constitute an interface with the system bus 11, and each CP
Access control to the data local memories 14a and 14b is executed in response to the access request from the U12a and 12b. The status local memories 16a and 16b are CPUs.
Data local memories 14a and 14 corresponding to 12a and 12b
This is a memory for storing a status S for maintaining the consistency of data between the cache memories 17a and 17b and the main memory when writing data to b.
【0013】さらに、本システムでは、I/Oモジュー
ル18及びアドレス・イニシャライザ19が、システムバス
11に接続されている。I/Oモジュール18は、システム
に必要な各種入出力装置とのインターフェースである。
アドレス・イニシャライザ19は、システムの電源立ち上
げ時に、各アドレス用ローカルメモリ15a ,15b の記憶
内容を初期化するための回路である。イニシャル動作
は、先ず、アドレスのX部でイニシャライズであること
を指定し、アドレスのY部でプロセッサ・モジュールを
選択し、アドレスのY部とZ部を値「0」から順次イン
クリメントしながらアドレス用ローカルメモリ15a ,15
b にアドレスのY部の値をライトすることにより行なう
(図2を参照)。次に、同実施例の動作を説明する。Further, in this system, the I / O module 18 and the address initializer 19 are connected to the system bus.
Connected to 11. The I / O module 18 is an interface with various input / output devices necessary for the system.
The address initializer 19 is a circuit for initializing the contents stored in the address local memories 15a and 15b when the system power is turned on. In the initial operation, first, the X part of the address specifies that the initialization is performed, the Y part of the address selects the processor module, and the Y and Z parts of the address are sequentially incremented from the value “0” for the address. Local memory 15a, 15
This is done by writing the value of the Y portion of the address to b (see FIG. 2). Next, the operation of the embodiment will be described.
【0014】各CPU12a ,12b は、メインメモリ20
をアクセスする場合に、図2に示すようなアドレスを出
力する。アドレスのX部は、I/O、メモリ及びアドレ
ス・イニシャライザの選択等に使用される。アドレスの
Y部は、CPU12a ,12b からのアクセス要求のデータ
が、データ用ローカルメモリ14a ,14b に存在するか否
かの判断のために使用される。アドレスのZ部は、デー
タ用ローカルメモリ14a ,14b 及びアドレス用ローカル
メモリ15a ,15b のアドレス入力として使用される。Each of the CPUs 12a and 12b has a main memory 20.
When accessing, the address as shown in FIG. 2 is output. The X part of the address is used for selecting the I / O, the memory and the address initializer. The Y portion of the address is used to determine whether or not the access request data from the CPUs 12a and 12b exists in the data local memories 14a and 14b. The Z portion of the address is used as an address input to the data local memories 14a and 14b and the address local memories 15a and 15b.
【0015】図10のステップS1に示すように、例え
ばCPU12a がメインメモリ20に対するアクセス要求
を行なう。バスインターフェース13a は、CPU12a か
らのアクセス要求に応じて、キャッシュメモリ17a をア
クセスする(ステップS2)。アクセス対象のアドレス
がキャッシュメモリ17a に存在すれば(ステップS3の
NO)、CPU12a はキャッシュメモリ17a をアクセス
し、必要なデータを読出すことになる(ステップS
4)。As shown in step S1 of FIG. 10, for example, the CPU 12a issues an access request to the main memory 20. The bus interface 13a accesses the cache memory 17a in response to the access request from the CPU 12a (step S2). If the address to be accessed exists in the cache memory 17a (NO in step S3), the CPU 12a will access the cache memory 17a and read out the necessary data (step S3).
4).
【0016】ここで、キャッシュミスが発生した場合に
は(ステップS3のYES)、バスインターフェース13
a は、CPU12a から出力されるアクセス対象のアドレ
スとアドレス用ローカルメモリ15a に記憶されたアドレ
スとを比較する(ステップS5)。具体的には、CPU
12a から出力されるアドレスのY部とローカルメモリ15
a に記憶されたアドレスとを比較する。ここで、図3に
示すように、アドレス用ローカルメモリ15a のアドレス
Mには、アドレスLが記憶されている。一方、メモリ15
a のアドレスMに対応するデータ用ローカルメモリ14a
のアドレスには、データNが記憶されている。If a cache miss occurs (YES in step S3), the bus interface 13
a compares the address to be accessed output from the CPU 12a with the address stored in the address local memory 15a (step S5). Specifically, the CPU
Y part of address output from 12a and local memory 15
Compare with the address stored in a. Here, as shown in FIG. 3, the address L is stored in the address M of the address local memory 15a. Meanwhile, memory 15
Data local memory 14a corresponding to address M of a
Data N is stored in the address of.
【0017】CPU12a からY部が「L」及びZ部が
「M」のアドレスが出力されると、バスインターフェー
ス13a は、アドレス用ローカルメモリ15a のアドレスM
からリードしたアドレスL及びCPU12a からのY部
(L)とを比較する。この比較結果が一致し(ステップ
S6のYES)、リードモードの場合には(図11のス
テップS10のNO)、バスインターフェース13a は、
アドレスMに対応するデータ用ローカルメモリ14a のア
ドレスをアクセスさせることになる即ち、バスインター
フェース13a は、データ用ローカルメモリ14a からリー
ドしたデータNをCPU12a に転送する(ステップS1
5,S16)。When the CPU 12a outputs an address of "L" for the Y section and "M" for the Z section, the bus interface 13a causes the address M of the address local memory 15a.
The address L read from the CPU and the Y portion (L) from the CPU 12a are compared. If the comparison results match (YES in step S6) and the read mode is selected (NO in step S10 in FIG. 11), the bus interface 13a
The address of the data local memory 14a corresponding to the address M is accessed, that is, the bus interface 13a transfers the data N read from the data local memory 14a to the CPU 12a (step S1).
5, S16).
【0018】一方、ライトモードの場合には(ステップ
S10のYES)、バスインターフェース13a は、アド
レスMに対応するデータ用ローカルメモリ14a のアドレ
スに、CPU12a からのデータをライトし、記憶データ
を更新する(ステップS11)。ここで、バスインター
フェース13a は、ステータス用ローカルメモリ16a にス
テータスSがセットされている場合には(ステップS1
2のYES)、他のモジュール10b に対してデータ更新
が実行されたことを報知する(ステップS13)。即
ち、データ更新の終了後に、更新した記憶データが各プ
ロセッサ・モジュール10a ,10b 間を移動したことがス
テータスSのセットにより示されていれば、バスインタ
ーフェース13a はダミーのライト動作等を実行し、シス
テムバス11を通じて他のモジュール10b に対して今回の
データ更新を報知する。これは、データの更新によりメ
インメモリ20の記憶内容も更新となるため、他のプロ
セッサ・モジュール10b のキャッシュメモリ17b とメイ
ンメモリ20とのデータの一貫性を維持するためであ
る。さらに、バスインターフェース13a は、ステータス
用ローカルメモリ16a のステータスSをリセットする
(ステップS14)。On the other hand, in the write mode (YES in step S10), the bus interface 13a writes the data from the CPU 12a to the address of the data local memory 14a corresponding to the address M and updates the stored data. (Step S11). Here, if the status S is set in the status local memory 16a, the bus interface 13a (step S1
2), the other module 10b is notified that the data update has been executed (step S13). That is, after the completion of the data update, if the set of the status S indicates that the updated storage data has moved between the processor modules 10a and 10b, the bus interface 13a executes a dummy write operation, The data update of this time is notified to the other module 10b through the system bus 11. This is to maintain the data consistency between the cache memory 17b of the other processor module 10b and the main memory 20 because the stored content of the main memory 20 is also updated by updating the data. Further, the bus interface 13a resets the status S of the status local memory 16a (step S14).
【0019】次に、比較結果が不一致でかつアクセス内
容がインストラクション・リードモードの場合には(ス
テップS7のYES)、バスインターフェース13a は他
のモジュール10b に対応するデータ用ローカルメモリ14
b の要求したアドレス(M)をアクセスし、そのメモリ
14b に格納されている目標データをCPU12a に転送す
る(ステップS8)。Next, when the comparison result does not match and the access content is the instruction read mode (YES in step S7), the bus interface 13a causes the data local memory 14 corresponding to another module 10b.
The address (M) requested by b is accessed and its memory
The target data stored in 14b is transferred to the CPU 12a (step S8).
【0020】具体的には、モジュール10a のCPU12a
が例えばアドレス0F55(X=0,Y=F,Z=5
5)をインストラクション・リードする場合に、アクセ
ス前では、図4に示すように、モジュール10a の各ロー
カルメモリ14a 、15a ,16a は同図(A)に示すような
状態であり、またモジュール10b に対応する各ローカル
メモリ14b 、15b ,16b は同図(B)に示すような状態
であるとする。即ち、各ステータス用ローカルメモリ16
a ,16b のステータスは不定(1/0)であり、各デー
タ用ローカルメモリ14a ,14b は異なるデータを格納し
ている。アクセス後では、図5に示すように、モジュー
ル10b のステータス用ローカルメモリ16bにはステータ
ス(1)がセットされるが、モジュール10a のステータ
ス用ローカルメモリ16a のステータス状態は変化しな
い。Specifically, the CPU 12a of the module 10a
Address 0F55 (X = 0, Y = F, Z = 5
In the case of instruction read of 5), before access, as shown in FIG. 4, the local memories 14a, 15a, 16a of the module 10a are in the state as shown in FIG. It is assumed that the corresponding local memories 14b, 15b, 16b are in the state shown in FIG. That is, the local memory for each status 16
The status of a and 16b is indefinite (1/0), and the data local memories 14a and 14b store different data. After the access, as shown in FIG. 5, the status (1) is set in the status local memory 16b of the module 10b, but the status of the status local memory 16a of the module 10a does not change.
【0021】一方、比較結果が不一致でかつアクセス内
容がデータリードモードの場合には(図12のステップ
S17のYES)、バスインターフェース13a は、同モ
ジュール10a のアドレス用ローカルメモリ15a のアドレ
スMの記憶内容及び他のモジュール10b のアドレス用ロ
ーカルメモリ15b のアドレスMの記憶内容とを交換し、
同モジュール10a のデータ用ローカルメモリ14a のアド
レスMの記憶内容及び他のモジュール10b のデータ用ロ
ーカルメモリ14b のアドレスMの記憶内容とを交換する
(ステップS18)。バスインターフェース13a は、ア
クセス対象の目標データをCPU12a に転送する(ステ
ップS19)。バスインターフェース13a は、データが
各モジュール10a ,10b 間を移動した場合にステータス
用ローカルメモリ16a にステータスSをセットする(ス
テップS20)。On the other hand, when the comparison result does not match and the access content is the data read mode (YES in step S17 of FIG. 12), the bus interface 13a stores the address M of the address local memory 15a of the module 10a. The contents and the stored contents of the address M of the local memory 15b for the address of the other module 10b are exchanged,
The stored contents of the address M of the data local memory 14a of the module 10a and the stored contents of the address M of the data local memory 14b of the other module 10b are exchanged (step S18). The bus interface 13a transfers the target data to be accessed to the CPU 12a (step S19). The bus interface 13a sets the status S in the status local memory 16a when the data moves between the modules 10a and 10b (step S20).
【0022】具体的には、モジュール10a のCPU12a
が例えばアドレス0F55(X=0,Y=F,Z=5
5)をデータ・リードする場合に、アクセス前では、図
6に示すように、モジュール10a の各ローカルメモリ14
a 、15a ,16a は同図(A)に示すような状態であり、
またモジュール10b に対応する各ローカルメモリ14b 、
15b ,16b は同図(B)に示すような状態であるとす
る。即ち、各ステータス用ローカルメモリ16a ,16b の
ステータスは不定(1/0)であり、各データ用ローカ
ルメモリ14a ,14b は異なるデータを格納している。Specifically, the CPU 12a of the module 10a
Address 0F55 (X = 0, Y = F, Z = 5
5) When data is read, before access, as shown in FIG. 6, each local memory 14 of the module 10a is read.
a, 15a, 16a are in the state as shown in FIG.
In addition, each local memory 14b corresponding to the module 10b,
It is assumed that 15b and 16b are in a state as shown in FIG. That is, the status of each status local memory 16a, 16b is indefinite (1/0), and each data local memory 14a, 14b stores different data.
【0023】アクセス後では、図7に示すように、モジ
ュール10a のデータ用ローカルメモリ14a にはモジュー
ル10b のデータ用ローカルメモリ14b のデータが移動
し、またその逆にローカルメモリ14b にはメモリ14a の
データが移動する。また、モジュール10a のアドレス用
ローカルメモリ15a にはモジュール10b のアドレス用ロ
ーカルメモリ15b のアドレスが移動し、またその逆にロ
ーカルメモリ15b にはメモリ15a のアドレスが移動す
る。さらに、各ステータス用ローカルメモリ16a ,16b
にはステータス(1)がセットされる。After the access, as shown in FIG. 7, the data in the data local memory 14b of the module 10b is moved to the data local memory 14a of the module 10a, and vice versa. Data moves. Further, the address of the address local memory 15b of the module 10b moves to the address local memory 15a of the module 10a, and vice versa. In addition, local memory for each status 16a, 16b
Is set to status (1).
【0024】比較結果が不一致でかつアクセス内容がデ
ータライトモードの場合には(ステップS17のN
O)、バスインターフェース13a は、同モジュール10a
のアドレス用ローカルメモリ15a のアドレスMの記憶内
容及び他のモジュール10b のアドレス用ローカルメモリ
15b のアドレスMの記憶内容とを交換し、同モジュール
10a のデータ用ローカルメモリ14a のアドレスMの記憶
内容及び他のモジュール10b のデータ用ローカルメモリ
14b のアドレスMの記憶内容とを交換する(ステップS
21)。バスインターフェース13a は、アドレス用ロー
カルメモリ15a のアドレスおよびデータ用ローカルメモ
リ14a の記憶データを目標データに更新する(ステップ
S22)。When the comparison result does not match and the access content is the data write mode (N in step S17)
O), the bus interface 13a is the same module 10a
Contents of the address M of the local memory 15a of the other module and the local memory of the address of the other module 10b
Replace the stored contents of address M of 15b,
10a data local memory 14a memory contents of address M and other module 10b data local memory
The stored contents of the address M of 14b are exchanged (step S
21). The bus interface 13a updates the address in the address local memory 15a and the data stored in the data local memory 14a to the target data (step S22).
【0025】具体的には、モジュール10a のCPU12a
が例えばアドレス0F55(X=0,Y=F,Z=5
5)にデータ「1234」をデータ・ライトする場合
に、アクセス前では、図8に示すように、モジュール10
a の各ローカルメモリ14a 、15a,16a は同図(A)に
示すような状態であり、またモジュール10b に対応する
各ローカルメモリ14b 、15b ,16b は同図(B)に示す
ような状態であるとする。即ち、各ステータス用ローカ
ルメモリ16a ,16b のステータスは不定(1/0)であ
り、各データ用ローカルメモリ14a ,14b は異なるデー
タを格納している。Specifically, the CPU 12a of the module 10a
Address 0F55 (X = 0, Y = F, Z = 5
When the data “1234” is written to the data 5) before access, as shown in FIG.
The local memories 14a, 15a, 16a of a are in the state as shown in FIG. 7A, and the local memories 14b, 15b, 16b corresponding to the module 10b are in the state as shown in FIG. Suppose there is. That is, the status of each status local memory 16a, 16b is indefinite (1/0), and each data local memory 14a, 14b stores different data.
【0026】アクセス後では、図9に示すように、モジ
ュール10a のデータ用ローカルメモリ14a にはデータ
「1234」が格納されて、またその逆にローカルメモ
リ14bにはメモリ14a のデータが移動する。また、モジ
ュール10a のアドレス用ローカルメモリ15a にはモジュ
ール10b のアドレス用ローカルメモリ15b のアドレスが
移動し、またその逆にローカルメモリ15b にはメモリ15
a のアドレスが移動する。さらに、ステータス用ローカ
ルメモリ16a のステータスはリセットされて、ステータ
ス用ローカルメモリ16b にはステータス(1)がセット
される。After the access, as shown in FIG. 9, the data "1234" is stored in the data local memory 14a of the module 10a, and conversely, the data of the memory 14a is moved to the local memory 14b. Also, the address of the address local memory 15b of the module 10b moves to the address local memory 15a of the module 10a, and vice versa.
The address of a moves. Further, the status of the status local memory 16a is reset, and the status (1) is set in the status local memory 16b.
【0027】次に、第13図のステップS23に示すよ
うに、バスインターフェース13a が、同モジュール10a
のCPU12a ではなく、システムバス11を通じて、他の
モジュール10b のCPU12b からのアクセス要求に対し
てアクセス制御を実行する場合である。この場合でも、
バスインターフェース13a は、システムバス11を通じて
転送されるアクセス対象アドレスとアドレス用ローカル
メモリ15a に記憶されたアドレスとを比較する(ステッ
プS24)。Next, as shown in step S23 of FIG. 13, the bus interface 13a is connected to the module 10a.
This is a case where access control is executed in response to an access request from the CPU 12b of the other module 10b via the system bus 11 instead of the CPU 12a. Even in this case,
The bus interface 13a compares the access target address transferred via the system bus 11 with the address stored in the address local memory 15a (step S24).
【0028】即ち、システムバス11からのアドレスのY
部とローカルメモリ15a のアドレスMに記憶されたアド
レスLとを比較する。比較結果が一致の場合には(ステ
ップS25のYES)、バスインターフェース13a は、
データ用ローカルメモリ14aのアドレスMに対応するア
ドレスに対するアクセスを許可する(ステップS2
6)。即ち、バスインターフェース13a は、システムバ
ス11を通じて、アクセス許可信号を他のモジュール10b
に対して転送する。これにより、リードモードの場合に
は、データ用ローカルメモリ14a からリードされたデー
タNが、バスインターフェース13a により、システムバ
ス11を通じて他のモジュール10b に転送される。また、
ライトモードの場合には、他のモジュール10b からシス
テムバス11を通じて転送されたライトデータが、データ
用ローカルメモリ14a のアドレスMに対応するアドレス
に書込まれる。That is, Y of the address from the system bus 11
And the address L stored in the address M of the local memory 15a are compared. If the comparison result is a match (YES in step S25), the bus interface 13a
Access to the address corresponding to the address M of the data local memory 14a is permitted (step S2).
6). That is, the bus interface 13a sends an access permission signal to another module 10b through the system bus 11.
Forward to. Thus, in the read mode, the data N read from the data local memory 14a is transferred to the other module 10b via the system bus 11 by the bus interface 13a. Also,
In the write mode, the write data transferred from the other module 10b via the system bus 11 is written to the address corresponding to the address M of the data local memory 14a.
【0029】一方、比較結果が不一致の場合には(ステ
ップS25のNO)、バスインターフェース13a は、シ
ステムバス11を通じて、他のモジュール10b からなされ
るアクセス要求に対して応答しない(ステップS2
7)。これにより、データ用ローカルメモリ14a に対す
るアクセスは不可となり、他のモジュール10b は別のモ
ジュールに対してアクセス要求を行なうことになる。On the other hand, if the comparison results do not match (NO in step S25), the bus interface 13a does not respond to an access request made from another module 10b via the system bus 11 (step S2).
7). As a result, access to the data local memory 14a is disabled, and the other module 10b makes an access request to another module.
【0030】以上のように、本システムは、メインメモ
リを各プロセッサ・モジュール10a,10b のデータ用ロ
ーカルメモリ14a ,14b として分散構成したものであ
る。各ローカルメモリ14a ,14b の記憶内容に対応する
アドレスは、アドレス用ローカルメモリ15a ,15b に記
憶されている。バスインターフェース13a ,13b は、C
PU12a ,12b からアクセス要求がなされると、アクセ
ス対象のアドレスが同モジュールのアドレス用ローカル
メモリ15a ,15b に記憶されているか否かを判断する。
この判断結果に基づいて、バスインターフェース13a ,
13b は、同モジュールと他のモジュールとの記憶内容の
交換、アクセス許可の出力またはアクセス要求に対する
応答不可のようなアクセス制御を実行する。As described above, in the present system, the main memory is distributed and configured as the data local memories 14a and 14b of the processor modules 10a and 10b. The addresses corresponding to the stored contents of the local memories 14a and 14b are stored in the address local memories 15a and 15b. The bus interfaces 13a and 13b are C
When an access request is issued from the PUs 12a and 12b, it is determined whether or not the address to be accessed is stored in the address local memories 15a and 15b of the module.
Based on this judgment result, the bus interface 13a,
13b executes access control such as exchange of storage contents between the same module and another module, output of access permission, or no response to access request.
【0031】このような構成であれば、メインメモリと
大容量のキャッシュメモリを設けることなく、各CPU
はデータ処理の必要に応じて、メインメモリに対して必
要なアクセスを行なうことができる。したがって、メイ
ンメモリに対するアクセスの高速化を実現することがで
きる。さらに、同モジュール内でのアクセス動作によ
り、CPUのシステムバスの使用頻度を低下させること
ができる。With such a configuration, each CPU can be provided without providing a main memory and a large capacity cache memory.
Can make necessary access to the main memory as needed for data processing. Therefore, high-speed access to the main memory can be realized. Further, the access operation in the module can reduce the frequency of use of the CPU system bus.
【0032】また、ステータス用ローカルメモリ16a ,
16b を設けることにより、各モジュール10a ,10b 間を
移動した場合に、キャッシュメモリ17a ,17b とメイン
メモリ間のデータの一貫性を維持することが可能とな
る。In addition, the status local memory 16a,
By providing 16b, it becomes possible to maintain the consistency of data between the cache memories 17a and 17b and the main memory when moving between the modules 10a and 10b.
【0033】[0033]
【発明の効果】以上詳述したように本発明によれば、密
結合マルチプロセッサ方式のデータ処理システムにおい
て、メインメモリの分散構成を実現することにより、各
プロセッサによるメインメモリの高速アクセスおよび相
対的なシステムバスの使用頻度の低下を図ることができ
る。したがって、システムバスに対するプロセッサ接続
可能数を増加させることが可能となる。また、大容量化
のキャッシュメモリを不要にすることができるため、シ
ステム全体の小型化及びシステムの構成に伴うコストの
減少化を図ることができるものである。As described above in detail, according to the present invention, in the data processing system of the tightly coupled multiprocessor system, by realizing the distributed configuration of the main memory, the high speed access of the main memory by each processor and the relative access are realized. It is possible to reduce the frequency of use of various system buses. Therefore, the number of connectable processors to the system bus can be increased. Further, since it is possible to eliminate the need for a large capacity cache memory, it is possible to reduce the size of the entire system and reduce the cost associated with the system configuration.
【図1】本発明の実施例に係わるデータ処理システムの
構成を示すブロック図。FIG. 1 is a block diagram showing the configuration of a data processing system according to an embodiment of the present invention.
【図2】同実施例に係わるアドレスの構成を示す概念
図。FIG. 2 is a conceptual diagram showing an address configuration according to the embodiment.
【図3】同実施例に係わるメモリの記憶内容を説明する
ための概念図。FIG. 3 is a conceptual diagram for explaining stored contents of a memory according to the embodiment.
【図4】同実施例に係わるメモリの記憶内容を説明する
ための概念図。FIG. 4 is a conceptual diagram for explaining stored contents of a memory according to the embodiment.
【図5】同実施例に係わるメモリの記憶内容を説明する
ための概念図。FIG. 5 is a conceptual diagram for explaining stored contents of a memory according to the embodiment.
【図6】同実施例に係わるメモリの記憶内容を説明する
ための概念図。FIG. 6 is a conceptual diagram for explaining stored contents of a memory according to the embodiment.
【図7】同実施例に係わるメモリの記憶内容を説明する
ための概念図。FIG. 7 is a conceptual diagram for explaining stored contents of a memory according to the embodiment.
【図8】同実施例に係わるメモリの記憶内容を説明する
ための概念図。FIG. 8 is a conceptual diagram for explaining stored contents of a memory according to the embodiment.
【図9】同実施例に係わるメモリの記憶内容を説明する
ための概念図。FIG. 9 is a conceptual diagram for explaining stored contents of a memory according to the embodiment.
【図10】同実施例の動作を説明するためのフローチャ
ート。FIG. 10 is a flowchart for explaining the operation of the embodiment.
【図11】同実施例の動作を説明するためのフローチャ
ート。FIG. 11 is a flowchart for explaining the operation of the embodiment.
【図12】同実施例の動作を説明するためのフローチャ
ート。FIG. 12 is a flowchart for explaining the operation of the embodiment.
【図13】同実施例の動作を説明するためのフローチャ
ート。FIG. 13 is a flowchart for explaining the operation of the embodiment.
11…システムバス、12a ,12b …CPU、13a ,13b …
バスインターフェース、14a ,14b …データ用ローカル
メモリ、15a ,15b …アドレス用ローカルメモリ、16a
,16b …ステータス用ローカルメモリ、17a ,17b …
キャッシュメモリ。11 ... System bus, 12a, 12b ... CPU, 13a, 13b ...
Bus interface, 14a, 14b ... Local memory for data, 15a, 15b ... Local memory for address, 16a
, 16b… Local memory for status, 17a, 17b…
Cache memory.
Claims (1)
うためのシステムバスと、 前記各プロセッサに対応して設けられて、前記各プロセ
ッサが共有するメインメモリを分散構成する複数のデー
タ用ローカルメモリ手段と、 前記各プロセッサに対応して設けられて、前記各データ
用ローカルメモリ手段に記憶されたデータに対応するア
ドレスを記憶する複数のアドレス用ローカルメモリ手段
と、 前記各プロセッサに対応して設けられて、前記メインメ
モリに格納されるデータの一部を保持するキャッシュメ
モリ手段と、 前記各プロセッサに対応して設けられて、前記アドレス
用ローカルメモリ手段及びデータ用ローカルメモリ手段
の各データを前記各プロセッサ間で交換するときに、セ
ットしたステータス情報を記憶するステータス用ローカ
ルメモリ手段と、 前記各プロセッサに対応して設けられて前記システムバ
スとのインターフェースを構成し、対応する前記プロセ
ッサから前記キャッシュメモリに対するアクセス要求時
にキャッシュミスが発生したときに、前記アクセス要求
のアドレスと前記アドレス用ローカルメモリ手段に記憶
されたアドレスとを比較し、この比較結果が不一致でか
つインストラクション・リードモード時には他の前記プ
ロセッサに対応する前記データ用ローカルメモリ手段か
らアクセス要求のデータを対応する前記プロセッサに転
送し、または前記比較結果が不一致でかつデータリード
またはデータライトの各モード時にはアクセス要求した
前記プロセッサとは別のプロセッサに対応する前記デー
タ用ローカルメモリ手段の前記アクセス要求のアドレス
に記憶されたデータ及び前記アクセス要求した前記プロ
セッサに対応する前記データ用ローカルメモリ手段のデ
ータとを交換するインターフェース手段とを具備したこ
とを特徴とするマルチプロセッサ型データ処理システ
ム。1. A distributed configuration of a plurality of processors, a system bus for exchanging data and addresses between the respective processors, and a main memory provided corresponding to the respective processors and shared by the respective processors. A plurality of data local memory means, a plurality of address local memory means provided corresponding to each processor for storing an address corresponding to the data stored in each data local memory means, Cache memory means provided corresponding to each processor for holding a part of data stored in the main memory; and local memory means for address and data local provided for each processor. When exchanging each data of the memory means between each processor, Status local memory means for storing memory information and an interface with the system bus provided corresponding to each processor, and when a cache miss occurs when an access request is made from the corresponding processor to the cache memory. And comparing the address of the access request with the address stored in the local memory means for addresses, and when the comparison result is inconsistent and in the instruction read mode, the local memory means for data corresponding to another processor is used. The data of the access request is transferred to the corresponding processor, or the data local memory corresponding to the processor different from the processor requesting the access when the comparison result does not match and each mode of the data read or the data write. Multiprocessor data, characterized in that it comprises interface means for exchanging the data stored at the address of the access request of the memory means and the data of the data local memory means corresponding to the processor requesting the access. Processing system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4029359A JPH05225147A (en) | 1992-02-17 | 1992-02-17 | Multiprocessor type data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4029359A JPH05225147A (en) | 1992-02-17 | 1992-02-17 | Multiprocessor type data processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05225147A true JPH05225147A (en) | 1993-09-03 |
Family
ID=12273998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4029359A Withdrawn JPH05225147A (en) | 1992-02-17 | 1992-02-17 | Multiprocessor type data processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05225147A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008521114A (en) * | 2004-11-24 | 2008-06-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Coherent caching of local memory data |
KR100861896B1 (en) * | 2005-04-28 | 2008-10-09 | 엔이씨 일렉트로닉스 가부시키가이샤 | Data processing apparatus and data processing method |
-
1992
- 1992-02-17 JP JP4029359A patent/JPH05225147A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008521114A (en) * | 2004-11-24 | 2008-06-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Coherent caching of local memory data |
KR100861896B1 (en) * | 2005-04-28 | 2008-10-09 | 엔이씨 일렉트로닉스 가부시키가이샤 | Data processing apparatus and data processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100491435B1 (en) | System and method for maintaining memory coherency in a computer system having multiple system buses | |
US6151663A (en) | Cluster controller for memory and data cache in a multiple cluster processing system | |
US4928225A (en) | Coherent cache structures and methods | |
US5802582A (en) | Explicit coherence using split-phase controls | |
US6088769A (en) | Multiprocessor cache coherence directed by combined local and global tables | |
KR100515059B1 (en) | Multiprocessor system and method to maintain cache coherence therefor | |
JP2006277762A (en) | Partitioned sparse directory for distributed shared memory multiprocessor systems | |
US6898676B2 (en) | Computer system supporting both dirty-shared and non-dirty-shared data processing entities | |
JPH0340046A (en) | Cache memory control method and information processing device | |
US7051163B2 (en) | Directory structure permitting efficient write-backs in a shared memory computer system | |
US6647469B1 (en) | Using read current transactions for improved performance in directory-based coherent I/O systems | |
US6035376A (en) | System and method for changing the states of directory-based caches and memories from read/write to read-only | |
WO2001029674A1 (en) | Multi-processor system and method of accessing data therein | |
WO1997004392A1 (en) | Shared cache memory device | |
US6678800B1 (en) | Cache apparatus and control method having writable modified state | |
US6895476B2 (en) | Retry-based late race resolution mechanism for a computer system | |
JPH05225147A (en) | Multiprocessor type data processing system | |
JPH03172943A (en) | Cache memory control system | |
JPH09185547A (en) | Method and device for controlling multiprocessor | |
JPH0916474A (en) | Input / output control device and method | |
JP2642851B2 (en) | Cache memory control method | |
JPH0652046A (en) | Memory system | |
JPH0612363A (en) | Memory controller and multiprocessor system | |
JP2000105727A (en) | Multiprocessor, single processor, and data storage control method | |
JPH0241538A (en) | Cache memory control system |
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: 19990518 |