JP2000305840A - Cache memory and its fault detection method - Google Patents

Cache memory and its fault detection method

Info

Publication number
JP2000305840A
JP2000305840A JP11117550A JP11755099A JP2000305840A JP 2000305840 A JP2000305840 A JP 2000305840A JP 11117550 A JP11117550 A JP 11117550A JP 11755099 A JP11755099 A JP 11755099A JP 2000305840 A JP2000305840 A JP 2000305840A
Authority
JP
Japan
Prior art keywords
auxiliary
data memory
memory
address array
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11117550A
Other languages
Japanese (ja)
Other versions
JP3494072B2 (en
Inventor
Shuzo Wadasaki
修三 和田崎
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP11755099A priority Critical patent/JP3494072B2/en
Publication of JP2000305840A publication Critical patent/JP2000305840A/en
Application granted granted Critical
Publication of JP3494072B2 publication Critical patent/JP3494072B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To surely detect an error in a cache memory due to a miss on logical design or a data change. SOLUTION: A cache memory 100 having an auxiliary address array 120 for storing a copy of a part of an address array 110 and an auxiliary data memory 140 for storing a copy of a part of a data memory 130 detects the non-coincidence of contents between both the memories 130, 140 by a comparator 172. A mode storing circuit 171 stores a storage mode indicating whether write based on a storing instruction is to be reflected to the memory 140 or not and a dynamic mode indicating whether a fill due to a cache miss is to be reflected to the array 120 or not.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、キャッシュメモリ
に関し、特に診断機能を有するキャッシュメモリ及びそ
の診断方法に関する。
The present invention relates to a cache memory, and more particularly to a cache memory having a diagnostic function and a diagnostic method thereof.

【0002】[0002]

【従来の技術】プロセッサの集積度及び動作周波数の向
上により、コンピュータシステムは短時間に多くのデー
タを処理することが可能となった。しかし、主記憶装置
の動作周波数の向上はプロセッサに比べ緩やかで、デー
タの読込み又は書込みによって処理全体の多くの時間を
費やすことになり、コンピュータシステム全体の処理性
能の向上の妨げとなっている。このため、主記憶装置の
一部のコピーをプロセッサ内に保持し、高速にデータを
読み出し又は書き込むことができるキャッシュメモリが
開発された。これにより、頻繁に参照するデータに関し
ては高速にロードすることができ、データの供給が性能
上のネックとなる問題を解決した。
2. Description of the Related Art The improvement in the degree of integration and operating frequency of processors has made it possible for computer systems to process a large amount of data in a short time. However, the operation frequency of the main storage device is improved more slowly than that of the processor, and much time is spent in reading or writing data, thereby hindering improvement in the processing performance of the entire computer system. For this reason, a cache memory has been developed in which a copy of the main storage device is retained in the processor and data can be read or written at high speed. As a result, frequently referenced data can be loaded at a high speed, and the problem that data supply becomes a performance bottleneck has been solved.

【0003】[0003]

【発明が解決しようとする課題】しかし、キャッシュメ
モリの内容の更新は一般的に非同期であり、設計段階で
想定していないようなタイミングで動作するケースも多
く、ソフトウェアシミュレーションでは検出できないよ
うな論理設計上のミスが残る可能性がある。実機での評
価又は検証段階で問題が発生した場合、非同期な更新が
行われるため、たとえ命令トレーサーがエラーログとし
て採取できたとしても、エラー原因となったアドレスの
更新タイミングを特定することが難しい。このため、キ
ャッシュメモリから読み出されたデータが誤っているこ
とが判明しても、いつ更新が行われ、どの様なデータが
メモリからロードされたのかを追求するのは困難であ
る。
However, the update of the contents of the cache memory is generally asynchronous, and often operates at a timing that is not assumed in the design stage. Design errors may remain. If a problem occurs during the evaluation or verification stage on the actual machine, the update is performed asynchronously, so even if the instruction tracer can collect it as an error log, it is difficult to identify the update timing of the address that caused the error . For this reason, even if it turns out that the data read from the cache memory is incorrect, it is difficult to determine when data is updated and what data is loaded from the memory.

【0004】さらに、ランダムアクセスメモリ(RA
M)の故障に対し、従来のパリティチェックの手法で
は、間欠故障で偶然パリティビットが一致した場合等に
は故障を検出できず、チェックの網羅率が低い。また、
読出しデータの不一致が検出されても、故障によるもの
か論理設計上のミスによるものかの判断が遅れるという
問題がある。
Further, a random access memory (RA)
In contrast to the failure in M), the conventional parity check method cannot detect a failure when the parity bits coincide with each other due to an intermittent failure, and the coverage of the check is low. Also,
Even if the mismatch of the read data is detected, there is a problem that the determination as to whether it is due to a failure or a logic design error is delayed.

【0005】これに対し、例えば特開昭2−27555
1号公報では、キャッシュメモリ及び主メモリから読み
出された2つのデータを比較して不一致を検出するデバ
ッグ装置が記載されている。しかし、この文献記載の装
置では、エラー検出のためには主メモリへのアクセスが
必要となり、性能が低下するばかりでなく、デバッグモ
ードと通常運転モードとの間で動作タイミングが異な
り、再現性が保証できないという問題も生じる。
On the other hand, for example, Japanese Patent Laid-Open No. 27555/1982
Japanese Patent Laid-Open Publication No. 1 (1999) discloses a debugging device that compares two data read from a cache memory and a main memory to detect a mismatch. However, in the device described in this document, access to the main memory is required for error detection, which not only degrades performance, but also has different operation timing between the debug mode and the normal operation mode, resulting in poor reproducibility. There is also a problem that it cannot be guaranteed.

【0006】本発明の目的は、従来の問題を解決して、
キャッシュメモリにおけるエラーを確実に検出すること
にある。
An object of the present invention is to solve the conventional problems,
An object of the present invention is to reliably detect an error in a cache memory.

【0007】[0007]

【課題を解決するための手段】上記課題を解決するため
に本発明のキャッシュメモリは、キャッシュメモリの記
憶する内容の少なくとも一部を記憶する補助データメモ
リを内部に有し、この補助データメモリの内容が当該キ
ャッシュメモリと一致しない場合には当該キャッシュメ
モリに障害が発生したことを検出する。
In order to solve the above-mentioned problems, a cache memory according to the present invention has therein an auxiliary data memory for storing at least a part of the contents stored in the cache memory. If the content does not match the cache memory, it is detected that a failure has occurred in the cache memory.

【0008】また、本発明の他のキャッシュメモリは、
アドレスを記憶するアドレスアレイ及びこのアドレスア
レイに記憶されたアドレスに対応するデータを記憶する
データメモリを有するキャッシュメモリにおいて、前記
アドレスアレイに記憶されたアドレスのうち少なくとも
一つのコピーをその各エントリに記憶する補助アドレス
アレイと、この補助アドレスアレイの各エントリに記憶
されたアドレスに対応して前記データメモリに記憶され
たデータを記憶する補助データメモリと、この補助デー
タメモリに記憶された内容が前記データメモリの内容と
一致するか否かを検出する比較器とを含む。
Further, another cache memory of the present invention comprises:
In a cache memory having an address array for storing addresses and a data memory for storing data corresponding to the addresses stored in the address array, at least one copy of the addresses stored in the address array is stored in each entry. An auxiliary address array, an auxiliary data memory for storing data stored in the data memory corresponding to an address stored in each entry of the auxiliary address array, and a content stored in the auxiliary data memory. And a comparator for detecting whether or not the contents match the contents of the memory.

【0009】また、本発明の他のキャッシュメモリは、
ストアモードを保持するモード保持回路をさらに含み、
前記ストアモードがアクティブな場合は前記データメモ
リへの書込みのうちキャッシュフィル及びストア命令の
何れによるものも前記補助データメモリに反映し、前記
ストアモードがアクティブでない場合は前記データメモ
リへの書込みのうちキャッシュフィルによるものを前記
補助データメモリに反映してストア命令によるものは反
映しない。
Further, another cache memory of the present invention comprises:
A mode holding circuit for holding a store mode,
When the store mode is active, any of the cache fill and store instructions among the writes to the data memory are reflected in the auxiliary data memory, and when the store mode is not active, the write to the data memory is performed. The result of the cache fill is reflected in the auxiliary data memory, and the result of the store instruction is not reflected.

【0010】また、本発明の他のキャッシュメモリにお
いて、前記比較器は、前記ストアモードがアクティブな
場合に有効な値を出力し、前記ストアモードがアクティ
ブでない場合には有効な値を出力しない。
In another cache memory according to the present invention, the comparator outputs a valid value when the store mode is active, and does not output a valid value when the store mode is not active.

【0011】また、本発明の他のキャッシュメモリにお
いて、前記モード保持回路はさらにダイナミックモード
を保持し、キャッシュフィルにより前記アドレスアレイ
が更新される際に、前記ダイナミックモードがアクティ
ブな場合は前記補助アドレスアレイにも同様の更新内容
を反映し、前記ダイナミックモードがアクティブでない
場合は前記補助アドレスアレイには反映しない。
In another cache memory according to the present invention, the mode holding circuit further holds a dynamic mode. When the address array is updated by a cache fill, if the dynamic mode is active, the auxiliary address The same update content is reflected in the array, and is not reflected in the auxiliary address array when the dynamic mode is not active.

【0012】また、本発明の他のキャッシュメモリにお
いて、前記補助アドレスアレイは、割込み発生条件を設
定される監視対象レジスタと、この監視対象レジスタに
設定された条件に一致したか否かを検出する一致検出器
とを含む。
In another cache memory according to the present invention, the auxiliary address array detects a monitored register in which an interrupt generation condition is set, and detects whether the condition set in the monitored register is met. A match detector.

【0013】また、本発明の他のキャッシュメモリにお
いて、前記監視対象レジスタは、命令コードとアクセス
先アドレスとを割込み発生条件として保持する。
In another cache memory according to the present invention, the monitoring target register holds an instruction code and an access destination address as an interrupt occurrence condition.

【0014】また、本発明の他のキャッシュメモリにお
いて、前記アドレスアレイは、前記一致検出器における
条件一致に応答して計数されるカウンタと、このカウン
タの出力を一つの入力として他の入力との一致を検出す
る回数比較器とをさらに含み、前記監視対象レジスタは
前記一致検出器における検出回数の期待値をさらに保持
し、前記回数比較器は前記カウンタの値が前記監視対象
レジスタに保持された期待値と一致した場合に割込みの
発生を通知する。
In another cache memory according to the present invention, the address array includes a counter that counts in response to a condition match in the match detector and an output of the counter as one input and another input. A number comparator for detecting a match, wherein the monitored register further holds an expected value of the number of detections in the match detector, and the number comparator has a value of the counter held in the monitored register. Notifies the occurrence of an interrupt when the value matches the expected value.

【0015】また、本発明の他のキャッシュメモリにお
いて、前記監視対象レジスタは、命令コードとレジスタ
番号とを割込み発生条件として保持する。
In another cache memory according to the present invention, the register to be monitored holds an instruction code and a register number as an interrupt occurrence condition.

【0016】また、本発明の他のキャッシュメモリにお
いて、前記アドレスアレイは、前記一致検出器における
条件一致に応答して計数されるカウンタと、このカウン
タの出力を一つの入力として他の入力との一致を検出す
る回数比較器とをさらに含み、前記監視対象レジスタ
は、前記一致検出器における検出回数の期待値をさらに
保持し、前記回数比較器は前記カウンタの値が前記監視
対象レジスタに保持された期待値と一致した場合に割込
みの発生を通知する。
In another cache memory according to the present invention, the address array includes a counter counted in response to a condition match in the match detector, and an output of the counter as one input and another input. A number comparator for detecting a match, wherein the register to be monitored further holds an expected value of the number of times of detection in the match detector, and the number of comparators holds the value of the counter in the register to be monitored. Notify that an interrupt has occurred when the value matches the expected value.

【0017】また、本発明のキャッシュメモリにおける
障害検出方法は、アドレスを記憶するアドレスアレイ
と、このアドレスアレイに記憶されたアドレスに対応す
るデータを記憶するデータメモリと、前記アドレスアレ
イに記憶されたアドレスのうち少なくとも一つのコピー
をその各エントリに記憶する補助アドレスアレイと、こ
の補助アドレスアレイの各エントリに記憶されたアドレ
スに対応して前記データメモリに記憶されたデータを記
憶する補助データメモリと、ストアモードを保持するモ
ード保持回路とを有するキャッシュメモリにおける障害
検出方法であって、前記ストアモードがアクティブな場
合は前記データメモリへの書込みのうちキャッシュフィ
ル及びストア命令の何れによるものも前記補助データメ
モリに反映し、前記ストアモードがアクティブでない場
合は前記データメモリへの書込みのうちキャッシュフィ
ルによるものを前記補助データメモリに反映してストア
命令によるものは反映しないように制御し、前記ストア
モードがアクティブな場合には前記補助データメモリに
記憶された内容が前記データメモリの内容と一致するか
否かを出力し、一致すると判断された場合にはキャッシ
ュヒットしていれば障害発生の割込み信号を発生する。
In the method of detecting a failure in a cache memory according to the present invention, an address array for storing an address, a data memory for storing data corresponding to an address stored in the address array, and a data memory for storing data in the address array are provided. An auxiliary address array for storing at least one copy of the address in each entry thereof; and an auxiliary data memory for storing data stored in the data memory corresponding to the address stored in each entry of the auxiliary address array. A failure detection method in a cache memory having a mode holding circuit for holding a store mode, wherein when the store mode is active, any of writing to the data memory by a cache fill and a store instruction is also used as the auxiliary. Reflected in data memory, When the tore mode is not active, control is performed so that the data written to the data memory due to the cache fill is reflected in the auxiliary data memory so that the data written by the store instruction is not reflected. It outputs whether or not the content stored in the data memory matches the content of the data memory. If it is determined that the content matches the content of the data memory, an interrupt signal indicating that a failure has occurred is generated if a cache hit occurs.

【0018】また、本発明の他のキャッシュメモリにお
ける障害検出方法は、前記モード保持回路はさらにダイ
ナミックモードを保持し、前記ダイナミックモードがア
クティブな場合はキャッシュフィルの際に前記補助アド
レスアレイを更新する。
In another fault detection method for a cache memory according to the present invention, the mode holding circuit further holds a dynamic mode, and when the dynamic mode is active, updates the auxiliary address array when a cache fill is performed. .

【0019】また、本発明の他のキャッシュメモリにお
ける障害検出方法は、さらに、所定の条件を所定回数満
たすと割込みを発生し、割込みが発生すると、前記アド
レスアレイ、前記データメモリ、前記補助アドレスアレ
イ、及び、前記補助データメモリの内容を採取する。
Further, according to another failure detection method for a cache memory of the present invention, an interrupt is generated when a predetermined condition is satisfied a predetermined number of times, and when an interrupt occurs, the address array, the data memory, and the auxiliary address array And the contents of the auxiliary data memory are collected.

【0020】[0020]

【発明の実施の形態】次に本発明のキャッシュメモリの
実施の形態について図面を参照して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, an embodiment of a cache memory according to the present invention will be described in detail with reference to the drawings.

【0021】図1を参照すると、本発明の適用されるコ
ンピュータシステムは、演算等の処理を行うプロセッサ
200と、プロセッサ200の処理に必要なデータを保
持する主記憶装置300とを有し、プロセッサ200と
主記憶装置300との間にキャッシュメモリ100を有
する。そして、キャッシュメモリ100には、キャッシ
ュメモリ100の診断を行う診断装置400が接続され
ている。
Referring to FIG. 1, a computer system to which the present invention is applied has a processor 200 for performing processing such as arithmetic and the like, and a main storage device 300 for holding data necessary for processing of the processor 200. The cache memory 100 is provided between the main memory 200 and the main memory 300. A diagnostic device 400 that diagnoses the cache memory 100 is connected to the cache memory 100.

【0022】図2を参照すると、本発明のキャッシュメ
モリの実施の形態は、通常のキャッシュメモリと同様
に、アドレスアレイ110及びデータメモリを有し、ア
クセスされたアドレスがアドレスアレイ110に保持さ
れているか否かが比較器161によって検索される。本
発明においては、さらにアドレスアレイ110の一部の
内容を保持する補助アドレスアレイ120と、データメ
モリ130の一部の内容を保持する補助データメモリ1
40と、データメモリ130と補助データメモリ140
との間の不一致を検出する比較器172とを含む。ま
た、補助アドレスアレイ120及び補助データメモリ1
40の動作を制御するモードを保持するモード保持回路
171をさらに含む。
Referring to FIG. 2, an embodiment of the cache memory according to the present invention has an address array 110 and a data memory, similarly to a normal cache memory, and accessed addresses are held in the address array 110. The comparator 161 searches for the presence or absence. In the present invention, the auxiliary address array 120 for holding a part of the contents of the address array 110 and the auxiliary data memory 1 for holding a part of the contents of the data memory 130 are further provided.
40, data memory 130 and auxiliary data memory 140
And a comparator 172 for detecting a mismatch between Further, the auxiliary address array 120 and the auxiliary data memory 1
A mode holding circuit 171 for holding a mode for controlling the operation of 40 is further included.

【0023】命令レジスタ151は、プロセッサ200
から信号線203により入力された命令コードを保持す
る。アドレスレジスタ152は、プロセッサ200から
信号線201により入力されたアクセスアドレスを保持
する。ストアデータレジスタ153は、プロセッサ20
0から信号線202により入力されたストアデータを保
持する。ストアデータレジスタ153は、ストア命令の
際に使用され、ロード命令の際には使用されない。
The instruction register 151 is provided in the processor 200
And the instruction code input from the signal line 203 is retained. The address register 152 holds an access address input from the processor 200 via the signal line 201. The store data register 153 stores the processor 20
From 0, the store data input by the signal line 202 is held. The store data register 153 is used at the time of a store instruction, and is not used at the time of a load instruction.

【0024】キャッシュメモリ100でロード命令に対
するキャッシュミスが生じると、該当するブロックデー
タをフィルするために、キャッシュメモリ100は主記
憶装置300に対してフィル用ブロックデータの読出し
を指示する。フィルデータバッファ154は、このフィ
ル用ブロックデータを主記憶装置300から信号線30
2を介して受け取り、保持する。このフィルデータバッ
ファ154は、データメモリ130への書込みが要求通
りの順序になるように整列させる。具体的には、主記憶
装置300からのブロックデータと同時に、ブロック毎
に付与されたタグと、ブロック内のポジションとが信号
線301を介して主記憶装置300から入力され、これ
らタグとポジションに従ってフィルデータバッファ15
4における格納場所が決定される。例えば、主記憶装置
300に対して要求できるリクエストの数を2とすれば
タグは「0」か「1」の何れかになり、1ブロック当た
り128バイトのデータが8バイトを単位としてキャッ
シュメモリ100に転送されるのであればポジションは
「0」から「15」の何れかの値になる。
When a cache miss for a load instruction occurs in the cache memory 100, the cache memory 100 instructs the main memory 300 to read the fill block data in order to fill the corresponding block data. The fill data buffer 154 transfers the fill block data from the main storage device 300 to the signal line 30.
Receive via 2 and hold. The fill data buffer 154 arranges the writing to the data memory 130 such that the order is as requested. Specifically, at the same time as the block data from the main storage device 300, a tag assigned to each block and a position in the block are input from the main storage device 300 via a signal line 301, and according to these tags and positions, Fill data buffer 15
4 is determined. For example, if the number of requests that can be requested to the main storage device 300 is 2, the tag is either “0” or “1”, and data of 128 bytes per block is stored in the cache memory 100 in units of 8 bytes. , The position becomes any value from “0” to “15”.

【0025】なお、ストア命令によるアドレスがキャッ
シュメモリに存在しない場合にはフィル動作を行わない
ものとして、以下ではキャッシュミスとはロード命令に
よるキャッシュミスを指すものとする。また、一般にロ
ード命令としては、対象データをキャッシュメモリに保
持するキャッシュアブルなロード命令と、そうでないロ
ード命令とが考えられるが、以下ではロード命令とはキ
ャッシュアブルなロード命令であるものとして説明す
る。
When the address by the store instruction does not exist in the cache memory, the fill operation is not performed. Hereinafter, the cache miss indicates the cache miss by the load instruction. In general, a load instruction may be a cacheable load instruction that holds target data in a cache memory or a load instruction that does not, but hereinafter, the load instruction will be described as a cacheable load instruction. .

【0026】キャッシュミスの際にフィル動作を行うの
がミス処理回路155である。ミス処理回路155は、
フィル動作中のブロックアドレスを内部に保持してお
き、主記憶装置300から信号線301を介して転送さ
れたタグに基づいて該当するブロックアドレスを選択器
157に出力する。また、、ミス処理回路155は、信
号線301から入力されたタグ及びポジションに従って
信号線302から入力されたデータをフィルデータバッ
ファ154に格納させる。さらに、ミス処理回路155
は、信号線193を介して、ミスヒット時のアドレスア
レイ110の更新を制御する。
The miss processing circuit 155 performs a fill operation in the event of a cache miss. The miss processing circuit 155
The block address during the fill operation is held internally, and the corresponding block address is output to the selector 157 based on the tag transferred from the main storage device 300 via the signal line 301. Further, the miss processing circuit 155 causes the data input from the signal line 302 to be stored in the fill data buffer 154 according to the tag and the position input from the signal line 301. Further, a miss processing circuit 155
Controls updating of the address array 110 at the time of a mishit via the signal line 193.

【0027】デコーダ156は、命令レジスタ151に
保持された命令がストア命令でかつキャッシュヒットし
た場合またはキャッシュフィルの場合を検出し、データ
メモリ130に対して更新信号を出力する。
The decoder 156 detects a case where the instruction held in the instruction register 151 is a store instruction and a cache hit or a cache fill, and outputs an update signal to the data memory 130.

【0028】選択器157は、ストア時にはアドレスレ
ジスタ152に保持されたアドレスを選択し、キャッシ
ュミスによるフィル時にはミス処理回路155からのア
ドレスを選択して、信号線191に出力する。
The selector 157 selects the address held in the address register 152 at the time of storing, and selects the address from the miss processing circuit 155 at the time of filling due to a cache miss, and outputs the selected address to the signal line 191.

【0029】選択器159及び158は、フィルデータ
バッファ154からのフィル用データ及びストアデータ
レジスタ153からのストアデータの何れかを選択し
て、それぞれデータメモリ130及び補助データメモリ
140に入力する。
The selectors 159 and 158 select either the fill data from the fill data buffer 154 or the store data from the store data register 153 and input them to the data memory 130 and the auxiliary data memory 140, respectively.

【0030】モード保持回路171は、後述するモード
を保持し、補助アドレスアレイ120及び比較器172
に対して現在のモードを出力する。比較器172は、デ
ータメモリ130からのデータと補助データメモリ14
0からのデータとを比較して、両者が一致するか否かを
信号線205によりプロセッサ200へ出力する。モー
ド保持回路171が所定のモードを示している場合は、
比較器172は不一致信号を出力しない。
The mode holding circuit 171 holds a mode to be described later, and stores the auxiliary address array 120 and the comparator 172.
Outputs the current mode to. The comparator 172 stores the data from the data memory 130 and the auxiliary data memory 14.
The data is compared with data from 0, and whether or not they match is output to the processor 200 via a signal line 205. When the mode holding circuit 171 indicates a predetermined mode,
The comparator 172 does not output a mismatch signal.

【0031】データメモリ130から読み出されたデー
タは、ロードデータレジスタ173に保持されて、信号
線204によりプロセッサ200へ出力される。比較器
161によるヒット/ミス判定は信号線206によりプ
ロセッサ200へ出力される。また、補助アドレスアレ
イ120において検出された割込みは、信号線207を
介してプロセッサ200へ出力される。
The data read from the data memory 130 is held in the load data register 173 and output to the processor 200 via the signal line 204. The hit / miss judgment by the comparator 161 is output to the processor 200 via the signal line 206. The interrupt detected in the auxiliary address array 120 is output to the processor 200 via the signal line 207.

【0032】モード保持回路171の保持するモードに
は二種類ある。一つはストアモードであり、他の一つは
ダイナミックモードである。ストアモードがアクティブ
の場合には、キャッシュミスによるフィル時とストア命
令による書込み時の何れの場合にも補助データメモリ1
40への更新を行う。一方、ストアモードがアクティブ
でない場合には、フィル時のみ補助データメモリ140
への更新を行い、ストア命令による書込み時には補助デ
ータメモリ140への更新は行わない。また、ダイナミ
ックモードがアクティブの場合には、キャッシュミスに
よるフィルの度にいわば動的に補助アドレスアレイ12
0を更新する。一方、ダイナミックモードがアクティブ
でない場合には、キャッシュミスによるフィルがあって
も補助アドレスアレイ120を更新せず、初期設定のま
まで動作を継続する。
The mode held by the mode holding circuit 171 is of two types. One is a store mode and the other is a dynamic mode. When the store mode is active, the auxiliary data memory 1 is used for both a fill due to a cache miss and a write due to a store instruction.
Update to 40. On the other hand, if the store mode is not active, the auxiliary data
To the auxiliary data memory 140 at the time of writing by the store instruction. Further, when the dynamic mode is active, the auxiliary address array 12 is dynamically generated every time a cache miss is caused.
Update 0. On the other hand, when the dynamic mode is not active, the auxiliary address array 120 is not updated even if there is a fill due to a cache miss, and the operation continues with the initial setting.

【0033】これらストアモード及びダイナミックモー
ドはそれぞれ独立して作用するものであり、前者は補助
データメモリ140の更新を制御し、後者は補助アドレ
スアレイ120の更新を制御する。ストアモードをアク
ティブにすれば、データメモリ130への更新は補助デ
ータメモリ140に反映されていくため、比較器172
においてエラーを検出することができる。一方、ストア
モードがアクティブでない場合には、補助データメモリ
140が最新の状態になっているとは限らないため、比
較器172で不一致を検出してもそれが必ずしもエラー
を意味するとは限らない。従って、この場合、比較器1
72は不一致を出力しない。ストアモードを設けたの
は、ストアモードをアクティブでない状態にして補助デ
ータメモリ140の内容を採取することにより、ストア
命令を他の命令と切り分けることができるようにするた
めである。すなわち、ストアモードをアクティブにして
補助データメモリ140の更新をデータメモリ130と
同じにしたものと、ストアモードをアクティブでない状
態にしてストア命令による書込みをデータメモリ130
のみにしたものとの差分を分析することにより、エラー
の原因がキャッシュフィルによるものかあるいはストア
命令によるものなのかを切り分けるためである。エラー
の原因としては、論理上のミスにより意図しないストア
命令が生じてしまった場合、ストア対象のアドレスが化
けてしまった場合、キャッシュフィルのシーケンスに論
理上のミスがある場合、α線等の影響によりデータメモ
リの内容が化けてしまった場合などが考えられる。
The store mode and the dynamic mode operate independently of each other. The former controls the update of the auxiliary data memory 140, and the latter controls the update of the auxiliary address array 120. When the store mode is activated, the update to the data memory 130 is reflected in the auxiliary data memory 140.
Can detect an error. On the other hand, when the store mode is not active, since the auxiliary data memory 140 is not always in the latest state, even if a mismatch is detected by the comparator 172, this does not necessarily mean an error. Therefore, in this case, the comparator 1
72 does not output a mismatch. The store mode is provided so that the store instruction can be separated from other instructions by inactivating the store mode and collecting the contents of the auxiliary data memory 140. That is, the update of the auxiliary data memory 140 is made the same as that of the data memory 130 by activating the store mode.
This is because the difference between the error and the result of only the error is analyzed to determine whether the error is caused by a cache fill or a store instruction. The cause of the error is that an unintended store instruction is generated due to a logical mistake, the address to be stored is corrupted, a cache fill sequence has a logical miss, It is possible that the contents of the data memory are garbled due to the influence.

【0034】ダイナミックモードをアクティブにすれ
ば、キャッシュミスによるフィルの際にアドレスアレイ
110の更新と同時に補助アドレスアレイ120も更新
されるため、更新されたばかりのアドレスについて適宜
チェックすることができる。一方、ダイナミックモード
をアクティブでないようにすれば、補助アドレスアレイ
120の内容は初期設定のままであるので、所望のアド
レスについて重点的にチェックすることができる。
When the dynamic mode is activated, the auxiliary address array 120 is updated at the same time as the address array 110 is updated at the time of a fill due to a cache miss, so that the address just updated can be appropriately checked. On the other hand, if the dynamic mode is not activated, the contents of the auxiliary address array 120 are left at the initial settings, so that the desired address can be checked mainly.

【0035】なお、補助アドレスアレイ120及びモー
ド保持回路171への設定は、それぞれ信号線401及
び403を介して診断装置400が行う。また、診断装
置400において補助アドレスアレイ120、補助デー
タメモリ140及びモード保持回路171の内容を採取
する場合も、それぞれ信号線401乃至403が使用さ
れる。
The setting of the auxiliary address array 120 and the mode holding circuit 171 is performed by the diagnostic apparatus 400 via signal lines 401 and 403, respectively. Also, when the contents of the auxiliary address array 120, the auxiliary data memory 140, and the mode holding circuit 171 are collected in the diagnostic device 400, the signal lines 401 to 403 are used, respectively.

【0036】図3を参照すると、本発明の第1の実施の
形態における補助アドレスアレイ120は、ここでは4
組のアドレスレジスタ122と比較器123を有してい
る。何組設けるかはシステムの要求に応じて任意に設定
してよい。アドレスレジスタ122は、アドレスアレイ
110のブロック(ライン)に対応するアドレスを保持
する。補助アドレスアレイ120は、アドレスアレイ1
10と比較してエントリ数が少なくなるため、アドレス
アレイ110の全てのエントリを保持するわけにはいか
ない。上述のダイナミックモードを使用する場合、新た
にキャッシュミスによるフィルが生じた際に、古いエン
トリから順次削除していくことになる。そのような制御
方法として、登録すべきアドレスレジスタを順次ラウン
ドロビンで選択していく手法が考えられる。例えば、最
初にアドレス#0レジスタに登録し、次にアドレス#1
レジスタに登録し、次にアドレス#2レジスタに登録
し、次にアドレス#3レジスタに登録し、次にアドレス
#0レジスタに登録する、というように、古いものから
順次上書きしていく。これを実現するためには登録すべ
きエントリを示すカウンタを用意すればよい。
Referring to FIG. 3, the auxiliary address array 120 according to the first embodiment of the present invention
It has a set of address registers 122 and a comparator 123. The number of sets may be arbitrarily set according to the requirements of the system. The address register 122 holds an address corresponding to a block (line) of the address array 110. The auxiliary address array 120 includes the address array 1
Since the number of entries is smaller than 10, not all entries in the address array 110 can be held. When the above-described dynamic mode is used, when a new fill occurs due to a cache miss, old entries are deleted sequentially. As such a control method, a method is conceivable in which address registers to be registered are sequentially selected in a round robin manner. For example, first register in the address # 0 register, and then register address # 1
Register in the register, then register in the address # 2 register, then register in the address # 3 register, then register in the address # 0 register, and so on. In order to realize this, a counter indicating the entry to be registered may be prepared.

【0037】アドレスレジスタ122の各々には有効か
否かを表すバリッドビットが含まれており、これが「有
効」を示しているものが対応する比較器123における
比較対象となる。各比較器123の比較結果は、エンコ
ーダ124においてまとめられ、「00」、「01」、
「10」、「11」の何れか一致したエントリの番号
(以下、ローカルアドレスという。)が示される。この
ローカルアドレスは、アドレスの下位部分と共に信号線
194を介して補助データメモリ140に出力される。
Each of the address registers 122 includes a valid bit indicating whether the address register is valid or not. The one indicating "valid" is to be compared in the corresponding comparator 123. The comparison result of each comparator 123 is compiled in the encoder 124, and “00”, “01”,
The number of the entry that matches either “10” or “11” (hereinafter referred to as local address) is shown. This local address is output to the auxiliary data memory 140 via the signal line 194 together with the lower part of the address.

【0038】なお、診断装置400は、スキャンパス等
の手段により、アドレスレジスタ122の初期値を設定
することができる。ダイナミックモードをアクティブに
しなければその初期値を維持することができる。
The diagnostic device 400 can set the initial value of the address register 122 by means such as a scan path. If the dynamic mode is not activated, the initial value can be maintained.

【0039】デコーダ125は、信号線195を介して
補助データメモリ140にリード又はライト動作を指示
する。すなわち、信号線192による命令がロード命令
であって何れかの比較器123にて一致が検出されれ
ば、ローカルアドレスに対応するデータを読み出すよう
補助データメモリ140に指示する。また、キャッシュ
ミスヒットの場合は、ダイナミックモードであれば補助
データメモリ140にフィル動作による書込みを指示す
る。さらに、信号線192による命令がストア命令であ
って何れかの比較器123にて一致が検出されれば、ス
トアモードかつダイナミックモードならば、補助データ
メモリ140に書込みを指示する。
The decoder 125 instructs the auxiliary data memory 140 via a signal line 195 to perform a read or write operation. That is, if the instruction by the signal line 192 is a load instruction and a match is detected by any of the comparators 123, the auxiliary data memory 140 is instructed to read data corresponding to the local address. In the case of a cache miss, in the dynamic mode, the auxiliary data memory 140 is instructed to write by the fill operation. Further, if the instruction by the signal line 192 is a store instruction and any one of the comparators 123 detects a match, if the store mode and the dynamic mode are used, the auxiliary data memory 140 is instructed to write.

【0040】監視対象レジスタ121は、回数の期待値
1211と、命令コード1212と、アドレス1213
とを保持する。この監視対象レジスタ121は、信号線
401により設定される。比較器126は、命令コード
1212と信号線192の命令コードとの一致を検出す
る。比較器127は、アドレス1213と信号線191
のアドレスとの一致を検出する。これら比較器126及
び127により、所望のアドレスに対するストアまたは
ロードを区別して事象の発生を検出することができる。
比較器126及び127で共に一致を検出すると、論理
積回路128はインクリメンタ1202によりカウンタ
1201を「1」増加させる。比較器126及び127
と論理積回路128とを総称して一致検出器という。回
数比較器129は、カウンタ1202の示す回数が回数
期待値1211と一致したことを検出すると、信号線2
07に割込信号を出力する。これにより、所定のアドレ
スに関して所定の命令を実行した回数を指定して割込み
を発生し、キャッシュメモリの状態を採取することがで
きる。
The monitoring target register 121 includes an expected number of times 1211, an instruction code 1212, and an address 1213.
And hold. The monitoring target register 121 is set by a signal line 401. The comparator 126 detects a match between the instruction code 1212 and the instruction code on the signal line 192. The comparator 127 is connected to the address 1213 and the signal line 191.
Detects a match with the address of By these comparators 126 and 127, the occurrence of an event can be detected by distinguishing the store or load for a desired address.
When both the comparators 126 and 127 detect a match, the AND circuit 128 increments the counter 1201 by “1” by the incrementer 1202. Comparators 126 and 127
And the AND circuit 128 are collectively referred to as a coincidence detector. When detecting that the number of times indicated by the counter 1202 matches the expected number of times 1211, the number-of-times comparator 129
07, an interrupt signal is output. Thus, an interrupt can be generated by specifying the number of times a predetermined instruction has been executed for a predetermined address, and the state of the cache memory can be sampled.

【0041】次に、本発明の第1の実施の形態の動作に
ついて図面を参照して詳細に説明する。
Next, the operation of the first embodiment of the present invention will be described in detail with reference to the drawings.

【0042】図2から6を参照すると、まず命令がロー
ド命令の場合(ステップS501)、補助アドレスアレ
イ120内の比較器123の何れかで一致が検出される
と(ステップS502)、監視対象レジスタ121によ
る割込みの発生をチェックする(ステップS503)。
この割込みのチェックは、図5に示すように、比較器1
26及び127においてそれぞれ命令及びアドレスの一
致を論理積回路128により検出すると(ステップS6
01)、インクリメンタ1202によってカウンタ12
01を「1」増加する(ステップS602)。カウンタ
1201の値が監視対象レジスタ121の回数期待値1
211と一致すると(ステップS603)、回数比較器
129は信号線207を介してプロセッサ200に割込
みの発生を通知する(ステップS604)。
Referring to FIGS. 2 to 6, first, when the instruction is a load instruction (step S501), if a match is detected in any of the comparators 123 in the auxiliary address array 120 (step S502), the monitoring target register is checked. It is checked whether or not an interrupt has occurred due to 121 (step S503).
This interrupt check is performed by the comparator 1 as shown in FIG.
When a match between the instruction and the address is detected by the AND circuit 128 in steps 26 and 127 (step S6).
01), the counter 12 is incremented by the incrementer 1202.
01 is incremented by "1" (step S602). The value of the counter 1201 is the expected number of times 1 of the register 121 to be monitored.
If the number matches 211 (step S603), the number comparator 129 notifies the processor 200 via the signal line 207 of the occurrence of the interrupt (step S604).

【0043】割込みチェックと並行して、補助アドレス
アレイ120からの信号線194及び195の指示によ
って、補助データメモリ140からデータの読出しが行
われる(ステップS504)。さらに、モード保持回路
171に保持されたモードがストアモードであれば、補
助データメモリ140から読み出されたデータとデータ
メモリ130から読み出されたデータとを比較器172
で比較する(ステップS506)。そして、比較器17
2においてデータが一致したか否かが信号線205によ
りプロセッサ200に出力されると共に、比較器161
の出力によってキャッシュヒットしているか否かが信号
線206によりプロセッサ200に出力される。図6に
示すように、補助データメモリ140から読み出された
データとデータメモリ130から読み出されたデータと
が一致せず(ステップS701)かつキャッシュヒット
(ステップS702)である場合に、プロセッサ200
内の(図示しない)割込み処理回路が障害発生を知らせ
る割込信号を発生する(ステップS703)。
In parallel with the interrupt check, data is read from the auxiliary data memory 140 in accordance with the instructions on the signal lines 194 and 195 from the auxiliary address array 120 (step S504). If the mode held in the mode holding circuit 171 is the store mode, the data read from the auxiliary data memory 140 and the data read from the data memory 130 are compared with each other by the comparator 172.
Are compared (step S506). And the comparator 17
2 is output to the processor 200 via a signal line 205 as to whether or not the data coincides with each other.
Is output to the processor 200 via the signal line 206 as to whether or not there is a cache hit. As shown in FIG. 6, when the data read from the auxiliary data memory 140 does not match the data read from the data memory 130 (step S701) and there is a cache hit (step S702), the processor 200
An interrupt processing circuit (not shown) generates an interrupt signal notifying the occurrence of a failure (step S703).

【0044】一方、命令がストア命令の場合(ステップ
S511)、補助アドレスアレイ120内の比較器12
3の何れかで一致が検出されると(ステップS51
2)、監視対象レジスタ121による割込みの発生をチ
ェックする(ステップS513)。この割込みのチェッ
クは、上述の図5のものと同様である。そして、モード
保持回路171に保持されたモードがストアモードであ
って(ステップS515)且つ比較器161の出力がキ
ャッシュヒットを示していれば(ステップS516)、
補助データメモリ140にストアデータを書き込む(ス
テップS517)。
On the other hand, if the instruction is a store instruction (step S511), the comparator 12 in the auxiliary address array 120
3 when a match is detected (step S51).
2) The occurrence of an interrupt by the monitoring target register 121 is checked (step S513). This interrupt check is the same as that of FIG. 5 described above. If the mode held by the mode holding circuit 171 is the store mode (step S515) and the output of the comparator 161 indicates a cache hit (step S516),
The storage data is written to the auxiliary data memory 140 (step S517).

【0045】また、キャッシュフィルである場合には
(ステップS521)、補助アドレスアレイ120内の
比較器123の何れかで一致が検出されれば(ステップ
S522)、上述の図5における割込みの発生をチェッ
クする(ステップS523)。ステップS522で一致
が検出されない場合、モード保持回路171に保持され
たモードがダイナミックモードであれば(ステップS5
31)、キャッシュフィル対象となったアドレスを補助
アドレスアレイ120に登録する(ステップS53
2)。ステップS522においてアドレスが一致すると
判定された場合、または、ステップS531でダイナミ
ックモードであると判定された場合は、補助データメモ
リ140にキャッシュフィルデータを書き込む(ステッ
プS517)。
In the case of cache fill (step S521), if a match is detected in any of the comparators 123 in the auxiliary address array 120 (step S522), the occurrence of the interrupt in FIG. Check (step S523). If no match is detected in step S522, if the mode held in the mode holding circuit 171 is the dynamic mode (step S5).
31), and register the cache-filled address in the auxiliary address array 120 (step S53).
2). If it is determined in step S522 that the addresses match, or if it is determined in step S531 that the mode is the dynamic mode, the cache fill data is written to the auxiliary data memory 140 (step S517).

【0046】このように、本発明の第1の実施の形態に
よれば、補助アドレスアレイ120、補助データメモリ
140及び比較器172を新たに設けたことにより、デ
ータメモリ130で発生したエラーを高い網羅率で検出
することができる。また、モード保持回路171に保持
されたストアモードをアクティブでない状態に設定する
ことにより、ストア命令による補助データメモリ140
への書込みを切り分けてデータの採取をすることができ
る。さらに、モード保持回路171に保持されたダイナ
ミックモードをアクティブでない状態に設定することに
より、補助アドレスアレイ120の更新を抑制して、初
期設定により指定されたアドレスに関してデータの採取
を行うことができる。これらデータの採取のために、監
視対象レジスタ121へ割込み発生条件を設定し、所定
のアドレス1213に対して所定の命令1212を所定
回数1211分実行した際に割込みを発生することがで
きる。
As described above, according to the first embodiment of the present invention, by newly providing the auxiliary address array 120, the auxiliary data memory 140, and the comparator 172, the error generated in the data memory 130 can be increased. It can be detected by coverage. By setting the store mode held in the mode holding circuit 171 to an inactive state, the auxiliary data memory 140 according to the store instruction is set.
Data can be collected by separating writing into the data. Further, by setting the dynamic mode held in the mode holding circuit 171 to the inactive state, the update of the auxiliary address array 120 can be suppressed, and data can be collected for the address specified by the initial setting. In order to collect these data, an interrupt generation condition is set in the monitoring target register 121, and an interrupt can be generated when a predetermined instruction 1212 is executed a predetermined number of times 1211 for a predetermined address 1213.

【0047】次に、本発明のキャッシュメモリの第2の
実施の形態について説明する。
Next, a description will be given of a second embodiment of the cache memory according to the present invention.

【0048】図7を参照すると、第2の実施の形態にお
ける補助アドレスアレイ120は、命令レジスタ151
からの信号線199(図2では省略)を比較器127に
入力し、監視対象レジスタ121においてアドレス12
13の代わりに設けられた監視レジスタ番号1214と
比較する点以外は、図3により説明した第1の実施の形
態と同様である。この図7の第2の実施の形態では、監
視レジスタ番号1214に指定されたレジスタに関して
生じたロード命令またはストア命令について割込みを発
生させることができる。すなわち、図3の第1の実施の
形態と同様に、比較器126及び127で共に一致を検
出すると、論理積回路128はインクリメンタ1202
によりカウンタ1201を「1」増加させる。回数比較
器129は、カウンタ1202の示す回数が回数期待値
1211と一致したことを検出すると、信号線207に
割込信号を出力する。これにより、所定のレジスタ番号
に関して所定の命令を実行した回数を指定して割込みを
発生し、キャッシュメモリの状態を採取することができ
る。
Referring to FIG. 7, the auxiliary address array 120 according to the second embodiment has an instruction register 151
The signal line 199 (not shown in FIG. 2) is input to the comparator 127, and the address 12
The third embodiment is the same as the first embodiment described with reference to FIG. 3 except that it is compared with a monitoring register number 1214 provided in place of 13. In the second embodiment shown in FIG. 7, an interrupt can be generated for a load instruction or a store instruction generated for the register specified by the monitoring register number 1214. That is, as in the first embodiment shown in FIG. 3, when both comparators 126 and 127 detect a match, the AND circuit 128 sets the incrementer 1202
Increments the counter 1201 by “1”. When detecting that the number indicated by the counter 1202 matches the expected number of times 1211, the number comparator 129 outputs an interrupt signal to the signal line 207. Thus, an interrupt can be generated by specifying the number of times a predetermined instruction has been executed for a predetermined register number, and the state of the cache memory can be collected.

【0049】このように、本発明の第2の実施の形態に
よれば、上述のデータの採取のために、監視対象レジス
タ121へ割込み発生条件を設定し、所定のレジスタ番
号1214に関して所定の命令1212を所定回数12
11分実行した際に割込みを発生することができる。
As described above, according to the second embodiment of the present invention, in order to collect the above-described data, the interrupt generation condition is set in the monitoring target register 121, and the predetermined instruction for the predetermined register number 1214 is set. 1212 is the predetermined number of times 12
An interrupt can be generated when executed for 11 minutes.

【0050】[0050]

【発明の効果】以上の説明で明らかなように、本発明に
よると、キャッシュメモリにおけるデータアレイの物理
的故障を網羅率高く検出することができる。また、各種
モードを設定することにより、柔軟なデータ採取を行う
ことができる。さらに、所定命令を所定回数実行した時
点で割込みを発生してデータを採取することができる。
As apparent from the above description, according to the present invention, a physical failure of a data array in a cache memory can be detected at a high coverage. Further, by setting various modes, flexible data collection can be performed. Further, when the predetermined instruction is executed a predetermined number of times, an interrupt can be generated to collect data.

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

【図1】本発明のキャッシュメモリの適用されるコンピ
ュータシステムの構成を示す図である。
FIG. 1 is a diagram showing a configuration of a computer system to which a cache memory of the present invention is applied.

【図2】本発明のキャッシュメモリの実施の形態の構成
を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a cache memory according to an embodiment of the present invention;

【図3】本発明のキャッシュメモリの第1の実施の形態
における補助アドレスアレイの構成を示すブロック図で
ある。
FIG. 3 is a block diagram showing a configuration of an auxiliary address array in the cache memory according to the first embodiment of the present invention;

【図4】本発明のキャッシュメモリの実施の形態の動作
を表す図である。
FIG. 4 is a diagram illustrating an operation of the embodiment of the cache memory of the present invention.

【図5】本発明のキャッシュメモリの実施の形態におけ
る割込判定手順を表す図である。
FIG. 5 is a diagram showing an interrupt determination procedure in the embodiment of the cache memory of the present invention.

【図6】本発明のキャッシュメモリの実施の形態におけ
るヒット判定手順を表す図である。
FIG. 6 is a diagram showing a hit determination procedure in the embodiment of the cache memory of the present invention.

【図7】本発明のキャッシュメモリの第2の実施の形態
における補助アドレスアレイの構成を示すブロック図で
ある。
FIG. 7 is a block diagram showing a configuration of an auxiliary address array in a cache memory according to a second embodiment of the present invention;

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

100 キャッシュメモリ 110 アドレスアレイ 120 補助アドレスアレイ 121 監視対象レジスタ 122 アドレスレジスタ 123,126,127 比較器 124 エンコーダ 125 デコーダ 128 論理積回路 129 回数比較器 130 データメモリ 140 補助データメモリ 151 命令レジスタ 152 アドレスレジスタ 153 ストアデータレジスタ 154 フィルバッファ 155 ミス処理回路 156 デコーダ 157〜159 選択器 161,172 比較器 171 モード保持回路 173 ロードデータレジスタ 200 プロセッサ 300 主記憶装置 400 診断装置 REFERENCE SIGNS LIST 100 cache memory 110 address array 120 auxiliary address array 121 monitored register 122 address register 123, 126, 127 comparator 124 encoder 125 decoder 128 AND circuit 129 count comparator 130 data memory 140 auxiliary data memory 151 instruction register 152 address register 153 Store data register 154 Fill buffer 155 Miss processing circuit 156 Decoder 157 to 159 Selector 161, 172 Comparator 171 Mode holding circuit 173 Load data register 200 Processor 300 Main storage device 400 Diagnostic device

Claims (13)

【特許請求の範囲】[Claims] 【請求項1】 キャッシュメモリの記憶する内容の少な
くとも一部を記憶する補助データメモリを内部に有し、 この補助データメモリの内容が当該キャッシュメモリと
一致しない場合には当該キャッシュメモリに障害が発生
したことを検出するキャッシュメモリ。
An auxiliary data memory for storing at least a part of the content stored in a cache memory is provided therein. If the content of the auxiliary data memory does not match the cache memory, a failure occurs in the cache memory. Cache memory that detects that
【請求項2】 アドレスを記憶するアドレスアレイ及び
このアドレスアレイに記憶されたアドレスに対応するデ
ータを記憶するデータメモリを有するキャッシュメモリ
において、 前記アドレスアレイに記憶されたアドレスのうち少なく
とも一つのコピーをその各エントリに記憶する補助アド
レスアレイと、 この補助アドレスアレイの各エントリに記憶されたアド
レスに対応して前記データメモリに記憶されたデータを
記憶する補助データメモリと、 この補助データメモリに記憶された内容が前記データメ
モリの内容と一致するか否かを検出する比較器とを含む
ことを特徴とするキャッシュメモリ。
2. A cache memory having an address array for storing addresses and a data memory for storing data corresponding to the addresses stored in the address array, wherein at least one copy of the addresses stored in the address array is copied. An auxiliary address array stored in each entry; an auxiliary data memory storing data stored in the data memory corresponding to an address stored in each entry of the auxiliary address array; and an auxiliary data memory stored in the auxiliary data memory. A comparator for detecting whether or not the contents of the data memory coincide with the contents of the data memory.
【請求項3】 ストアモードを保持するモード保持回路
をさらに含み、 前記ストアモードがアクティブな場合は前記データメモ
リへの書込みのうちキャッシュフィル及びストア命令の
何れによるものも前記補助データメモリに反映し、前記
ストアモードがアクティブでない場合は前記データメモ
リへの書込みのうちキャッシュフィルによるものを前記
補助データメモリに反映してストア命令によるものは反
映しないことを特徴とする請求項2記載のキャッシュメ
モリ。
3. A mode holding circuit for holding a store mode, wherein when the store mode is active, writing to the data memory by cache fill and store instructions is reflected in the auxiliary data memory. 3. The cache memory according to claim 2, wherein when the store mode is inactive, the data written to the data memory by the cache fill is reflected in the auxiliary data memory, and the data written by the store instruction is not reflected.
【請求項4】 前記比較器は、前記ストアモードがアク
ティブな場合に有効な値を出力し、前記ストアモードが
アクティブでない場合には有効な値を出力しないことを
特徴とする請求項3記載のキャッシュメモリ。
4. The apparatus according to claim 3, wherein the comparator outputs a valid value when the store mode is active, and does not output a valid value when the store mode is not active. Cache memory.
【請求項5】 前記モード保持回路はさらにダイナミッ
クモードを保持し、 キャッシュフィルにより前記アドレスアレイが更新され
る際に、前記ダイナミックモードがアクティブな場合は
前記補助アドレスアレイにも同様の更新内容を反映し、
前記ダイナミックモードがアクティブでない場合は前記
補助アドレスアレイには反映しないことを特徴とする請
求項3記載のキャッシュメモリ。
5. The mode holding circuit further holds a dynamic mode, and when the address array is updated by a cache fill, when the dynamic mode is active, the same update content is reflected on the auxiliary address array. And
4. The cache memory according to claim 3, wherein when the dynamic mode is not active, it is not reflected in the auxiliary address array.
【請求項6】 前記補助アドレスアレイは、 割込み発生条件を設定される監視対象レジスタと、 この監視対象レジスタに設定された条件に一致したか否
かを検出する一致検出器とを含むことを特徴とする請求
項2記載のキャッシュメモリ。
6. The auxiliary address array includes a monitored register for setting an interrupt occurrence condition, and a match detector for detecting whether or not a condition set in the monitored register is met. 3. The cache memory according to claim 2, wherein
【請求項7】 前記監視対象レジスタは、命令コードと
アクセス先アドレスとを割込み発生条件として保持する
ことを特徴とする請求項6記載のキャッシュメモリ。
7. The cache memory according to claim 6, wherein said monitoring target register holds an instruction code and an access destination address as an interrupt occurrence condition.
【請求項8】 前記アドレスアレイは、前記一致検出器
における条件一致に応答して計数されるカウンタと、こ
のカウンタの出力を一つの入力として他の入力との一致
を検出する回数比較器とをさらに含み、 前記監視対象レジスタは、前記一致検出器における検出
回数の期待値をさらに保持し、 前記回数比較器は前記カウンタの値が前記監視対象レジ
スタに保持された期待値と一致した場合に割込みの発生
を通知することを特徴とする請求項7記載のキャッシュ
メモリ。
8. The address array includes a counter that counts in response to a condition match in the match detector, and a number comparator that uses the output of the counter as one input and detects a match with another input. The monitoring target register further holds an expected value of the number of detections in the coincidence detector, and the number comparator interrupts when the value of the counter matches the expected value held in the monitoring target register. 8. The cache memory according to claim 7, wherein the occurrence of the error is notified.
【請求項9】 前記監視対象レジスタは、命令コードと
レジスタ番号とを割込み発生条件として保持することを
特徴とする請求項6記載のキャッシュメモリ。
9. The cache memory according to claim 6, wherein said monitoring target register holds an instruction code and a register number as an interrupt occurrence condition.
【請求項10】 前記アドレスアレイは、前記一致検出
器における条件一致に応答して計数されるカウンタと、
このカウンタの出力を一つの入力として他の入力との一
致を検出する回数比較器とをさらに含み、 前記監視対象レジスタは、前記一致検出器における検出
回数の期待値をさらに保持し、 前記回数比較器は前記カウンタの値が前記監視対象レジ
スタに保持された期待値と一致した場合に割込みの発生
を通知することを特徴とする請求項9記載のキャッシュ
メモリ。
10. The address array includes: a counter that counts in response to a condition match in the match detector;
A counter for detecting a match with another input using the output of the counter as one input, wherein the monitoring target register further holds an expected value of the number of detections in the match detector; 10. The cache memory according to claim 9, wherein when the value of said counter matches the expected value held in said monitoring target register, an interrupt is notified.
【請求項11】 アドレスを記憶するアドレスアレイ
と、このアドレスアレイに記憶されたアドレスに対応す
るデータを記憶するデータメモリと、前記アドレスアレ
イに記憶されたアドレスのうち少なくとも一つのコピー
をその各エントリに記憶する補助アドレスアレイと、こ
の補助アドレスアレイの各エントリに記憶されたアドレ
スに対応して前記データメモリに記憶されたデータを記
憶する補助データメモリと、ストアモードを保持するモ
ード保持回路とを有するキャッシュメモリにおける障害
検出方法であって、 前記ストアモードがアクティブな場合は前記データメモ
リへの書込みのうちキャッシュフィル及びストア命令の
何れによるものも前記補助データメモリに反映し、前記
ストアモードがアクティブでない場合は前記データメモ
リへの書込みのうちキャッシュフィルによるものを前記
補助データメモリに反映してストア命令によるものは反
映しないように制御し、 前記ストアモードがアクティブな場合には前記補助デー
タメモリに記憶された内容が前記データメモリの内容と
一致するか否かを出力し、 一致すると判断された場合にはキャッシュヒットしてい
れば障害発生の割込み信号を発生することを特徴とする
キャッシュメモリにおける障害検出方法。
11. An address array for storing an address, a data memory for storing data corresponding to the address stored in the address array, and a copy of at least one of the addresses stored in the address array for each entry. , An auxiliary data memory for storing data stored in the data memory corresponding to an address stored in each entry of the auxiliary address array, and a mode holding circuit for holding a store mode. A failure detection method in the cache memory having the storage mode, wherein when the store mode is active, any of a cache fill and a store instruction in writing to the data memory is reflected in the auxiliary data memory, and the store mode is active. If not, the data memo When writing data to the auxiliary data memory, the data stored in the auxiliary data memory is controlled so that the data stored in the auxiliary data memory is not reflected. A failure detection method for a cache memory, which outputs whether or not the contents match the contents of the data memory, and if it is determined that the contents match, if a cache hit occurs, an interruption signal indicating occurrence of a failure is generated.
【請求項12】 前記モード保持回路はさらにダイナミ
ックモードを保持し、 キャッシュフィルにより前記アドレスアレイが更新され
る際に、前記ダイナミックモードがアクティブな場合は
前記補助アドレスアレイにも同様の更新内容を反映し、
前記ダイナミックモードがアクティブでない場合は前記
補助アドレスアレイには反映しないことを特徴とする請
求項11記載のキャッシュメモリにおける障害検出方
法。
12. The mode holding circuit further holds a dynamic mode, and when the address array is updated by a cache fill, when the dynamic mode is active, the same update content is reflected on the auxiliary address array. And
12. The method according to claim 11, wherein when the dynamic mode is not active, the failure is not reflected in the auxiliary address array.
【請求項13】 前記キャッシュメモリにおける障害検
出方法であって、さらに、 所定の条件を所定回数満たすと割込みを発生し、 割込みが発生すると、前記アドレスアレイ、前記データ
メモリ、前記補助アドレスアレイ、及び、前記補助デー
タメモリの内容を採取することを特徴とする請求項11
記載のキャッシュメモリにおける障害検出方法。
13. The method of detecting a failure in the cache memory, further comprising: generating an interrupt when a predetermined condition is satisfied a predetermined number of times; and generating an interrupt when the interrupt occurs, the address array, the data memory, the auxiliary address array, 12. The method according to claim 11, wherein the contents of the auxiliary data memory are collected.
A failure detection method in the cache memory described in the above.
JP11755099A 1999-04-26 1999-04-26 Cache memory and fault detection method thereof Expired - Fee Related JP3494072B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11755099A JP3494072B2 (en) 1999-04-26 1999-04-26 Cache memory and fault detection method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11755099A JP3494072B2 (en) 1999-04-26 1999-04-26 Cache memory and fault detection method thereof

Publications (2)

Publication Number Publication Date
JP2000305840A true JP2000305840A (en) 2000-11-02
JP3494072B2 JP3494072B2 (en) 2004-02-03

Family

ID=14714594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11755099A Expired - Fee Related JP3494072B2 (en) 1999-04-26 1999-04-26 Cache memory and fault detection method thereof

Country Status (1)

Country Link
JP (1) JP3494072B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211630A (en) * 2008-03-06 2009-09-17 Fujitsu Ltd Debugging support mechanism and processor system
JP2013041534A (en) * 2011-08-19 2013-02-28 Fujitsu Semiconductor Ltd Semiconductor integrated circuit and interruption generation method
JP2016538629A (en) * 2013-10-24 2016-12-08 クアルコム,インコーポレイテッド Dividing resistive memory cache write operations

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211630A (en) * 2008-03-06 2009-09-17 Fujitsu Ltd Debugging support mechanism and processor system
JP2013041534A (en) * 2011-08-19 2013-02-28 Fujitsu Semiconductor Ltd Semiconductor integrated circuit and interruption generation method
JP2016538629A (en) * 2013-10-24 2016-12-08 クアルコム,インコーポレイテッド Dividing resistive memory cache write operations

Also Published As

Publication number Publication date
JP3494072B2 (en) 2004-02-03

Similar Documents

Publication Publication Date Title
US8977820B2 (en) Handling of hard errors in a cache of a data processing apparatus
US4626988A (en) Instruction fetch look-aside buffer with loop mode control
US4357656A (en) Method and apparatus for disabling and diagnosing cache memory storage locations
JP4395425B2 (en) Data processing apparatus and method for processing corrupted data values
JP3761614B2 (en) Computer device with cache memory
EP2095234B1 (en) Memory system with ecc-unit and further processing arrangement
US5996034A (en) Bus bridge verification system including device independent bus monitors
US5913043A (en) State machine based bus bridge performance and resource usage monitoring in a bus bridge verification system
US20090164870A1 (en) Apparatus and method for error correction of data values in a storage device
JPH07134663A (en) Cache memory test method for information processor
US20100268984A1 (en) Delete Of Cache Line With Correctable Error
US5930482A (en) Transaction checking system for verifying bus bridges in multi-master bus systems
US5938777A (en) Cycle list based bus cycle resolution checking in a bus bridge verification system
US5916314A (en) Method and apparatus for cache tag mirroring
JPH09146836A (en) Fault correcting device for cache index
JP3494072B2 (en) Cache memory and fault detection method thereof
US5963722A (en) Byte granularity data checking in a bus bridge verification system
JP3931757B2 (en) Shared cache memory failure handling method
US5941971A (en) Bus bridge transaction checker for correct resolution of combined data cycles
JP2701703B2 (en) Cache memory
US5996050A (en) Cache coherency detection in a bus bridge verification system
JP3239935B2 (en) Tightly-coupled multiprocessor system control method, tightly-coupled multiprocessor system, and recording medium therefor
JPH05165719A (en) Memory access processor
JP2013061887A (en) Fault position determining circuit, storage device and information processing apparatus
JP2658342B2 (en) Data processing device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031021

LAPS Cancellation because of no payment of annual fees