JPH06149673A - キャッシュ制御方式 - Google Patents
キャッシュ制御方式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
- replacement process
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped 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
(57)【要約】 (修正有)
【目的】 先行するキャッシュ・ミスヒットに伴うリプ
レース処理の終了を待つ事及び、スラッシングによるキ
ャッシュの効率低下を抑える。 【構成】キャシュメモリCMはディレクトリ部CM2、
メインメモリMMからデータの一部を読み出して格納す
るデータ部CM3及び複数のプロセッサPからのアクセ
スに対応してメインメモリMMとの間でデータの読み等
の制御をするキャッシュ制御部CM1とからなり、キャ
ッシュ制御部CM1は第一のネットワークB1を介して
得られたアドレス情報がキャッシュ・ヒットの場合はそ
のプロセッサPとの間で該当ブロックの授受を行うデー
タ転送制御部、キャッシュ・ミスヒットの場合は第二の
ネットワークB2を介してメインメモリMMに対してブ
ロックのリプレースを行うリプレース処理部等で構成し
て、先行するアクセスがキャッシュ・ミスヒットを起し
ても、引続き次のアクセスを実行することを許可する。
レース処理の終了を待つ事及び、スラッシングによるキ
ャッシュの効率低下を抑える。 【構成】キャシュメモリCMはディレクトリ部CM2、
メインメモリMMからデータの一部を読み出して格納す
るデータ部CM3及び複数のプロセッサPからのアクセ
スに対応してメインメモリMMとの間でデータの読み等
の制御をするキャッシュ制御部CM1とからなり、キャ
ッシュ制御部CM1は第一のネットワークB1を介して
得られたアドレス情報がキャッシュ・ヒットの場合はそ
のプロセッサPとの間で該当ブロックの授受を行うデー
タ転送制御部、キャッシュ・ミスヒットの場合は第二の
ネットワークB2を介してメインメモリMMに対してブ
ロックのリプレースを行うリプレース処理部等で構成し
て、先行するアクセスがキャッシュ・ミスヒットを起し
ても、引続き次のアクセスを実行することを許可する。
Description
【0001】
【産業上の利用分野】本発明は、プロセッサとネットワ
ークで接続されたメインメモリとの間に、前記プロセッ
サからアクセスされ前記メインメモリの記憶内容の一部
を記憶するキャッシュメモリを設けた計算機であって、
前記キャッシュメモリへの先行するアクセスに対するキ
ャッシュ・ミスヒット処理が後続のアクセスをブロック
しないバイパス手段を設けてあるキャッシュ制御方式に
関するもので、例えば、パイプライン処理やマルチスレ
ット処理用のシングルプロセッサシステム、或いはキャ
ッシュメモリを共用するマルチプロセッサシステムに好
適なキャッシュ制御方式に関する。
ークで接続されたメインメモリとの間に、前記プロセッ
サからアクセスされ前記メインメモリの記憶内容の一部
を記憶するキャッシュメモリを設けた計算機であって、
前記キャッシュメモリへの先行するアクセスに対するキ
ャッシュ・ミスヒット処理が後続のアクセスをブロック
しないバイパス手段を設けてあるキャッシュ制御方式に
関するもので、例えば、パイプライン処理やマルチスレ
ット処理用のシングルプロセッサシステム、或いはキャ
ッシュメモリを共用するマルチプロセッサシステムに好
適なキャッシュ制御方式に関する。
【0002】
【従来の技術】従来より計算機においてキャッシュメモ
リを利用する場合には、プロセッサからの先行するメモ
リ・アクセスがキャッシュ・ミスヒットを起こし、当該
ミスヒットに伴うメインメモリとキャッシュメモリ間の
ブロックリプレース処理を行っている最中に、後続のメ
モリ・アクセスを受理しない所謂ブロッキング・キャッ
シュ方式を採用しているが、先行するメモリ・アクセス
の終了を待たずに次のメモリ・アクセスを発行可能なプ
ロセッサ(例えば、パイプライン処理やマルチスレット
処理用のプロセッサが該当する)、或いはプロセッサに
よる明示的なキャッシュ操作(キャッシュ・コントロー
ラが予め複数のアクセス情報を受理するようなものが該
当する)が可能なキャッシュに対しては、先行するアク
セス或いはキャッシュ操作に伴うアクセスがキャッシュ
・ミスヒットを起こしても、プロセッサに引き続き次の
アクセスを実行することを許可する所謂ノンブロッキン
グ・キャッシュ方式を採用することが可能であり、シス
テムのスループット向上のためにも好ましい。
リを利用する場合には、プロセッサからの先行するメモ
リ・アクセスがキャッシュ・ミスヒットを起こし、当該
ミスヒットに伴うメインメモリとキャッシュメモリ間の
ブロックリプレース処理を行っている最中に、後続のメ
モリ・アクセスを受理しない所謂ブロッキング・キャッ
シュ方式を採用しているが、先行するメモリ・アクセス
の終了を待たずに次のメモリ・アクセスを発行可能なプ
ロセッサ(例えば、パイプライン処理やマルチスレット
処理用のプロセッサが該当する)、或いはプロセッサに
よる明示的なキャッシュ操作(キャッシュ・コントロー
ラが予め複数のアクセス情報を受理するようなものが該
当する)が可能なキャッシュに対しては、先行するアク
セス或いはキャッシュ操作に伴うアクセスがキャッシュ
・ミスヒットを起こしても、プロセッサに引き続き次の
アクセスを実行することを許可する所謂ノンブロッキン
グ・キャッシュ方式を採用することが可能であり、シス
テムのスループット向上のためにも好ましい。
【0003】ところで、従来、ブロックリプレース処理
(リプレースメント)方式としては、最も古くに使用さ
れたブロックから追い出すLRU(least−rec
ently−used)方式が多く採用されており、こ
の他に最も最初に格納されたブロックから追い出すFI
FO方式が採用されているものもある。
(リプレースメント)方式としては、最も古くに使用さ
れたブロックから追い出すLRU(least−rec
ently−used)方式が多く採用されており、こ
の他に最も最初に格納されたブロックから追い出すFI
FO方式が採用されているものもある。
【0004】
【発明が解決しようとする課題】しかし、上述した従来
のブロックリプレース処理方式を用いたノンブロッキン
グ・キャッシュ方式を採用する場合には、キャッシュ・
ミスヒットを起こしたアクセスに対応するブロックをキ
ャッシュ内にアロケートするためのキャッシュ・エント
リの競合問題を解決する必要がある。
のブロックリプレース処理方式を用いたノンブロッキン
グ・キャッシュ方式を採用する場合には、キャッシュ・
ミスヒットを起こしたアクセスに対応するブロックをキ
ャッシュ内にアロケートするためのキャッシュ・エント
リの競合問題を解決する必要がある。
【0005】従来のデータ更新処理方式を用いた場合に
は、上述のリプレース処理アルゴリズムに従ってあるブ
ロックがリプレースされることになるが、同一セットア
ドレスを持つ異なるブロックに対して連続してキャッシ
ュ・ミスヒットが発生すると、未だデータフェッチが完
了していない、従って、リプレース処理が完了せず当該
アクセスに対するサービスが完了していないブロックが
リプレースの対象となってしまうような状況が起こりう
るという問題点があった。そして、この問題点を全てハ
ードウェアで解決するには、複雑で膨大な制御回路が必
要となり経済性に欠けたものとなるという問題点もあっ
た。
は、上述のリプレース処理アルゴリズムに従ってあるブ
ロックがリプレースされることになるが、同一セットア
ドレスを持つ異なるブロックに対して連続してキャッシ
ュ・ミスヒットが発生すると、未だデータフェッチが完
了していない、従って、リプレース処理が完了せず当該
アクセスに対するサービスが完了していないブロックが
リプレースの対象となってしまうような状況が起こりう
るという問題点があった。そして、この問題点を全てハ
ードウェアで解決するには、複雑で膨大な制御回路が必
要となり経済性に欠けたものとなるという問題点もあっ
た。
【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)が
行われることとなりスラッシングが発生することにな
る。
ャッシュ方式を採用してミスヒット処理の並列実行を行
う場合には、その並列度数が大きくなると、複数のミス
ヒット処理を並列に実行する際のミスヒット処理完了の
順番と、当該ミスヒット処理が開始された順番とがネッ
トワーク処理時間等の都合により必ずしも一致しないた
め、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)が
行われることとなりスラッシングが発生することにな
る。
【0007】本発明の目的は、ノンブロッキング・キャ
ッシュ方式を用いながら、先行するキャッシュ・ミスヒ
ットに伴うデータブロックのリプレース処理を行ってい
るブロックが、当該リプレース処理が完了するまで新た
にリプレース処理がなされることなく、さらにはスラッ
シングによるキャッシュの効率低下を抑えることのでき
る、経済性に優れたキャッシュ制御方式を提供する点に
ある。
ッシュ方式を用いながら、先行するキャッシュ・ミスヒ
ットに伴うデータブロックのリプレース処理を行ってい
るブロックが、当該リプレース処理が完了するまで新た
にリプレース処理がなされることなく、さらにはスラッ
シングによるキャッシュの効率低下を抑えることのでき
る、経済性に優れたキャッシュ制御方式を提供する点に
ある。
【0008】
【課題を解決するための手段】この目的を達成するため
本発明によるキャッシュ制御方式の第一の特徴構成は、
バイパス手段を、前記後続のアクセスがキャッシュ・ヒ
ットした場合に、キャッシュ・エントリ毎に設定されデ
ータブロックリプレース処理の完了或いは未完了を示す
状態フラグの値に基づいて、前記データブロックリプレ
ース処理の完了と判断したときに当該アクセスに対する
サービスの実行を許可するように構成してある点にあ
る。上述の構成において、前記バイパス手段を、前記後
続のアクセスがキャッシュ・ミスヒットした場合、前記
状態フラグの値に基づいて、同一セット内の全ウェイで
前記データブロックリプレース処理が未完了と判断され
たときに当該アクセスを中断させるように構成してある
ことが好ましい。
本発明によるキャッシュ制御方式の第一の特徴構成は、
バイパス手段を、前記後続のアクセスがキャッシュ・ヒ
ットした場合に、キャッシュ・エントリ毎に設定されデ
ータブロックリプレース処理の完了或いは未完了を示す
状態フラグの値に基づいて、前記データブロックリプレ
ース処理の完了と判断したときに当該アクセスに対する
サービスの実行を許可するように構成してある点にあ
る。上述の構成において、前記バイパス手段を、前記後
続のアクセスがキャッシュ・ミスヒットした場合、前記
状態フラグの値に基づいて、同一セット内の全ウェイで
前記データブロックリプレース処理が未完了と判断され
たときに当該アクセスを中断させるように構成してある
ことが好ましい。
【0009】
【作用】第一の特徴構成によれば、キャッシュ・エント
リ毎に設定されたブロックリプレース処理の完了或いは
未完了を示す状態フラグを、例えば、キャッシュメモリ
のディレクトリ部に設定して、後続のアクセスがキャッ
シュ・ヒットした場合に、バイパス手段がその状態フラ
グに基づいて先行のアクセスに対応するブロックリプレ
ース処理が完了したか否かを判別して、ブロックリプレ
ース処理が完了した場合にプロセッサからのアクセスに
対応することにより、先行のアクセスに対応するブロッ
クリプレース処理中に後続のアクセスにより再リプレー
スされることを回避するのである。さらに、後続のアク
セスがキャッシュ・ミスヒットした場合に、前記状態フ
ラグの値に基づいて、同一セット内の全ウェイで複数の
先行するアクセスに対応するブロックリプレース処理が
未完了と判断されたときに当該アクセスを中断させるこ
とにより頻繁なブロックリプレース処理、即ち、スラッ
シングの発生を回避するのである。この場合、アクセス
が中断されたプロセッサは、例えば、一定時間キャッシ
ュへのアクセスを停止する等の処理を行うことによりス
ラッシングの発生を回避しながら自己の処理を継続する
ことになる。
リ毎に設定されたブロックリプレース処理の完了或いは
未完了を示す状態フラグを、例えば、キャッシュメモリ
のディレクトリ部に設定して、後続のアクセスがキャッ
シュ・ヒットした場合に、バイパス手段がその状態フラ
グに基づいて先行のアクセスに対応するブロックリプレ
ース処理が完了したか否かを判別して、ブロックリプレ
ース処理が完了した場合にプロセッサからのアクセスに
対応することにより、先行のアクセスに対応するブロッ
クリプレース処理中に後続のアクセスにより再リプレー
スされることを回避するのである。さらに、後続のアク
セスがキャッシュ・ミスヒットした場合に、前記状態フ
ラグの値に基づいて、同一セット内の全ウェイで複数の
先行するアクセスに対応するブロックリプレース処理が
未完了と判断されたときに当該アクセスを中断させるこ
とにより頻繁なブロックリプレース処理、即ち、スラッ
シングの発生を回避するのである。この場合、アクセス
が中断されたプロセッサは、例えば、一定時間キャッシ
ュへのアクセスを停止する等の処理を行うことによりス
ラッシングの発生を回避しながら自己の処理を継続する
ことになる。
【0010】
【発明の効果】本発明によれば、キャッシュ・ミスヒッ
トに伴うブロックリプレース処理に際して、リプレース
処理の候補となるキャッシュ・エントリが、当該候補決
定時において、先行する更新処理のために確保されてい
るエントリではないことが保証され、これにより、ブロ
ックリプレース処理の制御回路が簡素化できるととも
に、スラッシングによるキャッシュの効率低下を防ぐこ
とができるので、システム全体のスループットを向上さ
せることができるキャッシュ制御方式を提供できるよう
になった。
トに伴うブロックリプレース処理に際して、リプレース
処理の候補となるキャッシュ・エントリが、当該候補決
定時において、先行する更新処理のために確保されてい
るエントリではないことが保証され、これにより、ブロ
ックリプレース処理の制御回路が簡素化できるととも
に、スラッシングによるキャッシュの効率低下を防ぐこ
とができるので、システム全体のスループットを向上さ
せることができるキャッシュ制御方式を提供できるよう
になった。
【0011】
【実施例】以下に実施例を説明する。図3に示すよう
に、複数のプロセッサP0,P1,P2に第一のネット
ワークB1を介して接続された共用のキャッシュメモリ
CMを設けて、それらキャッシュメモリCMを第二のネ
ットワークB2を介してメインメモリMMに接続して計
算機Cを構成してある。
に、複数のプロセッサP0,P1,P2に第一のネット
ワークB1を介して接続された共用のキャッシュメモリ
CMを設けて、それらキャッシュメモリCMを第二のネ
ットワークB2を介してメインメモリMMに接続して計
算機Cを構成してある。
【0012】前記キャッシュメモリCMは、ディレクト
リ部CM2と、前記メインメモリMMからデータの一部
を読み出して格納するデータ部CM3、及び、前記複数
のプロセッサPからのアクセスに対応して前記メインメ
モリMMとの間でデータの読み書き等の制御を行うキャ
ッシュ制御部CM1とからなり、2ウェイのセット・ア
ソシアティブ方式のキャッシュメモリを構成してある。
リ部CM2と、前記メインメモリMMからデータの一部
を読み出して格納するデータ部CM3、及び、前記複数
のプロセッサPからのアクセスに対応して前記メインメ
モリMMとの間でデータの読み書き等の制御を行うキャ
ッシュ制御部CM1とからなり、2ウェイのセット・ア
ソシアティブ方式のキャッシュメモリを構成してある。
【0013】前記ディレクトリ部CM2は、セット数及
びウェイ数に応じた容量を備えてあり、図2に示すよう
に、各単位はメインメモリMM上で対応するデータの位
置を表すアドレスタグ部CM21、即ちブロックアドレ
スと、当該ウェイがアドレスタグで示されるブロックと
してアロケートされているか否か、即ちデータの有効或
いは無効を表す有効ビットVと、当該ブロックのリプレ
ース処理が完了したか否かを表す状態ビットBを含み、
当該ウェイにアロケートされたブロックの属性を示す属
性部CM20とで構成してある。ここに、有効ビットV
は、前記メインメモリMMから伝送されるデータの整合
性が保てなくなった旨の制御信号によりリセットされ、
リプレース処理の対象としてブロックが割り当てられた
時、即ち、リプレース処理の開始時にセットされるフラ
グであり、状態ビットBは、リプレース処理の開始によ
りセットされ終了によりリセットされるフラグである。
びウェイ数に応じた容量を備えてあり、図2に示すよう
に、各単位はメインメモリMM上で対応するデータの位
置を表すアドレスタグ部CM21、即ちブロックアドレ
スと、当該ウェイがアドレスタグで示されるブロックと
してアロケートされているか否か、即ちデータの有効或
いは無効を表す有効ビットVと、当該ブロックのリプレ
ース処理が完了したか否かを表す状態ビットBを含み、
当該ウェイにアロケートされたブロックの属性を示す属
性部CM20とで構成してある。ここに、有効ビットV
は、前記メインメモリMMから伝送されるデータの整合
性が保てなくなった旨の制御信号によりリセットされ、
リプレース処理の対象としてブロックが割り当てられた
時、即ち、リプレース処理の開始時にセットされるフラ
グであり、状態ビットBは、リプレース処理の開始によ
りセットされ終了によりリセットされるフラグである。
【0014】前記キャッシュ制御部CM1は、第一のネ
ットワークB1を介して得られたアドレス情報と前記ア
ドレスタグ部Tのブロックアドレスとを比較する比較部
と、比較部によりアドレスが一致すると判別され、且
つ、前記有効ビットVがセットされている場合(以下、
「キャッシュ・ヒット」と記す)にそのプロセッサPと
の間で該当ブロックの授受を行うデータ転送制御部、比
較部により不一致と判別され、或いは、前記有効ビット
Vがリセットされている場合(以下、「キャッシュ・ミ
スヒット」と記す)に前記第二のネットワークB2を介
して前記メインメモリMMに対してブロックのリプレー
ス処理を行うリプレース処理部と、それらの動作を制御
する論理回路等で構成してあり、プロセッサPからの先
行するアクセスがキャッシュ・ミスヒットを起こして
も、引き続き次のアクセスを実行することを許可する所
謂ノンブロッキング・キャッシュ方式を採用する。
ットワークB1を介して得られたアドレス情報と前記ア
ドレスタグ部Tのブロックアドレスとを比較する比較部
と、比較部によりアドレスが一致すると判別され、且
つ、前記有効ビットVがセットされている場合(以下、
「キャッシュ・ヒット」と記す)にそのプロセッサPと
の間で該当ブロックの授受を行うデータ転送制御部、比
較部により不一致と判別され、或いは、前記有効ビット
Vがリセットされている場合(以下、「キャッシュ・ミ
スヒット」と記す)に前記第二のネットワークB2を介
して前記メインメモリMMに対してブロックのリプレー
ス処理を行うリプレース処理部と、それらの動作を制御
する論理回路等で構成してあり、プロセッサPからの先
行するアクセスがキャッシュ・ミスヒットを起こして
も、引き続き次のアクセスを実行することを許可する所
謂ノンブロッキング・キャッシュ方式を採用する。
【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ではいずれのウェイも選択されること
はない。
・ヒットした場合に、当該ブロックの状態ビット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ではいずれのウェイも選択されること
はない。
【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)を発する。
メモリ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)を発する。
【0017】即ち、有効ビットVと状態ビットB、及
び、キャッシュ制御部CCが、前記後続のアクセスがキ
ャッシュ・ヒットした場合に、キャッシュ・エントリ毎
に設定されるリプレース処理の完了或いは未完了を示す
状態フラグの値に基づいて、前記リプレース処理の完了
と判断したときに当該アクセスに対するサービスの実行
を許可し、後続のアクセスがキャッシュ・ミスヒットし
た場合、前記状態フラグの値に基づいて、同一セット内
の全ウェイで前記リプレース処理が未完了と判断された
ときに当該アクセスを中断させるバイパス手段となる。
び、キャッシュ制御部CCが、前記後続のアクセスがキ
ャッシュ・ヒットした場合に、キャッシュ・エントリ毎
に設定されるリプレース処理の完了或いは未完了を示す
状態フラグの値に基づいて、前記リプレース処理の完了
と判断したときに当該アクセスに対するサービスの実行
を許可し、後続のアクセスがキャッシュ・ミスヒットし
た場合、前記状態フラグの値に基づいて、同一セット内
の全ウェイで前記リプレース処理が未完了と判断された
ときに当該アクセスを中断させるバイパス手段となる。
【0018】以下に別実施例を説明する。上述の実施例
で説明したバイパス手段は、先行するメモリ・アクセス
の終了を待たずに次のメモリ・アクセスを発行可能なプ
ロセッサ(例えば、パイプライン処理やマルチスレット
処理用のプロセッサが該当する)、或いはプロセッサに
よる明示的なキャッシュ操作(キャッシュ・コントロー
ラが予め複数のアクセス情報を受理するようなものが該
当する)が可能なキャッシュ、さらには並列計算機に適
宜用いることができる。
で説明したバイパス手段は、先行するメモリ・アクセス
の終了を待たずに次のメモリ・アクセスを発行可能なプ
ロセッサ(例えば、パイプライン処理やマルチスレット
処理用のプロセッサが該当する)、或いはプロセッサに
よる明示的なキャッシュ操作(キャッシュ・コントロー
ラが予め複数のアクセス情報を受理するようなものが該
当する)が可能なキャッシュ、さらには並列計算機に適
宜用いることができる。
【図1】有効ビットVと状態ビットBの値に基づくリプ
レース許否状態の説明図
レース許否状態の説明図
【図2】タグアレイ部の構成図
【図3】要部のブロック構成図
【図4】プロセッサからのアクセスのタイミングチャー
ト
ト
【図5】従来例を示すプロセッサからのアクセスのタイ
ミングチャート
ミングチャート
CM キャッシュメモリ MM メインメモリ P0,P1,P2 プロセッサ
Claims (2)
- 【請求項1】 プロセッサとネットワークで接続された
メインメモリとの間に、前記プロセッサからアクセスさ
れ前記メインメモリの記憶内容の一部を記憶するキャッ
シュメモリを設けた計算機であって、前記キャッシュメ
モリへの先行するアクセスに対するキャッシュ・ミスヒ
ット処理が後続のアクセスをブロックしないバイパス手
段を設けてあるキャッシュ制御方式において、 前記バイパス手段を、前記後続のアクセスがキャッシュ
・ヒットした場合に、キャッシュ・エントリ毎に設定さ
れるブロックリプレース処理の完了或いは未完了を示す
状態フラグの値に基づいて、前記ブロックリプレース処
理の完了と判断したときに当該アクセスに対するサービ
スの実行を許可するように構成してあるキャッシュ制御
方式。 - 【請求項2】 前記バイパス手段を、前記後続のアクセ
スがキャッシュ・ミスヒットした場合、前記状態フラグ
の値に基づいて、同一セット内の全ウェイで前記データ
更新処理が未完了と判断されたときに当該アクセスを中
断させるように構成してある請求項1記載のキャッシュ
制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4302213A JPH06149673A (ja) | 1992-11-12 | 1992-11-12 | キャッシュ制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4302213A JPH06149673A (ja) | 1992-11-12 | 1992-11-12 | キャッシュ制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06149673A true JPH06149673A (ja) | 1994-05-31 |
Family
ID=17906321
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4302213A Pending JPH06149673A (ja) | 1992-11-12 | 1992-11-12 | キャッシュ制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06149673A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009537912A (ja) * | 2006-05-17 | 2009-10-29 | クゥアルコム・インコーポレイテッド | キャッシュメモリの最大レジデンシー交換のための方法およびシステム |
| JP2010033480A (ja) * | 2008-07-31 | 2010-02-12 | Sony Corp | キャッシュメモリおよびキャッシュメモリ制御装置 |
-
1992
- 1992-11-12 JP JP4302213A patent/JPH06149673A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009537912A (ja) * | 2006-05-17 | 2009-10-29 | クゥアルコム・インコーポレイテッド | キャッシュメモリの最大レジデンシー交換のための方法およびシステム |
| JP2013030173A (ja) * | 2006-05-17 | 2013-02-07 | Qualcomm Inc | キャッシュメモリの最大レジデンシー交換のための方法およびシステム |
| JP2010033480A (ja) * | 2008-07-31 | 2010-02-12 | Sony Corp | キャッシュメモリおよびキャッシュメモリ制御装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5130922A (en) | Multiprocessor cache memory system using temporary access states and method for operating such a memory | |
| JPH05324471A (ja) | キャッシュ制御装置 | |
| EP0598535A1 (en) | Pending write-back controller for a cache controller coupled to a packet switched memory bus | |
| JPH0272452A (ja) | 無効要求を選別する方法及び装置 | |
| JPH09223118A (ja) | スヌープキャッシュメモリ制御システム | |
| JP2005234854A (ja) | マルチプロセッサシステム | |
| JP2005519391A (ja) | 共有ベクトルの増加を伴わないdsmマルチプロセッサシステムにおけるキャッシュコヒーレンスのための方法およびシステム | |
| CN101617298B (zh) | 用于dma、任务终止和同步操作的缓存一致保持 | |
| CN114217861A (zh) | 数据处理方法及装置、电子装置和存储介质 | |
| JP4577729B2 (ja) | ライトバックキャッシュにおいてスヌーププッシュ処理やスヌープキル処理が同時発生しているときのライトバック処理をキャンセルするためのシステムおよび方法 | |
| WO2001029674A1 (en) | Multi-processor system and method of accessing data therein | |
| JP4504134B2 (ja) | システム制御装置、投機フェッチ方法および情報処理装置 | |
| JPH1091524A (ja) | キャッシュ・コヒーレンシを維持するための方法及び装置 | |
| JP2001249846A (ja) | キャッシュメモリ装置及びデータ処理システム | |
| JP3626609B2 (ja) | マルチプロセッサシステム | |
| JPH06149673A (ja) | キャッシュ制御方式 | |
| JPH06309231A (ja) | キャッシュメモリ制御方法 | |
| US20090013130A1 (en) | Multiprocessor system and operating method of multiprocessor system | |
| JP3221409B2 (ja) | キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体 | |
| JPH06149752A (ja) | 並列計算機のバリア同期方式 | |
| JPH02224161A (ja) | 高速データ処理装置 | |
| KR0138585B1 (ko) | 분리형 트랜잭션 버스를 이용한 공유 메모리 다중 프로세서 | |
| JPH01266643A (ja) | キャッシュ制御方式 | |
| JPH0644136A (ja) | メモリ制御装置 | |
| JPH0740248B2 (ja) | キャッシュ制御装置 |