Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0711791B2 - Cache memory system - Google Patents
[go: Go Back, main page]

JPH0711791B2 - Cache memory system - Google Patents

Cache memory system

Info

Publication number
JPH0711791B2
JPH0711791B2 JP1101110A JP10111089A JPH0711791B2 JP H0711791 B2 JPH0711791 B2 JP H0711791B2 JP 1101110 A JP1101110 A JP 1101110A JP 10111089 A JP10111089 A JP 10111089A JP H0711791 B2 JPH0711791 B2 JP H0711791B2
Authority
JP
Japan
Prior art keywords
cpu
cache memory
data
address
fetch
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 - Lifetime
Application number
JP1101110A
Other languages
Japanese (ja)
Other versions
JPH02278445A (en
Inventor
孝弘 天野
健一 中
秀也 鈴木
知寿 花手
隆幸 大久保
Original Assignee
株式会社ピーエフユー
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 株式会社ピーエフユー filed Critical 株式会社ピーエフユー
Priority to JP1101110A priority Critical patent/JPH0711791B2/en
Publication of JPH02278445A publication Critical patent/JPH02278445A/en
Publication of JPH0711791B2 publication Critical patent/JPH0711791B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概要〕 ブロック・リプレイス中のキャッシュ・メモリに対し
て,リプレイス中もキャッシュ・リード・ヒット/ミス
・ヒットの判定を行い,ヒットした時はCPUに対してデ
ータを出力しCPUを待機状態に移行させず,ミス・ヒッ
トとなった時は待機状態を継続させることにより,CPUの
待機時間を短縮させるものである。また,これと同時
に,リプレイス中のアドレスを比較し,一致した場合
も,CPUに対してデータを出力し,またフェッチ・バイパ
スに続く次のCPUのサイクルにおけるアドレスと,ブロ
ックリプレイス中のデータのアドレスを比較し,一致し
た場合CPUに対してデータを出力することによって,CPU
の待機状態を減少させ,CPUの効率を向上させる。
[Detailed Description of the Invention] [Overview] Cache read hit / miss hit is determined for the cache memory during block replacement, and data is output to the CPU when hit. However, the CPU standby time is shortened by keeping the standby state when there is a miss hit without shifting the CPU to the standby state. At the same time, the addresses being replaced are compared, and if they match, the data is output to the CPU, and the address of the next CPU cycle following fetch bypass and the address of the data being replaced by the block are also output. , And if they match, output the data to the CPU
It reduces the waiting state and improves the CPU efficiency.

〔産業上の利用分野〕[Industrial application field]

本発明は,ブロック単位でリプレイスを行うキャッシュ
メモリシステムに関するものであり,特にブロックリプ
レイス中においてもCPUからのフェッチアクセス要求を
処理できるキャッシュメモリシステムに関する。
The present invention relates to a cache memory system that replaces in blocks, and more particularly to a cache memory system that can process a fetch access request from a CPU even during block replacement.

〔従来の技術〕[Conventional technology]

CPUを高性能化する手段としては,並列処理単位の増強
(たとえば8bit→16bit→32bit→64bit),RISC型アーキ
テクチャの採用,そして,動作クロックの高速化と内部
サイクル,および,バスサイクルの短縮化などが一般的
な傾向である。
As a means to improve CPU performance, increase the parallel processing unit (for example, 8bit → 16bit → 32bit → 64bit), adopt RISC type architecture, and speed up operating clock and shorten internal cycle and bus cycle. Is a general tendency.

またメモリでは,アクセス可能なアドレス空間も増大の
傾向にあり,高集積度化(たとえば256Kbit→1Mbit→4M
bit)によって対応が図られている。一方,ダイナミッ
クメモリについては,アクセスタイムの高速化がCPUの
バスサイクルの短縮化のテンポに追従することが困難と
なりつつある。そのためダイナミックメモリに代りスタ
ティックメモリを用いて対処する方法もとられている
が,大容量のメモリシステムのスタティックメモリで構
築するのは,コスト面,集積度,消費電力などの面で実
現性に乏しい。
In addition, in the memory, the accessible address space is also increasing, and high integration (for example, 256Kbit → 1Mbit → 4M
bit) is being addressed. On the other hand, for dynamic memories, it is becoming difficult for faster access times to follow the tempo of shortening the CPU bus cycle. Therefore, a static memory is used instead of the dynamic memory, but constructing with a static memory of a large capacity memory system is not feasible in terms of cost, integration, and power consumption. .

そこでダイナミックメモリを2群以上に分割して,ブロ
ック毎に交互にアクセスすることによって,アクセスタ
イムを見かけ上短くしたメモリ・インターリーブ方式の
メモリシステムが用いられたが,プログラムの構成によ
っては,CPUのもつ性能を十分に活用することができなか
った。
Therefore, a memory interleaved memory system was used in which the access time was apparently shortened by dividing the dynamic memory into two or more groups and alternately accessing each block. However, depending on the program configuration, I was not able to fully utilize the performance I had.

そのため,高速・高価・低集積度のスタティックメモリ
と低速・安価・高集積度のダイナミックメモリを組み合
わせたメモリハイアラーキ(記憶階層)方式が考えられ
た。
Therefore, a memory hierarchy system that combines static memory with high speed / expensive / low integration and dynamic memory with low speed / inexpensive / high integration was considered.

キャッシュメモリは,このメモリハイアラーキの実現方
法の1つであり,メインメモリのアクセスタイムとCPU
のサイクルタイムのギャップを埋めるため,両者の間に
置かれた小容量の高速メモリである。
The cache memory is one of the methods for realizing this memory hierarchy, and it uses the access time of the main memory and the CPU.
It is a small-capacity high-speed memory placed between the two to fill the gap in the cycle time.

このキャッシュメモリの原理は,ある時点で参照された
データは近い将来に再び参照される可能性が大きいとい
ったプログラムのメモリ参照の時間的局所性,参照され
たデータの近傍のデータが参照される可能性が大きいと
いった空間的局所性の2つの局所性に基づいている。こ
の局所性を利用して,参照されたデータおよびその近傍
のデータをメインメモリからキャッシュメモリへコピー
しておくことにより,主記憶へのアクセスの多くをキャ
ッシュメモリへのアクセスで済ましてしまい,効率を向
上させることが可能となる。
The principle of this cache memory is that the data referenced at a certain time is likely to be referenced again in the near future, and the temporal locality of the memory reference of the program, the data near the referenced data can be referenced. It is based on two localities of spatial locality, such as large locality. By using this locality to copy the referenced data and the data in the vicinity from the main memory to the cache memory, most of the access to the main memory can be done to the cache memory, and the efficiency can be improved. It becomes possible to improve.

このメインメモリからキャッシュメモリへのデータコピ
ーのために,ブロック読み出しなどをどの時点で行うか
を決める方式がフェッチ・アルゴリズムであり,大きく
分けるとデマンドフェッチ方式とプリフェッチ方式があ
る。
The fetch algorithm is a method that determines at what point in time a block read or the like is performed to copy data from the main memory to the cache memory. The method is roughly divided into a demand fetch method and a prefetch method.

デマンドフェッチ方式では,あるブロックが必要となっ
た時点でキャッシュメモリにメインメモリの内容を転送
する。一方,プリフェッチ方式は,デマンドフェッチ方
式に加え,必要となるブロックを予測して前もってキャ
ッシュメモリに転送しておく。予測方法としては,参照
されたブロックの次のアドレスのブロックをプリフェッ
チする方式が多い。デマンドフェッチ方式によるフェッ
チアルゴリズムに関しては,メインメモリからキャッシ
ュメモリへの転送中であっても,CPUの動作を継続させる
ことを可能とするため,CPUがアクセスしたデータからリ
プレイス転送を開始し,データがキャッシュメモリにフ
ェッチされると同時に,そのデータをCPUへも引き渡し
て,CPUの動作を再開させ,その後残りのブロックの内容
をメインメモリからフェッチするフェッチ・バイパスと
呼ばれる機能によって,処理の高速化を図っていた。
In the demand fetch method, the contents of the main memory are transferred to the cache memory when a certain block is needed. On the other hand, in the prefetch method, in addition to the demand fetch method, the required block is predicted and transferred to the cache memory in advance. As a prediction method, there is often a method of prefetching a block at an address next to the referenced block. Regarding the fetch algorithm by the demand fetch method, in order to make it possible to continue the operation of the CPU even during the transfer from the main memory to the cache memory, the replace transfer is started from the data accessed by the CPU and the data is transferred. At the same time as the data is fetched to the cache memory, the data is also handed over to the CPU to restart the operation of the CPU, and then the contents of the remaining blocks are fetched from the main memory. I was trying.

〔発明が解決しようとする課題〕[Problems to be Solved by the Invention]

ブロック単位でデータのリプレイスを行う従来のキャッ
シュメモリシステムでは,フェッチ・バイパス終了後,
リプレイスが完了するまでの間に,CPUがアクセスを行っ
た場合は,待機状態に移行させる必要があり,処理効率
上問題があった。これは,ブロック・サイズが大きくな
ればなるほど,顕著となる傾向があった。
In a conventional cache memory system that replaces data in block units, after fetch bypass is completed,
If the CPU made an access before the replacement was completed, it was necessary to shift to the standby state, which was a problem in processing efficiency. This tended to be more pronounced as the block size increased.

本発明は,ブロックリプレイス期間中もCPUからのフェ
ッチアクセスを処理し,CPUが待機状態に入る機会を可能
な限り減少させることを目的としている。
It is an object of the present invention to process fetch access from the CPU even during the block replacement period and reduce the chance of the CPU entering the standby state as much as possible.

〔課題を解決するための手段〕[Means for Solving the Problems]

本発明は,キャッシュメモリがブロックリプレイス中で
あってもCPUからのフェッチアドレスを処理するもの
で,そのためキャッシュメモリにおいてリプレイスとは
関係なしにリードできる部分(ウェイ)をアクセスし,
ヒットしたならばそのデータをCPUへ出力し,またブロ
ック転送中のリプレイスデータのアドレスとフェッチア
ドレスとを比較して一致すればそのアドレスのデータを
CPUへ出力するものである。
According to the present invention, the fetch address from the CPU is processed even when the cache memory is performing block replacement. Therefore, a portion (way) which can be read in the cache memory regardless of the replacement is accessed,
If there is a hit, that data is output to the CPU, and if the address of the replace data during block transfer and the fetch address are compared and they match, the data at that address is output.
It is output to the CPU.

第1図に,本発明の原理的構成を例示的方法で示す。な
お簡単化のため,リプレイス時のフェッチバイパス制御
系についてのみ示す。
FIG. 1 shows the principle configuration of the invention in an exemplary way. For simplicity, only the fetch bypass control system during replacement is shown.

第1図において, 1は,CPUである。In FIG. 1, 1 is a CPU.

2は,メインメモリである。2 is a main memory.

3は,2以上のウェイをもつキャッシュメモリである。Reference numeral 3 is a cache memory having two or more ways.

4は,キャッシュメモリコントローラである。Reference numeral 4 is a cache memory controller.

5は、基本アクセス機能であり,CPU1からのフェッチア
クセス要求に応じてキャッシュメモリのヒット/ミスヒ
ットを判定し,ヒットの場合はデータをCPUへ出力する
がミスヒットの場合はブロックリプレイスを実行する。
Reference numeral 5 is a basic access function, which determines hit / miss hit of the cache memory according to a fetch access request from the CPU 1, outputs data to the CPU in the case of hit, but executes block replacement in the case of miss hit. .

6は,第1フェッチ・バイパス機能であり,CPU1からの
フッェチアドレスでキャッシュメモリ3がミスヒットと
なり,あるウェイがブロックリプレイスされていると
き,最初のバスサイクルで先にミスヒットとなったデー
タをCPUに出力する。
6 is a first fetch bypass function, which is a hit address in the cache memory 3 due to the fetch address from the CPU 1, and when a certain way is block replaced, it becomes a miss hit earlier in the first bus cycle. Output data to CPU.

7は,リプレイス中アクセス機能であり,ブロックリプ
レイスの最初のバスサイクルでフェッチ・バイパスを行
った後のCPUサイクルで,CPU1からフェッチアドレスが出
力されたとき,キャッシュメモリのリプレイス対象以外
のウェイについてフェッチアドレスによるアクセスを行
い,ヒットしたとき,読み出したデータをCPUへ出力す
る。
7 is an access function during replacement, which is a CPU cycle after fetch bypass is performed in the first bus cycle of block replacement, and when the fetch address is output from CPU1, fetches the ways other than the replacement target of the cache memory. The address is accessed and the read data is output to the CPU when a hit occurs.

8は、第2フェッチ・バイパス機能であり,ブロックリ
プレイスによりメインメモリからメインメモリへ転送す
るアドレスをCPU1からのフェッチアドレスと比較し,一
致が得られたときそのデータをCPU1へ出力する。また一
致が得られない場合にはCPU1を待機状態にする。
A second fetch bypass function 8 compares the address transferred from the main memory to the main memory by block replacement with the fetch address from the CPU 1, and outputs the data to the CPU 1 when a match is obtained. If no match is found, CPU1 is put in a standby state.

なお第1図の構成では,リプレイス中アクセス機能7と
第2フェッチ・バイパス機能8とがシーケンシャルに動
作するように示されているが,同時並行的に動作させ,
あるいはいずれか一方のみを設けてもよい。また第1フ
ェッチ・バイパス機能をもたないキャッシュメモリシス
テムであっても,リプレイス中アクセス機能7と第2フ
ェッチ・バイパス機能8とを適用することができる。
In the configuration of FIG. 1, the access function during replacement 7 and the second fetch bypass function 8 are shown to operate sequentially, but they are operated in parallel at the same time.
Alternatively, only one of them may be provided. Further, even in the cache memory system which does not have the first fetch / bypass function, the access function during replacement 7 and the second fetch / bypass function 8 can be applied.

〔作用〕[Action]

第1図に示された本発明の構成によれば,CPU1からのフ
ェッチアクセス要求に対してキャッシュメモリ3がミス
ヒットとなったとき,ブロックリプレイスが行われ,ま
たフェッチ・バイパスが従来のように行われるが,さら
にその後のサイクルでリプレイス終了前にCPU1が発生す
るフェッチアドレスに応じて,リプレイス中アクセス機
能7により,リプレイス対象外のウェイのアクセスを行
ったり,第2フェッチ・バイパス機能8を用いてリプレ
イスのためにメインメモリから転送される途中のデータ
のアドレスを調べ,フェッチアドレスと一致すればそれ
をCPU1に出力することができる。
According to the configuration of the present invention shown in FIG. 1, when the cache memory 3 becomes a mishit in response to a fetch access request from the CPU 1, block replacement is performed and fetch bypass is performed as in the conventional case. In the subsequent cycle, depending on the fetch address generated by the CPU 1 before the end of replacement in the subsequent cycle, the access function during replacement 7 accesses the way that is not the replacement target, and the second fetch bypass function 8 is used. The address of the data being transferred from the main memory for replacement is checked, and if it matches the fetch address, it can be output to CPU1.

そのためブロックリプレイスの期間中でも,CPU1からの
後続のデータフェッチ要求がヒットする可能性があり,
その分CPU1の処理が進んで,処理効率が向上する。
Therefore, even during the block replacement period, subsequent data fetch requests from CPU1 may hit,
The processing of the CPU 1 advances accordingly, and the processing efficiency improves.

〔実施例〕〔Example〕

第2図に,第1図の第2フェッチ・バイパス機能をもつ
本発明の第1実施例の構成を示す。
FIG. 2 shows the configuration of the first embodiment of the present invention having the second fetch bypass function of FIG.

第2図において, 11はCPU,12はキャッシュメモリコントローラCMC,13はダ
イレクトマッピング・タイプのキャッシュメモリCM,14
はアドレス比較器COMP,15はメモリコントローラMC,16は
1ポートのメインメモリMM,17はアドレスバス,18はデー
タバス,19はアドレスバッファBである。
In FIG. 2, 11 is a CPU, 12 is a cache memory controller CMC, 13 is a direct mapping type cache memory CM, 14
Is an address comparator COMP, 15 is a memory controller MC, 16 is a one-port main memory MM, 17 is an address bus, 18 is a data bus, and 19 is an address buffer B.

次に,第2図の構成にしたがって,シーケンスの概略に
ついて述べる。
Next, the outline of the sequence will be described according to the configuration of FIG.

CPU11から出力されたアドレスをベースにして,CMC12で
ヒット/ミスヒットの判定を行う。ヒットの場合は,CM1
3からCPU11に対してデータが出力される。ミスヒットの
場合は,リプレイス・シーケンスに移行する。
Based on the address output from CPU11, CMC12 determines hit / miss hit. In case of hit, CM1
Data is output from 3 to the CPU 11. If it is a mishit, move to the replace sequence.

リプレイスは,ブロック単位で行い,この時,MM16に対
するアドレスはCMC12から出力される。フェッチ・バイ
パスでは,リプレイスの最初のバスサイクルに転送され
るデータは,CPU11の期待しているデータであるため,ア
ドレスの一致・不一致の判定をする必要がなく,そのま
まCPU11へ送られる。
The replacement is performed in block units, and at this time, the address for the MM16 is output from the CMC12. In the fetch bypass, the data transferred in the first bus cycle of replacement is the data expected by the CPU 11, and therefore it is not necessary to judge whether the addresses match or not, and the data is sent to the CPU 11 as it is.

CPU11は次のサイクルに移行し,アドレスを出力する
が,これはB.19によって阻止され,MM16へ到達しない。
ただし,CMC12へは,別ルートを経由して入力される。入
力されたアドレス・データは,COMP.14でCMC12の出力す
るリプレイス・アドレスと比較され,一致した場合は,M
M16からCM13へのデータ転送と同時に,CPU11に対してデ
ータ有効信号を発行する。これによって,リプレイス期
間中も,CPU11がデータを取り込むことが可能となる。
The CPU 11 shifts to the next cycle and outputs the address, but this is blocked by B.19 and does not reach the MM16.
However, it is input to CMC12 via another route. The input address data is compared with the replace address output by CMC12 in COMP.14, and if they match, M
At the same time as the data transfer from M16 to CM13, a data valid signal is issued to CPU11. As a result, the CPU 11 can take in data even during the replacement period.

次に第3図のタイミング図を用いて,詳細なシーケンス
を説明する。
Next, a detailed sequence will be described with reference to the timing chart of FIG.

キャッシュ・リード・ミスと判定された場合は,*REPL
ACE=“0"となり,リプレイス・シーケンスが開始さ
れることとなる。ブロック・リプレイスは,リード・ミ
スとなったアドレスを含むブロック(上記のタイムチャ
ートでは6エントリ)をメインメモリから転送する。リ
プレイス・アドレスRE−ADDRESSには,ミス・ヒット
時のADDRESSがセットされ,1エントリの転送が終了す
る度に,順次インクリメントされる。
* REPL if it is determined to be a cache read miss
ACE = "0", and the replacement sequence is started. The block replace transfers the block (6 entries in the above time chart) including the read-missed address from the main memory. The replace address RE-ADDRESS is set to ADDRESS at the time of a miss hit, and is sequentially incremented each time the transfer of one entry is completed.

CPU11に対しては,リプレイスの先頭のエントリで*REA
DY=“0"とし,データの取り込みを行わせる(フェッ
チ・バイパス時)。CPU11は,次のサイクルに移行し,AD
DRESSを出力する。このCPU11から出力されるアドレス
と,キャッシュコントローラCMC12から出力されるアド
レスとを比較し,一致した場合は,再びCPU11に対して
*READYを出力し,データの取り込みを行わせる。一
致しない場合は,*READY=“1"とし,データの取り込
みを抑制することによって誤動作を防ぐ。
For CPU11, enter * REA at the beginning of the replacement
Set DY = "0" to fetch data (during fetch bypass). CPU11 shifts to the next cycle, and AD
Output DRESS. The address output from the CPU 11 is compared with the address output from the cache controller CMC 12, and if they match, * READY is output again to the CPU 11 to cause the data to be fetched. If they do not match, * READY = "1" is set to prevent malfunction by suppressing data acquisition.

ところで図示省略するが,キャッシュ・メモリの構成
は,主に,LRU部,アドレス・タグ部,バリッド・ビット
部,データ・ブロック部,アドレス・タグ比較器,バッ
ファ,メモリ・インタフェースなどから成る。
Although not shown, the cache memory mainly comprises an LRU unit, an address tag unit, a valid bit unit, a data block unit, an address tag comparator, a buffer, a memory interface and the like.

LRU(Least Recently Used)部は,リプレイスを行うべ
きメモリ・ブロックの情報を格納している部分であり,
ダイレクト・マッピング方式のキャッシュ・メモリを除
く,キャッシュ・メモリに用意されている。アドレス・
タグ部は,アドレス情報を格納する部分である。ブロッ
ク・リプレイスを行うキャッシュ・メモリ・システムで
は,上位アドレスのみを格納する。バリッド・ビット部
は,アドレス・タグ部が上位アドレスを格納しているの
に対して,下位アドレスに対応し,個々のアドレスの有
効・無効を示すものである。データ・ブロック部は,実
際のデータを格納している部分である。アドレス・タグ
比較器は,CPUから出力されるアドレス情報と,アドレス
・タグの内容を比較し,一致・不一致の信号を出力する
ものである。
The LRU (Least Recently Used) part is a part that stores the information of the memory block to be replaced,
It is provided in the cache memory, excluding the direct mapping cache memory. address·
The tag portion is a portion that stores address information. In a cache memory system that performs block replacement, only high-order addresses are stored. The valid bit portion corresponds to the lower address, while the address tag portion stores the upper address, and indicates whether each address is valid or invalid. The data block part is a part that stores actual data. The address / tag comparator compares the address information output from the CPU with the contents of the address tag and outputs a match / mismatch signal.

通常,アドレス・タグ比較器において,不一致と判定さ
れると,いわゆるミスヒットとなり,リプレイス・シー
ケンスが起動されることとなる。ミスヒットによって,L
RU部の内容から,いずれか1つのメモリ・ブロック(4
ウェイ・セット・アソシアティブ方式なら,4ウェイの内
から1ウェイ)が選択され,アドレス・タグ部とバリッ
ド・ビット部が更新され,かつ,メインメモリからデー
タ・ブロック部へのデータ転送が開始される。
Normally, when the address / tag comparator determines that they do not match, a so-called mishit occurs, and the replace sequence is activated. By a mishit, L
One of the memory blocks (4
In the case of the way set associative method, one of 4 ways is selected, the address tag part and valid bit part are updated, and data transfer from the main memory to the data block part is started. .

したがって,キャッシュメモリの構成を改善すれば,こ
のデータ・ブロック部へのデータ転送中であっても,ア
ドレス・タグ部とバリッド・ビット部へのアクセスを並
列に行うことができる。
Therefore, if the configuration of the cache memory is improved, the address tag section and the valid bit section can be accessed in parallel even during the data transfer to the data block section.

そこで,キャッシュメモリとして入力ポートと出力ポー
トを独立に備えたデュアルポート・タイプのスタティッ
クRAMを想定し,アクセスについて,データのCPUからの
読み出しに関しては出力ポートを用いて行い,リプレイ
スに関しては入力ポートを用いるものとする。これによ
り,リプレイス・シーケンスを行いながらも,データ・
ブロック部へのアクセスが可能となり,ダイレクトマッ
ピング・タイプのキャッシュメモリシステムであって
も,並行動作を実現できる。
Therefore, assuming a dual-port type static RAM that has an input port and an output port independently as cache memory, access is performed using the output port, and replacement is performed using the input port. Shall be used. As a result, while performing the replacement sequence, the data
Blocks can be accessed, and parallel operation can be achieved even with a direct mapping type cache memory system.

第4図に,このようなデュアルポート・タイプでかつダ
イレクトマッピング・タイプのキャッシュメモリCMを用
いた本発明の第2実施例の構成を示す。また第5図に
は,さらに第2図の第1実施例のアドレス比較器14をそ
なえている第3の実施例の構成を示す。
FIG. 4 shows the configuration of the second embodiment of the present invention using such a dual port type and direct mapping type cache memory CM. Further, FIG. 5 shows the configuration of the third embodiment further including the address comparator 14 of the first embodiment of FIG.

次に,キャッシュメモリデータをデータ・ブロック部が
2組以上(2ウェイ以上のセット・アソシアティブ方
式)で,1ポートのメモリを用いて構成した場合は,ブロ
ックリプレイス中のウェイを除く残りのウェイでキャッ
シュ・リード・ヒットの判定を行い,ヒットしたとき
は,CPUに対してデータを出力し,ミス・ヒットとなった
場合は,リプレイスの完了を待ち,リプレイスを行った
ウェイでのヒットを判定する。
Next, if the cache memory data consists of two or more sets of data blocks (two-way or more set associative method) and one-port memory is used, the remaining ways except the way during block replacement are used. The cache read hit is judged, if it hits, the data is output to the CPU, and if it becomes a miss hit, the completion of the replacement is waited and the hit in the way where the replacement was carried out is judged. .

第6図および第7図に,1ポートメモリで4ウェイのセッ
ト・アソシアティブ方式のキャッシュメモリを用いた本
発明の第4実施例のデータフローおよびアドレスフロー
を示す。また第8図および第9図に,アドレス比較器CO
MP.をもつ第5実施例のデータフローおよびアドレスフ
ローを示す。
FIGS. 6 and 7 show the data flow and address flow of the fourth embodiment of the present invention using a 4-way set associative cache memory with a 1-port memory. Also, in FIG. 8 and FIG. 9, the address comparator CO
7 shows a data flow and an address flow of the fifth embodiment having MP.

第6図ないし第9図において,CM1ないしCM4が4つのウ
ェイに対応している。また各CMの両端にある2つのB.
は,CPUに対してデータを出力するポートと,リプレイス
を行うためにMM(MM1〜MM3で示す)とのルートを確保す
るためのポートである。
In FIGS. 6 to 9, CM 1 to CM 4 correspond to four ways. There are also two Bs at each end of each CM.
Is a port that secures a route between the port that outputs data to the CPU and the MM (indicated by MM 1 to MM 3 ) for replacement.

さらに,キャッシュメモリに入力ポートと出力ポートが
独立したデュアルポート・メモリを用いた場合は,ブロ
ックリプレイスを実行中のウェイも,ヒット/ミス・ヒ
ットの比較を行うことができる。
Furthermore, when a dual port memory having independent input ports and output ports is used as the cache memory, it is possible to perform hit / miss hit comparison even between ways during which block replacement is being executed.

第10図および第11図に,このような構成をもつ第6実施
例のデータフローとアドレスフローとを示す。また第12
図および第13図に,アドレス比較器COMP.を付加した第
7実施例のデータフローとアドレスフローとを示す。
10 and 11 show the data flow and address flow of the sixth embodiment having such a configuration. Also the 12th
FIG. 13 and FIG. 13 show the data flow and address flow of the seventh embodiment in which the address comparator COMP. Is added.

第10図ないし第13図中のCM1およびCM2がデュアルポート
の2ウェイキャッシュメモリを構成している。
CM 1 and CM 2 in FIGS. 10 to 13 form a dual port 2-way cache memory.

〔発明の効果〕〔The invention's effect〕

リプレイス中であっても,ヒット/ミス・ヒットの判定
を行うことができ,かつ,ヒット時は,CPUがデータを取
り込むことができ,さらに,リプレイス中のデータとの
ヒット/ミス・ヒットをも判定し,かつ,ヒットした場
合も同様にCPUがデータ取り込むことができるため,キ
ャッシュ・ミス・ヒットに続くサイクル・タイムの期待
値を減少させることができる。これによって,CPUの待機
時間が少なくなり,システム性能を向上させることが可
能となる。
Even during replacement, it is possible to judge hit / miss / hit, and at the time of hit, the CPU can take in data, and also hit / miss hit with the data during replacement. Even if it is determined and a hit occurs, the CPU can similarly take in data, so the expected cycle time value following a cache miss hit can be reduced. This will reduce the CPU standby time and improve system performance.

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

第1図は本発明の原理構成図,第2図は本発明の第1実
施例の構成図,第3図は本発明の第1実施例のタイミン
グ図,第4図は本発明の第2実施例の構成図,第5図は
本発明の第3実施例の構成図,第6図および第7図は本
発明の第4実施例のデータフロー図およびアドレスフロ
ー図,第8図および第9図は本発明の第5実施例のデー
タフロー図およびアドレスフロー図,第10図および第11
図は本発明の第6実施例のデータフロー図およびアドレ
スフロー図,第12図および第13図は本発明の第7実施例
のデータフロー図およびアドレスフロー図である。 第1図中 1:CPU 2:メインメモリ 3:キャッシュメモリ 4:キャッシュメモリコントローラ 5:基本アクセス機能 6:第1フェッチ・バイパス機能 7:リプレイス中アクセス機能 8:第2フェッチ・バイパス機能
1 is a block diagram of the principle of the present invention, FIG. 2 is a block diagram of the first embodiment of the present invention, FIG. 3 is a timing diagram of the first embodiment of the present invention, and FIG. 4 is a second diagram of the present invention. FIG. 5 is a configuration diagram of an embodiment, FIG. 5 is a configuration diagram of a third embodiment of the present invention, and FIGS. 6 and 7 are data flow diagrams and address flow diagrams of a fourth embodiment of the present invention, FIG. 8 and FIG. FIG. 9 is a data flow diagram and address flow diagram of the fifth embodiment of the present invention, and FIGS.
FIG. 12 is a data flow diagram and address flow diagram of the sixth embodiment of the present invention, and FIGS. 12 and 13 are data flow diagram and address flow diagram of the seventh embodiment of the present invention. Figure 1: 1: CPU 2: Main memory 3: Cache memory 4: Cache memory controller 5: Basic access function 6: First fetch / bypass function 7: Access during replacement 8: Second fetch / bypass function

フロントページの続き (72)発明者 花手 知寿 神奈川県大和市深見西4丁目2番49号 株 式会社ピーエフユー内大和工場内 (72)発明者 大久保 隆幸 神奈川県大和市深見西4丁目2番49号 株 式会社ピーエフユー内大和工場内 (56)参考文献 特開 昭59−177782(JP,A) 特開 昭64−29953(JP,A) 特開 昭61−118855(JP,A)Front page continuation (72) Inventor Chisato Hanate 4-2-49, Fukaminishi, Yamato-shi, Kanagawa Prefecture Yamato Plant, PFU Co., Ltd. (72) Takayuki Okubo 4-49, Fukaminishi, Yamato-shi, Kanagawa No. Stock Company PFU Uchi Yamato Factory (56) Reference JP-A-59-177782 (JP, A) JP-A-64-29953 (JP, A) JP-A-61-118855 (JP, A)

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】ブロック単位で,データのリプレイスを行
う2ウェイ以上のセット・アソシアティブ方式のキャッ
シュメモリシステムにおいて, ブロックリプレイス中にCPUから続いて与えられるフェ
ッチアドレスについては,ブロックリプレイス中のウェ
イを除く残りのウェイでキャッシュリードのヒット/ミ
スヒットを判定し,ヒットしたときは該当するデータを
CPUに対して出力することを特徴とするキャッシュメモ
リシステム。
1. In a set-associative cache memory system of two-way or more, which replaces data in block units, fetch addresses subsequently given from the CPU during block replacement exclude ways during block replacement. The cache read hit / miss hit is judged in the remaining ways, and when hit, the corresponding data is
A cache memory system that outputs to a CPU.
【請求項2】ブロック単位でデータのリプレイスを行う
とともにフェッチバイパスを行う機能をそなえているキ
ャッシュメモリシステムにおいて, ブロックリプレイス中のフェッチバイパスを行った後の
CPUサイクルでCPUから続いて与えられるフェッチアドレ
スと,メインメモリからブロック転送中のリプレイスデ
ータの各アドレスとを比較し,アドレスが一致した場
合,該当するリプレイスデータをキャッシュメモリへ転
送するのと同時にCPUへも出力することを特徴とするキ
ャッシュメモリシステム。
2. A cache memory system having a function of replacing data in units of blocks and performing fetch bypass, after fetch bypass during block replacement is performed.
The fetch address given subsequently by the CPU in the CPU cycle is compared with each address of the replace data being block transferred from the main memory. If the addresses match, the corresponding replace data is transferred to the cache memory and at the same time the CPU A cache memory system that is also output to.
【請求項3】ブロック単位でデータのリプレイスを行う
キャッシュメモリシステムにおいて、ブロックリプレイ
ス中にフェッチバイパス後のCPUサイクルでCPUから続い
て与えられるフェッチアドレスについてもキャッシュメ
モリをアクセスし,ヒットしたときはキャッシュメモリ
中の対応するデータをCPUへ出力し,また上記CPUからの
フェッチアドレスと,メインメモリからブロック転送中
のリプレイスデータの各アドレスとを比較し,アドレス
の一致が得られた場合には,該当するリプレイスデータ
をキャッシュメモリへ転送するのと同時にCPUへも出力
することを特徴とするキャッシュメモリシステム。
3. In a cache memory system for replacing data in block units, the cache memory is also accessed for a fetch address continuously given from the CPU in a CPU cycle after fetch bypass during block replacement, and when a hit occurs, the cache is cached. The corresponding data in the memory is output to the CPU, and the fetch address from the CPU is compared with each address of the replace data in the block transfer from the main memory. The cache memory system is characterized in that the replacement data is transferred to the cache memory and is simultaneously output to the CPU.
【請求項4】請求項3において,ブロック単位でデータ
のリプレイスを行うキャッシュメモリシステムは2ウェ
イ以上のセット・アソシアティブ方式のキャッシュメモ
リシステムであることを特徴とするキャッシュメモリシ
ステム。
4. The cache memory system according to claim 3, wherein the cache memory system that replaces data in block units is a set associative cache memory system of two or more ways.
JP1101110A 1989-04-20 1989-04-20 Cache memory system Expired - Lifetime JPH0711791B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1101110A JPH0711791B2 (en) 1989-04-20 1989-04-20 Cache memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1101110A JPH0711791B2 (en) 1989-04-20 1989-04-20 Cache memory system

Publications (2)

Publication Number Publication Date
JPH02278445A JPH02278445A (en) 1990-11-14
JPH0711791B2 true JPH0711791B2 (en) 1995-02-08

Family

ID=14291935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1101110A Expired - Lifetime JPH0711791B2 (en) 1989-04-20 1989-04-20 Cache memory system

Country Status (1)

Country Link
JP (1) JPH0711791B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59177782A (en) * 1983-03-25 1984-10-08 Nec Corp Buffer memory controlling system
JPS61118855A (en) * 1984-11-15 1986-06-06 Fujitsu Ltd Buffer memory control system
JPS62269247A (en) * 1986-05-16 1987-11-21 Matsushita Electric Ind Co Ltd cache memory device
JPS6429953A (en) * 1987-07-25 1989-01-31 Fujitsu Ltd Controller for buffer move-in of buffer storage system

Also Published As

Publication number Publication date
JPH02278445A (en) 1990-11-14

Similar Documents

Publication Publication Date Title
JP5417879B2 (en) Cache device
US5623627A (en) Computer memory architecture including a replacement cache
US5826052A (en) Method and apparatus for concurrent access to multiple physical caches
JP2554449B2 (en) Data processing system having cache memory
JP3516963B2 (en) Memory access control device
US20050086435A1 (en) Cache memory controlling apparatus, information processing apparatus and method for control of cache memory
US7877537B2 (en) Configurable cache for a microprocessor
JPH09212423A (en) Microprocessor/architecture with double-purpose cache tag array
EP2095243A2 (en) Configurable cache for a microprocessor
JP3841810B2 (en) Data processor
US6718439B1 (en) Cache memory and method of operation
EP2095242A1 (en) Configurable cache for a microprocessor
JPH10232830A (en) Distributed tag cache memory system and method for storing data in the same
KR100710922B1 (en) Cache Management Method
WO2006112111A1 (en) Cache memory system, and control method therefor
US20070016729A1 (en) Cache organization for power optimized memory access
US20060047912A1 (en) System and method for high performance, power efficient store buffer forwarding
JP2008545199A (en) Preventing access to multiple conversion lookaside buffers for the same page in memory
US8700859B2 (en) Transfer request block cache system and method
EP0173893B1 (en) Computing system and method providing working set prefetch for level two caches
JPH0711791B2 (en) Cache memory system
JP4374956B2 (en) Cache memory control device and cache memory control method
JP2004240616A (en) Memory controller and memory access control method
JP3469042B2 (en) Cache memory
JPH02301843A (en) Pre-fetch controlling system