JPS6336536B2 - - Google Patents
Info
- Publication number
- JPS6336536B2 JPS6336536B2 JP58172410A JP17241083A JPS6336536B2 JP S6336536 B2 JPS6336536 B2 JP S6336536B2 JP 58172410 A JP58172410 A JP 58172410A JP 17241083 A JP17241083 A JP 17241083A JP S6336536 B2 JPS6336536 B2 JP S6336536B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- buffer memory
- registered
- tag
- store
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
(a) 発明の技術分野
本発明は、主記憶装置(MSU)と、ストアス
ルー方式のバツフアメモリ(BS)を有する中央
処理装置(CPU)と、1マシンサイクルにn個
のメモリアクセスを行うベクトルユニツト
(VU)を含む複数個の他の処理装置からなるデ
ータ処理システムにおけるバツフアメモリ一致制
御方式に係り、特に上記バツフアメモリのタグ部
と、少なくとも同一の内容を保持する第2のタグ
部を有するシステムにおける、上記第2のタグ部
に対する制御方式に関する。Detailed Description of the Invention (a) Technical Field of the Invention The present invention relates to a central processing unit (CPU) having a main storage unit (MSU) and a store-through type buffer memory (BS), It relates to a buffer memory coincidence control method in a data processing system consisting of a plurality of other processing devices including a vector unit (VU) that performs memory access of The present invention relates to a control method for the second tag unit in a system having a tag unit.
(b) 技術の背景
第1図は本発明を適用したデータ処理システム
の構成例の概略をブロツク図で示した図であつ
て、主記憶装置(MSU)1と、中央処理装置
(CSU)3と、チヤネルプロセツサー(CHP)5
と、ベクトルユニツト(VU)4からのN個(N
=2)を含むM個(M=4)のメモリアドレスポ
ートを有するメモリ制御部M(MCU)2からな
り、1メモリサイクルで、少なくともベクトルユ
ニツト(VU)4のN個のアドレスポート分の同
時アクセスができ、その他の装置{チヤネルプロ
セツサ(CHP)5、中央処理装置(CPU)3等}
は1メモリサイクルで1個のメモリアクセスを行
うことができるデータ処理システムを示してい
る。(b) Technical Background FIG. 1 is a block diagram schematically showing an example of the configuration of a data processing system to which the present invention is applied. and channel processor (CHP) 5
and N pieces (N
It consists of a memory control unit M (MCU) 2 having M (M = 4) memory address ports including = 2), and simultaneously handles at least N address ports of a vector unit (VU) 4 in one memory cycle. Other devices that can be accessed {channel processor (CHP) 5, central processing unit (CPU) 3, etc.}
shows a data processing system that can perform one memory access in one memory cycle.
該データ処理システムにおいて、中央処理装置
(以下、CPUと云う)3内に設けられているスト
アスルー方式のバツフアメモリ(BS){タグ部
(以下TAG1という)6とデータ部とからなる}
と上記主記憶装置(MSU)1との内容を効率的
に一致させる方式として、上記メモリ制御部
(MCU)2内に別のタグ部(以下TAG2という)
7を、上記ベクトルユニツト(VU)4からのN
個のアドレスポート(本例ではAポート、Bポー
ト)対応に設け、例えばベクトルユニツト(以下
VUという)4から主記憶装置(MSU)1にス
トアアクセスを行つた時の、該ストアアドレスと
TAG2の登録アドレスとが一致した場合のみ、上
記TAG1(6)に対して、該ストアアドレスを送出し
無効化するように制御する方法が知られている。 In the data processing system, a store-through type buffer memory (BS) {consisting of a tag section (hereinafter referred to as TAG1) 6 and a data section} is provided in a central processing unit (hereinafter referred to as CPU) 3.
As a method for efficiently matching the contents of the main storage unit (MSU) 1 and the main storage unit (MSU) 1, a separate tag unit (hereinafter referred to as TAG2) is provided in the memory control unit (MCU) 2.
7 from the vector unit (VU) 4 above.
For example, a vector unit (hereinafter referred to as
When a store access is made from main storage unit (MSU) 1 (called VU) 4, the store address and
A known method is known in which the store address is sent to TAG1(6) and invalidated only when the registered address of TAG2 matches.
上記ストアスルー方式のバツフアメモリ(BS)
においては、CPU3からのフエツチの場合では、
該フエツチアドレスとTAG1(6)内のアドレスとが
一致したとき、バツフアメモリ(BS)のデータ
部の内容を使用し、不一致の場合には、主記憶装
置(MSU)1から該バツフアメモリ(BS)のデ
ータ部にムーブインして、そのデータを使用す
る。又、ストアの場合では、該ストアアドレスと
TAG1(6)内のアドレスとが一致したときには、該
バツフアメモリ(BS)のデータ部にライトする
と同時に、主記憶装置(MSU)1にもライトす
るが、不一致の場合には、主記憶装置(MSU)
1に対してのみライトする。 Buffer memory (BS) using the above store-through method
In the case of fetch from CPU3,
When the fetch address and the address in TAG1(6) match, the contents of the data section of the buffer memory (BS) are used; if they do not match, the data is transferred from the main storage unit (MSU) 1 to the buffer memory (BS). Move it into the data section of the file and use that data. In addition, in the case of a store, the store address and
When the address in TAG1(6) matches, it is written to the data section of the buffer memory (BS) and is also written to main storage unit (MSU) 1 at the same time. )
Write only to 1.
又、上記CPU3以外の装置からのストアの場
合には、該ストアアドレスが一致した場合には、
該ストアアドレスを無効化(BI)アドレスとし
てCPU3に送出し、該CPU3において一致した
場合には、該TAG1(6)から該アドレスを消去し、
不一致の場合には該ストアアドレスを捨てるよう
に機能する。そして、フエツチの場合には主記憶
装置(MSU)1の内容に影響を与えることはな
いので何もしない。 In addition, in the case of a store from a device other than the above CPU 3, if the store addresses match,
Sends the store address to CPU3 as an invalidation (BI) address, and if it matches in CPU3, deletes the address from TAG1(6),
If there is a mismatch, the store address is discarded. In the case of a fetch, nothing is done because it does not affect the contents of the main storage unit (MSU) 1.
この一致制御の原理を以下に説明する。 The principle of this coincidence control will be explained below.
先ず、CPU3は上記ストアスルー一方式のバ
ツフアメモリ(BS)を持ち、チヤネルプロセツ
サ(以下、CHPと云う)5、VU4は該バツフア
メモリ(BS)を持つていなくて、直接主記憶装
置(MSU)1をアクセスする。 First, the CPU 3 has the above-mentioned store-through type buffer memory (BS), and the channel processor (hereinafter referred to as CHP) 5 and VU 4 do not have the buffer memory (BS), but directly use the main storage unit (MSU) 1. access.
CPU3は主記憶装置(MSU)1からデータを
ロードするときは該バツフアメモリ(BS)の
TAG1(6)を調べ、必要とするデータブロツクが登
録されていないときは、主記憶装置(MSU)1
よりブロツクフエツチ{バツフアメモリ(BS)
の登録単位のデータ、ここでは、64バイト}し、
該バツフアメモリ(BS)のデータ部に登録する
と同時に該データを使用する。若し、該必要とす
るデータが既に登録されている場合には、該バツ
フアメモリ(BS)からロードする。 When loading data from main storage unit (MSU) 1, CPU 3 loads the buffer memory (BS).
Check TAG1(6), and if the required data block is not registered, main storage unit (MSU 1)
More block fetch {Buffer memory (BS)
registration unit data, here 64 bytes},
The data is used at the same time as it is registered in the data section of the buffer memory (BS). If the required data is already registered, it is loaded from the buffer memory (BS).
CHP5,VU4が主記憶装置(MSU)1に対
してストアする場合には、直接該主記憶装置
(MSU)1にストアする。若し、このストアする
アドレスをCPU3がバツフアメモリ(BS)に登
録していたとすると、主記憶装置(MSU)1と
該バツフアメモリ(BS)との間にデータの不一
致が生じることになる。 When the CHP 5 and VU 4 store to the main storage unit (MSU) 1, they directly store to the main storage unit (MSU) 1. If the CPU 3 had registered this storage address in the buffer memory (BS), a data mismatch would occur between the main storage unit (MSU) 1 and the buffer memory (BS).
このときバツフアメモリ(BS)のデータを主
記憶装置(MSU)1のデータに一致させる処理
が、本発明で行おうとしているバツフア無効化
(BI)処理である。 The process of matching the data in the buffer memory (BS) with the data in the main storage unit (MSU) 1 at this time is the buffer invalidation (BI) process attempted to be performed in the present invention.
該バツフア無効化(BI)処理は、その名称が
示すように、CHP5,VU4が使用したストアア
ドレスをCPU3の上記TAG1(6)に送つてチエツ
クし、一致すれば、該TAG1(6)の該当のアドレス
を消去して無効化し、一致しなければ、該ストア
アドレスを捨てる処理を行う。 As the name suggests, the buffer invalidation (BI) process sends the store address used by CHP5 and VU4 to the above TAG1(6) of CPU3 and checks it. If they match, the corresponding TAG1(6) is The store address is deleted and invalidated, and if there is no match, the store address is discarded.
従つて、一致していた場合には、該当アドレス
がバツフアメモリから消去されるので、再び
CPU3よりデータロードを行つても、該バツフ
アメモリ(BS)には該当のデータがない為、主
記憶装置(MSU)1に対して前述のブロツクフ
エツチが行われ、結果として、主記憶装置
(MSU)1とバツフアメモリの内容が一致するこ
とになる。 Therefore, if there is a match, the corresponding address will be erased from the buffer memory and it will be used again.
Even if data is loaded from the CPU 3, there is no corresponding data in the buffer memory (BS), so the aforementioned block fetch is performed on the main storage unit (MSU) 1, and as a result, the main storage unit (MSU) 1 and the contents of the buffer memory will match.
次に、上記TAG2,7の必要性について説明す
る。一般に、マルチプロセツサシステムや、ベク
トルユニツト(VU)4を持つシステムでは、主
記憶装置(MSU)1へストアする頻度が大きい。 Next, the necessity of the above TAGs 2 and 7 will be explained. Generally, in a multiprocessor system or a system having a vector unit (VU) 4, data is stored in the main storage unit (MSU) 1 frequently.
例えば、上記第1図に示した例では、2つのア
クセスパイプライン(Aアクセスパイプライン、
Bアクセスパイプライン)を備えているので、同
時に2個のストアアクセスが発生する。 For example, in the example shown in FIG. 1 above, there are two access pipelines (A access pipeline,
B access pipeline), two store accesses occur simultaneously.
一方、CPU3での無効化(BI)処理の為のア
ドレスチエツクは、バツフアメモリ(BS)にラ
ンダムアクセスメモリ(RAM)素子を使用して
いる為、毎サイクルに1個のアドレスしかチエツ
クすることができない。 On the other hand, the address check for invalidation (BI) processing in CPU3 uses a random access memory (RAM) element for the buffer memory (BS), so only one address can be checked in each cycle. .
従つて、上記TAG2(7)を持たないと、VU4は
本来毎サイクル2個のストアアクセスが可能であ
るのに、CPU3の無効化(BI)処理の為に、毎
サイクル1個しかストアすることができなくな
る。 Therefore, without the above TAG2(7), VU4 is originally capable of two store accesses every cycle, but due to CPU3 invalidation (BI) processing, only one store is stored every cycle. become unable to do so.
又、CPU3もVU4がストア動作を始めると、
上記無効化(BI)処理の為に、該CPU2の性能
が著しく低下せざるを得ないことになる。 Also, when VU4 starts the store operation for CPU3,
Due to the above-mentioned invalidation (BI) processing, the performance of the CPU 2 must be significantly reduced.
このようなCPU2、及びVU4の性能低下を防
止する為に、メモリ制御部(MCU)2に、上記
TAG2(7)と云うアドレスバツフアを持つようにす
る。このTAG2(7)はアドレスバツフアであるか
ら、バツフアメモリ(BS)のようにデータ部は
不要である。 In order to prevent such performance deterioration of CPU2 and VU4, the above-mentioned
Create an address buffer called TAG2(7). Since this TAG2(7) is an address buffer, there is no need for a data section like a buffer memory (BS).
そして、このTAG2(7)はCPU3内のバツフア
メモリ(BS)のタグ部TAG1(6)に登録してある
アドレスを必ず持つ制御とする。 This TAG2(7) is controlled to always have the address registered in the tag section TAG1(6) of the buffer memory (BS) in the CPU3.
即ち、CPU3がブロツクフエツチをした場合
には、必ず該TAG2(7)へそのアドレスを登録す
る。 That is, when the CPU 3 performs a block fetch, the address is always registered in the TAG2(7).
具体的には、上記CPU3が上記バツフアメモ
リ(BS)へデータをロードする際に、同一のア
ドレスを該第2のタグ部へ登録する場合、該第2
のタグ部のウエイが全て登録済で、且つ該登録済
アドレスと登録アドレスが一致しなかつたとき
に、該第2のタグ部の最も古いアドレスを、上記
CPU3のバツフアメモリ(BS)へ送出して、該
CPU3が該アドレスの無効化(BI)処理を行う
と同時に、該第2のタグ部においても、上記ロー
ドアドレスの登録処理を行う。 Specifically, when the CPU 3 loads data into the buffer memory (BS), if the same address is registered in the second tag section, the second
When all the ways in the second tag part have been registered, and the registered address and the registered address do not match, the oldest address in the second tag part is
Sends to the buffer memory (BS) of CPU3 and
At the same time as the CPU 3 performs the invalidation (BI) process for the address, the second tag section also performs the registration process for the load address.
そして、CHP5、又はVU4がストアした場合
には、該TAG2(7)に登録されているアドレスと一
致したかどうかを調べて、一致した場合のみ
CPU3へ無効化(BI)処理をすべきアドレスを
送出し、一致しない場合には、該アドレスはその
儘捨てられる。 Then, when CHP5 or VU4 stores, it is checked whether it matches the address registered in the TAG2(7), and only if it matches.
The address to be subjected to invalidation (BI) processing is sent to the CPU 3, and if they do not match, the address is immediately discarded.
このように、このTAG2(7)がないと、VU4か
ら主記憶装置(MSU)1に対して、ストアアク
セスを行う毎に、上記バツフアメモリ(BS)に
対して該アドレスに関する無効化(BI)要求が
出され、CPU3での上記バツフアメモリ(BS)
の使用効率を低下させる問題があつた。 In this way, without this TAG2(7), every time a store access is performed from the VU4 to the main storage unit (MSU) 1, an invalidation (BI) request regarding the address is sent to the buffer memory (BS). is issued, and the above buffer memory (BS) on CPU3
There was a problem that reduced the efficiency of use.
然して、上記TAG2(7)を設けることにより、該
TAG2(7)での照合一致したアドレスに対しての
み、無効化要求を行うようにすることにより、
CPU3での上記バツフアメモリ(BS)の使用効
率を向上させることができる。 However, by providing TAG2(7) above, the corresponding
By making invalidation requests only for addresses that match in TAG2(7),
The usage efficiency of the buffer memory (BS) in the CPU 3 can be improved.
本発明は、このTAG2(7)に対する制御方式に関
している。 The present invention relates to a control method for this TAG2(7).
(c) 従来技術と問題点
上記TAG1(6)とTAG2(7)とを有しているデータ
処理システムにおいて、従来とつていた技術は、
TAG1(6)とTAG2(7)には同一データを登録し、且
つ同一データの消去(無効化処理)を行つてい
た。(c) Conventional technology and problems In the data processing system having the above TAG1(6) and TAG2(7), the conventional technology is as follows:
The same data was registered in TAG1 (6) and TAG2 (7), and the same data was deleted (invalidation processing).
然して、スーパーコンピユータ等のベクトルユ
ニツト(VU)4からの主記憶装置(MSU)1
に対するアドレスポートがN個存在し、且つ1演
算サイクルにおいて、上記N個のアドレスポート
分のメモリアクセス要求が同時に出るシステムに
おいては、TAG1(6)と同一のハードウエアがN個
分必要であり、又該N個のアドレスポート等から
の無効化アドレスによつて、TAG2(7)に登録され
ている同じアドレスを消去する回路のハードウエ
ア量も膨大となる問題があつた。 Therefore, the main storage unit (MSU) 1 from the vector unit (VU) 4 of a supercomputer etc.
In a system where there are N address ports for TAG1(6) and memory access requests for the N address ports are issued simultaneously in one operation cycle, N pieces of hardware identical to TAG1(6) are required. Furthermore, due to the invalidated addresses from the N address ports, etc., there is a problem in that the amount of hardware required for a circuit for erasing the same address registered in TAG2(7) becomes enormous.
更に、N個のアドレスポート等からの無効化ア
ドレスにより、TAG2(7)から同じアドレスを1演
算サイクルで消去する為には、上記ベクトルユニ
ツト(VU)4からのN個を含むM個の全ポート
からのメモリアクセスを同時に停止させる必要が
あつた。 Furthermore, in order to erase the same address from TAG2(7) in one operation cycle using invalidated addresses from N address ports, etc., all M addresses including N from the vector unit (VU) 4 must be erased. It was necessary to simultaneously stop memory accesses from ports.
(d) 発明の目的
本発明は上記従来の欠点に鑑み、主記憶装置に
対して上記同時アクセスが生起するN個のアドレ
スポート等を有するデータ処理システムにおい
て、該N個のアドレスポート等からの無効化アド
レスによつて、該N個分等のTAG2に登録されて
いる同じアドレスを消去する回路のハードウエア
量を削減し、且つ該TAG2から無効化アドレスを
消去するのに全ポートのメモリアクセスを停止さ
せることなく、主記憶装置とバツフアメモリとの
一致制御機能は落とさない方式を提供することを
目的とするものである。(d) Purpose of the Invention In view of the above-mentioned conventional drawbacks, the present invention provides a data processing system having N address ports etc. in which the above-mentioned simultaneous accesses to the main memory occur. By using the invalidation address, the amount of hardware required for the circuit to erase the same address registered in the N TAG2 etc. can be reduced, and memory access of all ports is required to erase the invalidation address from the TAG2. The purpose of this invention is to provide a method that does not stop the main storage device and the buffer memory and maintains the consistency control function between the main storage device and the buffer memory.
(e) 発明の構成
そしてこの目的は、本発明によれば:
(1) 主記憶装置(MSU)と、主記憶制御部
(MCU)と、ストアスルー方式のバツフアメモ
リ(BS)を有する中央処理装置(CPU)と、
1マシンサイクルにn個のメモリアクセスを行
うベクトルユニツト(VU)を含む複数個の他
の処理装置からなるデータ処理システムにおい
て、
上記バツフアメモリ(BS)のタグ部と、少
なくとも同一の内容を保持する第2のタグ部
を、上記主記憶制御部(MCU)にn個設け、
該第2のタグ部の登録容量を上記バツフアメ
モリ(BS)のタグ部の登録容量より大きくし
て、
上記中央処理装置(CPU)が上記バツフア
メモリ(BS)へデータをロードする際に、同
一のアドレスを該第2のタグ部へ登録する場
合、該第2のタグ部のウエイが全て登録済で、
且つ該登録済アドレスと登録アドレスが一致し
なかつたときに、該第2のタグ部の最も古いア
ドレスを、上記中央処理装置(CPU)のバツ
フアメモリ(BS)へ送出して、該中央処理装
置(CPU)が該アドレスの無効化処理を行う
と同時に、該第2のタグ部においても、上記ロ
ードアドレスの登録処理を行うことによつて上
記最も古いアドレスを消去することで、該第2
のタグ部の無効化処理を行い、
上記他の処理装置が主記憶装置(MSU)に
対してストアアクセスを行う際に、上記主記憶
装置(MSU)と上記バツフアメモリ(BS)の
内容を一致させるのに、該ストアアドレスを該
第2のタグ部で参照して、一致した場合には、
上記バツフアメモリ(BS)へ送出して該バツ
フアメモリ(BS)の無効化処理を行い、一致
しなかつた場合には、上記バツフアメモリ
(BS)に該ストアアドレスを送出することな
く、且つ、該第2のタグ部の登録アドレスに対
しては、上記一致、不一致にかかわらず一切の
無効化処理を行わないことで、他の処理装置か
らのメモリアクセスを停止させないように制御
する方法。(e) Structure of the Invention According to the present invention, this object is: (1) A central processing unit having a main storage unit (MSU), a main memory control unit (MCU), and a store-through buffer memory (BS). (CPU) and
In a data processing system consisting of a plurality of other processing units including a vector unit (VU) that performs n memory accesses in one machine cycle, a tag part of the buffer memory (BS) has at least the same contents as the tag part of the buffer memory (BS). The central processing unit ( When the CPU) loads data into the buffer memory (BS), if the same address is registered in the second tag section, all the ways in the second tag section have been registered,
In addition, when the registered address and the registered address do not match, the oldest address in the second tag part is sent to the buffer memory (BS) of the central processing unit (CPU), and the central processing unit ( At the same time, the CPU) performs invalidation processing for the address, and at the same time, the second tag section also registers the load address, thereby erasing the oldest address.
When the other processing device performs store access to the main storage unit (MSU), the contents of the main storage unit (MSU) and the buffer memory (BS) are made to match. However, the store address is referenced in the second tag part, and if there is a match,
The buffer memory (BS) is sent to the buffer memory (BS) and the buffer memory (BS) is invalidated, and if they do not match, the store address is not sent to the buffer memory (BS) and the second buffer memory (BS) is invalidated. A method of controlling a registered address of a tag part so as not to stop memory access from other processing devices by not performing any invalidation processing regardless of whether the address matches or does not match.
(2) 主記憶装置(MSU)と、主記憶制御部
(MCU)と、ストアスルー方式のバツフアメモ
リ(BS)を有する中央処理装置(CPU)と、
1マシンサイクルにn個のメモリアクセスを行
うベクトルユニツト(VU)を含む複数個の他
の処理装置からなるデータ処理システムにおい
て、
上記バツフアメモリ(BS)のタグ部と、少
なくとも同一の内容を保持する第2のタグ部
を、上記主記憶制御部(MCU)にn個設け、
該第2のタグ部の登録容量を上記バツフアメ
モリ(BS)のタグ部の登録容量より大きくし
て、
上記中央処理装置(CPU)が上記バツフア
メモリ(BS)へデータをロードする際に、同
一のアドレスを該第2のタグ部へ登録する場
合、該第2のタグ部のウエイが全て登録済で、
且つ該登録済アドレスと登録アドレスが一致し
なかつたときに、該第2のタグ部の最も古いア
ドレスを、上記中央処理装置(CPU)のバツ
フアメモリ(BS)へ送出して、該中央処理装
置(CPU)が該アドレスの無効化処理を行う
と同時に、該第2のタグ部においても、上記ロ
ードアドレスの登録処理を行うことによつて上
記最も古いアドレスを消去することで、該第2
のタグ部の無効化処理を行い、
上記他の処理装置が主記憶装置(MSU)に
対してストアアクセスを行う際に、上記主記憶
装置(MSU)と上記バツフアメモリ(BS)の
内容を一致させるのに、上記他の処理装置が主
記憶装置(MSU)に対してストアアクセスを
行い、該ストアアドレスで第2のタグ部を参照
して一致した場合には、上記バツフアメモリに
送出して該バツフアメモリ(BS)の無効化処
理を行うと同時に、該第2のタグ部に入力され
る全てのアドレスに対するストアアドレスバリ
ツド(SAV)と上記中央処理装置(CPU)の
登録アドレスバリツド(BFAV)とが、“オ
フ”であることを検出する手段を設け、
該手段の検出出力が“オン”であるときの
み、該第2のタグ部に対するアクセスが無いと
認識して、上記ストアアドレスによつて、該第
2のタグ部の無効化処理を行うように制御する
方法。(2) a central processing unit (CPU) having a main storage unit (MSU), a main memory control unit (MCU), and a store-through buffer memory (BS);
In a data processing system consisting of a plurality of other processing units including a vector unit (VU) that performs n memory accesses in one machine cycle, a tag part of the buffer memory (BS) has at least the same contents as the tag part of the buffer memory (BS). The central processing unit ( When the CPU) loads data into the buffer memory (BS), if the same address is registered in the second tag section, all the ways in the second tag section have been registered,
In addition, when the registered address and the registered address do not match, the oldest address in the second tag part is sent to the buffer memory (BS) of the central processing unit (CPU), and the central processing unit ( At the same time, the CPU) performs invalidation processing for the address, and at the same time, the second tag section also registers the load address, thereby erasing the oldest address.
When the other processing device performs store access to the main storage unit (MSU), the contents of the main storage unit (MSU) and the buffer memory (BS) are made to match. However, when the other processing device performs a store access to the main storage unit (MSU) and matches the second tag section with the store address, it sends the data to the buffer memory and stores it in the buffer memory. At the same time, the store address valid (SAV) for all addresses input to the second tag section and the registered address valid (BFAV) of the central processing unit (CPU) are invalidated. is "off", and only when the detection output of the means is "on", it is recognized that there is no access to the second tag part, and the second tag part is accessed by the above store address. , a method of controlling to perform invalidation processing of the second tag section.
を提供することによつて達成され、第2のタグ部
に登録されている無効化アドレスを消去する回路
を削除するか、或いは特定の条件のときのみ、若
干の消去回路を設けるだけで、主記憶装置とバツ
フアメモリとの内容を一致させることができる利
点がある。This can be achieved by deleting the circuit for erasing the invalidated address registered in the second tag part, or by simply providing a few erasing circuits only under specific conditions. There is an advantage that the contents of the storage device and buffer memory can be matched.
(f) 発明の実施例
先ず、本発明の主旨を要約すると、主記憶装置
(MSU)に対して、ベクトルユニツト(VU)か
ら同時にアクセスするN個のアドレスポートを含
むM個のアクセスポートと、中央処理装置
(CPU)にバツフアメモリ(BS)を有し、該バ
ツフアメモリ(BS)のタグ部とは別に、該N個
のアドレスポート対応に第のタグ部を有するデー
タ処理システムにおいて、該第2のタグ部の登録
容量を、バツフアメモリ(BS)のタグ部の登録
容量より大きくしておき、上記各アドレスポート
から主記憶装置に対してストアアクセスが行わ
れ、第2のタグ部において一致がとれた場合に
は、バツフアメモリ(BS)に対して該アドレス
に関する無効化処理を行い、一致しなかつた場合
には、上記バツフアメモリ(BS)に上記ストア
アドレスを送出することなく、該第2のタグ部の
登録アドレスには、上記一致、不一致にかかわら
ず、一切無効化処理を行わないか、或いは第2の
タグ部に対するアクセスがない時のみ、若干の消
去回路を付加して無効化処理を行うように制御す
ることにより、第2のタグ部における、無効化ア
ドレスを消去する為のハードウエア量を削減し、
且つ、該無効化処理のために、全アドレススポー
トからのメモリアクセスを停止させることがない
ようにしようとするものである。(f) Embodiments of the Invention First, to summarize the gist of the present invention, M access ports including N address ports that simultaneously access a main storage unit (MSU) from a vector unit (VU); In a data processing system having a buffer memory (BS) in a central processing unit (CPU), and having a second tag part corresponding to the N address ports separately from a tag part of the buffer memory (BS), the second tag part corresponds to the N address ports. The registered capacity of the tag section is made larger than the registered capacity of the tag section of the buffer memory (BS), and store access is performed from each of the above address ports to the main memory, and a match is made in the second tag section. In this case, the buffer memory (BS) is processed to invalidate the address, and if they do not match, the store address is not sent to the buffer memory (BS) and the second tag part is invalidated. Regardless of whether the registered address matches or does not match, the registered address is not invalidated at all, or only when there is no access to the second tag part, a slight erasure circuit is added and invalidated. By controlling, the amount of hardware for erasing invalidated addresses in the second tag section is reduced,
Furthermore, it is intended to prevent memory accesses from all address ports from being stopped due to the invalidation process.
以下本発明の実施例を図面によつて詳述する。
前述の第1図が、本発明を適用したデータ処理シ
ステムの構成例の概略をブロツク図で示した図で
あり、第2図はバツフアメモリ内のタグ部TAG1
と第2のタグ部TAG2の構成例を示した図であ
り、第3図は本発明の一実施例と他の実施例とを
合わせてブロツク図で示した図であり、第4図は
TAG1とTAG2とのアドレスの構成例を示した図
である。本実施例において、アドレスポートにつ
いては、説明を簡単にする為にAポートとBポー
トの2ポートとする。 Embodiments of the present invention will be described in detail below with reference to the drawings.
The above-mentioned FIG. 1 is a block diagram showing an outline of a configuration example of a data processing system to which the present invention is applied, and FIG.
FIG. 3 is a block diagram showing one embodiment of the present invention and another embodiment together, and FIG.
FIG. 3 is a diagram showing an example of the structure of addresses of TAG1 and TAG2. In this embodiment, there are two address ports, A port and B port, to simplify the explanation.
第1図において、前述のように、1は主記憶装
置(MSU)、2はメモリ制御部(MCU),3は
CPU,4はVU,5はCHP,6はバツフアメモ
リ(BS)のタグ部TAG1,7は第2のタグ部
TAG2である。そして、アドレスポートの内、A
ポートはVU4によつてのみアクセスされ、Bポ
ートはVU4,CHP5,CPU3によりアクセス
される。 In FIG. 1, as mentioned above, 1 is the main storage unit (MSU), 2 is the memory control unit (MCU), and 3 is the main storage unit (MSU).
CPU, 4 is VU, 5 is CHP, 6 is buffer memory (BS) tag part TAG1, 7 is second tag part
It is TAG2. And among the address ports, A
The port is accessed only by VU4, and the B port is accessed by VU4, CHP5, and CPU3.
ここに示されているバツフアメモリ(BS)は
公知のセツトアソシアテイブ方式のバツフアメモ
リであるのて、そのタグ部TAG1(6)を、下位のブ
ロツクアドレス(ラインアドレス)でアクセスす
ることにより読み出された上位アドレスとの一致
を見ることで、当該ラインアドレスに登録されて
いるデータブロツクの有無を検索するものであつ
て、前述のようにストアスルー方式で制御され
る。 The buffer memory (BS) shown here is a well-known set associative type buffer memory, so it can be read by accessing its tag part TAG1(6) with a lower block address (line address). By looking for a match with the higher-order address, the presence or absence of a data block registered at the line address is searched, and is controlled by the store-through method as described above.
第2図は、該TAG1(6)とTAG2(7)の構成を示し
ている。本図から明らかな如く、TAG1(6)は64ラ
イン×16ウエイで構成されており、メモリアドレ
ス(31〜4ビツト)の内、下位のアドレス25〜20
ビツト(64ライン)をラインアドレスとして、1
ラインで64バイト分(00HEX〜3FHEX)のアドレス
エリアをアクセスする。従つて、該TAG1(6)で登
録できるアドレスエリアは、64バイトエリア×64
ライン×16ウエイ=64キロバイト(以下、KBで
示す)エリアである。 FIG. 2 shows the configuration of TAG1(6) and TAG2(7). As is clear from this figure, TAG1(6) consists of 64 lines x 16 ways, and among the memory addresses (31 to 4 bits), the lower addresses 25 to 20
Bit (64 lines) as line address, 1
Access the address area of 64 bytes (00 HEX to 3F HEX ) by line. Therefore, the address area that can be registered with TAG1(6) is 64 byte area x 64
Line x 16 ways = 64 kilobytes (hereinafter referred to as KB) area.
TAG2(7)の方は、前述のようにアドレスバツフ
アであるので、所謂タグ部のみで構成され、デー
タ部を持つていない。 Since TAG2(7) is an address buffer as described above, it consists only of a so-called tag section and does not have a data section.
そして、そのタグ部は、本例では、512ライン
×2ウエイで構成されており、メモリアドレス
(31〜4ビツト)の内、下位のアドレス23〜15ビ
ツト(512ライン)をラインアドレスとして、1
ラインで256バイト分(00HEX〜FFHEX)のアドレ
スエリアをアクセスする。従つて、該TAG2(7)で
登録できるアドレスエリアは、256バイトエリア
×512ライン×2ウエイ=256KBエリアであり、
TAG1(6)の4倍の登録容量を持つている。 In this example, the tag part is composed of 512 lines x 2 ways, and the lower address 23-15 bits (512 lines) of the memory address (31-4 bits) are used as the line address.
Access the address area of 256 bytes (00 HEX to FF HEX ) using a line. Therefore, the address area that can be registered with TAG2(7) is 256 byte area x 512 lines x 2 ways = 256KB area,
It has four times the registration capacity of TAG1(6).
ここで云うTAG1(6),TAG2(7)の登録容量は、
上記からも明らかなように、ある登録アドレスが
示すことができる登録領域の大きさの総量を示し
ている。 The registered capacity of TAG1(6) and TAG2(7) mentioned here is
As is clear from the above, this indicates the total size of the registered area that can be indicated by a certain registered address.
上記のアドレスの構成を図示すると、第4図の
通りとなり、第2図で示したTAG1(6),TAG2(7)
の構成例と対比することにより、各アドレスビツ
トの意味付けがより明確になる。 The structure of the above address is shown in Figure 4, and TAG1(6), TAG2(7) shown in Figure 2
The meaning of each address bit becomes clearer by comparing it with the configuration example.
又、TAG2(7)は、前述のようにポート(Aポー
ト,Bポート)別に構成されるが、Aポート,B
ポートから毎サイクル、アクセスされるので、そ
れぞれ同じ構成となつている。 Also, TAG2(7) is configured by port (A port, B port) as described above, but A port, B port
Since they are accessed every cycle from the port, they each have the same configuration.
本来、TAG1(6)とTAG2(7)は同じ構成とすべき
であるが、TAG2(7)はVU4のアドレスポートの
数だけ持つ必要があり、ベクトルアクセスは一般
にN個(本例では、2個)の同時アクセスを行う
ので、N個のTAG2(7)が必要となることから、そ
のハードウエアが膨大となる問題がある。 Originally, TAG1 (6) and TAG2 (7) should have the same configuration, but TAG2 (7) needs to have the same number of address ports as VU4, and generally has N vector accesses (in this example, 2 Since N TAG2(7) are accessed simultaneously, there is a problem in that the amount of hardware required is enormous.
例えば、同時にアクセスされるアドレスポート
(Aポート,Bポート)の1つのアドレスポート
に対応するTAG2(7)についてみたとき、ウエイの
数をTAG1(,6と同じ“16ウエイ”とすると、
8倍のアドレスレジスタと、照合回路を必要とす
ると共に、それだけ該TAG2(7)に関連する論理ブ
ロツクの端子数が増加して、最近の高集積化動向
に適さなく問題がある。 For example, when considering TAG2(7) corresponding to one address port of the address ports (A port, B port) that are accessed simultaneously, if the number of ways is "16 ways", which is the same as TAG1(,6),
This requires eight times as many address registers and a verification circuit, and the number of terminals of the logic block associated with the TAG2(7) increases accordingly, making it unsuitable for the recent trend toward higher integration.
そこで、本例においては、例えば、TAG2(7)の
ウエイ数を1/8の2ウエイとして、ライン数を8
倍の512ラインとすることで、TAG1(6)と登録ア
ドレスの格納個数を同じ(64ライン×16ウエイ=
512ライン×2ウエイ=1024個)にし、登録エリ
アの単位を上記のように、TAG1(6)の64バイトか
ら256バイトの4倍としている。 Therefore, in this example, the number of ways of TAG2(7) is set to 1/8, which is 2 ways, and the number of lines is 8.
By doubling the number of lines to 512, the number of registered addresses stored is the same as that of TAG1(6) (64 lines x 16 ways =
512 lines x 2 ways = 1024), and the registration area unit is set to 4 times the size of TAG1 (6) from 64 bytes to 256 bytes as described above.
従つて、TAG2(7)の1つのラインのサイズ
(256バイト)を、TAG1(6)の1つのラインのサイ
ズ(64バイト)より大きくすることにより、いか
なる利点が得られるかが本発明の効果の1つとな
るが、前述のように、格納個数はTAG2(7)と
TAG1(6)とで同じ“1024”個であるので、結果的
には、TAG2(7)の登録エリアがTAG1(6)の登録エ
リアの4倍である(以下、TAG2(7)>TAG1(6)で
表す)ことを意味していることになり、この状態
において、TAG1(6)に主記憶装置(MSU)1か
らブロツクフエツチを行つて、該当ブロツクのア
ドレスをTAG2(7)に登録するときに、リプレイス
メントによる無効化(BI)処理がどうなるかが
その効果の目安となる。 Therefore, the effect of the present invention is to determine what advantages can be obtained by making the size of one line of TAG2(7) (256 bytes) larger than the size of one line of TAG1(6) (64 bytes). However, as mentioned above, the number of stored items is TAG2(7).
Since the number is the same as "1024" in TAG1(6), as a result, the registration area of TAG2(7) is four times the registration area of TAG1(6) (hereinafter, TAG2(7)>TAG1( In this state, when performing a block fetch from main storage unit (MSU) 1 to TAG1 (6) and registering the address of the corresponding block in TAG2 (7), In addition, how the invalidation (BI) process by replacement will turn out will be a measure of its effectiveness.
先ず、第1図,第2図を用いて、TAG2(7)の基
本動作を説明する。 First, the basic operation of TAG2(7) will be explained using FIGS. 1 and 2.
CPUブロツクフエツチ〔CPU3からのバツ
フアメモリアクセスで必要なデータがない時に
フエツチされる、主記憶装置(MSU)1から
の64バイト単位のブロツク転送を云う〕によ
り、TAG2(7)へBポートから該CPUブロツク
フエツチのアドレスを登録する。 A CPU block fetch [refers to a 64-byte block transfer from main storage unit (MSU) 1 that is fetched when there is no necessary data in buffer memory access from CPU 3] transfers the data from port B to TAG2(7). Register the CPU block fetch address.
上記CPUブロツクフエツチにより、アドレ
スを登録する場合、TAG2(7)を構成するウエイ
0,ウエイ1ともに、既に登録されていて{即
ち、バリツドビツト(V)が“1”}、且つ該登
録されているアドレスと、今登録しようとする
アドレスが一致しなかつた場合(即ち、空きが
ない時)には、ウエイ0、ウエイ1の内から最
も古いアドレスについてリプレイスを行い、該
リプレイスされたアドレスについて、TAG1(6)
に対し無効化要求を出す必要がある。 When registering an address using the above CPU block fetch, both way 0 and way 1 that make up TAG2(7) have already been registered {that is, the valid bit (V) is "1"}, and the registered address If the address you are trying to register now does not match (that is, there is no space available), replace the oldest address from way 0 and way 1, and use TAG1( 6)
It is necessary to issue an invalidation request to.
VU4又はCHP5が主記憶装置(MSU)1
に対してストアアクセスを行つた場合には、該
アドレスは各ポート毎に、TAG2(7)へ送出さ
れ、参照される。 VU4 or CHP5 is main storage unit (MSU) 1
When a store access is made to , the address is sent to TAG2(7) for each port and referenced.
そして、上記ストアアドレスと、TAG2(7)の登
録アドレスとが一致した場合、中央処理装置
(CPU)3のTAG1(6)に対して、そのアドレスを
無効化する要求を出す。 If the store address matches the registered address of TAG2(7), a request is issued to TAG1(6) of the central processing unit (CPU) 3 to invalidate that address.
この場合、TAG2(7)においては、上記登録アド
レスを消去(無効化)しないように制御されたこ
とにより、該無効化処理によつて、他の装置から
のメモリアクセスを停止させる必要がなくなる。
この動作が本発明のポイントとなる。 In this case, since TAG2(7) is controlled not to erase (invalidate) the registered address, there is no need to stop memory access from other devices due to the invalidation process.
This operation is the key point of the present invention.
該ストアアドレスと、TAG2(7)の登録アドレス
とが一致しない場合、上記無効化要求(以下BI
という)は行わない。従つて、前述のように、
VU4からのN個のアクセスポートによる同時ス
トアアクセスが可能となる。 If the store address does not match the registered address of TAG2(7), the above invalidation request (hereinafter referred to as BI
) will not be carried out. Therefore, as mentioned above,
Simultaneous store access by N access ports from VU4 is possible.
TAG2(7)からTAG1(6)に対する上記BIには、次
の3種類が存在する。 The following three types of BI exist for TAG2(7) to TAG1(6).
1 CPUブロツクフエツチによつてTAG2(7)を
リプレイスしたことによるBI。(これをリプレ
イスメントによるBIという)
2 TAG1(6),TAG2(7)の両方に登録されている
アドレスに対するBI。(これを有効BIという)
3 TAG1(6)には登録されていなくて、TAG2(7)
に登録されているアドレスに対するBI。(これ
を無効BIという)
上記3種類のBIの発生理由と、TAG2(7)>
TAG1(6)とすることによる、BI回数の変化を以
下に説明する。1 BI by replacing TAG2(7) by CPU block fetch. (This is called BI by replacement.) 2. BI for addresses registered in both TAG1(6) and TAG2(7). (This is called effective BI) 3 It is not registered in TAG1(6), but it is registered in TAG2(7).
BI for addresses registered in . (This is called invalid BI) Reasons for occurrence of the above three types of BI and TAG2(7)>
The change in the number of BIs due to setting TAG1(6) will be explained below.
1 リプレイスメントによるBI。1 BI by replacement.
「BI発生理由」
前述のように、CPU3からのブロツクフエツ
チにより、TAG2(7)へアドレスを登録する時、ウ
エイ0、ウエイ1とも登録済みで、且つ登録しよ
うとするアドレスと登録済みのアドレスとが不一
致であると、ウエイ0、ウエイ1の内の最も古い
アドレスを追い出すことにより発生するBIであ
る。"Reason for BI Occurrence" As mentioned above, when registering an address to TAG2(7) by block fetch from CPU3, both way 0 and way 1 are registered, and the address to be registered and the registered address are If there is a mismatch, this is a BI that occurs by evicting the oldest address of way 0 and way 1.
「TAG2(7)>TAG1(6)とすることによるBI回数変
化」
TAG2(7)>TAG1(6)とすることにより、TAG1
(6)に対するBI回数は減少する。"BI number change by setting TAG2(7)>TAG1(6)" By setting TAG2(7)>TAG1(6), TAG1
The number of BIs for (6) will decrease.
前述のように、登録エリアについては、TAG2
(7)>TAG1(6)となるように構成されているので、
CPU3においてブロツクフエツチを行つた時、
TAG1(6)に対する登録アドレスがTAG2(7)に既に
登録されているアドレスと一致するケースが多く
なり、不一致のケースは少なくなることから、該
BI回数は減少することになる。 As mentioned above, for the registration area, TAG2
Since it is configured so that (7)>TAG1(6),
When performing a block fetch on CPU3,
The registered address for TAG1(6) will match the address already registered for TAG2(7) in many cases, and the number of mismatched cases will decrease.
The number of BIs will decrease.
2 有効BI(VU4,CHP5からのストアアクセ
スによる)。2 Valid BI (according to store access from VU4, CHP5).
「BI発生理由」
TAG1(6)とTAG2(7)の両方に、登録されている
アドレスに対して、VU4又はCHP5が主記憶装
置(MSU)1に対してストアアクセスをしたこ
とにより発生するBIである。"Reason for BI occurrence" BI occurs when VU4 or CHP5 performs a store access to main storage unit (MSU) 1 to the address registered in both TAG1(6) and TAG2(7). It is.
「TAG2(7)>TAG1(6)とすることによるBI回数変
化」
TAG2(7)に登録されているアドレスは、少なく
ともTAG1(6)に登録されているアドレスを包含し
ているので、該有効BIの発生率はTAG2(7)の大
きさには関係なく同じとなる。“BI count change due to setting TAG2(7)>TAG1(6)” Addresses registered in TAG2(7) include at least addresses registered in TAG1(6), so the valid The incidence of BI is the same regardless of the size of TAG2(7).
3 無効BI(VU4,CHP5からのストアアクセ
スによる)。3 Invalid BI (due to store access from VU4, CHP5).
「BI発生理由」
TAG1(6)に登録されていなくて、且つTAG2(7)
に登録されているアドレスに対して、VU4は又
はCHP5が主記憶装置(MSU)1にストアアク
セスしたことにより発生するBIである。"Reason for BI occurrence" Not registered in TAG1(6) and TAG2(7)
VU4 is a BI generated when CHP5 performs a store access to main storage unit (MSU) 1 for the address registered in .
従つて、CPU3においては、該BIアドレスが
送出されてきてもTAG1(6)に登録されているアド
レスとは一致しないので、該VU4からのストア
アクセスによるTAG2との一致のみで、該アドレ
スは捨てられる為に、無効BIと云うのである。 Therefore, in CPU3, even if the BI address is sent, it does not match the address registered in TAG1(6), so it only matches TAG2 due to the store access from the VU4, and the address is discarded. This is why it is called invalid BI.
「TAG2(7)>TAG1(6)とすることによるBI回数変
化」
TAG2(7)を大きくすると、該TAG2(7)に登録さ
れているアドレスが多くなるので、該登録アドレ
スとVU4や、CHP5からのストアアドレスと一
致する確率が増加することになり、TAG1(6)に対
する無効BI回数は増大することになる。"BI count change due to setting TAG2(7)>TAG1(6)" If TAG2(7) is increased, the number of addresses registered in TAG2(7) increases, so the registered address and VU4, CHP5 This increases the probability of matching the store address from , and the number of invalid BIs for TAG1(6) increases.
上記の説明から明らかな如く、本発明を実施す
ることにより、無効BIが発生し、システムの性
能が落ちるという欠点があるが、システムの動
作、即ち、主記憶装置(MSU)1の内容と、バ
ツフアメモリ(BS)のデータ部の内容とを一致
させる機能には、全く支障はない。 As is clear from the above description, implementing the present invention has the disadvantage that invalid BI occurs and system performance deteriorates; however, the system operation, that is, the contents of the main storage unit (MSU) There is no problem at all with the function of matching the contents of the data section of the buffer memory (BS).
そして、VU4等がアクセスするメモリエリア
と、CPU3がアクセスするメモリエリアを、オ
ペレイテイングシステム(OS)によつて、独立
に管理することにより、上記性能の低下を少なく
することができる。 By independently managing the memory area accessed by the VU 4 and the like and the memory area accessed by the CPU 3 by the operating system (OS), the above-mentioned deterioration in performance can be reduced.
即ち、CPU3がアクセスするメモリエリアと、
VU4等がアクセスするメモリエリアとを分ける
と、TAG2(7)へ登録されているアドレスはCPU
3のブロツクフエツチアドレスのみとなる。 That is, the memory area accessed by CPU3,
If you separate the memory area accessed by VU4 etc., the address registered in TAG2(7) is the CPU
3 block fetch address only.
従つて、VU4等がストアするアドレスは
TAG2(7)に登録されているアドレスと一致しない
ので、TAG2の構成を本発明のようにしても、殆
ど性能の低下はないことになる。 Therefore, the address stored by VU4 etc. is
Since this does not match the address registered in TAG2(7), even if TAG2 is configured as in the present invention, there will be almost no deterioration in performance.
然し、実際には、オペレーテイングシステム
(OS)によつて、CPU3と、VU4のエリアを独
立に管理したとしても、100%の分離は困難であ
るが、それによる性能の低下は殆ど無視すること
ができる程度である。 However, in reality, even if the CPU3 and VU4 areas are managed independently by the operating system (OS), 100% separation is difficult, but the performance degradation caused by this can be almost ignored. This is the extent that it can be done.
次に、第3図によつて、本発明の一つの実施例
を説明する。 Next, one embodiment of the present invention will be described with reference to FIG.
前述したように、AポートにはVU4,Bポー
トにはVU4,CPU3,CHP5が接続されてい
るものとする。 As mentioned above, it is assumed that the VU4 is connected to the A port, and the VU4, CPU3, and CHP5 are connected to the B port.
通常、VU4はメモリアクセスの性能を向上さ
せる目的で、同一マシンサイクル内で複数個(本
例では2個)のメモリアクセスを、例えば、各バ
ンクに対して行う。然し、CPU3,CHP5につ
いては、基本的に逐次処理であるので、同一マシ
ンサイクル内では、高々1つのアクセスである。 Normally, the VU 4 performs multiple (two in this example) memory accesses, for example, to each bank, within the same machine cycle in order to improve memory access performance. However, since the CPU 3 and CHP 5 basically perform sequential processing, there is at most one access within the same machine cycle.
このような条件を元に、本実施例においては、
VU4をAポート、Bポートに接続しており、
CPU3,CHP5が同じポートに接続しているの
は、VU4については、1マシンサイクルで2個
のアクセスをする為に、Aポート、Bポートへ接
続し、CHP5,CPU3については、メモリに対
するプライオリテイの制御を1つのポート内で行
つて簡単にする為である。 Based on these conditions, in this example,
VU4 is connected to A port and B port,
The reason why CPU3 and CHP5 are connected to the same port is because VU4 accesses two items in one machine cycle, so it is connected to A port and B port, and CHP5 and CPU3 have priority for memory. This is to simplify the control by performing the control within one port.
先ず、CPU3がブロツクフエツチを行つた場
合のアドレスの登録動作について説明する。 First, the address registration operation when the CPU 3 performs a block fetch will be described.
この時、レジスタBFAR79にCPU3からの
ブロツクフエツチアドレスが保持される、と同時
にレジスタBBI1R,711へもセツトされる。
そして、Bポートの前段の回路(第1図のプライ
オリテイ回路)に対しては、例えば、1サイクル
間TAG2(7)への登録を禁止するINH信号を登録
制御回路91から送出して、次のTAG2(7)へのア
クセス要求を抑止し、上記BFAR79に保持さ
れている登録アドレスの登録動作を保証するよう
に動作する。 At this time, the block fetch address from the CPU 3 is held in the register BFAR79, and at the same time, it is also set in the register BBI1R,711.
Then, for example, the registration control circuit 91 sends an INH signal that prohibits registration to TAG2(7) for one cycle to the circuit in front of the B port (priority circuit in Figure 1), and then The access request to TAG2(7) is suppressed and the registration operation of the registered address held in the BFAR 79 is guaranteed.
次のサイクルにおいて、BBI2R721に上記ブ
ロツクフエツチアドレスがセツトされると共に、
BBI1R711の下位ビツト23〜15によつて、本
タグ部のウエイ0,1,701がアクセスされ、
それぞれレジスタBTRR0,731,BTRR1,
741に読み出しデータが出力される。 In the next cycle, the above block fetch address is set in BBI2R721, and
Ways 0, 1, and 701 of this tag part are accessed by lower bits 23 to 15 of BBI1R711,
Registers BTRR0, 731, BTRR1, respectively
Read data is output to 741.
このレジスタBTRR0,731,BTRR1,
741の内容(アドレス4〜14ビツト)とレジス
タBBI2R721のビツト4〜14とが、一致回路
C751で照合され、それぞれ一致出力M0,M
1を出力する。 This register BTRR0, 731, BTRR1,
The contents of address 741 (address 4 to 14 bits) and bits 4 to 14 of register BBI2R721 are compared in match circuit C751, and match outputs M0 and M are respectively output.
Outputs 1.
この出力M0,M1とバリツドビツトV0,V
1とがBポート制御部(B―CTL)761に送
出され、以下のような制御を行う。 These outputs M0, M1 and variable bits V0, V
1 is sent to the B-port control unit (B-CTL) 761, which performs the following control.
即ち、V0・V1=Vとし、M0+M1=Mとした
時、それぞれのV,Mの値に対するBポート制御
部(B―CTL)761の動作は次の通りとなる。 That is, when V0·V1=V and M0+M1=M, the operation of the B port control unit (B-CTL) 761 for each value of V and M is as follows.
ここで、V0,V1はTAG2(7)のウエイ0、ウ
エイ1に対するバリツドビツトである。 Here, V0 and V1 are valid bits for way 0 and way 1 of TAG2(7).
従つて、V0,V1=(0,0),(0,1),(1,
0)の場合には、CPU3でのブロツクフエツチ
によつて、TAG2(7)に該当アドレスを登録すると
き、該TAG2(7)に、“空き”があることを示して
いるので、該TAG2(7)においてリプレイスメント
を行う必要はない。 Therefore, V0, V1=(0,0),(0,1),(1,
0), when registering the corresponding address in TAG2(7) by block fetch in CPU3, it indicates that there is "vacancy" in TAG2(7). ) does not need to be replaced.
然し、V0,V1=(1,1)で、且つ登録アド
レスがTAG2(7)に登録されているアドレスと一致
しない場合にはリプレイスメントを行う必要があ
る。 However, if V0, V1 = (1, 1) and the registered address does not match the address registered in TAG2(7), it is necessary to perform replacement.
このことから、登録動作の制御には、2つのブ
ロツクのバリツドビツトが“オン”か、又は、そ
れ以外かの区別をする為の論理が必要である。即
ち、V=V1.V2の論理を持つVを使用する。 Therefore, to control the registration operation, logic is required to distinguish whether the valid bits of the two blocks are "on" or not. That is, V having the logic of V=V1.V2 is used.
これに対して、M0+M1=Mとする理由につい
て、次に説明する。 On the other hand, the reason for setting M0+M1=M will be explained next.
本実施例においては、TAG2(7)は2ウエイ構成
としており、ウエイ0、ウエイ1に対するアドレ
スマツチ信号をM0,M1としていて、各ウエイ
に対する登録は必ず異なるアドレスを登録するこ
とになるので、どちらか一方のウエイが一致した
と云う信号、即ち、M0+M1=Mの信号によつて
制御を行う為である。以下、それぞれのケースに
ついて、具体的な動作を説明する。 In this embodiment, TAG2(7) has a two-way configuration, and the address match signals for way 0 and way 1 are M0 and M1, and since registration for each way always involves registering a different address, which This is because control is performed using a signal indicating that one of the ways matches, that is, a signal of M0+M1=M. Below, specific operations will be explained for each case.
〔V,M=0,0の場合〕
バリツドビツトV0,V1=0のウエイ(但し、
V0=V1=0の時はウエイ0)にBFAR79に保
持されているアドレスを登録する。具体的には、
ウエイ0,1へのライトタイミングになると、
BFAR79の下位ビツト23〜15ビツトがセレク
タ821を通して、BBI1R711の下位のビツ
ト位置にセツトされ、その出力アドレスでウエイ
0,1がアクセスされ、BFAR79の上位ビツ
ト4〜14が登録されるように動作する。[When V, M = 0, 0] Way with variable bits V0, V1 = 0 (however,
When V0=V1=0, register the address held in BFAR79 in way 0). in particular,
When it comes to the write timing to way 0 and 1,
Lower bits 23 to 15 of BFAR79 are set to lower bit positions of BBI1R711 through selector 821, ways 0 and 1 are accessed at that output address, and upper bits 4 to 14 of BFAR79 are registered. .
第3図において、ウエイ0,701からウエイ
1,700へ至る矢印は、TAG2(7)の登録デー
タ、即ち、前述のBFAR79に保持されている
登録データ(バリツドビツト、アドレス4〜14ビ
ツト)の登録バスを示している。 In Fig. 3, the arrow leading from way 0,701 to way 1,700 is the registration data of TAG2(7), that is, the registration data (valid bits, address 4 to 14 bits) held in the BFAR79 mentioned above. Showing the bus.
〔V,M=0,1の場合〕
照合一致したウエイ(M=1のウエイ)に対し
て、BFAR79に保持されているアドレスをオ
ーバライトする。ライトの方法は上記と同じよう
にして行われる。[When V, M=0, 1] The address held in the BFAR 79 is overwritten for the matched way (way with M=1). The writing method is performed in the same manner as described above.
〔V,M=1,0の場合〕
このケースは、前述のように、TAG2(7)のウエ
イ0,1が登録済で、今登録しようとしているア
ドレスが登録済アドレスと一致しなかつたケース
に当たるので、最も古いウエイのアドレスを、セ
レクタ(SEL)78を通して、リプレイスメント
BIキユー772に追い出し、該追い出した後の
ウエイBFAR79に保持されている登録アドレ
スを、上記登録制御回路91の指示に基づいてラ
イトする。[When V, M = 1, 0] In this case, as mentioned above, ways 0 and 1 of TAG2(7) are already registered, and the address you are trying to register now does not match the registered address. Therefore, the address of the oldest way is sent through the selector (SEL) 78 to the replacement
The registered address held in the BI queue 772 and the way BFAR 79 after the expulsion is written based on the instruction from the registration control circuit 91.
〔V,M=1,1の場合〕
照合一致したウエイに対して、BFAR79に
保持されているアドレスをオーバライトする。ラ
イトの手順は上と同じである。[When V, M = 1, 1] Overwrite the address held in the BFAR 79 for the matched way. The light procedure is the same as above.
次に、VU4,CHP5からのストア動作の場合
について説明する。 Next, the case of store operation from VU4 and CHP5 will be explained.
この場合、AポートよりVU4がストアアクセ
スしたとして説明する。該Aポートについては、
登録動作はあり得ない。即ち、TAG2(7)に対する
登録動作は、前述のように、CPU3がブロツク
フエツチを行つたとき、TAG1(6)に登録するアド
レスと同じアドレスをTAG2(7)に登録するもので
あるが、該Aポートについては、VU4しか接続
されていないので、該Aポートからの登録動作は
あり得ないことになる。 In this case, the following description assumes that VU4 accesses the store from port A. Regarding the A port,
There can be no registration action. That is, the registration operation for TAG2(7) is to register the same address in TAG2(7) as the address registered in TAG1(6) when CPU3 performs a block fetch as described above. Regarding the port, since only VU4 is connected, a registration operation from the A port is impossible.
先ず、VU4からのストアアドレスはABI1R
710にセツトされ、その下位ビツト23〜15によ
つて、ウエイ0,1,700がアクセスされる。 First, the store address from VU4 is ABI1R
Ways 0, 1, and 700 are accessed by the lower bits 23-15.
次のサイクルにおいて、ABI2R720に上記
ストアアドレスがシフトされ、セツトされると共
に、ATRR0 730、ATRR1 740には、
ウエイ0,1,700の出力(アドレス4〜14ビ
ツト)がセツトされ、その出力データとABI2R
720の上位4〜14ビツトとが、一致回路C75
0で照合され、若し一致出力が得られると、ABI
2R720の内容が、Aポート制御部(A―
CTL)760の制御の基に、AポートBIキユー
770に入力されて、CPU3に対してBI要求が
行われる。 In the next cycle, the above store address is shifted and set to ABI2R 720, and ATRR0 730 and ATRR1 740 have
The output of ways 0, 1, 700 (address 4 to 14 bits) is set, and the output data and ABI2R
The upper 4 to 14 bits of 720 are the match circuit C75.
0 and if a matching output is obtained, the ABI
The contents of 2R720 are the A port control unit (A-
Under the control of CTL 760, the BI request is input to the A port BI queue 770 and sent to the CPU 3.
BポートからVU4、又はCHP5がストアアク
セスを行つた場合についても、全く同じように動
作して、RBI2R721の内容がBポートBIキ
ユー771に入力されて、CPU3に対してBI要
求が行われる。 When the VU 4 or CHP 5 performs store access from the B port, it operates in exactly the same way, the contents of the RBI2R 721 are input to the B port BI queue 771, and a BI request is made to the CPU 3.
然して、本発明においては、上記VU4等から
のストアアクセスにおいては、TAG2(7)のウエイ
0,1,700に登録されているBIアドレスは
消去(即ち、無効化)さらないように制御される
のである。 However, in the present invention, the BI address registered in ways 0, 1, 700 of TAG2(7) is controlled so as not to be erased (i.e., invalidated) during store access from the above-mentioned VU4 etc. It is.
若し、一致回路C750において、一致出力が
得られなかつた場合は、CPU3に対してBI要求
は行われず、ABI2R720にセツトされていた
ストアアドレスが消去されるのみである。 If a coincidence output is not obtained in the coincidence circuit C750, no BI request is made to the CPU 3, and the store address set in the ABI2R 720 is simply erased.
尚、AポートBIキユー770,BポートBIキ
ユー771,リプレイスメントBIキユー772
にキユーイングされたBIアドレスは、セレクタ
80を通してレジスタBIR810にセツトされ、
順次CPU3に送出されるように制御される。 In addition, A port BI queue 770, B port BI queue 771, replacement BI queue 772
The BI address queued in is set in register BIR810 through selector 80,
The data are controlled to be sent to the CPU 3 in sequence.
以上、詳細に説明してきたストア動作において
は、Aポート或いはBポート等から、主記憶装置
(MSU)1に対してストアアクセスが行われ、そ
のストアアドレスがTAG2(7)のポート別の各ウエ
イのいずれかに登録されているアドレスと一致回
路C750,751で照合され、一致出力が得ら
れた場合、CPU3に対してはBI要求を送出する
が、TAG2(7)内の各ウエイ700,701に登録
されている上記ストアアドレスを消去しない所に
特徴があつた。 In the store operation described in detail above, a store access is performed to the main storage unit (MSU) 1 from the A port or the B port, and the store address is assigned to each way for each port of TAG2 (7). The match circuit C750, 751 matches the address registered in either way, and if a match output is obtained, a BI request is sent to CPU3, but each way 700, 701 in TAG2(7) The unique feature is that it does not delete the store address registered in .
本発明の他の実施例を、同じ第3図によつて説
明する。 Another embodiment of the invention will be described with reference to the same FIG.
この他の実施例の特徴を要約すると、Aポー
ト、Bポート等より送出されてくるアドレスデー
タの、TAG2(7)をアクセスするタイミングにおけ
るバリツドビツト〔各ポート毎のストアアドレス
バリツド(SAV)、登録アドレスバリツド
(BFAV)がある〕が総てオフである場合に限
り、TAG2(7)内のそれぞれのウエイに登録されて
いる無効アドレスを消去しようとするものであ
る。 To summarize the features of other embodiments, the valid bits (store address valid (SAV) for each port, registration Only when all address valid addresses (BFAV) are off, invalid addresses registered in each way in TAG2(7) are deleted.
本発明を実施するのに必要なハードウエアが、
TAG2消去アドレスレジスタ811である。 The hardware necessary to carry out the invention is
This is the TAG2 erase address register 811.
AポートBIキユー770、BポートBIキユー
771へ入力されたBIアドレスには、Aポート
制御部(A―CTL)760から付加されるウエ
イ0,1を示すフラグと、ストアによるBIであ
るというフラグ(前述の、SAV)を持ち、セレ
クタ80を通つて、CPU3に送出されると同時
に、上記ストアによるBIであるというフラグ
(SAV)が“オン”の時には、上記TAG2の消去
アドレスレジスタ811にもセツトされ、次の
BIアドレスがCPU3に送出される迄、又は
TAG2(7)より消去される迄保持される。 The BI address input to the A port BI queue 770 and the B port BI queue 771 includes a flag indicating ways 0 and 1 added from the A port control unit (A-CTL) 760 and a flag indicating that the BI is a store-based BI. (aforementioned SAV) and is sent to the CPU 3 through the selector 80, and at the same time, when the flag (SAV) indicating that it is a BI due to the store is "on", it is also sent to the erase address register 811 of the TAG2. is set and the next
Until the BI address is sent to CPU3, or
It is retained until it is deleted from TAG2(7).
そして、Aポート、Bポート等からのストアア
ドレスバリツド(SAV)と、Bポートからの登
録アドレスバリツド(BFAV)が、TAG2(7)をア
クセスするタイミングにおいて、総てオフである
ことを検出手段(DET)90で認識すると、該
TAG2(7)にはアクセスがないことになるので、上
記TAG2消去アドレスレジスタ811の出力を、
セレクタ(SEL)820,821で選択して、
ABI1R710,BBI1R711にセツトする。 Then, it is detected that the store address valid (SAV) from A port, B port, etc. and the registered address valid (BFAV) from B port are all off at the timing of accessing TAG2(7). When recognized by means (DET) 90, the applicable
Since TAG2(7) will not be accessed, the output of the TAG2 erase address register 811 will be
Select with selectors (SEL) 820 and 821,
Set to ABI1R710 and BBI1R711.
そして、次のサイクルにおいてABI1R71
0,BBI1R711の下位ビツト23〜15をアドレ
スとして、それぞれのウエイをアクセスして、ウ
エイ0,1を示すフラグが示すウエイのバリツド
ビツト(V)をオフにし、該ウエイ0,1を示す
フラグが示すウエイの、該ストアアドレスの消去
を行うように制御する。 Then, in the next cycle, ABI1R71
Access each way using the lower bits 23 to 15 of 0, BBI1R711 as an address, turn off the valid bit (V) of the way indicated by the flag indicating way 0, 1, and turn off the valid bit (V) of the way indicated by the flag indicating way 0, 1. control to erase the store address of the way.
Aポート、Bポートから入力されるBIアドレ
スに対する複数のバリツド(即ち、Aポートから
のSAVと、BポートからのSAV,BFAV)が総
てオフでなければ、前記TAG2消去アドレスレジ
スタ811にセツトされているアドレスデータ
は、上記複数のバリツドがオフになる迄保持され
る。 If the multiple valid bits for the BI address input from the A port and the B port (that is, SAV from the A port, and SAV and BFAV from the B port) are not all off, the TAG2 erase address register 811 is set. The address data that is displayed is held until the plurality of validators are turned off.
上記保持している間に、TAG2消去アドレスレ
ジスタ811に対して、Aポート又はBポートか
ら、次のBIアドレスが送出されてくると、それ
まで保持していたアドレスを消去して、該送出さ
れてきた新しいBIアドレスを、該TAG2消去ア
ドレスレジスタ811にセツトするように制御さ
れる。 While the above is being held, if the next BI address is sent from port A or B to the TAG2 erase address register 811, the address held until then is erased and the next BI address is sent to the TAG2 erase address register 811. The new BI address that has been received is controlled to be set in the TAG2 erase address register 811.
従つて、この方式ではAポート、又はBポート
から送られてくるアドレスに対する複数の上記バ
リツドビツト(AポートからのSAVと、Bポー
トからのSAV,BFAV)が、TAG2(7)をアクセ
スするタイミングにおいてオフであるときには、
該TAG2(7)に対するアクセスがないと認識して、
該TAG2消去アドレスレジスタ811に保持され
ていたBIアドレスを消去するように制御される
ので、若し消去できなければTAG1(6)に存在しな
くて、TAG2(7)には残るという状態(即ち、無効
BI)となるが、前述のようにシステムの動作に
は全く支障はないし、前述のように、オペレイテ
イングシステム(OS)での管理方法によつては、
殆ど問題にならない程度となる。 Therefore, in this method, the multiple valid bits (SAV from A port, SAV, BFAV from B port) for the address sent from A port or B port are processed at the timing when TAG2(7) is accessed. When it's off,
Recognizing that there is no access to TAG2(7),
Since the BI address held in the TAG2 erase address register 811 is controlled to be erased, if it cannot be erased, it will not exist in TAG1(6) and will remain in TAG2(7) (i.e. ,invalid
BI), but as mentioned above, there is no problem at all with system operation, and as mentioned above, depending on the operating system (OS) management method,
It will hardly be a problem.
尚、リプレイスメントBIキユーからのBIアド
レスは、TAG2(7)での無効化処理には関係しない
アドレス(即ち、登録アドレス)であるので、
TAG2消去アドレスレジスタ811には設定され
ないように制御される。 Furthermore, since the BI address from the replacement BI queue is an address that is not related to the invalidation process in TAG2(7) (i.e., registered address),
It is controlled so that it is not set in the TAG2 erase address register 811.
(g) 発明の効果
以上、詳細に説明したように、本発明のバツフ
アメモリ一致制御方式は、主記憶装置MSUに対
して、ベクトルユニツトVUから同時にアクセス
するN個のアドレスポートを含むM個のアクセス
ポートと、中央処理装置CPUにバツフアメモリ
BSを有し、該バツフアメモリBSのタグ部とは別
に、該N個のアドレスポート対応に第2のタグ部
を有するデータ処理システムにおいて、該第2の
タグ部の登録容量を、バツフアメモリBSのタグ
部の登録容量より大きくしておき、上記各アドレ
スポートから主記憶装置に対してストアアクセス
が行われ、第2のタグ部において一致がとれた場
合には、バツフアメモリBSに対して該アドレス
に関する無効化処理を行い、一致しなかつた場合
には、上記バツフアメモリBSに上記ストアアド
レスを送出することなく、該第2のタグ部の登録
アドレスには、上記一致、不一致にかかわらず、
一切無効化処理を行わないか、或いは第2のタグ
部に対するアクセスがない時のみ、若干の消去回
路を付加して無効化処理を行うように制御される
ので、無効化アドレスを消去する為のハードウエ
アが削減できると共に、第2のタグ部から同じア
ドレスを1マシンサイクルで消去するのに、全ポ
ートからのメモリアクセスを停止させる必要がな
いと云う効果がある。(g) Effects of the Invention As explained above in detail, the buffer memory coincidence control method of the present invention allows M accesses, including N address ports, to be simultaneously accessed from the vector unit VU to the main storage unit MSU. Buffer memory for ports and central processing unit CPU
In a data processing system that has a BS and has a second tag section corresponding to the N address ports in addition to the tag section of the buffer memory BS, the registered capacity of the second tag section is set to the tag section of the buffer memory BS. If a store access is made to the main memory from each of the address ports mentioned above and a match is found in the second tag part, the address is invalidated to the buffer memory BS. If there is no match, the store address is not sent to the buffer memory BS, and the registered address of the second tag part is set to the address regardless of whether it matches or does not match.
Only when no invalidation processing is performed or when there is no access to the second tag part, a certain amount of erasing circuitry is added and the invalidation processing is controlled to be performed. This has the advantage that not only can hardware be reduced, but it is not necessary to stop memory access from all ports in order to erase the same address from the second tag part in one machine cycle.
第1図は本発明を適用したデータ処理システム
の構成例の概略をブロツク図で示した図、第2図
はバツフアメモリのタグ部と第2のタグ部との構
成例を示す図、第3図は本発明の一実施例と他の
実施例とを合わせてブロツク図で示した図、第4
図はTAG1とTAG2とのアドレスの構成例を示し
た図である。
図面において、1は主記憶装置(MSU)、2は
メモリ制御部、又は主記憶制御部(MCU)、3は
中央処理装置(CPU)、4はベクトルユニツト
(VU)、5はチヤネルプロセツサー(CHP)、6
はバツフアメモリのタグ部TAG1、7は第2のタ
グ部TAG2、700,701は第2のタグ部の各
ウエイ、750,751は一致回路C、770,
771,772はバツフアメモリ無効化アドレス
キユー、810は中央処理装置に対するバツフア
無効化アドレスレジスタ(BIR)、811は第2
のタグ部消去アドレスレジスタ、90は各ポート
からのストアアドレスバリツド(SAV)、中央処
理装置(CPU)からの登録アドレスバリツド
(BFAV)が“オフ”であることを検出する手段
(DET)、91は登録制御回路をそれぞれ示す。
FIG. 1 is a block diagram schematically showing an example of the configuration of a data processing system to which the present invention is applied, FIG. 2 is a diagram showing an example of the configuration of a tag unit of a buffer memory and a second tag unit, and FIG. 4 is a diagram showing one embodiment of the present invention and other embodiments together as a block diagram.
The figure shows an example of the structure of addresses for TAG1 and TAG2. In the drawings, 1 is a main storage unit (MSU), 2 is a memory control unit or main memory control unit (MCU), 3 is a central processing unit (CPU), 4 is a vector unit (VU), and 5 is a channel processor. (CHP), 6
is the tag part TAG1 of the buffer memory, 7 is the second tag part TAG2, 700, 701 are each way of the second tag part, 750, 751 are the matching circuits C, 770,
771 and 772 are buffer memory invalidation address queues, 810 is a buffer invalidation address register (BIR) for the central processing unit, and 811 is a second buffer memory invalidation address queue.
90 is a means (DET) for detecting that the store address valid (SAV) from each port and the registered address valid (BFAV) from the central processing unit (CPU) are "off". , 91 indicate registration control circuits, respectively.
Claims (1)
(MCU)と、ストアスルー方式のバツフアメモリ
(BS)を有する中央処理装置(CPU)と、1マ
シンサイクルにn個のメモリアクセスを行うベク
トルユニツト(VU)を含む複数個の他の処理装
置からなるデータ処理システムにおいて、 上記バツフアメモリ(BS)のタグ部と、少な
くとも同一の内容を保持する第2のタグ部を、上
記主記憶制御部(MCU)にn個設け、 該第2のタグ部の登録容量を上記バツフアメモ
リ(BS)のタグ部の登録容量より大きくして、 上記中央処理装置(CPU)が上記バツフアメ
モリ(BS)へデータをロードする際に、同一の
アドレスを該第2のタグ部へ登録する場合、該第
2のタグ部のウエイが全て登録済で、且つ該登録
済アドレスと登録アドレスが一致しなかつたとき
に、該第2のタグ部の最も古いアドレスを、上記
中央処理装置(CPU)のバツフアメモリBSへ送
出して、該中央処理装置(CPU)が該アドレス
の無効化処理を行うと同時に、該第2のタグ部に
おいても、上記ロードアドレスの登録処理を行う
ことによつて上記最も古いアドレスを消去するこ
とで、該第2のタグ部の無効化処理を行い、 上記他の処理装置が主記憶装置(MSU)に対
してストアアクセスを行う際に、上記主記憶装置
(MSU)と上記バツフアメモリ(BS)の内容を
一致させるのに、該ストアアドレスを該第2のタ
グ部で参照して、一致した場合には、上記バツフ
アメモリ(BS)へ送出して該バツフアメモリ
(BS)の無効化処理を行い、一致しなかつた場合
には、上記バツフアメモリ(BS)に該ストアア
ドレスを送出することなく、且つ、該第2のタグ
部の登録アドレスに対しては、上記一致、不一致
にかかわらず一切の無効化処理を行わないこと
で、他の処理装置からのメモリアクセスを停止さ
せないように制御することを特徴とするバツフア
メモリ一致制御方式。 2 主記憶装置(MSU)と、主記憶制御部
(MCU)と、ストアスルー方式のバツフアメモリ
(BS)を有する中央処理装置(CPU)と、1マ
シンサイクルにn個のメモリアクセスを行うベク
トルユニツト(VU)を含む複数個の他の処理装
置からなるデータ処理システムにおいて、 上記バツフアメモリ(BS)のタグ部と、少な
くとも同一の内容を保持する第2のタグ部を、上
記主記憶制御部(MCU)にn個設け、 該第2のタグ部の登録容量を上記バツフアメモ
リ(BS)のタグ部の登録容量より大きくして、 上記中央処理装置(CPU)が上記バツフアメ
モリ(BS)へデータをロードする際に、同一の
アドレスを該第2のタグ部へ登録する場合、該第
2のタグ部のウエイが全て登録済で、且つ該登録
済アドレスと登録アドレスが一致しなかつたとき
に、該第2のタグ部の最も古いアドレスを、上記
中央処理装置(CPU)のバツフアメモリ(BS)
へ送出して、該中央処理装置(CPU)が該アド
レスの無効化処理を行うと同時に、該第2のタグ
部においても、上記ロードアドレスの登録処理を
行うことによつて上記最も古いアドレスを消去す
ることで、該第2のタグ部の無効化処理を行い、 上記他の処理装置が主記憶装置(MSU)に対
してストアアクセスを行う際に、上記主記憶装置
(MSU)と上記バツフアメモリ(BS)の内容を
一致させるのに、上記他の処理装置が主記憶装置
(MSU)に対してストアアクセスを行い、該スト
アアドレスで第2のタグ部を参照して一致した場
合には、上記バツフアメモリに送出して該バツフ
アメモリ(BS)の無効化処理を行うと同時に、
該第2のタグ部に入力される全てのアドレスに対
するストアアドレスバリツド(SAV)と上記中
央処理装置(CPU)の登録アドレスバリツド
(BFAV)とが“オフ”であることを検出する検
出手段90が該ストアアドレスバリツド(SAV)
と該登録アドレスバリツド(BFAV)の両方が
オフであることを検出したときのみ、該第2のタ
グ部に対するアクセスが無いと認識して、上記ス
トアアドレスによつて、該第2のタグ部の無効化
処理を行い、該ストアアドレスで第2のタグ部を
参照して一致しなかつた場合には、上記バツフア
メモリBSに該ストアアドレスを送出せず、又該
第2のタグ部の登録アドレスに対しては、無効化
処理を行なわない様にすることで、他の処理装置
からのメモリアクセスを停止させないように制御
することを特徴とするバツフアメモリ一致制御方
式。[Claims] 1. A main storage unit (MSU), a main memory control unit (MCU), a central processing unit (CPU) having a store-through type buffer memory (BS), and n memories in one machine cycle. In a data processing system consisting of a plurality of other processing devices including a vector unit (VU) that performs access, a second tag section that holds at least the same content as the tag section of the buffer memory (BS) is used as the main tag section. The memory control unit (MCU) is provided with n pieces, the registered capacity of the second tag part is larger than the registered capacity of the tag part of the buffer memory (BS), and the central processing unit (CPU) is configured to control the buffer memory (BS). When loading data to, if the same address is registered in the second tag part, all the ways in the second tag part have been registered, and the registered address and the registered address do not match. Sometimes, the oldest address of the second tag part is sent to the buffer memory BS of the central processing unit (CPU), and at the same time as the central processing unit (CPU) invalidates the address, In the second tag unit, the oldest address is erased by performing the registration process of the load address, thereby invalidating the second tag unit, and the other processing device is When performing a store access to the storage device (MSU), the store address is referenced in the second tag section to match the contents of the main storage device (MSU) and the buffer memory (BS). , if they match, the store address is sent to the buffer memory (BS) and the buffer memory (BS) is invalidated; if they do not match, the store address is not sent to the buffer memory (BS). , and controls the registered address of the second tag part so as not to stop memory access from other processing devices by not performing any invalidation processing regardless of whether the address matches or does not match the above. A buffer memory coincidence control method characterized by the following. 2. A central processing unit (CPU) that has a main storage unit (MSU), a main memory control unit (MCU), a store-through type buffer memory (BS), and a vector unit (which performs n memory accesses in one machine cycle). In a data processing system consisting of a plurality of other processing units including a buffer memory (BS), a second tag unit holding at least the same content as the tag unit of the buffer memory (BS) is connected to the main memory control unit (MCU). n pieces are provided in the buffer memory (BS), and the registered capacity of the second tag part is made larger than the registered capacity of the tag part of the buffer memory (BS), so that when the central processing unit (CPU) loads data to the buffer memory (BS), When the same address is registered in the second tag part, when all the ways in the second tag part are registered and the registered address and the registered address do not match, the second tag part is registered. The oldest address of the tag part of the above central processing unit (CPU) buffer memory (BS)
At the same time, the central processing unit (CPU) invalidates the address and at the same time registers the load address in the second tag section, thereby deleting the oldest address. By erasing, the second tag part is invalidated, and when the other processing device performs store access to the main storage unit (MSU), the main storage unit (MSU) and the buffer memory In order to match the contents of (BS), the other processing device performs a store access to the main storage unit (MSU), references the second tag part with the store address, and if a match is found, At the same time as sending data to the buffer memory and invalidating the buffer memory (BS),
Detection means for detecting that the store address valid (SAV) and the registered address valid (BFAV) of the central processing unit (CPU) for all addresses input to the second tag section are "off". 90 is the store address valid (SAV)
Only when it detects that both BFAV and registered address valid (BFAV) are off, it recognizes that there is no access to the second tag section, and stores the second tag section using the store address. When the store address is invalidated by referring to the second tag part and there is no match, the store address is not sent to the buffer memory BS, and the registered address of the second tag part is not sent to the buffer memory BS. A buffer memory coincidence control method is characterized in that control is performed so as not to stop memory access from other processing devices by not performing invalidation processing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58172410A JPS6063650A (en) | 1983-09-19 | 1983-09-19 | Buffer memory coincidence control system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58172410A JPS6063650A (en) | 1983-09-19 | 1983-09-19 | Buffer memory coincidence control system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6063650A JPS6063650A (en) | 1985-04-12 |
| JPS6336536B2 true JPS6336536B2 (en) | 1988-07-20 |
Family
ID=15941436
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58172410A Granted JPS6063650A (en) | 1983-09-19 | 1983-09-19 | Buffer memory coincidence control system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6063650A (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3751642T2 (en) * | 1986-10-17 | 1996-09-05 | Amdahl Corp | Management of separate instruction and operand caches |
| JP2806930B2 (en) * | 1987-10-20 | 1998-09-30 | 富士通株式会社 | Main memory match control method |
-
1983
- 1983-09-19 JP JP58172410A patent/JPS6063650A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6063650A (en) | 1985-04-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4370710A (en) | Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses | |
| US5091851A (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
| US4747043A (en) | Multiprocessor cache coherence system | |
| US4484267A (en) | Cache sharing control in a multiprocessor | |
| US5095424A (en) | Computer system architecture implementing split instruction and operand cache line-pair-state management | |
| US5696937A (en) | Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses | |
| JPH0668735B2 (en) | Cache memory | |
| US5845324A (en) | Dual bus network cache controller system having rapid invalidation cycles and reduced latency for cache access | |
| US4680702A (en) | Merge control apparatus for a store into cache of a data processing system | |
| US5155828A (en) | Computing system with a cache memory and an additional look-aside cache memory | |
| JP2695017B2 (en) | Data transfer method | |
| EP0340668A2 (en) | Multi-processor system having a multi-port cache memory | |
| US5530835A (en) | Computer memory data merging technique for computers with write-back caches | |
| JPH0532775B2 (en) | ||
| US5361342A (en) | Tag control system in a hierarchical memory control system | |
| US6813694B2 (en) | Local invalidation buses for a highly scalable shared cache memory hierarchy | |
| US20020042860A1 (en) | Cache system | |
| CA1226959A (en) | Cache coherence system | |
| JP2685455B2 (en) | Data processing device | |
| JPS6336536B2 (en) | ||
| JP3733604B2 (en) | Cache memory | |
| US4737908A (en) | Buffer memory control system | |
| US6826655B2 (en) | Apparatus for imprecisely tracking cache line inclusivity of a higher level cache | |
| JPS60701B2 (en) | data processing equipment | |
| GB2037466A (en) | Computer with cache memory |