JPH06124235A - キャッシュ制御方式 - Google Patents

キャッシュ制御方式

Info

Publication number
JPH06124235A
JPH06124235A JP5199696A JP19969693A JPH06124235A JP H06124235 A JPH06124235 A JP H06124235A JP 5199696 A JP5199696 A JP 5199696A JP 19969693 A JP19969693 A JP 19969693A JP H06124235 A JPH06124235 A JP H06124235A
Authority
JP
Japan
Prior art keywords
snoop
cache
address
processor
physical address
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
JP5199696A
Other languages
English (en)
Inventor
Shiyuuichi Takene
秀一 竹根
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP5199696A priority Critical patent/JPH06124235A/ja
Publication of JPH06124235A publication Critical patent/JPH06124235A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 マルチプロセッサシステムにおけるデータア
クセスを高速化する。 【構成】 アクセス要求側のプロセッサは、キャッシュ
メモリ12にデータがヒットせず、スヌープ動作の必要
がないときは、アドレスバス31上のアドレスの最上位
ビットにその旨を指定してラッチ7及びバッファ8を介
して共有バスに要求アドレスを出力する。アクセス検出
側のプロセッサは、共有バスのアドレスバス31の最上
位ビットをスヌープ制御回路4により検出し、スヌープ
動作の必要がないことを検出したときはスヌープ動作を
行わない。一方、スヌープの動作の必要があることを検
出したときはラッチ5及びマルチプレクサ6を介してキ
ャッシュ制御回路3によりキャッシュメモリ12のヒッ
ト判定を行い、キャッシュヒット時はヒットしたデータ
を主記憶装置へライトバックする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサシス
テムにおけるキャッシュ制御方式に関するものである。
【0002】
【従来の技術】図2は、マルチプロセッサシステムの一
構成例を示すブロック図である。図示のシステムは、共
有バス30に接続された、複数のプロセッサ11、21
と、共有の記憶装置である主記憶装置13と、入出力装
置14とから成る。各プロセッサ11、21は、それぞ
れ専用のキャッシュメモリ12、22を備えている。各
キャッシュメモリ12、22には、主記憶装置13上の
アクセス頻度の高いデータが転記されている。これによ
り、各プロセッサ11、21は、なるべく各々のキャッ
シュメモリ12、22をアクセスするだけでデータ処理
を実行できる。
【0003】このような非共有のキャッシュメモリ1
2、22を備えたマルチプロセッサシステムにおいて
は、各プロセッサ11、21のキャッシュメモリ12、
22及び主記憶装置13の間でデータの一致性を保証す
るハードウェア機構が備えられていた。例えば、あるプ
ロセッサのリードサイクルでキャッシュミスが発生し、
共有バス30上の主記憶装置13をリードする場合を考
えてみる。この場合、キャッシュ制御回路は、以下のよ
うに動作する。図3は、キャッシュ制御回路の動作順序
を説明するフローチャートであり、図4は、スヌープで
変更状態のデータブロックにヒットする場合のキャッシ
ュ制御回路の動作を説明するタイムチャートである。
【0004】図4において、Aはクロック信号、Bはキ
ャッシュミスによるバスサイクルの起動要求信号、Cは
アドレス、Dはキャッシュミスによるバスサイクルのア
ドレスストローブ信号、Eはスヌープアドレスストロー
ブ信号、Fはライトバックサイクル起動要求信号、Gは
キャッシュ状態信号、Hはライトバックサイクルのアド
レスストローブ信号である。まず、プロセッサでキャッ
シュミスが起こると(ステップS21)、キャッシュミ
スしたプロセッサのキャッシュ制御回路(以下、「要求
キャッシュ」と呼ぶ)がアクセスするアドレスCを共有
バスに出力する(ステップS22、図4時点t1)。こ
れとほぼ同時にスヌープアドレスストロープ信号Eを出
力し(図4時点t2)、他のプロセッサのキャッシュ制
御回路に対し、バスのスヌープ動作の実行を指示する
(ステップS23)。
【0005】他のプロセッサのキャッシュ制御回路は、
共有バスに出力されているアドレスCで指定されるデー
タブロックがキャッシュメモリ内に存在しているかどう
かチェックする(ステップS29、S30)。もし、変
更状態にあるデータブロックにヒットしていたら(ステ
ップS31)、それを検出したキャッシュ制御回路(以
下、「検出キャッシュ」と呼ぶ)は、要求キャッシュに
対し、キャッシュ状態信号Gによって変更状態のデータ
ブロックにヒットしていることを通知する(ステップS
32、図4時点t3)。要求キャッシュは、キャッシュ
状態信号Gにより変更状態のデータブロックがどこかの
キャッシュメモリ上にあることを知る(ステップS2
5)。すると、スヌープヒットしたキャッシュメモリ内
の変更状態にあるデータブロックをメモリへ書き戻す
(ライトバック)サイクルの起動要求信号Fを出力する
(ステップS26、図4時点t4)。
【0006】検出キャッシュは、ライトバックサイクル
の起動要求があったら(ステップS33)、ライトバッ
クサイクルを実行中であることを示す信号Hを出力し
(図4時点t5)、ライトバックサイクルを実行する
(ステップS34、S35)。要求キャッシュは、ライ
トバックサイクル実行中を示す信号Hが無効にされた
(ライトバックサイクルが終了した)ことを確認後(ス
テップS27、S28)、要求していたリードサイクル
を実行する。以上のように、共有バスへのアクセスが発
生すると、各プロッセサのキャッシュ制御回路はスヌー
プにより各自のキャッシュメモリの状態を検知し、それ
に応じてライトバックなど必要な処理を実行することに
よってデータの一致性を保証していた。
【0007】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような不都合な点があった。図
5は、スヌープでヒットしない場合のキャッシュ制御回
路の動作を説明するタイムチャートである。すなわち、
プロセッサ間で非共有のデータブロック、あるいは共有
であるが書き込み禁止であるデータブロックのアクセス
などのように、キャッシュメモリに変更状態のデータブ
ロックが存在しないことが明かである場合もある。この
ような場合の共有バスアクセス(図5時点t1)につい
ても各キャッシュ制御回路は無条件にスヌープを実行し
ていた(図3のステップS30)。このため、キャッシ
ュメモリの状態に関係なく、バスアクセスを開始できる
ような場合でもスヌープ要求からキャッシュ状態出力が
確定するまでの数クロックの間(図5時点t2〜t
3)、バスのアクセス開始を待たなければならなかった
のである。また、記憶装置内の物理アドレス空間は、ス
ヌープ有り・無しの二つの空間に分割されているが、二
つの空間はそれぞれそこをアクセスしたいときにスヌー
プサイクルを発生するかしないかの区別があるだけで、
実体は一つなのである。このため、実際に利用できるア
ドレス空間は二分の一ということであり、例えば、アド
レスバスが32ビットの場合には実装可能なメモリ容量
が最大で2GBに制限されてしまっていた。
【0008】本発明は、以上の点に着目してなされたも
ので、スヌープの必要がないバスサイクルの時も各キャ
ッシュ制御回路がスヌープ処理を実行してしまい、バス
サイクルの開始が遅くなってしまうという不都合な点を
除去するために、アドレス空間でスヌープ有効/無効を
指示することができるような制御回路を追加したキャッ
シュ制御方式を提供することを目的とするものである。
さらに本発明は、スヌープ有効・無効の空間をアドレス
バスの最上位ビットで指示することにより、利用できる
物理アドレス空間が少なくなってしまうという不都合な
点を除去するために、仮想アドレス制御方式における物
理アドレス空間の制御単位であるページ毎にスヌープの
有効・無効を指示できるようなキャッシュ制御方式を提
供することをも目的とするものである。
【0009】
【課題を解決するための手段】本発明のキャッシュ制御
方式は、共有バスに接続された記憶装置を共有するマル
チプロセッサシステムの各プロセッサに、前記共有バス
のスヌープ機能をサポートするライトバック方式の非共
有キャッシュメモリを用意し、前記記憶装置の物理アド
レス空間に対し、スヌープの有効なときに使用する物理
アドレス空間と、スヌープの無効なときに使用する物理
アドレス空間とを別個に用意し、アドレスの最上位ビッ
トにより当該アドレスがいずれの物理アドレス空間を指
示しているかを表示し、前記共有バス上のアドレスの最
上位ビットを識別することにより、いずれの物理アドレ
ス空間が使用されているかを判別し、前記スヌープの有
効なときに使用する物理アドレス空間が使用されている
ときにのみ、前記共有バスのスヌープ機能を動作させる
ことを特徴とするものである。
【0010】さらに、本発明のキャッシュ制御方式は、
前記記憶装置の物理アドレス空間に対し、あらかじめ別
個に用意するスヌープの有効なときに使用する物理アド
レス空間と、スヌープの無効なときに使用する物理アド
レス空間とををページ単位に指定可能とし、前記プロセ
ッサから、物理アドレスと同時にアクセスするページが
スヌープ有効か無効かを示す信号を出力し、この前記信
号を識別することにより、前記物理アドレスがいずれの
ページを使用しているかを判別し、前記スヌープが有効
なページが指定されているときにのみ、前記共有バスの
スヌープ機能を動作させることを特徴とするものであ
る。
【0011】
【作用】本発明のキャッシュ制御方式においては、マル
チプロセッサシステムのプロセッサのアクセス対象であ
る主記憶装置及びメモリマップに割り当てられた入出力
装置(メモリマップドI/O)から成る記憶装置に、2
種類の物理アドレス空間が割り当てられる。一方の物理
アドレス空間は、記憶装置上の書換が生じるデータをア
クセスするときに使用され、他方の物理アドレス空間
は、記憶装置上の書換が生じないデータをアクセスする
ときに使用される。共有バスにアクセス要求を出力する
プロセッサは、アドレスの最上位ビットにいずれの物理
アドレス空間を使用しているかを表示する。他のプロセ
ッサは、アドレスの最上位ビットを参照し、記憶装置上
の書換が生じないデータがアクセスされていることを検
出したときには、スヌープ機能を動作させる必要がない
と判断する。このため、他のプロセッサにより、スヌー
プ機能が動作されることはない。従って、共有バスにア
クセス要求を出したプロセッサは、スヌープ動作を待つ
必要がない
【0012】さらに本発明のキャッシュ制御方式におい
ては、前記2つの物理アドレス空間がページ単位で指定
され、共有バスにアクセス要求を出力するプロセッサ
は、アクセスするアドレスに該当するページがどちらの
物理アドレス空間を使用しているかを示す信号を出力表
示する。そしてキャッシュ制御回路は、前記信号によ
り、記憶装置上の書換が生じないデータがアクセスされ
ていることを検出したときには、スヌープ機能を動作さ
せる必要がないと判断し、他のプロセッサに対してスヌ
ープ動作を要求しない。このため、他のプロセッサのス
ヌープ結果を待つことなく、即座に共有バスのアクセス
を開始することができるようになると同時に、ページ単
位にてスヌープの有効・無効を指示するため、物理アド
レス空間をより効率良く使用することができるようにな
る。
【0013】
【実施例】以下、本発明の第一の実施例を図面を参照し
て詳細に説明する。図6は、本発明に係るシステムにお
けるアドレスマップ図である。図示のように、アドレス
の最上位ビット(MSB)によりスヌープの有効/無効
を指定する。図中のメモリとは、図2の主記憶装置13
を意味し、メモリマップドI/Oとは、図2の入出力装
置14を意味する。メモリ61及びメモリマップドI/
O62へのアクセスに対してはスヌープが実行される。
一方、メモリ63及びメモリマップドI/O64へのア
クセスに対してはスヌープは実行されない。メモリ61
とメモリ63、メモリマップドI/O62とメモリマッ
プドI/O64は、それぞれメモリ65とメモリマップ
ドI/O66をアドレスするので、メモリ65及びメモ
リマップドI/O66とも、スヌープ有効又はスヌープ
無効のどちらでもアクセスすることが可能である。
【0014】図1は、本発明のキャッシュ制御方式の第
一の実施例をあらわすブロック図である。図示する制御
回路は、バスインタフェイス回路1と、プロセッサイン
タフェイス回路2と、キャッシュ制御回路3と、スヌー
プ制御回路4と、スヌープアドレスラッチ5と、アドレ
スマルチプレクサ6と、プロセッサが出力するアドレス
のラッチ7と、アドレスバッファ8とから成る。まず、
バスインタフェイス回路1は、信号バス33からプロセ
ッサインタフェイス回路2に送られる制御信号をスヌー
プ制御回路4の指示の基に制御している。次に、プロセ
ッサインタフェイス回路2は、図示しないプロセッサに
接続される。そして、キャッシュ制御回路3は、キャッ
シュメモリ12と図示しない主記憶装置との間のデータ
ブロックの転送を制御している。
【0015】スヌープ制御回路4は、信号バス33とア
ドレスバス31の最上位ビットとを入力し、信号バス3
3によりアクセス要求を検出し、かつアドレスバス31
の最上位ビットによりスヌープ動作が必要であることを
検出したとき、スヌープ動作を開始する。すなわち、ス
ヌープアドレスラッチ5のアドレスで示されるデータが
キャッシュメモリ12上に存在するか否かをキャッシュ
制御回路3により検出させる。そして、当該データが存
在する場合には、図示しないデータバスに当該データを
出力し、逆に、存在しない場合には、その旨を出力す
る。これ以外の場合には、スヌープ制御回路4は、スヌ
ープ動作を行なわない。
【0016】次に本発明に係るキャッシュ制御回路の動
作を説明する。図7は、本発明に係るキャッシュ制御回
路における第一の実施例の処理手順を説明するフローチ
ャートである。図示の処理手順は、図3に示す従来の処
理手順に対応している。まず、要求キャッシュでは、キ
ャッシュミスか否かを判別し(ステップS1)、キャッ
シュミスのときは、共有バスへアドレスを出力する(ス
テップS2)。これにより、主記憶装置に対するアクセ
スを行う。そして、アドレスのMSBを参照し(ステッ
プS3)、スヌープ動作の必要がないときは、スヌープ
動作(ステップS4〜S8)を省略し、キャッシュミス
処理(ステップS9)、すなわち、主記憶装置からキャ
ッシュメモリへのデータブロックの転送処理を行う。一
方、アドレスの最上位ビットがスヌープ動作の必要があ
ることを示しているときは、他のプロセッサのキャッシ
ュへスヌープ実行を指示し(ステップS4)、スヌープ
動作が終了するまでウェイトする(ステップS5)。キ
ャッシュヒットを意味するキャッシュ状態信号を出力し
ているか否かを判別し(ステップS6)、キャッシュヒ
ットしているときは主記憶装置へのライトバック要求を
出す(ステップS7)。そして、ライトバックが終了す
るまで待つ(ステップS8)。尚、キャッシュヒットし
てないときはステップS7及びS8は実行しない。この
後、上述したキャッシュミス処理が行われる(ステップ
S9)。
【0017】次に、検出キャッシュでは、キャッシュヒ
ットを検出すると(ステップS1)、スヌープ要求があ
るか否かを判別する(ステップS10)。スヌープ要求
があるときは、スヌープ処理を行う(ステップS1
1)。すなわち、変更状態のデータブロックがあるか否
かを判別し(ステップS12)、変更状態のデータブロ
ックがあるときはキャッシュ状態信号を出力する(ステ
ップS13)。そして、要求キャッシュからライトバッ
ク要求があったか否かを検出し(ステップS14)、要
求があったときはライトバック処理を行い(ステップS
15)、ライトバック終了通知を出し(ステップS1
6)、処理を終了する。
【0018】図8は、本発明に係るキャッシュ制御回路
における第一の実施例の動作を説明するタイムチャート
である。図示のA〜Hの各信号は、図4及び図5の各信
号A〜Hと同じである。アドレスCの最上位ビット(M
SB)が“0”の時(図8時点t1)には、要求キャッ
シュは、スヌープアドレスストローブ信号Eを出力しな
いですぐに要求していたバスサイクルを実行する。他の
キャッシュ制御回路では、スヌープアドレスストローブ
信号Eが出力されないことから、スヌープは実行されな
い。この結果、スヌープによるオーバーヘッドを伴わず
にアドレスストローブ信号Dが出力される(図8時点t
2)。
【0019】次に、第二の実施例を図面を参照して詳細
に説明する。図9は、本発明に係るシステムにおけるペ
ージテーブルエントリをあらわす説明図である。このペ
ージテーブルエントリは、物理ページアドレスとページ
属性を示す制御ビットとから構成されている。すなわ
ち、ページ属性にスヌープ有効・無効を表示するビット
を追加し、ページ単位でスヌープの有効・無効を指定す
ることができるように設定したものである。この場合、
前記ビットが“1”のとき、該当ページへのアクセスに
対しスヌープは有効となり、逆に前記ビットが“0”の
とき、スヌープは無効となることになる。
【0020】図10は、本発明に係るシステムを構成す
るプロセッサの内部構成をあらわす説明図であり、図1
1は、メモリ管理ユニット(MMU)の内部構成をあら
わす説明図である。プロセッサは、命令の処理および命
令・オペランドのアドレスを計算するCPUコア71
と、これらの処理に必要なデータを一時的に保持してお
くレジスタファイル72と、CPUコア71にて計算さ
れ出力される命令・オペランドのアドレスを論理アドレ
スから物理アドレスに変換するメモリ管理ユニット(以
下、MMUという)73と、プロセッサ外部とのアドレ
ス・データの入出力を制御するバスコントロールユニッ
ト74とから構成されている。また前記メモリ管理ユニ
ット73は、命令あるいはオペランドの論理アドレスを
保持しておくアドレスラッチ81と、論理アドレスから
物理アドレスへのアドレス変換を高速化するための情報
を備えたバッファ(以下、TLBという)82と、バス
に対して出力する物理アドレスを一旦保持しておくアド
レスラッチ83と、TLB82内に保持されているペー
ジ属性ビットの中のスヌープ有効・無効表示ビットを外
部へ出力するためのラッチ84とから構成されている。
ここでいうTLB82内に保持されているページ属性
は、先に図9を用いて詳細に説明したページテーブルエ
ントリに設定されている内容を備えている。
【0021】図12は、本発明のキャッシュ制御方式の
第二の実施例をあらわすブロック図である。図示する制
御回路は、バスインタフェイス回路101と、プロセッ
サインタフェイス回路102と、キャッシュ制御回路1
03と、スヌープ制御回路104と、スヌープアドレス
ラッチ105と、アドレスマルチプレクサ106と、プ
ロセッサが出力するアドレスのラッチ107と、アドレ
スバッファ108と、アクセスしようとするアドレスの
ページのスヌープ有効・無効を表示する信号135を出
力する機能を持つプロセッサ109と、前記スヌープ有
効・無効表示信号135を保持しておくバッファ136
とから成る。まず、バスインタフェイス回路101は、
信号バス133からプロセッサインタフェイス回路10
2に送られる制御信号をスヌープ制御回路の指示の基に
制御している。次に、プロセッサインタフェイス回路1
02は、プロセッサ109に接続されている。そして、
キャッシュ制御回路103は、キャッシュメモリ112
と図示しない主記憶装置との間およびプロセッサ109
とキャッシュメモリ112との間のデータブロックの転
送を制御している。
【0022】スヌープ制御回路104は、信号バス13
3とスヌープ有効・無効表示信号135とを入力し、信
号バス133によりアクセス要求を検出し、かつスヌー
プ有効・無効表示信号135によりスヌープ動作が必要
であることを検出したときスヌープ動作を開始する。す
なわち、共有バスにアドレスを出力すると同時に、他の
プロセッサモジュールにスヌープ動作の起動を指示する
のである。このようにして、スヌープ動作を起動された
プロセッサモジュールは、スヌープアドレスラッチ10
5のアドレスに示されるデータがキャッシュメモリ11
2上に存在するか否かをキャッシュ制御回路103によ
り検出させる。そして、当該データが存在する場合に
は、図示しないデータバスに当該データを出力し、逆
に、当該データが存在しない場合には、その旨を出力す
る。これ以外の場合には、スヌープ制御回路104は、
スヌープ動作を行わない。
【0023】図1に示す第一の実施例と図12に示す第
二の実施例との違いは、第一の実施例がアドレスの最上
位ビット(MSB)に表示されるスヌープ動作の有効・
無効を識別し、プロセッサ自体はスヌープ有効・無効を
表示する信号を出力しないのに対して、第二の実施例で
は、プロセッサ自身がスヌープ有効・無効信号を出力
し、この信号によりスヌープ動作の有効・無効を識別し
ているというところである。
【0024】次に、本発明に係るキャッシュ制御回路の
動作について説明する。図13は、本発明に係るキャッ
シュ制御回路における第二の実施例の処理手順を説明す
るフローチャートである。ここで、本発明に係るキャッ
シュ制御回路における第二の実施例の処理手順は、先に
説明した第一の実施例の処理手順のステップS2とステ
ップS3とが異なっており、他のステップについては同
一である。まず、要求キャッシュでは、キャッシュミス
か否かを判別し(ステップS101)、キャッシュミス
のときは、プロセッサ109により共有バスへアクセス
するアドレスのページのスヌープ有効・無効表示信号1
35を出力する(ステップS102)。これにより、主
記憶装置に対するアクセスを行い、スヌープ有効・無効
表示信号135の識別を行う(ステップS103)。ス
ヌープ動作の必要がないとき、すなわち、出力されたス
ヌープ有効・無効表示信号135がHレベル(ヒットし
ていない場合)のときには、スヌープ動作(ステップS
104〜S108)を省略し、キャッシュミス処理(ス
テップS109)、いわゆる、主記憶装置からキャッシ
ュメモリ112へのデータブロックの転送処理を行う。
一方、出力されたスヌープ有効・無効表示信号135が
Lレベル(ヒットしている場合)ときは、スヌープ動作
の必要があることを示しており、他のプロセッサのキャ
ッシュへスヌープ実行を指示し(ステップS104)、
スヌープ動作が終了するまでウェイトする(ステップS
105)。その後、キャッシュヒットを意味するキャッ
シュ状態信号を出力しているか否かを判別し(ステップ
S106)、キャッシュヒットしているときは主記憶装
置へのライトバック要求を出す(ステップS107)。
そして、ライトバックが終了するまで待つ(ステップS
108)。尚、キャッシュヒットしてないときはステッ
プS107およびS108は実行しない。この後、上述
したキャッシュミス処理が行われる(ステップS10
9)。
【0025】次に、検出キャッシュでは、キャッシュヒ
ットを検出すると(ステップS101)、スヌープ要求
があるか否かを判別する(ステップS110)。スヌー
プ要求があるときは、スヌープ処理を行う(ステップS
111)。すなわち、変更状態のデータブロックがある
か否かを判別し(ステップS112)、変更状態のデー
タブロックがあるときはキャッシュ状態信号を出力する
(ステップS113)。そして、要求キャッシュからラ
イトバック要求があったか否かを検出し(ステップS1
14)、要求があったときはライトバック処理を行い
(ステップS115)、ライトバック終了通知を出し
(ステップS116)、処理を終了する。
【0026】図14は、本発明に係るキャッシュ制御回
路における第二の実施例の動作を説明するタイムチャー
トである。図14に示すA〜Hの各信号は、キャッシュ
制御回路の第一の実施例の動作を説明するときに用いた
図8に示すA〜Hの各信号と同一である。両者の違い
は、第二の実施例では、第一の実施例で用いたアドレス
Cの最上位ビット(MSB)のかわりに、プロセッサが
出力するスヌープ有効・無効表示信号Iによって、スヌ
ープ動作を実行するか否かを決定しているというところ
である。すなわち、スヌープ有効・無効表示信号Iは、
アドレスCと同じタイミングで出力され、当該信号Iが
Hレベルのときにはスヌープ有効であることを示してお
り、逆に、当該信号IがLレベルのときにはスヌープ無
効であることを示している。
【0027】この結果、キャッシュ制御回路は、プロセ
ッサから出力されたスヌープ有効・無効表示信号から記
憶装置上の書換が生じないデータがアクセスされている
ことを検出すると、スヌープ機能を動作させる必要がな
いと判断し、他のプロセッサに対してスヌープ動作を要
求しない。このため、他のプロセッサのスヌープ結果を
待つことなく、即座に共有バスのアクセスを開始するこ
とができる。
【0028】
【発明の効果】以上説明したように、本発明のキャッシ
ュ制御方式によれば、アクセスするアドレス空間によっ
てスヌープの有効・無効を選択できるようにしたので、
キャッシュメモリに変更状態のデータブロックが存在し
ないことが明かであるようなデータのアクセスはスヌー
プ無効のアドレス空間でアクセスすることによってスヌ
ープのオーバーヘッドを解消できる。そしてこれによ
り、アクセスの高速化が期待できる。さらに、スヌープ
の有効・無効はアドレスの最上位ビットで切り替えるよ
うにしているので、スヌープ無効としてアクセスしてい
たデータをスヌープ有効としてアクセスするか、あるい
はその逆も容易に実現することができる。これにより、
例えば、処理の初期段階では1つのプロセッサがローカ
ルにデータをアクセスし、その後、複数のプロセッサが
データをアクセスするという場合にも、これに対応した
きめ細かな制御を行うことができる。すなわち、1つの
プロセッサがデータをアクセスするときにはスヌープ無
効のアドレス空間を使用し、これにより、データアクセ
スを高速化することも可能である。また、アクセスする
アドレス空間のスヌープ有効・無効をページ単位で選択
できるようにしたことで、アドレス空間をさらに効率良
く使用することができる。これにより、例えば、キャッ
シュメモリに変更状態のデータブロックが存在しないこ
とが明かであるようなデータが、一ページ分に満たない
データ量(サイズ)しかないような場合であれば、アド
レス空間の半分をスヌープ無効の空間とすることなく、
一ページ分だけをスヌープ無効に設定しさえすれば良い
ということになる。
【図面の簡単な説明】
【図1】本発明のキャッシュ制御方式の第一の実施例を
あらわすブロック図である。
【図2】マルチプロセッサシステムの一構成例を示すブ
ロック図である。
【図3】従来のキャッシュ制御回路における処理手順を
説明するフローチャートである。
【図4】スヌープで変更状態のデータブロックにヒット
する場合のキャッシュ制御回路の動作を説明するタイム
チャートである。
【図5】スヌープでヒットしない場合のキャッシュ制御
回路の動作を説明するタイムチャートである。
【図6】本発明に係るシステムにおけるメモリマップ図
である。
【図7】本発明に係るキャッシュ制御回路における第一
の実施例の処理手順を説明するフローチャートである。
【図8】本発明に係るキャッシュ制御回路における第一
の実施例の動作を説明するタイムチャートである。
【図9】本発明に係るシステムにおけるページテーブル
エントリをあらわす説明図である。
【図10】本発明に係るシステムを構成するプロセッサ
の内部構成図である。
【図11】図10におけるメモリ管理ユニット(MM
U)の内部構成図である。
【図12】本発明のキャッシュ制御方式の第二の実施例
をあらわすブロック図である。
【図13】本発明に係るキャッシュ制御回路における第
二の実施例の処理手順を説明するフローチャートであ
る。
【図14】本発明に係るキャッシュ制御回路における第
二の実施例の動作を説明するタイムチャートである。
【符号の説明】
1 バスインタフェイス回路 2 プロセッサインタフェイス回路 3 キャッシュ制御回路 4 スヌープ制御回路 5、7 ラッチ 6 マルチプレクサ 8 バッファ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 共有バスに接続された記憶装置を共有す
    るマルチプロセッサシステムの各プロセッサに、前記共
    有バスのスヌープ機能をサポートするライトバック方式
    の非共有キャッシュメモリを用意し、 前記記憶装置の物理アドレス空間に対し、スヌープの有
    効なときに使用する物理アドレス空間と、スヌープの無
    効なときに使用する物理アドレス空間とを別個に用意
    し、 アドレスの最上位ビットにより当該アドレスがいずれの
    物理アドレス空間を指示しているかを表示し、 前記共有バス上のアドレスの最上位ビットを識別するこ
    とにより、いずれの物理アドレス空間が使用されている
    かを判別し、 前記スヌープの有効なときに使用する物理アドレス空間
    が使用されているときにのみ、前記共有バスのスヌープ
    機能を動作させることを特徴とするキャッシュ制御方
    式。
  2. 【請求項2】 共有バスに接続された記憶装置を共有す
    るマルチプロセッサシステムの各プロセッサに、前記共
    有バスのスヌープ機能をサポートするライトバック方式
    の非共有キャッシュメモリを用意し、 前記記憶装置の物理アドレス空間に対し、スヌープの有
    効なときに使用する物理アドレス空間と、スヌープの無
    効なときに使用する物理アドレス空間とを別個に用意
    し、 前記両物理アドレス空間をページ単位に指定可能とし、 前記プロセッサから、物理アドレスと同時にアクセスす
    るページがスヌープ有効か無効かを示す信号を出力表示
    し、 この前記信号を識別することにより、前記物理アドレス
    がいずれのページを使用しているかを判別し、 前記スヌープが有効なページが指定されているときにの
    み、前記共有バスのスヌープ機能を動作させることを特
    徴とするキャッシュ制御方式。
JP5199696A 1992-08-25 1993-08-11 キャッシュ制御方式 Pending JPH06124235A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5199696A JPH06124235A (ja) 1992-08-25 1993-08-11 キャッシュ制御方式

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP24872292 1992-08-25
JP4-248722 1992-08-25
JP5199696A JPH06124235A (ja) 1992-08-25 1993-08-11 キャッシュ制御方式

Publications (1)

Publication Number Publication Date
JPH06124235A true JPH06124235A (ja) 1994-05-06

Family

ID=26511697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5199696A Pending JPH06124235A (ja) 1992-08-25 1993-08-11 キャッシュ制御方式

Country Status (1)

Country Link
JP (1) JPH06124235A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008140258A (ja) * 2006-12-04 2008-06-19 Renesas Technology Corp バス制御装置
WO2018179873A1 (ja) * 2017-03-28 2018-10-04 日本電気株式会社 アクセラレータを有する計算機のためのライブラリ、およびアクセラレータ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008140258A (ja) * 2006-12-04 2008-06-19 Renesas Technology Corp バス制御装置
WO2018179873A1 (ja) * 2017-03-28 2018-10-04 日本電気株式会社 アクセラレータを有する計算機のためのライブラリ、およびアクセラレータ

Similar Documents

Publication Publication Date Title
US5787486A (en) Bus protocol for locked cycle cache hit
KR100194253B1 (ko) 메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템
US4831520A (en) Bus interface circuit for digital data processor
JP3289661B2 (ja) キャッシュメモリシステム
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
CA1300280C (en) Central processor unit for digital data processing system including write buffer management mechanism
KR100228940B1 (ko) 메모리 일관성 유지 방법
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
US5918069A (en) System for simultaneously writing back cached data via first bus and transferring cached data to second bus when read request is cached and dirty
US5091845A (en) System for controlling the storage of information in a cache memory
JPH1031625A (ja) マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
US5678025A (en) Cache coherency maintenance of non-cache supporting buses
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
JPH10105461A (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
JPH06124235A (ja) キャッシュ制御方式
JPH06282528A (ja) データ転送方法及びそのシステム
US5276892A (en) Destination control logic for arithmetic and logic unit for digital data processor
JP2002342162A (ja) メモリアクセス制御方式及びホストブリッジ
JPH0784879A (ja) キャッシュメモリ装置
JPH07234819A (ja) キャッシュメモリ
JP2002108702A (ja) マイクロコンピュータ及びデータ処理装置
JPH09185547A (ja) マルチプロセッサの制御方法及びその装置
JP2756546B2 (ja) デジタルデータ処理システムに使用される処理装置