JPH0895862A - Data processing device using snoop cache - Google Patents

Data processing device using snoop cache

Info

Publication number
JPH0895862A
JPH0895862A JP6232771A JP23277194A JPH0895862A JP H0895862 A JPH0895862 A JP H0895862A JP 6232771 A JP6232771 A JP 6232771A JP 23277194 A JP23277194 A JP 23277194A JP H0895862 A JPH0895862 A JP H0895862A
Authority
JP
Japan
Prior art keywords
memory
data
local cache
shared
cache memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6232771A
Other languages
Japanese (ja)
Inventor
Tsunetaka Komachiya
常孝 小町谷
Hitoshi Tsunoda
仁 角田
Yoshifumi Takamoto
良史 高本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6232771A priority Critical patent/JPH0895862A/en
Publication of JPH0895862A publication Critical patent/JPH0895862A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】スヌープキャッシュを用いた共有バス型並列プ
ロセッサシステムにおいて、スヌープキャッシュに格納
されるデータの信頼性を高める。 【構成】SM通常領域220のデータをSCa21に格
納する場合、CDM1a25にのみ格納する。内容一致制御は
無効化型を用いる。SM高信頼化領域210のデータを
SCa21に格納する場合、CDM1a25 に格納すると同時
に、異なるスヌープキャッシュ、例えばSCb211のCDM2b2
17にも格納する。内容一致制御は更新型を用いる。 【効果】特に高い信頼性を必要とするデータを必ず異な
る二つ以上のスヌープキャッシュに格納でき、さらに更
新型の一致制御を用いることで、データの多重化が実現
され、故障発生時のデータ消失を防止できる。
(57) [Abstract] [Purpose] To improve the reliability of data stored in a snoop cache in a shared bus parallel processor system using a snoop cache. [Composition] When the data of the SM normal area 220 is stored in the SCa 21, it is stored only in the CDM 1a25. Invalidation type is used for content matching control. When the data of the SM high reliability area 210 is stored in the SCa21, it is stored in the CDM1a25 and at the same time, a different snoop cache, for example, the CDM2b2 of the SCb211.
Also stored in 17. Update control is used for content matching control. [Effect] Particularly, data that requires high reliability can be stored in two or more different snoop caches, and by using update-type concurrency control, data multiplexing is realized and data is lost when a failure occurs. Can be prevented.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はスヌープキャッシュを高
信頼化するための方法およびそれを用いたデータ処理装
置に係わり、とくにディスク制御装置のような高い信頼
性を必要とする制御装置に好適なスヌープキャッシュ高
信頼化方法およびデータ処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for making a snoop cache highly reliable and a data processor using the same, and is particularly suitable for a control device such as a disk control device which requires high reliability. The present invention relates to a snoop cache high reliability method and a data processing device.

【0002】[0002]

【従来の技術】現状のコンピュータシステムでは、ホス
トプロセッサ(以下CPUとする)が必要とするデ−タ
の大部分は2次記憶装置に格納される。CPUは必要に
応じて2次記憶装置に対してデ−タの読み書きを行う。
2次記憶装置の記録媒体として、一般に不揮発媒体が使
用される。代表的なものとして磁気ディスクドライブ
(以下ドライブとする),光ディスクドライブ等が挙げ
られる。これらのドライブはディスク制御装置(以下D
KCとする)を介してCPUに接続される。DKCはC
PUから転送されたコマンドの解析や、ドライブとCP
U間のデータ転送を行う。
2. Description of the Related Art In a current computer system, most of the data required by a host processor (hereinafter referred to as CPU) is stored in a secondary storage device. The CPU reads / writes data from / to the secondary storage device as needed.
A non-volatile medium is generally used as a recording medium of the secondary storage device. Typical examples include a magnetic disk drive (hereinafter referred to as a drive) and an optical disk drive. These drives are disk controllers (hereinafter D
KC) and is connected to the CPU. DKC is C
Analysis of commands transferred from PU, drive and CP
Transfer data between U.

【0003】DKCの一構成例として日立製作所製のH
−6581−C3型機を図29を用いて説明する。チャ
ネルデータ転送回路CDC15はCPUとDKC11内
のデータキャッシュ(DataCache)110間のデータ転送
を行い、ドライブデータ転送回路DDC113はDataCache110
とドライブ112間のデータ転送を行う。DataCache制
御回路CMC113は、DataCache へのデータ格納や、CPU
より読み書き要求のあったデータがDataCache 内に存在
するか/しないかの判定等の処理を行う。CDC15,
DDC113,CMC115はデータ転送用共通バスDBS17に接
続する。各CDC15,DDC113の起動・停止といったタ
イミング制御は、マイクロプロセッサMP16によって
行われる。DKC11は、I/O処理性能を向上させる
ために、複数のMP16から構成されている。各MP1
6はDKC11の構成情報や、I/O要求の処理状況等
の制御情報の読み書きを繰り返し行いながらI/O処理
を実行する。これらの制御情報は、各MP16から共有
される情報であり、不整合を生じさせないために、共有
メモリ制御回路SMC116を介して、単一の共有メモリSM19
内に格納される。各MP16とSMC116は制御用共
通バスCBS18 に接続しており、共有バス型並列プロセッ
サを構成する。DKC11では、単一のSM19に集中格納
された制御情報の読み書きを行うために、SM19,C
BS18へのアクセスが数多く発生し、性能ネックの要
因となる。
As an example of the configuration of the DKC, H manufactured by Hitachi
The -6581-C3 machine will be described with reference to FIG. The channel data transfer circuit CDC15 transfers data between the CPU and the data cache (DataCache) 110 in the DKC11, and the drive data transfer circuit DDC113 drives the DataCache110.
And data transfer between the drive 112 and the drive 112. The DataCache control circuit CMC113 stores data in DataCache and CPU
Performs processing such as determining whether the data for which a read / write request exists is present / absent in DataCache. CDC15,
The DDC113 and CMC115 are connected to the common bus DBS17 for data transfer. Timing control such as starting and stopping of each CDC 15 and DDC 113 is performed by the microprocessor MP16. The DKC 11 is composed of a plurality of MPs 16 in order to improve the I / O processing performance. Each MP1
Reference numeral 6 executes the I / O processing while repeatedly reading and writing the configuration information of the DKC 11 and the control information such as the processing status of the I / O request. These pieces of control information are information shared by each MP 16, and in order to prevent inconsistency, a single shared memory SM19 is provided via the shared memory control circuit SMC116.
It is stored in. Each MP16 and SMC116 are connected to a control common bus CBS18 and form a shared bus type parallel processor. In the DKC 11, in order to read and write control information centrally stored in a single SM 19, SM 19 and C
Many access to the BS 18 occurs, which causes a performance bottleneck.

【0004】DKC11の様な共有バス型並列プロセッ
サシステムにおいて、共有メモリ,共有バスアクセスに
起因する性能ネックを解決するための、次の様な方法が
知られている。各MP16毎にローカルキャッシュメモ
リを設け、そこにSM19内の制御情報のコピーを分散
格納することで、SM19,CBS18へのアクセス回
数を軽減する方法である。各ローカルキャッシュメモリ
内の制御情報のコピーの内容一致制御を行う技術とし
て、スヌープキャッシュと呼ぶ技術がある。
In a shared bus type parallel processor system such as the DKC 11, the following method is known for solving the performance bottleneck caused by the shared memory and shared bus access. This is a method in which a local cache memory is provided for each MP 16 and a copy of the control information in the SM 19 is distributed and stored therein to reduce the number of accesses to the SM 19 and CBS 18. There is a technique called a snoop cache as a technique for performing the content matching control of the copy of the control information in each local cache memory.

【0005】スヌープキャッシュの詳細を記述した文献
として、鈴木則久他:共有記憶型並列システムの実際、
コロナ社,1993,ヘネシー他(J.L.Hennessy&D.A.
Patterson)著、富田眞治他訳:コンピュータアーキ
テクチャ,日経BP社,1992などが挙げられる。これら
の文献によれば、スヌープキャッシュの一致制御法には
無効化型と更新型がある。無効化型では、あるMP16
が制御情報の書き換えを行った場合、他のローカルキャ
ッシュメモリ内の同一の制御情報を無効化する。無効化
型は、制御情報の書き換え直後に、ローカルキャッシュ
のいずれか一つに最新データが存在する方式である。一
方更新型では、他のローカルキャッシュメモリ内の同一
の制御情報も一緒に書き換える。更新型は、制御情報の
書き換え直後に、複数のローカルキャッシュに最新デー
タが存在する可能性のある方式である。
As a document describing the details of the snoop cache, Norihisa Suzuki et al .: A shared memory type parallel system,
Corona, 1993, Hennessy et al. (JL Hennessy & D.A.
Patterson), Shinji Tomita et al .: Computer Architecture, Nikkei BP, 1992, etc. According to these documents, there are an invalidation type and an update type in the matching control method of the snoop cache. In invalidation type, there is MP16
When the control information is rewritten by, the same control information in other local cache memory is invalidated. The invalidation type is a method in which the latest data exists in any one of the local caches immediately after the control information is rewritten. On the other hand, in the update type, the same control information in other local cache memories is rewritten together. The update type is a method in which the latest data may exist in a plurality of local caches immediately after rewriting the control information.

【0006】以下、DKC11の各MP16にローカル
キャッシュメモリを設け、一致制御法として無効化型あ
るいは更新型を適用した際の、CBS18へのアクセス
回数軽減の度合いを、その一致制御法の性能と見なす。
すなわちCBS18へのアクセス回数をより減らすこと
のできる一致制御法がより性能が高い一致制御法であ
る。無効化型・更新型の性能の優劣は、「各MP16が
どの制御情報にどの様な順番でアクセスするか」という
アクセスパターンに依存する。複数のMP16が同一の
制御情報に繰り返しアクセスする場合、各ローカルキャ
ッシュメモリ内に同一の制御情報が残る更新型の性能が
より高い。しかし一つのMP16が同一の制御情報に繰
り返しアクセスする場合、不要な更新処理を必要としな
い無効化型の性能がより高い。アクセスパターンに応じ
て、MP16毎に、より高い性能を得ることのできる一
致制御法に切り替える方法が特公平6−1463 号に記載さ
れている。
Hereinafter, the degree of reduction in the number of accesses to the CBS 18 when the local cache memory is provided in each MP 16 of the DKC 11 and the invalidation type or the update type is applied as the matching control method is regarded as the performance of the matching control method. .
That is, the coincidence control method capable of further reducing the number of accesses to the CBS 18 is the coincidence control method having higher performance. The superiority or inferiority of the invalidation-type / update-type performance depends on the access pattern “which MP16 accesses which control information and in what order”. When a plurality of MPs 16 repeatedly access the same control information, the update type performance in which the same control information remains in each local cache memory is higher. However, when one MP 16 repeatedly accesses the same control information, the invalidation type performance that does not require unnecessary update processing is higher. Japanese Patent Publication No. 6-1463 describes a method of switching to a congruent control method that can obtain higher performance for each MP 16 according to an access pattern.

【0007】[0007]

【発明が解決しようとする課題】DKC11では、高信
頼な制御を行う必要から、SM19は二重化・不揮発化
により高信頼化されている。DKC11に対し、特公平
6−1463号 に記載されている様な従来のスヌープキャッ
シュ技術を適用した場合、DKC11の信頼性が低下す
る問題がある。この理由は、更新型・無効化型いずれの
場合でも、制御情報が一つのローカルキャッシュメモリ
上にのみ、単独で存在する状態が発生し得るからであ
る。この状態でローカルキャッシュメモリの故障あるい
は電源遮断が起きると、単独で存在する制御情報は消失
し、制御の続行が不可能となる。これは高信頼な制御を
必要とするDKC11にとって好ましくない。特に無効
化型では、書き換え時に他を無効にするので、単独で存
在するケースが更新型の場合より多くなり、信頼性の低
下を招き易い。
In the DKC 11, since it is necessary to perform highly reliable control, the SM 19 is made highly reliable by duplication / nonvolatization. Special fairness over DKC11
When the conventional snoop cache technology as described in 6-1463 is applied, there is a problem that the reliability of the DKC 11 is lowered. The reason for this is that in both the update type and the invalidation type, a state in which the control information exists independently in one local cache memory may occur. If the local cache memory fails or power is cut off in this state, the control information that exists independently is lost and control cannot be continued. This is not preferable for the DKC 11 that requires highly reliable control. In particular, the invalidation type invalidates the others at the time of rewriting, so the number of cases that exist independently is greater than in the case of the update type, and the reliability is likely to deteriorate.

【0008】[0008]

【課題を解決するための手段】本発明においては、制御
情報のコピーをローカルキャッシュメモリ上に置く場
合、さほど信頼性を必要としない制御情報は無効化型の
一致制御法を用いる。また特に高い信頼性を必要とする
制御情報は更新型の一致制御法を用いる。さらに更新型
の場合、必ず二箇所以上のローカルキャッシュメモリ上
に制御情報のコピーが存在することを保証する。あるい
はローカルキャッシュメモリ上に置かれた全ての制御情
報のコピーに対して更新型の一致制御を用い、さらに必
ず二箇所以上のローカルキャッシュメモリ上に制御情報
のコピーが存在することを保証する。
In the present invention, when a copy of control information is placed in the local cache memory, the invalidity-based coincidence control method is used for control information that does not require so much reliability. The update-type congruence control method is used for control information that requires particularly high reliability. Further, in the case of the update type, it is guaranteed that there are copies of the control information in two or more local cache memories. Alternatively, the update-type matching control is used for all copies of the control information placed in the local cache memory, and it is guaranteed that the control information copies always exist in two or more local cache memories.

【0009】[0009]

【作用】高い信頼性を必要とする制御情報に対し、更新
型の一致制御法を用い、さらに必ず二箇所以上のローカ
ルキャッシュメモリ上に存在させることで、制御情報の
多重化を実現できる。この結果、ローカルキャッシュメ
モリの故障や電源遮断等による制御情報の消失を防ぎ、
制御情報を高信頼化できる。
The control information can be multiplexed by using the update-type coincidence control method for control information that requires high reliability and by making the control information always exist in two or more local cache memories. As a result, the loss of control information due to a failure of the local cache memory, power interruption, etc. is prevented,
The control information can be made highly reliable.

【0010】[0010]

【実施例】以下、図面を用い本発明によるスヌープキャ
ッシュ高信頼化方法およびそれを用いたデータ処理装置
について詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A snoop cache high reliability method and a data processing apparatus using the same according to the present invention will be described in detail below with reference to the drawings.

【0011】最初に、本実施例の特徴を図30を用いて
説明する。本実施例の第一の特徴として、高い信頼性を
必要とする制御情報をスヌープキャッシュに格納する場
合、更新型の一致制御を用いる。また、さほど信頼性を
必要としない制御情報をスヌープキャッシュに格納する
場合、無効化型の一致制御を用いる。
First, the features of this embodiment will be described with reference to FIG. As a first feature of this embodiment, when storing control information that requires high reliability in the snoop cache, update-type matching control is used. Further, when storing control information that does not require so much reliability in the snoop cache, invalidation-type matching control is used.

【0012】無効化型の一致制御では、制御情報の変更
発生時に他のスヌープキャッシュ上の同一制御情報を無
効にする。一方、更新型の一致制御では、制御情報の変
更発生時に他のスヌープキャッシュ上の同一制御情報も
変更する。このため更新型の一致制御を用いると、複数
のスヌープキャッシュ上に同一制御情報が複数存在する
可能性が、無効化型の一致制御よりも高くなる。この結
果、制御情報の信頼性を高める効果を生む。
In the invalidation-type coincidence control, the same control information on another snoop cache is invalidated when the control information is changed. On the other hand, in the update-type matching control, when the control information is changed, the same control information on another snoop cache is also changed. For this reason, when the update-type matching control is used, the possibility that the same control information exists in plural snoop caches is higher than that in the invalidation-type matching control. As a result, the effect of increasing the reliability of the control information is produced.

【0013】第一の特徴の実現方法について以下に簡単
にまとめる。マイクロプロセッサ1617または161
8から制御情報への変更要求が発生すると、スヌープキ
ャッシュ1615または1616は、変更要求のあった
アドレスをチェックする。そのアドレスが共有メモリ1
603の高信頼化領域1604に属していれば、スヌー
プキャッシュ1615,1616は更新型の一致制御を
行う。一方そのアドレスが通常領域1605に属してい
れば、無効化型の一致制御を行う。
A method of realizing the first feature will be briefly summarized below. Microprocessor 1617 or 161
When a change request for control information from 8 is generated, the snoop cache 1615 or 1616 checks the address of the change request. The address is shared memory 1
If it belongs to the high-reliability area 1604 of 603, the snoop caches 1615 and 1616 perform update-type coincidence control. On the other hand, if the address belongs to the normal area 1605, invalidation-type matching control is performed.

【0014】本実施例の第二の特徴は、上記の更新型の
一致制御において、必ず二箇所以上のスヌープキャッシ
ュ上に同一制御情報が存在させることである。従来の更
新型では、共有メモリへの書き戻し等により、制御情報
が一つのスヌープキャッシュにのみ存在する場合が発生
し、制御情報の信頼性の低下を招く。そこで必ず二箇所
以上のスヌープキャッシュに同一制御情報を存在させる
ことで多重化を保証する。この結果、制御情報の信頼性
を従来の更新型を用いた場合よりさらに高める効果を生
む。
The second feature of this embodiment is that the same control information is always present in two or more snoop caches in the above update type coincidence control. In the conventional update type, the control information may exist only in one snoop cache due to the writing back to the shared memory or the like, and the reliability of the control information decreases. Therefore, the same control information always exists in two or more snoop caches to guarantee multiplexing. As a result, there is an effect that the reliability of the control information is further enhanced as compared with the conventional update type.

【0015】第二の特徴の実現方法について以下に簡単
にまとめる。スヌープキャッシュ1615および161
6のメモリを二重化する。以下それぞれをメモリa161
2,1611,メモリb1613,1610と呼ぶ。ス
ヌープキャッシュa1615のメモリa1612の対1
614として、異なるスヌープキャッシュB1616の
メモリb1610をあらかじめ定めておく。スヌープキ
ャッシュA1615のメモリa1612において、高信
頼化領域1604の制御情報の格納や一致制御等の処理
を行うと、必ずメモリb1610においても、同様の処
理を行い同一制御情報の多重化を実現する。そのため
に、スヌープキャッシュIDと呼ぶ各スヌープキャッシ
ュに固有な識別番号を用いる。メモリa1612のスヌ
ープキャッシュA1615において、高信頼化領域16
04の制御情報の処理を行う際、共有バス1606にメ
モリb1610のスヌープキャッシュID値=2を送出
する(1601)。メモリb1610のスヌープキャッ
シュB1616は共有バス1606に送出された自分の
IDより、対1614であることを確認し(1602)、ス
ヌープキャッシュA1615と同様の処理を行う。この
処理により、制御情報の多重化が可能である。
A method of realizing the second feature will be briefly summarized below. Snoop cache 1615 and 161
The memory of 6 is duplicated. Memory a161
2, 1611 and memory b 1613, 1610. Pair 1 of memory a1612 of snoop cache a1615
A memory b1610 of a different snoop cache B1616 is predetermined as 614. When the memory a1612 of the snoop cache A1615 performs processing such as storage of control information in the high-reliability region 1604 and coincidence control, the same processing is always performed in the memory b1610 to realize multiplexing of the same control information. For that purpose, an identification number unique to each snoop cache called a snoop cache ID is used. In the snoop cache A1615 of the memory a1612, the high reliability area 16
When the control information 04 is processed, the snoop cache ID value = 2 of the memory b1610 is sent to the shared bus 1606 (1601). The snoop cache B1616 of the memory b1610 confirms that it is a pair 1614 from its own ID sent to the shared bus 1606 (1602), and performs the same processing as the snoop cache A1615. By this processing, control information can be multiplexed.

【0016】以下、本発明における実施例1の詳細を説
明する。
The details of the first embodiment of the present invention will be described below.

【0017】図2に、本発明における実施例1の構成図
を示す。DKC11は実際にCPUとドライブ112間
でデータ転送を行うデータ転送系と、このデータ転送を
制御する制御系で構成される。
FIG. 2 shows a block diagram of the first embodiment of the present invention. The DKC 11 is composed of a data transfer system that actually transfers data between the CPU and the drive 112, and a control system that controls this data transfer.

【0018】最初に、チャネルデータ制御回路CDC1
5が行うCPUとDKC11間のデータ転送について説
明する。チャネルパス13はCPUとDKC11内の二
つのチャネルスイッチ回路CSC14を接続する。CS
C14は4本以上のチャネルパス13の中から、最大4
本を選択する回路である。二つのCSC14には4個ず
つ合計8個のCDC15が接続される。CDC15はデ
ータ転送用共通バスDBS17に接続される。DBS1
7にはDataCache 制御回路CMC115も接続される。CPU
から転送されたデータはチャネルパス13,CSC1
4,CDC15,DBS17,CMC115を経由してDataCa
che110に格納される。また、DataCache110からCPUに
データを転送する場合は、逆にCMC115,DBS17,C
DC15,CSC14,チャネルパス13を経由する。
First, the channel data control circuit CDC1
The data transfer between the CPU and the DKC 11 performed by 5 will be described. The channel path 13 connects the CPU and the two channel switch circuits CSC14 in the DKC 11. CS
C14 has a maximum of 4 out of 4 or more channel paths 13.
This is a circuit for selecting a book. A total of eight CDCs 15 are connected to each of the two CSCs 14. The CDC 15 is connected to the data transfer common bus DBS17. DBS1
A DataCache control circuit CMC115 is also connected to 7. CPU
The data transferred from the channel path 13, CSC1
4, DataDC via CDC15, DBS17, CMC115
Stored in che110. When transferring data from DataCache110 to CPU, conversely, CMC115, DBS17, C
It passes through DC15, CSC14, and channel path 13.

【0019】次に、ドライブデータ制御回路DDC113が行
うDKC11とドライブ112間のデータ転送について
説明する。DBS17にはCDC15,DataCache110以
外にも4個のDDC113が接続される。ドライブ112から
転送されたデータはドライブパス114,DDC113,DB
S17,CMC115を経由してDataCache110に格納される。
また、DataCache110からドライブ112にデータを格納
する場合は、逆にCMC115,DBS17,DDC113,ドライ
ブパス114を経由する。
Next, the data transfer between the DKC 11 and the drive 112 performed by the drive data control circuit DDC113 will be described. In addition to the CDC 15 and the DataCache 110, four DDCs 113 are connected to the DBS 17. The data transferred from the drive 112 is the drive path 114, DDC113, DB
It is stored in the DataCache 110 via S17 and CMC115.
When data is stored in the drive 112 from the DataCache 110, it goes through the CMC 115, DBS 17, DDC 113, and drive path 114.

【0020】次に、上記のデータ転送を制御する制御系
について説明する。DKC11には12個のマイクロプ
ロセッサMP16がある。MP16はそれぞれ制御を担
当するCDC15,DDC113が決まっている。各MP16
はスヌープキャッシュメモリSC111を介して制御用
共通バスCBS18に接続される。CBS18には共有
メモリ制御回路SMC116も接続される。
Next, a control system for controlling the above data transfer will be described. The DKC 11 has 12 microprocessors MP16. For the MP16, the CDC 15 and the DDC 113 that are in charge of control are determined. Each MP16
Is connected to the control common bus CBS18 via the snoop cache memory SC111. A shared memory control circuit SMC116 is also connected to the CBS18.

【0021】CPUとDataCache110間のデータ転送制御
について説明する。CDC15の制御を担当するMP1
6はSM19あるいはSC111に格納された制御情報
にアクセスする。この結果に基づきCPUとDataCache1
10間のデータ転送を制御する。以下にこの詳細を説明す
る。
Data transfer control between the CPU and the DataCache 110 will be described. MP1 in charge of controlling CDC15
6 accesses the control information stored in SM 19 or SC 111. Based on this result, CPU and DataCache1
Controls data transfer between 10 The details will be described below.

【0022】DKC11内のCDC15の制御を担当す
るMP16に対し、CPUからデータ転送要求が送られ
る。要求を受けたMP16はDataCache110の使用状態を
記録する制御情報を読み出す。その結果DataCache110が
使用可能ならば、使用状態を表す制御情報を使用中に書
き換える。この後、MP16はCPUとCDC15に対
しデータ転送を許可する。そして前記のデータ転送系で
説明した経路を通って、CPUとDataCache110間のデー
タ転送が行われる。データ転送が終了すると、MP16
はDataCache110の使用状態を記録する制御情報を使用可
能に書き換える。
A data transfer request is sent from the CPU to the MP 16 which controls the CDC 15 in the DKC 11. The MP 16 that has received the request reads the control information that records the usage state of the DataCache 110. As a result, if the DataCache 110 is usable, the control information indicating the usage state is rewritten to “in use”. After that, the MP 16 permits the CPU and the CDC 15 to transfer data. Then, the data transfer between the CPU and the DataCache 110 is performed through the route described in the data transfer system. When data transfer is completed, MP16
Rewrites the control information that records the usage status of the DataCache 110 so that it can be used.

【0023】DataCache110とドライブ112間のデータ
転送制御について説明する。DataCache110とドライブ1
12間のデータ転送が行われる場合、CDC15の制御
を担当するMP16からDDC113の制御を担当するMP1
6に制御権が移行する。DDC113の制御を担当するMP1
6はSM19あるいはSC111に格納された制御情報
にアクセスする。この結果に基づきDataCache110とドラ
イブ112間のデータ転送を制御する。
Data transfer control between the Data Cache 110 and the drive 112 will be described. DataCache110 and drive 1
When data transfer between 12 is performed, MP16 in charge of control of CDC15 to MP1 in charge of control of DDC113
The control right is transferred to 6. MP1 that controls DDC113
6 accesses the control information stored in SM 19 or SC 111. Based on this result, the data transfer between the DataCache 110 and the drive 112 is controlled.

【0024】以下にこの詳細を説明する。制御権を受け
取ったMP16はドライブ112の使用状態を記録する
制御情報を読み出す。その結果ドライブ112が使用可
能ならば、使用状態を表す制御情報を使用中に書き換え
る。この後、MP16はDDC113に対しデータ転送を許可
する。そして前記のデータ転送系で説明した経路を通っ
て、DataCache110とドライブ112間でデータ転送が行
なわれる。データ転送が終了すると、MP16はドライ
ブ112の使用状態を記録する制御情報を使用可能に書
き換える。
The details will be described below. The MP 16 that has received the control right reads the control information that records the usage status of the drive 112. As a result, if the drive 112 is usable, the control information indicating the use state is rewritten to “in use”. After that, the MP 16 permits the DDC 113 to transfer data. Then, the data transfer is performed between the DataCache 110 and the drive 112 through the route described in the data transfer system. When the data transfer is completed, the MP 16 rewrites the control information for recording the usage status of the drive 112 to be usable.

【0025】図1にDKC11の制御系の詳細を示す。
SCa21,SCb211 は図2のスヌープキャッシュSC111
に対応し、MPa22,MPb212は図2のマイクロプロセ
ッサMP16に対応する。SM19はSM高信頼化領域
210とSM通常領域220に分けられる。制御情報の
中で特に高い信頼性を必要とする制御情報はSM高信頼
化領域210に格納し、さほど信頼性を必要としない制
御情報はSM通常領域220に格納する。
FIG. 1 shows the details of the control system of the DKC 11.
SCa21 and SCb211 are the snoop caches SC111 of FIG.
2, and MPa22 and MPb212 correspond to the microprocessor MP16 of FIG. The SM 19 is divided into an SM high reliability area 210 and an SM normal area 220. Among the control information, the control information that requires particularly high reliability is stored in the SM high reliability area 210, and the control information that does not require much reliability is stored in the SM normal area 220.

【0026】SCa21の詳細な構成を以下に説明す
る。SCb211はSCa21と同様の構成なので説明
は省略する。SCa21は、スヌープキャッシュコント
ローラSCCa23,二つのキャッシュタグメモリCTM1a24とC
TM2a26,制御情報のコピーを格納する二つのキャッシュ
データメモリCDM1a25とCDM2a27,アドレスチェッカーA
Ca28,スヌープキャッシュIDレジスタSCIDRa29
から構成される。 SCCa23にはCBS18,CTM1a2
4,CTM2a26,CDM1a25,CDM2a27,ACa28,SCIDRa2
9,MPa22が接続する。ACa28,SCIDRa29はM
Pa22にも接続する。
The detailed structure of the SCa 21 will be described below. Since the SCb211 has the same configuration as the SCa21, its description is omitted. SCa21 is a snoop cache controller SCCa23, two cache tag memories CTM1a24 and C
TM2a26, two cache data memories CDM1a25 and CDM2a27 for storing a copy of control information, address checker A
Ca28, snoop cache ID register SCIDRa29
Composed of. SCCa23 has CBS18, CTM1a2
4, CTM2a26, CDM1a25, CDM2a27, ACa28, SCIDRa2
9, MPa22 is connected. ACa28 and SCIDRa29 are M
Also connected to Pa22.

【0027】SM高信頼化領域210内の制御情報のコ
ピーをSCa21に格納する場合、 CDM1a25 内に格納す
る他に、必ず異なるSCのCDM2内にも格納する。例
えばSCb211のCDM2b217に格納する。
When a copy of the control information in the SM high reliability area 210 is stored in the SCa21, it is always stored in the CDM2 of a different SC in addition to being stored in the CDM1a25. For example, it is stored in CDM2b217 of SCb211.

【0028】次にACa28の動作を説明する。ACa
28はMPa22 から制御情報のアクセス要求が発生した場
合、アクセス要求のあった制御情報のアドレスを取得す
る。そして取得したアドレスが、SM高信頼化領域21
0のアドレスか、SM通常領域220のアドレスかを調
べ、その結果をSCCa23に知らせる。
Next, the operation of ACa 28 will be described. ACa
When an access request for control information is issued from the MPa 28, 28 acquires the address of the control information for which the access request has been made. The acquired address is the SM high reliability area 21.
Whether the address is 0 or the address of the SM normal area 220 is checked, and the result is notified to SCCa23.

【0029】図3にCTM1a24,CDM1a25,CTM2a26,CDM2a
27,CTM1b214,CDM1b215,CTM2b216,CDM2b217の詳細を
示す。
In FIG. 3, CTM1a24, CDM1a25, CTM2a26, CDM2a
Details of 27, CTM1b214, CDM1b215, CTM2b216, and CDM2b217 are shown.

【0030】最初にCDM1a25の詳細な構成を説明する。C
DM2a27,CDM1b215,CDM2b217はCDM1a25と同様な構成な
ので説明を省略する。CDM1a25は一つ以上のキャッシュ
データブロック35から成る。キャッシュデータブロッ
クは1bit以上の長さを持ち、そこに制御情報のコピ
ーが格納される。
First, the detailed configuration of the CDM 1a25 will be described. C
The DM2a27, CDM1b215, and CDM2b217 have the same configuration as the CDM1a25, and thus the description thereof is omitted. The CDM 1a25 is composed of one or more cache data blocks 35. The cache data block has a length of 1 bit or more, and a copy of the control information is stored therein.

【0031】次にCTM1a24の詳細な構成を説明する。CTM
2a26,CTM1b214,CTM2b216はCTM1a24と同様な構成なの
で説明を省略する。CTM1a24は一つ以上のキャッシュタ
グレコードから成る。CTM1a24の一つのキャッシュタグ
レコードが、CDM1a25の一つのキャッシュデータブロッ
ク35に対応する。キャッシュタグレコードは1bit
の有効フラグ31,1bitの共有フラグ32,1bi
tのオーナーフラグ33,長さ1bit以上のアドレス
タグ34から成る。
Next, the detailed configuration of the CTM 1a24 will be described. CTM
The 2a26, CTM1b214, and CTM2b216 have the same configurations as the CTM1a24, and therefore their explanations are omitted. CTM1a24 consists of one or more cache tag records. One cache tag record of CTM1a24 corresponds to one cache data block 35 of CDM1a25. 1-bit cache tag record
Valid flag 31, 1-bit shared flag 32, 1bi
An owner flag 33 of t and an address tag 34 having a length of 1 bit or more.

【0032】以下にキャッシュタグレコードの各要素の
意味について説明する。有効フラグ31がOnの時、対
応するキャッシュデータブロック35に正しい制御情報
のコピーが存在していることを意味する。有効フラグ3
1がOffの時、対応するキャッシュデータブロック3
5が未使用であることを意味する。共有フラグ32がO
nの時、対応するキャッシュデータブロック35にある
制御情報のコピーと同じものが、CDM1a25 以外のキャッ
シュデータメモリ内に存在していることを意味する。共
有フラグ32がOffの時、対応するキャッシュデータ
ブロック35にある制御情報のコピーと同じものは、CD
M1a25 以外のキャッシュデータメモリ内に存在していな
いことを意味する。オーナーフラグ33がOnの時、対
応するキャッシュデータブロック35にはSM19に書
き戻しが必要な最新の制御情報が格納されていることを
意味する。障害が発生した場合や、キャッシュデータブ
ロックの置き換えが必要な場合に、キャッシュデータブ
ロックの書き戻しが必ず必要になる。オーナーフラグ3
3がOffの時、キャッシュデータブロック35に格納
されている制御情報はSM19に書き戻す必要がないこ
とを意味する。アドレスタグ34には対応するキャッシ
ュデータブロック35に格納された制御情報のコピーの
SM19内におけるアドレスが格納される。
The meaning of each element of the cache tag record will be described below. When the valid flag 31 is On, it means that a correct copy of the control information exists in the corresponding cache data block 35. Valid flag 3
When 1 is Off, the corresponding cache data block 3
5 means unused. Share flag 32 is O
When n, it means that the same copy of the control information in the corresponding cache data block 35 exists in the cache data memory other than the CDM1a25. When the shared flag 32 is Off, the same copy of the control information in the corresponding cache data block 35 is the CD
It does not exist in the cache data memory other than M1a25. When the owner flag 33 is On, it means that the corresponding cache data block 35 stores the latest control information that needs to be written back to the SM 19. When a failure occurs or when the cache data block needs to be replaced, the cache data block must be written back. Owner flag 3
When 3 is Off, it means that the control information stored in the cache data block 35 need not be written back to the SM 19. The address in the SM 19 of the copy of the control information stored in the corresponding cache data block 35 is stored in the address tag 34.

【0033】図4にSCIDRa29,SCIDRb219 の詳細を示
す。以下にSCIDRa29の詳細な構成を説明する。SCIDRb21
9はSCIDRa29と同様な構成なので説明を省略する。SCIDR
a29 には二つのスヌープキャッシュ識別番号SCID321 ,
322と障害発生状況を示す二つの1bitのフラグ3
23,324を保存する。SCIDはDKC11 内に存在す
る各スヌープキャッシュに固有な識別番号である。自SC
ID321はSCa21自身のSCIDである。相手SCID322 は、SM
高信頼化領域210の制御情報のコピーを対である別の
SCのCDM2に格納する場合の、対をなすスヌープキ
ャッシュのSCIDである。第1の障害発生フラグ323が
Onの時、CDM1a25 内の制御情報のコピーを対である別
のSCのCDM2に格納する場合の、対をなすSCに障
害が発生していることを意味する。第2の障害発生フラ
グ324がOnの時、CDM2a27 内の制御情報のコピーを
対である別のSCのCDM1に格納する場合の、対をな
すSCに障害が発生していることを意味する。障害発生
フラグ323と324はMPa22によってソフトウェ
ア的にセット・リセットされるか、障害検知回路によっ
てハードウェア的にセット・リセットされるか、その具
体的実施方法は自由である。
FIG. 4 shows the details of SCIDRa29 and SCIDRb219. The detailed configuration of SCIDRa29 will be described below. SCIDRb21
Since 9 has the same configuration as SCIDRa29, its explanation is omitted. SCIDR
a29 has two snoop cache identification numbers SCID321,
322 and two 1-bit flags 3 indicating the failure occurrence status
23 and 324 are saved. The SCID is an identification number unique to each snoop cache existing in the DKC11. Own SC
ID321 is the SCID of SCa21 itself. Opponent SCID322 is SM
This is the SCID of a pair of snoop caches when a copy of the control information of the high reliability area 210 is stored in the CDM2 of another pair of SCs. When the first failure occurrence flag 323 is On, it means that a failure has occurred in the paired SC when a copy of the control information in the CDM1a25 is stored in the CDM2 of another SC which is a pair. When the second failure occurrence flag 324 is On, it means that a failure has occurred in the paired SC when a copy of the control information in the CDM2a27 is stored in the CDM1 of another paired SC. The fault occurrence flags 323 and 324 can be set / reset by software by the MPa 22 or can be set / reset by hardware by the fault detection circuit, and the specific implementation method is arbitrary.

【0034】以下図1のSCCa23,SCCb213 の動作の詳細
を図5から図24までを用いて説明する。SCCa23,SCCb
213 の動作は、MPa22,MPb212からの制御情報アク
セス要求に基づく動作と、CBS18の監視結果に基づ
く動作に大別される。
Details of the operation of the SCCa23 and SCCb213 shown in FIG. 1 will be described below with reference to FIGS. SCCa23, SCCb
The operation of 213 is roughly classified into an operation based on the control information access request from the MPa 22 and MPb 212 and an operation based on the monitoring result of the CBS 18.

【0035】最初にMPa22から制御情報アクセス要
求を受けた場合のSCCa23の動作を図5から図18までを
用いて説明する。次にCBS18の監視結果に基づくSC
Cb213の動作を図19から図24までを用いて説明す
る。
First, the operation of the SCCa 23 when receiving the control information access request from the MPa 22 will be described with reference to FIGS. 5 to 18. Next, SC based on the monitoring result of CBS 18
The operation of Cb213 will be described with reference to FIGS. 19 to 24.

【0036】図5にMPa22から制御情報アクセス要
求を受けた場合のSCCa23の動作のメインルーチン42を
示す。MPa22からSCCa23へ制御情報アクセス要求が
発生すると41,ACa28は要求された制御情報のア
ドレスが、SM高信頼化領域210のアドレスか、SM
通常領域220のアドレスかを調べる(43)。次にSC
Ca23はMPa22からの命令を調べ、制御情報の読み出
しか、書き込みかを調べる(44または45)。次にSC
Ca23はCTM1a24のアドレスタグ34とCTM2a26のアドレス
タグ39を検索し、CDM1a25あるいはCDM2a27内に求める
制御情報のコピーが存在するか否かを調べる(46,4
7,48,49)。以下、CDM1a25 あるいはCDM2a27 内
に求める制御情報のコピーが存在する場合をヒット,存
在しない場合をミスと呼ぶ。以上、高信頼化領域/通常
領域か,書き込み/読み出しか,ヒット/ミスかによっ
て、8通りの処理を行う。
FIG. 5 shows the main routine 42 of the operation of the SCCa 23 when receiving the control information access request from the MPa 22. When a control information access request is issued from the MPa 22 to the SCCa 23 41, the ACa 28 determines whether the requested control information address is the address of the SM high reliability area 210 or the SM
It is checked whether it is the address of the normal area 220 (43). Then SC
Ca23 checks the command from MPa22 and checks whether the control information is read or written (44 or 45). Then SC
Ca23 searches the address tag 34 of CTM1a24 and the address tag 39 of CTM2a26 to check whether there is a copy of the control information in CDM1a25 or CDM2a27 (46, 4).
7, 48, 49). Hereinafter, the case where the copy of the desired control information exists in the CDM1a25 or CDM2a27 is called a hit, and the case where it does not exist is called a miss. As described above, eight types of processing are performed depending on the high reliability area / normal area, write / read, hit / miss.

【0037】高信頼化領域,読み出し,ヒットの場合、
サブルーチンSuba415 の処理を行う。CBS18へのア
クセスは不要である。
In the case of high reliability area, read, and hit,
Performs processing of subroutine Suba415. No access to CBS 18 is required.

【0038】高信頼化領域,読み出し,ミスの場合、C
BS18取得後410,サブルーチンSubb416 の処理を
行った後、CBS18を解放する(423)。
High reliability area, read, C in case of mistake
After the BS 18 is acquired 410 and the subroutine Subb416 is processed, the CBS 18 is released (423).

【0039】高信頼化領域,書き込み,ヒットの場合、
CBS18取得後411,サブルーチSubc417の処理を
行った後、CBS18を解放する(424)。
In the case of high reliability area, writing, and hit,
After the CBS 18 is obtained, the processing of 411 and the sub-routine Subc417 is performed, and then the CBS 18 is released (424).

【0040】高信頼化領域,書き込み,ミスの場合、C
BS18取得後412,サブルーチンSubd418の処理を
行った後、CBS18を解放する(425)。
High reliability area, write, C in case of mistake
After the BS 18 is acquired, the process of 412 and the subroutine Subd418 is performed, and then the CBS 18 is released (425).

【0041】通常領域,読み出し,ヒットの場合、サブ
ルーチンSuba419の処理を行う。 CBS18へのアク
セスは不要である。
In the case of normal area, read, and hit, the processing of the subroutine Suba419 is performed. No access to CBS 18 is required.

【0042】通常領域,読み出し,ミスの場合、CBS
18取得後413,サブルーチンSube420の処理を行っ
た後、CBS18を解放する(426)。
Normal area, read, CBS in case of miss
After the acquisition of 18, 413, the subroutine Sube420 is processed, and then the CBS 18 is released (426).

【0043】通常領域,書き込み,ヒットの場合、サブ
ルーチンSubf421の処理を行う。 CBS18へのアク
セスは必要な場合と不要な場合がある。
In the case of normal area, write, and hit, the processing of the subroutine Subf421 is performed. Access to CBS 18 may or may not be necessary.

【0044】通常領域,書き込み,ミスの場合、CBS
18取得後414,サブルーチンSubg422の処理を行っ
た後、CBS18を解放する(427)。
Normal area, write, CBS in case of miss
After the acquisition of 18, the processing of the subroutine Subg422 is performed, and then the CBS 18 is released (427).

【0045】図6にサブルーチンSuba処理の詳細を
示す。Suba52はSM通常領域220あるいはSM高信頼
化領域210に対する読み出し要求がMPa22から発
生し、ヒットした場合の処理である。本サブルーチンは
マイクロプロセッサからの読み出し要求に対して、該マ
イクロプロセッサに接続するスヌープキャッシュ上に要
求された制御情報が存在した場合の処理である。スヌー
プキャッシュコントローラは該スヌープキャッシュより
要求された制御情報を読み出してマイクロプロセッサへ
渡す。
FIG. 6 shows details of the subroutine Suba processing. Suba 52 is processing when a read request to the SM normal area 220 or the SM high reliability area 210 is generated from the MPa 22 and hits. This subroutine is a process in response to a read request from the microprocessor when the requested control information exists in the snoop cache connected to the microprocessor. The snoop cache controller reads out the requested control information from the snoop cache and passes it to the microprocessor.

【0046】処理ステップ51においてCDM1a25あるい
はCDM2a27より読み出しを行う。
In processing step 51, the CDM1a25 or CDM2a27 is read.

【0047】図7にサブルーチンSubbの処理の詳細
を示す。SubbはSM高信頼化領域210に対する読
み出し要求がMPa22から発生し、ミスした場合の処
理である。本サブルーチンは、マイクロプロセッサが共
有メモリの高信頼化領域の制御情報の読み出しを要求し
た際、該マイクロプロセッサに接続するスヌープキャッ
シュ上に要求された制御情報が存在しなかった場合の処
理である。高信頼化領域に対する読み込みの場合、自ス
ヌープキャッシュメモリと、対をなすスヌープキャッシ
ュメモリの両方に同一制御情報を読み込む。
FIG. 7 shows details of the processing of the subroutine Subb. Subb is a process in the case where a read request for the SM high reliability region 210 is generated from the MPa 22 and a mistake occurs. This subroutine is a process in the case where the requested control information does not exist on the snoop cache connected to the microprocessor when the microprocessor requests to read the control information in the high reliability area of the shared memory. When reading into the high reliability area, the same control information is read into both the own snoop cache memory and the paired snoop cache memory.

【0048】スヌープキャッシュコントローラは、自ス
ヌープキャッシュメモリに要求された制御情報を読み込
む。読み込む場所に共有メモリへの書き戻しが必要な制
御情報が存在していた場合、読み込みの前に該制御情報
の書き戻しを行う。書き戻しが必要な制御情報とは、対
応するキャッシュタグメモリ中の有効フラグとオーナー
フラグがいずれもOnの制御情報である。さらに、スヌ
ープキャッシュコントローラは、対をなすスヌープキャ
ッシュのスヌープキャッシュIDを共有バスに送出し、
対をなすスヌープキャッシュの同一制御情報の読み込み
を促す。
The snoop cache controller reads the requested control information into its own snoop cache memory. If the control information that needs to be written back to the shared memory exists at the read location, the control information is written back before the reading. The control information that needs to be written back is control information in which both the valid flag and the owner flag in the corresponding cache tag memory are On. Further, the snoop cache controller sends the snoop cache ID of the paired snoop cache to the shared bus,
Prompts the reading of the same control information of the paired snoop cache.

【0049】処理ステップ55においてCTM1a24 の有効
フラグがOnかOffかを調べる。Onの場合処理ステ
ップ56へ進む。Offの場合処理ステップ58のサブ
ルーチンSubh58へ進む。サブルーチンSubh58はSM高信
頼化領域210からの読み出し処理である。SM高信頼
化領域210からの読み出し処理では、SCa21のCD
M1a25 の対である異なる一つのSCのCDM2内にも、
同じ制御情報のコピーが格納される。
In processing step 55, it is checked whether the valid flag of CTM1a24 is On or Off. If it is On, the process proceeds to step 56. If it is Off, the process proceeds to the subroutine Subh58 of the processing step 58. Subroutine Subh58 is a read process from the SM high reliability area 210. In the reading process from the SM high reliability area 210, the CD of the SCa21
In the CDM2 of one different SC which is a pair of M1a25,
A copy of the same control information is stored.

【0050】処理ステップ56においてCTM1a24 のオー
ナーフラグがOnかOffかを調べる。Onの場合処理
ステップ57のサブルーチンSubm57へ進む。サブルーチ
ンSubm57はSM19への書き戻し処理である。Offの
場合、処理ステップ58のサブルーチンSubh588 へ進
む。処理ステップ57のサブルーチンSubm終了後、
処理ステップ58のサブルーチンSubhへ進む。処理
ステップ59においてCDM1a25 のキャッシュデータブロ
ックを新しい内容に書き換える。処理ステップ510に
おいてCTM1a24 の有効フラグをOnにする。処理ステッ
プ511においてCTM1a24の共有フラグをOnにする。
処理ステップ512においてCTM1a24のオーナーフラグ
をOffにする。処理ステップ513においてCTM1a24
のアドレスタグを新しい内容に書き換える。
In process step 56, it is checked whether the owner flag of CTM1a24 is On or Off. In the case of On, the process proceeds to the subroutine Subm57 of the processing step 57. Subroutine Subm57 is a process for writing back to SM19. In the case of Off, the process proceeds to the subroutine Subh588 of process step 58. After the subroutine Subm of processing step 57 ends,
The process proceeds to the subroutine Subh of the processing step 58. In the processing step 59, the cache data block of the CDM1a25 is rewritten with new contents. In process step 510, the valid flag of CTM1a24 is set to On. In process step 511, the shared flag of CTM1a24 is set to On.
In process step 512, the owner flag of CTM1a24 is turned off. CTM1a24 in processing step 513
Replace the address tag of with new contents.

【0051】図8にサブルーチンSubcの処理の詳細
を示す。SubcはSM高信頼化領域210に対する書
き込み要求がMPa22から発生し、ヒットした場合の
処理である。
FIG. 8 shows details of the processing of the subroutine Subc. Subc is a process when a write request to the SM high reliability area 210 is generated from the MPa 22 and hits.

【0052】本サブルーチンは、マイクロプロセッサが
共有メモリの高信頼化領域の制御情報の書き込みを要求
した際、該マイクロプロセッサに接続するスヌープキャ
ッシュ上に要求された制御情報が存在した場合の処理で
ある。
This subroutine is a process when the microprocessor requests the writing of the control information in the high-reliability region of the shared memory, and the requested control information exists in the snoop cache connected to the microprocessor. .

【0053】キャッシュデータメモリaに書き込みが起
きた場合、スヌープキャッシュコントローラは自スヌー
プキャッシュメモリaに書き込みを行う。さらに、スヌ
ープキャッシュIDを共有バスに送出することで、対を
なすスヌープキャッシュメモリbへの書き込みを促す。
When a write occurs in the cache data memory a, the snoop cache controller writes in its own snoop cache memory a. Furthermore, by sending the snoop cache ID to the shared bus, writing to the paired snoop cache memory b is prompted.

【0054】上記対をなすキャッシュデータメモリbに
書き込みが起きた場合、スヌープキャッシュコントロー
ラは自スヌープキャッシュメモリbに書き込みを行う。
さらに、スヌープキャッシュIDを共有バスに送出する
ことで、対をなすスヌープキャッシュメモリaへの書き
込みを促す。
When a write occurs in the paired cache data memory b, the snoop cache controller writes in its own snoop cache memory b.
Furthermore, by sending the snoop cache ID to the shared bus, writing to the paired snoop cache memory a is prompted.

【0055】CDM1a25に対する書き込みか、CDM2a27に対
する書き込みか(517)によって処理が異なる。CDM1
a25 に対する書き込みの場合、処理ステップ518のサ
ブルーチンSublへ進む。サブルーチンSubl518 はC
TM2のオーナー権変更を行う更新処理である。CTM
2のオーナー権変更を行う更新処理では、対となる他S
CのCTM2のオーナーフラグがOnになる。CDM2a27
に対する書き込みの場合、処理ステップ521のサブル
ーチンSubkへ進む。サブルーチンSubk521はCTM
1のオーナー権変更を行う更新処理である。CTM1の
オーナー権変更を行う更新処理では、対となる他SCの
CTM1のオーナーフラグがOnになる。
The processing differs depending on whether the writing is to the CDM1a25 or the CDM2a27 (517). CDM1
In the case of writing to a25, the process proceeds to the subroutine Subl of the processing step 518. Subroutine Subl518 is C
This is an update process for changing the ownership of TM2. CTM
In the update process for changing the ownership of item 2, the other S
The owner flag of CTM2 of C becomes On. CDM2a27
In the case of writing to, the process proceeds to the subroutine Subk of the processing step 521. Subroutine Subk521 is CTM
This is an update process for changing the ownership of item 1. In the update processing for changing the ownership of the CTM1, the owner flag of the CTM1 of the other SC forming a pair is set to On.

【0056】処理ステップ519においてCDM1a25 のキ
ャッシュデータブロックを新しい内容に書き換える。処
理ステップ520においてCTM1a24 のオーナーフラグを
Onにする。処理ステップ522においてCDM2a27 のキ
ャッシュデータブロックを新しい内容に書き換える。処
理ステップ523においてCTM2a26 のオーナーフラグを
Onにする。
In the processing step 519, the cache data block of the CDM1a25 is rewritten with new contents. In process step 520, the owner flag of CTM1a24 is set to On. In the processing step 522, the cache data block of the CDM2a27 is rewritten with new contents. In process step 523, the owner flag of CTM2a26 is set to On.

【0057】図9にサブルーチンSubdの処理の詳細
を示す。SubdはSM高信頼化領域210に対する書
き込み要求がMPa22から発生し、ミスした場合の処
理である。
FIG. 9 shows the details of the processing of the subroutine Subd. Subd is a process when a write request for the SM high reliability area 210 is generated from the MPa 22 and a mistake occurs.

【0058】本サブルーチンは、マイクロプロセッサが
共有メモリの高信頼化領域の制御情報の書き込みを要求
した際、該マイクロプロセッサに接続するスヌープキャ
ッシュ上に要求された制御情報が存在しなかった場合の
処理である。
This subroutine is a process in the case where the requested control information does not exist in the snoop cache connected to the microprocessor when the microprocessor requests the writing of the control information in the high reliability area of the shared memory. Is.

【0059】スヌープキャッシュコントローラは、自ス
ヌープキャッシュメモリ1に対する読み出しミスの処理
+書き込みヒットの処理を行う。
The snoop cache controller carries out a read miss process and a write hit process with respect to its own snoop cache memory 1.

【0060】処理ステップ62,63,64,65は処
理ステップ55,56,57,58に同じなので説明を
省略する。処理ステップ66においてサブルーチンSu
blの処理を行う。処理ステップ67においてCDM1a25
のキャッシュデータブロックを新しい内容に書き換え
る。処理ステップ68においてCTM1a24 の有効フラグを
Onにする。処理ステップ69においてCTM1a24 の共有
フラグをOnにする。処理ステップ610においてCTM1
a24 のオーナーフラグをOnにする。処理ステップ61
1においてCTM1a24のアドレスタグを新しい内容に書き
換える。
Since the processing steps 62, 63, 64 and 65 are the same as the processing steps 55, 56, 57 and 58, the description thereof will be omitted. Subroutine Su in processing step 66
bl processing is performed. CDM1a25 in process step 67
Rewrite the cache data block of the new contents. In process step 68, the valid flag of CTM1a24 is set to On. In process step 69, the shared flag of CTM1a24 is set to On. CTM1 in processing step 610
Set the owner flag of a24 to On. Processing step 61
In 1, rewrite the address tag of CTM1a24 with new contents.

【0061】図10にサブルーチンSubeの処理の詳
細を示す。SubeはSM通常領域220に対する読み
出し要求がMPa22から発生し、ミスした場合の処理
である。
FIG. 10 shows details of the processing of the subroutine Sube. Subbe is a process in the case where a read request for the SM normal area 220 occurs from the MPa 22 and a mistake occurs.

【0062】本サブルーチンは、マイクロプロセッサが
共有メモリの通常領域の制御情報の読み出しを要求した
際、該マイクロプロセッサに接続するスヌープキャッシ
ュ上に要求された制御情報が存在しなかった場合の処理
である。通常領域に対する読み込みの場合、自スヌープ
キャッシュメモリaに制御情報を読み込み、対をなすス
ヌープキャッシュメモリbの内容は無効化する。
This subroutine is the processing when the microprocessor requests the reading of the control information in the normal area of the shared memory and the requested control information does not exist in the snoop cache connected to the microprocessor. . When the normal area is read, the control information is read into its own snoop cache memory a, and the contents of the paired snoop cache memory b are invalidated.

【0063】スヌープキャッシュコントローラは、自ス
ヌープキャッシュメモリに要求された制御情報を読み込
む。読み込む場所に共有メモリへの書き戻しが必要な制
御情報が存在していた場合、読み込みの前に該制御情報
の書き戻しを行う。書き戻しが必要な制御情報とは、対
応するキャッシュタグメモリ中の有効フラグとオーナー
フラグがいずれもOnの制御情報である。スヌープキャ
ッシュコントローラは、対をなすスヌープキャッシュの
スヌープキャッシュIDを共有バスに送出し、対をなす
スヌープキャッシュの無効化処理を促す。
The snoop cache controller reads the requested control information into its own snoop cache memory. If the control information that needs to be written back to the shared memory exists at the read location, the control information is written back before the reading. The control information that needs to be written back is control information in which both the valid flag and the owner flag in the corresponding cache tag memory are On. The snoop cache controller sends the snoop cache ID of the paired snoop cache to the shared bus to prompt the invalidation processing of the paired snoop cache.

【0064】処理ステップ615においてCTM1a24の有
効フラグがOnかOffかを調べる。Onの場合処理ステ
ップ616へ進む。Offの場合処理ステップ618の
サブルーチンSub9へ進む。サブルーチンSubiは
SM通常領域220からの読み出し処理である。
In process step 615, it is checked whether the valid flag of CTM1a24 is On or Off. If it is On, the process proceeds to step 616. In the case of Off, the process proceeds to a subroutine Sub9 of processing step 618. Subroutine Subi is a read process from the SM normal area 220.

【0065】処理ステップ616においてCTM1a24 のオ
ーナーフラグがOnかOffかを調べる。Onの場合処
理ステップ617のサブルーチンSubmへ進む。Offの
場合処理ステップ618のサブルーチンSub9へ進
む。処理ステップ617のサブルーチンSubm終了
後、処理ステップ618のサブルーチンSubiへ進
む。
In process step 616, it is checked whether the owner flag of CTM1a24 is On or Off. In the case of On, the process proceeds to the subroutine Subm of processing step 617. In the case of Off, the process proceeds to the subroutine Sub9 of the processing step 618. After the subroutine Subm of the processing step 617 ends, the process proceeds to the subroutine Subi of the processing step 618.

【0066】処理ステップ619においてCDM1a25 のキ
ャッシュデータブロックを新しい内容に書き換える。処
理ステップ620においてCTM1a24 の有効フラグをOn
にする。処理ステップ621においてCTM1a24 の共有フ
ラグをOnにする。処理ステップ622においてCTM1a2
4 のオーナーフラグをOffにする。処理ステップ62
3においてCTM1a24のアドレスタグを新しい内容に書き
換える。
In the processing step 619, the cache data block of the CDM1a25 is rewritten with new contents. In the processing step 620, the valid flag of CTM1a24 is turned on.
To In process step 621, the shared flag of CTM1a24 is set to On. CTM1a2 in process step 622
Set the owner flag of 4 to Off. Processing step 62
In 3, rewrite the address tag of CTM1a24 with new contents.

【0067】図11にサブルーチンSubfの処理の詳
細を示す。SubfはSM通常領域220に対する書き
込み要求がMPa22から発生し、ヒットした場合の処
理である。
FIG. 11 shows details of the processing of the subroutine Subf. Subf is a process when a write request to the SM normal area 220 is generated from the MPa 22 and hits.

【0068】本サブルーチンは、マイクロプロセッサが
共有メモリの通常領域の制御情報の書き込みを要求した
際、該マイクロプロセッサに接続するスヌープキャッシ
ュ上に要求された制御情報が存在した場合の処理であ
る。
This subroutine is the processing when the microprocessor requests the writing of the control information in the normal area of the shared memory and the requested control information exists in the snoop cache connected to the microprocessor.

【0069】通常領域に対する書き込みでは、無効化命
令を共有バスに送出することで、他スヌープキャッシュ
の同一制御情報を無効にする。しかし既に他スヌープキ
ャッシュに同一制御情報が存在していなかった場合、改
めて無効化命令を送出することはせず、共有バスアクセ
スは不要となる。他スヌープキャッシュに同一制御情報
が存在しないか否かは、対応するキャッシュタグメモリ
内の共有フラグを調べることでわかる。
When writing to the normal area, the same control information of the other snoop cache is invalidated by sending an invalidation command to the shared bus. However, if the same control information does not already exist in the other snoop cache, the invalidating instruction is not sent again and the shared bus access becomes unnecessary. Whether the same control information does not exist in the other snoop cache can be known by checking the shared flag in the corresponding cache tag memory.

【0070】SM通常領域220に対する書き込みで
は、他のCDM1内に同一制御情報のコピーが存在しな
い共有フラグがOffの場合がある。この場合、制御用
共通バスCBS18へのアクセスは不要となる。
When writing to the SM normal area 220, there is a case where the shared flag indicating that there is no copy of the same control information in another CDM 1 is Off. In this case, access to the control common bus CBS18 becomes unnecessary.

【0071】処理ステップ72においてCTM1a24 の共有
フラグがOnかOffかを調べる。Onの場合処理ステ
ップ73へ進む。Offの場合処理ステップ79へ進
む。処理ステップ73から78は制御用共通バスCBS
18へのアクセスが必要な場合の処理である。処理ステ
ップ73において制御用共通バスCBS18を取得す
る。処理ステップ74においてサブルーチンSubjの
処理を行う。サブルーチンSubjは他のCDM1内の
同一制御情報のコピーを無効化する処理である。処理ス
テップ75においてCDM1a25 のキャッシュデータブロッ
クを新しい内容に書き換える。処理ステップ76におい
てCTM1a24 の共有フラグをOffにする。処理ステップ
77においてCTM1a24 のオーナーフラグをOnにする。
処理ステップ78において制御用共通バスCBS18を
解放する。処理ステップ79は制御用共通バスCBS1
8へのアクセスが不要な場合の処理である。処理ステッ
プ79においてCDM1a25 のキャッシュデータブロックを
新しい内容に書き換える。
In processing step 72, it is checked whether the shared flag of CTM1a24 is On or Off. If it is On, the process proceeds to step 73. If it is Off, the process proceeds to step 79. The processing steps 73 to 78 are the control common bus CBS.
This is processing when access to 18 is required. In the processing step 73, the control common bus CBS18 is acquired. In process step 74, the process of the subroutine Subj is performed. Subroutine Subj is a process for invalidating the copy of the same control information in another CDM 1. In processing step 75, the cache data block of CDM1a25 is rewritten with new contents. In process step 76, the shared flag of CTM1a24 is turned off. In process step 77, the owner flag of CTM1a24 is turned on.
In process step 78, the control common bus CBS18 is released. The processing step 79 is the common control bus CBS1.
This is processing when access to 8 is unnecessary. In processing step 79, the cache data block of CDM1a25 is rewritten with new contents.

【0072】図12にサブルーチンSubgの処理の詳
細を示す。SubgはSM通常領域220に対する書き
込み要求がMPa22から発生し、ミスした場合の処理
である。
FIG. 12 shows details of the processing of the subroutine Subg. Subg is a process when a write request for the SM normal area 220 is generated from the MPa 22 and a mistake occurs.

【0073】本サブルーチンは、マイクロプロセッサが
共有メモリの通常領域の制御情報の書き込みを要求した
際、該マイクロプロセッサに接続するスヌープキャッシ
ュ上に要求された制御情報が存在しなかった場合の処理
である。
This subroutine is a process when the microprocessor requests the writing of the control information in the normal area of the shared memory and the requested control information does not exist in the snoop cache connected to the microprocessor. .

【0074】スヌープキャッシュコントローラは、自ス
ヌープキャッシュメモリ1に対する読み出しミスの処理
+書き込みヒットの処理を行う。
The snoop cache controller carries out a read miss process and a write hit process with respect to its own snoop cache memory 1.

【0075】処理ステップ715,716,717,7
18は処理ステップ615,616,617,618に
同じなので説明を省略する。処理ステップ719におい
てサブルーチンSubjの処理を行う。処理ステップ7
20においてCDM1a25 のキャッシュデータブロックを新
しい内容に書き換える。処理ステップ721においてCT
M1a24の有効フラグをOnにする。処理ステップ722
においてCTM1a24の共有フラグをOffにする。処理ス
テップ723においてCTM1a24 のオーナーフラグをOn
にする。処理ステップ724においてCTM1a24 のアドレ
スタグを新しい内容に書き換える。
Process Steps 715, 716, 717, 7
18 is the same as the processing steps 615, 616, 617, 618, and the description thereof will be omitted. In process step 719, the process of the subroutine Subj is performed. Processing step 7
At 20, the cache data block of CDM1a25 is rewritten with new contents. CT in process step 721
Set the valid flag of M1a24 to On. Processing step 722
At, the sharing flag of CTM1a24 is turned off. In process step 723, the owner flag of CTM1a24 is turned on.
To In processing step 724, the address tag of CTM1a24 is rewritten with new contents.

【0076】図13にサブルーチンSubh,図14に
サブルーチンSubi,図15にサブルーチンSub
j,図16にサブルーチンSubk,図17にサブルー
チンSubl,図18にサブルーチンSubmの処理の
詳細を示す。
FIG. 13 shows the subroutine Subh, FIG. 14 shows the subroutine Subi, and FIG. 15 shows the subroutine Sub.
j, FIG. 16 shows the subroutine Subk, FIG. 17 shows the subroutine Subl, and FIG. 18 shows the details of the subroutine Subm.

【0077】Subh,Subi,Subj,Sub
k,Subl,SubmはCBS18に対する6種類の
アクセスを示す。6種類のアクセスのそれぞれに対し
て、高信頼化領域読み出し命令,通常領域読み出し命
令,無効化命令,CTM1のオーナー権変更を行う更新
命令,CTM2のオーナー権変更を行う更新命令,SM
書き戻し命令の6つの命令がある。
Subh, Subi, Subj, Sub
k, Subl, and Subm indicate 6 types of access to the CBS 18. For each of the six types of access, a high reliability area read instruction, a normal area read instruction, an invalidation instruction, an update instruction for changing the ownership of CTM1, an update instruction for changing the ownership of CTM2, SM
There are 6 instructions of write back instruction.

【0078】図13について以下に説明する。サブルー
チンSubhはSM高信頼化領域210からの読み出し
処理である。本サブルーチンでは、ミスの起きたスヌー
プキャッシュメモリ1へ要求された制御情報を読み込む
と同時に、対をなすスヌープキャッシュメモリ2へ同一
制御情報を読み込ませる。
FIG. 13 will be described below. Subroutine Subh is a read process from the SM high reliability area 210. In this subroutine, the requested control information is read into the snoop cache memory 1 in which a mistake has occurred, and at the same time, the same control information is read into the paired snoop cache memory 2.

【0079】処理ステップ82においてアクセスするSM
19のアドレスをCBS18へ送出する。処理ステップ8
3において高信頼化領域読み出し命令をCBS18へ送
出する。処理ステップ84においてSCIDRa29の相手SCID
322 をCBS18へ送出する。処理ステップ85におい
てCBS18より読み出しデータを受け取る。相手SCID
322 に等しいSCIDを持つ他のSCでは、読み出しデ
ータがCDM2に格納される。
SM to be accessed in processing step 82
The address of 19 is sent to the CBS 18. Processing step 8
In 3, the high reliability area read command is sent to the CBS 18. In process step 84, the partner SCID of SCIDRa29
322 is sent to the CBS 18. In process step 85, read data is received from CBS 18. Opponent SCID
In the other SC having the SCID equal to 322, the read data is stored in the CDM2.

【0080】図14について以下に説明する。サブルー
チンSubiはSM通常領域220からの読み出し処理
である。本サブルーチンでは、ミスの起きたスヌープキ
ャッシュメモリaへ要求された制御情報を読み込むと同
時に、対をなすスヌープキャッシュメモリbの内容を無
効化する。
FIG. 14 will be described below. Subroutine Subi is a read process from the SM normal area 220. In this subroutine, the requested control information is read into the snoop cache memory a in which a mistake has occurred, and at the same time, the contents of the paired snoop cache memory b are invalidated.

【0081】処理ステップ89においてアクセスするS
M19のアドレスをCBS18へ送出する。処理ステッ
プ810において通常領域読み出し命令をCBS18へ
送出する。処理ステップ811においてSCIDRa29の相手
SCID322 をCBS18へ送出する。処理ステップ812
においてCBS18より読み出しデータを受け取る。相
手SCID322に等しいSCIDを持つ他のSCでは、CT
M2の有効フラグがOffになり無効化される。
Access S in processing step 89
The address of M19 is sent to CBS18. In process step 810, a normal area read command is sent to the CBS 18. Opponent of SCIDRa29 in processing step 811
Send SCID322 to CBS18. Processing step 812
At, the read data is received from the CBS 18. In other SCs with SCID equal to the partner SCID322, CT
The valid flag of M2 is turned off and invalidated.

【0082】図15について以下に説明する。サブルー
チンSubjは他のCDM1内の同一制御情報のコピー
を全て無効化する処理である。処理ステップ816にお
いてアクセスするSM19のアドレスをCBS18へ送
出する。処理ステップ817において無効化命令をCB
S18へ送出する。
FIG. 15 will be described below. Subroutine Subj is a process for invalidating all copies of the same control information in another CDM 1. The address of the SM 19 to be accessed is sent to the CBS 18 in processing step 816. CB is issued in the processing step 817
Send to S18.

【0083】図16について以下に説明する。サブルー
チンSubkはCTM1のオーナー権変更を行う更新処
理である。本サブルーチンは、キャッシュデータメモリ
2への書き込みが発生した場合の更新処理である。本実
施例のキャッシュ制御では、書き込みの発生したスヌー
プキャッシュの対をオーナーとする。オーナーとなった
スヌープキャッシュ対は、共有メモリへの最新制御情報
書き戻しの責任と、共有バスに送出された制御情報読み
出し要求に対して最新値を共有バスに送出する責任を負
う。本サブルーチンは、対をなすキャッシュデータメモ
リ1の内容を更新し、さらにそのオーナーフラグをOn
にする処理である。
FIG. 16 will be described below. Subroutine Subk is an update process for changing the ownership of CTM1. This subroutine is an update process when writing to the cache data memory 2 occurs. In the cache control of the present embodiment, the snoop cache pair in which writing has occurred is the owner. The snoop cache pair that became the owner is responsible for writing back the latest control information to the shared memory and for sending the latest value to the shared bus in response to the control information read request sent to the shared bus. This subroutine updates the contents of the paired cache data memory 1 and further sets the owner flag to On.
Is the process of

【0084】処理ステップ821においてアクセスする
SM19のアドレスをCBS18へ送出する。処理ステ
ップ822においてCTM1のオーナー権変更を行う更
新命令をCBS18へ送出する。処理ステップ823に
おいてSCIDRa29 の自SCID321をCBS18へ送出する。
処理ステップ824において更新データをCBS18へ
送出する。
In processing step 821, the address of SM19 to be accessed is sent to CBS18. In processing step 822, an update command for changing the ownership of CTM1 is sent to CBS18. In processing step 823, the own SCID 321 of SCIDRa 29 is sent to the CBS 18.
The update data is sent to the CBS 18 in process step 824.

【0085】相手SCIDとして、SCIDRa29の自SCID32
1 に等しいSCIDを持つ他のSCでは、CDM1のキ
ャッシュデータブロックを更新するとともにCTM1の
オーナーフラグをOnにする。
As the partner SCID, the own SCID32 of SCIDRa29
The other SC having the SCID equal to 1 updates the cache data block of CDM1 and sets the owner flag of CTM1 to On.

【0086】図17について以下に説明する。サブルー
チンSublはCTM2のオーナー権変更を行う更新処
理である。本サブルーチンは、キャッシュデータメモリ
1への書き込みが発生した場合の更新処理である。本サ
ブルーチンは、対をなすキャッシュデータメモリ2の内
容を更新し、さらにそのオーナーフラグをOnにする処
理である。
FIG. 17 will be described below. Subroutine Subl is an update process for changing the ownership of CTM2. This subroutine is an update process when writing to the cache data memory 1 occurs. This subroutine is a process of updating the contents of the cache data memory 2 forming a pair and setting the owner flag thereof to On.

【0087】処理ステップ828においてアクセスする
SM19のアドレスをCBS18へ送出する。処理ステ
ップ829においてCTM2のオーナー権変更を行う更
新命令をCBS18へ送出する。処理ステップ830に
おいてSCIDRa29の相手SCID322 をCBS18へ送出す
る。処理ステップ831において更新データをCBS1
8へ送出する。SCIDRa29 の相手SCID322に等しいSCI
Dを持つ他のSCでは、CDM2のキャッシュデータブロッ
クを更新するとともにCTM2のオーナーフラグをOn
にする。
In processing step 828, the address of SM19 to be accessed is sent to CBS18. In processing step 829, an update command for changing the ownership of CTM2 is sent to CBS18. In process step 830, the partner SCID322 of SCIDRa29 is sent to the CBS 18. In the processing step 831, update data is updated to CBS1
8 is sent. SCI equal to SCID322 of SCIDRa29
In the other SC having D, the cache data block of CDM2 is updated and the owner flag of CTM2 is set to On.
To

【0088】図18について以下に説明する。サブルー
チンSubmはSM19への書き戻し処理である。処理
ステップ835においてアクセスするSM19のアドレ
スをCBS18へ送出する。処理ステップ836におい
てSM書き戻し命令をCBS18へ送出する。処理ステップ
837において書き戻しデータをCBS18へ送出す
る。処理ステップ838において共有メモリ制御回路SM
C116より、書き戻し完了通知をCBS18を介して受け
取る。
FIG. 18 will be described below. Subroutine Subm is a process for writing back to SM19. In processing step 835, the address of SM19 to be accessed is sent to CBS18. In process step 836, an SM write back command is sent to CBS 18. In the processing step 837, the write-back data is sent to the CBS 18. Shared memory control circuit SM in process step 838
A write-back completion notification is received from C116 via the CBS 18.

【0089】図19にCBS18の監視結果に基づくSC
Cb213の動作のメインルーチン Main914 を示す。6
種類の共有バスアクセスの内、スヌープキャッシュコン
トローラが監視結果に基づいて処理を行う必要があるの
は、共有メモリ書き戻し以外の5種類のアクセスであ
る。各アクセス毎に処理が異なる。
FIG. 19 shows an SC based on the monitoring result of the CBS 18.
The main routine Main914 of the operation of Cb213 is shown. 6
Of the types of shared bus access, it is the five types of access other than shared memory write-back that the snoop cache controller needs to perform processing based on the monitoring result. The processing is different for each access.

【0090】処理ステップ92において、SM19のア
ドレスをCBS18より取得する。処理ステップ93に
おいて、命令をCBS18より取得する。処理ステップ
94において、命令が高信頼化領域読み出し命令か否か
調べる。高信頼化領域読み出し命令ならば処理ステップ
95のサブルーチンSubnの処理を行う。そうでなけ
れば処理ステップ96へ進む。
In process step 92, the address of SM19 is obtained from CBS18. In process step 93, the command is obtained from CBS 18. In processing step 94, it is checked whether the instruction is a high reliability area read instruction. If it is a high reliability area read command, the processing of the subroutine Subn of processing step 95 is performed. Otherwise, it proceeds to processing step 96.

【0091】処理ステップ96において、命令が通常領
域読み出し命令か否か調べる。通常領域読み出し命令な
らば処理ステップ97のサブルーチンSuboの処理を
行う。そうでなければ処理ステップ98へ進む。
In processing step 96, it is checked whether the instruction is a normal area read instruction. If it is a normal area read command, the processing of the subroutine Subo of the processing step 97 is performed. Otherwise, it proceeds to processing step 98.

【0092】処理ステップ98において、命令が無効化
命令か否か調べる。無効化命令ならば処理ステップ99
のサブルーチンSubpの処理を行う。そうでなければ
処理ステップ910へ進む。
In processing step 98, it is checked whether the instruction is an invalidation instruction. If it is an invalidation command, processing step 99
Processing of the subroutine Subp. Otherwise, proceed to process step 910.

【0093】処理ステップ910において、命令がCT
M1のオーナー権変更を行う更新命令か否か調べる。C
TM1のオーナー権変更を行う更新命令ならば処理ステ
ップ911のサブルーチンSubqの処理を行う。そう
でなければ処理ステップ912へ進む。
In processing step 910, the instruction is CT
It is checked whether it is an update command for changing the ownership of M1. C
If it is an update instruction for changing the ownership of TM1, the processing of the subroutine Subq of processing step 911 is performed. Otherwise, it proceeds to processing step 912.

【0094】処理ステップ912において、命令がCT
M2のオーナー権変更を行う更新命令か否か調べる。C
TM2のオーナー権変更を行う更新命令ならば処理ステ
ップ913のサブルーチンSubrの処理を行う。そう
でなければ処理を終了する。図20にサブルーチンSu
bnの処理の詳細を示す。サブルーチンSubnはCB
S18の監視の結果、高信頼化領域読み出し命令を得た
場合の処理である。高信頼化領域に対する読み込みの場
合、自スヌープキャッシュメモリ1と、対をなすスヌー
プキャッシュメモリ2の両方に同一制御情報を読み込
む。
In processing step 912, the instruction is CT
It is checked whether it is an update command for changing the ownership of M2. C
If it is an update instruction for changing the ownership of TM2, the processing of the subroutine Subr of processing step 913 is performed. Otherwise, the process ends. FIG. 20 shows the subroutine Su
Details of the bn processing are shown. Subroutine Subn is CB
This is a process when a high reliability area read command is obtained as a result of the monitoring in S18. When reading into the high reliability area, the same control information is read into both the own snoop cache memory 1 and the paired snoop cache memory 2.

【0095】スヌープキャッシュIDを共有バスより取
得し、自スヌープキャッシュIDと比較した結果、等し
ければ、対となるスヌープキャッシュメモリ1に高信頼
化領域の制御情報が読み込まれることを意味する。そこ
で自スヌープキャッシュメモリ2にも同一制御情報を読
み込んでくる。
As a result of acquiring the snoop cache ID from the shared bus and comparing it with the own snoop cache ID, if they are equal, it means that the control information of the high reliability area is read into the paired snoop cache memory 1. Therefore, the same control information is also read into its own snoop cache memory 2.

【0096】また読み出し要求のあったデータの最新の
値を自スヌープキャッシュが保持していた場合は、その
内容を共有バスに送出する。最新の値か否かは対応する
キャッシュタグメモリ内のオーナーフラグを調べること
でわかる。
If the own snoop cache holds the latest value of the read-requested data, the contents are sent to the shared bus. Whether or not it is the latest value can be known by checking the owner flag in the corresponding cache tag memory.

【0097】処理ステップ102においてCBS18よ
りSCIDを取得する。処理ステップ103において取
得したSCIDがSCIDRb219の自SCID325に等しいか否か
調べる。等しい場合処理ステップ104に進む。等しく
ない場合処理ステップ105に進む。CBS18の監視
の結果取得したSCIDがSCIDRb219の自SCID325に等しい場
合、SM高信頼化領域210の制御情報のコピーを対で
あるCDM2b217に格納する必要がある。
In processing step 102, the SCID is acquired from the CBS 18. It is checked whether the SCID acquired in processing step 103 is equal to the own SCID 325 of SCIDRb 219. If they are equal, the process proceeds to step 104. If they are not equal, the process proceeds to step 105. When the SCID acquired as a result of the monitoring of the CBS 18 is equal to the own SCID 325 of the SCID Rb 219, it is necessary to store a copy of the control information of the SM high reliability area 210 in the paired CDM 2b 217.

【0098】処理ステップ104においてCTM1b214のオ
ーナーフラグがOnかOffかを調べる。Onの場合処
理ステップ1012へ、Offの場合処理ステップ10
6へ進む。
In processing step 104, it is checked whether the owner flag of CTM1b 214 is On or Off. If On, go to process step 1012; if Off, process step 1012.
Go to 6.

【0099】処理ステップ105においてCTM1b214のオ
ーナーフラグがOnかOffかを調べる。Onの場合処
理ステップ1018へ、Off の場合処理を終了す
る。
In processing step 105, it is checked whether the owner flag of CTM1b 214 is On or Off. If On, go to processing step 1018; if Off, end processing.

【0100】CTM1b214のオーナーフラグがOnの場合、
CTM1b214に対応するCDM1b215のキャッシュデータブロッ
クに最新の制御情報が格納されていることを意味する。
そこで読み出しデータをCBS18に送出する必要があ
る。オーナーフラグがOnのCTM1が存在しない場
合、読み出しデータはどのSCからも送出されない。こ
の場合、一定時間経過後、SMC116がオーナー不在と判断
し、読み出しデータはSMC116を介してSM19よりCB
S18へ送出される。
When the owner flag of CTM1b214 is On,
This means that the latest control information is stored in the cache data block of CDM1b215 corresponding to CTM1b214.
Therefore, it is necessary to send the read data to the CBS 18. If there is no CTM1 whose owner flag is On, the read data is not sent from any SC. In this case, after a certain period of time, the SMC116 determines that the owner is absent, and the read data is sent from the SM19 to the CB via the SMC116.
It is sent to S18.

【0101】処理ステップ1012から1017までは
CDM2b217へのデータ格納とCDM1b215からCBS18への
データ送出の両方の処理が必要な場合である。処理ステ
ップ1012においてCDM2b217のキャッシュデータブロ
ックに、CDM1b215にある最新の制御情報を格納する。処
理ステップ1013においてCTM2b216の有効フラグをO
nにする。処理ステップ1014においてCTM2b216の共
有フラグをOnにする。処理ステップ1015において
CTM2b216のオーナーフラグをOffにする。処理ステッ
プ1016においてCTM2b216のアドレスタグを新しい内
容に書き換える。処理ステップ1017において読み出
しデータをCBS18に送出する。
Processing steps 1012 to 1017
This is a case where both the processing of storing data in the CDM2b217 and the data transmission from the CDM1b215 to the CBS18 are required. In processing step 1012, the latest control information in CDM1b215 is stored in the cache data block of CDM2b217. In processing step 1013, the CTM2b216 valid flag is set to O.
set to n. In process step 1014, the shared flag of CTM2b216 is set to On. In process step 1015
Set the owner flag of CTM2b216 to Off. In processing step 1016, the address tag of CTM2b216 is rewritten with new contents. The read data is sent to the CBS 18 in process step 1017.

【0102】処理ステップ106から1011まではCD
M2b217へのデータ格納処理のみが必要な場合である。処
理ステップ106においてCBS18より読み出しデー
タを取得する。読み出しデータは他SCあるいはSMC116
からCBS18へ送出されたデータである。処理ステッ
プ107においてCDM2b217のキャッシュデータブロック
を書き換える。処理ステップ108においてCTM2b216の
有効フラグをOnにする。処理ステップ109において
CTM2b216の共有フラグをOnにする。処理ステップ10
10においてCTM2b216のオーナーフラグをOffにす
る。処理ステップ1011においてCTM2b216のアドレス
タグを新しい内容に書き換える。
The processing steps 106 to 1011 are CDs.
This is the case when only the data storage process to M2b217 is required. In processing step 106, read data is acquired from the CBS 18. Read data from other SC or SMC116
This is the data sent from the CBS 18 to the CBS 18. In processing step 107, the cache data block of CDM2b217 is rewritten. In processing step 108, the valid flag of CTM2b216 is set to On. In process step 109
The shared flag of CTM2b216 is set to On. Processing step 10
In 10, the owner flag of CTM2b216 is turned off. In processing step 1011, the address tag of CTM2b216 is rewritten with new contents.

【0103】処理ステップ1018は、読み出しデータ
のCBS18への送出のみが必要な場合である。上述の
処理は、スヌープキャッシュメモリに障害が発生してい
ない場合の処理である。障害の発生していない状況下で
は、オーナーであるスヌープキャッシュメモリ1が高信
頼化領域の読み出しデータの送出を行う。
Process step 1018 is where it is only necessary to send the read data to the CBS 18. The above-mentioned processing is processing when no failure has occurred in the snoop cache memory. Under the condition that no failure has occurred, the snoop cache memory 1 as the owner sends the read data of the high reliability area.

【0104】以下に、オーナーであるスヌープキャッシ
ュメモリ1に障害が発生し、高信頼化領域の読み出しデ
ータの送出が不可能となった場合の処理を説明する。こ
の場合、障害の発生したスヌープキャッシュメモリaと
対をなすスヌープキャッシュメモリbより読み出しデー
タの送出を行う。
The processing when the snoop cache memory 1 which is the owner fails and the read data in the high reliability area cannot be transmitted will be described below. In this case, the read data is sent from the snoop cache memory b paired with the failed snoop cache memory a.

【0105】高信頼化領域の制御情報の読み出し時、SC
IDRb219 の障害発生フラグ2328がOnであり、二重
化してCDM2b217へ格納する場合の、対をなすスヌープキ
ャッシュメモリaに障害が発生している状況を仮定す
る。この様な状況では、スヌープキャッシュメモリaが
オーナーとなっていた高信頼化領域の読み出しデータの
送出が不可能である。そこでスヌープキャッシュメモリ
1の対であるCDM2b217が代わりに読み出しデータの送出
を行う。CTM2b216のアドレスタグがCBS18へ送出さ
れたアドレスに等しく、しかもオーナーフラグと有効フ
ラグがともにOnであった場合、対応するCDM2b217のキ
ャッシュデータブロックの内容をCBS18 に送出する。
When reading the control information of the high reliability area, SC
It is assumed that the failure occurrence flag 2328 of the IDRb 219 is On and a failure occurs in the paired snoop cache memory a when the data is duplicated and stored in the CDM 2b217. In such a situation, it is impossible to send the read data in the high-reliability area, which was owned by the snoop cache memory a. Therefore, the pair of snoop cache memories 1, CDM2b217, sends out read data instead. When the address tag of CTM2b216 is equal to the address sent to CBS18 and both the owner flag and the valid flag are On, the contents of the corresponding cache data block of CDM2b217 is sent to CBS18.

【0106】図21にサブルーチンSuboの処理の詳
細を示す。サブルーチンSuboはCBS18 の監視
の結果、通常領域読み出し命令を得た場合の処理であ
る。通常領域に対する読み込みの場合、自スヌープキャ
ッシュメモリaに制御情報を読み込み、対をなすスヌー
プキャッシュメモリbの内容は無効化する。
FIG. 21 shows details of the processing of the subroutine Subo. Subroutine Subo is a process when a normal area read command is obtained as a result of monitoring of CBS 18. When the normal area is read, the control information is read into its own snoop cache memory a, and the contents of the paired snoop cache memory b are invalidated.

【0107】スヌープキャッシュIDを共有バスより取
得し、自スヌープキャッシュIDと比較した結果、等し
ければ、対となるスヌープキャッシュメモリaに通常領
域の制御情報が読み込まれることを意味する。そこで自
スヌープキャッシュメモリbの内容を無効化する。また
読み出し要求のあったデータの最新の値を自スヌープキ
ャッシュが保持していた場合は、その内容を共有バスに
送出する。最新の値か否かは対応するキャッシュタグメ
モリ内のオーナーフラグを調べることでわかる。
As a result of acquiring the snoop cache ID from the shared bus and comparing it with its own snoop cache ID, if they are equal, it means that the control information of the normal area is read into the paired snoop cache memory a. Therefore, the contents of its own snoop cache memory b are invalidated. If the own snoop cache holds the latest value of the data requested to be read, the contents are sent to the shared bus. Whether or not it is the latest value can be known by checking the owner flag in the corresponding cache tag memory.

【0108】処理ステップ1102においてCBS18
よりSCIDを取得する。処理ステップ1103におい
て取得したSCIDがSCIDRb219の自SCID325に等しいか
否か調べる。等しい場合処理ステップ1104に進む。
等しくない場合処理ステップ1105に進む。
CBS 18 in process step 1102
To get the SCID. It is checked whether the SCID acquired in processing step 1103 is equal to the own SCID 325 of SCID Rb219. If they are equal, the process proceeds to step 1104.
If they are not equal, the process proceeds to processing step 1105.

【0109】通常領域の制御情報はCDM1にのみ保存
され、対となるCDM2のキャッシュデータブロックは
無効化される。CBS18の監視の結果取得したSCI
DがSCIDRb219の自SCID325に等しい場合、CDM2b217のキ
ャッシュデータブロックを無効化する必要がある。
The control information of the normal area is stored only in the CDM1, and the cache data block of the paired CDM2 is invalidated. SCI acquired as a result of CBS18 monitoring
If D is equal to the own SCID 325 of SCID Rb219, the cache data block of CDM2b217 needs to be invalidated.

【0110】処理ステップ1104においてCTM1b214の
オーナーフラグがOnかOffかを調べる。Onの場合
処理ステップ1106へ、Offの場合処理ステップ11
07へ進む。
In processing step 1104, it is checked whether the owner flag of CTM1b 214 is On or Off. If On, go to processing step 1106; if Off, processing step 11
Proceed to 07.

【0111】処理ステップ1105においてCTM1b214の
オーナーフラグがOnかOffかを調べる。Onの場合
処理ステップ1110へ、Offの場合処理を終了す
る。
In process step 1105, it is checked whether the owner flag of CTM1b214 is On or Off. If On, go to processing step 1110, and if Off, end processing.

【0112】CTM1b214のオーナーフラグがOnの場合、
CTM1b214に対応するCDM1b215のキャッシュデータブロッ
クに最新の制御情報が格納されていることを意味する。
そこで読み出しデータをCBS18に送出する必要があ
る。
When the owner flag of CTM1b214 is On,
This means that the latest control information is stored in the cache data block of CDM1b215 corresponding to CTM1b214.
Therefore, it is necessary to send the read data to the CBS 18.

【0113】処理ステップ1106,1108,110
9ではCDM2b217の無効化とCDM1b215からCBS18への
データ送出の両方の処理が必要な場合である。処理ステ
ップ1106においてCTM2b216の有効フラグをOffに
する。処理ステップ1108においてCTM1b214の共有フ
ラグをOnにする。処理ステップ1109において読み
出しデータをCBS18に送出する。処理ステップ11
07ではCDM2b217の無効化のみが必要な場合である。処
理ステップ1107においてCTM2b216の有効フラグをO
ffにする。
Process Steps 1106, 1108, 110
In No. 9, it is a case where both the processing of invalidating the CDM2b217 and the data transmission from the CDM1b215 to the CBS18 are necessary. In processing step 1106, the valid flag of CTM2b216 is turned off. In processing step 1108, the sharing flag of CTM1b 214 is set to On. The read data is sent to the CBS 18 in process step 1109. Processing step 11
In 07, it is a case where only the invalidation of CDM2b217 is necessary. In processing step 1107, the valid flag of CTM2b216 is set to 0.
ff

【0114】処理ステップ1110,1111では、読
み出しデータのCBS18への送出のみが必要な場合で
ある。処理ステップ1110においてCTM1b214の共有フ
ラグをOnにする。処理ステップ1111において読み
出しデータをCBS18に送出する。
In processing steps 1110 and 1111, it is only necessary to send the read data to the CBS 18. In processing step 1110, the sharing flag of CTM1b 214 is set to On. The read data is sent to the CBS 18 in process step 1111.

【0115】図22にサブルーチンSubpの処理の詳
細を示す。サブルーチンSubpはCBS18の監視の
結果、無効化命令を得た場合の処理である。無効化され
るべき制御情報が自スヌープキャッシュメモリ1に存在
するなら、対応する有効フラグをOffにすることで無
効にする。該当制御情報の存在の有無は、対応するアド
レスタグを共有バスに送出されたアドレスと比較するこ
とで調べる。
FIG. 22 shows the details of the processing of the subroutine Subp. Subroutine Subp is a process when an invalidation command is obtained as a result of monitoring of CBS 18. If the control information to be invalidated exists in the snoop cache memory 1, it is invalidated by turning off the corresponding valid flag. The presence or absence of the corresponding control information is checked by comparing the corresponding address tag with the address sent to the shared bus.

【0116】処理ステップ1115において、CTM1b214
のアドレスタグと、図19のMain914 の処理ステップ9
2において、CBS18の監視の結果取得したSM19のア
ドレスとを比較する。処理ステップ1116において、
比較の結果等しいアドレスが存在するなら、処理ステッ
プ1117に進み、存在しないなら処理を終了する。処
理ステップ1117では、CTM1b214の有効フラグをOf
fにし、無効化を行う。
At processing step 1115, CTM1b214
Address tag and processing step 9 of Main914 in FIG.
In step 2, the address of SM19 acquired as a result of monitoring of CBS18 is compared. In processing step 1116,
If there is an equal address as a result of the comparison, the process proceeds to processing step 1117, and if not, the process ends. In processing step 1117, the validity flag of CTM1b214 is set to Of.
f to invalidate.

【0117】図23にサブルーチンSubqの処理の詳
細を示す。サブルーチンSubqはCBS18の監視の
結果、CTM1のオーナー権変更を行う更新命令を得た
場合の処理である。更新されるべき制御情報が自スヌー
プキャッシュメモリ1あるいは2に存在するなら、メモ
リの内容を、共有バスに送出された最新値に書き換え
る。該当制御情報の存在の有無は、対応するアドレスタ
グを共有バスに送出されたアドレスと比較することで調
べる。また共有バスに送出されたスヌープキャッシュI
Dを調べ、その結果キャッシュタグメモリ1のオーナー
フラグをOnあるいはOffにする。
FIG. 23 shows details of the processing of the subroutine Subq. Subroutine Subq is a process when an update command for changing the ownership of CTM1 is obtained as a result of monitoring of CBS 18. If the control information to be updated exists in the own snoop cache memory 1 or 2, the memory contents are rewritten to the latest value sent to the shared bus. The presence or absence of the corresponding control information is checked by comparing the corresponding address tag with the address sent to the shared bus. Also, the snoop cache I sent to the shared bus
D is checked, and as a result, the owner flag of the cache tag memory 1 is set to On or Off.

【0118】処理ステップ122において、CTM1b214,
CTM2b216のアドレスタグと、図19のMain914 の処理ス
テップ92において、CBS18の監視の結果取得した
SM19のアドレスとを比較する。処理ステップ123にお
いて、比較の結果等しいアドレスが存在するなら、処理
ステップ124に進み、存在しないなら処理を終了す
る。
In processing step 122, CTM1b214,
The address tag of CTM2b216 and the result of monitoring the CBS 18 were acquired in the processing step 92 of Main914 of FIG.
Compare with SM19 address. In processing step 123, if there is an equal address as a result of comparison, the process proceeds to processing step 124, and if not, the process ends.

【0119】処理ステップ124において、CBS18
よりSCIDを取得する。処理ステップ125において、C
BS18より更新データを取得する。処理ステップ12
6において、CDM1b215,CDM2b217のキャッシュデータブ
ロックを新しい内容に書き換える。
In processing step 124, the CBS 18
Get more SCID. In processing step 125, C
Update data is acquired from BS18. Processing step 12
In 6, the cache data blocks of CDM1b215 and CDM2b217 are rewritten with new contents.

【0120】処理ステップ127において、取得したSC
IDが、SCIDRb219の相手SCID326に等しいか否か調べる。
等しい場合、処理ステップ128へ進み、等しくなけれ
ば処理ステップ129へ進む。
SC obtained in processing step 127
It is checked whether the ID is equal to the partner SCID326 of SCIDRb219.
If they are equal, the process proceeds to processing step 128, and if they are not equal, the processing proceeds to processing step 129.

【0121】処理ステップ128では、CDM1b215と対を
なす他SCのCDM2がオーナーとなったことを意味し
ている。そこでCDM1b215に有効な制御情報のコピーが存
在していた場合に限り、CTM1b214のオーナーフラグをO
nとし、他の場合では全てOffとし、処理を終了す
る。
In the processing step 128, it means that the CDM2 of the other SC paired with the CDM1b215 has become the owner. Therefore, only when there is a valid copy of the control information in CDM1b215, the owner flag of CTM1b214 is set to O.
n, in all other cases, set to Off, and the process ends.

【0122】処理ステップ129では、CDM1b215と無関
係な他SCのCDM2がオーナーとなったことを意味し
ている。そこでCTM1b214,CTM2b216のオーナーフラグを
Offとし、処理を終了する。
The processing step 129 means that the CDM2 of another SC unrelated to the CDM1b215 has become the owner. Therefore, set the owner flag of CTM1b214, CTM2b216
Set to Off, and the process ends.

【0123】図24にサブルーチンSubrの処理の詳
細を示す。サブルーチンSubrはCBS18の監視の
結果、CTM2のオーナー権変更を行う更新命令を得た
場合の処理である。更新されるべき制御情報が自スヌー
プキャッシュメモリaあるいはbに存在するなら、メモ
リの内容を、共有バスに送出された最新値に書き換え
る。該当制御情報の存在の有無は、対応するアドレスタ
グを共有バスに送出されたアドレスと比較することで調
べる。また共有バスに送出されたスヌープキャッシュI
Dを調べ、その結果キャッシュタグメモリbのオーナー
フラグをOnあるいはOffにする。
FIG. 24 shows details of the processing of the subroutine Subr. Subroutine Subr is a process when an update command for changing the ownership of CTM 2 is obtained as a result of monitoring CBS 18. If the control information to be updated exists in the own snoop cache memory a or b, the content of the memory is rewritten to the latest value sent to the shared bus. The presence or absence of the corresponding control information is checked by comparing the corresponding address tag with the address sent to the shared bus. Also, the snoop cache I sent to the shared bus
D is checked, and as a result, the owner flag of the cache tag memory b is set to On or Off.

【0124】処理ステップ132から136までは、処
理ステップ122から126に同じなので説明を省略す
る。
Since the processing steps 132 to 136 are the same as the processing steps 122 to 126, the description thereof will be omitted.

【0125】処理ステップ137において、取得したSC
IDが、SCIDRb219の自SCID325に等しいか否か調べる。等
しい場合、処理ステップ138へ進み、等しくなければ
処理ステップ139へ進む。
SC acquired in process step 137
It is checked whether the ID is equal to the own SCID325 of SCIDRb219. If they are equal, the process proceeds to step 138, and if they are not equal, the process proceeds to step 139.

【0126】処理ステップ138では、CDM2b217と対を
なす他SCのCDM1がオーナーとなったことを意味し
ている。そこでCDM2b217に有効な制御情報のコピーが存
在していた場合に限り、CTM2b216のオーナーフラグをO
nとし、他の場合では全てOffとし、処理を終了す
る。
In the processing step 138, it means that the CDM1 of the other SC paired with the CDM2b217 has become the owner. Therefore, only when there is a valid copy of the control information in CDM2b217, the owner flag of CTM2b216 is set to O.
n, in all other cases, set to Off, and the process ends.

【0127】処理ステップ139では、CDM2b217と無関
係な他SCのCDM1がオーナーとなったことを意味し
ている。そこでCTM1b214,CTM2b216のオーナーフラグを
Offとし、処理を終了する。
The processing step 139 means that the CDM1 of another SC unrelated to the CDM2b217 has become the owner. Therefore, set the owner flag of CTM1b214, CTM2b216
Set to Off, and the process ends.

【0128】図25,図26に障害発生時の、SM高信
頼化領域210に対する書き込み処理の詳細を示す。SC
IDRa29の障害発生フラグ1323あるいは障害発生フラ
グ2324がOnであり、二重化してCDM1a25あ
るいはCDM2a27へ格納する場合の、対をなすスヌープ
キャッシュに障害が発生している状況を仮定する。この
様な状況では、CDM1a25あるいはCDM2a27内の制御情報の
コピーの二重化が不可能である。そこで、書き込み発生
時に必ずSM19への書き戻しを行うことで信頼性を保
つ。
FIG. 25 and FIG. 26 show the details of the writing process to the SM high reliability area 210 when a failure occurs. SC
It is assumed that the failure occurrence flag 1323 or the failure occurrence flag 2324 of IDRa29 is On, and a failure occurs in the paired snoop cache when the data is duplicated and stored in the CDM 1a25 or the CDM2a 27. In such a situation, it is impossible to duplicate the copy of the control information in the CDM1a25 or CDM2a27. Therefore, reliability is maintained by always writing back to the SM 19 when writing occurs.

【0129】高信頼化領域,書き込み,ヒットの場合、
CBS18取得後、図25のサブルーチンSubc′1412の
処理を行った後、CBS18を解放する。CDM1a25に対
する書き込みか、CDM2a27 に対する書き込みか142に
よって処理が異なる。CDM1a25に対する書き込みの場
合、処理ステップ143のサブルーチンSublへ進
む。処理ステップ144において、サブルーチンSub
mの処理を行う。処理ステップ145においてCDM1a25
のキャッシュデータブロックを新しい内容に書き換え
る。処理ステップ146においてCTM1a24 のオーナーフ
ラグをOffにし、処理を終了する。
In the case of high reliability area, write, and hit,
After obtaining the CBS 18, the subroutine Subc'1412 of FIG. 25 is processed, and then the CBS 18 is released. The process differs depending on whether the writing is to CDM1a25 or CDM2a27. In the case of writing to the CDM1a25, the process proceeds to the subroutine Subl of the processing step 143. In processing step 144, the subroutine Sub
m processing is performed. CDM1a25 in process step 145
Rewrite the cache data block of the new contents. In process step 146, the owner flag of CTM1a24 is turned off, and the process ends.

【0130】CDM2a27 に対する書き込みの場合、処理ス
テップ147のサブルーチンSubkへ進む。処理ステップ
148において、サブルーチンSubmの処理を行う。
処理ステップ149においてCDM2a27のキャッシ
ュデータブロックを新しい内容に書き換える。処理ステ
ップ1410においてCTM2a26 のオーナーフラグをOf
fにし、処理を終了する。
When writing to the CDM2a27, the process proceeds to the subroutine Subk of the processing step 147. In process step 148, the process of the subroutine Subm is performed.
In processing step 149, the cache data block of the CDM 2a27 is rewritten with new contents. In process step 1410, the owner flag of CTM2a26 is set to Of.
f, and the process ends.

【0131】高信頼化領域,書き込み,ミスの場合、C
BS18取得後、図26のサブルーチンSubd′の処理を
行った後、CBS18を解放する。
High reliability area, writing, C in case of mistake
After the BS 18 is acquired, the process of the subroutine Subd 'of FIG. 26 is performed, and then the CBS 18 is released.

【0132】処理ステップ1414,1415,141
6,1417は処理ステップ55,56,57,58に
同じなので説明を省略する。処理ステップ1418にお
いてサブルーチンSublの処理を行う。処理ステップ
1419においてサブルーチンSubmの処理を行う。
処理ステップ1421においてCDM1a25 のキャッシュデ
ータブロックを新しい内容に書き換える。処理ステップ
1422においてCTM1a24 の有効フラグをOnにする。
処理ステップ1423においてCTM1a24 の共有フラグを
Onにする。処理ステップ1424においてCTM1a24 の
オーナーフラグをOffにする。処理ステップ1425
においてCTM1a24 のアドレスタグを新しい内容に書き換
え、処理を終了する。
Process Steps 1414, 1415, 141
6, 1417 is the same as the processing steps 55, 56, 57, 58, and therefore its explanation is omitted. In process step 1418, the process of the subroutine Subl is performed. In process step 1419, the process of the subroutine Subm is performed.
In processing step 1421, the cache data block of the CDM1a25 is rewritten with new contents. In process step 1422, the valid flag of CTM1a24 is set to On.
In process step 1423, the sharing flag of CTM1a24 is set to On. In process step 1424, the owner flag of CTM1a24 is turned off. Processing step 1425
At, the address tag of CTM1a24 is rewritten with new contents, and the process ends.

【0133】図27,図28に障害発生時の、SM19
への書き戻し処理の詳細を示す。
27 and 28, SM19 at the time of failure occurrence
The details of the write-back processing to are shown below.

【0134】図27のMain1519はCDM1a25内の制御情報
の書き戻し処理の詳細を示す。 SCIDRa29の障害発生
フラグ1323がOnであり、二重化してCDM1a25 へ格
納する場合の、対をなすスヌープキャッシュに障害が発
生している状況を仮定する。この様な状況では、CDM1a2
5 内の制御情報のコピーの二重化が不可能である。そこ
で、CDM1a25内にしか存在しない最新のCTM1a24のオーナ
ーフラグ33がOnの制御情報をSM19に書き戻すこ
とで信頼性を保つ。
Main 1519 in FIG. 27 shows details of the control information write-back process in the CDM 1a25. It is assumed that the failure occurrence flag 1323 of SCIDRa29 is On and a failure occurs in a pair of snoop caches when the data is duplicated and stored in the CDM1a25. In this situation, CDM1a2
Duplication of control information in 5 is impossible. Therefore, the latest owner flag 33 of the CTM 1a24 existing only in the CDM 1a25 writes the On control information back to the SM 19 to maintain reliability.

【0135】処理ステップ152において、CTM1a24の
全てのオーナーフラグがOnかOffかを調べる。全てO
ffなら処理を終了し、Onがあるなら処理ステップ1
53へ進む。処理ステップ153において、制御用共通
バスCBS18が空くまで待つ。処理ステップ154に
おいて、CBS18を取得する。処理ステップ155に
おいてサブルーチンSubmの処理を行う。処理ステップ1
56においてCTM1a24のオーナーフラグをOffにす
る。処理ステップ157において、CBS18を解放
し、再び処理ステップ152へ進む。
In processing step 152, it is checked whether all owner flags of CTM1a24 are On or Off. All O
If it is ff, the processing is ended, and if there is On, processing step 1
Proceed to 53. In process step 153, the control common bus CBS 18 is waited for until it becomes empty. In process step 154, the CBS 18 is obtained. In process step 155, the process of the subroutine Subm is performed. Processing step 1
At 56, the owner flag of CTM1a24 is turned off. In the processing step 157, the CBS 18 is released and the process proceeds to the processing step 152 again.

【0136】図28のMain1530はCDM2a27内の制御情報
の書き戻し処理の詳細を示す。 SCIDRa29の障害発生
フラグ324がOnであり、二重化してCDM2a27 へ格納
する場合の、対をなすスヌープキャッシュに障害が発生
している状況を仮定する。この様な状況では、CDM2a27
内の制御情報のコピーの二重化が不可能である。そこ
で、CDM2a27 内にしか存在しない最新のCTM2a26のオ
ーナーフラグ38がOnの制御情報をSM192に書き
戻すことで信頼性を保つ。
Main 1530 in FIG. 28 shows details of the control information write-back processing in the CDM 2a27. It is assumed that the failure occurrence flag 324 of SCIDRa29 is On and a failure occurs in the paired snoop caches when the data is duplicated and stored in the CDM2a27. In this situation, the CDM2a27
It is not possible to duplicate the copy of the control information inside. Therefore, the latest owner flag 38 of the CTM 2a 26 existing only in the CDM 2a 27 writes the control information of On back to the SM 192 to maintain reliability.

【0137】処理ステップ1512において、CTM2a26
の全てのオーナーフラグがOnかOffかを調べる。全
てOffなら処理を終了し、Onがあるなら処理ステッ
プ1513へ進む。処理ステップ1513において、制
御用共通バスCBS18が空くまで待つ。処理ステップ
1514において、CBS18を取得する。処理ステッ
プ1515においてサブルーチンSub13の処理を行
う。処理ステップ1516においてCTM2a26 のオーナー
フラグをOffにする。処理ステップ1517において、C
BS18を解放し、再び処理ステップ1512へ進む。
In processing step 1512, CTM2a26
Check whether all owner flags of are on or off. If all are Off, the process ends, and if On is present, the process proceeds to process step 1513. In process step 1513, the control common bus CBS 18 is waited for until it becomes empty. In process step 1514, the CBS 18 is obtained. In process step 1515, the process of the subroutine Sub13 is performed. In process step 1516, the owner flag of CTM2a26 is turned off. In processing step 1517, C
The BS 18 is released, and the process again proceeds to the processing step 1512.

【0138】本実施例では、データに要求される信頼性
の度合いによって、無効化型と更新型の一致制御方式を
切り替える。そして更新型の一致制御において、必ず二
箇所以上のローカルキャッシュメモリ上に同一データを
置く。
In the present embodiment, the invalidation type and update type coincidence control methods are switched depending on the degree of reliability required for data. Then, in update-type matching control, the same data is always placed in two or more local cache memories.

【0139】一方、ローカルキャッシュメモリ上に存在
する全ての制御情報に対して、更新型の一致制御を用い
た場合でも、本実施例と同様の方法で、必ず二箇所以上
のローカルキャッシュメモリ上に同一データを置くこと
が可能である。
On the other hand, even when the update-type matching control is used for all the control information existing in the local cache memory, the same method as in the present embodiment is used, and the update information is always stored in two or more local cache memories. It is possible to put the same data.

【0140】[0140]

【発明の効果】以上説明した様に、本発明によれば、ス
ヌープキャッシュを用いた共有バス型並列プロセッサシ
ステムにおいて、スヌープキャッシュに格納されるデー
タの信頼性を高め、スヌープキャッシュの故障・停電発
生時のデータ消失の可能性を大幅に低下できる。
As described above, according to the present invention, in the shared bus type parallel processor system using the snoop cache, the reliability of the data stored in the snoop cache is improved, and the failure / power failure of the snoop cache occurs. The probability of data loss over time can be greatly reduced.

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

【図1】本発明の一実施例のスヌープキャッシュを用い
たデータ処理装置の制御系示すブロック図。
FIG. 1 is a block diagram showing a control system of a data processing device using a snoop cache according to an embodiment of the present invention.

【図2】本発明の一実施例のスヌープキャッシュを用い
たデータ処理装置の構成を示すブロック図。
FIG. 2 is a block diagram showing the configuration of a data processing device using a snoop cache according to an embodiment of the present invention.

【図3】本発明の一実施例のキャッシュタグメモリとキ
ャッシュデータメモリの説明図。
FIG. 3 is an explanatory diagram of a cache tag memory and a cache data memory according to an embodiment of the present invention.

【図4】本発明の一実施例のスヌープキャッシュIDレ
ジスタの説明図。
FIG. 4 is an explanatory diagram of a snoop cache ID register according to an embodiment of the present invention.

【図5】本発明の一実施例のメインルーチンを示すフロ
ーチャート。
FIG. 5 is a flowchart showing a main routine of one embodiment of the present invention.

【図6】本発明の一実施例のサブルーチンを示すフロー
チャート。
FIG. 6 is a flowchart showing a subroutine of an embodiment of the present invention.

【図7】本発明の一実施例のサブルーチンを示すフロー
チャート。
FIG. 7 is a flowchart showing a subroutine of an embodiment of the present invention.

【図8】本発明の一実施例のサブルーチンを示すフロー
チャート。
FIG. 8 is a flowchart showing a subroutine of an embodiment of the present invention.

【図9】本発明の一実施例のサブルーチンを示すフロー
チャート。
FIG. 9 is a flowchart showing a subroutine of an embodiment of the present invention.

【図10】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 10 is a flowchart showing a subroutine of an embodiment of the present invention.

【図11】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 11 is a flowchart showing a subroutine of an embodiment of the present invention.

【図12】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 12 is a flowchart showing a subroutine of one embodiment of the present invention.

【図13】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 13 is a flowchart showing a subroutine of one embodiment of the present invention.

【図14】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 14 is a flowchart showing a subroutine of one embodiment of the present invention.

【図15】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 15 is a flowchart showing a subroutine of one embodiment of the present invention.

【図16】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 16 is a flowchart showing a subroutine of one embodiment of the present invention.

【図17】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 17 is a flowchart showing a subroutine of an embodiment of the present invention.

【図18】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 18 is a flowchart showing a subroutine of one embodiment of the present invention.

【図19】本発明の一実施例のメインルーチンを示すフ
ローチャート。
FIG. 19 is a flowchart showing a main routine of one embodiment of the present invention.

【図20】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 20 is a flowchart showing a subroutine of an embodiment of the present invention.

【図21】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 21 is a flowchart showing a subroutine of one embodiment of the present invention.

【図22】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 22 is a flowchart showing a subroutine of an embodiment of the present invention.

【図23】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 23 is a flowchart showing a subroutine of an embodiment of the present invention.

【図24】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 24 is a flowchart showing a subroutine of an embodiment of the present invention.

【図25】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 25 is a flowchart showing a subroutine of one embodiment of the present invention.

【図26】本発明の一実施例のサブルーチンを示すフロ
ーチャート。
FIG. 26 is a flowchart showing a subroutine of one embodiment of the present invention.

【図27】本発明の一実施例のメインルーチンを示すフ
ローチャート。
FIG. 27 is a flowchart showing a main routine of one embodiment of the present invention.

【図28】本発明の一実施例のメインルーチンを示すフ
ローチャート。
FIG. 28 is a flowchart showing the main routine of one embodiment of the present invention.

【図29】従来のデータ処理装置の構成を示すブロック
図。
FIG. 29 is a block diagram showing the configuration of a conventional data processing device.

【図30】本発明の一実施例のデータ処理装置の動作の
特徴を示す説明図。
FIG. 30 is an explanatory diagram showing characteristics of the operation of the data processing device according to the embodiment of the present invention.

【符号の説明】[Explanation of symbols]

18…制御用共通バス、19…共有メモリ、21…スヌ
ープキャッシュa、22…マイクロプロセッサa、23
…スヌープキャッシュ制御回路a、24…キャッシュタ
グメモリ1a、25…キャッシュデータメモリ1a、2
6…キャッシュタグメモリ2a、27…キャッシュデー
タメモリ2a、28…アドレスチェッカーa、29…ス
ヌープキャッシュIDレジスタa、116…共有メモリ
制御回路、210…共有メモリ高信頼化領域、211…
スヌープキャッシュb、212…マイクロプロセッサ
b、213…スヌープキャッシュ制御回路b、214…
キャッシュタグメモリ1b、215…キャッシュデータ
メモリ1b、216…キャッシュタグメモリ2b、21
7…キャッシュデータメモリ2b、218…アドレスチ
ェッカーb、219…スヌープキャッシュIDレジスタ
b、220…共有メモリ通常領域。
18 ... Common bus for control, 19 ... Shared memory, 21 ... Snoop cache a, 22 ... Microprocessor a, 23
... Snoop cache control circuit a, 24 ... Cache tag memory 1a, 25 ... Cache data memory 1a, 2
6 ... Cache tag memory 2a, 27 ... Cache data memory 2a, 28 ... Address checker a, 29 ... Snoop cache ID register a, 116 ... Shared memory control circuit, 210 ... Shared memory high reliability area, 211 ...
Snoop cache b, 212 ... Microprocessor b, 213 ... Snoop cache control circuit b, 214 ...
Cache tag memories 1b, 215 ... Cache data memories 1b, 216 ... Cache tag memories 2b, 21
7 ... Cache data memory 2b, 218 ... Address checker b, 219 ... Snoop cache ID register b, 220 ... Shared memory normal area.

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】複数のプロセッサが、各々のローカルキャ
ッシュメモリと、ローカルキャッシュメモリ毎に設けら
れたキャッシュ制御装置を介して、共有バス及び共有メ
モリに接続され、各々のローカルキャッシュメモリには
共有メモリに格納されたデータの一部あるいは全体が格
納され、キャッシュ制御装置が共有バスに送出される信
号を常に監視し、監視結果及びキャッシュ制御装置に接
続するプロセッサからの要求に基づき、複数のローカル
キャッシュメモリ間で共有されるデータの内容が変更さ
れた場合、共有されるデータの内容の一致制御を行う共
有バス及び共有メモリを備えたデータ処理装置におい
て、前記共有メモリ領域をアドレスによって高信頼化領
域と通常領域とに分割し、前記ローカルキャッシュメモ
リ毎に設けられた前記キャッシュ制御装置において、前
記プロセッサから読み書き要求のあったデータが、前記
高信頼化領域に属するか前記通常領域に属するかを、前
記アドレスから判定する手段と、前記判定手段により、
前記共有メモリの前記高信頼化領域に属するデータへの
書き込みと判定された場合、全ての同じ共有されるデー
タも同じく変更する一致制御の手段と、前記判定手段に
より、前記共有メモリの前記通常領域に属するデータへ
の書き込みと判定された場合、全ての同じ共有されるデ
ータを無効にする一致制御の手段とを設けたことを特徴
とするデータ処理装置。
1. A plurality of processors are connected to a shared bus and a shared memory via each local cache memory and a cache control device provided for each local cache memory, and each local cache memory has a shared memory. Part of or all of the data stored in the cache controller is stored, and the cache controller constantly monitors the signals sent to the shared bus. Based on the monitoring result and the request from the processor connected to the cache controller, a plurality of local caches are cached. In a data processing device including a shared bus and a shared memory for performing coincidence control of the content of the shared data when the content of the data shared between the memories is changed, the shared memory area is a highly reliable area by an address. And divided into a normal area and the area provided for each local cache memory In the cache controller, the data for which the read and write requests from the processor, whether belonging to the said normal region belongs to a trusted region, means for determining from said address, by the determination means,
When it is determined to write to the data belonging to the high-reliability area of the shared memory, all the same shared data are also changed in the same manner, and the determining means determines the normal area of the shared memory. A data processing device, which is provided with a means for coincidence control that invalidates all the same shared data when it is determined to write to the data belonging to.
【請求項2】請求項1記載のデータ処理装置において、
前記ローカルキャッシュメモリ毎に固有な識別番号を定
め、ローカルキャッシュメモリAのキャッシュ制御装置
Aより、前記共有メモリのアドレス,前記ローカルキャ
ッシュメモリAに接続しているプロセッサAによって変
更された前記共有メモリのデータ,前記共有メモリに対
する命令,前記キャッシュ制御装置A以外のキャッシュ
制御装置に対する命令,前記ローカルキャッシュメモリ
Aと異なるローカルキャッシュメモリBの識別番号n,
前記ローカルキャッシュメモリAの識別番号mの内の一
部あるいは全てを前記共有バスに送出する手段と、前記
ローカルキャッシュメモリBのキャッシュ制御装置B
が、前記キャッシュ制御装置Aより前記共有バスに送出
された前記共有メモリのアドレス,前記ローカルキャッ
シュメモリAに接続しているプロセッサAによって変更
された前記共有メモリのデータ,前記共有メモリに対す
る命令,前記キャッシュ制御装置A以外のキャッシュ制
御装置に対する命令,前記ローカルキャッシュメモリA
と異なるローカルキャッシュメモリBの識別番号n,前
記ローカルキャッシュメモリAの識別番号mの内の一部
あるいは全てを確認する手段と、前記確認の結果、前記
キャッシュ制御装置Bが、前記ローカルキャッシュメモ
リBに対し、前記ローカルキャッシュメモリAと等しい
内容のデータの格納あるいは前記ローカルキャッシュメ
モリAの内容に対する変更と同様の変更あるいはデータ
の無効化を行う手段を設けることを特徴とするデータ処
理装置。
2. The data processing device according to claim 1, wherein
A unique identification number is set for each local cache memory, and the address of the shared memory is changed by the cache control device A of the local cache memory A, and the shared memory changed by the processor A connected to the local cache memory A. Data, an instruction to the shared memory, an instruction to a cache control device other than the cache control device A, an identification number n of a local cache memory B different from the local cache memory A,
Means for transmitting a part or all of the identification number m of the local cache memory A to the shared bus, and the cache control device B of the local cache memory B.
Is the address of the shared memory sent from the cache control device A to the shared bus, the data of the shared memory modified by the processor A connected to the local cache memory A, the instruction to the shared memory, An instruction to a cache control device other than the cache control device A, the local cache memory A
Means for confirming a part or all of the identification number n of the local cache memory B different from the identification number m of the local cache memory A, and as a result of the confirmation, the cache control device B causes the local cache memory B On the other hand, the data processing device is provided with means for storing data having the same content as that of the local cache memory A or for making the same change as the change of the content of the local cache memory A or invalidating the data.
【請求項3】複数のプロセッサが、各々のローカルキャ
ッシュメモリと、ローカルキャッシュメモリ毎に設けら
れたキャッシュ制御装置を介して、共有バス及び共有メ
モリに接続され、各々のローカルキャッシュメモリには
共有メモリに格納されたデータの一部あるいは全体が格
納され、キャッシュ制御装置が共有バスに送出される信
号を常に監視し、監視結果及びキャッシュ制御装置に接
続するプロセッサからの要求に基づき、複数のローカル
キャッシュメモリ間で共有されるデータの内容が変更さ
れた場合、共有されるデータの内容の一致制御を行う共
有バス及び共有メモリを備えたデータ処理装置におい
て、前記ローカルキャッシュメモリのデータへ書き込み
が発生した場合、全ての同じ共有されるデータも同じく
変更する一致制御の手段と、前記ローカルキャッシュメ
モリ毎に固有な識別番号を定め、ローカルキャッシュメ
モリAのキャッシュ制御装置Aより、前記共有メモリの
アドレス、前記ローカルキャッシュメモリAに接続して
いるプロセッサAによって変更された前記共有メモリの
データ,前記共有メモリに対する命令,前記キャッシュ
制御装置A以外のキャッシュ制御装置に対する命令,前
記ローカルキャッシュメモリAと異なるローカルキャッ
シュメモリBの識別番号n,前記ローカルキャッシュメ
モリAの識別番号mの内の一部あるいは全てを前記共有
バスに送出する手段と、前記ローカルキャッシュメモリ
Bのキャッシュ制御装置Bが、前記キャッシュ制御装置
Aより前記共有バスに送出された、前記共有メモリのア
ドレス,前記ローカルキャッシュメモリAに接続してい
るプロセッサAによって変更された前記共有メモリのデ
ータ,前記共有メモリに対する命令,前記キャッシュ制
御装置A以外のキャッシュ制御装置に対する命令,前記
ローカルキャッシュメモリAと異なるローカルキャッシ
ュメモリBの識別番号n,前記ローカルキャッシュメモ
リAの識別番号mの内の一部あるいは全てを確認する手
段と、前記確認の結果、前記キャッシュ制御装置Bが、
前記ローカルキャッシュメモリBに対し、前記ローカル
キャッシュメモリAと等しい内容のデータの格納あるい
は前記ローカルキャッシュメモリAの内容に対する変更
と同様の変更を行う手段を設けることを特徴とするデー
タ処理装置。
3. A plurality of processors are connected to a shared bus and a shared memory via each local cache memory and a cache controller provided for each local cache memory, and each local cache memory has a shared memory. Part of or all of the data stored in the cache controller is stored, and the cache controller constantly monitors the signals sent to the shared bus. Based on the monitoring result and the request from the processor connected to the cache controller, a plurality of local caches are cached. When the content of the data shared between the memories is changed, in the data processing device provided with the shared bus and the shared memory for performing coincidence control of the content of the shared data, writing to the data of the local cache memory occurs. If all of the same shared data changes as well And a unique identification number for each local cache memory, and the cache controller A of the local cache memory A changes the address of the shared memory by the processor A connected to the local cache memory A. Data of the shared memory, an instruction for the shared memory, an instruction for a cache control device other than the cache control device A, an identification number n of a local cache memory B different from the local cache memory A, and an identification number m of the local cache memory A. Means for sending a part or all of the local cache memory to the shared bus; and the cache controller B of the local cache memory B, the address of the shared memory sent from the cache controller A to the shared bus, the local Cash memo Data of the shared memory changed by the processor A connected to A, an instruction for the shared memory, an instruction for a cache controller other than the cache controller A, identification of a local cache memory B different from the local cache memory A Number n, a means for confirming a part or all of the identification number m of the local cache memory A, and as a result of the confirmation, the cache control device B
A data processing apparatus, comprising: means for storing data having the same content as that of the local cache memory A or making the same change to the content of the local cache memory A in the local cache memory B.
【請求項4】請求項2または3記載のデータ処理装置に
おいて、前記ローカルキャッシュメモリを、メモリ1と
メモリ2に分割し、前記ローカルキャッシュメモリAに
属するメモリ1の対として、前記ローカルキャッシュメ
モリAとは異なる前記ローカルキャッシュメモリBに属
するメモリ2を定め、前記共有メモリのデータの書き込
み時に、前記ローカルキャッシュメモリAの前記メモリ
1と、対となる前記ローカルキャッシュメモリBの前記
メモリ2の両方に格納する手段を設けることを特徴とす
るデータ処理装置。
4. The data processing apparatus according to claim 2, wherein the local cache memory is divided into a memory 1 and a memory 2, and the local cache memory A is a pair of the memories 1 belonging to the local cache memory A. A memory 2 belonging to the local cache memory B different from that of the local cache memory B is defined, and both of the memory 1 of the local cache memory A and the memory 2 of the paired local cache memory B are written at the time of writing data in the shared memory A data processing device comprising means for storing.
【請求項5】請求項2または3または4記載のデータ処
理装置において、前記ローカルキャッシュメモリAと、
前記ローカルキャッシュメモリBの対の内の一方に障害
が発生し、データの格納が不可能となり、かつ残された
一方の前記ローカルキャッシュメモリに格納された前記
共有メモリのデータに対して、他のマイクロプロセッサ
より読み出し要求が発生した場合、残された一方の前記
ローカルキャッシュメモリの前記キャッシュ制御装置よ
り、前記データを前記共有バスに送出する手段を設ける
ことを特徴とするデータ処理装置。
5. The data processing device according to claim 2, 3 or 4, wherein the local cache memory A is provided.
One of the pair of the local cache memories B has a failure, which makes it impossible to store the data, and the remaining one of the local cache memories stores the other data in the shared memory. A data processing device comprising means for sending the data to the shared bus from the cache control device of the remaining one local cache memory when a read request is issued from the microprocessor.
【請求項6】請求項2または3または4記載のデータ処
理装置において、前記ローカルキャッシュメモリAと、
前記ローカルキャッシュメモリBの対の内の一方に障害
が発生し、データの格納が不可能となり、かつ残された
一方の前記ローカルキャッシュメモリに格納された、前
記共有メモリのデータに変更が発生した場合、前記ロー
カルキャッシュメモリの前記キャッシュ制御装置より、
前記共有メモリへの書き戻し命令、及び変更内容を前記
共有バスに送出する手段を設けることにより、前記変更
内容を前記共有メモリへ書き戻すことを特徴とするデー
タ処理装置。
6. The data processing apparatus according to claim 2, 3 or 4, wherein the local cache memory A is provided.
One of the pairs of the local cache memory B has failed, data cannot be stored, and the data in the shared memory stored in the remaining one of the local cache memories has been changed. In this case, from the cache control device of the local cache memory,
A data processing device, characterized in that the change contents are written back to the shared memory by providing a means for sending a write back command to the shared memory and the changed contents to the shared bus.
【請求項7】請求項2または3または4記載のデータ処
理装置において、前記ローカルキャッシュメモリのデー
タ毎に、前記データが前記共有メモリの内容より新しい
か否かを示すオーナーフラグを設けることと、前記ロー
カルキャッシュメモリAの前記メモリ1と、前記ローカ
ルキャッシュメモリBの前記メモリ2の対の内の一方に
障害が発生し、データの格納が不可能となった場合、残
された一方の前記ローカルキャッシュメモリの前記キャ
ッシュ制御装置が、前記オーナーフラグをチェックし、
前記ローカルキャッシュメモリに格納された、前記共有
メモリのデータの内、前記共有メモリの内容より新しい
内容を持つデータを見つけ出す手段と、残された一方の
前記ローカルキャッシュメモリの前記キャッシュ制御装
置が、前記ローカルキャッシュメモリに格納された、前
記共有メモリのデータの内、前記共有メモリの内容より
新しい内容を持つ全てのデータを、前記ローカルキャッ
シュメモリの前記キャッシュ制御装置より、前記共有メ
モリへの書き戻し命令、及び変更内容を前記共有バスに
送出する手段を設けることにより、前記共有バスの空き
時間を利用して、前記共有メモリへ書き戻す手段を設け
ることを特徴とするデータ処理装置。
7. The data processing device according to claim 2, 3 or 4, wherein an owner flag indicating whether or not the data is newer than the contents of the shared memory is provided for each data in the local cache memory. When a failure occurs in one of the pair of the memory 1 of the local cache memory A and the memory 2 of the local cache memory B, and the data cannot be stored, the remaining one of the local caches is stored. The cache controller of the cache memory checks the owner flag,
The means for finding data having a newer content than the content of the shared memory among the data of the shared memory stored in the local cache memory, and the cache control device of the one remaining local cache memory, A command for writing back to the shared memory, from the cache control device of the local cache memory, all the data stored in the local cache memory and having a newer content than the content of the shared memory. , And a means for sending the changed contents to the shared bus, thereby providing means for writing back to the shared memory by utilizing the idle time of the shared bus.
JP6232771A 1994-09-28 1994-09-28 Data processing device using snoop cache Pending JPH0895862A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6232771A JPH0895862A (en) 1994-09-28 1994-09-28 Data processing device using snoop cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6232771A JPH0895862A (en) 1994-09-28 1994-09-28 Data processing device using snoop cache

Publications (1)

Publication Number Publication Date
JPH0895862A true JPH0895862A (en) 1996-04-12

Family

ID=16944489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6232771A Pending JPH0895862A (en) 1994-09-28 1994-09-28 Data processing device using snoop cache

Country Status (1)

Country Link
JP (1) JPH0895862A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484242B2 (en) 2000-07-14 2002-11-19 Hitachi, Ltd. Cache access control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484242B2 (en) 2000-07-14 2002-11-19 Hitachi, Ltd. Cache access control system

Similar Documents

Publication Publication Date Title
JP3888769B2 (en) Data supply method and computer system
JP4050225B2 (en) Method and apparatus for facilitating speculative storage in a multiprocessor system
US6990559B2 (en) Mechanism for resolving ambiguous invalidates in a computer system
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US6438659B1 (en) Directory based cache coherency system supporting multiple instruction processor and input/output caches
KR100293136B1 (en) Method of shared intervention for cache lines in the recently read state for smp bus
JP4050226B2 (en) Use of L2 directory to facilitate speculative storage in multiprocessor systems
US6148416A (en) Memory update history storing apparatus and method for restoring contents of memory
EP1131715B1 (en) Distributed transactional processing system and method
CN101178692B (en) Cache memory system and method for providing transactional memory
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
JPH04268649A (en) Method for controlling entry of data block into memory
JPH037978B2 (en)
KR19980079662A (en) Shared Intervention Method of Cache Lines in SMP Bus Shared State
US20090327600A1 (en) Optimized cache coherency in a dual-controller storage array
WO2024124977A1 (en) Cache state recording method and apparatus, data access method and apparatus, and device
JPH04336641A (en) Data cache and method for use in processing system
US6895476B2 (en) Retry-based late race resolution mechanism for a computer system
JPH0895862A (en) Data processing device using snoop cache
JP3083786B2 (en) Memory update history storage device and memory update history storage method
JP2707958B2 (en) Cache matching processing control device
JPH07295883A (en) Information processing equipment
US8131939B2 (en) Distributed shared I/O cache subsystem
JP3833760B2 (en) Computer system and memory state restoration device
JP3566746B2 (en) Information processing equipment