JPH0498343A - Memory control system - Google Patents

Memory control system

Info

Publication number
JPH0498343A
JPH0498343A JP2210392A JP21039290A JPH0498343A JP H0498343 A JPH0498343 A JP H0498343A JP 2210392 A JP2210392 A JP 2210392A JP 21039290 A JP21039290 A JP 21039290A JP H0498343 A JPH0498343 A JP H0498343A
Authority
JP
Japan
Prior art keywords
data
address
storage device
write
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2210392A
Other languages
Japanese (ja)
Inventor
Hirosada Tone
利根 廣貞
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2210392A priority Critical patent/JPH0498343A/en
Publication of JPH0498343A publication Critical patent/JPH0498343A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To ensure the consistency of data and to convert partial writing into whole writing by merging a write address write data of a processor, writing all data in a main storage device and invalidating data on the address of the other processor. CONSTITUTION:There is a case when the write address at that time does not exist in a buffer storage device 7a which is to execute writing and the address exists in the other buffer storage devices 7b and 7c as the write address from the processor to which the address applies. In such a case, data written in the main storage device 5 is transferred to the buffer storage device and transferred data and write data at that time are merged so as to write them in the main storage device 5. Furthermore, data on the addresses to which the other buffer storage devices 7b and 7c are applied are invalidated. Thus, different data are prevented from existing in plural buffer devices. Thus, the consistency of data between plural buffer storage devices is ensured and partial writing is converted into whole writing in all the cases.

Description

【発明の詳細な説明】 〔概  要〕 主記憶装置に対する部分書き込みを全書き込みに変換す
るメモリ制御方式に関し、 複数のバッファ記憶装置間のデータの一致性を保証し、
かつ全ての場合について、部分書き込みを全書き込みに
変換できるようにすることを目的とし、 少なくとも1つの主記憶装置と、複数のプロセッサと、
該複数のプロセッサに対応した複数のバッファ記憶装置
とからなり、主記憶装置とバッファ記憶装置との間がス
トアスルー方式で管理されるメモリ制御方式において、
プロセッサから書き込み要求が発行されたとき、書き込
みアドレスが、当該プロセッサのバッファ記憶装置に専
有状態で存在するときには、該バッファ記憶装置の該当
するアドレスのデータとプロセッサの書き込みデータと
をマージして主記憶装置に全書き込みし、書き込みアド
レスが、複数のプロセッサ間で共有状態で存在するとき
には、書き込み要求を発行したプロセッサのバッファ記
憶装置の該当するアドレスのデータと書き込みデータと
をマージして主記憶装置に全書き込みし、書き込み要求
を発行したプロセッサ以外の他のプロセッサのバッファ
記憶装置の該当するアドレスのデータを無効化し、書き
込みアドレスが、当該プロセッサのバッファ記憶装置に
存在しない場合には、主記憶装置の該当するアドレスの
データを書き込みを行うバッファ記憶装置に転送し、該
転送されたデータとプロセッサの書き込みデータとをマ
ージして主記憶装置に全書き込みし、他のプロセッサの
バッファ記憶装置の該当するアドレスのデータを無効化
するよう構成する。
[Detailed Description of the Invention] [Summary] Regarding a memory control method that converts a partial write to a main memory device into a full write, the present invention guarantees data consistency between multiple buffer storage devices,
and for the purpose of converting a partial write into a full write in all cases, at least one main memory, a plurality of processors,
In a memory control method comprising a plurality of buffer storage devices corresponding to the plurality of processors, and in which the relationship between the main storage device and the buffer storage device is managed in a store-through method,
When a write request is issued from a processor, if the write address exists in the buffer storage device of the processor in an exclusive state, the data at the corresponding address in the buffer storage device and the write data of the processor are merged and stored in the main memory. When all writes are performed to the device and the write address exists in a shared state among multiple processors, the data at the corresponding address in the buffer storage device of the processor that issued the write request is merged with the write data and stored in the main memory. All writes are performed, the data at the corresponding address in the buffer storage device of a processor other than the processor that issued the write request is invalidated, and if the write address does not exist in the buffer storage device of the processor concerned, the data in the main storage device is invalidated. The data at the corresponding address is transferred to the buffer storage device for writing, the transferred data and the processor's write data are merged and all written to the main storage device, and the data at the corresponding address in the buffer storage device of another processor is merged. Configure to invalidate data.

〔産業上の利用分野] 本発明は、主記憶装置に対する部分書き込みを全書き込
みに変換するメモリ制御方式に関する。
[Industrial Application Field] The present invention relates to a memory control method that converts partial writing to a main memory device into full writing.

〔従来の技術〕[Conventional technology]

複数のプロセッサからなる計算機システムのメモリ制御
方式として、ストアスルー方式とストアイン方式が知ら
れている。
Store-through and store-in methods are known as memory control methods for computer systems consisting of multiple processors.

ストアスルー方式は、プロセッサからの書き込み要求が
あった場合、主記憶装置とバッファ記憶装置の両方に対
してデータの書き込みを行う方式このストアスルー方式
の特徴は、最新の書き込みデータが常に主記憶装置に書
き込まれるので、バッファ記憶装置に障害が発生しても
、データが確実に保全され信軌性の高いシステムを構成
できることである。
The store-through method is a method in which data is written to both main memory and buffer storage when there is a write request from the processor.The feature of this store-through method is that the latest written data is always stored in the main memory. Therefore, even if a failure occurs in the buffer storage device, the data can be reliably preserved and a system with high reliability can be constructed.

しかしながら、ストアスルー方式では、プロセッサから
の書き込み要求が発生する毎に、主記憶装置に対して書
き込みが行われるので、1台の主記憶装置を複数のプロ
セッサ間で共有するシステムでは、主記憶装置のビジー
時間が長くなり、システムの性能が低下するという欠点
がある。
However, in the store-through method, each time a write request from a processor occurs, a write is performed to the main memory, so in a system where one main memory is shared among multiple processors, the main memory The disadvantage is that the busy time of the system becomes longer and the system performance deteriorates.

これに対し、ストアイン方式では、プロセッサから書き
込み要求が発行されたとき、通常はデータの書き込みは
バッファ記憶装置に対してだけ行なわれ、バッファ記憶
装置に記憶されたデータブロックが新たなデータブロッ
クに置き換えられる場合にだけ、置換されるデータが主
記憶装置に書き込まれる。
On the other hand, in the store-in method, when a write request is issued from the processor, data is normally written only to the buffer storage device, and the data block stored in the buffer storage device becomes a new data block. Only when replaced is the data being replaced written to main memory.

従って、ストアイン方式では、主記憶装置に対するアク
セス頻度が少なくなるので、主記憶装置のビジー状態が
短くなり、システム性能が低下するのを防止できる。
Therefore, in the store-in method, the frequency of access to the main storage device is reduced, so the busy state of the main storage device is shortened, and system performance can be prevented from deteriorating.

しかしながら、ストアイン方式では、最新のデータがバ
ッファ記憶装置上にしか存在しないために、バッファ記
憶装置に障害が発生すると、最新のデータが失われてし
まうという欠点がある。
However, the store-in method has the drawback that the latest data exists only on the buffer storage device, so if a failure occurs in the buffer storage device, the latest data will be lost.

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

そこで、上述したストアスルー方式において、主記憶装
置に対するデータの書き込みを行いながら、主記憶装置
のビジーを低く保ことができれば、信輔性が高く且つ効
率の良いシステムを構築することができる。
Therefore, in the store-through method described above, if it is possible to keep the main storage device busy while writing data to the main storage device, a highly reliable and efficient system can be constructed.

一般に主記憶装置に対するデータの書き込みは、エラー
訂正(error checking and cor
rection)コードの付加された所定バイト数単位
(これをECC単位と呼ぶ、例えば、8バイト単位)で
行われる。ECC単位より短いプロセッサからのデータ
(例えば、4バイトのデータ)を書き込む場合には、部
分書き込みとなり、先ず主記憶装置からECC単位のデ
ータを読み出し、その読み出したデータにプロセッサの
書き込みデータをマージしてからECCコードを作成し
、作成したECC単位のデータを主記憶装置に対して書
き込むという手順でデータの書き込みが行われる。
Generally, writing data to main memory requires error checking and correc- tion.
(rection) code is added in units of a predetermined number of bytes (this is called an ECC unit, for example, in units of 8 bytes). When writing data from the processor that is shorter than the ECC unit (for example, 4-byte data), it is a partial write, and the data in the ECC unit is first read from the main memory, and the data written by the processor is merged with the read data. Data is written in the following steps: after that, an ECC code is created, and the data in the created ECC unit is written to the main storage device.

すなわち、部分書き込みでは、主記憶装置に対し読み出
し及び書き込みの2回のオペレーション必要となるため
にアクセス回数が増大し、これが主記憶装置のビジー時
間が長くなる原因となっている。
That is, partial writing requires two operations, one for reading and one for writing, to the main memory, increasing the number of accesses, which causes the busy time of the main memory to become longer.

そこで、部分書き込みを全書き込みに変換する方法が種
々提案されており、例えば特開昭50−137440号
には、単一のプロセッサシステムにおいて、部分書き込
みを全書き込みに変換する技術が開示されている。
Therefore, various methods have been proposed for converting partial writing into full writing. For example, Japanese Patent Laid-Open No. 137440/1989 discloses a technique for converting partial writing into full writing in a single processor system. .

しかしながら、この提案は、マルチプロセッサシステム
において生じる問題点を解決するものではない。マルチ
プロセッサシステムでは、複数のプロセッサがそれぞれ
のバッファ記憶装置に対してデータの書き込みを行うた
めに、1つのプロセッサの書き込みアドレスが他のプロ
セッサのバッファ記憶装置に保持されていることがある
。そこで、データの書き込みの際に、複数のバッファ記
憶装置間のデータの一致性を確保する必要がある。
However, this proposal does not solve the problems that arise in multiprocessor systems. In a multiprocessor system, one processor's write address may be held in the buffer storage of another processor because multiple processors write data to their respective buffer storages. Therefore, when writing data, it is necessary to ensure consistency of data between a plurality of buffer storage devices.

例えば、特開昭51−38839号、特開昭55−33
253号には、複数のプロセサッサが主記憶装置を共有
する場合に、部分書き込みを全書き込みに変換する技術
が述べられている。
For example, JP-A-51-38839, JP-A-55-33
No. 253 describes a technique for converting a partial write into a full write when a main memory is shared by a plurality of processors.

しかしながら、何れの技術も、複数のバッファ記憶装置
のデータの一致性を保ちながら、全ての場合について部
分書き込みを全書き込みに変換できるものではなかった
However, neither technique has been able to convert partial writing into full writing in all cases while maintaining consistency of data in a plurality of buffer storage devices.

本発明の目的は、複数のバッファ記憶装置間のデータの
一致性を保証し、かつ全ての場合について、部分書き込
みを全書き込みに変換できるようにすることを目的とす
る。
It is an object of the present invention to guarantee data consistency between a plurality of buffer storage devices and to be able to convert a partial write into a full write in all cases.

〔課題を解決するための手段〕[Means to solve the problem]

第1図(a)は、本発明の原理説明図である。また、第
1図ら)は、本発明のメモリ制御方式に基づくマルチプ
ロセッサシステムのシステム構成の−41示す図である
FIG. 1(a) is a diagram explaining the principle of the present invention. Furthermore, FIG. 1 et al.) are diagrams illustrating the system configuration of a multiprocessor system based on the memory control method of the present invention.

本発明に係るマルチプロセッサシステムは、少なくとも
1つの主記憶装置5(第1図ら)参照、以下同じ)と、
複数のプロセッサ6a、6b、6Cと、それら複数のプ
ロセッサに対応した複数のバッファ記憶装置7a、7b
、7Cとからなり、主記憶装置5とバッファ記憶装置7
a〜7Cとの間はストアスルー方式で管理されている。
The multiprocessor system according to the present invention includes at least one main storage device 5 (see FIG. 1 et al., the same applies hereinafter),
A plurality of processors 6a, 6b, 6C and a plurality of buffer storage devices 7a, 7b corresponding to the plurality of processors.
, 7C, main storage device 5 and buffer storage device 7
A to 7C are managed using a store-through method.

また、同図b)に示す記憶制御装置8は、請求項2の発
明に対応したものであり、この記憶制御装置8は、主記
憶装置5に対するデータの書き込み及び読み出しを制御
するものである。この記憶制御装置8には、各バッファ
記憶装置7a〜7cのアドレス情報の一部あるいは全部
の複写情報を記憶するTAG部8aを有している。
Further, the storage control device 8 shown in FIG. This storage control device 8 has a TAG section 8a that stores copy information of part or all of the address information of each buffer storage device 7a to 7c.

プロセッサ6a、6b、又は6cから書き込み要求が発
行されたとき、各バッファ記憶装置7a〜7cに登録さ
れているアドレスの状態として以下の3つの場合がある
When a write request is issued from the processor 6a, 6b, or 6c, there are the following three states of the addresses registered in each of the buffer storage devices 7a to 7c.

(1)書き込みアドレスが当該プロセッサのバッファ記
憶装置に専有状態で存在するとき。
(1) When the write address exists in the buffer storage device of the processor in an exclusive state.

ここで専有状態とは、例えばそのアドレスが、書き込み
を行おうとするバッファ装置7aにプロセッサ6aから
の書き込み又は読み出しアドレスとして存在し、かつ他
のバッファ記憶装置7b、7cには存在しない場合であ
る。この場合、バッファ記憶装置7aの該当するアドレ
スのデータと書き込みデータとをマージして主記憶装置
5に全書き込みする。
Here, the exclusive state is, for example, a case where the address exists as a write or read address from the processor 6a in the buffer device 7a to which writing is to be performed, and does not exist in the other buffer storage devices 7b and 7c. In this case, the data at the corresponding address in the buffer storage device 7a and the write data are merged and all written into the main storage device 5.

(2)書き込みアドレスが複数のバッファ記憶装置間で
共有状態で存在するとき。
(2) When the write address exists in a shared state among multiple buffer storage devices.

ここで共有状態とは、例えばそのアドレスが、書き込み
を行おうとするバッファ記憶装置7aにプロセッサ6a
からの書き込み又は読み出しアドレスとして存在し、他
のバッファ記憶装置f7b、7cに主記憶装置5からの
読み出し又は書き込みアドレスとして存在する場合であ
る。この場合、バッファ記憶装置7aの該当するアドレ
スのデータと、書き込みデータとをマージして主記憶装
置5に全書き込みする。さらに、他のバッファ記憶装置
7b、7cの該当するアドレスのデータを無効化する。
Here, the shared state means that, for example, the address is written to the buffer storage device 7a by the processor 6a.
This is a case where the address exists as a write or read address from the main memory device 5, and exists in the other buffer storage devices f7b, 7c as a read or write address from the main memory device 5. In this case, the data at the corresponding address in the buffer storage device 7a and the write data are merged and all written into the main storage device 5. Furthermore, the data at the corresponding addresses in the other buffer storage devices 7b and 7c are invalidated.

(3)書き込みアドレスが、当該プロセッサのバッファ
記憶装置に存在しない場合。
(3) The write address does not exist in the buffer storage of the processor.

この場合には、主記憶部W5の該当するアドレスのデー
タを、例えば書き込みを行おうとするバッファ記憶装置
7aに転送し、その転送したデータと書き込みデータと
をマージして主記憶装置5に全書き込みする。さらに、
他のバッファ記憶部f7b、7cの該当するアドレスの
データを無効化する。
In this case, the data at the corresponding address in the main memory unit W5 is transferred to the buffer storage device 7a to which writing is to be performed, for example, and the transferred data and write data are merged to write all the data to the main memory device 5. do. moreover,
The data at the corresponding address in the other buffer storage units f7b, 7c is invalidated.

〔作  用〕[For production]

本発明のメモリ制御方式によれば、書き込みアドレスが
、書き込みを行おうとするバッファ記憶装置に専有状態
で存在するときも、複数のバッファ記憶装置間で共有状
態で存在するときも、あるいはそのバッファ記憶装置に
存在しない場合にも、何れの場合についても、主記憶装
置に対する部分書き込みを全書き込みに変換することが
できる。
According to the memory control method of the present invention, whether a write address exists in a proprietary state in the buffer storage device to which writing is to be performed, or exists in a shared state among multiple buffer storage devices, or In either case, a partial write to the main memory can be converted into a full write even if it does not exist in the device.

例えば、書き込みを行おうとするバッファ記憶装置7a
にそのときの書き込みアドレスが存在せず、他のバッフ
ァ記憶装置7b、7Cにそのアドレスが該当するプロセ
ッサからの書き込みアドレスとして存在する場合がある
For example, the buffer storage device 7a to which writing is to be performed
In some cases, the write address at that time does not exist, but the address exists in other buffer storage devices 7b and 7C as a write address from the corresponding processor.

この場合には、主記憶装置5に書き込まれているデータ
をバッファ記憶装置に転送し、転送したデータと、その
ときの書き込みデータとマージして主記憶装置に全書き
込みし、さらに他のバッファ記憶装置7b、7Cの該当
するアドレスのデータを無効化することで、複数のバッ
ファ装置間に異なるデータが存在するのを防止できる。
In this case, the data written in the main memory device 5 is transferred to the buffer memory device, the transferred data and the data written at that time are merged, and all are written to the main memory device, and then the other buffer memory By invalidating the data at the corresponding addresses of the devices 7b and 7C, it is possible to prevent different data from existing among the plurality of buffer devices.

他の場合に付いても同様に部分書き込みを全書き込みに
変換することができ、全ての場合について、データの一
致性を確保しながら、部分書き込みを全書き込みに変換
することができる。
In other cases, partial writing can be similarly converted to full writing, and in all cases, partial writing can be converted to full writing while ensuring data consistency.

〔実  施  例〕〔Example〕

以下、本発明の実施例を図面を参照しながら説明する。 Embodiments of the present invention will be described below with reference to the drawings.

第2図は、本発明のメモリ制御方式に係るマルチプロセ
ッサシステムのシステム構成図である。
FIG. 2 is a system configuration diagram of a multiprocessor system according to the memory control method of the present invention.

同図に示すシステムは、4個のプロセッサCPtJ11
 a−CPUI 1 dと、2個の主記憶装置(MSU
)12a、12bと、それら主記憶装置12a、12b
を制御する記憶制御装置(MCU)13とで構成されて
いる。
The system shown in the figure includes four processors CPtJ11
a- CPUI 1 d and two main storage units (MSU
) 12a, 12b and their main storage devices 12a, 12b
It is composed of a storage control unit (MCU) 13 that controls the .

各CPU11a〜11dは、高速、小容量のメモリで構
成されるバッファ記憶部に対する書き込み及び読み出し
を制御するバッファ記憶制御部I4(第3図)を備えて
いる。
Each of the CPUs 11a to 11d is equipped with a buffer storage control section I4 (FIG. 3) that controls writing and reading to and from a buffer storage section composed of a high-speed, small-capacity memory.

第3図は、上記のバッファ記憶制御部14の具体的構成
を示す図である。
FIG. 3 is a diagram showing a specific configuration of the buffer storage control section 14 described above.

本実施例の各CPU11a−1idは、パイプライン制
御により命令が処理されている。第3図には詳しく示し
ていないが、各CPUには、パイプライン全体の制御と
、バッファ記憶部をアクセスするためのアドレス計算を
行うIUユニット15と、データの加減乗除算などの演
算を行う演算制御部EU16とが設けられている。
Each CPU 11a-1id in this embodiment processes instructions through pipeline control. Although not shown in detail in FIG. 3, each CPU includes an IU unit 15 that controls the entire pipeline and calculates addresses for accessing the buffer storage section, and performs operations such as data addition, subtraction, multiplication, and division. An arithmetic control unit EU16 is provided.

IU15から出力されるピント1からピント31までの
論理アドレスは、レジスタEAR17にセットされ比較
器22及び23に出力される。
The logical addresses from pinto 1 to pinto 31 output from IU 15 are set in register EAR17 and output to comparators 22 and 23.

アドレス変換バッファ (TLB)1Bは、後述するB
S DATA部20に登録されているデータの論理アド
レスと、その論理アドレスに対応する実アドレスとを記
憶しているメモリである。このTLB18には、IU1
5から出力される論理アドレスのビット13からビット
19が入力し、そのアドレスに対応するPRIMARY
 、 ALTERNATEの2つのエントリが同時に読
み出される。
Address translation buffer (TLB) 1B is B, which will be described later.
This is a memory that stores logical addresses of data registered in the SDATA section 20 and real addresses corresponding to the logical addresses. This TLB18 has IU1
Bits 13 to 19 of the logical address output from 5 are input, and the PRIMARY corresponding to that address
, ALTERNATE are read simultaneously.

レジスタEAR17から出力される論理アドレスは、比
較器22及び23により、上記のアドレス変換バッファ
TLB 18の論理アドレスと比較され、一致するアド
レスの実アドレスが読み出されて、論理アドレスから実
アドレスへの変換が行われる。このとき読み出される実
アドレスは、BSTAG部19及びレジスタRAR26
に出力される。
The logical address output from the register EAR17 is compared with the logical address of the address translation buffer TLB 18 by the comparators 22 and 23, and the real address of the matching address is read out, and the logical address is converted from the logical address to the real address. Conversion takes place. The real address read at this time is the BSTAG section 19 and the register RAR26.
is output to.

BS TAGAlB12WAYOからWAY7の8つの
連想レベルで構成されており、8つのWAYには主記憶
上の同じブロック群のアドレス情報が書き込まれる。
It is composed of eight associative levels from WAYO to WAY7, and address information of the same block group on the main memory is written in the eight WAYs.

BS TAGAlB12WAY f7)出力は、それぞ
れ2×8個の比較器21に入力しており、比較器21に
おいて、TLBI8のREAL部18bから出力される
実アドレスと比較される。この比較器21の比較結果と
、比較器22及び23の比較結果とから、IU−15か
ら出力された論理アドレスがBS TAGAlB12の
WAYに存在するか、あるいは存在しないかが判る。
The BS TAGAlB12WAY f7) outputs are input to 2×8 comparators 21, and are compared with the real address output from the REAL section 18b of TLBI8 in the comparators 21. From the comparison results of the comparator 21 and the comparison results of the comparators 22 and 23, it can be determined whether the logical address output from the IU-15 exists in the WAY of the BS TAG AlB 12 or not.

ここで、IU15がら出力される論理アドレスは、仮想
アドレス方式で4にバイト単位のページアドレス変換が
行われており、アドレスデータのビット1からビット3
1の内、ビット20〜31は論理アドレスと実アドレス
とが一致している。
Here, the logical address output from the IU 15 is converted into a 4-byte page address using the virtual address method, and the address data is bit 1 to bit 3.
For bits 20 to 31 of 1, the logical address and real address match.

上記のBS TAGAlB12.1015からピント2
0〜25の論理アドレス(−実アドレス)が入力してお
り、T L B 18 f7) LOGICAL部18
a(7)比較結果を待たずに、REAL部18bと各W
AYのアドレスデータとを比較できるようになっている
。これにより、BS TAGAlB12索が高速化され
る。
Pinto 2 from the above BS TAGAlB12.1015
Logical addresses (-real addresses) from 0 to 25 are input, TLB 18 f7) LOGICAL section 18
a(7) Without waiting for the comparison result, the REAL section 18b and each W
It is possible to compare with the address data of AY. This speeds up the BS TAGAlB12 search.

本実施例では、BS TAG部I9には、エントリーの
有効、無効を示すVALII) BIT: Vフラグと
ビット1からビットI9からなる実アドレスビットに加
え、BS TAGAlB12録されているアドレスに対
して、プロセッサからの書き込みが行われたか否がを明
示するCHANGE BIT: Cフラグを設けている
。このCフラグは、プロセッサが書き込みを行ったとき
「1」にセットされ、他のプロセッサが同一アドレスに
対して書き込みを行ったとき「o」にリセントされるよ
うになっている。
In this embodiment, the BS TAG section I9 contains VALII (VALII) that indicates whether the entry is valid or invalid.BIT: In addition to the V flag and real address bits consisting of bits 1 to I9, A CHANGE BIT: C flag is provided to clearly indicate whether writing has been performed from the processor. This C flag is set to "1" when a processor writes, and reset to "o" when another processor writes to the same address.

BS DATA部20は、BS TAGAlB12AY
数に対応した構成を有するデータメモリである。このB
S DATA部20ムこは、BS TAGAlB12し
て1マシンサイクル遅れて、EAR17から論理アドレ
ス(実アドレス)のビット20〜ビツト25が出力され
、そのアドレスで指定されるデータが読み出される。
BS DATA section 20 is BS TAGAlB12AY
It is a data memory having a configuration corresponding to the number of data. This B
The SDATA section 20 module outputs bits 20 to 25 of the logical address (real address) from the EAR 17 one machine cycle later than the BS TAG AlB 12, and reads out the data specified by the address.

このBS DATA部20に記憶されるデータの書き換
えは、L RU (Least Recently U
sed)方式で行われており、参照頻度の低いものから
順にBS TAGAlB12BS DATA部20から
追い出される。
This rewriting of data stored in the BS DATA section 20 is performed using LRU (Least Recently U
sed) method, and are evicted from the BS TAG AlB 12BS DATA section 20 in descending order of reference frequency.

BS DATA部20から読み出されるデータは、AL
IGN&5ELECT回路24により、比較器21の比
較結果に基づいて所望のデータWAYが選択され、同時
にWORD REG25のどの方向からデータを格納す
るか、すなわちWORD REG25の先頭からデータ
を格納するか、あるいはWORD REG25の後ろか
らデータを格納す−るかが決定される。
The data read from the BS DATA section 20 is
The IGN & 5ELECT circuit 24 selects a desired data WAY based on the comparison result of the comparator 21, and at the same time selects from which direction of the WORD REG 25 the data is to be stored, that is, from the beginning of the WORD REG 25, or from the beginning of the WORD REG 25. It is determined whether data will be stored starting from the end.

WORD REG25に格納された命令語、オペランド
データ等は、IU15に出力されて命令のデコード、演
算用オペランドデータとして使用される。
Instruction words, operand data, etc. stored in the WORD REG 25 are output to the IU 15 and used as operand data for instruction decoding and calculations.

TLB I 8において、論理アドレスがら実アドレス
に変換されたアドレスデータ(TLB18の出力B、C
)は、リアルアドレスレジスタ(RAR)26にセット
される。このRAR26にセ・ントされたアドレスデー
タは、主記憶装置(MSU)12a又は12bのアクセ
スタイミングのギャプを吸収するために、−旦レジスタ
5TAR27に記憶される。
In TLB I8, the address data converted from the logical address to the real address (outputs B and C of TLB18)
) is set in the real address register (RAR) 26. The address data set in the RAR 26 is stored in the register 5TAR 27 in order to absorb gaps in access timing of the main storage unit (MSU) 12a or 12b.

CPUの書き込みデータは、EU16がらE−UNIT
 5TORE DATAハスを経てALIGN回路28
に取り込まれる。ALIGN回路28の出力は、BS 
DATAlB28書き込みデータとしてレジスタ5DR
29に出力されると共に、主記憶装置への書き込みデー
タとしてストアバッファ(STB)30にセットされる
The CPU write data is from EU16 to E-UNIT.
ALIGN circuit 28 via 5TORE DATA lotus
be taken in. The output of the ALIGN circuit 28 is BS
Register 5DR as DATA1B28 write data
29, and is also set in the store buffer (STB) 30 as write data to the main storage device.

ストアアドレスレジスタ(STAR)27及びストアバ
ッファ(STB)30にセットされた書き込みアドレス
及び書き込みデータは、MCUI3が受付可能となった
とき、セレクタ31.32及びレジスタMSAR33及
びMDI34を経て出力される。
The write address and write data set in the store address register (STAR) 27 and the store buffer (STB) 30 are outputted via the selector 31, 32 and the registers MSAR33 and MDI34 when the MCUI3 becomes able to accept the data.

また、レジスタBIAR35は、後述するMCU13か
ら出力されるブロック転送アドレス、あるいは無効化す
べきアドレスを記憶する回路である。
Further, the register BIAR 35 is a circuit that stores a block transfer address output from the MCU 13, which will be described later, or an address to be invalidated.

上述したバッファ記憶制御部14と同じ構成の回路が各
CPUI I a〜lidに設けられており、それぞれ
のバッファ記憶制御部14のMSAR33及びMD I
 34には、MCU13の状態に関わらずアドレス及び
データがセットされ、それらのデータがパイプライン処
理とは独立にMCU13に出力される。
A circuit having the same configuration as the buffer storage control unit 14 described above is provided in each CPU I a to lid, and the MSAR 33 and MD I of each buffer storage control unit 14
34, addresses and data are set regardless of the state of the MCU 13, and these data are output to the MCU 13 independently of pipeline processing.

次に、MCU (記憶制御装置)13の回路構成を第5
図により説明する。
Next, the circuit configuration of the MCU (memory control unit) 13 is
This will be explained using figures.

MCU13には、4個のCPU11a 〜lidに対応
して、それぞれのアクセス要求を記憶する4個のボート
41a〜41dが設けられている。
The MCU 13 is provided with four boats 41a to 41d that store access requests, corresponding to the four CPUs 11a to lid.

このボート41a〜4]dに記憶されたアクセス要求は
、プライオリティ回路42によりパイプライン使用権の
優先順位が決められ、最も優先度の高いリクエストがタ
イミングレジスタT1に送られる。そして、次のタイミ
ングにタイミングレジスタT2から主記憶装置(MSU
)12a又は12bに出力されると共に、タイミングレ
ジスタT3に出力される。タイミングレジスタT3〜T
7は、読み出し及び書き込みのオペレーションのタイミ
ングを取るためものである。
The access requests stored in the ports 41a to 4]d are prioritized for the right to use the pipeline by the priority circuit 42, and the request with the highest priority is sent to the timing register T1. Then, at the next timing, the main storage device (MSU) is transferred from the timing register T2.
) 12a or 12b, and is also output to the timing register T3. Timing register T3~T
7 is for timing read and write operations.

タイミングレジスタT1から出力されるリクエストが、
CPUからの書き込み要求であったときには、そのとき
の書き込みアドレスと一致するアドレスが他のCPUに
存在するか否かをTAG部43a〜43dを参照して調
べる。ここで、TAG部43a〜43dとは、前述した
バッファ記憶制御部14のBS TAGAlB12ドレ
ス情報のコピーを、CPU毎に記憶している回路である
The request output from timing register T1 is
When the write request is from the CPU, it is checked by referring to the TAG sections 43a to 43d whether or not an address matching the current write address exists in another CPU. Here, the TAG units 43a to 43d are circuits that store a copy of the BS TAGAlB12 address information of the buffer storage control unit 14 described above for each CPU.

第6図は、MCU13のTAG部43 a 〜43 d
の構成図である。TAG部43a〜43dは、第4図に
示したバッファ記憶制御部14のBS TAGAlB1
2ぼ同様の構成を有している。 BS TAGAlB1
2なる点は、CHANGE BIT: Cが設けらてい
ないことである。
FIG. 6 shows TAG sections 43 a to 43 d of the MCU 13.
FIG. The TAG sections 43a to 43d are connected to the BS TAGAlB1 of the buffer storage control section 14 shown in FIG.
Both have similar configurations. BS TAGAlB1
The second point is that CHANGE BIT: C is not provided.

第5図に戻り、CPUからのリクエストがあると、TA
G部43a〜43dから書き込みアドレスに対応したア
ドレス情報が順次読み出され、比較器44a〜44dに
より、読み出されたアドレスとIU15からの書き込み
又は読み出しアドレスとが比較される。そして、一致す
るアドレスが存在すると、そのアドレス情報が対応する
レジスタBr45a〜45dに出力される。このレジス
タB147a〜47dから出力されるアドレス情報は、
前述した各CPUのバッファ記憶制御部14のレジスタ
BIAR35に出力される。
Returning to Figure 5, when there is a request from the CPU, the TA
Address information corresponding to the write address is sequentially read from the G sections 43a to 43d, and the read address is compared with the write or read address from the IU 15 by the comparators 44a to 44d. If a matching address exists, the address information is output to the corresponding registers Br45a to Br45d. The address information output from these registers B147a to 47d is
It is output to the register BIAR35 of the buffer storage control unit 14 of each CPU mentioned above.

このとき、CPUからのリクエストがバッファ記憶部に
対する書き込み要求で、他のCPUに同一のアドレスが
存在する場合には、他のCPUに対して該当するアドレ
スを無効化する指示が出される。
At this time, if the request from the CPU is a write request to the buffer storage section and the same address exists in another CPU, an instruction is issued to the other CPU to invalidate the corresponding address.

レジスタMSRDI46は、主記憶装置(MStJ)1
2a、12bから読み出されるデータを記憶するレジス
タである。このレジスタMSRD 146に記憶された
データは、SYNDROMEチェンク回路(SYD)4
7でECCコードがチエツクされた後、レジスタMSR
DII48に記憶される。
Register MSRDI46 is main memory device (MStJ) 1
This is a register that stores data read from 2a and 12b. The data stored in this register MSRD 146 is stored in the SYNDROME change circuit (SYD) 4.
After the ECC code is checked at 7, register MSR
It is stored in DII48.

レジスタMSRDII48に記憶されたデータは、Co
RRECT回路(COR)49でエラー訂正がなされた
後、レジスタMSRDI[[50及びMCUDO51を
経て、対象となるCPUに出力される。
The data stored in register MSRDII48 is
After error correction is performed in the RRECT circuit (COR) 49, the signal is output to the target CPU via the register MSRDI[[50 and MCUDO51.

ボートDI PORT52は、4個のcpuがら出力さ
れる書き込みデータを記憶する4個のレジスタで構成さ
れており、このDT PORT 52に記憶されたデー
タの中で優先権の与えられたボートに対応するデータが
、ナレツジ53で選択されMSWDr54に記憶される
。MSWD I 54の出力データに対し、GEN部5
5でECCコードが作成され、そのECCコードが付加
されたデータが、MSWDI156を経てMSU12a
又は12bに書き込みデータとして出力される。
The boat DI PORT 52 is composed of four registers that store write data output from the four CPUs, and among the data stored in this DT PORT 52, the data corresponds to the boat given priority. Data is selected by knowledge 53 and stored in MSWDr 54. For the output data of MSWD I54, GEN section 5
An ECC code is created in step 5, and the data to which the ECC code is added is sent to the MSU 12a via the MSWDI 156.
Or it is output as write data to 12b.

次に、主記憶装置(MSU)12a、12bの構成を第
7図により説明する。
Next, the configuration of the main storage units (MSU) 12a and 12b will be explained with reference to FIG.

本実施例のMSU12a、12bのメモリ61は、同時
に動作可能な複数のバンクで構成されている。これは1
つのメモリアクセスを実行するのに、通常複数のマシン
サイクルを要するので、異なったバンクの別のアドレス
を同時にアクセスできるようにして、主記憶装置のスル
ープットを向上させるためである。
The memory 61 of the MSUs 12a and 12b of this embodiment is composed of a plurality of banks that can operate simultaneously. This is 1
This is to improve main memory throughput by allowing different addresses in different banks to be accessed simultaneously, since it typically takes multiple machine cycles to perform one memory access.

例えば、第7図に示したMSUでは、レジスタADR6
2に記憶されるMCU13からの読み出しアドレスの下
位アドレスを、8バイト単位で変化させることにより、
8個のバンクを同時にアクセスすることができる。これ
ら8個のバンクから読み出された8 X 8 =64ハ
イドのデータは、レジスタDOR63に保持されてMC
U13に出力される。
For example, in the MSU shown in FIG.
By changing the lower address of the read address from the MCU 13 stored in 2 in units of 8 bytes,
Eight banks can be accessed simultaneously. The 8 x 8 = 64 hide data read from these 8 banks is held in the register DOR63 and sent to the MC.
It is output to U13.

また、書き込みの場合は、MCU13から出力されたデ
ータがレジスタDIR64に記憶され、そのデータがレ
ジスタADR62のアドレスで指定されるバンクに書き
込まれる。
Furthermore, in the case of writing, the data output from the MCU 13 is stored in the register DIR64, and the data is written into the bank specified by the address of the register ADR62.

次に、本発明に係るメモリ制御方式に基づく、データの
読み出し及び書き込み処理の内容を、第8図及び第9図
のフローチャートを参照して説明する。
Next, the contents of data read and write processing based on the memory control method according to the present invention will be explained with reference to the flowcharts of FIGS. 8 and 9.

以下では、CPU11aから読み出し、あるいは書き込
み要求が発行されたときのCPU1i’aのバッファ記
憶制御部I4及びMCUI3の動作を説明する。
Below, the operation of the buffer storage control unit I4 and MCUI3 of the CPU 1i'a when a read or write request is issued from the CPU 11a will be explained.

先ず、読み出しの場合の動作を第8図のフローチャート
を参照して説明する。
First, the operation in the case of reading will be explained with reference to the flowchart of FIG.

バッファ記憶制御部14は、BS TAG部19のアド
レス情報と、rU15から出力される読み出しアドレス
とを比較し、一致するアドレスが存在するか否かを判断
する(第8図、SL)。
The buffer storage control unit 14 compares the address information of the BS TAG unit 19 and the read address output from the rU 15, and determines whether a matching address exists (FIG. 8, SL).

読み出しアドレスと同一のアドレスがBS TAG部1
9に存在する場合には、バッファ記憶制御部14は、そ
のアドレスに対応したデータをBS DATA部20か
ら読み出しWORD REG25にセットして(S2)
、読み出し処理を終了する。
The same address as the read address is the BS TAG section 1
9, the buffer storage control unit 14 reads data corresponding to that address from the BS DATA unit 20 and sets it in the WORD REG 25 (S2).
, the read process ends.

一致するアドレスがBS TAG部19に存在しない場
合には、CPU11aは、MCU13に対しブロック読
み出し要求を発行する(S3)。
If a matching address does not exist in the BS TAG section 19, the CPU 11a issues a block read request to the MCU 13 (S3).

CPUからのブロック転送要求を受は付けると、MCU
13は、MSU12a又は12bから該当するアドレス
のブロックデータを読み出す(S4)。
When a block transfer request from the CPU is accepted, the MCU
13 reads the block data of the corresponding address from the MSU 12a or 12b (S4).

さらに、MCU13の対応するTAG部43a〜43d
に、このときのブロックアドレスを登録し、VAuD 
BIT: Vを「1」にする(S5)。
Furthermore, the corresponding TAG sections 43a to 43d of the MCU 13
Register the block address at this time and VAuD
BIT: Set V to "1" (S5).

バッファ記憶制御部I4では、MSUI2a又は12b
から転送されるブロックアドレスを、BSTAG部19
に全19、さらにそのアドレスに付いてはデータの書き
込みとなるので、BS TAG部19のVALID B
ITをV = 1 、CHANGE BITをC=1に
設定するする(S6)。
In the buffer storage control unit I4, MSUI2a or 12b
The block address transferred from the BSTAG section 19
19 in total, and since data will be written to that address, VALID B of the BS TAG section 19.
Set IT to V=1 and CHANGE BIT to C=1 (S6).

そして、MSU12a又は12bからフロック転送され
たデータをバイパスさせてIU15に出力する(S7)
Then, the data transferred as a block from the MSU 12a or 12b is bypassed and output to the IU 15 (S7).
.

次に、cpuiiaから書き込み要求が発行された場合
の動作を、第9図のフローチャートを参照して説明する
Next, the operation when a write request is issued from the CPUIA will be explained with reference to the flowchart of FIG.

先ず、バッファ記憶制御部14は、BS TAG部19
に、IU15からの書き込みアドレスと一致するアドレ
スが存在するか否かを調べる(第9図、S8)。
First, the buffer storage control section 14 controls the BS TAG section 19.
Then, it is checked whether there is an address that matches the write address from the IU 15 (FIG. 9, S8).

一致するアドレスがBS TAG部19に存在する場合
には、次にBS TAG部19のCHANGE BTT
 : Cが「1」かどうかを判別する(S9)。
If a matching address exists in the BS TAG section 19, then the CHANGE BTT of the BS TAG section 19
: Determine whether C is "1" (S9).

このとき、IU15からの書き込み要求に対して該当す
るアドレスがBS TAG部19に存在し、がつC=1
であれば、CPU11aのバッファ記憶制御部14には
、最新のデータが書き込まれていることを示している。
At this time, the corresponding address exists in the BS TAG section 19 in response to the write request from the IU 15, and C=1.
If so, it indicates that the latest data has been written to the buffer storage control unit 14 of the CPU 11a.

そこで、BS DATA部2oの該当するアドレスのデ
ータを読み出し、その読み出したデータと書き込みデー
タとを、ストアバンファ(STB)30でマージして、
8バイトのデータとしてMCU13に出力する。さらに
、このときの書き込みデータをBS DATA部2oの
該当するアドレスに書き込む(S9)。
Therefore, the data at the corresponding address of the BS DATA section 2o is read out, and the read data and write data are merged in the store buffer (STB) 30.
It is output to the MCU 13 as 8-byte data. Furthermore, the write data at this time is written to the corresponding address of the BS DATA section 2o (S9).

これにより、MCUI3は1回のオペレーションでMS
Uにデータを書き込むことができ、部分書き込みを全書
き込みに変換することができる。
With this, MCUI3 can connect MS in one operation.
Data can be written to U, and a partial write can be converted into a full write.

また、IUI5からの書き込み要求に対して該当するア
ドレスがBS TAG部19に存在し、かつC=0であ
れば、BS DATA部20にはMSU12a又は12
bからの読み出しデータが記憶されていることになる。
Furthermore, if the corresponding address exists in the BS TAG section 19 in response to a write request from the IUI 5, and C=0, the BS DATA section 20 contains the MSU 12a or 12.
This means that the data read from b is stored.

この場合には、先ずMCU13に対して746部43a
〜43dの検索要求が出力される(Sll)MCU13
では、この検索要求に対応して、そのときの書き込みア
ドレスから746部43a〜43dを検索し、他のCP
Uに一致するアドレスが存在するか否を調べる(S12
)。
In this case, first, the 746 part 43a is sent to the MCU 13.
~43d search request is output (Sll) MCU13
Then, in response to this search request, 746 parts 43a to 43d are searched from the write address at that time, and other CPs are searched.
Check whether there is an address matching U (S12
).

746部43a〜43dの何れかに一致するアドレスが
存在したなら、MCU13は、対応するCPUに対して
、自己のBS TAG部19の該当するアドレスを無効
化するように指示する(S13)。
If an address matching any of the 746 sections 43a to 43d exists, the MCU 13 instructs the corresponding CPU to invalidate the corresponding address in its own BS TAG section 19 (S13).

MCUI3から無効化の指示を受は取ると、各CPUは
、例えばBS TAG部19の■フラグを「0」に、C
フラグを「0」して、該当するアドレスを無効化する。
Upon receiving the invalidation instruction from the MCUI 3, each CPU sets the ■ flag in the BS TAG section 19 to "0" and
Set the flag to "0" to invalidate the corresponding address.

ステップ312の判別で、MCU13の746部43a
〜43dに一致するアドレスが存在しないとき、又はス
テップ313において他のCPUのBS TAG部19
の該当するアドレスが無効化された後には、書き込み要
求を発行したCPUは、自己のBS TAG部19の該
当するアドレスのCフラグにrl、を設定する(S14
)。
In the determination in step 312, the 746 part 43a of the MCU 13
43d, or in step 313, the BS TAG section 19 of another CPU
After the corresponding address is invalidated, the CPU that issued the write request sets rl to the C flag of the corresponding address in its own BS TAG unit 19 (S14
).

その後、上述したステップSIOにおいて、EU16か
らの書き込みデータを、BS DATA部20の該当す
るアドレスに書き込む。
Thereafter, in step SIO described above, the write data from the EU 16 is written to the corresponding address of the BS DATA section 20.

ステップS8の判別において、IU15から出力された
書き込みアドレスが自己のBS TAG部19に存在し
ない場合には、ステップ315に進みMCU13に対し
て排他的ブロック読み出し要求を発行する。
In the determination in step S8, if the write address output from the IU 15 does not exist in its own BS TAG unit 19, the process proceeds to step 315 and issues an exclusive block read request to the MCU 13.

MCU13では、このブロック読み出し要求に対応して
、そのときの読み出しアドレスと一致するアドレスが7
46部43a〜43dに存在するか否かを判別する(S
16)。
In response to this block read request, the MCU 13 selects 7 addresses that match the read address at that time.
46 parts 43a to 43d (S
16).

一致するアドレスが746部43a〜43dに存在した
なら、対応するCPUにアドレスの無効化を指示する(
S17)。
If a matching address exists in the 746 sections 43a to 43d, the corresponding CPU is instructed to invalidate the address (
S17).

ステップS16の判別で746部43a〜43dに一致
するアドレスが存在しなかったとき、あるいはステップ
S17で他のCPU0BS TAG部19の該当するア
ドレスを無効化した後には、MSU12a又は12bに
対してブロック転送要求を発行する(318)。
When it is determined in step S16 that there is no matching address in the 746 sections 43a to 43d, or after invalidating the corresponding address in the other CPU0BS TAG sections 19 in step S17, block transfer is performed to the MSU 12a or 12b. A request is issued (318).

さらに、このとき書き込み要求を発行したCPU1la
に対応するTAG部、例えばTAG部43aにブロック
転送アドレスを登録する(S19)。
Furthermore, the CPU 1la that issued the write request at this time
The block transfer address is registered in the TAG section corresponding to the block transfer address, for example, the TAG section 43a (S19).

CPU11aのバッファ記憶制御部14では、MSU1
2a又は12bからブロック転送されたデータの書き込
みが行われるので、その書き込みアドレスのVフラグに
「1」を設定しアドレスを有効とし、さらにCフラグに
「1」に設定してデータの書き込みが行われたことを記
憶する(S20)。
In the buffer storage control unit 14 of the CPU 11a, the MSU1
Since the data block transferred from 2a or 12b is written, the V flag of the write address is set to "1" to make the address valid, and the C flag is set to "1" to write the data. It memorizes what was done (S20).

その後、上述したステップSIOに進み、MSU12a
又は12bから転送されるデータを、BS DATA部
20の該当するアドレスに書き込む。
After that, the process proceeds to step SIO described above, and the MSU 12a
Alternatively, the data transferred from 12b is written to the corresponding address of the BS DATA section 20.

以上のように上記実施例では、例えば複数のCPUのバ
ッファ記憶部のアドレス情報(BS TAG部19のア
ドレス情報のコピー)を、MCU13の746部43a
〜43dに保持し、書き込みアドレスが複数のCPU間
で共有されているときには、書き込み要求を発行したC
PU以外の他のCPU0BS TAG部19の該当する
アドレスを無効化するようにした。これにより、それぞ
れのCPU0BS DATA部20には、書き込み及び
読み出しの際に常に最新のデータが記憶されることにな
る。
As described above, in the above embodiment, for example, the address information of the buffer storage units of a plurality of CPUs (a copy of the address information of the BS TAG unit 19) is stored in the 746 unit 43a of the MCU 13.
~43d, and when the write address is shared among multiple CPUs, the CPU that issued the write request
The corresponding address of the CPU0BS TAG section 19 other than the PU is invalidated. As a result, the latest data is always stored in each CPU0BS DATA section 20 during writing and reading.

従って、書き込み要求を発行したCPU0BS TAG
部19に書き込みアドレスが存在するときには、BS 
DATA部20に記憶されているデータと、書き込みデ
ータとをマージしたデータを主記憶装置に書き込むこと
で、データの一致性を確保しながら部分書き込みを全書
き込みに変換することができる。また、BS TAG部
19に書き込みアドレスが存在しないときるこけ、その
アドレスのデータを主記憶装置から転送し、その転送し
たデータと書き込みデータをマージして書き込めば良い
Therefore, the CPU0BS TAG that issued the write request
When there is a write address in section 19, the BS
By writing data obtained by merging the data stored in the DATA section 20 and the write data into the main storage device, partial writing can be converted into full writing while ensuring data consistency. Also, if a write address does not exist in the BS TAG section 19, the data at that address may be transferred from the main storage device, and the transferred data and write data may be merged and written.

二のように、本発明のメモリ制御方式によれば、マルチ
プロセッサシステムにおいて、データの一致性を確保し
ながら、全ての場合について部分書き込みを全書き込み
に変換することができる。これにより、主記憶装置に対
すアクセス回数を減らしシステムの効率を向上させるこ
とができる。
As shown in item 2, according to the memory control method of the present invention, partial writing can be converted into full writing in all cases while ensuring data consistency in a multiprocessor system. This makes it possible to reduce the number of accesses to the main memory and improve system efficiency.

尚、上記実施例では、複数のCPUで構成されるシステ
ムにおいて、部分書き込みを全書き込みに変換する場合
について説明したが、1個のCPUでシステムを構成す
る場合には、従来のメモリ制御方式で充分であるので、
上述したバッファ記憶制御部14内に、本発明のメモリ
制御方式を実現する回路をバイパスさせる手段を設け、
マルチCPUの場合とシングルCPUの場合とで、回路
を切り換えられるようにしても良い。
In addition, in the above embodiment, the case where partial writing is converted to full writing in a system configured with multiple CPUs was explained, but when the system is configured with one CPU, conventional memory control methods can be used. Since it is sufficient,
In the buffer storage control unit 14 described above, a means for bypassing the circuit that implements the memory control method of the present invention is provided,
The circuit may be switched between multiple CPUs and a single CPU.

また、主記憶装置のデータをブロック転送する際に、例
えばBS DATA部20への転送が完了してから、ス
トアバッファ5TB30にそのブロックデータをセット
するのではなく、ブロック転送と並行してストアバソフ
ァ5TB30にデータをセットすることもできる。デー
タ転送と並行してストアバッファにデータをセットする
ことにより、主記憶装置にデータを書き込む際の時間を
さらに短縮することができる。
Furthermore, when transferring a block of data in the main storage device, for example, instead of setting the block data in the store buffer 5TB30 after the transfer to the BS DATA unit 20 is completed, the block data is transferred to the store buffer in parallel with the block transfer. Data can also be set in Sofa 5TB30. By setting data in the store buffer in parallel with data transfer, the time required to write data to the main memory can be further reduced.

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

本発明によれば、複数のバッファ記憶装置間及びバッフ
ァ記憶装置と主記憶装置間でのデータの一致性を保証し
ながら、全ての場合について部分書き込みを全書き込み
に変換できるので、主記憶装置に対するアクセス回数を
減らし、システムの処理効率をより向上させることがで
きる。
According to the present invention, a partial write can be converted into a full write in all cases while guaranteeing data consistency between a plurality of buffer storage devices and between a buffer storage device and a main storage device. It is possible to reduce the number of accesses and further improve the processing efficiency of the system.

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

第1図(a)、(ロ)は、本発明の原理説明図、第2図
は、実施例のマルチプロセッサシステムのシステム構成
図、 第3図は、バッファ記憶制御部14の回路構成図、 第4図は、第3図のBS TAG部の構成図、第5図は
、MCUの回路構成図、 第6図は、MCUのTAG部の構成図、第7図は、MS
Uの構成図、 第8図は、データ読み出し時のフローチャート、第9図
は、データ書き込み時のフローチャートである。 5.12a、12b−−・主記憶装置(MSU)、6a
〜6c・・・プロセッサ、 7a〜7c・・・バッファ記憶装置、 11a 〜lid・−−CPU、 13・・・記憶制御装置(MCU)、 14・・・バッファ記憶制御部。
1(a) and (b) are diagrams explaining the principle of the present invention, FIG. 2 is a system configuration diagram of a multiprocessor system according to an embodiment, and FIG. 3 is a circuit configuration diagram of the buffer storage control unit 14. 4 is a block diagram of the BS TAG section in FIG. 3, FIG. 5 is a circuit block diagram of the MCU, FIG. 6 is a block diagram of the TAG section of the MCU, and FIG. 7 is a block diagram of the MS TAG section.
FIG. 8 is a flowchart when reading data, and FIG. 9 is a flowchart when writing data. 5.12a, 12b--Main storage unit (MSU), 6a
~6c...Processor, 7a~7c...Buffer storage device, 11a~lid.--CPU, 13...Memory control unit (MCU), 14...Buffer storage control unit.

Claims (1)

【特許請求の範囲】 1)少なくとも1つの主記憶装置と、複数のプロセッサ
と、該複数のプロセッサに対応した複数のバッファ記憶
装置とからなり、主記憶装置とバッファ記憶装置との間
がストアスルー方式で管理されるメモリ制御方式におい
て、 プロセッサから書き込み要求が発行されたとき、書き込
みアドレスが、当該プロセッサのバッファ記憶装置に専
有状態で存在するときには(1a)、該バッファ記憶装
置の該当する、アドレスのデータとプロセッサの書き込
みデータとをマージして主記憶装置に全書き込みし(1
b)、 書き込みアドレスが、複数のプロセッサ間で共有状態で
存在するときには(2a)、 書き込み要求を発行したプロセッサのバッファ記憶装置
の該当するアドレスのデータと書き込みデータとをマー
ジして主記憶装置に全書き込みし(2b)、 書き込み要求を発行したプロセッサ以外の他のプロセッ
サのバッファ記憶装置の該当するアドレスのデータを無
効化し(2c)、 書き込みアドレスが、当該プロセッサのバッファ記憶装
置に存在しない場合には(3a)、主記憶装置の該当す
るアドレスのデータを書き込みを行うバッファ記憶装置
に転送し(3b)、該転送されたデータとプロセッサの
書き込みデータとをマージして主記憶装置に全書き込み
し(3c)、 他のプロセッサのバッファ記憶装置の該当するアドレス
のデータを無効化する(3d)ことを特徴とするメモリ
制御方式。 2)少なくとも1つの主記憶装置と、主記憶装置に対す
る書き込み及び読み出しを制御する記憶制御装置と、複
数のプロセッサと、該複数のプロセッサに対応した複数
のバッファ記憶装置とからなり、主記憶装置とバッファ
記憶装置との間がストアスルー方式で管理されるメモリ
制御方式において、 前記記憶制御装置に、前記複数のバッファ記憶装置に記
憶されているアドレス情報の一部もしくは全部の複写情
報を記憶するTAG部を設け、プロセッサから書き込み
要求が発行されたとき、書き込みアドレスが、当該プロ
セッサのバッファ記憶装置に存在し、かつ前記記憶制御
装置のTAG部に他のプロセッサの同一アドレスが登録
されていないときには、 当該プロセッサのバッファ記憶装置の該当するアドレス
のデータと、書き込みデータとをマージして主記憶装置
に全書き込みし、 書き込みアドレスが、当該プロセッサのバッファ記憶装
置に存在し、かつ前記記憶制御装置のTAG部に他のプ
ロセッサの同一アドレスが登録されているときには、 当該プロセッサのバッファ記憶装置の該当するアドレス
のデータと、書き込みデータとをマージして主記憶装置
に全書き込みし、 前記TAG部に書き込みアドレスと同一のアドレスが登
録されている他のプロセッサに対して、自己のバッファ
記憶装置の該当するアドレスのデータを無効化する指示
を与え、 書き込みアドレスが、当該プロセッサのバッファ記憶装
置に存在しないときには、 主記憶装置上の該当するアドレスのデータを、当該プロ
セッサのバッファ記憶装置に転送し、該転送されたデー
タと書き込みデータとをマージして主記憶装置に全書き
込みし、 前記TAG部に書き込みアドレスと同一のアドレスが登
録されている他のプロセッサに対して、自己のバッファ
記憶装置の該当するアドレスのデータを無効化する指示
を与えることを特徴とするメモリ制御方式。 3)前記バッファ記憶装置に登録されるアドレスに対応
させ、プロセッサからのデータの書き込みが行われたと
きセットされ、他のバッファ記憶装置において同一アド
レスに対してデータの書き込みが行われたときリセット
されるチェンジフラグを設け、 プロセッサから書き込み要求が発行されたとき、書き込
みアドレスが、当該プロセッサのバッファ記憶装置に存
在し、かつ前記記憶制御装置のTAG部に他のプロセッ
サの同一アドレスが登録されていないときには、 当該プロセッサのバッファ記憶装置の該当するアドレス
のデータと、書き込みデータとをマージして主記憶装置
に全書き込みし、 書き込みアドレスが、当該プロセッサのバッファ記憶装
置に存在し、かつ前記記憶制御装置のTAG部に他のプ
ロセッサの同一アドレスが登録されているときには、 当該プロセッサのバッファ記憶装置の該当するアドレス
のデータと、書き込みデータとをマージして主記憶装置
に全書き込みし、 前記TAG部に書き込みアドレスと同一のアドレスが登
録されている他のプロセッサに対して、自己のバッファ
記憶装置の該当するアドレスのチェンジフラグ及びデー
タを無効化する指示を与え、書き込みアドレスが、当該
プロセッサのバッファ記憶装置に存在しないときには、 主記憶装置の該当するアドレスのデータを、当該プロセ
ッサのバッファ記憶装置に転送し、該転送されたデータ
と書き込みデータとをマージして主記憶装置に全書き込
みし、 前記TAG部に書き込みアドレスと同一のアドレスが登
録されている他のプロセッサに対して、自己のバッファ
記憶装置の該当するアドレスのチェンジフラグ及びデー
タを無効化する指示を与えることを特徴とする請求項2
記載のメモリ制御方式。 4)前記主記憶装置の該当するアドレスのデータをバッ
ファ記憶装置に転送する際、並行して該転送データと書
き込みデータとをマージしてストアバッファにセットす
ることを特徴とする請求項1、2又は3記載のメモリ制
御方式。 5)前記バッファ記憶装置に登録されているアドレスを
参照して書き込みを行うモードと、参照せずに書き込み
を行うモードとを選択できるモード選択手段を設けたこ
とを特徴とする請求項1、2又は3記載のメモリ制御方
式。
[Scope of Claims] 1) Consisting of at least one main storage device, a plurality of processors, and a plurality of buffer storage devices corresponding to the plurality of processors, with a storage-through connection between the main storage device and the buffer storage device. In the memory control method, when a write request is issued from a processor and the write address exists in the buffer storage device of the processor in an exclusive state (1a), the corresponding address of the buffer storage device is The data written by the processor is merged with the data written by the processor, and all data is written to the main memory (1
b) When the write address exists in a shared state among multiple processors (2a), the data at the corresponding address in the buffer storage device of the processor that issued the write request and the write data are merged and stored in the main memory. All writes are performed (2b), and the data at the corresponding address in the buffer storage device of a processor other than the processor that issued the write request is invalidated (2c), and if the write address does not exist in the buffer storage device of the processor concerned, (3a) transfers the data at the corresponding address in the main memory device to the buffer storage device for writing (3b), merges the transferred data with the write data of the processor, and writes all the data to the main memory device. (3c) A memory control method characterized by invalidating data at a corresponding address in a buffer storage device of another processor (3d). 2) Consisting of at least one main storage device, a storage control device that controls writing and reading to and from the main storage device, a plurality of processors, and a plurality of buffer storage devices corresponding to the plurality of processors; In a memory control method in which data between buffer storage devices is managed in a store-through manner, a TAG that stores copy information of part or all of the address information stored in the plurality of buffer storage devices in the storage control device; When a write request is issued from a processor, the write address exists in the buffer storage device of the processor, and the same address of another processor is not registered in the TAG portion of the storage control device. The data at the corresponding address of the buffer storage device of the processor and the write data are merged and all written to the main storage device, and the write address exists in the buffer storage device of the processor and the TAG of the storage control device When the same address of another processor is registered in the TAG section, merge the data at the corresponding address in the buffer storage device of the processor with the write data, write all of it to the main memory, and write the write address in the TAG section. Instructs other processors in which the same address is registered to invalidate the data at the corresponding address in their own buffer storage device, and when the write address does not exist in the buffer storage device of the processor, Transfer the data at the corresponding address on the main storage device to the buffer storage device of the processor, merge the transferred data and write data, write all of it to the main storage device, and write the write address in the TAG section. A memory control method characterized in that an instruction is given to other processors in which the same address is registered to invalidate data at the corresponding address in the own buffer storage device. 3) Corresponds to the address registered in the buffer storage device, is set when data is written from the processor, and is reset when data is written to the same address in another buffer storage device. When a write request is issued from a processor, the write address exists in the buffer storage device of the processor, and the same address of another processor is not registered in the TAG section of the storage control device. In some cases, the data at the corresponding address in the buffer storage device of the processor and the write data are merged and all written to the main storage device, and the write address exists in the buffer storage device of the processor and the storage control device When the same address of another processor is registered in the TAG section of the processor, the data of the corresponding address in the buffer storage device of the processor and the write data are merged and all written to the main storage device, and the data is written to the TAG section of the processor. An instruction is given to other processors in which the same address as the write address is registered to invalidate the change flag and data of the corresponding address in their own buffer storage device, and the write address is registered in the buffer storage device of the processor. If the data does not exist in the main memory, the data at the corresponding address in the main memory is transferred to the buffer memory of the processor, the transferred data and write data are merged, and all are written in the main memory, and the TAG section Claim 2 characterized in that an instruction is given to another processor in which the same address as the write address is registered to invalidate the change flag and data of the corresponding address in its own buffer storage device.
Memory control method described. 4) When data at a corresponding address in the main storage device is transferred to a buffer storage device, the transfer data and write data are merged and set in the store buffer in parallel. Or the memory control method described in 3. 5) A mode selection means is provided for selecting a mode in which writing is performed with reference to the address registered in the buffer storage device and a mode in which writing is performed without reference. Or the memory control method described in 3.
JP2210392A 1990-08-10 1990-08-10 Memory control system Pending JPH0498343A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2210392A JPH0498343A (en) 1990-08-10 1990-08-10 Memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2210392A JPH0498343A (en) 1990-08-10 1990-08-10 Memory control system

Publications (1)

Publication Number Publication Date
JPH0498343A true JPH0498343A (en) 1992-03-31

Family

ID=16588574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2210392A Pending JPH0498343A (en) 1990-08-10 1990-08-10 Memory control system

Country Status (1)

Country Link
JP (1) JPH0498343A (en)

Similar Documents

Publication Publication Date Title
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
CA1325290C (en) Write back buffer with error correcting capabilities
US4551799A (en) Verification of real page numbers of stack stored prefetched instructions from instruction cache
US5598550A (en) Cache controller for processing simultaneous cache accesses
US5461718A (en) System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
JPH0345407B2 (en)
US4831581A (en) Central processor unit for digital data processing system including cache management mechanism
JPH02190930A (en) Software instruction executing apparatus
EP0159713B1 (en) Apparatus for controlling merging of data parts into a cache unit
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
US5339397A (en) Hardware primary directory lock
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
US5361342A (en) Tag control system in a hierarchical memory control system
EP0380842A2 (en) Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units
US5051894A (en) Apparatus and method for address translation of non-aligned double word virtual addresses
EP0159712A2 (en) Control means in a digital computer
US5568631A (en) Multiprocessor system with a shared control store accessed with predicted addresses
US4737908A (en) Buffer memory control system
US5510973A (en) Buffer storage control system
JPS6079446A (en) Processor for multiple virtual storage data
JP2637320B2 (en) Buffer storage control method
JPH0498343A (en) Memory control system
US5276892A (en) Destination control logic for arithmetic and logic unit for digital data processor