JP3494072B2 - Cache memory and fault detection method thereof - Google Patents

Cache memory and fault detection method thereof

Info

Publication number
JP3494072B2
JP3494072B2 JP11755099A JP11755099A JP3494072B2 JP 3494072 B2 JP3494072 B2 JP 3494072B2 JP 11755099 A JP11755099 A JP 11755099A JP 11755099 A JP11755099 A JP 11755099A JP 3494072 B2 JP3494072 B2 JP 3494072B2
Authority
JP
Japan
Prior art keywords
auxiliary
data memory
mode
address array
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.)
Expired - Fee Related
Application number
JP11755099A
Other languages
Japanese (ja)
Other versions
JP2000305840A (en
Inventor
修三 和田崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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

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

Description

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

【0001】[0001]

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

【0002】[0002]

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

【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, so that the logic that cannot be detected by software simulation is used. Design mistakes may remain. If a problem occurs during the evaluation or verification stage on the actual machine, asynchronous update is performed, 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. . Therefore, even when it is found that the data read from the cache memory is incorrect, it is difficult to find out when the data was updated and what kind of data was loaded from the memory.

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

【0005】これに対し、例えば特開昭2−27555
1号公報では、キャッシュメモリ及び主メモリから読み
出された2つのデータを比較して不一致を検出するデバ
ッグ装置が記載されている。しかし、この文献記載の装
置では、エラー検出のためには主メモリへのアクセスが
必要となり、性能が低下するばかりでなく、デバッグモ
ードと通常運転モードとの間で動作タイミングが異な
り、再現性が保証できないという問題も生じる。
On the other hand, for example, JP-A-2-27555
Japanese Patent No. 1 discloses a debug 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, and not only the performance is degraded, but also the operation timing is different between the debug mode and the normal operation mode, and reproducibility is poor. There is also the problem that it cannot be guaranteed.

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

【0007】[0007]

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

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

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

【0010】また、本発明の他のキャッシュメモリにお
いて、前記比較器は、前記ストアモードがアクティブな
場合に有効な値を出力し、前記ストアモードがアクティ
ブでない場合には有効な値を出力しない。
In another cache memory of 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】また、本発明の他のキャッシュメモリにお
いて、前記モード保持回路はさらにダイナミックモード
を保持し、キャッシュフィルにより前記アドレスアレイ
が更新される際に、前記ダイナミックモードがアクティ
ブな場合は前記補助アドレスアレイにも同様の更新内容
を反映し、前記ダイナミックモードがアクティブでない
場合は前記補助アドレスアレイには反映しない。
Further, in another cache memory of the present invention, the mode holding circuit further holds a dynamic mode, and when the address array is updated by cache fill, the auxiliary address if the dynamic mode is active. 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】また、本発明の他のキャッシュメモリにお
いて、前記補助アドレスアレイは、割込み発生条件を設
定される監視対象レジスタと、この監視対象レジスタに
設定された条件に一致したか否かを検出する一致検出器
とを含む。
Further, in another cache memory of the present invention, the auxiliary address array detects whether or not the monitoring target register for which an interrupt generation condition is set and the condition set in this monitoring target register are matched. And a coincidence detector.

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

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

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

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

【0017】また、本発明のキャッシュメモリにおける
障害検出方法は、アドレスを記憶するアドレスアレイ
と、このアドレスアレイに記憶されたアドレスに対応す
るデータを記憶するデータメモリと、前記アドレスアレ
イに記憶されたアドレスのうち少なくとも一つのコピー
をその各エントリに記憶する補助アドレスアレイと、こ
の補助アドレスアレイの各エントリに記憶されたアドレ
スに対応して前記データメモリに記憶されたデータを記
憶する補助データメモリと、ストアモードを保持するモ
ード保持回路とを有するキャッシュメモリにおける障害
検出方法であって、前記ストアモードがアクティブな場
合は前記データメモリへの書込みのうちキャッシュフィ
ル及びストア命令の何れによるものも前記補助データメ
モリに反映し、前記ストアモードがアクティブでない場
合は前記データメモリへの書込みのうちキャッシュフィ
ルによるものを前記補助データメモリに反映してストア
命令によるものは反映しないように制御し、前記ストア
モードがアクティブな場合には前記補助データメモリに
記憶された内容が前記データメモリの内容と一致するか
否かを出力し、一致すると判断された場合にはキャッシ
ュヒットしていれば障害発生の割込み信号を発生する。
Further, according to the method of detecting a failure in a cache memory of 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 the address array are stored. An auxiliary address array for storing at least one copy of the address in each entry, and an auxiliary data memory for storing the 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 one of a cache fill and a store instruction of writing to the data memory is the auxiliary. Reflected in data memory, When the tor mode is not active, the writing to the data memory by the cache fill is controlled so as to be reflected in the auxiliary data memory and not by the store instruction. When the store mode is active, the auxiliary is controlled. Whether or not the contents stored in the data memory match the contents of the data memory is output, and if it is determined that the contents match, if there is a cache hit, an interrupt signal for fault occurrence is generated.

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

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

【0020】[0020]

【発明の実施の形態】次に本発明のキャッシュメモリの
実施の形態について図面を参照して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, an embodiment of a cache memory of 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 processing operations and the like, and a main storage device 300 for holding data necessary for the processing of the processor 200. The cache memory 100 is provided between the 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, the embodiment of the cache memory of the present invention has an address array 110 and a data memory like an ordinary cache memory, and the accessed address is held in the address array 110. Whether or not there is a search is performed by the comparator 161. In the present invention, the auxiliary address array 120 which holds a part of the contents of the address array 110 and the auxiliary data memory 1 which holds a part of the contents of the data memory 130.
40, a data memory 130, and an auxiliary data memory 140
And a comparator 172 for detecting a mismatch between and. In addition, 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 used in the processor 200.
The instruction code input from the signal line 203 is held. The address register 152 holds the access address input from the processor 200 via the signal line 201. The store data register 153 is used by the processor 20.
The store data input from 0 to the signal line 202 is held. The store data register 153 is used for a store instruction and not used for 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 storage device 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 in the order required. Specifically, at the same time as the block data from the main storage device 300, the tag assigned to each block and the position within the block are input from the main storage device 300 via the signal line 301, and according to these tags and positions. Fill data buffer 15
The storage location in 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 128 bytes of data per block is the cache memory 100 in units of 8 bytes. If it is transferred to, the position will be any value from “0” to “15”.

【0025】なお、ストア命令によるアドレスがキャッ
シュメモリに存在しない場合にはフィル動作を行わない
ものとして、以下ではキャッシュミスとはロード命令に
よるキャッシュミスを指すものとする。また、一般にロ
ード命令としては、対象データをキャッシュメモリに保
持するキャッシュアブルなロード命令と、そうでないロ
ード命令とが考えられるが、以下ではロード命令とはキ
ャッシュアブルなロード命令であるものとして説明す
る。
If the address due to the store instruction does not exist in the cache memory, the fill operation is not performed, and hereinafter, the cache miss means the cache miss due to the load instruction. Generally, as load instructions, a cacheable load instruction that holds the target data in the cache memory and a load instruction that does not hold the target data are considered, but in the following description, 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 case of a cache miss. The miss processing circuit 155
The block address during the filling operation is held inside, 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 stores the data input from the signal line 302 in the fill data buffer 154 according to the tag and the position input from the signal line 301. Further, the miss processing circuit 155
Controls the update of the address array 110 at the time of a miss via the signal line 193.

【0027】デコーダ156は、命令レジスタ151に
保持された命令がストア命令でかつキャッシュヒットし
た場合またはキャッシュフィルの場合を検出し、データ
メモリ130に対して更新信号を出力する。
The decoder 156 detects that the instruction held in the instruction register 151 is a store instruction and a cache hit or a cache fill is detected, 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, selects the address from the miss processing circuit 155 at the time of filling due to a cache miss, and outputs it 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, which will be described later, and stores the auxiliary address array 120 and the comparator 172.
Output the current mode to. The comparator 172 includes the data from the data memory 130 and the auxiliary data memory 14
The data from 0 is compared, and whether the two match or not is output to the processor 200 via the signal line 205. When the mode holding circuit 171 indicates a predetermined mode,
The comparator 172 does not output the 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. Further, 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を更新せず、初期設定のま
まで動作を継続する。
There are two types of modes held by the mode holding circuit 171. One is the store mode and the other is the dynamic mode. When the store mode is active, the auxiliary data memory 1 is used both when filling due to a cache miss and when writing due to a store instruction.
Update to 40. On the other hand, when the store mode is not active, the auxiliary data memory 140 is filled only at the time of filling.
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 so-called dynamically for each fill due to a cache miss.
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 is continued 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 updating of the auxiliary data memory 140, and the latter controls updating 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, so the comparator 172
An error can be detected in. On the other hand, when the store mode is not active, the auxiliary data memory 140 is not always in the latest state, so even if the comparator 172 detects a mismatch, that 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 making the store mode inactive and collecting the contents of the auxiliary data memory 140. That is, when the store mode is activated and the auxiliary data memory 140 is updated in the same manner as the data memory 130, and when the store mode is inactive, the writing by the store instruction is performed by the data memory 130.
This is because it is possible to determine whether the cause of the error is due to the cache fill or the store instruction by analyzing the difference from the only one. The cause of the error is that if an unintended store instruction occurs due to a logical mistake, if the address to be stored is garbled, if there is a logical mistake in the cache fill sequence, or if there is an alpha ray or the like. It is possible that the contents of the data memory are corrupted 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 when the address array 110 is updated at the time of filling due to a cache miss, so that the address just updated can be appropriately checked. On the other hand, if the dynamic mode is set to inactive, the contents of the auxiliary address array 120 are left as the initial settings, so that the desired address can be checked intensively.

【0035】なお、補助アドレスアレイ120及びモー
ド保持回路171への設定は、それぞれ信号線401及
び403を介して診断装置400が行う。また、診断装
置400において補助アドレスアレイ120、補助デー
タメモリ140及びモード保持回路171の内容を採取
する場合も、それぞれ信号線401乃至403が使用さ
れる。
The diagnostic device 400 sets the auxiliary address array 120 and the mode holding circuit 171 via signal lines 401 and 403, respectively. Further, when the contents of the auxiliary address array 120, the auxiliary data memory 140, and the mode holding circuit 171 are sampled 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 in the first embodiment of the present invention has four sub address arrays.
It has a set of address registers 122 and a comparator 123. The number of sets provided may be arbitrarily set according to the system requirements. The address register 122 holds an address corresponding to a block (line) of the address array 110. The auxiliary address array 120 is the address array 1
Since the number of entries is smaller than that of 10, all the entries in the address array 110 cannot be held. When the above-mentioned dynamic mode is used, when a new fill due to a cache miss occurs, old entries are sequentially deleted. As such a control method, a method of sequentially selecting address registers to be registered by round robin is conceivable. For example, first register in address # 0 register, then address # 1
Registering in the register, then registering in the address # 2 register, then registering in the address # 3 register, then registering in the address # 0 register, and so on. 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 it is valid or not, and the one showing “valid” is the comparison target in the corresponding comparator 123. The comparison results of the respective comparators 123 are collected by the encoder 124, and are “00”, “01”,
The number of the matching entry of either "10" or "11" (hereinafter referred to as local address) is indicated. 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, its 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 to perform a read or write operation via the signal line 195. That is, if the instruction on 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 the data corresponding to the local address. In the case of a cache mishit, in the dynamic mode, the auxiliary data memory 140 is instructed to write by the fill operation. Further, if the instruction on the signal line 192 is a store instruction and a match is detected by any of the comparators 123, the writing is instructed to the auxiliary data memory 140 in the store mode and the dynamic mode.

【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 has an expected number of times 1211, an instruction code 1212, and an address 1213.
And hold. The monitoring target register 121 is set by the signal line 401. The comparator 126 detects a match between the instruction code 1212 and the instruction code of the signal line 192. The comparator 127 has an address 1213 and a signal line 191.
Detect a match with the address of. By these comparators 126 and 127, it is possible to distinguish the store or load to the desired address and detect the occurrence of the event.
When both the comparators 126 and 127 detect the coincidence, the AND circuit 128 causes the incrementer 1202 to increment the counter 1201 by “1”. Comparators 126 and 127
And the AND circuit 128 are collectively referred to as a coincidence detector. When the number of times comparator 129 detects that the number of times indicated by the counter 1202 matches the expected number of times 1211, the signal line 2
An interrupt signal is output to 07. As a result, it is possible to specify the number of times a predetermined instruction has been executed for a predetermined address, generate an interrupt, and collect the state of the cache memory.

【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 by any of the comparators 123 in the auxiliary address array 120 (step S502), the register to be monitored. The occurrence of interrupt by 121 is checked (step S503).
This interrupt check is performed by the comparator 1 as shown in FIG.
26 and 127, when the coincidence of the instruction and the address is detected by the AND circuit 128 (step S6)
01), the counter 12 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.
When it matches with 211 (step S603), the frequency comparator 129 notifies the processor 200 of the occurrence of the interrupt via the signal line 207 (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 according to the instruction of the signal lines 194 and 195 from the auxiliary address array 120 (step S504). Further, when 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 with each other (step S506). Then, the comparator 17
It is output to the processor 200 through the signal line 205 whether or not the data match in 2 and the comparator 161
Is output to the processor 200 through the signal line 206. As shown in FIG. 6, when the data read from the auxiliary data memory 140 and the data read from the data memory 130 do not match (step S701) and there is a cache hit (step S702), the processor 200
An interrupt processing circuit (not shown) therein generates an interrupt signal indicating 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, when the instruction is the store instruction (step S511), the comparator 12 in the auxiliary address array 120 is used.
When a match is detected in any of 3 (step S51
2) The occurrence of an interrupt by the monitoring target register 121 is checked (step S513). The check of this interrupt is the same as that of the above-mentioned FIG. If the mode held in the mode holding circuit 171 is the store mode (step S515) and the output of the comparator 161 indicates a cache hit (step S516),
Store data is written in 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)。
If it is a cache fill (step S521), and if a match is detected by any of the comparators 123 in the auxiliary address array 120 (step S522), the interruption in FIG. 5 is generated. Check (step S523). If no match is detected in step S522, the mode held in the mode holding circuit 171 is the dynamic mode (step S5).
31), the address that is the target of cache filling is registered 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, since the auxiliary address array 120, the auxiliary data memory 140 and the comparator 172 are newly provided, the error generated in the data memory 130 is high. It can be detected by the coverage rate. Further, by setting the store mode held in the mode holding circuit 171 to the inactive state, the auxiliary data memory 140 by the store instruction is stored.
Data can be collected by dividing the writing to the. Further, by setting the dynamic mode held in the mode holding circuit 171 to the inactive state, it is possible to suppress the update of the auxiliary address array 120 and collect the data with respect to the address designated by the initial setting. In order to collect these data, it is possible to set an interrupt generation condition in the monitoring target register 121 and generate an interrupt when a predetermined instruction 1212 is executed a predetermined number of times 1211 for a predetermined address 1213.

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

【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 is similar to the instruction register 151.
A signal line 199 (not shown in FIG. 2) is input to the comparator 127, and the address 12
13 is the same as that of 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 of FIG. 7, it is possible to generate an interrupt for a load instruction or a store instruction that occurs with respect to the register designated by the monitoring register number 1214. That is, as in the first embodiment shown in FIG. 3, when the comparators 126 and 127 detect the coincidence, the AND circuit 128 causes the incrementer 1202.
The counter 1201 is incremented by "1". When the number of times comparator 129 detects that the number of times indicated by the counter 1202 matches the expected number of times 1211, it outputs an interrupt signal to the signal line 207. As a result, it is possible to specify the number of times a given instruction has been executed for a given register number, generate an interrupt, and collect the state of the cache memory.

【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-mentioned 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 a predetermined number of times 12
An interrupt can be generated when executing for 11 minutes.

【0050】[0050]

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

【図面の簡単な説明】[Brief description of 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 an embodiment of a cache memory 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 showing 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 the second embodiment of the cache memory 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 診断装置 100 cash memory 110 address array 120 auxiliary address array 121 Monitoring target register 122 address register 123,126,127 comparator 124 encoder 125 decoder 128 AND circuit 129 Time 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-159 Selector 161,172 comparator 171 mode holding circuit 173 Load data register 200 processors 300 main memory 400 diagnostic device

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G06F 11/22 - 11/34 G06F 12/16 ─────────────────────────────────────────────────── ─── Continuation of front page (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 12/08 G06F 11/22-11/34 G06F 12/16

Claims (10)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】アドレスを記憶するアドレスアレイ及びこ
のアドレスアレイに記憶されたアドレスに対応するデー
タを記憶するデータメモリを有するキャッシュメモリに
おいて、 前記アドレスアレイに記憶されたアドレスのうち少なく
とも一つのコピーをその各エントリに記憶する補助アド
レスアレイと、 この補助アドレスアレイの各エントリに記憶されたアド
レスに対応して前記データメモリに記憶されたデータを
記憶する補助データメモリと、 この補助データメモリに記憶された内容が前記データメ
モリの内容と一致するか否かを検出する比較器と、ストアモードを保持するモード保持回路と、を含み、 前記ストアモードがアクティブな場合は前記データメモ
リへの書込みを前記補助データメモリに反映し、前記ス
トアモードがアクティブでない場合は前記データメモリ
への書込みのうちキャッシュフィルによるものを前記補
助データメモリに反映する ことを特徴とするキャッシュ
メモリ。
1. 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 An auxiliary address array to be stored in each entry, an auxiliary data memory to store the data stored in the data memory corresponding to the address stored in each entry of the auxiliary address array, and an auxiliary data memory to be stored in the auxiliary data memory. A comparator for detecting whether the stored contents match the contents of the data memory, and a mode holding circuit for holding the store mode, and the data memory when the store mode is active.
Write to memory is reflected in the auxiliary data memory,
Data memory if tore mode is not active
Of the writing to the cache fill,
A cache memory characterized by being reflected in the auxiliary data memory .
【請求項2】 前記比較器は、前記ストアモードがアク
ティブな場合に有効な値を出力し、前記ストアモードが
アクティブでない場合には有効な値を出力しないことを
特徴とする請求項記載のキャッシュメモリ。
Wherein said comparator outputs a valid value when the storage mode is active, according to claim 1, wherein the storage mode is characterized in that it does not output the valid value when not active Cache memory.
【請求項3】 前記モード保持回路はさらにダイナミッ
クモードを保持し、 キャッシュフィルにより前記アドレスアレイが更新され
る際に、前記ダイナミックモードがアクティブな場合は
前記補助アドレスアレイにも同様の更新内容を反映し、 前記ダイナミックモードがアクティブでない場合は前記
補助アドレスアレイには反映しないことを特徴とする請
求項記載のキャッシュメモリ。
3. The mode holding circuit further holds a dynamic mode, and when the address array is updated by cache fill, the same update content is reflected in the auxiliary address array when the dynamic mode is active. The cache memory according to claim 2 , wherein when the dynamic mode is not active, it is not reflected in the auxiliary address array.
【請求項4】 前記補助アドレスアレイは、 割込み発生条件設定される監視対象レジスタと、 この監視対象レジスタに設定された条件に一致するか否
かを検出し、一致が検 出されると割込みの発生を通知
る一致検出器とを含むことを特徴とする請求項記載の
キャッシュメモリ。
4. The auxiliary address array has a monitoring target register for which an interrupt generation condition is set, and whether or not the conditions set in the monitoring target register match.
Or detecting a cache memory according to claim 1, characterized in that it comprises a match is detected and interrupts to notify the occurrence <br/> Ru coincidence detector.
【請求項5】 前記一致検出器は、 前記監視対象レジスタに設定された条件のうち特定の条
件が一致したか否かを検出する検出器と、 前記検出器の一致検出に応答して計数されるカウンタ
と、 前記カウンタの出力と前記監視対象レジスタに設定され
る期待値とを比較する回数比較器と、を含み、 前記回数比較器は、前記カウンタの値と前記期待値とが
一致した場合に割込みの発生を通知することを特徴とす
る請求項4記載のキャッシュメモリ
5. The coincidence detector is configured to detect a specific condition among the conditions set in the monitoring target register.
A detector that detects whether or not the items match, and a counter that counts in response to the match detection by the detector.
Is set in the output of the counter and the register to be monitored.
A count comparator that compares the expected value with the expected value.
Characterized by notifying the occurrence of an interrupt when they match
The cache memory according to claim 4, wherein
【請求項6】 前記監視対象レジスタは、前記特定の条
件として命令コードとアクセス先アドレスと保持する
ことを特徴とする請求項記載のキャッシュメモリ。
6. The monitoring target register is the specific section.
6. The cache memory according to claim 5 , wherein an instruction code and an access destination address are held as a condition.
【請求項7】 前記監視対象レジスタは、前記特定の条
件として命令コードとレジスタ番号と保持することを
特徴とする請求項記載のキャッシュメモリ。
7. The monitoring target register is the specific section.
6. The cache memory according to claim 5 , wherein an instruction code and a register number are held as a condition.
【請求項8】 アドレスを記憶するアドレスアレイと、
このアドレスアレイに記憶されたアドレスに対応するデ
ータを記憶するデータメモリと、前記アドレスアレイに
記憶されたアドレスのうち少なくとも一つのコピーをそ
の各エントリに記憶する補助アドレスアレイと、この補
助アドレスアレイの各エントリに記憶されたアドレスに
対応して前記データメモリに記憶されたデータを記憶す
る補助データメモリと、ストアモードを保持するモード
保持回路とを有するキャッシュメモリにおける障害検出
方法であって、 前記ストアモードがアクティブな場合は前記データメモ
リへの書込みのうちキャッシュフィル及びストア命令の
何れによるものも前記補助データメモリに反映し、前記
ストアモードがアクティブでない場合は前記データメモ
リへの書込みのうちキャッシュフィルによるものを前記
補助データメモリに反映してストア命令によるものは反
映しないように制御し、 前記ストアモードがアクティブな場合には前記補助デー
タメモリに記憶された内容が前記データメモリの内容と
一致するか否かを出力し、 一致すると判断された場合にはキャッシュヒットしてい
れば障害発生の割込み信号を発生することを特徴とする
キャッシュメモリにおける障害検出方法。
8. An address array for storing addresses,
A data memory for storing data corresponding to the addresses stored in the address array, an auxiliary address array for storing at least one copy of the addresses stored in the address array in each entry, and an auxiliary address array A failure detection method in a cache memory, comprising: an auxiliary data memory that stores data stored in the data memory corresponding to an address stored in each entry; and a mode holding circuit that holds a store mode. When the mode is active, both the cache fill and the store instruction among the writes to the data memory are reflected in the auxiliary data memory, and when the store mode is not active, the cache fill among the writes to the data memory is reflected. By the above It is controlled so that the contents stored in the auxiliary data memory are not reflected, and whether the contents stored in the auxiliary data memory match the contents of the data memory when the store mode is active. A method for detecting a failure in a cache memory, which outputs a signal, and generates an interrupt signal indicating a failure if a cache hit occurs when it is determined that they match.
【請求項9】 前記モード保持回路はさらにダイナミッ
クモードを保持し、 キャッシュフィルにより前記アドレスアレイが更新され
る際に、前記ダイナミックモードがアクティブな場合は
前記補助アドレスアレイにも同様の更新内容を反映し、 前記ダイナミックモードがアクティブでない場合は前記
補助アドレスアレイには反映しないことを特徴とする請
求項記載のキャッシュメモリにおける障害検出方法。
9. The mode holding circuit further holds a dynamic mode, and when the address array is updated by cache fill, the same update content is reflected in the auxiliary address array when the dynamic mode is active. 9. The method according to claim 8 , wherein when the dynamic mode is not active, it is not reflected in the auxiliary address array.
【請求項10】 前記キャッシュメモリにおける障害検
出方法であって、さらに、 所定の条件を所定回数満たすと割込みを発生し、 割込みが発生すると、前記アドレスアレイ、前記データ
メモリ、前記補助アドレスアレイ、及び、前記補助デー
タメモリの内容を採取することを特徴とする請求項
載のキャッシュメモリにおける障害検出方法。
10. A 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 address when the interrupt occurs, the address array, the data memory, the auxiliary address array, and 10. The method for detecting a failure in a cache memory according to claim 9 , wherein the contents of the auxiliary data memory are collected.
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 JP2000305840A (en) 2000-11-02
JP3494072B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5056487B2 (en) * 2008-03-06 2012-10-24 富士通株式会社 Debugging support mechanism and processor system
JP2013041534A (en) * 2011-08-19 2013-02-28 Fujitsu Semiconductor Ltd Semiconductor integrated circuit and interruption generation method
US9239788B2 (en) * 2013-10-24 2016-01-19 Qualcomm Incorporated Split write operation for resistive memory cache

Also Published As

Publication number Publication date
JP2000305840A (en) 2000-11-02

Similar Documents

Publication Publication Date Title
JP4395425B2 (en) Data processing apparatus and method for processing corrupted data values
US4626988A (en) Instruction fetch look-aside buffer with loop mode control
EP0300166B1 (en) Cache memory having a resiliency in processing a variety of address faults
US8977820B2 (en) Handling of hard errors in a cache of a data processing apparatus
US4357656A (en) Method and apparatus for disabling and diagnosing cache memory storage locations
KR100249642B1 (en) Processor interface chip for dual-microprocessor process system
US7447845B2 (en) Data processing system, processor and method of data processing in which local memory access requests are serviced by state machines with differing functionality
US8291259B2 (en) Delete of cache line with correctable error
JPS6135584B2 (en)
US20080016278A1 (en) Data Processing System, Processor and Method of Data Processing in which Local Memory Access Requests are Serviced on a Fixed Schedule
US20070240021A1 (en) Method, system and program product for autonomous error recovery for memory devices
JPH11506850A (en) Method and apparatus for reducing cache snooping overhead in a multi-level cache system
US5926484A (en) Fault correction apparatus for an address array of a store-in cache memory and method therefor
JP3494072B2 (en) Cache memory and fault detection method thereof
US6567952B1 (en) Method and apparatus for set associative cache tag error detection
US7376868B2 (en) Cache memory device and reference history bit error detection method
JP3931757B2 (en) Shared cache memory failure handling method
US5535358A (en) Cache memory control circuit and method for controlling reading and writing requests
JPH05165719A (en) Memory access processor
JP3168489B2 (en) TLB control method and device
JPH0773106A (en) Cache memory
JP2821326B2 (en) Cache memory failure detection device
JPH04243446A (en) Cache registration controller
EP0432807A2 (en) Microprocessor having internal cache memory
JPS5831021B2 (en) information processing system

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