JPH05143463A - Cache memory device - Google Patents

Cache memory device

Info

Publication number
JPH05143463A
JPH05143463A JP3304319A JP30431991A JPH05143463A JP H05143463 A JPH05143463 A JP H05143463A JP 3304319 A JP3304319 A JP 3304319A JP 30431991 A JP30431991 A JP 30431991A JP H05143463 A JPH05143463 A JP H05143463A
Authority
JP
Japan
Prior art keywords
cache
cache memory
data
memory
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3304319A
Other languages
Japanese (ja)
Inventor
Mitsuo Saito
光男 斉藤
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 JP3304319A priority Critical patent/JPH05143463A/en
Priority to US07/979,806 priority patent/US5634027A/en
Publication of JPH05143463A publication Critical patent/JPH05143463A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide the cache memory device which shortens valid access time and has high performance even in the case of increasing the cache error ratio of a microprocessor, etc., fetching a cache memory into one chip. CONSTITUTION:When data required for a CPU 1 do not exist in a 1st cache memory 3, the required data are exchanged from a 2nd cache memory 7 and between the 1st cache memory 3 and the 2nd cache memory 7, however, address latches 4 and 6 are provided to hold addresses designating the required data. Since the addresses held in these address latches 4 and 6 are read in a memory made empty by completely transferring the addresses of the next required data in a clock cycle to transfer those address to the low-order memory, the new exchange is started before the preceding exchange is completed.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は電子計算機装置に関わ
り、特に高速化のためのキャッシュメモリ装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic computer device, and more particularly to a cache memory device for speeding up.

【0002】[0002]

【従来の技術】通常のキャッシュメモリに於いては、図
4(b)に示すように、キャッシュミスが発生すると、
いったん計算機の実行を中断し、必要とするデータがキ
ャッシュに取り込まれてから実行を再現していた。その
際はその近くのデータも必要とするケースが多かったた
めに、通常は複数のクロックを使って、複数のデータを
同時に取り込んでいた。この方式をとるキャッシュメモ
リは、例えば図4(a)に示す構成を有し、まずキャッ
シュメモリを読み出す際には、アドレスを与えて、1s
tキャッシュメモリ42,43をアクセスする。ここで
ミスした場合には、2ndキャッシュメモリ45をアク
セスしてデータのリフィルを行う。複数のデータを連続
して取り込む制御はリフィル制御部44が行う。この方
式は、キャッシュミスの比率が低いときには、うまく作
動するものである。この関係を式で表すと、以下のよう
になる。 Ne=(1−Km)*Ca+Km*Cc
2. Description of the Related Art In a normal cache memory, when a cache miss occurs, as shown in FIG.
Once the execution of the computer was interrupted, the necessary data was fetched into the cache and the execution was reproduced. In that case, since there were many cases where data near that was also needed, usually multiple clocks were used to capture multiple data at the same time. A cache memory adopting this method has a structure shown in FIG. 4A, for example, and first, when reading the cache memory, an address is given and 1s
The t cache memories 42 and 43 are accessed. If a mistake is made here, the second cache memory 45 is accessed to refill the data. The refill control unit 44 performs control to continuously capture a plurality of data. This scheme works well when the cache miss rate is low. This relationship is expressed by the following equation. Ne = (1-Km) * Ca + Km * Cc

【0003】ちなみに、Neは、実効的なメモリのアク
セス時間(クロック数)で、キャッシュメモリの性能を
示すものである。またKmは、キャッシュメモリのミス
率で、この値は、キャッシュメモリの大きさ、問題の性
質などにより、変化するものである。またCaは、キャ
ッシュメモリがヒットした場合のアクセス時間(クロッ
ク数)で、Ccはキャッシュメモリを入れ換えるのに必
要な時間(クロック数)である。通常のケースでは、C
aは1、Ccは10程度、Kmは、1%〜5%程度なの
で、Neは、1.1〜1.5(クロック)程度になる。
この値は、通常キャッシュメモリを使用しない場合の2
〜3(クロック)程度に比較して十分小さい値であるの
で、キャッシュメモリを使用する効果がある事になる。
しかし問題によっては、キャッシュミス率が極めて高く
なるケースが存在する。そのようなケースでは、Neが
大きくなり、キャッシュメモリはその効果がないどころ
かかえって悪くなる事も有り得る。このキャッシュミス
率が極めて高くなるようなケースは、キャッシュメモリ
まで含んだマイクロプロセサを開発するためにキャッシ
ュメモリのサイズがそれほど大きくとれないことや、使
用するデータ量が多い問題を扱うようになってきている
ことから、顕著になってきている。
Incidentally, Ne is an effective memory access time (clock number) and indicates the performance of the cache memory. Km is the miss rate of the cache memory, and this value changes depending on the size of the cache memory, the nature of the problem, and the like. Further, Ca is an access time (clock number) when the cache memory is hit, and Cc is a time (clock number) required to replace the cache memory. In the normal case, C
Since a is 1, Cc is about 10, and Km is about 1% to 5%, Ne is about 1.1 to 1.5 (clock).
This value is 2 when the normal cache memory is not used.
Since the value is sufficiently small compared to about 3 (clock), there is an effect of using the cache memory.
However, depending on the problem, there are cases where the cache miss rate becomes extremely high. In such a case, Ne becomes large and the cache memory may not be effective, but may be deteriorated. In the case where the cache miss rate is extremely high, it is necessary to deal with the problem that the size of the cache memory cannot be so large and the amount of data used is large in order to develop a microprocessor that includes the cache memory. It is becoming more and more noticeable.

【0004】[0004]

【発明が解決しようとする課題】上述したように従来の
キャッシュメモリシステムでは、キャッシュミス率の増
大が直ちに実効的なアクセス時間の増大を招いてしまう
ため、大きな問題に対して無力であるばかりでなくかえ
って害になるケースもあり、1チップにキャッシュメモ
リを取り込んだマイクロプロセサの性能向上を妨げてい
た。
As described above, in the conventional cache memory system, the increase of the cache miss rate immediately leads to the increase of the effective access time. In some cases, it is rather harmful and hinders the performance improvement of the microprocessor incorporating the cache memory in one chip.

【0005】本発明はこのような事情を鑑みてなされた
もので、その目的とするところは、ミスが起こっても計
算機が停止することなく計算を続行することができ、キ
ャッシュミス率が高くても高い性能を得ることができる
キャッシュメモリ装置を提供することにある。
The present invention has been made in view of the above circumstances, and an object thereof is to enable the calculation to continue without stopping the computer even if a miss occurs and the cache miss rate is high. Another object is to provide a cache memory device that can obtain high performance.

【0006】[0006]

【課題を解決するための手段】本発明に係るキャッシュ
メモリ装置は、電子計算機が必要とするデータが1st
キャッシュメモリに存在しなかった場合に、2ndキャ
ッシュメモリまたはメインメモリから必要とするデータ
を入れ換える手段を備えており、2ndキャッシュまた
はメインメモリからのデータの入れ換えは、前回の入れ
換えが完了する以前に、新たな入れ換えを開始すること
を特徴とするものである。
In the cache memory device according to the present invention, the data required by the electronic computer is 1st.
If it does not exist in the cache memory, it is provided with a means for replacing the required data from the 2nd cache memory or the main memory, and the replacement of the data from the 2nd cache or the main memory is performed before the previous replacement is completed. It is characterized by starting a new replacement.

【0007】さらに、このキャッシュメモリ装置におい
て、1stキャッシュメモリ、2ndキャッシュメモ
リ、メインメモリの各メモリ間の少なくとも1つに、必
要とするデータを指定するアドレスを保持する保持手段
を具備し、この保持手段に保持したアドレスを2ndキ
ャッシュメモリまたはメインメモリに転送するクロック
サイクルで、必要とする新たなデータが1stキャッシ
ュメモリに存在するか否かの判定を開始することを特徴
とするものである。
Further, in this cache memory device, at least one of the first cache memory, the second cache memory, and the main memory is provided with a holding means for holding an address designating required data, and this holding means is provided. It is characterized in that the determination as to whether or not the required new data exists in the 1st cache memory is started at the clock cycle for transferring the address held in the means to the 2nd cache memory or the main memory.

【0008】[0008]

【作用】ミスが発生した際、直ちに計算機を止めずに、
読み出したデータを実際に必要とするまで計算を続行す
るとともに、キャッシュ中のデータの入れ換えを進める
が、データの入れ換えの完了を待つことなく、パイプラ
イン的に次の入れ換えを開始できるため、キャッシュミ
スが連続的に起きても、計算機を停止させないようにで
きる。
[Operation] When a mistake occurs, do not stop the computer immediately,
The calculation is continued until the read data is actually needed, and the data in the cache is replaced.However, the next replacement can be started in a pipeline without waiting for the completion of the data replacement. It is possible to prevent the computer from stopping even if the continuous occurrence occurs.

【0009】[0009]

【実施例】以下、図面を参照しながら本発明の一実施例
について説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0010】図1は本発明の一実施例に係るキャッシュ
メモリ装置の構成を表すブロック図である。図2は本実
施例装置の動作を表すタイミング図である。この横の一
ますは、1クロックを示している。
FIG. 1 is a block diagram showing the configuration of a cache memory device according to an embodiment of the present invention. FIG. 2 is a timing chart showing the operation of the apparatus of this embodiment. The square next to this indicates one clock.

【0011】まずキャッシュメモリを読み出す際には、
CPU1がアドレスを与えて、1stキャッシュメモリ
をアクセスする。もしもそこでヒットすれば、1stキ
ャッシュのデータ部3から読み出したものを使うので普
通のキャッシュメモリと同様の動作をする。その動作と
は、データ部3とタグメモリ部2を同時にチェックし、
タグメモリ部2と入力されたアドレスが一致した場合に
は、ヒットとなり、データ部3の結果は正しかったこと
になる。この場合は1クロックでデータにアクセスでき
る。この様子は図2Aに示されている。
First, when reading the cache memory,
The CPU 1 gives an address to access the 1st cache memory. If there is a hit, the data read from the data section 3 of the 1st cache is used, so that the same operation as a normal cache memory is performed. The operation is to check the data part 3 and the tag memory part 2 at the same time,
If the tag memory unit 2 and the input address match, it is a hit, and the result of the data unit 3 is correct. In this case, the data can be accessed in one clock. This is shown in FIG. 2A.

【0012】1stキャッシュメモリでミスだった場合
の動作の様子を図2Bに示す。クロック(2) において、
1stキャッシュメモリでミスとわかると、クロック
(3) において、アドレスラッチ4に保持しておいた読み
出そうとするアドレスをチップ13の外に出し、クロッ
ク(4) において、2ndキャッシュのタグメモリ部5に
アクセスする。クロック(5) においては、そこでヒット
を確認した後、アドレスラッチ6に保持しておいたアド
レスを出す。そして、クロック(6) で、2ndキャッシ
ュのデータ部7にこのアドレスをもってアクセスする。
そこで読み出されたデータは、クロック(7) において、
データラッチ8を経て1stキャッシュに渡され、1s
tキャッシュのタグメモリ部2及びデータ部3を置き換
えるとともに、CPUにもデータを送る。このデータを
CPU1が使用できるのはクロック(8) 以降、即ち、C
PU1がキャッシュメモリ読み出しのアドレスを出して
から7クロック目以降ということになる。
FIG. 2B shows a state of the operation when there is a miss in the 1st cache memory. At clock (2),
If you see a miss in the 1st cache memory, the clock
At (3), the address to be read, which is held in the address latch 4, is output to the outside of the chip 13, and at the clock (4), the tag memory unit 5 of the 2nd cache is accessed. At the clock (5), after confirming a hit there, the address held in the address latch 6 is output. Then, at the clock (6), the data portion 7 of the second cache is accessed with this address.
The data read there is at clock (7)
Passed to the 1st cache via the data latch 8 and 1s
The tag memory unit 2 and the data unit 3 of the t-cache are replaced and data is also sent to the CPU. This data can be used by the CPU 1 after the clock (8), that is, C
This means that the 7th clock or later after PU1 issues the cache memory read address.

【0013】これらの一連の動作は、各ステージの中間
結果を保持するアドレスラッチ4、アドレスラッチ6、
データラッチ8(これは必ずしも必要ではないが)の存
在により、図2に示す如くパイプライン的に行うことが
できる。図2Bのように1stキャッシュメモリがミス
しても、CPUの処理は中断することなく、次のクロッ
クでは1stキャッシュでミスだったBのリフィルを続
けながら、次の読み出しCを開始するのである。よっ
て、Bのリフィルが完了してから次の読み出しCを開始
していた従来方式と比べて、Bの読み出しを開始してか
らCの読み出しを完了するまでの時間が単純に言えばほ
ぼ半分になる。つまり、本実施例によれば、ミスを起こ
していても1クロック毎に処理が進み、1stキャッシ
ュがミスを起こしてもキャッシュメモリの性能は低下し
ない。
These series of operations are performed by the address latch 4, the address latch 6, which holds the intermediate result of each stage.
Due to the presence of the data latch 8 (which is not necessary), it can be pipelined as shown in FIG. Even if the 1st cache memory misses as shown in FIG. 2B, the processing of the CPU is not interrupted, and the next read C is started while continuing the refilling of the missed B in the 1st cache at the next clock. Therefore, compared with the conventional method in which the next read C is started after the refill of B is completed, the time from the start of the read of B to the completion of the read of C is simply halved. Become. That is, according to the present embodiment, even if a miss occurs, the processing progresses every clock, and even if a miss occurs in the 1st cache, the performance of the cache memory does not deteriorate.

【0014】但し、図(a)のように、データがすぐに
欲しい場合は、その時点で計算機を停止させないと処理
の正当性が保証されないために、計算機が停止してしま
い本発明の効果が減少してしまうので、コンパイラで、
図3(b)のように最適化を図る必要がある。つまり、
「1d r1,(A)」(アドレスAのデータをレジス
タr1へ読み込む)という命令を実行してから、1st
キャッシュでミスの場合読めてくるのは7クロック目な
のだから、r1を実際に使用する「add r3,r
2,r1」という命令は、先の命令を1番目として数え
て7番目以降に置く必要があり、この2つの命令の間
に、レジスタr1と関係がなく、後の命令と前後関係の
規定されない他の命令(図でetcで示す)を置くよう
にするのである。もしも常に図3(b)のような最適化
が可能であれば、1stキャッシュは不要であるが、最
適化ができない(害のない他の命令を置くことができな
い)ケースも存在するため、1stキャッシュは効果的
である。これは、1stキャッシュがヒットすれば、1
クロックでデータが読めてくるので、最適化できていな
くてもCPUの処理は停止しないからである。尚、図3
(b)のような最適化が可能な場合、1stキャッシュ
の存在は、じゃまにはならない。
However, as shown in FIG. 3A, if the data is desired immediately, the validity of the processing cannot be guaranteed unless the computer is stopped at that time, and the computer is stopped, and the effect of the present invention is obtained. Since it will decrease, in the compiler,
It is necessary to optimize as shown in FIG. That is,
1st after executing the instruction "1d r1, (A)" (read the data of address A into register r1)
In the case of a miss in the cache, it is the 7th clock that can be read, so the actual use of r1 is "add r3, r
The instruction “2, r1” must be placed after the seventh instruction, counting the previous instruction as the first instruction. Between these two instructions, there is no relation with the register r1 and the context of the latter instruction is not specified. Other instructions (shown as etc in the figure) should be placed. If the optimization as shown in FIG. 3 (b) is always possible, the 1st cache is unnecessary, but there are cases where optimization cannot be performed (other harmless instructions cannot be placed). The cache is effective. This is 1 if the 1st cache hits
This is because the data can be read at the clock and the processing of the CPU does not stop even if optimization is not possible. Incidentally, FIG.
If the optimization as in (b) is possible, the existence of the 1st cache does not interfere.

【0015】次に、書き込みの動作について説明する。
CPU1がアドレスとデータをそれぞれ1stキャッシ
ュのタグメモリ部2とデータ部3に与え、タグメモリ部
2に入力されたアドレスが一致した場合にはヒットとな
り、データ部3に送ったデータをそのまま書き込む。こ
の場合は1クロックでデータの書き込みができる。この
様子は図2Eに示されている。
Next, the write operation will be described.
The CPU 1 gives the address and the data to the tag memory unit 2 and the data unit 3 of the 1st cache, respectively, and if the addresses input to the tag memory unit 2 match, a hit occurs and the data sent to the data unit 3 is written as it is. In this case, data can be written in 1 clock. This is shown in FIG. 2E.

【0016】1stキャッシュメモリでミスだった場合
は、データ部3でのデータの書き込みはストップする。
通常書き込み動作はクロックの後半で行われ、しかも1
stキャッシュはチップ内にあって信号の伝達時間がほ
とんどかからないから、ミスとわかってからでも書き込
みのストップは可能である。ミスの場合の動作の様子を
図2Dに示す。クロック(4) において、1stキャッシ
ュメモリでミスとわかると、クロック(5) において、ア
ドレスラッチ4に保持しておいた書き込みを行おうとす
るアドレスをチップ13の外に出すと共に、データラッ
チ9に保持しておいたデータをチップ13の外に出す。
クロック(6) において、2ndキャッシュのタグメモリ
部5にアクセスすると共に、データをデータラッチ10
に転送する。クロック(7) においては、そこでヒットを
確認した後、アドレスラッチ6に保持しておいたアドレ
スと、データラッチ10に保持しておいてデータを出
し、クロック(8) で、2ndキャッシュデータ部7の指
定されたアドレスにデータを書き込む。また、1stキ
ャッシュでヒットした場合に、1stキャッシュにデー
タの書き込みを行い、データのコンシステンシを保つた
めに2ndキャッシュへの書き戻しを行うときにも、上
記のような動作が行われる。
When there is a miss in the 1st cache memory, the writing of data in the data section 3 is stopped.
The normal write operation is done in the second half of the clock, and
Since the st cache is in the chip and it takes almost no signal transmission time, writing can be stopped even after it is recognized as a miss. The state of the operation in the case of a miss is shown in FIG. 2D. At clock (4), if it is found to be a miss in the 1st cache memory, at clock (5), the address to be written held in address latch 4 is output to outside chip 13 and held in data latch 9. The stored data is put out of the chip 13.
At the clock (6), the tag memory unit 5 of the second cache is accessed and the data is latched by the data latch 10.
Transfer to. In the clock (7), after confirming the hit there, the address held in the address latch 6 and the data held in the data latch 10 are output, and the clock (8) outputs the second cache data unit 7 Write data to the specified address. Also, when a hit is made in the 1st cache, the above operation is performed when the data is written in the 1st cache and the data is written back to the 2nd cache in order to maintain the consistency of the data.

【0017】ここで、メモリ管理部11の働きについて
説明する。メモリの読み出しの順序が、キャッシュのヒ
ット、ミスによって変わってしまうため、後の命令の読
み出しの結果が先に得られる事が起こり得る。しかしこ
の現象は、キャッシュメモリアクセス時に、あらかじ
め、または同時にメモリ管理ユニットを引き、アクセス
の正当性を保証する事により、問題とはならない。メモ
リ管理ユニットは、CPUが見る仮想アドレスと、メモ
リ(ここでは2ndキャッシュ)上の実アドレスとを対
応づけて記憶している。メモリ管理部11は、CPU1
が出したアドレスに対応する実アドレスが存在しない場
合には、例外条件として検出してこの情報をCPUに送
ることを、データが得られる前または書き込みの前に行
っておく。本実施例装置は、同時に複数のデータを必要
とするような、複数のロード、ストア命令を同時い実行
可能な計算機においても、十分に効果を発揮する。つま
り、1stキャッシュが同時にミスする確率は低いた
め、読み出したい複数のデータのうち2ndキャッシュ
からリフィルする必要のあるものは数少なく、2ndキ
ャッシュに対するポートが1つであっても、性能の低下
はほとんどない。当然ながら、このうような大きなデー
タセットに対しては、2ndキャッシュからのリフィル
の系統(図1における各信号機)を2系統あるいはそれ
以上用意し、同時に複数のリフィルを開始すれば、より
高速化が可能である事は明らかである。
Here, the function of the memory management unit 11 will be described. Since the order of reading the memory changes depending on the hit or miss of the cache, it is possible that the result of reading the subsequent instruction may be obtained first. However, this phenomenon does not pose a problem by pulling the memory management unit in advance or at the same time when accessing the cache memory to guarantee the validity of the access. The memory management unit stores the virtual address seen by the CPU and the real address on the memory (here, the 2nd cache) in association with each other. The memory management unit 11 is the CPU 1
If there is no real address corresponding to the address issued by, the information is detected as an exceptional condition and this information is sent to the CPU before data is obtained or before writing. The apparatus of this embodiment is sufficiently effective even in a computer capable of simultaneously executing a plurality of load and store instructions, which requires a plurality of data at the same time. In other words, since the probability that the 1st cache misses at the same time is low, there are few data items that need to be refilled from the 2nd cache out of a plurality of pieces of data to be read, and even if there is only one port for the 2nd cache, there is almost no deterioration in performance. .. Of course, for such a large data set, if two or more refill systems (each traffic light in FIG. 1) from the 2nd cache are prepared and a plurality of refills are started at the same time, the speed is further increased. It is clear that is possible.

【0018】また本発明は、1stキャッシュと2nd
キャシュに限られるものではなく、様々なメモリ構成で
適用できる。例えば、上記の実施例の2ndキャッシュ
をメインメモリに置き換えた構成も、上記の実施例の2
ndキャッシュと図示しなかったメインメモリとの間で
も上述したと同様なリフィルを行う構成も、さらに下位
のメモリからその上位のメモリへのリフィルを上述した
と同様に行う構成も、実現できる。また、上記の実施例
の1stキャッシュはチップ外に存在しても良い。
The present invention also uses a first cache and a second cache.
The present invention is not limited to cache and can be applied to various memory configurations. For example, the configuration in which the 2nd cache of the above-described embodiment is replaced with the main memory also has the configuration of
A configuration for performing the same refill as described above between the nd cache and a main memory (not shown) as well as a configuration for performing refill from the lower memory to the upper memory in the same manner as described above can be realized. Further, the 1st cache of the above embodiment may exist outside the chip.

【0019】またリフィル時のタイミングはクロック毎
でなくても良い。つまり、上記の実施例では1クロック
で行った動作の一部あるいは全部を複数クロックで行っ
ても良い。また、2ndキャッシュは、さきにタグを引
いてからデータを引いているが、これも同時に引くよう
な構成にもできる。その場合にはアドレスラッチ6とデ
ータラッチ(8,)10は必要なく、データは5クロッ
ク目に読めてくることになる。尚、この構成では、書き
込みの際に注意する必要がある。1stキャッシュと同
じように、2ndキャッシュのタグ部でミスとわかった
ときにデータ部への書き込みを中止できるようにする
か、あるいは、データの読み出しの際は2ndキャッシ
ュへのアクセスも図1の1stキャッシュへのアクセス
と同様の信号の流れを取るようにし、データの書き込み
の際には図1のままの信号の流れを取るような構成にす
る。
Further, the timing of refilling does not have to be for each clock. That is, part or all of the operation performed in one clock in the above embodiment may be performed in a plurality of clocks. In the second cache, the tag is first pulled before the data is pulled, but the second cache can also be pulled at the same time. In that case, the address latch 6 and the data latch (8,) 10 are not necessary, and the data can be read at the fifth clock. In this configuration, it is necessary to be careful when writing. As in the case of the 1st cache, writing to the data section can be stopped when the tag section of the 2nd cache is found to be a miss, or access to the 2nd cache can also be accessed at the 1st section of FIG. 1 when reading data. A signal flow similar to that for accessing the cache is taken, and a signal flow as in FIG. 1 is taken when writing data.

【0020】つまり、本発明によれば、キャッシュミス
が発生した場合にも計算が続行できるため、ミス率が高
くてもパイプライン処理を最適化することにより性能の
低下はなく、最適化ができないケースでも1stキャッ
シュが効いていれば高性能を発揮できるキャッシュメモ
リ装置を実現できる。
In other words, according to the present invention, since the calculation can be continued even when a cache miss occurs, the performance is not deteriorated by optimizing the pipeline processing even if the miss rate is high, and the optimization cannot be performed. Even in the case, if the 1st cache is effective, a cache memory device that can exhibit high performance can be realized.

【0021】[0021]

【発明の効果】以上説明してきたように、本発明によれ
ば、1stキャッシュの大きさが小さい場合等、キャッ
シュミス率が高い場合であっても、実効的なアクセス時
間が増大せず、高い性能を維持することのできるキャッ
シュメモリ装置を実現できる等の実用上多大なる効果が
奏せられる。
As described above, according to the present invention, even when the cache miss rate is high, such as when the size of the 1st cache is small, the effective access time does not increase and is high. There are practically great effects such as realization of a cache memory device capable of maintaining performance.

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

【図1】 本発明の一実施例に係るキャッシュメモリ装
置の構成を示すブロック図。
FIG. 1 is a block diagram showing a configuration of a cache memory device according to an embodiment of the present invention.

【図2】 本実施例装置の動作のタイミングを表す図。FIG. 2 is a diagram showing the operation timing of the apparatus of this embodiment.

【図3】 本実施例装置で実行するプログラムの例を示
す図。
FIG. 3 is a diagram showing an example of a program executed by the device of this embodiment.

【図4】 従来のキャッシュメモリ装置の(a)構成図
と(b)動作のタイミングを表す図。
FIG. 4A is a block diagram of a conventional cache memory device and FIG. 4B is a diagram showing operation timing.

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

1,41…CPU、2,42…1stキャッシュタグメ
モリ部、3,43…1stキャッシュデータ部、4,6
…アドレスラッチ、5…2ndキャッシュタグメモリ
部、7…2ndキャッシュデータ部、8,9,10…デ
ータラッチ、11…メモリ管理部、12,44…リフィ
ル制御部、13…チップ、45…2ndキャッシュ
1, 41 ... CPU, 2, 42 ... 1st cache tag memory section, 3, 43 ... 1st cache data section, 4, 6
... address latch, 5 ... 2nd cache tag memory section, 7 ... 2nd cache data section, 8, 9, 10 ... data latch, 11 ... memory management section, 12, 44 ... refill control section, 13 ... chip, 45 ... 2nd cache

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 上位のキャッシングメモリに目的のデー
タが存在しなかった場合に、より下位のキャッシュメモ
リまたはメインメモリから前記目的のデータを入れ換え
る手段を備えたキャッシュメモリ装置において、より下
位のキャッシュまたはメインメモリからのデータの入れ
換えは、前回の入れ換えが完了する以前に、新たな入れ
換えを開始することを特徴とするキャッシュメモリ装
置。
1. A cache memory device comprising means for replacing the target data from a lower cache memory or a main memory when the target data does not exist in the higher cache memory, and the lower cache or The cache memory device is characterized in that the replacement of data from the main memory starts a new replacement before the completion of the previous replacement.
【請求項2】 請求項1記載のキャッシュメモリ装置に
おいて、 上位のキャッシュメモリと下位のキャシュメモリとの間
またはメインメモリとの間に、目的のデータを指定する
アドレスを保持する保持手段を具備し、この保持手段に
保持したアドレスを下位のキャッシュメモリまたはメイ
ンメモリに転送するクロックサイクルで、新たな目的の
データについて上位のキャッシュメモリに存在するか否
かの判定を開始することを特徴とするキャッシュメモリ
装置。
2. The cache memory device according to claim 1, further comprising holding means for holding an address designating target data between the upper cache memory and the lower cache memory or the main memory. A cache characterized by starting a judgment as to whether or not new target data exists in the upper cache memory in a clock cycle for transferring the address held in the holding means to the lower cache memory or the main memory. Memory device.
JP3304319A 1991-11-20 1991-11-20 Cache memory device Pending JPH05143463A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3304319A JPH05143463A (en) 1991-11-20 1991-11-20 Cache memory device
US07/979,806 US5634027A (en) 1991-11-20 1992-11-20 Cache memory system for multiple processors with collectively arranged cache tag memories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3304319A JPH05143463A (en) 1991-11-20 1991-11-20 Cache memory device

Publications (1)

Publication Number Publication Date
JPH05143463A true JPH05143463A (en) 1993-06-11

Family

ID=17931597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3304319A Pending JPH05143463A (en) 1991-11-20 1991-11-20 Cache memory device

Country Status (1)

Country Link
JP (1) JPH05143463A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS641046A (en) * 1987-03-04 1989-01-05 Nec Corp Memory access control system
JPS6446145A (en) * 1987-08-13 1989-02-20 Fujitsu Ltd Cache memory control system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS641046A (en) * 1987-03-04 1989-01-05 Nec Corp Memory access control system
JPS6446145A (en) * 1987-08-13 1989-02-20 Fujitsu Ltd Cache memory control system

Similar Documents

Publication Publication Date Title
JP4339371B2 (en) Information processing apparatus and information processing method
US8954681B1 (en) Multi-stage command processing pipeline and method for shared cache access
JP2008107983A (en) Cache memory
JP4294059B2 (en) Information processing apparatus and information processing method
JP3498673B2 (en) Storage device
JP3081614B2 (en) Partial write control device
JP2009282920A (en) Cache memory device
US7111127B2 (en) System for supporting unlimited consecutive data stores into a cache memory
CN101196851B (en) Data management method of flash memory
JPH05143463A (en) Cache memory device
CN103186474B (en) The method that the cache of processor is purged and this processor
JP3767521B2 (en) Cache fill control method and CPU
JP2007172456A (en) Plotting device
JPS60205760A (en) Memory controller
TW202029200A (en) Electronic device and method for managing electronic device
JP2001222467A (en) Cache device
JP2901247B2 (en) Discharge control method
TWI739430B (en) Cache and method for managing cache
JP3614946B2 (en) Memory buffer device
JPH05100926A (en) Input/output managing system
JPH05257807A (en) Cache memory controller
JPH02259945A (en) Storing processing system
JP2008083904A (en) Cache memory device and its control method
JPH01251248A (en) Cache control system for stack data structure
JPH1185613A (en) Cache memory