JPH06149673A - Cache control system - Google Patents

Cache control system

Info

Publication number
JPH06149673A
JPH06149673A JP4302213A JP30221392A JPH06149673A JP H06149673 A JPH06149673 A JP H06149673A JP 4302213 A JP4302213 A JP 4302213A JP 30221392 A JP30221392 A JP 30221392A JP H06149673 A JPH06149673 A JP H06149673A
Authority
JP
Japan
Prior art keywords
cache
access
block
processor
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.)
Pending
Application number
JP4302213A
Other languages
Japanese (ja)
Inventor
Kazuki Jo
和貴 城
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.)
Kubota Corp
Original Assignee
Kubota 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 Kubota Corp filed Critical Kubota Corp
Priority to JP4302213A priority Critical patent/JPH06149673A/en
Publication of JPH06149673A publication Critical patent/JPH06149673A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To suppress waiting for the end of replacing processing due to a preceding cache mishit and the drop of cache efficiency due to slashing. CONSTITUTION:A cache memory CM consists of a directory part CM2, a data part CM3 for reading out and storing a part of data from a main memory MM and a cache control part CM1 for controlling data reading or the like to/from the memory MM in accordance with accesses from plural processors P and the control part CM1 is constituted of a data control part for transmitting/receiving a block to/from its corresponding processor P when address information obtained from the processor through the 1st network B1 is a cache hit and a replacing processing part for replacing the block to the memory MM through the 2nd network B2 at the time of generating a cache mishit. Thereby even when a preceding access generates a mishit, the continuous execution of the succeeding access is permitted.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、プロセッサとネットワ
ークで接続されたメインメモリとの間に、前記プロセッ
サからアクセスされ前記メインメモリの記憶内容の一部
を記憶するキャッシュメモリを設けた計算機であって、
前記キャッシュメモリへの先行するアクセスに対するキ
ャッシュ・ミスヒット処理が後続のアクセスをブロック
しないバイパス手段を設けてあるキャッシュ制御方式に
関するもので、例えば、パイプライン処理やマルチスレ
ット処理用のシングルプロセッサシステム、或いはキャ
ッシュメモリを共用するマルチプロセッサシステムに好
適なキャッシュ制御方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention is a computer provided with a cache memory, which is accessed from the processor and stores a part of the stored contents of the main memory, between the processor and the main memory connected by a network. hand,
The present invention relates to a cache control method in which a cache miss hit process for a preceding access to the cache memory is provided with a bypass means that does not block a subsequent access. For example, a single processor system for pipeline processing or multi-threat processing, or The present invention relates to a cache control method suitable for a multiprocessor system sharing a cache memory.

【0002】[0002]

【従来の技術】従来より計算機においてキャッシュメモ
リを利用する場合には、プロセッサからの先行するメモ
リ・アクセスがキャッシュ・ミスヒットを起こし、当該
ミスヒットに伴うメインメモリとキャッシュメモリ間の
ブロックリプレース処理を行っている最中に、後続のメ
モリ・アクセスを受理しない所謂ブロッキング・キャッ
シュ方式を採用しているが、先行するメモリ・アクセス
の終了を待たずに次のメモリ・アクセスを発行可能なプ
ロセッサ(例えば、パイプライン処理やマルチスレット
処理用のプロセッサが該当する)、或いはプロセッサに
よる明示的なキャッシュ操作(キャッシュ・コントロー
ラが予め複数のアクセス情報を受理するようなものが該
当する)が可能なキャッシュに対しては、先行するアク
セス或いはキャッシュ操作に伴うアクセスがキャッシュ
・ミスヒットを起こしても、プロセッサに引き続き次の
アクセスを実行することを許可する所謂ノンブロッキン
グ・キャッシュ方式を採用することが可能であり、シス
テムのスループット向上のためにも好ましい。
2. Description of the Related Art Conventionally, when a cache memory is used in a computer, a preceding memory access from a processor causes a cache mishit, and a block replacement process between the main memory and the cache memory due to the mishit occurs. A so-called blocking cache method that does not accept the subsequent memory access is adopted during the process, but a processor that can issue the next memory access without waiting for the end of the preceding memory access (for example, , A processor for pipeline processing or multi-threat processing), or a cache that can be explicitly cached by the processor (such as a cache controller that accepts multiple access information in advance). Prior access or capture It is possible to adopt a so-called non-blocking cache method that allows the processor to continue executing the next access even if the access accompanying the cache operation causes a cache miss hit. preferable.

【0003】ところで、従来、ブロックリプレース処理
(リプレースメント)方式としては、最も古くに使用さ
れたブロックから追い出すLRU(least−rec
ently−used)方式が多く採用されており、こ
の他に最も最初に格納されたブロックから追い出すFI
FO方式が採用されているものもある。
By the way, conventionally, as a block replacement processing (replacement) method, an LRU (least-rec) is used to expel the oldest used block.
ENTLY-USED) method is often adopted, and in addition to this, the FI for expelling from the block stored first
Some of them use the FO method.

【0004】[0004]

【発明が解決しようとする課題】しかし、上述した従来
のブロックリプレース処理方式を用いたノンブロッキン
グ・キャッシュ方式を採用する場合には、キャッシュ・
ミスヒットを起こしたアクセスに対応するブロックをキ
ャッシュ内にアロケートするためのキャッシュ・エント
リの競合問題を解決する必要がある。
However, when the non-blocking cache method using the above-described conventional block replacement processing method is adopted, the cache
There is a need to resolve the cache entry contention problem for allocating blocks in the cache that correspond to missed accesses.

【0005】従来のデータ更新処理方式を用いた場合に
は、上述のリプレース処理アルゴリズムに従ってあるブ
ロックがリプレースされることになるが、同一セットア
ドレスを持つ異なるブロックに対して連続してキャッシ
ュ・ミスヒットが発生すると、未だデータフェッチが完
了していない、従って、リプレース処理が完了せず当該
アクセスに対するサービスが完了していないブロックが
リプレースの対象となってしまうような状況が起こりう
るという問題点があった。そして、この問題点を全てハ
ードウェアで解決するには、複雑で膨大な制御回路が必
要となり経済性に欠けたものとなるという問題点もあっ
た。
When the conventional data update processing method is used, a certain block is replaced according to the above-mentioned replacement processing algorithm, but cache miss hits are successively made to different blocks having the same set address. When the error occurs, there is a problem in that the data fetch is not yet completed, and therefore, the situation may occur in which the block for which the replacement process is not completed and the service for the access is not completed becomes the replacement target. It was In order to solve all of these problems with hardware, a complicated and huge control circuit is needed, which is not economical.

【0006】一方、並列計算機にノンブロッキング・キ
ャッシュ方式を採用してミスヒット処理の並列実行を行
う場合には、その並列度数が大きくなると、複数のミス
ヒット処理を並列に実行する際のミスヒット処理完了の
順番と、当該ミスヒット処理が開始された順番とがネッ
トワーク処理時間等の都合により必ずしも一致しないた
め、LRU方式やFIFO方式のような履歴情報を利用
する更新処理アルゴリズムではキャッシュに対するスラ
ッシングを引き起こし、システム全体としての性能を十
分に発揮することができないという問題点もあった。例
えば、図5に示すように、3台のプロセッサ(P0,P
1,P2)と、ウェイ数が2(W0,W1)のキャッシ
ュメモリを用いたシステムにおいて、プロセッサP0が
同一ブロック内のアドレスA0,A1,A2をアクセス
し、プロセッサP1が上述のアドレスA0,A1,A2
を含むブロックとは異なる同一ブロックのアドレスB
0,B1,B2をアクセスし、プロセッサP2が上述の
アドレスA0,A1,A2を含むブロックとアドレスB
0,B1,B2を含むブロック以外の同一ブロックのア
ドレスC0,C1,C2をアクセスする場合を考察す
る。この場合、異なるブロック数が3に対してウェイ数
が2であるために、アクセスの要求時点をQ、リプレー
ス処理完了時点をAと表し、(12,10,7,13,
11,14,8)の順に生じたアクセス要求Qに対し
て、それぞれの更新処理完了Aの直後に他のリプレース
処理(25,16,27,18,20,29,31)が
行われることとなりスラッシングが発生することにな
る。
On the other hand, when a non-blocking cache system is adopted in a parallel computer to perform the mishit processing in parallel, if the degree of parallelism becomes large, the mishit processing in executing a plurality of mishit processings in parallel. Since the order of completion and the order in which the mishit processing is started do not always match due to the network processing time and the like, update processing algorithms that use history information such as the LRU method and the FIFO method cause thrashing to the cache. However, there is also a problem that the performance of the entire system cannot be fully exhibited. For example, as shown in FIG. 5, three processors (P0, P
1, P2) and a cache memory with two ways (W0, W1), the processor P0 accesses addresses A0, A1, A2 in the same block, and the processor P1 accesses the above addresses A0, A1. , A2
Address B of the same block different from the block containing
0, B1, B2 are accessed, and the processor P2 includes the block including the addresses A0, A1, A2 and the address B.
Consider the case of accessing addresses C0, C1, C2 of the same block other than the block containing 0, B1, B2. In this case, since the number of different blocks is 3 and the number of ways is 2, the access request time is represented by Q, and the replacement process completion time is represented by A, (12, 10, 7, 13,
11, 14, 8), the other replacement process (25, 16, 27, 18, 20, 29, 31) is performed immediately after each update process completion A. Thrashing will occur.

【0007】本発明の目的は、ノンブロッキング・キャ
ッシュ方式を用いながら、先行するキャッシュ・ミスヒ
ットに伴うデータブロックのリプレース処理を行ってい
るブロックが、当該リプレース処理が完了するまで新た
にリプレース処理がなされることなく、さらにはスラッ
シングによるキャッシュの効率低下を抑えることのでき
る、経済性に優れたキャッシュ制御方式を提供する点に
ある。
An object of the present invention is to use a non-blocking cache method and to replace a block which is performing a data block replacement process associated with a preceding cache mishit, until the replacement process is completed. The present invention is to provide a highly economical cache control method that can suppress the cache efficiency decrease due to thrashing without using the cache control method.

【0008】[0008]

【課題を解決するための手段】この目的を達成するため
本発明によるキャッシュ制御方式の第一の特徴構成は、
バイパス手段を、前記後続のアクセスがキャッシュ・ヒ
ットした場合に、キャッシュ・エントリ毎に設定されデ
ータブロックリプレース処理の完了或いは未完了を示す
状態フラグの値に基づいて、前記データブロックリプレ
ース処理の完了と判断したときに当該アクセスに対する
サービスの実行を許可するように構成してある点にあ
る。上述の構成において、前記バイパス手段を、前記後
続のアクセスがキャッシュ・ミスヒットした場合、前記
状態フラグの値に基づいて、同一セット内の全ウェイで
前記データブロックリプレース処理が未完了と判断され
たときに当該アクセスを中断させるように構成してある
ことが好ましい。
In order to achieve this object, the first characteristic configuration of the cache control system according to the present invention is as follows.
When the subsequent access causes a cache hit, the bypass means determines that the data block replacement process is completed based on the value of the status flag that is set for each cache entry and indicates the completion or incompletion of the data block replacement process. It is configured to permit the execution of the service for the access when the determination is made. In the above-mentioned configuration, when the subsequent access to the bypass means causes a cache miss, it is determined that the data block replacement process is not completed in all ways in the same set based on the value of the status flag. It is preferable that the access be interrupted at times.

【0009】[0009]

【作用】第一の特徴構成によれば、キャッシュ・エント
リ毎に設定されたブロックリプレース処理の完了或いは
未完了を示す状態フラグを、例えば、キャッシュメモリ
のディレクトリ部に設定して、後続のアクセスがキャッ
シュ・ヒットした場合に、バイパス手段がその状態フラ
グに基づいて先行のアクセスに対応するブロックリプレ
ース処理が完了したか否かを判別して、ブロックリプレ
ース処理が完了した場合にプロセッサからのアクセスに
対応することにより、先行のアクセスに対応するブロッ
クリプレース処理中に後続のアクセスにより再リプレー
スされることを回避するのである。さらに、後続のアク
セスがキャッシュ・ミスヒットした場合に、前記状態フ
ラグの値に基づいて、同一セット内の全ウェイで複数の
先行するアクセスに対応するブロックリプレース処理が
未完了と判断されたときに当該アクセスを中断させるこ
とにより頻繁なブロックリプレース処理、即ち、スラッ
シングの発生を回避するのである。この場合、アクセス
が中断されたプロセッサは、例えば、一定時間キャッシ
ュへのアクセスを停止する等の処理を行うことによりス
ラッシングの発生を回避しながら自己の処理を継続する
ことになる。
According to the first characteristic configuration, a status flag indicating completion or incompletion of the block replacement process set for each cache entry is set in, for example, the directory portion of the cache memory, and subsequent access is prevented. When there is a cache hit, the bypass means determines whether or not the block replacement processing corresponding to the preceding access is completed based on the status flag, and when the block replacement processing is completed, the access from the processor is handled. By doing so, it is possible to avoid the replacement by the subsequent access during the block replacement processing corresponding to the preceding access. Furthermore, when a subsequent access causes a cache miss, when it is determined that the block replacement process corresponding to a plurality of preceding accesses in all ways in the same set is incomplete based on the value of the status flag. By interrupting the access, frequent block replacement processing, that is, occurrence of thrashing is avoided. In this case, the processor whose access has been suspended continues its processing while avoiding the occurrence of thrashing by performing processing such as stopping access to the cache for a certain period of time.

【0010】[0010]

【発明の効果】本発明によれば、キャッシュ・ミスヒッ
トに伴うブロックリプレース処理に際して、リプレース
処理の候補となるキャッシュ・エントリが、当該候補決
定時において、先行する更新処理のために確保されてい
るエントリではないことが保証され、これにより、ブロ
ックリプレース処理の制御回路が簡素化できるととも
に、スラッシングによるキャッシュの効率低下を防ぐこ
とができるので、システム全体のスループットを向上さ
せることができるキャッシュ制御方式を提供できるよう
になった。
As described above, according to the present invention, in the block replacement process associated with a cache mishit, a cache entry that is a candidate for the replacement process is reserved for the preceding update process when the candidate is determined. It is guaranteed that it is not an entry, which simplifies the control circuit of the block replacement process and prevents the cache efficiency from degrading due to thrashing. Therefore, a cache control method that can improve the throughput of the entire system is provided. It is now available.

【0011】[0011]

【実施例】以下に実施例を説明する。図3に示すよう
に、複数のプロセッサP0,P1,P2に第一のネット
ワークB1を介して接続された共用のキャッシュメモリ
CMを設けて、それらキャッシュメモリCMを第二のネ
ットワークB2を介してメインメモリMMに接続して計
算機Cを構成してある。
EXAMPLES Examples will be described below. As shown in FIG. 3, a shared cache memory CM connected to the plurality of processors P0, P1, P2 via the first network B1 is provided, and these cache memories CM are connected to the main via the second network B2. A computer C is configured by being connected to the memory MM.

【0012】前記キャッシュメモリCMは、ディレクト
リ部CM2と、前記メインメモリMMからデータの一部
を読み出して格納するデータ部CM3、及び、前記複数
のプロセッサPからのアクセスに対応して前記メインメ
モリMMとの間でデータの読み書き等の制御を行うキャ
ッシュ制御部CM1とからなり、2ウェイのセット・ア
ソシアティブ方式のキャッシュメモリを構成してある。
The cache memory CM has a directory section CM2, a data section CM3 for reading and storing a part of data from the main memory MM, and the main memory MM corresponding to accesses from the plurality of processors P. And a cache control unit CM1 that controls reading and writing of data between the two and the like, and constitutes a 2-way set-associative cache memory.

【0013】前記ディレクトリ部CM2は、セット数及
びウェイ数に応じた容量を備えてあり、図2に示すよう
に、各単位はメインメモリMM上で対応するデータの位
置を表すアドレスタグ部CM21、即ちブロックアドレ
スと、当該ウェイがアドレスタグで示されるブロックと
してアロケートされているか否か、即ちデータの有効或
いは無効を表す有効ビットVと、当該ブロックのリプレ
ース処理が完了したか否かを表す状態ビットBを含み、
当該ウェイにアロケートされたブロックの属性を示す属
性部CM20とで構成してある。ここに、有効ビットV
は、前記メインメモリMMから伝送されるデータの整合
性が保てなくなった旨の制御信号によりリセットされ、
リプレース処理の対象としてブロックが割り当てられた
時、即ち、リプレース処理の開始時にセットされるフラ
グであり、状態ビットBは、リプレース処理の開始によ
りセットされ終了によりリセットされるフラグである。
The directory unit CM2 has a capacity corresponding to the number of sets and the number of ways, and as shown in FIG. 2, each unit is an address tag unit CM21 that represents the position of corresponding data on the main memory MM. That is, a block address, whether the way is allocated as a block indicated by an address tag, that is, a valid bit V that indicates whether data is valid or invalid, and a status bit that indicates whether the replacement process of the block is completed. Including B,
The attribute section CM20 indicates the attribute of the block allocated to the way. Here, the effective bit V
Is reset by a control signal indicating that the consistency of the data transmitted from the main memory MM cannot be maintained,
The status bit B is a flag that is set when a block is allocated as a target of the replacement process, that is, when the replacement process starts, and the status bit B is a flag that is set when the replacement process starts and reset when the replacement process ends.

【0014】前記キャッシュ制御部CM1は、第一のネ
ットワークB1を介して得られたアドレス情報と前記ア
ドレスタグ部Tのブロックアドレスとを比較する比較部
と、比較部によりアドレスが一致すると判別され、且
つ、前記有効ビットVがセットされている場合(以下、
「キャッシュ・ヒット」と記す)にそのプロセッサPと
の間で該当ブロックの授受を行うデータ転送制御部、比
較部により不一致と判別され、或いは、前記有効ビット
Vがリセットされている場合(以下、「キャッシュ・ミ
スヒット」と記す)に前記第二のネットワークB2を介
して前記メインメモリMMに対してブロックのリプレー
ス処理を行うリプレース処理部と、それらの動作を制御
する論理回路等で構成してあり、プロセッサPからの先
行するアクセスがキャッシュ・ミスヒットを起こして
も、引き続き次のアクセスを実行することを許可する所
謂ノンブロッキング・キャッシュ方式を採用する。
The cache control unit CM1 compares the address information obtained via the first network B1 with the block address of the address tag unit T, and the comparison unit determines that the addresses match. If the valid bit V is set (hereinafter,
In the case where the data transfer control unit and the comparison unit that exchanges the relevant block with the processor P determine that they do not coincide with each other (referred to as “cache hit”) or the valid bit V is reset (hereinafter, referred to as “cache hit”). (Hereinafter referred to as "cache miss hit"), a replacement processing unit that performs a block replacement process on the main memory MM via the second network B2, and a logic circuit that controls the operations thereof. Even if the preceding access from the processor P causes a cache miss, a so-called non-blocking cache method is adopted which permits the subsequent access to be executed continuously.

【0015】詳述すると、後続のアクセスがキャッシュ
・ヒットした場合に、当該ブロックの状態ビットBがリ
セットされていると通常のサービス、即ち、そのプロセ
ッサPとの間で該当データの授受を行い、状態ビットB
がセットされているリプレース処理中には当該アクセス
に対する処理を保留して、状態ビットBがリセットされ
た後に通常のサービス、即ち、そのプロセッサPとの間
で該当データの授受を行う。さらに、後続のアクセスが
キャッシュ・ミスヒットした場合に、同一セット内に状
態ビットBがリセットされているウェイあれば、そのウ
ェイに対して通常のサービス、即ち、前記メインメモリ
MMに対してブロックのリプレース処理を行い、同一セ
ット内の全てのウェイの状態ビットBがセットされてい
れば、そのプロセッサPに前記第一のネットワークを介
して全ウェイがビジーである旨を通知して当該アクセス
を中断させる。つまり、キャッシュ・ミスヒットしたと
きに各ウェイの有効ビットV及び状態ビットBの組み合
わせで生じる7状態について、図1に示すように、デー
タ更新の対象となるウェイが適宜選択される。例えば、
状態1ではいずれのウェイが選択されてもよく、状態4
ではLRU方式によりウェイが選択される。尚、図中
「−」はON,OFFいずれであってもよいことを示
す。有効ビットVがともにセットされている状態5、状
態6では状態ビットBのリセットされているウェイが選
択され、有効ビットV及び状態ビットBがともにセット
されている状態7ではいずれのウェイも選択されること
はない。
More specifically, when the subsequent access causes a cache hit and the status bit B of the block is reset, normal service is performed, that is, the corresponding data is exchanged with the processor P, Status bit B
During the replacement process in which is set, the process for the access is suspended, and after the status bit B is reset, the normal service, that is, the exchange of the corresponding data with the processor P is performed. Further, if a way in which the status bit B is reset in the same set when a subsequent access causes a cache miss hit, normal service is provided for the way, that is, a block is provided for the main memory MM. When the replacement process is performed and the status bits B of all the ways in the same set are set, the processor P is notified that all the ways are busy via the first network and the access is interrupted. Let In other words, for the 7 states that occur due to the combination of the valid bit V and the state bit B of each way when a cache miss hit occurs, the way for which data is to be updated is appropriately selected as shown in FIG. For example,
Any of the ways may be selected in the state 1, and the state 4
Then, the way is selected by the LRU method. Incidentally, "-" in the figure indicates that it may be ON or OFF. In states 5 and 6 in which both the valid bit V is set, the way in which the state bit B is reset is selected, and in state 7 in which both the valid bit V and the state bit B are set, both ways are selected. There is no such thing.

【0016】ウェイW0,W1で構成されるキャッシュ
メモリCMにおいて、例えば、プロセッサP0が同一ブ
ロックBLA内のアドレスA0,A1,A2をアクセス
し、プロセッサP1が上述のブロックAとは異なる同一
ブロックBLB内のアドレスB0,B1,B2をアクセ
スし、プロセッサP2が上述のブロックBLAとブロッ
クBLB以外の同一ブロックBLC内のアドレスC0,
C1,C2をアクセスする場合(異なるブロック数が3
に対してウェイ数が2である)について説明すると、図
4に示すように、アクセスの要求時点をQ、リプレース
を含むアクセス要求完了時点をAと表し、(6,9,1
2)の順に生じたアクセス要求Qに対して、いずれもキ
ャッシュ・ミスヒットとなった場合には、先ずウェイW
0にアクセス要求Q(6)に対するリプレース処理を開
始し(このとき、当該アドレスタグ部Tの有効ビットV
及び状態ビットBがセットされる)、そのリプレース処
理中に生じたアクセス要求Q(6)に対してウェイW1
にリプレース処理を開始する(このとき、上述と同様に
当該アドレスタグ部Tの有効ビットV及び状態ビットB
がセットされる)。両ウェイW0,W1にリプレース処
理がなされている間に新たなアクセス要求Q(12)が
生じると、当該アクセス要求Q(12)を発したプロセ
ッサP2に対して全ウェイに関して状態ビットBがセッ
トされている旨を通知して当該アクセスを中断させる。
アクセスが中断されたプロセッサP2は、所定の時間
(特に限定するものではなく適宜設定できる)キャッシ
ュメモリCMへのアクセスを行わずに内部処理をしなが
ら待機することによりスラッシングの発生を回避した後
に再度アクセス要求Q(13)を発する。
In the cache memory CM constituted by the ways W0 and W1, for example, the processor P0 accesses addresses A0, A1 and A2 in the same block BLA, and the processor P1 is in the same block BLB different from the above block A. B0, B1, B2 of the block BLA, the processor P2 accesses the addresses C0,
When accessing C1 and C2 (the number of different blocks is 3
The number of ways is 2), as shown in FIG. 4, the access request time is represented by Q, the access request completion time including replacement is represented by A, and (6, 9, 1
When a cache miss hit occurs for each of the access requests Q generated in the order of 2), first the way W
0, the replacement process for the access request Q (6) is started (at this time, the valid bit V of the address tag portion T concerned).
And the status bit B is set), and the way W1 is issued to the access request Q (6) generated during the replacement process.
The replacement process is started at this time (at this time, the valid bit V and the status bit B of the address tag portion T are similar to those described above.
Is set). When a new access request Q (12) is generated while the replacement processing is being performed on both ways W0 and W1, the status bit B is set for all the ways to the processor P2 which issued the access request Q (12). Is notified and the access is suspended.
The processor P2 whose access has been interrupted avoids thrashing by waiting while performing internal processing without accessing the cache memory CM for a predetermined time (which is not particularly limited and can be set as appropriate), and then again. The access request Q (13) is issued.

【0017】即ち、有効ビットVと状態ビットB、及
び、キャッシュ制御部CCが、前記後続のアクセスがキ
ャッシュ・ヒットした場合に、キャッシュ・エントリ毎
に設定されるリプレース処理の完了或いは未完了を示す
状態フラグの値に基づいて、前記リプレース処理の完了
と判断したときに当該アクセスに対するサービスの実行
を許可し、後続のアクセスがキャッシュ・ミスヒットし
た場合、前記状態フラグの値に基づいて、同一セット内
の全ウェイで前記リプレース処理が未完了と判断された
ときに当該アクセスを中断させるバイパス手段となる。
That is, the valid bit V, the status bit B, and the cache control unit CC indicate the completion or non-completion of the replacement process set for each cache entry when the subsequent access causes a cache hit. When it is determined that the replacement processing is completed based on the value of the status flag, the execution of the service for the access is permitted, and when a subsequent access causes a cache miss, the same set is set based on the value of the status flag. It becomes a bypass means for interrupting the access when the replacement process is judged to be incomplete in all the ways.

【0018】以下に別実施例を説明する。上述の実施例
で説明したバイパス手段は、先行するメモリ・アクセス
の終了を待たずに次のメモリ・アクセスを発行可能なプ
ロセッサ(例えば、パイプライン処理やマルチスレット
処理用のプロセッサが該当する)、或いはプロセッサに
よる明示的なキャッシュ操作(キャッシュ・コントロー
ラが予め複数のアクセス情報を受理するようなものが該
当する)が可能なキャッシュ、さらには並列計算機に適
宜用いることができる。
Another embodiment will be described below. The bypass means described in the above embodiment is a processor that can issue the next memory access without waiting for the end of the preceding memory access (for example, a processor for pipeline processing or multi-threat processing is applicable), Alternatively, it can be appropriately used for a cache in which an explicit cache operation by a processor (corresponding to one in which a cache controller accepts a plurality of access information in advance corresponds), and further for a parallel computer.

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

【図1】有効ビットVと状態ビットBの値に基づくリプ
レース許否状態の説明図
FIG. 1 is an explanatory diagram of a replacement permission / prohibition state based on values of a valid bit V and a state bit B.

【図2】タグアレイ部の構成図FIG. 2 is a block diagram of a tag array section.

【図3】要部のブロック構成図FIG. 3 is a block configuration diagram of a main part.

【図4】プロセッサからのアクセスのタイミングチャー
FIG. 4 is a timing chart of access from a processor.

【図5】従来例を示すプロセッサからのアクセスのタイ
ミングチャート
FIG. 5 is a timing chart of access from a processor showing a conventional example.

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

CM キャッシュメモリ MM メインメモリ P0,P1,P2 プロセッサ CM cache memory MM main memory P0, P1, P2 processor

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 プロセッサとネットワークで接続された
メインメモリとの間に、前記プロセッサからアクセスさ
れ前記メインメモリの記憶内容の一部を記憶するキャッ
シュメモリを設けた計算機であって、前記キャッシュメ
モリへの先行するアクセスに対するキャッシュ・ミスヒ
ット処理が後続のアクセスをブロックしないバイパス手
段を設けてあるキャッシュ制御方式において、 前記バイパス手段を、前記後続のアクセスがキャッシュ
・ヒットした場合に、キャッシュ・エントリ毎に設定さ
れるブロックリプレース処理の完了或いは未完了を示す
状態フラグの値に基づいて、前記ブロックリプレース処
理の完了と判断したときに当該アクセスに対するサービ
スの実行を許可するように構成してあるキャッシュ制御
方式。
1. A computer having a cache memory, which is accessed from the processor and stores a part of the stored contents of the main memory, between the processor and the main memory connected via a network, the computer comprising: In the cache control method in which the cache mishit processing for the preceding access of (1) provides a bypass means that does not block the subsequent access, the bypass means is provided for each cache entry when the subsequent access causes a cache hit. A cache control method configured to permit execution of a service for the access when it is determined that the block replacement process is completed based on a value of a status flag indicating completion or incompletion of the block replacement process that is set. .
【請求項2】 前記バイパス手段を、前記後続のアクセ
スがキャッシュ・ミスヒットした場合、前記状態フラグ
の値に基づいて、同一セット内の全ウェイで前記データ
更新処理が未完了と判断されたときに当該アクセスを中
断させるように構成してある請求項1記載のキャッシュ
制御方式。
2. The bypass means, wherein when the subsequent access is a cache miss hit, it is determined that the data update processing is not completed in all ways in the same set based on the value of the status flag. 2. The cache control method according to claim 1, wherein the cache access method is configured to interrupt the access.
JP4302213A 1992-11-12 1992-11-12 Cache control system Pending JPH06149673A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4302213A JPH06149673A (en) 1992-11-12 1992-11-12 Cache control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4302213A JPH06149673A (en) 1992-11-12 1992-11-12 Cache control system

Publications (1)

Publication Number Publication Date
JPH06149673A true JPH06149673A (en) 1994-05-31

Family

ID=17906321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4302213A Pending JPH06149673A (en) 1992-11-12 1992-11-12 Cache control system

Country Status (1)

Country Link
JP (1) JPH06149673A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537912A (en) * 2006-05-17 2009-10-29 クゥアルコム・インコーポレイテッド Method and system for maximum resiliency exchange of cache memory
JP2010033480A (en) * 2008-07-31 2010-02-12 Sony Corp Cache memory and cache memory control apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537912A (en) * 2006-05-17 2009-10-29 クゥアルコム・インコーポレイテッド Method and system for maximum resiliency exchange of cache memory
JP2013030173A (en) * 2006-05-17 2013-02-07 Qualcomm Inc Method and system for maximum residency exchange of cache memory
JP2010033480A (en) * 2008-07-31 2010-02-12 Sony Corp Cache memory and cache memory control apparatus

Similar Documents

Publication Publication Date Title
JP3309425B2 (en) Cache control unit
EP0349122B1 (en) Method and apparatus for filtering invalidate requests
EP0598535A1 (en) Pending write-back controller for a cache controller coupled to a packet switched memory bus
JP2004246898A (en) Streaming data using locking cache
JPH09223118A (en) Snoop cache memory control system
US5214766A (en) Data prefetching based on store information in multi-processor caches
JP2005519391A (en) Method and system for cache coherence in a DSM multiprocessor system without increasing shared vectors
JP2005234854A (en) Multiprocessor system
EP1224553A1 (en) Multi-processor system and method of accessing data therein
US6480940B1 (en) Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module
JP2001249846A (en) Cache memory device and data processing system
JPH06149673A (en) Cache control system
JPH06309231A (en) Cache memory control method
JP2002024007A (en) Processor system
JPH0222757A (en) Multiprocessor memory system
JP3221409B2 (en) Cache control system, readout method therefor, and recording medium recording control program therefor
JPH02224161A (en) Fast data processor
JPH06149752A (en) Barrier synchronization system for parallel computer
JPH09146839A (en) Cache memory controller
JPH11212900A (en) System controller
KR0138585B1 (en) Shared memory multiprocessor using spilt transaction bus
EP0394642A2 (en) Data prefetching in caches
JPS61220047A (en) Memory control system
JPH01266643A (en) Cache control system
JPH0644136A (en) Memory controller