JPH11212869A - キャッシュメモリ制御方法及びこれを用いたマルチプロセッサシステム - Google Patents

キャッシュメモリ制御方法及びこれを用いたマルチプロセッサシステム

Info

Publication number
JPH11212869A
JPH11212869A JP10013751A JP1375198A JPH11212869A JP H11212869 A JPH11212869 A JP H11212869A JP 10013751 A JP10013751 A JP 10013751A JP 1375198 A JP1375198 A JP 1375198A JP H11212869 A JPH11212869 A JP H11212869A
Authority
JP
Japan
Prior art keywords
cache
memory
cache memory
directory
control method
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
JP10013751A
Other languages
English (en)
Inventor
Tama Sakuta
瑞 作田
Masafumi Takahashi
雅史 高橋
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP10013751A priority Critical patent/JPH11212869A/ja
Publication of JPH11212869A publication Critical patent/JPH11212869A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

(57)【要約】 【課題】 キャッシュブロックの格納される場所がコピ
ー元のブロックのアドレスから一意に定まらないキャッ
シュメモリ制御方法では、キャッシュ上のメモリアクセ
スの度にブロックの格納されたセットの中のウェイの探
索を行う必要がある。 【解決手段】 ネットワークと、複数のプロセッサと、
ネットワークに接続された共有メモリと、共有メモリを
キャッシングするためのキャッシュメモリと、キャッシ
ュメモリを制御するためのディレクトリを備え、セット
アソシアティブキャッシュ制御を行うマルチプロセッサ
システムにおいて、ディレクトリはタグアドレスとキャ
ッシュメモリ上のウェイ情報を有し、共有メモリから送
信されるウェイ情報を含んだメッセージを用いてコヒー
レンス制御を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、互いに記憶装置を
共用して各々がキャッシュを有する複数のCPUからな
るマルチプロセッサシステムに関し、そのキャッシュメ
モリ制御方法とこれを用いたマルチプロセッサシステム
に関する。
【0002】
【従来の技術】主記憶を共有する密結合型のマルチプロ
セッサシステムを構成する各プロセッサにキャッシュを
持たせた場合、キャッシュ間のデータの一致制御(コヒ
ーレンス制御)の必要が生じる。例えば、複数のプロセ
ッサが各々のキャッシュについて同じアドレスのデータ
を同時に書き換えると、同一のアドレスの内容が一致し
ない可能性がある。このような不一致が起こらないよう
にするための制御がコヒーレンス制御である。例えば、
あるプロセッサが主記憶上のデータを書き換える際に、
他のプロセッサのキャッシュにおいて、同じデータを含
むキャッシュブロックを無効化することで、コヒーレン
シを保つことができる。
【0003】例えば、「共有メモリ型超並列マシンDa
sh、プロトタイプが完成(上)、日経エレクトロニク
ス1992.8.17(no.561)、pp.160
−161」に示されるように、コヒーレンス制御を行う
ための方法の一つとしてディレクトリ方式がある。この
方式では、キャッシュの対象となる記憶装置の全領域を
キャッシュブロックのサイズに分割し、各領域(ブロッ
ク)ごとに、その領域のデータがどのプロセッサのキャ
ッシュにキャッシングされているかを示す情報を記憶し
たディレクトリを持つ。例えば、あるプロセッサが、各
プロセッサに共有された主記憶にデータの書き込み要求
を発行した場合、主記憶のメモリコントローラーが、書
き込みの対象となるアドレスを含んだブロックが登録さ
れているキャッシュをディレクトリから検索して、その
キャッシュに向けて無効化メッセージを送出する。
【0004】一方、キャッシュのブロック配置方式の代
表的なものに、セットアソシアティブ方式がある。この
方式を用いたキャッシュの構造を図4に示す。これは、
ブロックをキャッシュ上のある決められた範囲の中だけ
に配置する方式で、キャッシュの対象となるメモリ上の
ブロックは、セットと呼ばれるキャッシュ上の2つ以上
のブロックからなる集合に対応づけられた後、そのセッ
ト内のいずれかの位置(ウェイ)に置かれる。1セット
中にn個のブロックがある場合、nウェイセットアソシ
アティブ方式と呼ばれる。従って図4は2ウェイセット
アソシアティブ方式のキャッシュの構造の例を表した図
である。ここで400はウェイが0の場合、401はウ
ェイが1の場合を示す。セットアソシアティブ方式のキ
ャッシュでは、キャッシュ上のメモリをアクセスする度
に、アクセスするブロックに対応したセット中の各キャ
ッシュブロックのタグの値と、アクセスするブロックの
アドレスとの一致検査が必要となる。そのため、データ
のアクセス時間が前記一致検査に要する時間だけ長くな
る。このようなオーバーヘッドを削減するためのキャッ
シュメモリも、例えば特開平8−69412号公報に示
されるように、既に提供されているが、一致検査が完全
に不必要になるものではない。
【0005】
【発明が解決しようとする課題】しかしながら、従来の
たとえばセットアソシアティブ方式のようにキャッシュ
ブロックの格納される場所がコピー元のブロックのアド
レスから一意に定まらないキャッシュメモリ制御方法で
は、キャッシュ上のメモリアクセスの度にブロックの格
納されたセットの中の位置(ウェイ)の探索を行う必要
がある。このためキャッシュの消費電力の増大や、キャ
ッシュアクセス時間の増大をもたらすという問題があっ
た。
【0006】同様の理由で、上記方式のキャッシュを備
えたプロセッサで構成され、ディレクトリ方式でコヒー
レンス制御を行う密結合型のマルチプロセッサシステム
においてもキャッシュの消費電力の増大や、処理速度低
下をもたらすという問題があった。
【0007】
【課題を解決するための手段】本発明の請求項1乃至請
求項4に係わるキャッシュメモリ制御方法は、ネットワ
ークと、複数のプロセッサと、ネットワークに接続され
た共有メモリと、共有メモリをキャッシングするための
キャッシュメモリと、キャッシュメモリを制御するため
のディレクトリを備え、セットアソシアティブキャッシ
ュ制御を行うキャッシュメモリ制御方法において、ディ
レクトリはタグアドレスとキャッシュメモリ上のウェイ
情報を有し、共有メモリから送信されるウェイ情報を含
んだメッセージを用いてコヒーレンス制御を行うことを
特徴とする。
【0008】本発明の請求項5に係わるマルチプロセッ
サシステムは、ネットワークと、複数のプロセッサと、
ネットワークに接続された共有メモリと、共有メモリを
キャッシングするためのキャッシュメモリと、キャッシ
ュメモリを制御するためのディレクトリを備え、セット
アソシアティブキャッシュ制御を行うマルチプロセッサ
システムにおいて、ディレクトリはタグアドレスとキャ
ッシュメモリ上のウェイ情報を有し、共有メモリから送
信されるウェイ情報を含んだメッセージを用いてコヒー
レンス制御を行うことを特徴とする。
【0009】本発明により、キャッシュを備えたプロセ
ッサで構成され、ディレクトリ方式でコヒーレンス制御
を行う密結合型のマルチプロセッサシステムにおいて、
コヒーレンス制御のためのキャッシュメモリアクセス時
に、キャッシュ内でのウェイの探索が省略可能となり、
アクセスするキャッシュブロックの探索のためのタグア
ドレスの一致検査が完全に不必要になる。
【0010】
【発明の実施の形態】図1は本発明の請求項1乃至請求
項5に係るマルチプロセッサシステムの一実施の形態を
示すブロック図である。図1に示すマルチプロセッサシ
ステムは、並列に動作する3個のプロセッサCPU1〜
CPU3(101〜103)と、それぞれのCPUに実
装された4ウェイセットアソシアティブ方式のキャッシ
ュ1〜キャッシュ3(111〜113)と、上記の3つ
のプロセッサにより共有された共有メモリ(150)
と、共有メモリ中の各ブロック(151)に対応したエ
ントリ(161)を登録するディレクトリ(160)
と、共有メモリと各キャッシュを接続するネットワーク
(130)から構成される。
【0011】なお、本実施の形態におけるネットワーク
は共有メモリと各キャッシュ間を接続するための手段を
指すものの総称であり、直接網、バス結合、階層バス結
合、あるいはそれらを組み合わせたものなど、結合網の
あらゆるものを含むことを意味している。
【0012】図2は、本実施の形態におけるディレクト
リ中の各エントリのビットフィールドの構造を示したも
のである。この図で示したように、エントリはステート
ビットと各CPUに対応したプレゼンスビット、ウェイ
ビットを備える。
【0013】ステートビットは次の3つの状態をもつ。
すなわち、対応するブロックをどのキャッシュも保持し
ていない状態(U)、他のキャッシュにブロックの内容
が一致するコピーが存在する状態(S)、そして、他の
キャッシュにブロックの内容が一致しないコピーが存在
する状態(D)である。
【0014】プレゼンスビットは、プロセッサのキャッ
シュと1対1に対応し、該当キャッシュにおけるブロッ
クのコピーの存在の有無を示す。
【0015】ウェイビットも、プロセッサのキャッシュ
と1対1に対応し、該当キャッシュにおいてブロックの
コピーが存在する場合に、コピーが対応するセット中の
どのウェイにあるかを示す。
【0016】次に、図1のマルチプロセッサシステムに
おけるコヒーレンス制御について説明する。本実施の形
態では、コヒーレンス制御のためのプロトコルとして、
ライトバックの無効化型を用いることにする。以下、コ
ヒーレンス制御の一つであるキャッシュの無効化につい
て説明する。
【0017】最初に、図1に示したブロック(151)
が、U状態になっていると仮定する。このときの、エン
トリの状態を、図3(a)に示す。まずCPU1、CP
U2、CPU3がこのブロックの一部のデータを読み出
したとする。この場合そのデータを含んでいるブロック
は、それぞれCPU1、CPU2、CPU3のキャッシ
ュに送られ、エントリの内容が更新される。つまり、ス
テートビットはS状態になり、プレゼンスビットは全て
のCPUについてコピーが存在することを示すビットデ
ータ(この例では1とする)がセットされ、ウェイビッ
トにはコピーが格納されたウェイのIDがセットされ
る。
【0018】上記のエントリの状態を図3(b)に示
す。ここで、CPU2が同じデータに書き込みを行なっ
たとする。まず、共有メモリに対して、オーナーシップ
を移動する要求が送られる。この時、データの存在する
ブロックの状態はS状態であるので、他のコピーを無効
化する必要がある。共有メモリは、エントリを調べて無
効化メッセージをそれぞれのウェイIDと共にCPU1
とCPU3のキャッシュに送り、コピーのあるキャッシ
ュブロックを無効にする。メッセージを受けたキャッシ
ュ内での動作については後述する。
【0019】共有メモリが無効化に対する確認メッセー
ジを受け取ると、オーナーシップ移動のメッセージをC
PU2に送り、ブロックの状態をDにする。このとき
の、エントリの状態を図3(c)に示す。
【0020】以降オーナーシップを持ったCPU2は、
他のプロセッサにメッセージを送ること無しに、当該ラ
インに対して書き込みを行うことができる。
【0021】次に、キャッシュが無効化メッセージを受
け取った場合の、内部処理について説明する。無効化メ
ッセージは無効化するブロックの共有メモリにおけるア
ドレスと、無効化要求を表すビットパターンと、前記ブ
ロックのコピーであるキャッシュブロックの配置されて
いるウェイIDから構成される。上記のような無効化メ
ッセージをキャッシュが受け取ると、まず、ブロックの
共有メモリにおけるアドレスから、ブロックのコピーが
存在するセットのIDを導出する。そして、このセット
IDと、無効化メッセージから抽出したウェイIDによ
って一意に定まるキャッシュブロックを無効化する。最
後に、共有メモリに対して、無効化が完了したことを示
すメッセージを送出する。
【0022】上記により無効化メッセージを使って無効
化すべきキャッシュブロックのウェイIDをキャッシュ
に伝えるため、キャッシュ内部でのウェイIDの探索が
不必要になり、キャッシュブロックのタグとブロックア
ドレスの一致検査を行わずに、無効化することができ
る。
【0023】上記は無効化メッセージを利用する方法に
ついて述べたが、無効化メッセージの代わりにライトバ
ックメッセージあるいはアップデートメッセージを利用
する場合も同様の手法で、キャッシュ内部でのウェイI
Dの探索が不必要になり、キャッシュブロックのタグと
ブロックアドレスの一致検査を行わずに、ライトバック
あるいはアップデートすることができる。
【0024】
【発明の効果】以上述べたように、本発明によれば、ネ
ットワークと、複数のプロセッサと、ネットワークに接
続された共有メモリと、共有メモリをキャッシングする
ためのキャッシュメモリと、キャッシュメモリを制御す
るためのディレクトリを備え、セットアソシアティブキ
ャッシュ制御を行うマルチプロセッサシステムにおい
て、前記ディレクトリはタグアドレスとキャッシュメモ
リ上のウェイ情報を有し、共有メモリから送信されるウ
ェイ情報を含んだメッセージを用いてコヒーレンス制御
のためのキャッシュメモリアクセスを行う場合に、キャ
ッシュ内でのウェイの探索が省略可能となるため、探索
のためのアドレスの一致検査に要する消費電力をカット
することができる。また、ウェイ探索に要する時間がな
くなるため、キャッシュのアクセス時間も削減されると
いう効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態であるマルチプロセッサシ
ステムのブロック図である。
【図2】エントリの構成図である。
【図3】キャッシュの無効化を行なった場合のエントリ
の状態遷移を表す図である。
【図4】セットアソシアティブ方式のキャッシュの内部
構造を表す図である。
【符号の説明】
101 CPU1 102 CPU2 103 CPU3 111 キャッシュ1 112 キャッシュ2 113 キャッシュ3 121 キャッシュとネットワークとを結ぶ信号線1 122 キャッシュとネットワークとを結ぶ信号線2 123 キャッシュとネットワークとを結ぶ信号線3 130 キャッシュと共有メモリとを結ぶネットワーク 140 ネットワークと共有メモリを結ぶ信号線 150 共有メモリ 151 共有メモリを構成するブロックの1つ 160 ディレクトリ 161 ディレクトリを構成するエントリの1つ 170 共有メモリとディレクトリを結ぶ信号線 200 エントリのビット構造 301 CPU1〜CPU3によるリード直前のエント
リの状態 302 CPU1〜CPU3によるリード直後のエント
リの状態 303 CPU2によるライト直後のエントリの状態 400 セットアソシアティブ方式のキャッシュのウェ
イ0の構造 401 セットアソシアティブ方式のキャッシュのウェ
イ1の構造

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークと、複数のプロセッサと、
    ネットワークに接続された共有メモリと、共有メモリを
    キャッシングするためのキャッシュメモリと、キャッシ
    ュメモリを制御するためのディレクトリを備え、セット
    アソシアティブキャッシュ制御を行うキャッシュメモリ
    制御方法において、ディレクトリはタグアドレスとキャ
    ッシュメモリ上のウェイ情報を有し、共有メモリから送
    信されるウェイ情報を含んだメッセージを用いてコヒー
    レンス制御を行うことを特徴とするキャッシュメモリ制
    御方法。
  2. 【請求項2】 上記共有メモリは主記憶装置であり、上
    記複数のプロセッサのキャッシュが主記憶装置をキャッ
    シングすることを特徴とする請求項1記載のキャッシュ
    メモリ制御方法。
  3. 【請求項3】 上記共有メモリは2次キャッシュであ
    り、上記複数のプロセッサのキャッシュが2次キャッシ
    ュをキャッシングすることを特徴とする請求項1記載の
    キャッシュメモリ制御方法。
  4. 【請求項4】 上記ウェイ番号は少なくとも無効化メッ
    セージあるいはライトバックメッセージあるいはアップ
    デートメッセージに埋め込むことを特徴とする請求項1
    記載のキャッシュメモリ制御方法。
  5. 【請求項5】 ネットワークと、複数のプロセッサと、
    ネットワークに接続された共有メモリと、共有メモリを
    キャッシングするためのキャッシュメモリと、キャッシ
    ュメモリを制御するためのディレクトリを備え、セット
    アソシアティブキャッシュ制御を行うマルチプロセッサ
    システムにおいて、ディレクトリはタグアドレスとキャ
    ッシュメモリ上のウェイ情報を有し、共有メモリから送
    信されるウェイ情報を含んだメッセージを用いてコヒー
    レンス制御を行うことを特徴とするマルチプロセッサシ
    ステム。
JP10013751A 1998-01-27 1998-01-27 キャッシュメモリ制御方法及びこれを用いたマルチプロセッサシステム Pending JPH11212869A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10013751A JPH11212869A (ja) 1998-01-27 1998-01-27 キャッシュメモリ制御方法及びこれを用いたマルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10013751A JPH11212869A (ja) 1998-01-27 1998-01-27 キャッシュメモリ制御方法及びこれを用いたマルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JPH11212869A true JPH11212869A (ja) 1999-08-06

Family

ID=11841964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10013751A Pending JPH11212869A (ja) 1998-01-27 1998-01-27 キャッシュメモリ制御方法及びこれを用いたマルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JPH11212869A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493448B2 (en) 2002-06-24 2009-02-17 Nec Corporation Prevention of conflicting cache hits without an attendant increase in hardware
US8996811B2 (en) 2010-08-27 2015-03-31 Fujitsu Limited Scheduler, multi-core processor system, and scheduling method
CN114237274A (zh) * 2021-09-28 2022-03-25 航天时代飞鸿技术有限公司 一种融合imu的旋翼无人机环境障碍物快速感知方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493448B2 (en) 2002-06-24 2009-02-17 Nec Corporation Prevention of conflicting cache hits without an attendant increase in hardware
US8996811B2 (en) 2010-08-27 2015-03-31 Fujitsu Limited Scheduler, multi-core processor system, and scheduling method
US9430388B2 (en) 2010-08-27 2016-08-30 Fujitsu Limited Scheduler, multi-core processor system, and scheduling method
CN114237274A (zh) * 2021-09-28 2022-03-25 航天时代飞鸿技术有限公司 一种融合imu的旋翼无人机环境障碍物快速感知方法及系统
CN114237274B (zh) * 2021-09-28 2024-04-19 航天时代飞鸿技术有限公司 融合imu的旋翼无人机环境障碍物快速感知方法及系统

Similar Documents

Publication Publication Date Title
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US7814279B2 (en) Low-cost cache coherency for accelerators
US5241641A (en) Hierarchical cache memory apparatus
EP0735480B1 (en) Cache coherent computer system that minimizes invalidation and copyback operations
US6631448B2 (en) Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
US7237068B2 (en) Computer system employing bundled prefetching and null-data packet transmission
JP2007183702A (ja) キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム
JP2000010860A (ja) キャッシュメモリ制御回路及びプロセッサ及びプロセッサシステム及び並列プロセッサシステム
US6922755B1 (en) Directory tree multinode computer system
US5263144A (en) Method and apparatus for sharing data between processors in a computer system
KR20050011152A (ko) 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법
JP2000067024A (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
US6918009B1 (en) Cache device and control method for controlling cache memories in a multiprocessor system
JP4162493B2 (ja) 下位レベルのキャッシュを含むアクセスを促進するためのリバースディレクトリ
US7024520B2 (en) System and method enabling efficient cache line reuse in a computer system
JP2746530B2 (ja) 共有メモリマルチプロセッサ
JPH10501914A (ja) 共用キャッシュ・メモリ装置
US6678800B1 (en) Cache apparatus and control method having writable modified state
JPH11212869A (ja) キャッシュメモリ制御方法及びこれを用いたマルチプロセッサシステム
KR0145454B1 (ko) 분산된 공유 메모리를 갖는 다중 프로세서
JPH03230238A (ja) キャッシュメモリ制御方式
JPH0744459A (ja) キャッシュ制御方法およびキャッシュ制御装置
KR0138585B1 (ko) 분리형 트랜잭션 버스를 이용한 공유 메모리 다중 프로세서
JPH06208507A (ja) キャッシュメモリシステム
KR0164919B1 (ko) 메모리 모듈내에 디렉토리 캐쉬를 포함하는 다중 프로세서