JP3320562B2 - Computer with cache memory - Google Patents

Computer with cache memory

Info

Publication number
JP3320562B2
JP3320562B2 JP22761794A JP22761794A JP3320562B2 JP 3320562 B2 JP3320562 B2 JP 3320562B2 JP 22761794 A JP22761794 A JP 22761794A JP 22761794 A JP22761794 A JP 22761794A JP 3320562 B2 JP3320562 B2 JP 3320562B2
Authority
JP
Japan
Prior art keywords
cache
block
flush
flash
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
JP22761794A
Other languages
Japanese (ja)
Other versions
JPH0895861A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP22761794A priority Critical patent/JP3320562B2/en
Publication of JPH0895861A publication Critical patent/JPH0895861A/en
Application granted granted Critical
Publication of JP3320562B2 publication Critical patent/JP3320562B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • 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 computer having a cache memory.

【0002】[0002]

【従来の技術】多重化計算機においては、プログラムの
実行の途中経過(チェックポイント)をメインメモリに
保存しておき、障害が発生したときにチェックポイント
から再実行をはかるチェックポイントリスタート方式を
採用して、システムダウンを回避する構成としたものが
ある。
2. Description of the Related Art A multiplexing computer employs a checkpoint restart method in which the progress of a program execution (checkpoint) is stored in a main memory, and when a failure occurs, the checkpoint is restarted from the checkpoint. Then, there is a configuration in which a system down is avoided.

【0003】チェックポイントリスタート方式について
は、例えばUSP4,819,154号、USP4,6
54,819号、特開昭59−160899号、また論
文Philip A. Bernstein, "Sequoia: A Fault-Tolerant
Tightly Coupled Multiprocessor for Transaction Pro
cessing," IEEE Computer, Feb. 1988, pp.37-45. に記
載されている。
The checkpoint restart method is disclosed in, for example, US Pat. No. 4,819,154, US Pat.
54,819, JP-A-59-160899, and a paper Philip A. Bernstein, "Sequoia: A Fault-Tolerant
Tightly Coupled Multiprocessor for Transaction Pro
cessing, "IEEE Computer, Feb. 1988, pp. 37-45.

【0004】図6には、チェックポイントリスタート方
式を採用する多重化計算機のシステム構成の一例を示し
ている。図6に示す多重化計算機は、2つのプロセッサ
エレメント(PE1)10a,(PE2)10bと、1
つのメモリエレメント(ME1)12が、システムバス
14を介して相互に接続されて構成されている。それぞ
れのプロセッサエレメント(PE1)10a,(PE
2)10bは、独立に動作している。各プロセッサエレ
メント(PE1)10a,(PE2)10bには、MP
U16a,16b、キャッシュメモリ18a,18b、
及びキャッシュコントローラ19a,19bが設けられ
ている。キャッシュメモリ18a,18b内のデータの
管理は、それぞれ専用のハードウェアであるキャッシュ
コントローラ19a,19bによって行なう。また、M
PU16a,16bには、複数のレジスタが存在し、図
中R1 ,…,Rn によって示している。
FIG. 6 shows an example of a system configuration of a multiplexing computer adopting a checkpoint restart method. The multiplexing computer shown in FIG. 6 includes two processor elements (PE1) 10a, (PE2) 10b, and 1
Two memory elements (ME1) 12 are connected to each other via a system bus 14. The respective processor elements (PE1) 10a, (PE
2) 10b operates independently. Each processor element (PE1) 10a, (PE2) 10b has an MP
U16a, 16b, cache memories 18a, 18b,
And cache controllers 19a and 19b. Management of data in the cache memories 18a and 18b is performed by cache controllers 19a and 19b, which are dedicated hardware. Also, M
PUs 16a and 16b have a plurality of registers, which are indicated by R1,..., Rn in the figure.

【0005】また、図7には、チェックポイント方式に
おいて障害が発生した場合の処理の流れを示している。
図7に示す流れに従って、図6に示す多重化計算機の動
作について以下に説明する。
FIG. 7 shows a flow of processing when a failure occurs in the checkpoint method.
The operation of the multiplexing computer shown in FIG. 6 will be described below according to the flow shown in FIG.

【0006】チェックポイント処理を行なう時間t
(n)になると、プロセッサエレメント(PE1)10
aのMPU18aは、一時処理を中断し、全てのレジス
タの内容R1 ,…,Rn をメモリエレメント(ME1)
12の固定領域C1に直接書き込む。そして、キャッシ
ュの更新されたデータDB1 ,…,DBk を、メモリエ
レメント(ME1)12に書き戻す(図7,P0)。
Time t for performing checkpoint processing
(N), the processor element (PE1) 10
The MPU 18a of "a" suspends the temporary processing and stores the contents R1,..., Rn of all the registers in the memory element (ME1).
The data is directly written to the twelve fixed areas C1. Then, the updated data DB1,..., DBk of the cache is written back to the memory element (ME1) 12 (P0 in FIG. 7).

【0007】チェックポイント処理が完了すると、中断
していた処理を再開する。その後、障害Xがプロセッサ
エレメント(PE1)10aで発生すると、プロセッサ
エレメント(PE1)10aをシステム構成から切り離
し、プロセッサエレメント(PE2)10bによって、
プロセッサエレメント(PE1)10aが行なっていた
処理を引き継ぐ。
When the checkpoint processing is completed, the interrupted processing is resumed. Thereafter, when the failure X occurs in the processor element (PE1) 10a, the processor element (PE1) 10a is disconnected from the system configuration, and the processor element (PE2) 10b
The processing performed by the processor element (PE1) 10a is taken over.

【0008】この時、プロセッサエレメント(PE2)
12bは、チェックポイントt(n)で、メモリエレメ
ント(ME1)12に保存されたプログラムの状態から
処理を再開する。
At this time, the processor element (PE2)
12b restarts the processing from the state of the program stored in the memory element (ME1) 12 at the check point t (n).

【0009】プロセッサエレメント(PE2)10b
は、プロセッサエレメント(PE1)10aが行なって
いた処理をP0の時点から再開するので、図7中に示す
P0からXまでにプロセッサエレメントPE1が行なっ
ていた処理結果が無効化されなければならない。
[0009] Processor element (PE2) 10b
Restarts the processing performed by the processor element (PE1) 10a from the point of time P0, so that the processing results performed by the processor element PE1 from P0 to X shown in FIG. 7 must be invalidated.

【0010】これは、チェックポイント以外では、更新
されたキャッシュブロックCBのデータをメモリエレメ
ント(ME1)12に書き戻さないようにして実現す
る。このため、チェックポイント処理を頻繁に行なわな
いように、キャッシュ方式は、例えばnウェイ・セット
・アソシエイティブ方式をとり、数MBの大容量のキャ
ッシュにするのが一般的である。
This is realized by preventing the updated data of the cache block CB from being written back to the memory element (ME1) 12 except at the checkpoint. For this reason, in order to prevent the checkpoint process from being performed frequently, the cache system generally uses, for example, an n-way set associative system and provides a large-capacity cache of several MB.

【0011】この種、キャッシュ方式においては、キャ
ッシュブロックのデータをメモリエレメントに書き戻す
必要がある場合には、MPUに対して割り込みが発生さ
れる。MPUは、データをメモリエレメントに書き戻す
処理、すなわちフラッシュ動作を実行させるためのフラ
ッシュ特殊命令FCを、キャッシュコントローラに出力
する。
In this type of cache system, when data in a cache block needs to be written back to a memory element, an interrupt is issued to the MPU. The MPU outputs a process of writing data back to the memory element, that is, a flash special instruction FC for executing a flash operation to the cache controller.

【0012】キャッシュコントローラは、フラッシュ動
作を開始し、キャッシュメモリに格納されたデータをキ
ャッシュブロック単位で管理するためのキャッシュタグ
(データが有効であることを示す有効ビットV、及びデ
ータが書き替えられたことを示すダーティビットDを含
む)を順次検索する。ここで、書き替えられたデータ、
すなわちダーティビットDが「1」(書き替えられてい
ることを示す)のブロックがあればメモリエレメントに
書き戻す。この動作を、キャッシュの全領域について実
施する。
The cache controller starts a flush operation, and a cache tag (valid bit V indicating that data is valid and data are rewritten) for managing data stored in the cache memory in units of cache blocks. (Including a dirty bit D indicating that the data has been deleted). Where the rewritten data,
That is, if there is a block whose dirty bit D is "1" (indicating that the block has been rewritten), the block is written back to the memory element. This operation is performed for all areas of the cache.

【0013】従来では、前述のようなフラッシュ動作が
実行されている間に、MPUからのアクセス要求があっ
た場合には、MPUは、フラッシュ動作が完了するまで
待っていなければならない。すなわち、フラッシュ動作
中に、MPUからのアクセス要求に応じて、キャッシュ
メモリ中のデータを変更してしまうと、メモリエレメン
トに書き戻したデータとの一貫性が失われてしまうこと
があるためである。
Conventionally, when an access request is received from the MPU while the above-described flash operation is being performed, the MPU must wait until the flash operation is completed. That is, if data in the cache memory is changed in response to an access request from the MPU during the flash operation, consistency with data written back to the memory element may be lost. .

【0014】[0014]

【発明が解決しようとする課題】このように従来の多重
化計算機においては、フラッシュ動作中にはデータの一
貫性を保つために、MPUからの処理要求があったとし
ても、MPUを待機させる必要があった。フラッシュ機
構はハードウェアにより実現されているが、キャッシュ
の全ブロックのタグを検索しなければならないので非常
に時間がかかってしまう。従って、フラッシュ動作中に
処理を要求したMPUは、非常に長い時間待機させられ
てしまうことがあった。
As described above, in the conventional multiplexing computer, in order to maintain data consistency during the flash operation, it is necessary to keep the MPU on standby even if there is a processing request from the MPU. was there. Although the flush mechanism is implemented by hardware, it takes a very long time since the tags of all blocks in the cache must be searched. Therefore, the MPU requesting the processing during the flash operation may be kept on standby for a very long time.

【0015】本発明は前記のような事情を考慮してなさ
れたもので、キャッシュブロックのデータをメインメモ
リに書き戻すフラッシュ動作中に発生したMPUからの
処理要求を実行することが可能な計算機を提供すること
を目的とする。
The present invention has been made in view of the above circumstances, and provides a computer capable of executing a processing request from an MPU generated during a flash operation of writing back cache block data to a main memory. The purpose is to provide.

【0016】[0016]

【課題を解決するための手段及び作用】本発明は、演算
処理を行なう処理手段と、前記処理手段によって用いら
れる複数のキャッシュブロックに分割されたキャッシュ
メモリと、前記キャッシュメモリを制御するキャッシュ
制御手段とを備えたプロセッサエレメントが、前記処理
手段により扱われる命令及びデータを格納するメモリエ
レメントとシステムバスを介して接続された電子計算機
において、前記キャッシュ制御手段は、前記キャッシュ
メモリを管理するステータスとして、キャッシュブロッ
クに有効なデータがあることを示す有効ビットV、キャ
ッシュブロックに格納されているデータが更新されてい
ることを表すダーティビットDを用いて管理を行なうも
のであって、前記処理手段からの所定の命令に応じて、
全キャッシュブロックに関する前記キャッシュステータ
スを検査して、データが更新されたキャッシュブロック
のデータを前記メモリエレメントに書き戻すキャッシュ
フラッシュを実行すると共に、キャッシュフラッシュ中
であることを表すフラッシュ実行通知、及び前記処理手
段からのアクセス要求によってキャッシュフラッシュを
中断していることを表すフラッシュ中断通知を行なうフ
ラッシュ手段を備え、前記フラッシュ手段は、前記フラ
ッシュ実行通知がフラッシュ実行中を示す際に前記処理
手段によりアクセス要求があった場合に、キャッシュフ
ラッシュを中断してフラッシュ中断通知を行ない、前記
処理手段によるアクセス処理を実行可能にすることを特
徴とする。
SUMMARY OF THE INVENTION The present invention provides processing means for performing arithmetic processing, cache memory divided into a plurality of cache blocks used by the processing means, and cache control means for controlling the cache memory. In a computer connected via a system bus to a memory element that stores instructions and data handled by the processing means, the processor element having the following features: the cache control means, as a status for managing the cache memory, The management is performed using a valid bit V indicating that valid data is present in the cache block and a dirty bit D indicating that data stored in the cache block has been updated. According to the prescribed order ,
Checking the cache status of all cache blocks, executing a cache flush for writing data of the updated cache block to the memory element, and performing a flush execution notification indicating that a cache flush is being performed; and Flash means for giving a flash interruption notification indicating that the cache flush is interrupted by an access request from the means, wherein the flash means, when the flash execution notification indicates that the flash is being executed, an access request by the processing means. If there is, the cache flush is suspended and a flush suspension notification is issued, so that the access processing by the processing means can be executed.

【0017】これにより、フラッシュ実行中であって
も、処理手段(MPU)からのアクセス要求を優先して
実行させることができるので、処理手段を待ち状態にす
ることが回避される。
Thus, even during the execution of the flush, the access request from the processing unit (MPU) can be executed with priority, and the waiting state of the processing unit can be avoided.

【0018】また、前記キャッシュ制御手段は、新たに
キャッシュブロックの更新されたデータをメモリエレメ
ントに書き戻したことを表すフラッシュ完了ビットF
を、さらに前記ステータスとして設けて前記キャッシュ
メモリを管理するもので、前記処理手段からのライトア
クセス要求があった場合に、前記ライトアクセス要求の
対象となるキャッシュブロックに対してライト処理を実
行するライト処理手段と、前記ライト処理手段によるラ
イト処理の対象となるキャッシュブロックが、ダーティ
ブロックであり、前記フラッシュ手段によるフラッシュ
の中断前にキャッシュフラッシュが完了したブロックで
はない場合に、当該キャッシュブロックのデータを前記
メモリエレメントに書き戻し、当該キャッシュブロック
に対応するステータスのフラッシュ完了ビットをフラ
ッシュ済みにセットする書き戻し手段と、をさらに具備
し、前記フラッシュ手段は、前記書き戻し手段により
ラッシュ完了ビットFがフラッシュ済みにセットされて
いれば、前記メモリエレメントへの書き戻しを行なわな
いことを特徴とする。
Further, the cache control means includes a flush completion bit F indicating that the updated data of the new cache block has been written back to the memory element.
Is provided as the status to manage the cache memory, and when there is a write access request from the processing unit, a write process for executing a write process on the cache block targeted for the write access request If the processing unit and the cache block to be subjected to the write processing by the write processing unit are dirty blocks and are not blocks in which cache flushing has been completed before the flushing by the flushing unit is interrupted, the data of the cache block is deleted. the write back to the memory element, a write-back means for setting a flash completion bit F of the status corresponding to the cache block flushed, further comprising a said flash unit is off by the write back means
If the rush completion bit F is set to be flushed, writing back to the memory element is not performed.

【0019】これにより、キャッシュフラッシュが中断
された際のアクセス要求の対象ブロックが、フラッシュ
中断前にフラッシュが完了しているか否かで、データの
不整合が生じないように管理される。
Thus, the target block of the access request when the cache flush is interrupted is managed so as not to cause data inconsistency depending on whether or not the flush has been completed before the flush is interrupted.

【0020】また、前記キャッシュ制御手段は、新たに
キャッシュブロックの更新されたデータをメモリエレメ
ントに書き戻したことを表すフラッシュ完了ビットF
を、さらに前記ステータスとして設けて前記キャッシュ
メモリを管理するもので、前記フラッシュ手段によるキ
ャッシュフラッシュの実行中に前記処理手段からアクセ
ス要求があり、前記キャッシュメモリに対してキャッシ
ュアロケートを行なう場合に、前記ステータスに基づい
て有効でないブロックまたはダーティでないブロックを
優先的に追い出し、追い出すべきブロックが存在しない
場合に、前記処理手段によるアクセス対象とするブロッ
クがフラッシュの完了したブロック以外であって、フラ
ッシュ完了ビットFがフラッシュ済みにセットされてい
ないキャッシュブロックをメモリエレメントに書き戻す
書き戻し手段をさらに具備したことを特徴とする
Further, the cache control means is newly provided.
The updated data in the cache block is
Flush completion bit F indicating that the
And the status is further provided as the status.
A memory is managed, and when an access request is issued from the processing unit during execution of a cache flush by the flush unit and a cache allocate is performed on the cache memory, the block is not valid based on the status and the block is not dirty. If a block is preferentially evicted and there is no block to be evicted, the cache block whose access target by the processing unit is other than the block whose flush has been completed and whose flush completion bit F is not set to flushed Write back to memory element
It is characterized by further comprising writing back means .

【0021】これにより、キャッシュオーバフローが発
生する場合には、フラッシュ完了ビットFを参照して本
来書き戻す必要があるブロックを追い出すことにより、
フラッシュ中断に関係なくデータ整合性が保たれる。
Thus, when a cache overflow occurs, by referring to the flush completion bit F, a block that needs to be rewritten is expelled.
Data consistency is maintained regardless of flush interruption.

【0022】さらに前記メモリエレメントが2重化され
た電子計算機であって、前記フラッシュ手段は、第1の
メモリエレメントに対してキャッシュフラッシュを行な
う時は、前記処理手段からの全てのライトアクセス要求
に対して、フラッシュ完了ビットFをフラッシュ済みに
セットし、第2のメモリエレメントに対するキャッシュ
フラッシュを前記フラッシュ完了ビットFを含む前記ス
テータスに基づいてキャッシュフラッシュを行なうこと
を特徴とする。
Further, in the above-mentioned electronic computer, wherein the memory element is duplicated, the flash means, when performing a cache flush for the first memory element, receives all write access requests from the processing means. On the other hand, the flush completion bit F is set to flushed, and cache flush for the second memory element is performed based on the status including the flush completion bit F.

【0023】これにより、メモリエレメントが2重化さ
れたシステムであっても、各メモリエレメントに対する
キャッシュフラッシュが中断されても、データの整合性
を保ちながら処理手段(MPU)のアクセス要求を実行
させることができる。
Thus, even in a system in which memory elements are duplicated, even when cache flush for each memory element is interrupted, an access request of the processing unit (MPU) is executed while maintaining data consistency. be able to.

【0024】[0024]

【実施例】以下、図面を参照して本発明の一実施例を説
明する。図1は本実施例に係わる多重化計算機における
キャッシュコントローラの詳細な構成を説明するための
ブロック図である。多重化計算機の概略構成は、従来技
術の説明で用いた図6と同じであるものとする。図1で
は1つのプロセッサエレメント(PE1)10aとメモ
リエレメント(ME1)12のみを示している。
An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram for explaining a detailed configuration of the cache controller in the multiplexing computer according to the present embodiment. It is assumed that the schematic configuration of the multiplexing computer is the same as that of FIG. 6 used in the description of the related art. FIG. 1 shows only one processor element (PE1) 10a and memory element (ME1) 12.

【0025】プロセッサエレメント10aには、MPU
16a、キャッシュメモリ(CM)18a、及びキャッ
シュコントローラ51が設けられている。なお、他のプ
ロセッサエレメント(PE2)10bにもキャッシュコ
ントローラ51と同様の構成によるキャッシュコントロ
ーラが設けられているものとする。
The processor element 10a includes an MPU
16a, a cache memory (CM) 18a, and a cache controller 51 are provided. It is assumed that a cache controller having the same configuration as the cache controller 51 is provided in the other processor element (PE2) 10b.

【0026】本実施例において、キャッシュメモリ(C
M)18aは、32Kライン、4ブロック/ライン、3
2バイト/ブロック構成であるものとする。MPU16
aが出力するMPUアドレスMAは、図2に示すよう
に、32ビットであるものとする。キャッシュメモリ1
8a中のキャッシュブロックCBは、MPUアドレスM
Aのビット18から5(ブロックアドレスBA)でアド
レスされ、キャッシュブロックCB内の各バイトは、M
PUアドレスMAのビット4から0でアドレスされる。
MPUアドレスMAのビット31から19(アドレスタ
グTA)は、後述するキャッシュタグによってキャッシ
ュのヒット/ミスを判定するために用いられる。
In this embodiment, the cache memory (C
M) 18a has 32K lines, 4 blocks / line, 3
It is assumed that the configuration is 2 bytes / block. MPU16
It is assumed that the MPU address MA output by a is 32 bits as shown in FIG. Cache memory 1
8a has an MPU address M
A is addressed by bits 18 to 5 of A (block address BA), and each byte in the cache block CB is
It is addressed by bits 4 to 0 of the PU address MA.
Bits 31 to 19 (address tag TA) of the MPU address MA are used to determine a cache hit / miss by a cache tag described later.

【0027】キャッシュコントローラ51は、キャッシ
ュメモリ18aのデータの管理を行なう専用のハードウ
ェアである(詳細については後述する)。なお、本実施
例では、4ウェイ・セット・アソシアティブ方式を用い
ているものとする。
The cache controller 51 is dedicated hardware for managing data in the cache memory 18a (details will be described later). In this embodiment, it is assumed that a 4-way set associative system is used.

【0028】図1に示すように、キャッシュコントロー
ラ51は、タグ(TAG)ブロック52、プロセッサイ
ンタフェース(PIF)ブロック53、リードオペレー
ション(ROP)ブロック54、ライトオペレーション
(WOP)ブロック55、キャッシュアロケート(C
A)ブロック56、コピーバック(WB)ブロック5
7、フラッシュオペレーション(FOP)ブロック5
8、システムバスインタフェース(SIF)ブロック5
9、及びマルチプレクサ(MUX)60によって構成さ
れている。
As shown in FIG. 1, the cache controller 51 includes a tag (TAG) block 52, a processor interface (PIF) block 53, a read operation (ROP) block 54, a write operation (WOP) block 55, and a cache allocate (C).
A) Block 56, copy back (WB) block 5
7. Flash operation (FOP) block 5
8. System bus interface (SIF) block 5
9 and a multiplexer (MUX) 60.

【0029】TAGブロック52は、キャッシュメモリ
18a内のデータを管理するためのキャッシュタグを記
憶しておくものである。キャッシュタグの構成を、図3
に示す。キャッシュタグは、MPUアドレスMAのブロ
ックアドレスBAでアドレスされ、一度に1ライン分の
ブロック(4ブロック)が読み出される。1ライン中の
各ブロックのキャッシュタグは、TAG0 ,TAG1 ,
TAG2 ,TAG3 で区別される。また、キャッシュタ
グは、アドレスタグTAとキャッシュステータスSTA
Tで構成される。アドレスタグTAには、MPUアドレ
スMAのビット31から19が格納されており、アクセ
スの対象とするデータがキャッシュメモリ18aに存在
するか否か(キャッシュのヒット/ミス)の判定に使用
される。キャッシュステータスSTATは、ブロックが
有効であることを表す有効ビットV(V=1で有効を示
す)、ブロックが更新されていることを表すダーティビ
ットD(D=1でダーティを示す)、先行してキャッシ
ュメモリ18a中のデータのフラッシュが完了したこと
を表すフラッシュビットF(F=1でフラッシュ完了を
示す)からなる。以下の説明では、単にTAG,TA,
STATと表した場合、キャッシュにヒットしたブロッ
クを示すものとする。TAGi ,TAi ,STATi と
表した場合は、1ライン全てのタグを示すものとする
(i=0,1,2,3)。
The TAG block 52 stores a cache tag for managing data in the cache memory 18a. The structure of the cache tag is shown in FIG.
Shown in The cache tag is addressed by the block address BA of the MPU address MA, and blocks (4 blocks) for one line are read at a time. The cache tags of each block in one line are TAG0, TAG1,
TAG2 and TAG3 are distinguished. The cache tag includes an address tag TA and a cache status STA.
It is composed of T. The bits 31 to 19 of the MPU address MA are stored in the address tag TA, and are used to determine whether the data to be accessed exists in the cache memory 18a (cache hit / miss). The cache status STAT includes a valid bit V indicating that the block is valid (V = 1 indicates valid), a dirty bit D indicating that the block is updated (D = 1 indicates dirty), A flash bit F (F = 1 indicates completion of flushing) indicating that flushing of data in the cache memory 18a has been completed. In the following description, TAG, TA,
When it is represented as STAT, it indicates a block that has hit the cache. When expressed as TAGi, TAi, or STATi, it indicates the tags of all the lines (i = 0, 1, 2, 3).

【0030】PIFブロック53は、MPU16aとの
インタフェースを司るもので、MPUアドレスMA、各
種命令(リードアクセス要求RD、ライトアクセス要求
WD、フラッシュ特殊命令FC等)の入力、及びデータ
の授受を行なう。PIFブロック53は、MPU16a
からリードアクセス要求(RD)があるとROPブロッ
ク54を起動し、MPU16aからライトアクセス要求
(WR)とWOPブロック55を起動する。また、フラ
ッシュ特殊命令FCがMPU16aから発行されると、
PIFブロック53は、FOPブロック58を起動し
て、フラッシュ処理を実行させる。また、MPU16a
からのアクセス要求があった場合に、この旨を示すMP
Uアクセス信号DP(DP=1でアクセス要求有りを示
す)をFOPブロック58に通知する。すなわち、MP
Uアクセス信号DPにより、FOPブロック58による
フラッシュ動作を中断させて、アクセス要求の処理を実
行できるようにする。
The PIF block 53 manages an interface with the MPU 16a, and receives an MPU address MA, various instructions (read access request RD, write access request WD, flash special instruction FC, etc.), and exchanges data. The PIF block 53 includes the MPU 16a
When a read access request (RD) is received from the MPU 16a, the ROP block 54 is started, and a write access request (WR) and a WOP block 55 are started from the MPU 16a. When the flash special instruction FC is issued from the MPU 16a,
The PIF block 53 activates the FOP block 58 to execute the flash processing. Also, the MPU 16a
MP that indicates this when there is an access request from
The FOP block 58 is notified of a U access signal DP (DP = 1 indicating that an access request is made). That is, MP
The U access signal DP interrupts the flush operation by the FOP block 58 so that the access request can be processed.

【0031】ROPブロック54は、PIFブロック5
3によって起動され、キャッシュヒット(TAGブロッ
ク52からのHit=1の通知)時に、TAGブロック
52から得られるタグ(TA,STAT)をもとに、キ
ャッシュメモリ18aからデータの読み込みを行なう。
キャッシュミス時には、CAブロック56を起動して、
メモリエレメント12からデータの読み込みを実行させ
る。
The ROP block 54 is a PIF block 5
3 and reads data from the cache memory 18a based on the tag (TA, STAT) obtained from the TAG block 52 upon a cache hit (notification of Hit = 1 from the TAG block 52).
When a cache miss occurs, the CA block 56 is activated,
Reading of data from the memory element 12 is executed.

【0032】WOPブロック55は、PIFブロック5
3によって起動され、キャッシュヒット(TAGブロッ
ク52からのHit=1の通知)時にTAGブロック5
2から得られるタグ(TA,STAT)をもとに、キャ
ッシュメモリ18aに対する書き込みを行なう。キャッ
シュミス時には、CAブロック56を起動して、メモリ
エレメント12からデータの読み込みを実行させる。
The WOP block 55 is a PIF block 5
3 is activated by a TAG block 5 upon a cache hit (a notification of Hit = 1 from the TAG block 52).
Based on the tag (TA, STAT) obtained from Step No. 2, writing to the cache memory 18a is performed. At the time of a cache miss, the CA block 56 is activated to read data from the memory element 12.

【0033】CAブロック56は、ROPブロック5
4、及びWOPブロック55から起動され、キャッシュ
ミス時に、有効なデータをSIFブロック59を介して
メモリエレメント12から読み出してキャッシュメモリ
18aに書き込む。
The CA block 56 is a ROP block 5
4 and activated from the WOP block 55, upon a cache miss, valid data is read from the memory element 12 via the SIF block 59 and written into the cache memory 18a.

【0034】WBブロック57は、FOPブロック5
8、WOPブロック55、またはCAブロック57から
起動され、キャッシュメモリ18aの書き戻すべきデー
タ(キャッシュステータスSTAT(D)が「1」)を
SIFブロック59を介してメモリエレメント12に書
き戻す(コピーバック)。
The WB block 57 is composed of the FOP block 5
8, which is started from the WOP block 55 or the CA block 57, and writes back the data to be written back in the cache memory 18a (the cache status STAT (D) is "1") to the memory element 12 via the SIF block 59 (copy back). ).

【0035】FOPブロック58は、フラッシュ処理を
制御するもので、TAGブロック52に格納されたタグ
に基づいて、WBブロック57を用いてキャッシュメモ
リ18a中の書き戻すべきデータをメモリエレメント1
2にフラッシュするものである。FOPブロック58
は、MPU16aからフラッシュ特殊命令FCが出力さ
れた際に、PIFブロック53によって起動され(FC
通知)、MPUアドレスMAに応じてTAGブロック5
2からキャッシュタグTAGi (i=0,1,2,3)
を読出して、タグアドレスTA、キャッシュステータス
STAT(有効ビットV、ダーティビットD、フラッシ
ュビットF)の検査を行なう。また、FOPブロック5
8は、FC通知に応じてフラッシュ操作を開始した際に
はフラッシュ実行信号DF(DF=1でフラッシュ実行
中を示す)を、またフラッシュ操作中にMPU16aか
らのアクセス要求(MPUアクセス信号DP=1)に応
じてフラッシュ操作を中断した際にはフラッシュ中断信
号AF(AF=1でフラッシュ中断を示す)を、PIF
ブロック53を介してROP54またはWOPブロック
55に出力する。なお、FOPブロック58には、TA
Gブロック52の検索すべき位置(ライン)を示す検索
アドレスカウンタ(SA)58aが設けられている。
The FOP block 58 controls the flash processing. Based on the tag stored in the TAG block 52, the FOP block 58 uses the WB block 57 to store data to be written back in the cache memory 18a in the memory element 1
Flash to 2. FOP block 58
Is activated by the PIF block 53 when the flash special instruction FC is output from the MPU 16a (FC
Notification), TAG block 5 according to MPU address MA
2 to the cache tag TAGi (i = 0, 1, 2, 3)
To check the tag address TA and the cache status STAT (valid bit V, dirty bit D, flash bit F). FOP block 5
Reference numeral 8 denotes a flush execution signal DF (DF = 1 indicating that flushing is being performed) when the flush operation is started in response to the FC notification, and an access request (MPU access signal DP = 1) from the MPU 16a during the flush operation. ), The flash interrupt signal AF (AF = 1 indicates flash interrupt) is output to the PIF.
Output to the ROP 54 or the WOP block 55 via the block 53. The FOP block 58 includes TA
A search address counter (SA) 58a indicating the position (line) of the G block 52 to be searched is provided.

【0036】システムバスインタフェース(SIF)ブ
ロック59は、メモリエレメント12とのインタフェー
スを司るもので、ROPブロック54、WOPブロック
55、CAブロック56、WBブロック57と接続され
ている。
The system bus interface (SIF) block 59 manages an interface with the memory element 12, and is connected to the ROP block 54, the WOP block 55, the CA block 56, and the WB block 57.

【0037】マルチプレクサ(MUX)60は、MPU
16aからのMPUアドレスMA(ブロックアドレスB
A)、及びFOPブロック58からのMPUアドレスM
Aを入力し、択一的にTAGブロック52に供給するも
のである。通常は、MPU16aからのMPUアドレス
MAを選択しており、必要に応じてFOPブロック58
からのMPUアドレスMAを選択して供給する。
The multiplexer (MUX) 60 has an MPU
MPU address MA from 16a (block address B
A) and MPU address M from FOP block 58
A is input and supplied to the TAG block 52 alternatively. Normally, the MPU address MA from the MPU 16a is selected, and the FOP block 58
And supplies the selected MPU address MA.

【0038】次に、本実施例における計算機システムの
動作について説明する。はじめに、フラッシュ動作につ
いて説明する。まず、MPU16aからのフラッシュ特
殊命令FCを、キャッシュコントローラ51は、PIF
ブロック53によって受けとる。PIFブロック53
は、FOPブロック58を起動し(FC通知)、フラッ
シュ動作を開始させる。一方で、MPU16aに対して
は、バストランザクションを完了させる。
Next, the operation of the computer system in this embodiment will be described. First, the flash operation will be described. First, the cache special command FC from the MPU 16a is sent to the cache controller 51 by the PIF.
Received by block 53. PIF block 53
Starts the FOP block 58 (FC notification) and starts the flash operation. On the other hand, the bus transaction is completed for the MPU 16a.

【0039】FOPブロック58は、起動されると検索
アドレスカウンタ(SA)58aを「0」にクリアし、
フラッシュ実行信号DFを「1」にセットする。フラッ
シュ実行信号DFは、フラッシュ操作が完了するまで
「1」に保持される。
When activated, the FOP block 58 clears a search address counter (SA) 58a to "0",
The flash execution signal DF is set to "1". The flash execution signal DF is kept at “1” until the flash operation is completed.

【0040】次に、FOPブロック58は、TAGブロ
ック52から、検索アドレスカウンタ(SA)58aが
指すキャッシュタグTAGi (i=0,1,2,3)を
読出し、キャッシュステータスの有効ビットSTATi
(V)(i=0,1,2,3)、及びダーティビットS
TATi (D)(i=0,1,2,3)とフラッシュビ
ットSTATi (F)(i=0,1,2,3)を検査す
る。
Next, the FOP block 58 reads the cache tag TAGi (i = 0, 1, 2, 3) indicated by the search address counter (SA) 58a from the TAG block 52, and reads the valid bit STATi of the cache status.
(V) (i = 0, 1, 2, 3) and dirty bit S
Check TATi (D) (i = 0, 1, 2, 3) and flash bit STATi (F) (i = 0, 1, 2, 3).

【0041】ここで、各ブロックのフラッシュビットF
が「0」、有効ビットVが「1」で、かつダーティビッ
トDが「1」であれば、そのキャッシュブロックCBが
更新されているため(ダーティブロック)、FOP58
は、WBブロック57を起動する。WBブロック57
は、該当するTAGi (i=0,1,2,3)に応じ
て、該当するブロックのデータをキャッシュメモリ18
aから読出し、SIFブロック59を介してメモリエレ
メント12に書き戻す(コピーバック)。
Here, the flash bit F of each block is
Is “0”, the valid bit V is “1”, and the dirty bit D is “1”, the cache block CB has been updated (dirty block), and the FOP 58
Starts the WB block 57. WB block 57
Stores the data of the corresponding block in the cache memory 18 in accordance with the corresponding TAGi (i = 0, 1, 2, 3).
a, and is written back to the memory element 12 via the SIF block 59 (copy back).

【0042】1ライン中の各ブロックについてコピーバ
ックが完了すると、FOPブロック58は、検索アドレ
スカウンタ(SA)58aをカウントアップ(+1)す
る。また、1ライン中の全てのブロックのダーティビッ
トDが「0」の時は、FOPブロック58は、メモリエ
レメント12に書き戻すべきデータがないので、検索ア
ドレス(SA)58aをカウントアップ(+1)するだ
けで、次のラインに検索対象を移す。
When copy-back is completed for each block in one line, the FOP block 58 counts up (+1) a search address counter (SA) 58a. When the dirty bits D of all the blocks in one line are "0", the FOP block 58 counts up the search address (SA) 58a (+1) because there is no data to be written back to the memory element 12. Just move the search target to the next line.

【0043】この時、キャッシュステータスSTATの
フラッシュ完了ビットSTATi (F)が「1」であれ
ば、すでにそのブロックはメモリエレメントにコピーバ
ックされているので、ダーティビットD=1であっても
コピーバックを行なわずに、フラッシュ完了ビットST
ATi (F)を「0」にクリアする。
At this time, if the flush completion bit STATi (F) of the cache status STAT is "1", since the block has already been copied back to the memory element, even if the dirty bit D = 1, the copy back is performed. , The flash completion bit ST
ATi (F) is cleared to "0".

【0044】以上の処理をキャッシュの全領域、すなわ
ちTAGブロック52の全てキャッシュタグを検索し、
各キャッシュブロックについて実施する。ところで、前
述のようなフラッシュ動作の実行中に、MPU16aか
らのアクセス要求があった場合、あるトランザクション
が完了した切りが良い時点、例えばFOPブロック58
が検索アドレス(SA)58aをカウントアップ(+
1)した後で、フラッシュ中断信号AFを「1」にセッ
トしフラッシュ動作を中断する。
The above processing is performed by searching all the cache areas, that is, all the cache tags of the TAG block 52.
This is performed for each cache block. By the way, when an access request is received from the MPU 16a during the execution of the above-described flush operation, when a certain transaction is completed and the cutoff is good, for example, the FOP block 58
Counts up the search address (SA) 58a (+
After 1), the flash interrupt signal AF is set to "1" to interrupt the flash operation.

【0045】その後、MPU16aからのアクセス要求
に対する処理が終了すると(DP=0)、フラッシュ中
断信号AFを「0」にクリアしフラッシュ動作を再開す
る。すなわち、本発明のシステムでは、フラッシュ動作
中であってもMPU16aからのアクセス要求(リード
アクセス要求RD、ライトアクセス要求WD)がある場
合には、MPU16aをフラッシュ動作が完了するまで
待機させるのではなく、アクセス要求を優先させて実行
できるようにフラッシュ動作を中断させる。
Thereafter, when the processing for the access request from the MPU 16a is completed (DP = 0), the flash suspension signal AF is cleared to "0" and the flash operation is restarted. That is, in the system of the present invention, when there is an access request (read access request RD, write access request WD) from the MPU 16a even during the flash operation, the MPU 16a does not wait until the flash operation is completed. Then, the flash operation is interrupted so that the access request can be executed with priority.

【0046】MPU16aからアクセス要求があると、
PIFブロック53は、MPUアクセス信号DPを
「1」にセットする。この時、フラッシュ実行中(DF
=1)であれば、フラッシュ動作が中断されるのを待っ
て(AF=1)、要求された処理を起動させる。
When there is an access request from the MPU 16a,
The PIF block 53 sets the MPU access signal DP to “1”. At this time, the flash is being executed (DF
= 1), the CPU waits for the flash operation to be interrupted (AF = 1), and starts the requested processing.

【0047】フラッシュが中断されると(AF=1)、
MPU16aアクセスを行なう。なお、リードアクセス
要求RD、及びライトアクセス要求WDがあった場合の
それぞれの動作については後述する。
When the flash is interrupted (AF = 1),
The MPU 16a accesses. The operations performed when there is a read access request RD and a write access request WD will be described later.

【0048】MPU16aアクセスが完了すると、MP
U16aアクセス信号DPを「0」にクリアし、フラッ
シュ動作が再開される。次に、MPU16aからリード
アクセス要求RDがあった場合について説明する。
When the access to the MPU 16a is completed, the MP
The U16a access signal DP is cleared to "0", and the flash operation is restarted. Next, a case where a read access request RD is received from the MPU 16a will be described.

【0049】MPU16aからリードアクセス要求RD
があると、PIFブロック53は、MPUアクセス信号
DPを「1」にセットし、フラッシュ動作の中断をFO
Pブロック58に要求する。
Read access request RD from MPU 16a
If there is, the PIF block 53 sets the MPU access signal DP to “1” and cancels the flash operation by FO.
Request to P block 58.

【0050】MPUアクセス信号DPによりフラッシュ
動作の中断を要求すると、フラッシュ実行中であれば、
FOPブロック58によって、前述したようなフラッシ
ュ中断のための処理が実行されフラッシュ中断信号AF
が「1」にセットされる。
When the interruption of the flash operation is requested by the MPU access signal DP, if the flash is being executed,
The FOP block 58 executes the above-described processing for flash suspension, and executes the flash suspension signal AF.
Is set to “1”.

【0051】フラッシュ動作が中断または完了すると
(AF=1orDF=0)、FOP58は、TAGブロ
ック52から、検索アドレスカウンタ(SA)58aが
指すキャッシュタグTAGi を読み出す。
When the flush operation is interrupted or completed (AF = 1 or DF = 0), the FOP 58 reads the cache tag TAGi indicated by the search address counter (SA) 58a from the TAG block 52.

【0052】ここで、キャッシュにヒットした場合(H
it=1)、ROP54は、ヒットしたTAG(TA,
STAT)に応じて、キャッシュメモリ18aからデー
タを読み出してMPU16aへデータを送信する。そし
て、ROP54は、フラッシュ動作が再開できるように
MPUアクセス信号DPを「0」にセット(PIFブロ
ック53を介してFOPブロック58に通知)する。ま
た、FOP58は、フラッシュ中断信号AFを「0」に
セットする。
Here, when the cache hits (H
it = 1), the ROP 54 returns the hit TAG (TA,
STAT), and reads data from the cache memory 18a and transmits the data to the MPU 16a. Then, the ROP 54 sets the MPU access signal DP to “0” (notifies the FOP block 58 via the PIF block 53) so that the flash operation can be resumed. Further, the FOP 58 sets the flash suspension signal AF to “0”.

【0053】一方、キャッシュにミスヒットした場合
(Hit=0)、ROP54は、メモリエレメント12
からデータを読み込み、キャッシュアロケートするため
にCAブロック56を起動し、SIFブロック59を介
してメモリエレメント12からデータを読み出す。
On the other hand, if the cache misses (Hit = 0), the ROP 54
, The CA block 56 is activated for cache allocation, and data is read from the memory element 12 via the SIF block 59.

【0054】CAブロック56は、タグブロック53の
ブロックスアドレスBAにより指定されるライン中の全
てのブロックの有効ビットSTATi (V)(i=0,
1,2,3)と、ダーティビットSTATi (D)(i
=0,1,2,3)を検査する。
The CA block 56 has valid bits STATi (V) (i = 0, i = 0,...) Of all blocks in the line designated by the block address BA of the tag block 53.
1,2,3) and dirty bit STATi (D) (i
= 0, 1, 2, 3).

【0055】1ライン内に有効ビットSTATi (V)
が「1」にセットされていないブロックがあれば、その
ブロックのデータは不要なので、同ブロックに対しキャ
ッシュアロケートを行なう。
Effective bit STATi (V) in one line
If there is a block for which is not set to "1", cache allocation is performed on the block because the data of the block is unnecessary.

【0056】1ライン内の全てのブロックの有効ビット
STATi (V)が「1」にセットされている場合、何
れかのブロックをキャッシュから追い出す必要がある。
通常は、MPU16aにキャッシュオーバフローを通知
してフラッシュ操作を行なうが、フラッシュ動作中のア
クセス要求に対する処理の場合であれば、次のようにし
て何れかのブロックをキャッシュから追い出す。
When the valid bits STATi (V) of all the blocks in one line are set to "1", it is necessary to evict one of the blocks from the cache.
Normally, a flush operation is performed by notifying the MPU 16a of a cache overflow. However, in the case of processing for an access request during a flush operation, any block is evicted from the cache as follows.

【0057】一般に何れのブロックを追い出すかは、例
えばランダム法やLRU(Least Recentlt Used )法な
どに基づいて決定するが、本発明におけるキャッシュ追
い出しの方法は、さらにダーティビットSTATi
(D)が「1」にセットされていない(メモリエレメン
ト12にデータを書き戻す必要がない)ブロックを優先
的に追い出してキャッシュアロケートを行なう。
Generally, which block is evicted is determined based on, for example, a random method or an LRU (Least Recently Used) method. In the cache evicting method of the present invention, the dirty bit STATi is further determined.
A block in which (D) is not set to "1" (there is no need to write data back to the memory element 12) is preferentially evicted to perform cache allocation.

【0058】該当するブロックが存在せず(全てのダー
ティビットSTATi (D)が「1」)、検索アドレス
(SA)58aがブロックアドレスBAより小さい(S
A<BA)場合、すなわち図4(a)に示すように、対
象とするブロックのフラッシュが完了されておらず、フ
ラッシュビットSTATi (F)が「0」のブロックが
あれば、WBブロック57は、メモリエレメント12に
そのブロックのデータを書き戻す(コピーバック)。そ
して、そのキャッシュブロックにキャッシュアロケート
を行なう。
There is no corresponding block (all dirty bits STATi (D) are "1"), and the search address (SA) 58a is smaller than the block address BA (S
A <BA), that is, as shown in FIG. 4A, if the flash of the target block has not been completed and there is a block whose flash bit STATi (F) is “0”, the WB block 57 Then, the data of the block is written back to the memory element 12 (copy back). Then, cache allocation is performed on the cache block.

【0059】これに対して、図4(b)に示すように、
検索アドレスSAがブロックアドレスBA以上で(SA
≧BA)、1ライン内の全ブロックのダーティビットS
TATi (D)が「1」の時、または検索アドレスSA
がブロックアドレスBAより小さく(SA<BA、フラ
ッシュが完了していない)、1ライン内の全てのブロッ
クのフラッシュビットSTATi (F)が「1」でか
つ、ダーティビットSTATi (D)が「1」の場合に
は、キャッシュアロケートは失敗となる。
On the other hand, as shown in FIG.
If the search address SA is greater than or equal to the block address BA (SA
≧ BA) dirty bits S of all blocks in one line
When TATi (D) is "1" or when search address SA
Is smaller than the block address BA (SA <BA, flash has not been completed), the flash bit STATi (F) of all blocks in one line is “1”, and the dirty bit STATi (D) is “1”. , The cache allocation fails.

【0060】この場合、MPU16aへキャッシュオー
バフローが通知され、現在のフラッシュ動作が完了する
まで、MPU16aの全ての処理は待たされる。現在の
フラッシュ動作が完了すると、再度フラッシュ命令を実
行する必要がある。
In this case, the cache overflow is notified to the MPU 16a, and all processes of the MPU 16a are kept waiting until the current flush operation is completed. When the current flash operation is completed, the flash instruction needs to be executed again.

【0061】キャッシュアロケートが成功すると、RO
Pブロック54は、MPU16aが要求したデータをキ
ャッシュメモリ18aから読み出して送信する。次に、
MPU16aからライトアクセス要求WDがあった場合
について説明する。
If the cache allocation succeeds, RO
The P block 54 reads the data requested by the MPU 16a from the cache memory 18a and transmits the data. next,
A case where a write access request WD is received from the MPU 16a will be described.

【0062】MPU16aからライトアクセス要求WR
があると、PIFブロック53は、MPUアクセス信号
DPを「1」にセットし、フラッシュ動作の中断をFO
Pブロック58に要求する。
Write access request WR from MPU 16a
If there is, the PIF block 53 sets the MPU access signal DP to “1” and cancels the flash operation by FO.
Request to P block 58.

【0063】MPUアクセス信号DPによりフラッシュ
動作の中断を要求すると、フラッシュ実行中であれば、
FOPブロック58によって、前述したようなフラッシ
ュ中断のための処理が実行され、フラッシュ中断信号A
Fが「1」にセットされる。
When an interruption of the flash operation is requested by the MPU access signal DP, if the flash is being executed,
The FOP block 58 executes the above-described processing for flash suspension, and the flash suspension signal A
F is set to "1".

【0064】フラッシュ動作が中断または完了すると
(AF=1orDF=0)、FOP58は、TAGブロ
ック52から、検索アドレスカウンタ(SA)58aが
指すキャッシュタグTAGi を読み出す。
When the flush operation is interrupted or completed (AF = 1 or DF = 0), the FOP 58 reads from the TAG block 52 the cache tag TAGi indicated by the search address counter (SA) 58a.

【0065】ここで、キャッシュにヒットした場合(H
it=1)でかつ、そのキャッシュステータスのフラッ
シュビットSTAT(F)が「1」なら、WOP55
は、キャッシュメモリ18aに対してライトを行なう。
キャッシュヒットでフラッシュが完了したブロック(S
A≧BA)に対するライト動作は成功する。
Here, when the cache hits (H
it = 1) and the flash bit STAT (F) of the cache status is “1”, the WOP 55
Performs writing to the cache memory 18a.
Block (S
The write operation for (A ≧ BA) succeeds.

【0066】キャッシュにヒットした場合(Hit=
1)でかつ、そのブロックのフラッシュビットSTAT
(F)が「0」でダーティビットSTAT(D)が
「1」の時、検索アドレスSAがブロックアドレスBA
より小さい(SA<BA)なら、そのブロックはメイン
メモリへフラッシュされていないので、メモリエレメン
ト(ME1)12へそのブロックのデータを書き戻し
(コピーバック)、フラッシュビットSTAT(F)を
「1」にセットする。
When the cache hits (Hit =
1) and the flash bit STAT of the block
When (F) is “0” and the dirty bit STAT (D) is “1”, the search address SA is the block address BA
If smaller (SA <BA), the block has not been flushed to the main memory, so the data of the block is written back to the memory element (ME1) 12 (copy back), and the flash bit STAT (F) is set to "1". Set to.

【0067】一方、キャッシュにミスヒットした場合
(Hit=0)は、WOP55は、キャッシュアロケー
トを行なうため、CAブロック56を起動し、SIFブ
ロック59を介してメモリエレメント12からデータを
読み出す。
On the other hand, if there is a cache miss (Hit = 0), the WOP 55 activates the CA block 56 and reads data from the memory element 12 via the SIF block 59 to perform cache allocation.

【0068】CAブロック56は、前述したリードアク
セス要求RDに対してキャッシュにミスヒットした(H
it=0)場合と同様にして、キャッシュアロケートを
行なう。
The CA block 56 misses the cache in response to the read access request RD (H
cache allocation is performed as in the case of (it = 0).

【0069】キャッシュアロケートが成功すると、CA
ブロック56は、MPU16aからのライトを行ない、
ダーティビットDと、検索アドレスSAがブロックアド
レスBAより小さい(SA<BA)なら、キャッシュス
テータスSTATのフラッシュビットFも「1」にセッ
トする。
If the cache allocation succeeds, CA
The block 56 performs writing from the MPU 16a,
If the dirty bit D and the search address SA are smaller than the block address BA (SA <BA), the flash bit F of the cache status STAT is also set to “1”.

【0070】MPU16aからのライトアクセスが完了
すると、PIFブロック53は、MPUアクセス信号D
Pを「0」にセットし、フラッシュ動作を再開させる。
同時に、FOP58は、再度TAGブロック52からキ
ャッシュタグを読み出し、キャッシュステータスSTA
Tを検査する。
When the write access from the MPU 16a is completed, the PIF block 53 outputs the MPU access signal D
P is set to "0" to restart the flash operation.
At the same time, the FOP 58 reads the cache tag from the TAG block 52 again, and
Inspect T.

【0071】検索アドレスSAがブロックアドレスBA
より小さく(SA<BA)、1ライン全てのキャッシュ
ブロックの有効ビットSTATi (V)とダーティビッ
トSTATi (D)、及びフラッシュ完了ビットSTA
Ti (F)が全て「1」の時、または検索アドレスSA
がブロックアドレスBA以上(SA≧BA)で、1ライ
ン全てのキャッシュブロックの有効ビットSTATi
(V)とダーティビットSTATi (D)が全て「1」
の時は、MPU16aに対してキャッシュオーバーフロ
ー割り込みを発生させる。
The search address SA is the block address BA
Smaller (SA <BA), the valid bit STATi (V) and dirty bit STATi (D) of all the cache blocks in one line, and the flush completion bit STA
When Ti (F) is all "1", or search address SA
Is the block address BA or higher (SA ≧ BA) and the valid bit STATi of the cache block of all one line
(V) and dirty bit STATi (D) are all "1"
In this case, a cache overflow interrupt is generated for the MPU 16a.

【0072】このようにして、キャッシュコントローラ
51は、MPU16aからのフラッシュ特殊命令FCを
受けると、FOPブロック58によってキャッシュタグ
のキャッシュステータスSTATを検査して、データが
更新されたブロックについてメモリエレメントに書き戻
す。その際、MPU16aからリードアクセス要求RD
あるいはライトアクセス要求WDがあると、キャッシュ
フラッシュ動作を中断して、フラッシュ中断信号AFに
よって通知し、アクセス要求を実行可能な状態にする。
これにより、フラッシュ動作を中断させて、MPU16
aのアクセス要求を優先させて実行させることができ
る。
In this way, when the cache controller 51 receives the flush special instruction FC from the MPU 16a, the cache controller 51 checks the cache status STAT of the cache tag by the FOP block 58, and writes the block whose data has been updated to the memory element. return. At this time, the read access request RD from the MPU 16a
Alternatively, when there is a write access request WD, the cache flash operation is interrupted, a flash interrupt signal AF is sent to notify, and the access request is made executable.
As a result, the flash operation is interrupted and the MPU 16
The access request a can be executed with priority.

【0073】また、MPU16aは、キャッシュコント
ローラ51によるフラッシュ動作が中断されると、リー
ドアクセスまたはライトアクセスを実行する。ライトア
クセスを行なう場合、キャッシュの対象ブロックが既に
ダーティ(D=1)で、フラッシュ動作の中断前にフラ
ッシュが完了していなければ(SA<BA)、メモリエ
レメント18aに書き戻して、キャッシュステータスの
フラッシュ完了ビットFを「1」にセットしておく。そ
して、フラッシュ動作を再開した際には、フラッシュ完
了ビットFが「1」のブロックについてはメモリエレメ
ント18aへの書き戻しを行なわないことにより、フラ
ッシュ中断に関係なくデータ整合性を保つことができ
る。
When the flush operation by the cache controller 51 is interrupted, the MPU 16a executes a read access or a write access. When performing a write access, if the block to be cached is already dirty (D = 1) and the flush has not been completed before the flush operation is interrupted (SA <BA), the cache element is written back to the memory element 18a, and the cache status is changed. The flash completion bit F is set to "1". When the flash operation is restarted, data consistency can be maintained irrespective of flash interruption by not writing back to the memory element 18a for the block whose flash completion bit F is "1".

【0074】また、フラッシュ動作中のMPU16aか
らのアクセス要求によって、キャッシュアロケートが実
行される際に、キャッシュオーバフローが発生する場合
には、追い出すブロックを基本的にはランダム法やLR
U法などに基づいて決定するが、さらに有効でないブロ
ック(V=0)、ダーティでないブロック(D=0)を
優先的に追い出し、これらのブロックが存在しなければ
(V=1,D=1)、フラッシュ動作中断前のフラッシ
ュ動作でフラッシュが完了しておらず、フラッシュ完了
ビットFが「1」にセットされていなければ、すなわち
本来書き戻す必要があるブロックをメモリエレメント1
2に書き戻してキャッシュアロケートを行なう。これに
より、フラッシュ中断に関係なくデータ整合性を保つこ
とができる。
When a cache overflow occurs during execution of a cache allocation due to an access request from the MPU 16a during a flash operation, a block to be evicted is basically determined by a random method or LR.
It is determined on the basis of the U method or the like, but more ineffective blocks (V = 0) and non-dirty blocks (D = 0) are preferentially expelled. If these blocks do not exist (V = 1, D = 1 If the flash operation has not been completed in the flash operation before the flash operation was interrupted and the flash completion bit F has not been set to "1", that is, the block which needs to be rewritten originally is stored in the memory element 1
Write back to 2 and perform cache allocation. Thus, data consistency can be maintained irrespective of flash interruption.

【0075】なお、前述した実施例は、図6に示すよう
に、1個のメモリエレメント(ME1)が設けられた設
けられた構成として説明しているが、図5に示すように
メモリが2重化されている構成の場合には、2度に渡っ
てキャッシュフラッシュ動作を行なう必要(それぞれの
メモリに対するフラッシュ動作)がある。
In the above-described embodiment, as shown in FIG. 6, a description has been given of a configuration in which one memory element (ME1) is provided. However, as shown in FIG. In the case of a redundant configuration, it is necessary to perform the cache flush operation twice (flash operation for each memory).

【0076】1回目のフラッシュ動作の間にMPUアク
セスがあると、ライトヒットで、キャッシュステータス
が既にダーティ(STATi (D)=1)で、フラッシ
ュビットSTAT(F)が1の時だけ、MPU16aは
待たされる。それ以外では、MPU16aは、キャッシ
ュコントローラのフラッシュ動作を中断させて、リード
アクセス要求、ライトアクセス要求を実行することがで
きる。
If there is an MPU access during the first flush operation, the MPU 16a will write only when the cache status is dirty (STATi (D) = 1) and the flash bit STAT (F) is 1, Waited. In other cases, the MPU 16a can execute the read access request and the write access request by interrupting the flush operation of the cache controller.

【0077】この場合、検索アドレスSAと、MPU1
6aからのアクセスのブロックアドレスBAの大小関係
に関わらず(キャッシュ動作中断前に書き戻しが完了し
ているか否かに関係なく)、ライト動作には、キャッシ
ュフラッシュビットSTAT(F)を「1」にセットす
る。
In this case, the search address SA and MPU1
Regardless of the magnitude of the block address BA of the access from 6a (regardless of whether or not the write-back has been completed before the interruption of the cache operation), the cache flash bit STAT (F) is set to "1" for the write operation. Set to.

【0078】また、1回目のフラッシュ動作中は、フラ
ッシュビットSTATi (F)はクリアしない。従っ
て、2回目のフラッシュ動作時には、フラッシュビット
STATi (F)が「1」にセットされたブロックにつ
いての書き戻しは実行されない。2回目のフラッシュ動
作は、前述した場合と同様の動作をする。
During the first flash operation, the flash bit STATi (F) is not cleared. Therefore, at the time of the second flash operation, write-back is not executed for the block in which the flash bit STATi (F) is set to "1". The second flash operation is similar to the above-described operation.

【0079】このようにして、メモリエレメントが2重
化されたシステムの場合には、フラッシュ動作を、それ
ぞれのメモリエレメントに対して行なう必要があるが、
1つめのメモリエレメントに対するフラッシュ動作中に
MPU16aからのアクセス要求があってフラッシュ動
作が中断され、ライトアクセスされると、全ての対象ブ
ロックのフラッシュ完了ビットFを「1」にセットす
る。これにより、1つめのメモリエレメントに対するフ
ラッシュ動作の中断を伴うライトアクセスの結果を、2
つめのメモリエレメントに反映させないようにすること
ができる。1つめのメモリエレメントに対しても、フラ
ッシュ動作中断前にフラッシュが完了しているブロック
(SA>BA)であれば書き込みは影響せず、フラッシ
ュ動作中断前にフラッシュが完了していないブロック
(SA≦BA)であってもフラッシュ完了ビットFを
「1」にセットすることで書き戻されない。MPUのラ
イトアクセスによって書き込まれたブロックの内容は、
次回のフラッシュ動作によってメモリエレメントに書き
戻される。こうして、メモリエレメントが2重化された
システムであっても、フラッシュ動作を中断させて、M
PUのアクセス要求を実行させることができる。
As described above, in a system in which memory elements are duplicated, it is necessary to perform a flash operation on each memory element.
When the flash operation is interrupted due to an access request from the MPU 16a during the flash operation for the first memory element and the write access is performed, the flash completion bits F of all the target blocks are set to "1". As a result, the result of the write access with the interruption of the flash operation to the first memory element becomes 2
It can be prevented from being reflected in the second memory element. Writing to the first memory element is not affected if the flash is completed before the flash operation is interrupted (SA> BA), and the block is not completely flashed before the flash operation is interrupted (SA). Even if ≦ BA), it is not written back by setting the flash completion bit F to “1”. The contents of the block written by the MPU write access are as follows:
The data is written back to the memory element by the next flash operation. In this way, even in a system in which the memory elements are duplicated, the flash operation is interrupted and M
The access request of the PU can be executed.

【0080】[0080]

【発明の効果】以上詳述したように本発明によれば、フ
ラッシュ動作中にMPUからのアクセス要求があった場
合には、フラッシュ動作を中断させて、MPUのアクセ
スを優先的に実行させるもので、その際にフラッシュ動
作中断の前後でデータの整合性が保たれるようにコピー
バック、及びキャッシュアロケートを行なうので、MP
Uは待たされることなく処理を進めることができる。
As described above in detail, according to the present invention, when an access request is issued from the MPU during a flash operation, the flash operation is interrupted and the MPU access is executed with priority. At that time, copy-back and cache allocation are performed so that data consistency is maintained before and after the interruption of the flash operation.
U can proceed without waiting.

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

【図1】本発明の実施例に係わる多重化計算機における
キャッシュコントローラの詳細な構成を説明するための
ブロック図。
FIG. 1 is a block diagram for explaining a detailed configuration of a cache controller in a multiplexing computer according to an embodiment of the present invention.

【図2】本実施例におけるMPUアドレスMAを説明す
るための図。
FIG. 2 is a diagram for explaining an MPU address MA in the embodiment.

【図3】本実施例におけるキャッシュタグを説明するた
めの図。
FIG. 3 is a diagram illustrating a cache tag according to the embodiment.

【図4】本実施例におけるブロックの追い出しを説明す
るための図。
FIG. 4 is a diagram for explaining block eviction in the embodiment.

【図5】本発明の実施例に係わる多重化計算機の他の構
成を示すブロック図。
FIG. 5 is a block diagram showing another configuration of the multiplexing computer according to the embodiment of the present invention.

【図6】多重化計算機の構成の一例を示すブロック図。FIG. 6 is a block diagram illustrating an example of a configuration of a multiplexing computer.

【図7】チェックポイント処理を説明するためのシステ
ム構成図。
FIG. 7 is a system configuration diagram for explaining checkpoint processing.

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

10a…プロセッサエレメント(PE1)、12…メモ
リエレメント(ME1)、16a…MPU、18a…キ
ャッシュメモリ(CM)、52…タグ(TAG)ブロッ
ク、53…プロセッサインタフェース(PIF)ブロッ
ク、54…リードオペレーション(ROP)ブロック、
55…ライトオペレーション(WOP)ブロック、56
…キャッシュアロケート(CA)ブロック、57…コピ
ーバック(WB)ブロック、58…フラッシュオペレー
ション(FOP)ブロック、59…システムバスインタ
フェース(SIF)ブロック。
10a: Processor element (PE1), 12: Memory element (ME1), 16a: MPU, 18a: Cache memory (CM), 52: Tag (TAG) block, 53: Processor interface (PIF) block, 54: Read operation ( ROP) block,
55: Write operation (WOP) block, 56
... Cache allocate (CA) block, 57 ... copy back (WB) block, 58 ... flash operation (FOP) block, 59 ... system bus interface (SIF) block.

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 G06F 11/14 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 12/08 G06F 11/14

Claims (8)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 演算処理を行なう処理手段と、前記処理
手段によって用いられる複数のキャッシュブロックに分
割されたキャッシュメモリと、前記キャッシュメモリを
制御するキャッシュ制御手段とを備えたプロセッサエレ
メントが、前記処理手段により扱われる命令及びデータ
を格納するメモリエレメントとシステムバスを介して接
続された電子計算機において、 前記キャッシュ制御手段は、前記キャッシュメモリを管
理するステータスとして、キャッシュブロックに有効な
データがあることを示す有効ビットV、キャッシュブロ
ックに格納されているデータが更新されていることを表
すダーティビットDを用いて管理を行なうものであっ
て、 前記処理手段からの所定の命令に応じて、全キャッシュ
ブロックに関する前記キャッシュステータスを検査し
て、データが更新されたキャッシュブロックのデータを
前記メモリエレメントに書き戻すキャッシュフラッシュ
を実行すると共に、キャッシュフラッシュ中であること
を表すフラッシュ実行通知、及び前記処理手段からのア
クセス要求によってキャッシュフラッシュを中断してい
ることを表すフラッシュ中断通知を行なうフラッシュ手
段を備え、 前記フラッシュ手段は、前記フラッシュ実行通知がフラ
ッシュ実行中を示す際に前記処理手段によりアクセス要
求があった場合に、キャッシュフラッシュを中断してフ
ラッシュ中断通知を行ない、前記処理手段によるアクセ
ス処理を実行可能にすることを特徴とする電子計算機。
1. A processor element comprising: processing means for performing arithmetic processing; cache memory divided into a plurality of cache blocks used by the processing means; and cache control means for controlling the cache memory. In a computer connected via a system bus to a memory element for storing instructions and data handled by the means, the cache control means determines that there is valid data in a cache block as a status for managing the cache memory. And a dirty bit D indicating that the data stored in the cache block has been updated. In response to a predetermined instruction from the processing means, all cache blocks are managed. Said cash stay A cache flush which writes back the data of the cache block whose data has been updated to the memory element, executes a flush execution notification indicating that the cache is being flushed, and an access request from the processing means. A flash unit for performing a flash suspension notification indicating that the cache flush is suspended, wherein the flash unit is configured to perform a cache operation when the processing unit receives an access request when the flash execution notification indicates that the flash is being executed. An electronic computer, wherein a flash is interrupted and a flash interrupt notification is issued to enable execution of access processing by the processing means.
【請求項2】 前記キャッシュ制御手段は、 新たにキャッシュブロックの更新されたデータをメモリ
エレメントに書き戻したことを表すフラッシュ完了ビッ
トFを、さらに前記ステータスとして設けて前記キャッ
シュメモリを管理するもので、 前記処理手段からのライトアクセス要求があった場合
に、前記ライトアクセス要求の対象となるキャッシュブ
ロックに対してライト処理を実行するライト処理手段
と、 前記ライト処理手段によるライト処理の対象となるキャ
ッシュブロックが、ダーティブロックであり、前記フラ
ッシュ手段によるフラッシュの中断前にキャッシュフラ
ッシュが完了したブロックではない場合に、当該キャッ
シュブロックのデータを前記メモリエレメントに書き戻
し、当該キャッシュブロックに対応するステータスのフ
ラッシュ完了ビットをフラッシュ済みにセットする書
き戻し手段と、 をさらに具備し、 前記フラッシュ手段は、前記書き戻し手段によりフラッ
シュ完了ビットFがフラッシュ済みにセットされていれ
ば、前記メモリエレメントへの書き戻しを行なわないこ
とを特徴とする請求項1記載の電子計算機。
2. The cache control means according to claim 1, further comprising: providing a flush completion bit F indicating that the updated data of the cache block is newly written back to the memory element as the status, to manage the cache memory. A write processing unit that executes a write process on a cache block that is a target of the write access request when there is a write access request from the processing unit; and a cache that is a target of the write process by the write processing unit. If the block is a dirty block and the cache flush is not completed before the flushing by the flush unit is interrupted, the data of the cache block is written back to the memory element, and the status of the status corresponding to the cache block is returned. A write back unit to set the flash completion bit F in flushed, further comprising a said flash unit flash is by the write back means
2. The computer according to claim 1, wherein if the cache completion bit F is set to be flushed, writing back to the memory element is not performed.
【請求項3】 前記キャッシュ制御手段は、 新たにキャッシュブロックの更新されたデータをメモリ
エレメントに書き戻したことを表すフラッシュ完了ビッ
トFを、さらに前記ステータスとして設けて前記キャッ
シュメモリを管理するもので、 前記フラッシュ手段によるキャッシュフラッシュの実行
中に前記処理手段からアクセス要求があり、前記キャッ
シュメモリに対してキャッシュアロケートを行なう場合
に、前記ステータスに基づいて有効でないブロックまた
はダーティでないブロックを優先的に追い出し、 追い出すべきブロックが存在しない場合に、前記処理手
段によるアクセス対象とするブロックがフラッシュの完
了したブロック以外であって、フラッシュ完了ビットF
がフラッシュ済みにセットされていないキャッシュブロ
ックをメモリエレメントに書き戻す書き戻し手段をさら
に具備したことを特徴とする請求項1記載の電子計算
機。
3. The cache control means stores the updated data of a new cache block in a memory.
Flash complete bit indicating that the element has been written back
Is provided as the status, and the
Manages the Shumemori, there is an access request from said processing unit during execution of the cache flush by the flash unit, when performing the cache allocate to the cache memory, not a block or dirty not valid on the basis of the status If there is no block to be evicted and there is no block to be evicted, if the block to be accessed by the processing unit is other than the flash-completed block, the flash completion bit F
Write-back means to write back cache blocks that are not set to flushed to memory elements.
2. The electronic computer according to claim 1, wherein
Machine.
【請求項4】 前記メモリエレメントが2重化された電
子計算機であって、 前記フラッシュ手段は、 第1のメモリエレメントに対してキャッシュフラッシュ
を行なう時は、前記処理手段からの全てのライトアクセ
ス要求に対して、フラッシュ完了ビットFをフラッシュ
済みにセットし、 第2のメモリエレメントに対するキャッシュフラッシュ
を前記フラッシュ完了ビットFを含む前記ステータスに
基づいてキャッシュフラッシュを行なうことを特徴とす
る請求項2または請求項3記載の電子計算機。
4. The computer according to claim 1, wherein said memory element is a duplicated computer, wherein said flash means, when performing a cache flush on said first memory element, outputs all write access requests from said processing means. A flush completion bit F is set as flushed, and a cache flush for a second memory element is performed based on the status including the flush completion bit F. Item 3. The electronic computer according to item 3.
【請求項5】 演算処理を行なう処理手段と、前記処理
手段によって用いられる複数のキャッシュブロックに分
割されたキャッシュメモリと、前記キャッシュメモリを
制御するキャッシュ制御手段とを備えたプロセッサエレ
メントが、前記処理手段により扱われる命令及びデータ
を格納するメモリエレメントとシステムバスを介して接
続された電子計算機において、 前記キャッシュ制御手段は、 前記キャッシュメモリを管理するステータスとして、キ
ャッシュブロックに有効なデータがあることを示す有効
ビットV、キャッシュブロックに格納されているデータ
が更新されていることを表すダーティビットDを用いて
管理を行なうものであって、 前記処理手段からの所定の命令に応じて、全キャッシュ
ブロックに関する前記キャッシュステータスを検査し
て、データが更新されたキャッシュブロックのデータを
前記メモリエレメントに書き戻すキャッシュフラッシュ
を実行すると共に、キャッシュフラッシュ中であること
を表すフラッシュ実行通知を行ない、 キャッシュフラッシュの実行中に前記処理手段によりア
クセス要求があった場合に、キャッシュフラッシュを中
断してフラッシュ中断通知を行ない、 前記処理手段によるキャッシュフラッシュ動作中のアク
セス処理を実行可能にすることを特徴とするキャッシュ
制御方法。
5. A processor element comprising: processing means for performing arithmetic processing; cache memory divided into a plurality of cache blocks used by said processing means; and cache control means for controlling said cache memory. In a computer connected via a system bus to a memory element storing instructions and data handled by the means, the cache control means may determine that there is valid data in a cache block as a status for managing the cache memory. And a dirty bit D indicating that the data stored in the cache block has been updated. In response to a predetermined instruction from the processing means, all cache blocks are managed. Said cash stay Checking the status, executing a cache flush for writing the data of the updated cache block back to the memory element, and performing a flush execution notification indicating that the cache flush is being performed. A cache control method comprising: when a processing unit issues an access request, suspending a cache flush and notifying a flush interruption to enable execution of an access process during a cache flush operation by the processing unit.
【請求項6】 前記キャッシュ制御手段は、 新たにキャッシュブロックの更新されたデータをメモリ
エレメントに書き戻したことを表すフラッシュ完了ビッ
トFを、さらに前記ステータスとして設けて前記キャッ
シュメモリを管理するもので、 キャッシュフラッシュ実行中に前記処理手段によるライ
トアクセス要求があった場合に、 前記キャッシュメモリの当該キャッシュブロックが、既
にダーティブロックであり、フラッシュの中断前にキャ
ッシュフラッシュが完了したブロックである時、 当該キャッシュブロックのデータを前記メモリエレメン
トに書き戻し、 当該キャッシュブロックに対応するステータスのフラッ
シュ完了ビットをフラッシュ済みにセットし、 フラッシュ完了ビットFがフラッシュ済みにセットされ
ているキャッシュブロックに対してはキャッシュフラッ
シュにおいて前記メモリエレメントへの書き戻しを行な
わないことを特徴とする請求項5記載のキャッシュ制御
方法。
6. The cache control means for managing the cache memory by further providing a flush completion bit F indicating that the updated data of the cache block is newly written back to the memory element as the status. When a write access request is issued by the processing unit during execution of the cache flush, when the cache block in the cache memory is already a dirty block and the cache flush is completed before the flush is interrupted, The data of the cache block is written back to the memory element, the flush completion bit F of the status corresponding to the cache block is set to flushed, and the cache whose flush completion bit F is set to flushed is set. Cache flash
6. The cache control method according to claim 5 , wherein writing back to the memory element is not performed in the cache.
【請求項7】 前記キャッシュ制御手段は、 新たにキャッシュブロックの更新されたデータをメモリ
エレメントに書き戻したことを表すフラッシュ完了ビッ
トFを、さらに前記ステータスとして設けて前記キャッ
シュメモリを管理するもので、 キャッシュフラッシュの実行中に前記処理手段からアク
セス要求があり、前記キャッシュメモリに対してキャッ
シュアロケートを行なう場合に、前記ステータスに基づ
いて有効でないブロックまたはダーティでないブロック
を優先的に追い出し、 追い出すべきブロックが存在しない場合に、前記処理手
段によるアクセス対象とするブロックがフラッシュの完
了したブロック以外であって、フラッシュ完了ビットF
がフラッシュ済みにセットされていないキャッシュブロ
ックをメモリエレメントに書き戻すことを特徴とする請
求項記載のキャッシュ制御方法。
7. The cache control means stores the updated data of a new cache block in a memory.
Flash complete bit indicating that the element has been written back
Is provided as the status, and the
The cache memory is managed, and when there is an access request from the processing unit during execution of a cache flush and a cache allocation is performed for the cache memory, an invalid block or a dirty block is preferentially determined based on the status. If there is no block to be evicted, and if the block to be accessed by the processing means is other than the flash-completed block, the flash completion bit F
6. The cache control method according to claim 5 , further comprising writing back the cache block that has not been set to be flushed to the memory element.
【請求項8】 前記メモリエレメントが2重化された電
子計算機であって、 第1のメモリエレメントに対してキャッシュフラッシュ
を行なう時は、前記処理手段からの全てのライトアクセ
ス要求に対して、フラッシュ完了ビットFをフラッシュ
済みにセットし、 第2のメモリエレメントに対するキャッシュフラッシュ
を前記フラッシュ完了ビットFを含む前記ステータスに
基づいてキャッシュフラッシュを行なうことを特徴とす
る請求項6または請求項7記載のキャッシュ制御方法。
8. A computer in which said memory elements are duplicated, and when performing a cache flush on a first memory element, flushing is performed for all write access requests from said processing means. 8. The cache according to claim 6, wherein a completion bit F is set to be flushed, and a cache flush for the second memory element is performed based on the status including the flush completion bit F. Control method.
JP22761794A 1994-09-22 1994-09-22 Computer with cache memory Expired - Fee Related JP3320562B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22761794A JP3320562B2 (en) 1994-09-22 1994-09-22 Computer with cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22761794A JP3320562B2 (en) 1994-09-22 1994-09-22 Computer with cache memory

Publications (2)

Publication Number Publication Date
JPH0895861A JPH0895861A (en) 1996-04-12
JP3320562B2 true JP3320562B2 (en) 2002-09-03

Family

ID=16863743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22761794A Expired - Fee Related JP3320562B2 (en) 1994-09-22 1994-09-22 Computer with cache memory

Country Status (1)

Country Link
JP (1) JP3320562B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4892812B2 (en) 2004-04-28 2012-03-07 株式会社日立製作所 Cache control and data processing system and processing program therefor
ATE458222T1 (en) * 2004-06-08 2010-03-15 Freescale Semiconductor Inc MAINTAINING CACHE COHERENCE FOR DIRECT ACCESS (DMA), COMPLETION OF A TASK, FOR SYNCHRONIZATION
JP2008305246A (en) * 2007-06-08 2008-12-18 Freescale Semiconductor Inc Information processor, cache flush control method and information processing controller
US9448938B2 (en) * 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
JP2012203881A (en) * 2011-03-28 2012-10-22 Fujitsu Ltd Storage device and storage control device

Also Published As

Publication number Publication date
JPH0895861A (en) 1996-04-12

Similar Documents

Publication Publication Date Title
JP2916420B2 (en) Checkpoint processing acceleration device and data processing method
KR101639672B1 (en) Unbounded transactional memory system and method for operating thereof
JP2916421B2 (en) Cache flush device and data processing method
US6957304B2 (en) Runahead allocation protection (RAP)
US6748501B2 (en) Microprocessor reservation mechanism for a hashed address system
US6272602B1 (en) Multiprocessing system employing pending tags to maintain cache coherence
KR101677900B1 (en) Apparatus and method for handling access operations issued to local cache structures within a data processing apparatus
EP1399823B1 (en) Using an l2 directory to facilitate speculative loads in a multiprocessor system
JP5536658B2 (en) Buffer memory device, memory system, and data transfer method
US6148416A (en) Memory update history storing apparatus and method for restoring contents of memory
JPH09138779A (en) Snoop processing method
JP2000250812A (en) Memory cache system and managing method therefor
JP3236287B2 (en) Multiprocessor system
WO2004001527A2 (en) Method and apparatus for facilitating speculative loads in a multiprocessor system
GB2427715A (en) Managing snoop operations in a multiprocessor system
JP4577729B2 (en) System and method for canceling write back processing when snoop push processing and snoop kill processing occur simultaneously in write back cache
US5987544A (en) System interface protocol with optional module cache
JP4180569B2 (en) Storage control device, data cache control device, central processing unit, storage device control method, data cache control method, and cache control method
JP3320562B2 (en) Computer with cache memory
JP2020003959A (en) Information processing unit and arithmetic processing unit and control method of information processing unit
US6477622B1 (en) Simplified writeback handling
WO2017074416A1 (en) Managing cache operations using epochs
JPH03163640A (en) Multi-processor system and cache memory used therefor
JP4506292B2 (en) Cache control method, data processing system, and processing program therefor
EP0825538A1 (en) Cache memory system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees