JP2000276401A - キャッシュメモリ制御方法および装置 - Google Patents

キャッシュメモリ制御方法および装置

Info

Publication number
JP2000276401A
JP2000276401A JP11079368A JP7936899A JP2000276401A JP 2000276401 A JP2000276401 A JP 2000276401A JP 11079368 A JP11079368 A JP 11079368A JP 7936899 A JP7936899 A JP 7936899A JP 2000276401 A JP2000276401 A JP 2000276401A
Authority
JP
Japan
Prior art keywords
cache memory
cache
unit
processor
control unit
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
JP11079368A
Other languages
English (en)
Inventor
Takeshi Hashimoto
健 橋本
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.)
NEC Ibaraki Ltd
Original Assignee
NEC Ibaraki Ltd
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 NEC Ibaraki Ltd filed Critical NEC Ibaraki Ltd
Priority to JP11079368A priority Critical patent/JP2000276401A/ja
Publication of JP2000276401A publication Critical patent/JP2000276401A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 システムバスの使用率を下げてシステム全体
としての性能を高めることができるキャッシュメモリ制
御方法および装置を提供する。 【解決手段】 主記憶部のあるブロックに対し一意的に
マッピングされるエリアが決められているキャッシュメ
モリが、複数セット存在する場合のキャッシュメモリ制
御方法において、発せられるメモリリード命令に、キャ
ッシュメモリ常駐とする属性を付随させ、対応するセッ
ト間で最も古いブロックを追い出すように制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、キャッシュメモ
リ制御方法および装置に関し、特に、キャッシュメモリ
が複数セット存在する場合にキャッシュメモリを制御す
るキャッシュメモリ制御方法および装置に関する。
【0002】
【従来の技術】従来、キャッシュメモリのマッピング方
法には種々あるが、一般的にはセットアソシアティブ方
法が採用されている。この方法は、主記憶部のあるブロ
ックに対して、一意的にマッピングされるエリアが決め
られているダイレクトマッピング方法のキャッシュメモ
リが、複数セット存在するものである。
【0003】このセットの全てに有効なブロックが登録
されているとき、新たなブロックを登録する場合は、こ
のセット間で最も古いブロックを追い出すように制御し
ている。
【0004】
【発明が解決しようとする課題】しかしながら、この従
来の方法では、使用頻度が高いブロックにおいても、こ
のセット間で最も古いブロックであると認識された場
合、追い出されてしまうことになる。
【0005】また、プロセッサ間通信エリアを通信の受
信側のプロセッサで所有していない場合、プロセッサ間
通信割り込みを受けた後に、このエリアの読み出し要求
が受信側のプロセッサ全てから発行されることになっ
て、システムバスの使用率が上がってしまう。これは、
プロセッサ数が多いほど顕著である。
【0006】この発明の目的は、システムバスの使用率
を下げてシステム全体としての性能を高めることができ
るキャッシュメモリ制御方法および装置を提供すること
である。
【0007】
【課題を解決するための手段】上記目的を達成するた
め、この発明に係るキャッシュメモリ制御方法は、主記
憶部のあるブロックに対し一意的にマッピングされるエ
リアが決められているキャッシュメモリが、複数セット
存在する場合のキャッシュメモリ制御方法において、発
せられるメモリリード命令に、キャッシュメモリ常駐と
する属性を付随させ、対応するセット間で最も古いブロ
ックを追い出すように制御することを特徴としている。
【0008】上記構成を有することにより、主記憶部の
あるブロックに対し一意的にマッピングされるエリアが
決められているキャッシュメモリが、複数セット存在す
る場合のキャッシュメモリ制御方法において、発せられ
るメモリリード命令に付随する、キャッシュメモリ常駐
とする属性に基づき、対応するセット間で最も古いブロ
ックを追い出すように制御される。
【0009】これにより、登録されたキャッシュメモリ
ラインをキャッシュメモリ常駐とすることとなり、メモ
リアクセスやプロセッサ間通信の高速化を実現し、シス
テムバスの使用率を下げて、システム全体としての性能
を高めることができる。
【0010】また、この発明に係るキャッシュメモリ制
御装置により、上記キャッシュメモリ制御方法を実現す
ることができる。
【0011】
【発明の実施の形態】以下、この発明の実施の形態につ
いて図面を参照して説明する。
【0012】図1は、この発明の実施の形態に係るキャ
ッシュメモリ制御方法を実現する情報処理システムのブ
ロック図である。図1に示すように、情報処理システム
10は、プロセッサ11、キャッシュメモリ制御部1
2、キャッシュメモリ13、主記憶部14を有してい
る。
【0013】プロセッサ11は、キャッシュメモリ制御
部12に接続され、キャッシュメモリ制御部12は、キ
ャッシュメモリ13に接続され、キャッシュメモリ制御
部12、キャッシュメモリ13及び主記憶部14は、シ
ステムバス15を介して接続されている。
【0014】図2は、図1のキャッシュメモリ制御部及
びキャッシュメモリの構成を示すブロック図である。図
2に示すように、キャッシュメモリ制御部12は、命令
レジスタ16、コマンド解析部17、第1ヒット判定部
18、第2ヒット判定部19、セレクタ部20、データ
レジスタ21、LRU(least recently
used:最低使用頻度)制御部22、及びキャッシ
ュメモリ追い出し制御部23を有する。
【0015】キャッシュメモリ13は、それぞれアドレ
スアレイ部24−1,24−2,…(2個のみ図示)と
データアレイ部25−1,25−2,…(2個のみ図
示)を有する複数のセットS1,S2,…(2個のみ図
示)、及びLRU部26を有する。
【0016】命令レジスタ21は、コマンドバス27に
載せられプロセッサ11から送出されたコマンド及びア
ドレスを格納する。コマンド解析部17は、命令レジス
タ16のコマンドを解析する。
【0017】第1ヒット判定部18は、キャッシュメモ
リ13のセットS1のアドレスアレイ部24−1と、命
令レジスタ16中のアドレスを比較して、キャッシュヒ
ット判定を行う。第2ヒット判定部19は、キャッシュ
メモリ13のセットS2のアドレスアレイ部24−2
と、命令レジスタ16中のアドレスを比較して、キャッ
シュヒット判定を行う。
【0018】セレクタ部20は、キャッシュヒット時に
セットの選択を行う。つまり、セットS1がヒットであ
ればデータアレイ部25−1が選択され、セットS2が
ヒットであればデータアレイ部25−2が選択される。
データレジスタ21は、セレクタ部20で選択されたセ
ットのデータを格納する。
【0019】データレジスタ21に格納されたデータ
は、データバス28に乗せられ、データバス28を介し
てプロセッサ11に渡される。LRU制御部22は、キ
ャッシュメモリ13の各セットの間で最も古いセットを
選択する。キャッシュメモリ追い出し制御部23は、L
RU制御部22で決定したセットのキャッシュメモリの
追い出し動作を司る。
【0020】LRU部26は、LRU制御部22で選択
された最も古いセット、及びキャッシュメモリ常駐とす
るセット番号を記憶する。これにより、キャッシュメモ
リ制御部12は、キャッシュメモリ常駐とされたセット
を、最も新しいセットとして制御する。
【0021】図3は、マルチプロセッサの情報処理シス
テムにおけるプロセッサ間通信を説明するためのブロッ
ク図である。図3に示すように、マルチプロセッサの情
報処理システム30は、複数のプロセッサ部A,B,C
(3個のみ図示)及び主記憶部14からなる。
【0022】プロセッサ部Aは、プロセッサ11a、キ
ャッシュメモリ制御部12a、及びキャッシュメモリ1
3cを有し、プロセッサ部Bは、プロセッサ11b、キ
ャッシュメモリ制御部12b、及びキャッシュメモリ1
3bを有し、プロセッサ部Cは、プロセッサ11c、キ
ャッシュメモリ制御部12c、及びキャッシュメモリ1
3cを有する。
【0023】各プロセッサ11a,11b,11cは、
それぞれキャッシュメモリ制御部12a,12b,12
cに接続され、各キャッシュメモリ制御部12a,12
b,12cは、それぞれキャッシュメモリ13a,13
b,13cに接続され、各キャッシュメモリ制御部12
a,12b,12c、各キャッシュメモリ13a,13
b,13c、及び主記憶部14は、システムバス15を
介し接続されている。
【0024】次に、上述した情報処理システムのキャッ
シュ制御方法を、図2に示すキャッシュメモリ制御部及
びキャッシュメモリの動作に基づいて説明する。
【0025】プロセッサ11は、キャッシュメモリ常駐
にしたいキャッシュメモリラインに対する、メモリリー
ド命令を発行したい場合、メモリリード命令のキャッシ
ュメモリ常駐要求ビットを‘1’とする。この命令が、
コマンドバス27に乗ると、コマンドバス27を介し
て、キャッシュメモリ制御部12の命令レジスタ16に
格納される。
【0026】コマンド解析部17は、命令レジスタ16
中のコマンドがメモリリード命令である場合、キャッシ
ュメモリ13のアドレスアレイ部24−1、24−2を
索引する。第1ヒット判定部18及び第2ヒット判定部
19の何れかがヒットと判定した場合、キャッシュメモ
リ13のデータアレイ部25−1又はデータアレイ部2
5−2からデータを読み出し、セレクタ部20でヒット
したセットを選択し、データレジスタ21に格納する。
【0027】データレジスタ21のデータは、データバ
ス28に乗り、データバス28を介して、プロセッサ1
1に渡される。このとき、LRU制御部22は、命令レ
ジスタ16のキャッシュメモリ常駐要求ビット16aが
‘1’とされているので、キャッシュヒットとなったセ
ットを、キャッシュメモリ常駐としてLRU部26へ登
録する。これにより、LRU制御部22は、このセット
を今後最も新しいセットとして制御する。
【0028】第1ヒット判定部18及び第2ヒット判定
部19が、ミスヒットと判定した場合、LRU制御部2
2はLRU部26を参照し、各セット間で最も古いセッ
トを選択する。選択されたセットは、キャッシュメモリ
追い出し制御部23で追い出される。
【0029】なお、キャッシュメモリ常駐要求ビット1
6aが‘1’とされているので、今回登録するセット
を、キャッシュメモリ常駐としてLRU部26へ登録す
る。これにより、LRU制御部22は、このセットを今
後最も新しいセットとして制御する。
【0030】更に、上述した情報処理システムのキャッ
シュ制御方法を、図3に基づき、同報のプロセッサ間通
信で応用する場合について述べる。プロセッサ11a、
プロセッサ11b及びプロセッサ11cは、プロセッサ
間通信エリアを、上記の方法でそれぞれキャッシュメモ
リ13a、キャッシュメモリ13b及びキャッシュメモ
リ13cに、キャッシュメモリ常駐として登録する。
【0031】先ず、プロセッサ11aが同報のプロセッ
サ間通信を行う場合、このプロセッサ間通信エリアにメ
モリライト命令を出す。このとき、キャッシュメモリが
ライトバック方式で更新型プロトコルを採用するとき
は、システムバス15にメモリライト命令は出ていか
ず、自身のキャッシュメモリ13aのみを更新する。
【0032】次に、プロセッサ11aは、プロセッサ1
1b及びプロセッサ11cに、プロセッサ間通信割り込
みを発行する。これを受けたプロセッサ11b及びプロ
セッサ11cは、同報のプロセッサ間通信の処理をする
わけだが、プロセッサ11bが時間的に早く動作し始め
たとする。すると、プロセッサ11bは、プロセッサ間
通信エリアへメモリリード命令を発行する。
【0033】しかし、同キャッシュメモリラインは、キ
ャッシュメモリ13a上が有効な状態であり、キャッシ
ュメモリ13b及び主記憶部14上は無効な状態であ
る。故に、キャッシュメモリ制御部12bは、メモリリ
ード命令を発行する。
【0034】これにより、プロセッサ間通信エリアがシ
ステムバス上に乗せられ、これをキャッシュメモリ13
bが拾うと同時に、キャッシュメモリ13cも拾うこと
になる。従って、時間的に遅く動作するプロセッサ11
cは、プロセッサ間通信エリアを読み出すとき、キャッ
シュメモリ13cに登録されているので、キャッシュヒ
ットしてデータを取り出すことができる。
【0035】このように、この発明によれば、登録され
たキャッシュメモリラインをキャッシュメモリ常駐とす
ることで、メモリアクセスやプロセッサ間通信の高速化
を実現し、システムバスの使用率を下げることで、シス
テム全体としての性能を上げることができる。
【0036】つまり、プロセッサ11がメモリリード命
令を発行するとき、この命令にキャッシュメモリ常駐と
する属性を付随させると、これを受けたキャッシュメモ
リ制御部12は、主記憶部14からこのキャッシュメモ
リラインを読み出し、キャッシュメモリ13へ登録する
と共に、キャッシュメモリ常駐とするための情報を付加
する。
【0037】これにより、キャッシュメモリ13からの
追い出しが抑止され、このキャッシュメモリラインへの
メモリアクセスを、常にキャッシュヒットして実現する
ことが可能となる。
【0038】また、プロセッサ間通信エリアを同様の方
法でキャッシュメモリ常駐とすることにより、同報のプ
ロセッサ間通信を行う場合、プロセッサ間通信の発行側
及び受信側のキャッシュミスヒットによるキャッシュメ
モリラインの読み出し回数を低減することが可能とな
る。
【0039】
【発明の効果】以上説明したように、この発明によれ
ば、主記憶部のあるブロックに対し一意的にマッピング
されるエリアが決められているキャッシュメモリが、複
数セット存在する場合のキャッシュメモリ制御方法にお
いて、発せられるメモリリード命令に付随する、キャッ
シュメモリ常駐とする属性に基づき、対応するセット間
で最も古いブロックを追い出すように制御されるので、
登録されたキャッシュメモリラインをキャッシュメモリ
常駐とすることとなり、メモリアクセスやプロセッサ間
通信の高速化を実現し、システムバスの使用率を下げ、
システム全体としての性能を高めることができる。
【0040】また、この発明に係るキャッシュメモリ制
御装置により、上記キャッシュメモリ制御方法を実現す
ることができる。
【図面の簡単な説明】
【図1】この発明の実施の形態に係るキャッシュメモリ
制御方法を実現する情報処理システムのブロック図であ
る。
【図2】図1のキャッシュメモリ制御部及びキャッシュ
メモリの構成を示すブロック図である。
【図3】マルチプロセッサの情報処理システムにおける
プロセッサ間通信を説明するためのブロック図である。
【符号の説明】
10 情報処理システム 11,11a,11b,11c プロセッサ 12,12a,12b,12c キャッシュメモリ制御
部 13,13a,13b,13c キャッシュメモリ 14 主記憶部 15 システムバス 16 命令レジスタ 16a キャッシュメモリ常駐要求ビット 17 コマンド解析部 18 第1ヒット判定部 19 第2ヒット判定部 20 セレクタ部 21 データレジスタ 22 LRU制御部 23 キャッシュメモリ追い出し制御部 24−1,24−2,… アドレスアレイ部 25−1,25−2,… データアレイ部 26 LRU部 27 コマンドバス 28 データバス 30 マルチプロセッサの情報処理システム A,B,C プロセッサ部 S1,S2,… セット

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】主記憶部のあるブロックに対し一意的にマ
    ッピングされるエリアが決められているキャッシュメモ
    リが、複数セット存在する場合のキャッシュメモリ制御
    方法において、 発せられるメモリリード命令に、キャッシュメモリ常駐
    とする属性を付随させ、対応するセット間で最も古いブ
    ロックを追い出すように制御することを特徴とするキャ
    ッシュメモリ制御方法。
  2. 【請求項2】前記メモリリード命令を受けると、前記主
    記憶部からこのキャッシュメモリラインを読み出し、前
    記キャッシュメモリへ登録すると共に、キャッシュメモ
    リ常駐とするための情報を付加することを特徴とする請
    求項1に記載のキャッシュメモリ制御方法。
  3. 【請求項3】主記憶部のあるブロックに対し一意的にマ
    ッピングされるエリアが決められているキャッシュメモ
    リが、複数セット存在する場合に、前記キャッシュメモ
    リを制御するキャッシュメモリ制御装置において、 発せられるメモリリード命令に、キャッシュメモリ常駐
    とする属性を付随させ、対応するセット間で最も古いブ
    ロックを追い出すように制御するキャッシュメモリ制御
    手段を有することを特徴とするキャッシュメモリ制御装
    置。
  4. 【請求項4】前記キャッシュメモリ制御手段は、キャッ
    シュメモリ常駐要求ビットが付加されたメモリリード命
    令が格納される命令レジスタを有することを特徴とする
    請求項3に記載のキャッシュメモリ制御装置。
  5. 【請求項5】前記キャッシュメモリ制御手段は、 前記命令レジスタのコマンドを解析するコマンド解析部
    と、 前記キャッシュメモリのアドレスアレイ部及び前記命令
    レジスタ中のアドレスを比較し、キャッシュヒット判定
    を行う複数のヒット判定部と、 キャッシュヒット時にセットの選択を行うセレクタ部
    と、 前記セレクタ部で選択されたセットのデータを格納する
    データレジスタと、 前記キャッシュメモリの各セットの間で最も古いセット
    を選択するLRU制御部と、 前記LRU制御部で決定したセットのキャッシュメモリ
    の追い出しを行うキャッシュメモリ追い出し制御部とを
    有することを特徴とする請求項4に記載のキャッシュメ
    モリ制御装置。
  6. 【請求項6】それぞれメモリリード命令を発するプロセ
    ッサ、キャッシュメモリ、及び請求項3から5のいずれ
    かに記載されたキャッシュメモリ制御装置を有する複数
    のプロセッサ部と、 主記憶部と、 前記各プロセッサ部及び前記主記憶部を接続するシステ
    ムバスとを有することを特徴とするマルチプロセッサの
    情報処理システム。
JP11079368A 1999-03-24 1999-03-24 キャッシュメモリ制御方法および装置 Pending JP2000276401A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11079368A JP2000276401A (ja) 1999-03-24 1999-03-24 キャッシュメモリ制御方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11079368A JP2000276401A (ja) 1999-03-24 1999-03-24 キャッシュメモリ制御方法および装置

Publications (1)

Publication Number Publication Date
JP2000276401A true JP2000276401A (ja) 2000-10-06

Family

ID=13687946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11079368A Pending JP2000276401A (ja) 1999-03-24 1999-03-24 キャッシュメモリ制御方法および装置

Country Status (1)

Country Link
JP (1) JP2000276401A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5516728B2 (ja) * 2010-06-10 2014-06-11 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5516728B2 (ja) * 2010-06-10 2014-06-11 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法

Similar Documents

Publication Publication Date Title
US5325504A (en) Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US6345342B1 (en) Cache coherency protocol employing a read operation including a programmable flag to indicate deallocation of an intervened cache line
JP2819982B2 (ja) 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
JP5536658B2 (ja) バッファメモリ装置、メモリシステム及びデータ転送方法
US7434007B2 (en) Management of cache memories in a data processing apparatus
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
US20020053004A1 (en) Asynchronous cache coherence architecture in a shared memory multiprocessor with point-to-point links
US8700863B2 (en) Computer system having a cache memory and control method of the same
US6321306B1 (en) High performance multiprocessor system with modified-unsolicited cache state
JPH06208508A (ja) キャッシュタグメモリ
JPH07281955A (ja) マルチプロセッサーシステムのスヌープ回路
JPH10320283A (ja) マルチプロセッサ・データ処理システム内でキャッシュ・コヒーレンシを維持するキャッシュ・コヒーレンシ・プロトコルを提供する方法及び装置
JPH10154100A (ja) 情報処理システム及び装置及びその制御方法
US5987544A (en) System interface protocol with optional module cache
US8332592B2 (en) Graphics processor with snoop filter
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
JPH09128346A (ja) 階層バスシステム
US6385702B1 (en) High performance multiprocessor system with exclusive-deallocate cache state
JP2002116954A (ja) キャッシュシステム
JPH0721781B2 (ja) マルチプロセツサ・システム
US6349369B1 (en) Protocol for transferring modified-unsolicited state during data intervention
US20020087791A1 (en) Multiprocessor computer system with sectored cache line system bus protocol mechanism
US6553462B2 (en) Multiprocessor computer system with sectored cache line mechanism for load and store operations