JPH02226449A - キャッシュメモリ制御方式 - Google Patents
キャッシュメモリ制御方式Info
- Publication number
- JPH02226449A JPH02226449A JP1047217A JP4721789A JPH02226449A JP H02226449 A JPH02226449 A JP H02226449A JP 1047217 A JP1047217 A JP 1047217A JP 4721789 A JP4721789 A JP 4721789A JP H02226449 A JPH02226449 A JP H02226449A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- memory
- write
- processor
- data
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 196
- 238000000034 method Methods 0.000 claims description 21
- 238000001514 detection method Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
この発明は、マルチプロセッサシステムにおけるキャッ
シュメモリ制御方式に関する。
シュメモリ制御方式に関する。
(従来の技術)
複数のプロセッサが主記憶を共有使用するキャッシュメ
モリ制御方式のマルチプロセッサシステムでは、メモリ
ライト時のキャッシュメモリ制御としてライトスルー方
式を適用するのが一般的である。マルチプロセッサシス
テムでライトスルー方式が適用される理由は、以下に述
べるように各プロセッサ毎に用意されるキャッシュメモ
リと主記憶との間のデータの一致がとり易いためである
。即ち、マルチプロセッサシステムにおけるライトスル
ー方式では、成るプロセッサからのメモリライト要求が
あった場合、このプロセッサのキャッシュメモリは勿論
、主記憶にもデータが書込まれる。これと同時に他のプ
ロセッサの(キャッシュメモリをそれぞれ管理するため
の)各キャソシュタグメモリがチエツクされ、もし他の
プロセッサのキャッシュメモリに同一アドレス(同一ブ
ロックアドレス)の内容が格納されていた場合、対応す
るキャッシュタグメモリのタグを無効状態にする操作が
行われる。この結果、各プロセッサのキャッンユメモリ
と主記憶との間でデータを一致させることか可能となる
。
モリ制御方式のマルチプロセッサシステムでは、メモリ
ライト時のキャッシュメモリ制御としてライトスルー方
式を適用するのが一般的である。マルチプロセッサシス
テムでライトスルー方式が適用される理由は、以下に述
べるように各プロセッサ毎に用意されるキャッシュメモ
リと主記憶との間のデータの一致がとり易いためである
。即ち、マルチプロセッサシステムにおけるライトスル
ー方式では、成るプロセッサからのメモリライト要求が
あった場合、このプロセッサのキャッシュメモリは勿論
、主記憶にもデータが書込まれる。これと同時に他のプ
ロセッサの(キャッシュメモリをそれぞれ管理するため
の)各キャソシュタグメモリがチエツクされ、もし他の
プロセッサのキャッシュメモリに同一アドレス(同一ブ
ロックアドレス)の内容が格納されていた場合、対応す
るキャッシュタグメモリのタグを無効状態にする操作が
行われる。この結果、各プロセッサのキャッンユメモリ
と主記憶との間でデータを一致させることか可能となる
。
さて、メモリライト時のキャッシュメモリ制御方式とし
て、上記のライトスルー方式の他にライトバック方式が
知られている。このライトバック方式は、通常はメモリ
ライトを要求したプロセッ→ノ゛のキャッシュメモリへ
の書込みを行うだけのため、処理は簡単11つ高速とな
るものの、キャッシュメモリと主記憶との間のデータの
一致はとれない。したがって、主記憶を複数のプロセッ
サで共qするマルチプロセッサシステムでは、採用され
ていなかった。
て、上記のライトスルー方式の他にライトバック方式が
知られている。このライトバック方式は、通常はメモリ
ライトを要求したプロセッ→ノ゛のキャッシュメモリへ
の書込みを行うだけのため、処理は簡単11つ高速とな
るものの、キャッシュメモリと主記憶との間のデータの
一致はとれない。したがって、主記憶を複数のプロセッ
サで共qするマルチプロセッサシステムでは、採用され
ていなかった。
(発明が解決しようとする課題)
上記したように従来のマルチプロセッサシステムにおけ
るキャッシュメモリ制御方式では、各プロセッサのキャ
ッシュメモリと主記憶との間のデータの一致をとり品く
するためにライトスルー方式が適用されていた。しかし
、ライトスルー方式では、成るプロセッサからメモリラ
イト要求が出された場合、主記憶への書込み動作、およ
び他のプロセッサのキャッシュタグメモリを対象とする
タグチエツクが必ず必要となるため、システム性能の低
下を招くという問題があった。
るキャッシュメモリ制御方式では、各プロセッサのキャ
ッシュメモリと主記憶との間のデータの一致をとり品く
するためにライトスルー方式が適用されていた。しかし
、ライトスルー方式では、成るプロセッサからメモリラ
イト要求が出された場合、主記憶への書込み動作、およ
び他のプロセッサのキャッシュタグメモリを対象とする
タグチエツクが必ず必要となるため、システム性能の低
下を招くという問題があった。
したがってこの発明の解決すべき課題は、マルチプロセ
ッサシステムにおける各プロセッサのキャッシュメモリ
と主記憶との間のデータ一致を図りながら、システム性
能の向上が図れるようにすることである。
ッサシステムにおける各プロセッサのキャッシュメモリ
と主記憶との間のデータ一致を図りながら、システム性
能の向上が図れるようにすることである。
[発明の構成]
(課題を解決するための手段)
この発明は、複数のプロセッサが主記憶を共有使用する
キャッシュメモリ制御方式のマルチプロセッサシステム
に、上記プロセッサから主記憶アクセス要求が発せられ
た際に、その要求先の主記憶領域が他プロセッサとの間
で共有使用される共有領域であるか否かを判別する判別
手段を設け、主記憶アクセス要求がライトアクセス要求
の場合には、土肥tll別手段の判別結果に応じてライ
トスルー方式またはライトバック方式によるキャッシュ
メモリ制御を行うようにしたことを特徴とする。
キャッシュメモリ制御方式のマルチプロセッサシステム
に、上記プロセッサから主記憶アクセス要求が発せられ
た際に、その要求先の主記憶領域が他プロセッサとの間
で共有使用される共有領域であるか否かを判別する判別
手段を設け、主記憶アクセス要求がライトアクセス要求
の場合には、土肥tll別手段の判別結果に応じてライ
トスルー方式またはライトバック方式によるキャッシュ
メモリ制御を行うようにしたことを特徴とする。
(作用)
この発明は、マルチプロセッサシステムにおいて谷プロ
セッサのキャッシュメモリと主J己憶との間でデータの
一致をとる必要がある領域は、主記憶の全領域ではなく
、各プロセッサで実際に共a使用される共a領域だけで
あることに右目してなされており、プロセッサからのラ
イトアクセス要求先が主記憶の共有領域でないことが上
記判別手段によって判別された場合に、ライトバック方
式によるキャッシュメモリ制御に切換えることにより、
従来は避けられなかった不用な主記憶へのライト動作や
他プロセッサのタグチエツクの発生を防止することがで
きるようになる。なお、プロセッサからのライトアクセ
ス要求先が主記憶の共有領域である場合には、各プロセ
ッサのキャッシュメモリと主記憶との間でデータの一致
をとるためにライトスルー方式のキャッシュメモリ制御
を行う必要がある。
セッサのキャッシュメモリと主J己憶との間でデータの
一致をとる必要がある領域は、主記憶の全領域ではなく
、各プロセッサで実際に共a使用される共a領域だけで
あることに右目してなされており、プロセッサからのラ
イトアクセス要求先が主記憶の共有領域でないことが上
記判別手段によって判別された場合に、ライトバック方
式によるキャッシュメモリ制御に切換えることにより、
従来は避けられなかった不用な主記憶へのライト動作や
他プロセッサのタグチエツクの発生を防止することがで
きるようになる。なお、プロセッサからのライトアクセ
ス要求先が主記憶の共有領域である場合には、各プロセ
ッサのキャッシュメモリと主記憶との間でデータの一致
をとるためにライトスルー方式のキャッシュメモリ制御
を行う必要がある。
(実施例)
第1図はこの発明を適用するマルチプロセッサシステム
の一実施例を示すブロックもη成因である。同図におい
て、11は主記憶、+2−0.12−1は主記憶I+を
共有使用するプロセッサである。この実施例において1
.プロセッサ+2−0.12−1は論理アドレスによっ
て主記憶11をアクセスするようになっている。主記憶
11の領域は、主としてプログラム領域、プロセッサ1
2−0.12−1に固有のローカルデータ領域、および
プロセッサ12−0.12−1が相互のデータ交換等の
ために共有使用する共有領域に分けて用いられ、各領域
はページを単位に管理される。13は主記憶tiのメモ
リバスである。このメモリバス13は、アドレス、デー
タ、リード/ライト信号等の他に、主記憶11の共有領
域へのアクセスであるか否かを示す共有領域アクセス信
号の転送に供される。なお、メモリバス13に代えてシ
ステムバスを用いることも可能である。
の一実施例を示すブロックもη成因である。同図におい
て、11は主記憶、+2−0.12−1は主記憶I+を
共有使用するプロセッサである。この実施例において1
.プロセッサ+2−0.12−1は論理アドレスによっ
て主記憶11をアクセスするようになっている。主記憶
11の領域は、主としてプログラム領域、プロセッサ1
2−0.12−1に固有のローカルデータ領域、および
プロセッサ12−0.12−1が相互のデータ交換等の
ために共有使用する共有領域に分けて用いられ、各領域
はページを単位に管理される。13は主記憶tiのメモ
リバスである。このメモリバス13は、アドレス、デー
タ、リード/ライト信号等の他に、主記憶11の共有領
域へのアクセスであるか否かを示す共有領域アクセス信
号の転送に供される。なお、メモリバス13に代えてシ
ステムバスを用いることも可能である。
14−0.14−1はプロセッサ12−0.12−1の
主記憶11に対するアクセスを管理するためのメモリ管
理ユニットである。メモリ管理ユニット14−0. 1
4−1は、プロセッサ+2−0. 12−1から出力さ
れる論理アドレスのうち、ページ内オフセット(ディス
プレイスメント)を示す下位ビットを除くアドレス(論
理アドレス情報)を、物理アドレス情報(ページ内オフ
セットを除く上位物理アドレス)PAに変換するだめの
アドレス変換テーブル15−0.15−1を持つ。アド
レス変換テーブル15−0.15−1は、論理アドレス
情報で指定可能な段数のエントリを有しており、各エン
トリには対応する論理アドレス情報で指定される論理ペ
ージ領域が割付けられる上記+f5.11の物理ページ
領域を示す物理アドレス情報PA、主記憶保護情報Pな
どの周知の情報、および上記物理ページ領域が共有領域
に属しているか否かを示す共有フラグSF (SF−1
で共有領域を示す)を有するアドレス変換情報が登録さ
れる。
主記憶11に対するアクセスを管理するためのメモリ管
理ユニットである。メモリ管理ユニット14−0. 1
4−1は、プロセッサ+2−0. 12−1から出力さ
れる論理アドレスのうち、ページ内オフセット(ディス
プレイスメント)を示す下位ビットを除くアドレス(論
理アドレス情報)を、物理アドレス情報(ページ内オフ
セットを除く上位物理アドレス)PAに変換するだめの
アドレス変換テーブル15−0.15−1を持つ。アド
レス変換テーブル15−0.15−1は、論理アドレス
情報で指定可能な段数のエントリを有しており、各エン
トリには対応する論理アドレス情報で指定される論理ペ
ージ領域が割付けられる上記+f5.11の物理ページ
領域を示す物理アドレス情報PA、主記憶保護情報Pな
どの周知の情報、および上記物理ページ領域が共有領域
に属しているか否かを示す共有フラグSF (SF−1
で共有領域を示す)を有するアドレス変換情報が登録さ
れる。
なお、主記憶保護情報Pについては、この発明に直接関
係しないため説明を省略する。
係しないため説明を省略する。
1B−0,16−1はキャッシュブロックである。キャ
ー/ シュ”:f o ツク16−0. 16−1ハ、
上記tall(7)一部の写しが所定サイズのブロック
単位で置かれるキャッシュデータメモリ、このキャッシ
ュデータメモリに置かれている上記各ブロックに対応す
るアドレス領域を示すアドレスタグ並びに同タグが有効
であるか否かを示すバリッドビットを含むタグ情報が登
録されるキャッシュタグメモリ、およびプロセッサ12
−0.12−1がアクセスしようとする主記憶11の領
域のデータがキャッシュデータメモリに存在するか否か
(即ちヒツト/ミスヒツト)を検出するためのヒツト検
出器(いずれも図示せず)を有する。17−0.17−
1はキャッシュブロック18−0゜18−1 (内のヒ
ツト検出器)からのヒツト/ミスヒツトを示すヒツト検
出信号である。If!−0,fli−■はキャッシュブ
ロック+6−0.18−1内のキャッシュタグメモリと
は別に設けられたキャッシュタグメモリ、+9−0.1
9−1は他プロセッサからの主記憶アクセス要求時に上
記[11に対する(ライトスルーによる)書込みが行わ
れた場合に、その領域のデータがキャッシュブロックI
G−0,ie−を内のキャッシュデータメモリに存在す
るか否かを、メモリバス13上のメモリアドレス(ライ
トアドレス)の所定フィールドと、同アドレスで指定さ
れるキャッシュタグメモリ17−0.17−1内エント
リのアドレスタグとを比較することでチエツクする比較
器、20−0゜20刊は比較器+9−0.19−1の比
較結果を示す一致検出信号である。
ー/ シュ”:f o ツク16−0. 16−1ハ、
上記tall(7)一部の写しが所定サイズのブロック
単位で置かれるキャッシュデータメモリ、このキャッシ
ュデータメモリに置かれている上記各ブロックに対応す
るアドレス領域を示すアドレスタグ並びに同タグが有効
であるか否かを示すバリッドビットを含むタグ情報が登
録されるキャッシュタグメモリ、およびプロセッサ12
−0.12−1がアクセスしようとする主記憶11の領
域のデータがキャッシュデータメモリに存在するか否か
(即ちヒツト/ミスヒツト)を検出するためのヒツト検
出器(いずれも図示せず)を有する。17−0.17−
1はキャッシュブロック18−0゜18−1 (内のヒ
ツト検出器)からのヒツト/ミスヒツトを示すヒツト検
出信号である。If!−0,fli−■はキャッシュブ
ロック+6−0.18−1内のキャッシュタグメモリと
は別に設けられたキャッシュタグメモリ、+9−0.1
9−1は他プロセッサからの主記憶アクセス要求時に上
記[11に対する(ライトスルーによる)書込みが行わ
れた場合に、その領域のデータがキャッシュブロックI
G−0,ie−を内のキャッシュデータメモリに存在す
るか否かを、メモリバス13上のメモリアドレス(ライ
トアドレス)の所定フィールドと、同アドレスで指定さ
れるキャッシュタグメモリ17−0.17−1内エント
リのアドレスタグとを比較することでチエツクする比較
器、20−0゜20刊は比較器+9−0.19−1の比
較結果を示す一致検出信号である。
21−0. 21−1はメモリ管理ユニット14−0.
14−1から出力されるメモリアドレス(主記憶アド
レス)またはメモリバス13上のメモリアドレス(ライ
トアドレス)のいずれか一方をキャッシュブロック16
−0. 16−1に選択出力するセレクタ、22−0.
22−1はメモリ管理ユニット14−0. 14−1か
ら出力されるメモリアドレス(主記憶アドレス)または
メモリバス13上のメモリアドレス(ライトアドレス)
のいずれか一方をキャッシュタグメモリts−o、 t
s−tに選択出力するセレクタである。23−0.23
−1はキャッシュメモリ制御を司るキャッシュ制御部で
ある。このキャッシュ制御部23−0.23−1はメモ
リバス13、メモリ管理ユニット14−0.14−1、
キャッシュブロックte−o、 te−tおよび比較器
19−0.19−1などと接続されており、同制御部2
3−0.23−1には、メモリ管理ユニット14−0.
14−1でのアドレス変換時に参照されるアドレス変換
テーブル15−0.15−1のエントリ中の共有フラグ
SF、キャッシュブロック16−0.18−1 (内の
ヒツト検出器)からのヒツト検出信号17−0. 17
−Lおよび比較器19−0.19−1からの一致検出信
号20−0.20−1などが供給されるようになってい
る。
14−1から出力されるメモリアドレス(主記憶アド
レス)またはメモリバス13上のメモリアドレス(ライ
トアドレス)のいずれか一方をキャッシュブロック16
−0. 16−1に選択出力するセレクタ、22−0.
22−1はメモリ管理ユニット14−0. 14−1か
ら出力されるメモリアドレス(主記憶アドレス)または
メモリバス13上のメモリアドレス(ライトアドレス)
のいずれか一方をキャッシュタグメモリts−o、 t
s−tに選択出力するセレクタである。23−0.23
−1はキャッシュメモリ制御を司るキャッシュ制御部で
ある。このキャッシュ制御部23−0.23−1はメモ
リバス13、メモリ管理ユニット14−0.14−1、
キャッシュブロックte−o、 te−tおよび比較器
19−0.19−1などと接続されており、同制御部2
3−0.23−1には、メモリ管理ユニット14−0.
14−1でのアドレス変換時に参照されるアドレス変換
テーブル15−0.15−1のエントリ中の共有フラグ
SF、キャッシュブロック16−0.18−1 (内の
ヒツト検出器)からのヒツト検出信号17−0. 17
−Lおよび比較器19−0.19−1からの一致検出信
号20−0.20−1などが供給されるようになってい
る。
次に、第1図の構成の動作を説明する。
まずプロセッサ12−0で主記憶アクセス要求が発生さ
れ、同プロセッサ12−0からアクセス先を示す論理ア
ドレスが出力されたものとする。この論理アドレスはメ
モリ管理ユニット14−0に供給される。
れ、同プロセッサ12−0からアクセス先を示す論理ア
ドレスが出力されたものとする。この論理アドレスはメ
モリ管理ユニット14−0に供給される。
メモリ管理ユニット14−0は、プロセッサ12−0か
らの論理アドレスの上位アドレス(論理アドレス情報)
の指定するアドレス変換テーブル15−0のエントリを
参照し、同エントリ中の物理アドレス情報FAと上記論
理アドレスのページ内オフセットとにより、上記論理ア
ドレスに対応する物理アドレスを求める。即ちメモリ管
理ユニット14−0は、プロセッサ12−0からの論理
アドレスを物理アドレスに変換する。この物理アドレス
はセレクタ21−0゜22−0の一方の入力に供給され
る。セレクタ21−0゜22−0の他方の入力にはメモ
リバス13(のアドレスバス)上のアドレスが供給され
るようになっている。
らの論理アドレスの上位アドレス(論理アドレス情報)
の指定するアドレス変換テーブル15−0のエントリを
参照し、同エントリ中の物理アドレス情報FAと上記論
理アドレスのページ内オフセットとにより、上記論理ア
ドレスに対応する物理アドレスを求める。即ちメモリ管
理ユニット14−0は、プロセッサ12−0からの論理
アドレスを物理アドレスに変換する。この物理アドレス
はセレクタ21−0゜22−0の一方の入力に供給され
る。セレクタ21−0゜22−0の他方の入力にはメモ
リバス13(のアドレスバス)上のアドレスが供給され
るようになっている。
セレクタ21−0.22−0は、通常状態では、メモリ
管理ユニット14−0から出力されるアドレスを選択す
る。セレクタ21−0によって選択されたアドレスはキ
ャッシュブロック16−0に供給され、セレクタ22−
0によって選択されたアドレスはキャッシュタグメモリ
18−Oに供給される。キャッシュブロック16−0で
は、セレクタ21−0によって選択出力されたメモリ管
理ユニット14−0からのアドレスが属する主記憶11
のブロックのデータが、キャッシュブロック16−0内
のキャッシュデータメモリに存在するか否かが、周知の
方式で1凋べられ、その結果を示すヒツト検出信号17
−0がキャッシュブロック1G−0(のヒツト検出回路
)からキャッシュ制御部23−0に供給される。このキ
ャッシュ制御部23−0には、上記した物理アドレスへ
の変換に際して参照されたアドレス変換テーブル15−
0内エントリの共有フラグSFがメモリ管理ユニット1
4−0から供給される。またキャッシュ制御部23−0
には、プロセッサ12−0からの主記憶アクセス要求が
リードアクセス要求であるかライトアクセス要求である
かを示すアクセス種別も通知される。キャッシュ制御部
23−0は、上記共有フラグSFおよびアクセス種別等
に応じてキャッシュメモリ制御を行う。このキャッシュ
メモリ制御について以下に詳述する。
管理ユニット14−0から出力されるアドレスを選択す
る。セレクタ21−0によって選択されたアドレスはキ
ャッシュブロック16−0に供給され、セレクタ22−
0によって選択されたアドレスはキャッシュタグメモリ
18−Oに供給される。キャッシュブロック16−0で
は、セレクタ21−0によって選択出力されたメモリ管
理ユニット14−0からのアドレスが属する主記憶11
のブロックのデータが、キャッシュブロック16−0内
のキャッシュデータメモリに存在するか否かが、周知の
方式で1凋べられ、その結果を示すヒツト検出信号17
−0がキャッシュブロック1G−0(のヒツト検出回路
)からキャッシュ制御部23−0に供給される。このキ
ャッシュ制御部23−0には、上記した物理アドレスへ
の変換に際して参照されたアドレス変換テーブル15−
0内エントリの共有フラグSFがメモリ管理ユニット1
4−0から供給される。またキャッシュ制御部23−0
には、プロセッサ12−0からの主記憶アクセス要求が
リードアクセス要求であるかライトアクセス要求である
かを示すアクセス種別も通知される。キャッシュ制御部
23−0は、上記共有フラグSFおよびアクセス種別等
に応じてキャッシュメモリ制御を行う。このキャッシュ
メモリ制御について以下に詳述する。
第1図のマルチプロセッサシステムでは、上記tati
の領域は、前記したように主としてプログラム領域、ロ
ーカルデータ領域および共有領域に割当てられる。この
3種の領域の中で、プログラム領域およびローカルデー
タ領域は、必ずしも他プロセッサのキャッシュデータメ
モリとの間でブタの一致をる必要はない。このような場
合をケスaと呼ぶ。これに対して共釘領域は、各プロセ
ッサで共有使用されデータ交換等に供されることから、
各プロセッサのキャッシュメモリ同士の間でデータの一
致をとる必要がある。このような場合を、ケースbと呼
ぶ。本実施例におけるキャッシュメモリ制御は、上記の
ケース(a/b)とプロセッサからの主記憶アクセス要
求の種別(ライトアクセス/リードアクセス)との組合
わせにより、■ケースaにおけるキャッシュメモリ制御
(タイプ1のキャッシュメモリ制御と呼ぶ)■ケースb
で且つリードアクセス時におけるキャッシュメモリ制御
(タイプ2のキャッシュメモリ制御と呼ぶ)、■ケース
bで且つライトアクセス時におけるキャッシュメモリ制
御(タイプ3のキャッシュメモリ制御と呼ぶ)の3種に
大別される。
の領域は、前記したように主としてプログラム領域、ロ
ーカルデータ領域および共有領域に割当てられる。この
3種の領域の中で、プログラム領域およびローカルデー
タ領域は、必ずしも他プロセッサのキャッシュデータメ
モリとの間でブタの一致をる必要はない。このような場
合をケスaと呼ぶ。これに対して共釘領域は、各プロセ
ッサで共有使用されデータ交換等に供されることから、
各プロセッサのキャッシュメモリ同士の間でデータの一
致をとる必要がある。このような場合を、ケースbと呼
ぶ。本実施例におけるキャッシュメモリ制御は、上記の
ケース(a/b)とプロセッサからの主記憶アクセス要
求の種別(ライトアクセス/リードアクセス)との組合
わせにより、■ケースaにおけるキャッシュメモリ制御
(タイプ1のキャッシュメモリ制御と呼ぶ)■ケースb
で且つリードアクセス時におけるキャッシュメモリ制御
(タイプ2のキャッシュメモリ制御と呼ぶ)、■ケース
bで且つライトアクセス時におけるキャッシュメモリ制
御(タイプ3のキャッシュメモリ制御と呼ぶ)の3種に
大別される。
そこで、この■〜■のキャッシュメモリ制御について順
に説明する。
に説明する。
■タイプ1のキャッシュメモリ制御
キャッシュ制御部23−〇は、プロセッサ12−0から
の主記憶アクセス要求時にメモリ管理ユニット14−0
から供給される共HフラグSFが“0“の場合、即ち主
記憶アクセス要求先が共H8fj域でない場合、ライト
バック方式のキャッシュメモリ制御を適用す−る。
の主記憶アクセス要求時にメモリ管理ユニット14−0
から供給される共HフラグSFが“0“の場合、即ち主
記憶アクセス要求先が共H8fj域でない場合、ライト
バック方式のキャッシュメモリ制御を適用す−る。
まず、キャッシュブロック1G−0(内のヒツト検出器
)からのヒツト検出信号17−0が“O”であれば、即
ち上記tall内の要求先のデータがキャッシュブロッ
ク1G−0のキャッシュデータメモリに存在しないキャ
ッシュミス(ミスヒツト)の場合であれば、キャッシュ
制御部23−0はアクセス種別に無関係に、メモリバス
13を介して主記憶11から該当ブロックのデータをリ
ードして、そのリードブロックをキャッシュブロック1
6−0内のキャッシュデータメモリに書込むブロックリ
ード(コピー)動作を行う。この後キャッシュ制御部2
3−0は、主記憶アクセス要求がライトアクセス要求の
場合に限り、キャッシュブロック16−〇内のキャッシ
ュデータメモリに書込んだリードブロックのうち要求先
に対応するデータを、プロセッサ12−0からのライト
データに書換える。上記ブロックリードに際し、そのリ
ード先のキャッシュデータメモリのブロックが白゛効で
且つ既に書換え済みであれば、キャッシュ制御部23−
0はそのブロックの内容を主記憶11の元の領域に書込
む(ライトバックする)。またキャッシュ制御部23−
0は、上記のブロックリードを行った場合、キャッシュ
タグメモリ18−ロとキャッシュブロック16−0内の
キャッシュタグメモリの各対応エントリに、6効なタグ
情報を登録する。
)からのヒツト検出信号17−0が“O”であれば、即
ち上記tall内の要求先のデータがキャッシュブロッ
ク1G−0のキャッシュデータメモリに存在しないキャ
ッシュミス(ミスヒツト)の場合であれば、キャッシュ
制御部23−0はアクセス種別に無関係に、メモリバス
13を介して主記憶11から該当ブロックのデータをリ
ードして、そのリードブロックをキャッシュブロック1
6−0内のキャッシュデータメモリに書込むブロックリ
ード(コピー)動作を行う。この後キャッシュ制御部2
3−0は、主記憶アクセス要求がライトアクセス要求の
場合に限り、キャッシュブロック16−〇内のキャッシ
ュデータメモリに書込んだリードブロックのうち要求先
に対応するデータを、プロセッサ12−0からのライト
データに書換える。上記ブロックリードに際し、そのリ
ード先のキャッシュデータメモリのブロックが白゛効で
且つ既に書換え済みであれば、キャッシュ制御部23−
0はそのブロックの内容を主記憶11の元の領域に書込
む(ライトバックする)。またキャッシュ制御部23−
0は、上記のブロックリードを行った場合、キャッシュ
タグメモリ18−ロとキャッシュブロック16−0内の
キャッシュタグメモリの各対応エントリに、6効なタグ
情報を登録する。
なお、キャッシュタグメモリ18−0へのタグ情報登録
は、この例のように主記憶アクセス要求先が共存領域で
ない場合には不用あるが、ここではキャソンユ制御部2
3−0の制御を簡略化するためにキャッシュタグメモリ
18−0にに・1してもキャッシュブロック16−0内
のキャッシュタグメモリと同様の処理を行うようにして
いる。
は、この例のように主記憶アクセス要求先が共存領域で
ない場合には不用あるが、ここではキャソンユ制御部2
3−0の制御を簡略化するためにキャッシュタグメモリ
18−0にに・1してもキャッシュブロック16−0内
のキャッシュタグメモリと同様の処理を行うようにして
いる。
次に、キャッシュブロック16−Oからのヒツト検出信
号l7−0が“1″の場合、即ち主記憶11内の要求先
のデータがキャッシュブロック16−0のキャッシュデ
ータメモリに存在するキャツシュヒツトの場合には、キ
ャッシュ制御部23−0は主記憶アクセス要求がライト
アクセス要求であれば、キャッシュブロック16−0内
のキャッシュデータメモリの該当データブロックのうち
要求先に対応するデータを、プロセッサ12−0からの
ライトデータに書換える。なお、主記憶アクセス要求が
リードアクセス要求であれば、ヒツト/ミスに無関係に
、キャッシュデータメモリの該当データブロックのうち
要求先に対応するデータがプロセッサ12−0に転送さ
れる。
号l7−0が“1″の場合、即ち主記憶11内の要求先
のデータがキャッシュブロック16−0のキャッシュデ
ータメモリに存在するキャツシュヒツトの場合には、キ
ャッシュ制御部23−0は主記憶アクセス要求がライト
アクセス要求であれば、キャッシュブロック16−0内
のキャッシュデータメモリの該当データブロックのうち
要求先に対応するデータを、プロセッサ12−0からの
ライトデータに書換える。なお、主記憶アクセス要求が
リードアクセス要求であれば、ヒツト/ミスに無関係に
、キャッシュデータメモリの該当データブロックのうち
要求先に対応するデータがプロセッサ12−0に転送さ
れる。
■タイプ2のキャッシュメモリ制御
キャッシュ制御部23−0は、プロセッサ12−0から
の主記憶アクセス要求時にメモリ管理ユニット14−0
から供給される共有フラグSFが“1″であり、即ち主
記憶アクセス要求先が共有領域であり、その要求がリー
ドアクセス要求の場合には、キャッシュブロック16−
〇からのヒツト検出信号17−0に応じてブロックリー
ド動作を行う。即ちキャッシュ制御部23−Oは、ヒツ
ト検出信号17−0によってキャッシュミスが示されて
いれば、主記憶11から該当ブロックのデータをリード
して、そのリードブロックをキャッシュブロック16−
0内のキャッシュデータメモリに書込む。そしてキャッ
シュ制御部23−0は、キャンシュタグメモリ18−0
およびキャッシュブロック16−0内のキャッシュタグ
メモリの各対応エントリに、a効なタグ情報を登録する
。なお、キャッシュデータメモリの該当データブロック
のうち要求先に対応するデータがプロセッサ120に転
送されることは言うまでもない。
の主記憶アクセス要求時にメモリ管理ユニット14−0
から供給される共有フラグSFが“1″であり、即ち主
記憶アクセス要求先が共有領域であり、その要求がリー
ドアクセス要求の場合には、キャッシュブロック16−
〇からのヒツト検出信号17−0に応じてブロックリー
ド動作を行う。即ちキャッシュ制御部23−Oは、ヒツ
ト検出信号17−0によってキャッシュミスが示されて
いれば、主記憶11から該当ブロックのデータをリード
して、そのリードブロックをキャッシュブロック16−
0内のキャッシュデータメモリに書込む。そしてキャッ
シュ制御部23−0は、キャンシュタグメモリ18−0
およびキャッシュブロック16−0内のキャッシュタグ
メモリの各対応エントリに、a効なタグ情報を登録する
。なお、キャッシュデータメモリの該当データブロック
のうち要求先に対応するデータがプロセッサ120に転
送されることは言うまでもない。
■タイプ3のキャッシュメモリ制御
キャッシュ制御部23−0は、プロセッサ12−Oから
の主記憶アクセス要求時にメモリ管理ユニット14−0
から供給される共有フラグSFが“1″であり、即ち主
記憶アクセス梁求先が共有領域であり、その要求がライ
トアクセス要求の場合には、ライトスルー方式のキャッ
ンユメモリ制御を適用する。
の主記憶アクセス要求時にメモリ管理ユニット14−0
から供給される共有フラグSFが“1″であり、即ち主
記憶アクセス梁求先が共有領域であり、その要求がライ
トアクセス要求の場合には、ライトスルー方式のキャッ
ンユメモリ制御を適用する。
但し、この際の制御は、キャッシュブロック16−0か
らのヒツト検出信号17−0の状態、即ちキャッシュミ
スかヒツトかにより、次の2つに分けられる。
らのヒツト検出信号17−0の状態、即ちキャッシュミ
スかヒツトかにより、次の2つに分けられる。
まずキャッシュミスの場合、キャッシュ制御部23−0
は主記憶11から該巴ブロックのデータをり一ドして、
そのリードブロックをキャッシュブロック16−〇内の
キャッシュデータメモリに書込むブロックリード動作を
行う。この後キャッシュ制御部23−0は、キャッシュ
ブロック1ト0内のキャッシュデータメモリに書込んだ
リードブロックのうち要求先に対応するデータを、プロ
セッサ!2−0からのライトデータに書換えると共に、
このライトデータをメモリ管理ユニット14−0からの
アドレスの指定する主記憶11の領域に書込む。この主
記憶11への書込みは、メモリ管理ユニット14−0か
らのアドレス、ライトデータおよびライトアクセスを示
すリード/ライト信号等を、キャッシュ制御部23−0
がメモリバス13上に出力することにより行われる。
は主記憶11から該巴ブロックのデータをり一ドして、
そのリードブロックをキャッシュブロック16−〇内の
キャッシュデータメモリに書込むブロックリード動作を
行う。この後キャッシュ制御部23−0は、キャッシュ
ブロック1ト0内のキャッシュデータメモリに書込んだ
リードブロックのうち要求先に対応するデータを、プロ
セッサ!2−0からのライトデータに書換えると共に、
このライトデータをメモリ管理ユニット14−0からの
アドレスの指定する主記憶11の領域に書込む。この主
記憶11への書込みは、メモリ管理ユニット14−0か
らのアドレス、ライトデータおよびライトアクセスを示
すリード/ライト信号等を、キャッシュ制御部23−0
がメモリバス13上に出力することにより行われる。
この際、キャッシュ制御部23−0は、書込み先が共有
領域であることを示す共有領域アクセス信号もメモリバ
ス13上に出力する。
領域であることを示す共有領域アクセス信号もメモリバ
ス13上に出力する。
プロセッサ12−0に対応して設けられたキャッシュ制
御部23−0からメモリバス13上に送出された共有領
域アクセス信号は、他のプロセッサ12−1に対応して
設けられたキャッシュ制御部23−1に導かれる。この
キャッシュ制御部23−1には、キャッシュ制御部23
−0からメモリバス13に送出されたライトアクセスを
示すリード/ライト信号も導かれる。
御部23−0からメモリバス13上に送出された共有領
域アクセス信号は、他のプロセッサ12−1に対応して
設けられたキャッシュ制御部23−1に導かれる。この
キャッシュ制御部23−1には、キャッシュ制御部23
−0からメモリバス13に送出されたライトアクセスを
示すリード/ライト信号も導かれる。
この場合、キャッシュ制御部23−1は、他のキャッシ
ュ制御部23−0によってライトスルー方式のキャッシ
ュメモリ制御が行われていることを判断し、セレクタ2
2−1をメモリバス13側に切換える。またキャッシュ
制御部23−1は、キャッシュブロック16−1が動作
中でなければ直ちに、動作中であればその動作終了を待
って、セレクタ21−1をメモリバス13側に切換える
。これにより、キャッシュ制御部23−0から上記+f
5.11への書込みのためにメモリバス13上に送出さ
れたアドレスは、セレクタ21−1によってキャッシュ
ブロックIG−1に、セレクタ22−1によってキャッ
シュタグメモリ18−1に、それぞれ選択出力される。
ュ制御部23−0によってライトスルー方式のキャッシ
ュメモリ制御が行われていることを判断し、セレクタ2
2−1をメモリバス13側に切換える。またキャッシュ
制御部23−1は、キャッシュブロック16−1が動作
中でなければ直ちに、動作中であればその動作終了を待
って、セレクタ21−1をメモリバス13側に切換える
。これにより、キャッシュ制御部23−0から上記+f
5.11への書込みのためにメモリバス13上に送出さ
れたアドレスは、セレクタ21−1によってキャッシュ
ブロックIG−1に、セレクタ22−1によってキャッ
シュタグメモリ18−1に、それぞれ選択出力される。
キャッシュタグメモリ18−1は、メモリバス13から
のアドレスの所定フィールドでアクセスされ、これによ
りキャッシュタグメモリ18−1の対応エントリ中のア
ドレスタグおよびバリッドビットが比較器19−1に読
出される。比較S 19−1は、キャッシュタグメモリ
18−1から読出されたアドレスタグと、メモリバス1
3からのアドレス中の上記とは別の所定フィールドとを
比較し、両者が等しく且つバリッドビットがオン(真)
の場合だけ、即ちキャッシュ制御部23−0によってラ
イトされる主記憶11の領域が属するブロックのデータ
がキャッシュブロック1G−1内のキャッシュデータメ
モリに存在するヒツトの場合だけ、論理“1”の一致検
出信号20−1を出力する。キャッシュ制御部23−1
は、ヒツトを示す論理“1”の一致検出信号20−1に
応し、キャッシュタグメモリ18−1およびキャッシュ
ブロックte−を内のキャッシュタグメモリの該肖エン
トリのバリッドビットをいずれもオフする無効化処理を
行う。これに対して、一致検出信号20がミスヒツトを
示す論理“0”の場合には、その時点でキャッシュ制御
部23−1の動作は終了する。
のアドレスの所定フィールドでアクセスされ、これによ
りキャッシュタグメモリ18−1の対応エントリ中のア
ドレスタグおよびバリッドビットが比較器19−1に読
出される。比較S 19−1は、キャッシュタグメモリ
18−1から読出されたアドレスタグと、メモリバス1
3からのアドレス中の上記とは別の所定フィールドとを
比較し、両者が等しく且つバリッドビットがオン(真)
の場合だけ、即ちキャッシュ制御部23−0によってラ
イトされる主記憶11の領域が属するブロックのデータ
がキャッシュブロック1G−1内のキャッシュデータメ
モリに存在するヒツトの場合だけ、論理“1”の一致検
出信号20−1を出力する。キャッシュ制御部23−1
は、ヒツトを示す論理“1”の一致検出信号20−1に
応し、キャッシュタグメモリ18−1およびキャッシュ
ブロックte−を内のキャッシュタグメモリの該肖エン
トリのバリッドビットをいずれもオフする無効化処理を
行う。これに対して、一致検出信号20がミスヒツトを
示す論理“0”の場合には、その時点でキャッシュ制御
部23−1の動作は終了する。
次に、プロセッサ12−0からの共有領域へのライトア
クセス要求に対して、キャッシュブロック1B−0(ヒ
ツト検出器)からキャツシュヒツトを示す論理“1″の
ヒツト検出信号17−0が出力された場合について説明
する。この場合、キャッシュ制御部23−0はキャッシ
ュミス時とは異なってブロックリード動作を行わず、直
ちにキャッシュブロック16−0内のキャッシュデータ
メモリの該当ブロックデータのうち要求先にχ・I応す
るデータを、プロセッサ12−0からのライトデータに
書換える。この書換えの後の動作は、上記のキャッシュ
ミスの場合と同様となる。
クセス要求に対して、キャッシュブロック1B−0(ヒ
ツト検出器)からキャツシュヒツトを示す論理“1″の
ヒツト検出信号17−0が出力された場合について説明
する。この場合、キャッシュ制御部23−0はキャッシ
ュミス時とは異なってブロックリード動作を行わず、直
ちにキャッシュブロック16−0内のキャッシュデータ
メモリの該当ブロックデータのうち要求先にχ・I応す
るデータを、プロセッサ12−0からのライトデータに
書換える。この書換えの後の動作は、上記のキャッシュ
ミスの場合と同様となる。
なお、前記実施例では、プロセッサ数が2台のマルチプ
ロセッサシステムに実施した場合について説明したが、
この発明は3台以上のプロセッサを持つマルチプロセッ
サシステムにも同様に適用できる。
ロセッサシステムに実施した場合について説明したが、
この発明は3台以上のプロセッサを持つマルチプロセッ
サシステムにも同様に適用できる。
[発明の効果]
以上詳述したようにこの発明によれば、マルチプロセッ
サシステムにおける主記憶の領域のうち共有領域以外で
は、各プロセッサのキャッシュデータメモリの間でデー
タの一致は必ずしも必要でないことに着目し、プロセッ
サからのライトアクセス要求先が主記憶の共有領域であ
るか否かを判別して、共存領域でない場合にはライトス
ルー方式からライトバック方式のキャッシュメモリ制御
に切換えるようにしたので、従来は避けられなかった主
記憶へのライト動作や他プロセッサのタグチエツクが不
用に発生するのを防止でき、システム性能が向上する。
サシステムにおける主記憶の領域のうち共有領域以外で
は、各プロセッサのキャッシュデータメモリの間でデー
タの一致は必ずしも必要でないことに着目し、プロセッ
サからのライトアクセス要求先が主記憶の共有領域であ
るか否かを判別して、共存領域でない場合にはライトス
ルー方式からライトバック方式のキャッシュメモリ制御
に切換えるようにしたので、従来は避けられなかった主
記憶へのライト動作や他プロセッサのタグチエツクが不
用に発生するのを防止でき、システム性能が向上する。
第1図はこの発明を適用するマルチプロセッサシステム
の一実施例を示すブロック構成図である。 11・・・主記憶、12−0.12−1・・・プロセッ
サ、13・・・メモリバス、14−0. 14−1・・
・メモリ管理ユニット、15−0.15−1・・・アド
レス変換テーブル、1B−0,16=1・・・キャッシ
ュブロック、19−0.19−1・・・比較器、21−
0.21−1.22−0. 22−1・・・セレクタ、
23−0. 23−1・・・キャッシュ制御部、SF・
・・共有フラグ。 出願人代理人 弁理士 鈴江武彦
の一実施例を示すブロック構成図である。 11・・・主記憶、12−0.12−1・・・プロセッ
サ、13・・・メモリバス、14−0. 14−1・・
・メモリ管理ユニット、15−0.15−1・・・アド
レス変換テーブル、1B−0,16=1・・・キャッシ
ュブロック、19−0.19−1・・・比較器、21−
0.21−1.22−0. 22−1・・・セレクタ、
23−0. 23−1・・・キャッシュ制御部、SF・
・・共有フラグ。 出願人代理人 弁理士 鈴江武彦
Claims (1)
- 【特許請求の範囲】 複数のプロセッサが主記憶を共有使用し、キャッシュメ
モリ制御方式を適用するマルチプロセッサシステムにお
いて、 上記プロセッサから主記憶アクセス要求が発せられた場
合に、その要求先の上記主記憶の領域が他プロセッサと
共有使用される共有領域であるか否かを判別する判別手
段を設け、 上記主記憶アクセス要求がライトアクセス要求の場合に
、上記判別手段により上記要求先が上記共有領域である
ことが判別されたならばライトスルー方式によるキャッ
シュメモリ制御を行い、上記要求先が上記共有領域でな
いことが判別されたならばライトバック方式によるキャ
ッシュメモリ制御を行うようにしたことを特徴とするキ
ャッシュメモリ制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1047217A JPH02226449A (ja) | 1989-02-28 | 1989-02-28 | キャッシュメモリ制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1047217A JPH02226449A (ja) | 1989-02-28 | 1989-02-28 | キャッシュメモリ制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02226449A true JPH02226449A (ja) | 1990-09-10 |
Family
ID=12769003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1047217A Pending JPH02226449A (ja) | 1989-02-28 | 1989-02-28 | キャッシュメモリ制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02226449A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04347749A (ja) * | 1991-05-24 | 1992-12-02 | Nec Corp | 情報処理装置 |
JPH05241954A (ja) * | 1991-10-11 | 1993-09-21 | Intel Corp | プロセッサ |
US5524234A (en) * | 1992-11-13 | 1996-06-04 | Cyrix Corporation | Coherency for write-back cache in a system designed for write-through cache including write-back latency control |
US6480940B1 (en) | 1998-10-30 | 2002-11-12 | Nec Corporation | Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module |
EP2053519A1 (en) | 2007-10-22 | 2009-04-29 | Denso Corporation | Data processing apparatus and program for same |
US7960878B2 (en) | 2008-06-26 | 2011-06-14 | Denso Corporation | Electric rotating machine with means for feeding cooling liquid to its stator winding |
JP2012504792A (ja) * | 2009-02-17 | 2012-02-23 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置の制御方法 |
-
1989
- 1989-02-28 JP JP1047217A patent/JPH02226449A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04347749A (ja) * | 1991-05-24 | 1992-12-02 | Nec Corp | 情報処理装置 |
JPH05241954A (ja) * | 1991-10-11 | 1993-09-21 | Intel Corp | プロセッサ |
US5524234A (en) * | 1992-11-13 | 1996-06-04 | Cyrix Corporation | Coherency for write-back cache in a system designed for write-through cache including write-back latency control |
US6480940B1 (en) | 1998-10-30 | 2002-11-12 | Nec Corporation | Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module |
EP2053519A1 (en) | 2007-10-22 | 2009-04-29 | Denso Corporation | Data processing apparatus and program for same |
US7960878B2 (en) | 2008-06-26 | 2011-06-14 | Denso Corporation | Electric rotating machine with means for feeding cooling liquid to its stator winding |
JP2012504792A (ja) * | 2009-02-17 | 2012-02-23 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置の制御方法 |
US8527710B2 (en) | 2009-02-17 | 2013-09-03 | Hitachi, Ltd. | Storage controller and method of controlling storage controller |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4445174A (en) | Multiprocessing system including a shared cache | |
JP2833062B2 (ja) | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 | |
US4484267A (en) | Cache sharing control in a multiprocessor | |
US5987571A (en) | Cache coherency control method and multi-processor system using the same | |
US5155824A (en) | System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address | |
KR930004430B1 (ko) | 가상 캐쉬를 이용하는 다중 처리컴퓨터 시스템의 일치성 유지장치 | |
US5394555A (en) | Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory | |
CA1173567A (en) | Shared virtual address translation unit for a multiprocessor system | |
US20050198441A1 (en) | Multiprocessor system | |
JPH11506852A (ja) | 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減 | |
JPS6135584B2 (ja) | ||
JPS629942B2 (ja) | ||
JPH04227552A (ja) | ストアスルーキャッシュ管理システム | |
US6766434B2 (en) | Method for sharing a translation lookaside buffer between CPUs | |
US5361342A (en) | Tag control system in a hierarchical memory control system | |
US20050027960A1 (en) | Translation look-aside buffer sharing among logical partitions | |
JP3295436B2 (ja) | マイクロプロセッサキャッシュの一貫性 | |
JPH0551937B2 (ja) | ||
JPH02226449A (ja) | キャッシュメモリ制御方式 | |
JPH07152647A (ja) | 共有メモリマルチプロセッサ | |
US7496713B1 (en) | Method and apparatus for maintaining cache coherency in a memory system with shared only cache memories | |
JP3116215B2 (ja) | 二重ディレクトリー仮想キャッシュの制御方法 | |
JP3733604B2 (ja) | キャッシュメモリ | |
JPS60237553A (ja) | キヤツシユコヒ−レンスシステム | |
US6826655B2 (en) | Apparatus for imprecisely tracking cache line inclusivity of a higher level cache |