JPS6012670B2 - Buffer invalidation method in multi-CPU system - Google Patents

Buffer invalidation method in multi-CPU system

Info

Publication number
JPS6012670B2
JPS6012670B2 JP52130736A JP13073677A JPS6012670B2 JP S6012670 B2 JPS6012670 B2 JP S6012670B2 JP 52130736 A JP52130736 A JP 52130736A JP 13073677 A JP13073677 A JP 13073677A JP S6012670 B2 JPS6012670 B2 JP S6012670B2
Authority
JP
Japan
Prior art keywords
address
cpu
main storage
storage unit
data
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.)
Expired
Application number
JP52130736A
Other languages
Japanese (ja)
Other versions
JPS5464944A (en
Inventor
高志 坂井
弘 林
正武 岩戸
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 JP52130736A priority Critical patent/JPS6012670B2/en
Publication of JPS5464944A publication Critical patent/JPS5464944A/en
Publication of JPS6012670B2 publication Critical patent/JPS6012670B2/en
Expired legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 本発明はルチCPU(中央処理装置)システムにおるバ
ツフアストーレツジいわゆるキユツシユメモリのィンバ
リデート(無効化)方式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a method for invalidating buffer storage, so-called cache memory, in a multi-CPU (Central Processing Unit) system.

マルチCPUシステムの基本構成は複数台のCPUなら
びにチャネルとMSU(メインストーレツジユニツト)
とからなる。
The basic configuration of a multi-CPU system is multiple CPUs, channels, and an MSU (main storage unit).
It consists of.

このMSUは、アクセスタイムは比較的遅いが大容量の
記憶が可能であり、複数台の前記CPUによって共有さ
れる。このようなマルチCPUシステムにおいて、MS
Uに対してより高速なアクセスタイムを要求しても、本
来的に該MSUの動作は比較的低速であり、その高速化
に限界がある。そこで、複数台のCPUの各々に高速動
作が可能なバッファストーレツジを内蔵せしめ、MSU
における所望の番地およびその周辺の番地に記憶されて
いる内容を前記のバッファストーレツジに逐次移転し、
各CPUは目内のバッファストーレッジに対してデータ
の読み書きを実行し、高速動作を実現するという方法が
とられている。これは、一般にプログラムがシーケンシ
ャルに進行し、ある時点においてMSUのある番地が指
定されたとすると、その次の時点ではその番地の近傍が
指定されるという事実に着目したものである。この場合
問題となるのは、1のCPUがある時点でMSUのある
番地およびその近傍の番地の内容を自内のバッファスト
ーレッジに取り込んだ後に、他のCPUがMSUの当該
番地およびその近傍の番地に新たなデータを書き込んだ
場合、1のCPU‘こ既に取り込まれた内容は無意味と
なり、以後データとして使用できなくなってしまうこと
である。この為、そのような新たなデータの書き込みが
MSU内に発生した場合は、前記1のCPU内のバッフ
ァストーレッジに取り込まれた当該番地の内容は、その
使用が禁止されなければならない。この使用の禁止を一
般にィンバリデートと呼んでいる。従来、ィンバリデー
トを実行するには、1のCPUおよび他のCPU間にィ
ンバリデート線を布設し、1のCPUがMSUもこ対し
新たなデータの書き込みをしたときは、他のCPU‘こ
対し該ィンバリデート線を介しMSUに新たなデータの
書き込みがあったことを通知すると共に、アドレス線を
介して、どの番地にデータの書き込みがあったかをも通
知する。
This MSU has a relatively slow access time but can store a large amount of storage, and is shared by the plurality of CPUs. In such a multi-CPU system, the MS
Even if a faster access time is requested for U, the operation of the MSU is inherently relatively slow, and there is a limit to how fast it can be made. Therefore, each of the multiple CPUs is equipped with a built-in buffer storage capable of high-speed operation, and the MSU
sequentially transfer the contents stored at the desired address and the surrounding addresses to the buffer storage,
A method is used in which each CPU reads and writes data to and from internal buffer storage to achieve high-speed operation. This is based on the fact that a program generally progresses sequentially, and if a certain address of the MSU is specified at a certain point, then the vicinity of that address will be specified at the next point. In this case, the problem is that after one CPU takes in the contents of a certain address of the MSU and its neighboring addresses into its own buffer storage, the other CPUs import the contents of the MSU at that address and its neighboring addresses. If new data is written to the CPU', the content already taken in by the CPU' becomes meaningless and cannot be used as data from now on. Therefore, if such new data writing occurs in the MSU, the contents of the address that has been taken into the buffer storage in the first CPU must be prohibited from being used. This prohibition of use is generally called invalidation. Conventionally, in order to perform invalidation, an invalidate line is installed between one CPU and another CPU, and when one CPU writes new data to the MSU, the invalidate line is installed to the other CPU's. It notifies the MSU that new data has been written via the address line, and also notifies to which address the data has been written via the address line.

そして、他のCPUは自内に該当する番地があれば、即
座にその内容をインバリデートする。このような従来の
バッファ・ィンバリデート方式では、各CPUにおいて
他のCP川こィンバリデート情報を通知する機能を持た
せなければならない上、各CPU間にィンバリデート線
およびアドレス線を布設しなければならず、機能的に且
つ回路構造的に不経済である。このことは、マルチCP
Uシステムを構成するCPUの台数が増大すれば益々顕
著となる。従って本発明は、上述した不経済を回避する
ことのできる、マルチCPUシステムにおけるバツフア
・ィンバリデート方式を提案することである。
Then, if other CPUs have a corresponding address within themselves, they immediately invalidate the contents. In such a conventional buffer invalidation method, each CPU must have a function to notify other CPUs of invalidation information, and invalidation lines and address lines must be installed between each CPU. It is uneconomical in terms of function and circuit structure. This means that multi-CP
As the number of CPUs configuring the U system increases, this problem becomes more and more noticeable. Therefore, the present invention proposes a buffer invalidation method in a multi-CPU system that can avoid the above-mentioned diseconomies.

上記目的に従い本発明は、一般にマルチCPUシステム
内のCPUおよびMSU等がコモンバス形式で相互に孫
合していることに着目し、このコモンバス経由でバッフ
ァ・インバリデートを実行するようにしたことを特徴と
するものである。
In accordance with the above object, the present invention focuses on the fact that CPUs, MSUs, etc. in a multi-CPU system are generally connected to each other in a common bus format, and is characterized in that buffer invalidation is executed via this common bus. That is.

すなわち、1のCPUがコモンバスを介してMSUに対
しデータのストアを行なうとき、他のCPUも又同時に
前記コモンバスを通じて、そのデータのストア指令を覗
き見ることができ、このときそのストア先のアドレスを
も覗き見ることができる。従って、他のCPUは、その
覗き見た結果により自主的に自己のィンバリデートを実
行できるのである。以下図面を参照しながら本発明を説
明する。
In other words, when one CPU stores data in the MSU via the common bus, other CPUs can also see the data store command through the common bus, and at this time, they can check the store address. You can also take a peek. Therefore, other CPUs can independently invalidate themselves based on the peeked results. The present invention will be described below with reference to the drawings.

添付図は、本発明が適用されるマルチCPUシステムを
図解したブロック図である。本図において11−0……
…11−・2,11一3はそれぞれCPUであり、4台
のCPUが存在する場合を示す(11一1は図示せず)
。各CPUII−0〜11一3はコモンバス12を介し
て相互にデータ交換が可能であり、また一方において、
該コモンバス12を介してMSU13を共有する。今、
仮りにCPUII−0内のバッファストーレツジ14一
0にMSU13のアドレス領域へに係る内容がストアさ
れており、またCPUII−3内のバツフアストーレツ
ジ14一3にMSU13のアドレス領域A3に係る内容
がストアされているものとする。ここで、CPUI I
−2がMSU1 3のアドレス鏡城んにデータをストア
するものとする。この場合、図示する如くアドレス領域
A2が一部アドレス領域公oに重なっているため、その
重なり領域(ダブルハッチングで示す)に関しては、C
PUII−0内におけるバッファストーレツジ14−川
こ既にストアされた内容をィンバリデートしなければな
らない。このとき、従来はCPUII−2がCPUII
−。’11−I’ll−3に対してインバリデートの通
知をし且つそのアドレスを通知することとしていたが、
本発明では次の様に目的とするィンバリデートが実行さ
れる。前述の、CPUII−2による、MSU13への
データのストアが実行されるとき、ストア指令を示すフ
ラグバイトとそのストアを行なうべきアドレスを示すア
ドレス用ビット列とそのストアの内容であるデータを示
すデータバイトが一連のデータフオーマツトを形成し、
該データフオーマツトが、CPUI1一2よりコモンバ
ス12に送出され、MSU13に転送される。この場合
、注意すべきことは、そのデータフオーマツトがコモン
バス12に送出されるため、該コモンバス12に係合す
る他のCPUII−0.11−3(図示しないCPUI
I‐1を含む)もまたそのデータフオーマツトを覗き見
ることができることである。この覗き見を行なうため、
各CPUII−0〜11一3は、自内にフラグ検出ゲー
ト15−0〜15一3を備える。これらフラグ検出ゲー
ト15−0〜15−3は、前記のストア指令を示すフラ
グバィトがコモンバス12上にあるかないかを検出し、
もしフラグバィトが存在すれば該フラグ検出ゲートを関
として、自内のアドレスレジスタ16−0〜16一3に
、MSU13にストアすべきアドレスを一旦記憶する。
前述の例では、アドレスんの内容が、アドレスレジスタ
16−2を除く、他のアドレスレジスタ16−0〜16
−3に記憶されることとなる。さらに、各CPU内では
、自内のバッファストーレツジ14一0〜14−3(1
4一2を除く)に該当するアドレスが存在するか否かを
照合する。この照合は、アドレスレジスタとアドレステ
ーブル17一0〜17一3(17一2を除く)とを照合
回路18‐0〜18一3において比較することによって
行なわれ、この照合によって一致がとれれば自内のバツ
フアストーレツジをインバリデートする。前記のアドレ
ステーブル17一0〜17−3は、各バッファストーレ
ツジのアドレスとM鷹Uのアドレスとの対応表を保持す
る部分である。前述の例ではCPUII−0内のアドレ
スレジスタ16一0に記憶されたアドレス領域公2の内
容と、アドレステーブル17−0に保持されたアドレス
領域への内容とが一部重複するので、照合回路18一0
が当該重複アドレスを照合し、これに係るバッファスト
ーレツジ14一0の一部をィンバリデートすることにな
る。かくして、コモンバスを利用したバッファ・インバ
リデート方式が実施される。以上説明したように本発明
によれば、各CPUにおいて他のCPUにインバリデー
トの通知を行なわしめるための機能を持たせ且つこの通
知を各CPUに通知するためのインバリデート線を持た
せ、さらに各CPU間にそのィンバリデートの対象とな
るアドレス線を布設する等の処置を要することなく、特
に多数台のCPUを有するマルチCPUシステムにおい
て経済性の高いバッファ・ィンバリデート方式が実現さ
れる。
The attached figure is a block diagram illustrating a multi-CPU system to which the present invention is applied. In this figure, 11-0...
...11-, 2, 11-3 are CPUs, and this shows the case where there are four CPUs (11-1 are not shown)
. Each CPU II-0 to 11-3 can exchange data with each other via the common bus 12, and on the other hand,
The MSU 13 is shared via the common bus 12. now,
Suppose that the contents related to the address area of MSU 13 are stored in the buffer storage 14-0 in CPU II-0, and the contents related to the address area A3 of MSU 13 are stored in the buffer storage 14-3 in CPU II-3. It is assumed that such content is stored. Here, CPU I
-2 stores data in the address mirror of MSU13. In this case, as shown in the figure, the address area A2 partially overlaps with the address area O, so the overlapping area (indicated by double hatching) is
Buffer storage 14 in PUII-0 must invalidate the contents already stored. At this time, conventionally, CPUII-2 was
−. '11-I'll-3 was to be notified of invalidation and its address, but
In the present invention, the intended invalidation is executed as follows. When the aforementioned CPU II-2 stores data to the MSU 13, a flag byte indicating a store command, an address bit string indicating the address to perform the store, and a data byte indicating the data that is the contents of the store. forms a series of data formats,
The data format is sent from the CPU 1-2 to the common bus 12 and transferred to the MSU 13. In this case, it should be noted that since the data format is sent to the common bus 12, other CPU II-0.11-3 (not shown CPU
I-1) can also peek into its data format. In order to perform this peek,
Each CPU II-0 to 11-3 includes flag detection gates 15-0 to 15-3. These flag detection gates 15-0 to 15-3 detect whether or not a flag byte indicating the store command is present on the common bus 12.
If a flag byte exists, the address to be stored in the MSU 13 is temporarily stored in internal address registers 16-0 to 16-3 using the flag detection gate.
In the above example, the contents of address register 16-0 to 16 other than address register 16-2 are
-3 will be stored. Furthermore, within each CPU, internal buffer storage 14-0 to 14-3 (1
4 and 2) exists. This verification is performed by comparing the address register and the address tables 17-10 to 17-3 (excluding 17-2) in verification circuits 18-0 to 18-3, and if a match is found by this verification, an automatic Invalidate the buffer storage within. The address tables 17-1 to 17-3 are portions that hold a correspondence table between the addresses of each buffer storage and the address of Mtaka U. In the above example, the contents of the address area public 2 stored in the address register 16-0 in the CPU II-0 and the contents of the address area held in the address table 17-0 partially overlap, so the verification circuit 18-0
will match the duplicate address and invalidate a portion of the associated buffer storage 1410. In this way, a buffer invalidation method using the common bus is implemented. As explained above, according to the present invention, each CPU is provided with a function for notifying other CPUs of invalidation, and is provided with an invalidation line for notifying each CPU of this notification. A highly economical buffer invalidation method can be realized, especially in a multi-CPU system having a large number of CPUs, without requiring measures such as installing address lines to be invalidated between each CPU.

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

添付図は、本発明が適用されるマルチCPUシステムを
図解したブロック図である。 図において、11一0〜11一3はそれぞれCPU、1
2はコモンバス、1 3はMSU、1 4−0〜14
−3はそれぞれバツフアストーレツジである。
The attached figure is a block diagram illustrating a multi-CPU system to which the present invention is applied. In the figure, 11-0 to 11-3 are CPU, 1
2 is common bus, 1 3 is MSU, 1 4-0 to 14
-3 are buffer storages.

Claims (1)

【特許請求の範囲】[Claims] 1 コモンバスと、該コモンバスに係合する複数台のC
PUと、該コモンバスを介し該複数台のCPUによつて
共有されるメインストーレツジユニツトとを具備し、各
前記CPU内には、前記メインストーレツジ内の指定の
アドレス領域におけるデータを逐次移転してストアする
バツフアストーレツジを有し、各該CPUは自内の該バ
ツフアストーレツジに対しデータの読み書きを実行する
と共に、前記メインストーレツジユニツトに対し新たな
データの書き込みがあつたときは、自内の該バツフアス
トーレツジにおける当該データを無効化する、マルチC
PUにおけるバツフア・インバリデート方式において、
各前記CPUは、前記メインストーレツジユニツト内
の所定のアドレス領域にデータの書き込みを行なうに際
し、当該書き込みデータを前記メインストーレツジユニ
ツトに対しストアすべき指令をフラグ情報と、当該書き
込みデータの該メインストーレツジユニツトにおけるア
ドレス情報と、当該書き込みデータとを前記コモンバス
に送出するようにし、 各前記CPUは、前記フラグ情
報が前記コモンバス上に出現したことを検出するフラグ
検出ゲートと、その出現によつて開となつた該フラグ検
出ゲートを通して前記アドレス情報を一旦記憶するアド
レスレジスタと、前記したバツフアストーレツジにスト
アされたデータのアドレスとこれに対応する前記メイン
ストーレツジユニツトにおけるアドレスとの対応表を保
持するアドレステーブルと、前記アドレスレジスタ内に
記憶されたアドレス情報が該アドレステーブル内に保持
された該メインストーレツジユニツトにおけるアドレス
と少なくとも部分的に重複することを検出する照合回路
とを含んでなり、 前記書き込みデータを送出する1の
前記CPUを除く他のCPUの各々において、自内の前
記照合回路が前記の検出を行なつたとき、自内の前記バ
ツフアストーレツジにストアされた、前記アドレス情報
に対応するデータを無効化することを特徴とするマルチ
CPUシステムにおけるバツフア・インバリデート方式
1 Common bus and multiple Cs that engage with the common bus
PU, and a main storage unit shared by the plurality of CPUs via the common bus, each CPU sequentially stores data in a specified address area in the main storage. It has a buffer storage for transferring and storing data, and each CPU reads and writes data to its own buffer storage, and also writes new data to the main storage unit. When a multi-C
In the buffer invalidation method in PU,
When writing data to a predetermined address area within the main storage unit, each CPU sends a command to store the write data to the main storage unit using flag information and a command to store the write data in the main storage unit. Address information in the main storage unit and the write data are sent to the common bus, and each CPU includes a flag detection gate for detecting that the flag information has appeared on the common bus, and a flag detection gate for detecting that the flag information has appeared on the common bus; an address register that temporarily stores the address information through the flag detection gate opened by the buffer storage; and an address register for temporarily storing the address information through the flag detection gate, which is opened by the buffer storage; an address table holding a correspondence table between the main storage unit and the main storage unit; and a check for detecting that address information stored in the address register at least partially overlaps with an address in the main storage unit held in the address table. circuit, and in each of the CPUs other than the one CPU that sends the write data, when the verification circuit within the CPU performs the detection, the buffer store within the CPU A buffer invalidation method in a multi-CPU system, characterized in that data corresponding to the address information stored in the address information is invalidated.
JP52130736A 1977-11-02 1977-11-02 Buffer invalidation method in multi-CPU system Expired JPS6012670B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52130736A JPS6012670B2 (en) 1977-11-02 1977-11-02 Buffer invalidation method in multi-CPU system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52130736A JPS6012670B2 (en) 1977-11-02 1977-11-02 Buffer invalidation method in multi-CPU system

Publications (2)

Publication Number Publication Date
JPS5464944A JPS5464944A (en) 1979-05-25
JPS6012670B2 true JPS6012670B2 (en) 1985-04-02

Family

ID=15041389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52130736A Expired JPS6012670B2 (en) 1977-11-02 1977-11-02 Buffer invalidation method in multi-CPU system

Country Status (1)

Country Link
JP (1) JPS6012670B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5647982A (en) * 1979-09-28 1981-04-30 Hitachi Ltd Cash memory control system
JPS57172582A (en) * 1981-04-15 1982-10-23 Hitachi Ltd Cash memory control method
JPS5864690A (en) * 1981-10-14 1983-04-18 Hitachi Ltd Control method for cash memory
JPS6232553A (en) * 1985-08-06 1987-02-12 Nec Corp Cache memory system
JPH06103476B2 (en) * 1986-06-09 1994-12-14 富士通株式会社 Serialize instruction controller

Also Published As

Publication number Publication date
JPS5464944A (en) 1979-05-25

Similar Documents

Publication Publication Date Title
US5586297A (en) Partial cache line write transactions in a computing system with a write back cache
US7613884B2 (en) Multiprocessor system and method ensuring coherency between a main memory and a cache memory
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
JP3821644B2 (en) Device that invalidates and removes old cache lines
US5146603A (en) Copy-back cache system having a plurality of context tags and setting all the context tags to a predetermined value for flushing operation thereof
US6463506B1 (en) Arrangement of data within cache lines so that tags are first data received
US7472227B2 (en) Invalidating multiple address cache entries
JPS62145340A (en) Cache memory control system
US5802567A (en) Mechanism for managing offset and aliasing conditions within a content-addressable memory-based cache memory
JPS6012670B2 (en) Buffer invalidation method in multi-CPU system
EP0173909A2 (en) Look-aside buffer least recently used marker controller
KR940007686A (en) Processor with Cache Memory
JPS6329297B2 (en)
JP3564343B2 (en) Data transfer device and method during cache bypass
JPH03230238A (en) Cache memory control system
EP0128353A2 (en) Error recovery of non-store-through cache
JPS5842546B2 (en) Store control method
KR100201671B1 (en) Computing system with a cache memory and an additional look-aside cache memory
EP0460852A2 (en) System for maintaining data coherency between main and cache memories
JPH0387949A (en) Cache memory controller
JPS62115553A (en) Invalidating system for buffer storage
JPH04353949A (en) Cache memory control system
JPH0512109A (en) Cache memory system
JPS62226348A (en) Main memory and concurrently main memory control device
JPS5829186A (en) Information processor