JP2003015956A - Cache system having fault recovery function and cache control method for the system - Google Patents

Cache system having fault recovery function and cache control method for the system

Info

Publication number
JP2003015956A
JP2003015956A JP2001201663A JP2001201663A JP2003015956A JP 2003015956 A JP2003015956 A JP 2003015956A JP 2001201663 A JP2001201663 A JP 2001201663A JP 2001201663 A JP2001201663 A JP 2001201663A JP 2003015956 A JP2003015956 A JP 2003015956A
Authority
JP
Japan
Prior art keywords
cache
data
write
address
microcode
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
JP2001201663A
Other languages
Japanese (ja)
Other versions
JP3804823B2 (en
Inventor
Takahiro Tanioka
隆浩 谷岡
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 JP2001201663A priority Critical patent/JP3804823B2/en
Publication of JP2003015956A publication Critical patent/JP2003015956A/en
Application granted granted Critical
Publication of JP3804823B2 publication Critical patent/JP3804823B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a cache system and a cache control method therefor that, when a fault is detected during the execution of a microcode, achieve the improvement of instruction rewrite success rate by writing data contents executed with a microcode preceding the microcode in execution back into a cache memory, in a processor that unwinds an instruction code into the microcodes to execute it. SOLUTION: In the cache system in which a central processing unit 10 having a processor 13 of a system that unwinds the instruction code into the microcodes to execute it is connected to a main memory 20 through a system bus 30, a cache data save part 12 is provided, for constituting the cache system, that, when a fault is detected during the execution of the microcode with the processor 13, restores the microcode into the state immediately preceding the execution of the microcode by writing the write data that have been saved previously and is updated with the microcode preceding the microcode in execution back into the cache memory.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、障害回復機能を備
えたキャッシュシステムに関し、特に、命令コードをマ
イクロコードに展開して実行するプロセッサにおいて、
マイクロコード実行中に障害を検出した場合、命令リト
ライを可能とするキャッシュシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache system having a failure recovery function, and more particularly to a processor for expanding instruction code into microcode and executing the instruction code.
The present invention relates to a cache system that enables instruction retry when a failure is detected during microcode execution.

【0002】[0002]

【従来の技術】従来、プロセッサの可用性を向上させる
ための手段の一つとして、プロセッサの動作中に障害を
検出した場合に命令コードの実行を一旦中断し、障害を
検出した命令コードを再実行することによって間欠障害
によるシステムダウンを回避する手法が採用されてき
た。
2. Description of the Related Art Conventionally, as one of means for improving the availability of a processor, when a failure is detected during the operation of the processor, the execution of the instruction code is temporarily interrupted and the instruction code in which the failure is detected is re-executed. By doing so, a method of avoiding system down due to intermittent failure has been adopted.

【0003】一方で、昨今の高性能なCISC(Comple
x Instruction Set Computer)方式のマイクロプロセッ
サに見られるように、メモリまたはキャッシュからフェ
ッチしてきた命令コードをプロセッサ内部で一つ以上の
単純なマイクロコードに分解し、パイプラインを高速動
作させることによって性能向上を図る方式が一般化して
いる。
On the other hand, recent high performance CISC (Comple
x Instruction Set Computer) type microprocessor, the instruction code fetched from memory or cache is decomposed into one or more simple microcodes inside the processor, and the pipeline is operated at high speed to improve performance. The method of seeking is becoming popular.

【0004】このようなマイクロコード方式のプロセッ
サでは、一つの命令コードを展開してできたマイクロコ
ードのシーケンスを実行中に障害を検出した場合、命令
リトライのためにはマイクロコードのシーケンスを遡っ
てシーケンスの先頭から再実行する必要があるが、この
ためにはソフトウェアから認識できるレジスタやメモリ
の内容が、障害発生時点までのマイクロコードのシーケ
ンスの実行によって更新されていない(破壊されていな
い)ことが必須条件となる。
In such a microcode type processor, if a failure is detected during execution of a microcode sequence formed by expanding one instruction code, the microcode sequence is traced back for instruction retry. The sequence must be re-executed from the beginning, but this requires that the software visible registers and memory contents have not been updated (not destroyed) by the execution of the microcode sequence up to the point of failure. Is an essential condition.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、上述し
た従来のマイクロコード方式のプロセッサでは、通常よ
く利用される命令コードに関して、展開されたマイクロ
コードの実行中にメモリやレジスタの内容を更新しなが
ら複雑な処理を実現するものがあるため、これらの命令
の実行中に障害が検出された場合にリトライ成功率が低
いという問題点があった。
However, in the conventional microcode type processor described above, with respect to the instruction code which is usually used often, the contents of the memory and the register are updated while the expanded microcode is being executed. However, there is a problem that the retry success rate is low when a failure is detected during the execution of these instructions.

【0006】本発明の目的は、上記従来の課題を解決す
るため、命令コードをマイクロコードに展開して実行す
るプロセッサにおいて、マイクロコード実行中に障害を
検出した場合、当該マイクロコードに先行するマイクロ
コードにより実行されたデータ内容をキャッシュメモリ
に書き戻す事により、命令リトライ成功率の向上を実現
するキャッシュシステムとそのキャッシュ制御方法を提
供することである。
In order to solve the above-mentioned conventional problems, an object of the present invention is to develop a microcode which precedes the microcode when a failure is detected during microcode execution in a processor which expands and executes the instruction code into the microcode. (EN) A cache system and a cache control method therefor that improve the instruction retry success rate by writing back the data contents executed by a code to a cache memory.

【0007】[0007]

【課題を解決するための手段】上記目的を達成するため
本発明は、命令コードをマイクロコードに展開して実行
する方式のプロセッサを備えた中央処理装置を、主記憶
とシステムバスを介して接続したキャッシュシステムに
おいて、前記プロセッサでマイクロコードの実行中に障
害を検出した場合、あらかじめ待避しておいた前記マイ
クロコードに先行するマイクロコードによって更新され
た書き込みデータを、キャッシュメモリに書き戻すこと
により、前記マイクロコードを実行する直前の状態に復
旧するキャッシュデータ待避部を備えたことを特徴とす
る。
In order to achieve the above-mentioned object, the present invention connects a central processing unit having a processor for expanding an instruction code into a microcode and executing the instruction code through a main memory and a system bus. In the cache system, when a failure is detected during the execution of the microcode in the processor, the write data updated by the microcode preceding the previously saved microcode is written back to the cache memory, It is characterized in that a cache data saving unit for restoring the state immediately before the execution of the microcode is provided.

【0008】請求項2の本発明のキャッシュシステム
は、前記キャッシュデータ待避部が、前記書き込みデー
タの待避動作および前記キャッシュメモリへの書き戻し
を制御するキャッシュデータ待避制御回路と、前記書き
込みデータを格納する待避データ格納手段を備えたこと
を特徴とする。
According to another aspect of the cache system of the present invention, the cache data saving unit stores the write data, and a cache data saving control circuit for controlling the saving operation of the write data and the write back to the cache memory. It is characterized in that it is provided with a save data storage means.

【0009】請求項3の本発明のキャッシュシステム
は、前記書き込みデータの一部である書き込みアドレス
が前記キャッシュデータ待避部に格納されているかを判
定し、結果を信号として前記キャッシュデータ待避制御
回路に送信するアドレス比較器を備えたことを特徴とす
る。
According to another aspect of the cache system of the present invention, it is determined whether a write address, which is a part of the write data, is stored in the cache data saving unit, and the result is sent to the cache data saving control circuit as a signal. It is characterized by including an address comparator for transmitting.

【0010】請求項4の本発明のキャッシュシステム
は、前記書き込みデータの一部である書き込みアドレス
が前記キャッシュデータ待避部に格納されているかを判
定し、結果を信号として前記キャッシュデータ待避制御
回路に送信するアドレス比較器と、前記書き込みデータ
の一部である書き込みアドレスを格納するアドレスレジ
スタと、前記アドレス比較器で前記書き込みアドレスが
前記キャッシュデータ待避部に格納されていないと判定
された場合に、前記書き込みアドレスを格納する書き込
みアドレス格納手段を備えたことを特徴とする。
According to another aspect of the cache system of the present invention, it is determined whether a write address that is a part of the write data is stored in the cache data saving unit, and the result is sent to the cache data saving control circuit as a signal. When an address comparator for transmitting, an address register for storing a write address that is part of the write data, and the address comparator determines that the write address is not stored in the cache data saving unit, It is characterized in that a write address storage means for storing the write address is provided.

【0011】請求項5の本発明のキャッシュシステム
は、前記待避データ格納手段を待避データアレイで構成
し、前記書き込みアドレス格納手段を書き込みアドレス
アレイで構成したことを特徴とする。
According to a fifth aspect of the cache system of the present invention, the save data storage means is composed of a save data array, and the write address storage means is composed of a write address array.

【0012】請求項6の本発明のキャッシュシステム
は、前記待避データ格納手段および前記書き込みアドレ
ス格納手段を、それぞれ単一のレジスタで構成したこと
を特徴とする。
According to a sixth aspect of the cache system of the present invention, each of the save data storage means and the write address storage means comprises a single register.

【0013】請求項7の本発明のキャッシュ制御方法
は、命令コードをマイクロコードに展開して実行する方
式のプロセッサを備えた中央処理装置を、主記憶とシス
テムバスを介して接続したキャッシュシステムのキャッ
シュ制御方法において、前記プロセッサでマイクロコー
ドの実行中に障害を検出した場合、あらかじめ待避して
おいた前記マイクロコードに先行するマイクロコードに
よって更新された書き込みデータを、キャッシュメモリ
に書き戻すことにより、前記マイクロコードを実行する
直前の状態に復旧することを特徴とする。
According to a seventh aspect of the cache control method of the present invention, there is provided a cache system in which a central processing unit having a processor for expanding an instruction code into a microcode and executing the code is connected via a main memory and a system bus. In the cache control method, when a failure is detected during the execution of the microcode in the processor, the write data updated by the microcode preceding the previously saved microcode is written back to the cache memory, It is characterized in that the state immediately before the execution of the microcode is restored.

【0014】請求項8の本発明のキャッシュ制御方法
は、前記書き込みデータの待避動作および前記キャッシ
ュメモリへの書き戻しを制御するステップと、待避デー
タ格納手段に前記書き込みデータを格納するステップを
備えたことを特徴とする。
The cache control method of the present invention according to claim 8 comprises the steps of controlling the save operation of the write data and the write back to the cache memory, and the step of storing the write data in the save data storage means. It is characterized by

【0015】請求項9の本発明のキャッシュ制御方法
は、前記書き込みデータの一部である書き込みアドレス
が前記キャッシュデータ待避部に格納されているかを判
定し、結果を信号として前記キャッシュデータ待避制御
回路に送信するステップを備えたことを特徴とする。
According to a ninth aspect of the cache control method of the present invention, it is determined whether a write address, which is a part of the write data, is stored in the cache data saving unit, and the result is used as a signal for the cache data saving control circuit. It is characterized by comprising a step of transmitting to.

【0016】請求項10の本発明のキャッシュ制御方法
は、アドレスレジスタに、前記書き込みデータの一部で
ある書き込みアドレスを格納するステップと、前記アド
レス比較器で前記書き込みアドレスが前記キャッシュデ
ータ待避部に格納されていないと判定された場合に、前
記書き込みアドレスを書き込みアドレス格納手段に格納
するステップを備えたことを特徴とする。
According to a tenth aspect of the cache control method of the present invention, a step of storing a write address which is a part of the write data in an address register, and the write address in the cache data saving section in the address comparator. When it is determined that the write address is not stored, a step of storing the write address in the write address storage means is provided.

【0017】[0017]

【発明の実施の形態】以下、本発明の第1の実施の形態
について、図面を参照して詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION A first embodiment of the present invention will be described in detail below with reference to the drawings.

【0018】図1は本発明の第1の実施の形態によるキ
ャッシュシステムの構成を示すブロック図である。
FIG. 1 is a block diagram showing the structure of a cache system according to the first embodiment of the present invention.

【0019】本発明の第1の実施の形態によるキャッシ
ュシステムは、中央処理装置10と主記憶20、および
それらを接続するシステムバス30から構成される。図
1では、システムバス30に中央処理装置10を4式接
続しているが(10−1〜10−4)、システムバス3
0に接続される中央処理装置10の数は任意である(1
0−m:mは自然数)。同様に、図1ではシステムバス
30に主記憶20を1式接続しているが(20−1)、
システムバス30に接続される主記憶20の数は任意で
ある(20−n:nは自然数)。
The cache system according to the first embodiment of the present invention comprises a central processing unit 10, a main memory 20, and a system bus 30 connecting them. In FIG. 1, four sets of central processing units 10 are connected to the system bus 30 (10-1 to 10-4), but the system bus 3
The number of central processing units 10 connected to 0 is arbitrary (1
0-m: m is a natural number). Similarly, although one set of the main memory 20 is connected to the system bus 30 in FIG. 1, (20-1),
The number of main memories 20 connected to the system bus 30 is arbitrary (20-n: n is a natural number).

【0020】中央処理装置10は、ストアイン方式のキ
ャッシュメモリ11とキャッシュデータ待避部12、お
よび命令コードをマイクロコードに展開して実行する方
式のプロセッサ13から構成される。プロセッサ13と
キャッシュデータ待避部12は共にキャッシュメモリ1
1に接続されており、キャッシュメモリ11はさらにシ
ステムバス30に接続されている。
The central processing unit 10 comprises a cache memory 11 of a store-in system, a cache data saving unit 12, and a processor 13 of a system which develops an instruction code into microcode and executes it. Both the processor 13 and the cache data saving unit 12 are the cache memory 1
1 and the cache memory 11 is further connected to the system bus 30.

【0021】図2は本発明の第1の実施の形態によるキ
ャッシュメモリ11とキャッシュデータ待避部12の構
成を示す図である。
FIG. 2 is a diagram showing the configurations of the cache memory 11 and the cache data saving unit 12 according to the first embodiment of the present invention.

【0022】キャッシュメモリ11は、アドレスアレイ
111とデータアレイ112、およびキャッシュ制御回
路113から構成される。
The cache memory 11 comprises an address array 111, a data array 112, and a cache control circuit 113.

【0023】アドレスアレイ111は複数のエントリか
ら構成されるメモリであり、各々のエントリにキャッシ
ュ索引時に参照されるアドレスの一部(アドレスキー)
と、該当エントリの補助情報としてデータが有効である
事をしめすバリッドビット、およびストアインキャッシ
ュのデータの状態を表す状態ビットが格納される。
The address array 111 is a memory composed of a plurality of entries, and each entry has a part of the address (address key) that is referred to during cache indexing.
And a valid bit indicating that the data is valid as auxiliary information of the corresponding entry, and a status bit indicating the status of the data in the store-in cache.

【0024】データアレイ112はアドレスアレイ11
1と同様に複数のエントリから構成されるメモリであ
り、各々のエントリにデータを格納する。
The data array 112 is the address array 11
This is a memory composed of a plurality of entries similar to 1, and stores data in each entry.

【0025】キャッシュ制御回路113はキャッシュメ
モリ11の動作を制御する論理回路であり、アドレスア
レイ111とデータアレイ112における索引およびデ
ータ登録の制御機能のほか、システムバス30とプロセ
ッサ13、およびキャッシュデータ待避部12とのイン
ターフェース機能をもつ。
The cache control circuit 113 is a logic circuit for controlling the operation of the cache memory 11, and has a control function for indexing and data registration in the address array 111 and the data array 112, as well as the system bus 30, the processor 13, and the cache data save. It has an interface function with the unit 12.

【0026】キャッシュデータ待避部12は、アドレス
レジスタ121、書き込みアドレスアレイ122、アド
レス比較器123、キャッシュデータ待避制御回路12
4および待避データアレイ125から構成される。
The cache data saving unit 12 includes an address register 121, a write address array 122, an address comparator 123, and a cache data saving control circuit 12.
4 and the save data array 125.

【0027】アドレスレジスタ121は、キャッシュへ
の書き込み動作時にキャッシュ制御回路113から送出
される書き込みアドレスとキャッシュの状態ビットの情
報を格納するレジスタである。アドレスレジスタ121
に格納された書き込みアドレスと状態ビットは、書き込
みアドレスアレイ122とアドレス比較器123へ出力
される。
The address register 121 is a register for storing the write address sent from the cache control circuit 113 and the information of the status bit of the cache during the write operation to the cache. Address register 121
The write address and the status bit stored in are written to the write address array 122 and the address comparator 123.

【0028】書き込みアドレスアレイ122は、複数の
エントリから構成されるメモリであって、キャッシュデ
ータ待避制御回路124の制御によりアドレスレジスタ
121から出力される書き込みアドレスと状態ビットの
情報を格納する。
The write address array 122 is a memory composed of a plurality of entries, and stores the write address and status bit information output from the address register 121 under the control of the cache data save control circuit 124.

【0029】アドレス比較器123は、アドレスレジス
タ121に格納される書き込みアドレスと書き込みアド
レスアレイ122の各エントリに格納されるアドレスを
比較する比較回路である。それらを比較した結果は、一
致・不一致を表す信号として、キャッシュデータ待避制
御回路124へ通知される。
The address comparator 123 is a comparison circuit for comparing the write address stored in the address register 121 with the address stored in each entry of the write address array 122. The result of comparing them is notified to the cache data save control circuit 124 as a signal indicating a match / mismatch.

【0030】キャッシュデータ待避制御回路124は、
キャッシュデータ待避部12の動作を制御する制御回路
である。特に図示したリトライ不可フラグ1241は、
キャッシュデータ待避部12により待避されたキャッシ
ュデータを元に、プロセッサ13の障害発生時に命令リ
トライを実行することが不可能であることを示すフラグ
である。
The cache data save control circuit 124 is
It is a control circuit that controls the operation of the cache data saving unit 12. In particular, the retry-disabled flag 1241 shown in FIG.
This is a flag indicating that it is impossible to execute an instruction retry when a failure occurs in the processor 13, based on the cache data saved by the cache data saving unit 12.

【0031】待避データアレイ125は、書き込みアド
レスアレイ122と同様に複数エントリから構成される
メモリであって、データアレイ112から取り出したデ
ータを格納するとともに、取り出したデータをキャッシ
ュ制御回路113へ送出する。
The save data array 125 is a memory composed of a plurality of entries like the write address array 122, stores the data fetched from the data array 112, and sends the fetched data to the cache control circuit 113. .

【0032】次に、図2を参照しながら本発明の第1の
実施の形態によるキャッシュシステムの動作について説
明する。
Next, the operation of the cache system according to the first embodiment of the present invention will be described with reference to FIG.

【0033】まず、プロセッサ13からチェックポイン
ト信号200を受信した場合のキャッシュデータ待避制
御回路124の動作について説明する。
First, the operation of the cache data save control circuit 124 when the checkpoint signal 200 is received from the processor 13 will be described.

【0034】チェックポイント信号200は、プロセッ
サ13が一つの命令コードから展開したマイクロコード
の最終命令の実行が完了した時に送出される信号であ
る。プロセッサ13の中で一つの命令コードは1個以上
のマイクロコードからなるシーケンスに展開され、実行
される。図3はその一例としてプロセッサ13が取り込
んだ命令コード(MOV)が10個のマイクロコードに
展開されていることを説明する図である。
The checkpoint signal 200 is a signal sent when the processor 13 completes the execution of the final instruction of the microcode expanded from one instruction code. In the processor 13, one instruction code is expanded into a sequence of one or more microcodes and executed. As an example thereof, FIG. 3 is a diagram for explaining that the instruction code (MOV) taken in by the processor 13 is expanded into 10 microcodes.

【0035】ここで、命令コードMOVは、メモリ上の
アドレスXから長さL1ワードの文字列をアドレスYか
ら始まる領域にコピーする命令である。展開されたマイ
クロコードを参照すると、マイクロ命令lodはレジスタ
間もしくはメモリとレジスタ間のロード命令、stoはレ
ジスタからメモリへの書き込み命令、addはレジスタ間
の加算命令、subはレジスタ間の除算命令、braは分岐命
令、endfは一連のマイクロコードの終了を示し後続の命
令コードのフェッチを指示する命令を表す。
Here, the instruction code MOV is an instruction to copy a character string of length L1 word from the address X on the memory to an area starting from the address Y. Referring to the expanded microcode, microinstruction lod is a register-to-register or memory-to-register load instruction, sto is a register-to-memory write instruction, add is an register-to-register addition instruction, and sub is a register-to-register division instruction. bra represents a branch instruction, and endf represents an instruction indicating the end of a series of microcodes and instructing fetching of a subsequent instruction code.

【0036】まずX、Y、L1がワークレジスタw0、
w1、w2にそれぞれコピーされ(ステップ301、3
02、303)、続いてワークレジスタw4を介して1
ワードコピーを行い(ステップ304、305)、ワー
クレジスタに格納されたアドレスとカウンタを更新して
(ステップ306、307、308)、コピーが終了す
るまでループを実行する(ステップ309)事が分か
る。最後に付与されたendf(ステップ310)は、実際
のインプリメントでは高速化のためマイクロコードシー
ケンスの最終命令にビット情報として付与するなどして
特に終わりを表す命令として定義しない場合もあるが、
ここでは説明をしやすくするために特に設けたものであ
る。
First, X, Y, L1 are work registers w0,
copied to w1 and w2 respectively (steps 301, 3
02, 303), then 1 via work register w4
It can be seen that the word copy is performed (steps 304 and 305), the address and the counter stored in the work register are updated (steps 306, 307 and 308), and the loop is executed until the copy is completed (step 309). In the actual implementation, the endf added at the end (step 310) may not be defined as an instruction that particularly indicates the end by adding it as bit information to the final instruction of the microcode sequence for the sake of speedup.
Here, it is provided specifically for ease of explanation.

【0037】図4は、本発明の第1の実施の形態におい
て、プロセッサ13からチェックポイント信号200を
受信した場合のキャッシュデータ待避制御回路124の
動作について説明するフローチャートである。キャッシ
ュデータ待避制御回路124はチェックポイント信号2
00を受信すると(ステップ401)、書き込みアドレ
スアレイ122に登録されている全てのエントリをリセ
ットすると共に、リトライ不可フラグ1241をリセッ
トする(ステップ402)。
FIG. 4 is a flow chart for explaining the operation of the cache data save control circuit 124 when the checkpoint signal 200 is received from the processor 13 in the first embodiment of the present invention. The cache data save control circuit 124 uses the checkpoint signal 2
When 00 is received (step 401), all the entries registered in the write address array 122 are reset and the retry impossible flag 1241 is reset (step 402).

【0038】次に、プロセッサ13からのキャッシュ読
み出しの動作について図5を参照して詳細に説明する。
図5は、本発明の第1の実施の形態において、プロセッ
サ13からのキャッシュ読み出しの動作について説明す
るフローチャートである。
Next, the cache read operation from the processor 13 will be described in detail with reference to FIG.
FIG. 5 is a flowchart for explaining the cache read operation from the processor 13 in the first embodiment of the present invention.

【0039】プロセッサ13からキャッシュ読み出し要
求が送出されると、その要求信号201は読み出しアド
レスと共にキャッシュ制御回路113に入力される(ス
テップ501)。続いて、キャッシュ制御回路113か
らアドレスアレイ111およびデータアレイ112へ読
み出しアドレスの一部分からなる索引アドレスを供給す
ることにより、アドレスアレイ111からはアドレスキ
ー、データアレイ112からはデータを取り出し、キャ
ッシュヒットしているかを判定する(ステップ50
2)。
When the cache read request is sent from the processor 13, the request signal 201 is input to the cache control circuit 113 together with the read address (step 501). Then, the cache control circuit 113 supplies an index address consisting of a part of the read address to the address array 111 and the data array 112, thereby fetching the address key from the address array 111 and the data from the data array 112 to cause a cache hit. (Step 50)
2).

【0040】ここでキャッシュヒットしていれば、デー
タアレイ112から取り出したデータをプロセッサ13
へ送出して(ステップ503)、読み出し動作は完了す
る。
If there is a cache hit here, the data fetched from the data array 112 is processed by the processor 13
(Step 503) and the read operation is completed.

【0041】一方、キャッシュミスしていた場合、キャ
ッシュ制御回路113はリプレースすべきエントリを決
定し(ステップ504)、そのエントリの状態ビットの
値を参照してダーティ状態であればメモリへ掃き出しを
行う。その後、キャッシュ制御回路113はシステムバ
ス30を経由して主記憶20から当該アドレスのデータ
の読み出しを行い(ステップ505)、アドレスアレイ
111へアドレスキー、バリッドビット、状態ビット
を、データアレイ112へデータを登録する(ステップ
506)。この時状態ビットはクリーン状態で登録され
る。そして、プロセッサ13へデータを送出することで
(ステップ503)、読み出し動作が完了する。
On the other hand, if there is a cache miss, the cache control circuit 113 determines the entry to be replaced (step 504), refers to the value of the status bit of the entry, and flushes to the memory if it is dirty. . After that, the cache control circuit 113 reads the data of the address from the main memory 20 via the system bus 30 (step 505), and outputs the address key, the valid bit and the status bit to the address array 111 and the data to the data array 112. Is registered (step 506). At this time, the status bit is registered in the clean state. Then, by sending the data to the processor 13 (step 503), the read operation is completed.

【0042】読み出し動作の場合は、キャッシュデータ
待避部12の動作は行われない。
In the case of the read operation, the operation of the cache data saving unit 12 is not performed.

【0043】次に、プロセッサ13からのキャッシュ書
き込みの動作について図6、図7を参照して詳細に説明
する。図6は、本発明の第1の実施の形態において、プ
ロセッサ13からのキャッシュ書き込みの動作時のキャ
ッシュメモリ11の動作について説明するフローチャー
ト、図7は、本発明の第1の実施の形態において、プロ
セッサ13からのキャッシュ書き込みの動作時のキャッ
シュデータ待避部12の動作について説明するフローチ
ャートである。
Next, the cache write operation from the processor 13 will be described in detail with reference to FIGS. 6 and 7. FIG. 6 is a flowchart for explaining the operation of the cache memory 11 at the time of the cache write operation from the processor 13 in the first embodiment of the present invention, and FIG. 7 is the flowchart of the first embodiment of the present invention. 7 is a flowchart illustrating an operation of the cache data saving unit 12 during a cache write operation from the processor 13.

【0044】プロセッサ13からキャッシュ書き込み要
求が送出されると、その要求信号202は書き込みアド
レス、書き込みデータと共にキャッシュ制御回路113
に入力される(ステップ601)。続いて、キャッシュ
制御回路113はデータアレイ112からデータを取り
出すとともに、アドレスアレイ111を索引し、当該ア
ドレスのデータがキャッシュにヒットしたかどうかを判
定する(ステップ602)。
When a cache write request is sent from the processor 13, the request signal 202 indicates the write address and write data together with the cache control circuit 113.
Is input (step 601). Subsequently, the cache control circuit 113 retrieves data from the data array 112, indexes the address array 111, and determines whether the data at the address hits the cache (step 602).

【0045】キャッシュヒットの場合、キャッシュ制御
回路113は、上記索引時に取り出したデータに書き込
みデータを上書きして、キャッシュへ登録することで書
き込み動作が完了する(ステップ603)。また、書き
込み前の読み出しで当該エントリの状態ビットがクリー
ン状態だった場合は、ダーティ状態に更新される。
In the case of a cache hit, the cache control circuit 113 completes the write operation by overwriting the write data on the data fetched at the time of indexing and registering it in the cache (step 603). Also, if the status bit of the entry is in the clean state in the read before the writing, it is updated to the dirty state.

【0046】キャッシュミスの場合、キャッシュ制御回
路113はリプレースすべきエントリを決定し(ステッ
プ604)、そのエントリの状態ビットの値を参照して
ダーティ状態であればメモリへ掃き出しを行う。その
後、システムバス30を経由して主記憶20から当該ア
ドレスのデータの読み出しを行い(ステップ605)、
読み出したデータにプロセッサ13からの書き込みデー
タを上書きしてキャッシュへ登録することで、書き込み
動作が完了する(ステップ606)。この時、キャッシ
ュの当該エントリの状態ビットはダーティ状態で登録さ
れる。
In the case of a cache miss, the cache control circuit 113 determines the entry to be replaced (step 604), refers to the value of the status bit of the entry, and flushes to the memory if it is the dirty state. After that, the data of the address is read from the main memory 20 via the system bus 30 (step 605),
The write operation is completed by overwriting the read data with the write data from the processor 13 and registering it in the cache (step 606). At this time, the status bit of the corresponding entry in the cache is registered in the dirty status.

【0047】また、プロセッサ13からの書き込み時、
キャッシュデータ待避部12は以下の動作を行う。
When writing from the processor 13,
The cache data saving unit 12 performs the following operations.

【0048】まず、アドレスアレイ111及びデータア
レイ112に書き込みデータを上書きする際(図6のス
テップ603、606)に、書き込みアドレスと書き込
み前の読み出しで取り出した状態ビットの値を、キャッ
シュ制御回路113からアドレスレジスタ121に格納
するとともに、書き込み前の読み出しでキャッシュヒッ
トした場合はデータアレイ112から取り出したデータ
を、キャッシュミスした場合はシステムバス30経由で
主記憶20から取得したデータをキャッシュ制御回路1
13から取得し、待避データアレイ125へ格納する
(ステップ701)。続いて、アドレス比較器123に
おいて、アドレスレジスタ121に格納された書き込み
アドレスと同じエントリが書き込みアドレスアレイ12
2に登録されているかを判定する(ステップ702)。
First, when the write data is overwritten in the address array 111 and the data array 112 (steps 603 and 606 in FIG. 6), the cache control circuit 113 sets the write address and the value of the status bit extracted in the read before the write. The cache control circuit 1 stores the data from the main memory 20 via the system bus 30 when the data is stored in the address register 121 from
13 and stores it in the save data array 125 (step 701). Then, in the address comparator 123, the same entry as the write address stored in the address register 121 is written in the write address array 12
It is determined whether or not it is registered in No. 2 (step 702).

【0049】書き込みアドレスアレイ122に、アドレ
スレジスタ121に格納された書き込みアドレスと同じ
アドレスのエントリが登録されていた場合、キャッシュ
データ待避部12の動作はここで終了する。
When the entry having the same address as the write address stored in the address register 121 is registered in the write address array 122, the operation of the cache data saving unit 12 ends here.

【0050】書き込みアドレスアレイ122に、アドレ
スレジスタ121に格納された書き込みアドレスと同じ
アドレスのエントリが登録されていなかった場合、キャ
ッシュデータ待避制御回路124の制御により、アドレ
スレジスタ121に格納された書き込みアドレスおよび
状態ビットが書き込みアドレスアレイ122に格納され
る(ステップ703)。
When the entry having the same address as the write address stored in the address register 121 is not registered in the write address array 122, the write address stored in the address register 121 is controlled by the cache data save control circuit 124. And the status bits are stored in the write address array 122 (step 703).

【0051】次に、システムバス30を経由して、他の
キャッシュメモリからキャッシュ無効化要求を受信した
場合のキャッシュシステムの動作について、図8を参照
して詳細に説明する。図8は、本発明の第1の実施の形
態において、システムバス30を経由して、他のキャッ
シュメモリからキャッシュ無効化要求を受信した場合の
キャッシュシステムの動作について説明するフローチャ
ートである。
Next, the operation of the cache system when a cache invalidation request is received from another cache memory via the system bus 30 will be described in detail with reference to FIG. FIG. 8 is a flowchart illustrating an operation of the cache system when a cache invalidation request is received from another cache memory via the system bus 30 according to the first embodiment of this invention.

【0052】まず、キャッシュ制御回路113は、無効
化を要求されたアドレスでアドレスアレイ111を索引
し(ステップ801)、キャッシュにヒットしたかどう
かを判定する。ヒットしていた場合、アドレスアレイ1
11の当該エントリのバリッドビットをリセットし、当
該エントリのデータを無効化する(ステップ802)。
First, the cache control circuit 113 indexes the address array 111 with the address requested to be invalidated (step 801) and determines whether or not there is a cache hit. If there is a hit, address array 1
11. The valid bit of the entry of 11 is reset to invalidate the data of the entry (step 802).

【0053】また、キャッシュのヒットもしくはミスに
関わらず、キャッシュ制御回路113からアドレスレジ
スタ121へ無効化を要求されたアドレスが送出される
とともに、待避データ無効化信号203がキャッシュデ
ータ待避制御回路124へ送出される(ステップ80
3)。
Further, regardless of the cache hit or miss, the address for which invalidation is requested is sent from the cache control circuit 113 to the address register 121, and the save data invalidation signal 203 is sent to the cache data save control circuit 124. Sent out (step 80)
3).

【0054】待避データ無効化信号203を受信したキ
ャッシュデータ待避制御回路124は、アドレス比較器
123の出力により無効化を要求されたアドレスのエン
トリが書き込みアドレスアレイ122へ登録されている
かどうかを判定し(ステップ804)、当該アドレスの
エントリが登録されていたならばリトライ不可フラグ1
241をセットし(ステップ805)、プロセッサ13
で現在実行中のマイクロコードシーケンスで障害を検出
した場合に命令リトライの実行が不可能であることを表
示する。
Upon receiving the save data invalidation signal 203, the cache data save control circuit 124 determines whether the entry of the address requested to be invalidated by the output of the address comparator 123 is registered in the write address array 122. (Step 804), if the entry of the address is registered, retry impossible flag 1
241 is set (step 805), and the processor 13
Indicates that the instruction retry cannot be executed when a failure is detected in the microcode sequence currently being executed.

【0055】次に、プロセッサ13でマイクロコード実
行中に障害を検出した場合のキャッシュシステムの動作
について図9を参照して詳細に説明する。図9は、本発
明の第1の実施の形態において、プロセッサ13でマイ
クロコード実行中に障害を検出した場合のキャッシュシ
ステムの動作について説明するフローチャートである。
Next, the operation of the cache system when the processor 13 detects a failure during microcode execution will be described in detail with reference to FIG. FIG. 9 is a flowchart illustrating the operation of the cache system when the processor 13 detects a failure during microcode execution in the first embodiment of the present invention.

【0056】プロセッサ13でマイクロコード実行中に
障害を検出した場合、プロセッサ13は障害検出信号2
04で障害を検出したことをキャッシュ制御回路113
およびキャッシュデータ待避制御回路124へ通知する
(ステップ901)。
When the processor 13 detects a failure during microcode execution, the processor 13 sends a failure detection signal 2
The cache control circuit 113 detects that a failure is detected in 04.
And the cache data save control circuit 124 is notified (step 901).

【0057】キャッシュデータ待避制御回路124は、
障害検出信号204を受け取ると、まず最初にリトライ
不可フラグ1241を参照し、フラグがリセットされて
いることを確認する(ステップ902)。
The cache data saving control circuit 124
When the failure detection signal 204 is received, the retry impossible flag 1241 is first referenced to confirm that the flag is reset (step 902).

【0058】フラグがセットされていた場合、プロセッ
サ13で動作中のマイクロコードのシーケンスはリトラ
イ不可能であるので、キャッシュデータ待避部12はそ
の時点で動作を停止することにより、キャッシュメモリ
11およびプロセッサ13の動作も停止する(ステップ
906)。
When the flag is set, the sequence of the microcode operating in the processor 13 cannot be retried, so the cache data saving unit 12 stops the operation at that time, and the cache memory 11 and the processor are stopped. The operation of 13 is also stopped (step 906).

【0059】フラグがリセットされていた場合、キャッ
シュデータ待避制御回路124は書き込みアドレスアレ
イ122の各エントリを順に参照し、登録されたアドレ
ス、状態ビットを取り出してキャッシュ制御回路113
へ送出するとともに、待避データアレイ125から登録
されたデータを取りだしてキャッシュ制御回路113へ
送出する(ステップ903)。
If the flag has been reset, the cache data save control circuit 124 sequentially refers to each entry of the write address array 122, extracts the registered address and status bit, and fetches them from the cache control circuit 113.
At the same time, the registered data is fetched from the save data array 125 and sent to the cache control circuit 113 (step 903).

【0060】キャッシュ制御回路113では、送られて
きたアドレスをもとにアドレスアレイ111およびデー
タアレイ112にアドレスキーと状態ビット、データを
登録すべきエントリを決定し(ステップ904)、上書
きすることによってプロセッサ13が障害を検出したマ
イクロコードのシーケンスを実行し始める直前の状態に
復旧する(ステップ905)。
The cache control circuit 113 determines an address key, a status bit, and an entry in which data should be registered in the address array 111 and the data array 112 based on the sent address (step 904) and overwrites them. The state immediately before the processor 13 starts executing the microcode sequence in which the failure is detected is restored (step 905).

【0061】次に、本発明の第2の実施の形態につい
て、図面を参照して詳細に説明する。なお、キャッシュ
システム全体の構成については、図1に示した第1の実
施の形態と同様であるので説明を省略する。
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. Since the configuration of the entire cache system is the same as that of the first embodiment shown in FIG. 1, its explanation is omitted.

【0062】図10は、本発明の第2の実施の形態によ
るキャッシュメモリ11とキャッシュデータ待避部12
の構成を示す図である。
FIG. 10 shows a cache memory 11 and a cache data saving unit 12 according to the second embodiment of the present invention.
It is a figure which shows the structure of.

【0063】本発明の第2の実施の形態は、第1の実施
の形態の書き込みアドレスアレイ122および待避デー
タアレイ125を、それぞれ書き込みアドレスレジスタ
126および待避データレジスタ127で置き換えて構
成している。なお、キャッシュメモリ11およびキャッ
シュデータ待避部12全体の動作については、第1の実
施の形態と同様であるので説明を省略する。
The second embodiment of the present invention is configured by replacing the write address array 122 and the save data array 125 of the first embodiment with a write address register 126 and a save data register 127, respectively. The operation of the cache memory 11 and the cache data saving unit 12 as a whole is the same as that of the first embodiment, and therefore its explanation is omitted.

【0064】図10に示すように、複数エントリから構
成されるメモリである書き込みアドレスアレイ122お
よび待避データアレイ125を、それぞれ単一のレジス
タで置き換えたことにより、キャッシュデータ待避部1
2に追加するハードウェア量を極力少なくすることがで
きるが、一つの命令コードを展開したマイクロコードの
シーケンス中で二つ以上の書き込み動作が生じた場合、
本実施の形態では命令リトライによる救済ができなくな
るという問題もある。
As shown in FIG. 10, by replacing the write address array 122 and the save data array 125, which are memories composed of a plurality of entries, with a single register, the cache data save unit 1
Although the amount of hardware to be added to 2 can be reduced as much as possible, if two or more write operations occur in the microcode sequence in which one instruction code is expanded,
In this embodiment, there is also a problem that the repair by the instruction retry cannot be performed.

【0065】しかしながら、マイクロコードのシーケン
ス中で一つしか書き込み命令を使わない命令について
は、第1の実施の形態と同様に命令リトライによる救済
が可能であり、障害検出時の救済率と投資するハードウ
ェア量のトレードオフという観点から本実施の形態は十
分に実用的であると言える。
However, with respect to an instruction that uses only one write instruction in the microcode sequence, it can be relieved by instruction retry as in the first embodiment, and an investment is made with a relief rate at the time of failure detection. It can be said that the present embodiment is sufficiently practical from the viewpoint of the trade-off of the amount of hardware.

【0066】以上、好ましい実施の形態及び実施例を挙
げて本発明を説明したが、本発明は必ずしも上記実施の
形態及び実施例に限定されるものではなく、その技術的
思想の範囲内において様々に変形して実施することがで
きる。
Although the present invention has been described with reference to the preferred embodiments and examples, the present invention is not necessarily limited to the above-described embodiments and examples, and various modifications are possible within the scope of the technical idea. It can be implemented by modifying the above.

【0067】[0067]

【発明の効果】以上説明したように、本発明のキャッシ
ュシステムにより、命令コードをマイクロコードに展開
して実行する形式のプロセッサにおいて、マイクロコー
ド実行中に障害を検出した場合に命令コード単位でのリ
トライが可能になる。
As described above, according to the cache system of the present invention, in the processor of the type in which the instruction code is expanded into the microcode and executed, when a failure is detected during the execution of the microcode, the instruction code unit is used. Retry is possible.

【0068】その理由は、マイクロコードのシーケンス
中での書き込みによりキャッシュの状態が変化した後で
も、待避データアレイに待避されたデータをキャッシュ
メモリに書き戻す事によってマイクロコードのシーケン
ス実行前の状態にキャッシュの状態を戻す事が可能だか
らである。
The reason is that even after the state of the cache has been changed by writing in the microcode sequence, the data saved in the save data array is written back to the cache memory to the state before the execution of the microcode sequence. This is because it is possible to return the cache status.

【0069】また、書き込みアドレスアレイおよび待避
データアレイを、それぞれ単一のレジスタである書き込
みアドレスレジスタおよび待避データレジスタに置き換
えることにより、キャッシュデータ待避部に追加するハ
ードウェア量を最小限に抑えることができる。
Further, by replacing the write address array and the save data array with the write address register and the save data register, which are respectively a single register, the amount of hardware added to the cache data save unit can be minimized. it can.

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

【図1】 本発明の実施の形態によるキャッシュシステ
ムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a cache system according to an embodiment of the present invention.

【図2】 本発明の第1の実施の形態によるキャッシュ
メモリとキャッシュデータ待避部の構成を示す図であ
る。
FIG. 2 is a diagram showing a configuration of a cache memory and a cache data saving unit according to the first embodiment of the present invention.

【図3】 本発明の第1の実施の形態によるプロセッサ
が命令コードをマイクロコードに展開する一例を説明す
る図である。
FIG. 3 is a diagram illustrating an example in which the processor according to the first embodiment of the present invention expands an instruction code into microcode.

【図4】 本発明の第1の実施の形態において、プロセ
ッサからチェックポイント信号を受信した場合のキャッ
シュデータ待避制御回路の動作について説明するフロー
チャートである。
FIG. 4 is a flowchart illustrating an operation of the cache data save control circuit when a checkpoint signal is received from the processor according to the first embodiment of the present invention.

【図5】 本発明の第1の実施の形態において、プロセ
ッサからのキャッシュ読み出しの動作時のキャッシュメ
モリの動作について説明するフローチャートである。
FIG. 5 is a flowchart illustrating an operation of the cache memory during an operation of reading a cache from a processor according to the first embodiment of the present invention.

【図6】 本発明の第1の実施の形態において、プロセ
ッサからのキャッシュ書き込みの動作時のキャッシュメ
モリの動作について説明するフローチャートである。
FIG. 6 is a flowchart illustrating an operation of the cache memory at the time of the cache write operation from the processor in the first embodiment of the present invention.

【図7】 本発明の第1の実施の形態において、プロセ
ッサからのキャッシュ書き込みの動作時のキャッシュデ
ータ待避部の動作について説明するフローチャートであ
る。
FIG. 7 is a flowchart illustrating an operation of a cache data saving unit during a cache write operation from a processor in the first embodiment of the present invention.

【図8】 本発明の第1の実施の形態において、システ
ムバスを経由して、他のキャッシュメモリからキャッシ
ュ無効化要求を受信した場合のキャッシュシステムの動
作について説明するフローチャートである。
FIG. 8 is a flowchart illustrating an operation of the cache system when a cache invalidation request is received from another cache memory via the system bus according to the first embodiment of this invention.

【図9】 本発明の第1の実施の形態において、プロセ
ッサでマイクロコード実行中に障害を検出した場合のキ
ャッシュシステムの動作について説明するフローチャー
トである。
FIG. 9 is a flowchart illustrating an operation of the cache system when a processor detects a failure during execution of microcode in the first embodiment of the present invention.

【図10】 本発明の第2の実施の形態によるキャッシ
ュメモリとキャッシュデータ待避部の構成を示す図であ
る。
FIG. 10 is a diagram showing configurations of a cache memory and a cache data saving unit according to a second embodiment of the present invention.

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

10 中央処理装置 11 キャッシュメモリ 12 キャシュデータ待避部 13 プロセッサ 20 主記憶 30 システムバス 111 アドレスアレイ 112 データアレイ 113 キャッシュ制御回路 121 アドレスレジスタ 122 書き込みアドレスアレイ 123 アドレス比較器 124 キャッシュデータ待避制御回路 125 待避データアレイ 126 書き込みアドレスレジスタ 127 待避データレジスタ 200 チェックポイント信号 201 キャッシュ読み出し要求信号 202 キャッシュ書き込み要求信号 203 待避データ無効化信号 204 障害検出信号 1241 リトライ不可フラグ 10 Central processing unit 11 cache memory 12 Cash data saving unit 13 processors 20 main memory 30 system bus 111 address array 112 data array 113 cache control circuit 121 Address register 122 write address array 123 Address comparator 124 Cache data save control circuit 125 save data array 126 Write Address Register 127 Save data register 200 checkpoint signals 201 Cache read request signal 202 cache write request signal 203 Saved data invalidation signal 204 Fault detection signal 1241 Retry impossible flag

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 命令コードをマイクロコードに展開して
実行する方式のプロセッサを備えた中央処理装置を、主
記憶とシステムバスを介して接続したキャッシュシステ
ムにおいて、 前記プロセッサでマイクロコードの実行中に障害を検出
した場合、あらかじめ待避しておいた前記マイクロコー
ドに先行するマイクロコードによって更新された書き込
みデータを、キャッシュメモリに書き戻すことにより、
前記マイクロコードを実行する直前の状態に復旧するキ
ャッシュデータ待避部を備えたことを特徴とするキャッ
シュシステム。
1. A cache system in which a central processing unit having a processor for expanding an instruction code into microcode and executing the code is connected to a main memory via a system bus, wherein the microprocessor is executing the microcode. When a failure is detected, the write data updated by the microcode preceding the previously saved microcode is written back to the cache memory,
A cache system comprising a cache data saving unit for restoring the state immediately before the execution of the microcode.
【請求項2】 前記キャッシュデータ待避部が、 前記書き込みデータの待避動作および前記キャッシュメ
モリへの書き戻しを制御するキャッシュデータ待避制御
回路と、 前記書き込みデータを格納する待避データ格納手段を備
えたことを特徴とする請求項1に記載のキャッシュシス
テム。
2. The cache data saving unit includes a cache data saving control circuit for controlling a saving operation of the write data and a write back to the cache memory, and a save data storage unit for storing the write data. The cache system according to claim 1, wherein:
【請求項3】 前記書き込みデータの一部である書き込
みアドレスが前記キャッシュデータ待避部に格納されて
いるかを判定し、結果を信号として前記キャッシュデー
タ待避制御回路に送信するアドレス比較器を備えたこと
を特徴とする請求項2に記載のキャッシュシステム。
3. An address comparator for determining whether a write address, which is a part of the write data, is stored in the cache data saving unit, and transmitting the result as a signal to the cache data saving control circuit. The cache system according to claim 2, wherein:
【請求項4】 前記書き込みデータの一部である書き込
みアドレスが前記キャッシュデータ待避部に格納されて
いるかを判定し、結果を信号として前記キャッシュデー
タ待避制御回路に送信する前記アドレス比較器と、 前記書き込みデータの一部である書き込みアドレスを格
納するアドレスレジスタと、 前記アドレス比較器で前記書き込みアドレスが前記キャ
ッシュデータ待避部に格納されていないと判定された場
合に、前記書き込みアドレスを格納する書き込みアドレ
ス格納手段を備えたことを特徴とする請求項2に記載の
キャッシュシステム。
4. The address comparator, which determines whether a write address, which is a part of the write data, is stored in the cache data save unit, and sends the result as a signal to the cache data save control circuit. An address register that stores a write address that is part of the write data, and a write address that stores the write address when the address comparator determines that the write address is not stored in the cache data saving unit. The cache system according to claim 2, further comprising storage means.
【請求項5】 前記待避データ格納手段を待避データア
レイで構成し、前記書き込みアドレス格納手段を書き込
みアドレスアレイで構成したことを特徴とする請求項4
に記載のキャッシュシステム。
5. The backup data storage means is composed of a backup data array, and the write address storage means is composed of a write address array.
The cache system described in.
【請求項6】 前記待避データ格納手段および前記書き
込みアドレス格納手段を、それぞれ単一のレジスタで構
成したことを特徴とする請求項4に記載のキャッシュシ
ステム。
6. The cache system according to claim 4, wherein each of the save data storage means and the write address storage means comprises a single register.
【請求項7】 命令コードをマイクロコードに展開して
実行する方式のプロセッサを備えた中央処理装置を、主
記憶とシステムバスを介して接続したキャッシュシステ
ムのキャッシュ制御方法において、 前記プロセッサでマイクロコードの実行中に障害を検出
した場合、あらかじめ待避しておいた前記マイクロコー
ドに先行するマイクロコードによって更新された書き込
みデータを、キャッシュメモリに書き戻すことにより、
前記マイクロコードを実行する直前の状態に復旧するこ
とを特徴とするキャッシュシステムのキャッシュ制御方
法。
7. A cache control method for a cache system in which a central processing unit having a processor for expanding an instruction code into microcode and executing the code is connected via a main memory and a system bus. When a failure is detected during execution of, the write data updated by the microcode preceding the previously saved microcode is written back to the cache memory,
A cache control method for a cache system, wherein the microcode is restored to a state immediately before execution.
【請求項8】 前記書き込みデータの待避動作および前
記キャッシュメモリへの書き戻しを制御するステップ
と、 待避データ格納手段に前記書き込みデータを格納するス
テップを備えたことを特徴とする請求項7に記載のキャ
ッシュシステムのキャッシュ制御方法。
8. The method according to claim 7, further comprising: a step of controlling a save operation of the write data and a write back to the cache memory; and a step of storing the write data in a save data storage means. Cache control method for a cache system of a computer.
【請求項9】 前記書き込みデータの一部である書き込
みアドレスが前記キャッシュデータ待避部に格納されて
いるかを判定し、結果を信号として前記キャッシュデー
タ待避制御回路に送信するステップを備えたことを特徴
とする請求項8に記載のキャッシュシステムのキャッシ
ュ制御方法。
9. The method comprises: determining whether a write address, which is a part of the write data, is stored in the cache data save unit, and transmitting the result as a signal to the cache data save control circuit. The cache control method for a cache system according to claim 8.
【請求項10】 アドレスレジスタに、前記書き込みデ
ータの一部である書き込みアドレスを格納するステップ
と、 前記アドレス比較器で前記書き込みアドレスが前記キャ
ッシュデータ待避部に格納されていないと判定された場
合に、前記書き込みアドレスを書き込みアドレス格納手
段に格納するステップを備えたことを特徴とする請求項
9に記載のキャッシュシステム。
10. A step of storing a write address, which is a part of the write data, in an address register; and when the address comparator determines that the write address is not stored in the cache data saving section. 10. The cache system according to claim 9, further comprising the step of storing the write address in a write address storage means.
JP2001201663A 2001-07-03 2001-07-03 Cache system with failure recovery function and cache control method thereof Expired - Fee Related JP3804823B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001201663A JP3804823B2 (en) 2001-07-03 2001-07-03 Cache system with failure recovery function and cache control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001201663A JP3804823B2 (en) 2001-07-03 2001-07-03 Cache system with failure recovery function and cache control method thereof

Publications (2)

Publication Number Publication Date
JP2003015956A true JP2003015956A (en) 2003-01-17
JP3804823B2 JP3804823B2 (en) 2006-08-02

Family

ID=19038583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001201663A Expired - Fee Related JP3804823B2 (en) 2001-07-03 2001-07-03 Cache system with failure recovery function and cache control method thereof

Country Status (1)

Country Link
JP (1) JP3804823B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015176153A (en) * 2014-03-12 2015-10-05 三菱電機株式会社 Computer, failure handling method, and program

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS503553A (en) * 1973-05-14 1975-01-14
JPS58154043A (en) * 1982-03-10 1983-09-13 Hitachi Ltd Information processor
JPS5968060A (en) * 1982-10-13 1984-04-17 Hitachi Ltd Retrial system of control memory
JPS638835A (en) * 1986-06-27 1988-01-14 Yokogawa Hewlett Packard Ltd Trouble recovery device
JPH0227440A (en) * 1988-06-30 1990-01-30 Internatl Business Mach Corp <Ibm> Memory system
JPH096680A (en) * 1995-06-19 1997-01-10 Toshiba Corp Cache flush device
JPH1078918A (en) * 1996-09-04 1998-03-24 Toshiba Corp Check point processing accerelator and computer system to which the same device is applied
JPH1083351A (en) * 1996-09-09 1998-03-31 Toshiba Corp Cache flushing device and computer system applied with the same
JP2000010809A (en) * 1998-06-19 2000-01-14 Toshiba Corp Apparatus and method for data backup control
JP2001504957A (en) * 1996-09-26 2001-04-10 トランスメタ・コーポレーション Memory data aliasing method and apparatus in advanced processor

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS503553A (en) * 1973-05-14 1975-01-14
JPS58154043A (en) * 1982-03-10 1983-09-13 Hitachi Ltd Information processor
JPS5968060A (en) * 1982-10-13 1984-04-17 Hitachi Ltd Retrial system of control memory
JPS638835A (en) * 1986-06-27 1988-01-14 Yokogawa Hewlett Packard Ltd Trouble recovery device
JPH0227440A (en) * 1988-06-30 1990-01-30 Internatl Business Mach Corp <Ibm> Memory system
JPH096680A (en) * 1995-06-19 1997-01-10 Toshiba Corp Cache flush device
JPH1078918A (en) * 1996-09-04 1998-03-24 Toshiba Corp Check point processing accerelator and computer system to which the same device is applied
JPH1083351A (en) * 1996-09-09 1998-03-31 Toshiba Corp Cache flushing device and computer system applied with the same
JP2001504957A (en) * 1996-09-26 2001-04-10 トランスメタ・コーポレーション Memory data aliasing method and apparatus in advanced processor
JP2000010809A (en) * 1998-06-19 2000-01-14 Toshiba Corp Apparatus and method for data backup control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015176153A (en) * 2014-03-12 2015-10-05 三菱電機株式会社 Computer, failure handling method, and program

Also Published As

Publication number Publication date
JP3804823B2 (en) 2006-08-02

Similar Documents

Publication Publication Date Title
JP3509067B2 (en) Store instruction transfer method and processor
US6968476B2 (en) Checkpointing a superscalar, out-of-order processor for error recovery
US8327188B2 (en) Hardware transactional memory acceleration through multiple failure recovery
EP1763763B1 (en) Logging of level-two cache transactions into banks of the level-two cache for system rollback
KR20170039237A (en) Persistent store fence processors, methods, systems, and instructions
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
US6157999A (en) Data processing system having a synchronizing link stack and method thereof
JP2009527866A (en) Transactional memory in out-of-order processors
JPH11288372A (en) Method and device for fast switching between floating-point instruction and multimedia instruction using two sets of registers
JPH11316680A (en) System and method for preserving and restoring register in data processing system
JPH10283187A (en) Method and device for maintaining architecture state of processor
US7412620B2 (en) Method for testing ability to recover from cache directory errors
US5860014A (en) Method and apparatus for improved recovery of processor state using history buffer
US7962726B2 (en) Recycling long multi-operand instructions
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
CN1117166A (en) Backout logic for dual execution unit processor
US6421771B1 (en) Processor performing parallel operations subject to operand register interference using operand history storage
JPH0810437B2 (en) Guest execution control method for virtual machine system
JP3723243B2 (en) Processor device and control method thereof
US5625808A (en) Read only store as part of cache store for storing frequently used millicode instructions
JP2003015956A (en) Cache system having fault recovery function and cache control method for the system
JP2001134442A (en) System for detecting hazard of computer program
JP2009230479A (en) Microprocessor
JPH0133856B2 (en)
JP3180803B2 (en) Super scalar processor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060503

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130519

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees