JPH03210645A - キヤツシユ制御方式 - Google Patents

キヤツシユ制御方式

Info

Publication number
JPH03210645A
JPH03210645A JP2005356A JP535690A JPH03210645A JP H03210645 A JPH03210645 A JP H03210645A JP 2005356 A JP2005356 A JP 2005356A JP 535690 A JP535690 A JP 535690A JP H03210645 A JPH03210645 A JP H03210645A
Authority
JP
Japan
Prior art keywords
cache
store
control information
cpu
write
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
JP2005356A
Other languages
English (en)
Inventor
Ryoichi Tanaka
亮一 田中
Tomohito Saitou
知人 斉藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005356A priority Critical patent/JPH03210645A/ja
Publication of JPH03210645A publication Critical patent/JPH03210645A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野1 この発明は、主記憶装置と中央処理装置(以下CPUと
呼ぶ)とキャッシュ機構からなり、キャッシュへの書き
込み時に、ストアイン方式かストアスルー方式かを切り
賛えることができるキャッシュの制御方式に関するもの
である。
[従来の技術] 従来、この種のシステムにおけるキャッシュの制御方式
を説明するものとして第4図に示すようなものがあった
この図はH,S、5tone著v高性能コンピユータア
ーキテクチヤJ pp、7l−75t 1989  年
3月30日 丸善株式会社発行)に示されたもので9図
において(1)はCPU、(2)はキャッシュ、(3)
は主記憶装置、(4)は入出カプロセッサ、(5)は外
部記憶装置、(6)はキャッシュディレクトリ、(7)
はキャッシュディレクトリのコピ(8)はシステムバス
、(9)は人出力バスである。
周知のように、キャッシュの書き込み制御方式にはスト
アイン方式とストアスルー方式があり。
システムに応じて使い分けられているが、最近になって
いるが、最近になって、低速大容量の主記憶装置を持っ
た大規模なマルチプロセッサシステムにはストアイン方
式の方が適していることが分かった。というのは、スト
アスルー方式を用いた場合に比べて主記憶装置のアクセ
ス回数が少なくてすみ、したがってシステム全体のパフ
ォーマンスが上がるからである。
しかし、ストアイン方式で管理されている記憶システム
では、データの最新更新結果は必ずしも主記憶装置に格
納されているわけではない。したがって、データを外部
記憶装置に出力する場合や複数のCPU間で共有メモリ
中に設けた通信用領域を用いてデータの受は渡しを行う
場合には、入出カプロセッサからキャッシュへあるいは
他系のCPUからキャッシュへのアクセスを行う必要が
生じる。
このようなストアイン方式で管理される記憶システムを
持つシステムの動作を、データの出力操作を行なう場合
を例に説明すると次のようになる。CP U (1)か
ら主記憶装置(3)にデータの書き込み要求があった場
合には、CPU(1)はキャッシュ(2)だけを更新し
、主記憶装置(3)の実際の更新は変化があったデータ
がキャッシュ(2)から捨てられるまで遅らされる。し
たがって、データの最新の更新結果は主記憶装置(3)
に保存されている場合もあれば、キャッシュ(2)に保
存されている場合もある。データの出力を行うためには
、キャッシュ(2)と主記憶装置(3)のどちら茫に保
存されているのかに応じて2通りの操作を行う。出力し
ようとするデータの最新の更新結果が主記憶装置(3)
に保存されている場合には、入出カプロセッサ(4)は
主記憶装置(3)からデータを取り出して外部記憶装置
! (5)に出力するが、最新の更新結果がキャッシュ
(2)に保存されている場合には、入出カプロセッサ(
4)はキャッシュ(2)からデータを取り出して、外部
記憶袋!! (5)に出力する。このようなキャッシュ
からのデータの取り出しの操作は、入出カプロセッサ(
4)から目的とするデータが保存されているキャッシュ
(2)の制御部に対してデータ送出の要求信号を送り、
その信号を受は取ったキャッシュ(2)の制御部は目的
のデータをバス(8)に出力し、そのデータを入出カプ
ロセッサ(4)が取り込むことによって行なわれる。出
力しようとするデータの最新の更新結果が主記憶装置(
3)とキャッシュ(2)のどちら鉢に保存されているの
かは入出カプロセッサ(4)がキャッシュのディレクト
リのコピー(7)を検査することで識別する。キャッシ
ュディレクトリのコピー(7)は、CPtJ(1)の動
作を妨害せずに入出カプロセッサ(4)がディレクトリ
の内容を検査することが出来るように用意されたもので
あり、マルチプロセッサシステムで、CPUおよびキャ
ッシュが複数あるシステムでは、すべてのキャッシュデ
ィレクトリのコピーを格納している。このコピー(7)
を元の各キャッシュディレクトリと常に′一致させてお
くことにより、cpuはオリジナルのキャッシュディレ
クトリを、入出カプロセッサ(4)はキャッシュディレ
クトリのコピー(7)を各々独立して検査することで互
いの操作を妨害する\ ことなしにデータの最新更新結果の所在を調べることが
出来るようになっている。
第5図は複数のCPUを持つマルチプロセッサシステム
の例であり、複数CPU間で共有メモリ中に設けられた
通信領域を用いて通信を行う例を説明する。
あるC P U (la)が通信用領域のデータに対し
て変更を行うと、その領域の最新の更新結果はキャッシ
ュ(2a)のみに保存されることになる。したがって、
そのようなデータを他系のCP U (lb)が読み込
もうとする場合には、そのCP U (lb)は主記憶
袋!! (3)からではな(、最新の更新結果が保存さ
れているキャッシュ(2a)から取り出す、この取り出
しの操作は、入出カプロセッサ(4)のようにすべての
キャッシュディレクトリ(6a) 、 (6b)を自分
自身で検査することはできないため、すべての他系キャ
ッシュ(2a)の制御部に対してデータ送出の要求信号
を送り、その結果対応するデータの最新の更新結果が保
存されているキャッシュ(2a)からバス(8)に出力
されたデータを取り込むことによって達成される。
以上のようなキャッシュの制御方式においては、出力し
ようとするデータや通信に使用するメツセージデータの
最新更新結果がキャッシュに保存されている場合には、
そのデータを取り出そうとする入出カプロセッサや他系
CPUによるキャッシュアクセスが生じることになり、
その操作が行われている間はCPUからキャッシュへの
アクセス操作が妨害され、それによってCP tJの処
理効率の低下の原因になるという問題点があった。
この点がストアイン方式によるキャッシュ制御方式の欠
点であり、この点のみについて言えば、他からのキャッ
シュアクセスがなくなるストアスルー方式の方が優れて
いる。
したがって、2種類のキャッシュの書き込み制御方式、
すなわちストアイン方式とストアイン方式の各々の短所
を補うように、書き込み制御方式を適宜切り替えながら
動作するシステムを構成することが考えられる。
このような、2種類のキャッシュ制御方式のいずれも可
能な書き込み機構を備えたキャッシュ制御装置を開示し
たものに特開昭62−203252号公報がある。それ
によれば、各々のキャッシュブロック毎にどちらの方式
で書き込みを行うのかを示すマルチコピービットと呼ば
れる制御情報をキャッシュのタグメモリ中に設け、その
制御情報にしたがって書き込み方式をストアイン方式と
ストアスルー方式の間で切り替えて動作する。このマル
チコピービットは、キャッシュの制御部が他系のCPU
から主記憶装置へのアクセス操作を監視することによっ
て自分のキャッシュに保存されているデータのコピーが
他系のキャッシュにも作られたことが検出されるとキャ
ッシュ制御部のハードウェアによって”オン”にされる
ものである。
第6図は同公報に示されたものであり、マルチコピービ
ットがセットされる様子を示している。
(21)はCPU−Aのキャッシュ、 (22)はCP
U−Bのキャッシュ、 (23)は主記憶装置、 (2
4)はバスである。
動作1:cPU−Aが主記憶装置(23)からデータを
キャッシュ(21)にロードする。
動作2 : CPU−Bが主記憶装置(23)から同じ
データをキャッシュ(22)にロードする。このロード
動作をCPU−Aのキャッシュ(21)の制御部がバス
(24)を監視し、CPU−Bからバス(24)に送出
されたアドレスとタグメモリ中のアドレスを比較するこ
とによって一致が検出されれば同じコピーが作られたと
判断して、対応するキャッシュブロックのマルチコピー
ビットを”オン”にする。
このようにマルチコピービットは他系CPUの動作に応
じてセットされるものであり、自分のCPUで特定の命
令を実行することによって明示的にセットできるもので
はない。もし、目的のキャッシュデータを指定して特定
の命令を実行することでマルチコピービットをセットで
きるような機構を設けたとしても、キャッシュに格納さ
れるデータは主記憶領域のほんの一部分のみであるため
、目的とするデータがキャッシュ上にあるのか否かを意
識しながら命令実行を行なわねばならない。このような
判断をプログラムで行なわせるのは現実問題として不可
能であり、キャッシュ本来の目的から見ても矛盾した考
え方である。本来キャッシュは、CPUで実行中のプロ
グラムからはあたかも主記憶に直接アクセスしているか
のように見えるようにするために、プログラムからは意
識する必要がないように設計されるものである。
したがって、このようにタグメモリ中に制御情報を設け
る方式では、制御情報は実行中のプログラムからは隠蔽
されてしまうことになり、命令実行によってその制御情
報に直接アクセスすることは不可能になってしまう。し
たがって、この方式では確保する主記憶領域が入出力用
領域や通信用領域などの他系からのアクセスが生じる特
定領域であることがあらかじめ分かつている場合でも。
それによって制御情報の”オン”、”オフ”を行うこと
はできないことになる。
[発明が解決しようとする課11?!]以上のような従
来のキャッシュ制御方式においては、キャッシュの書き
込み制御方式すなわちストアイン方式で動作するのかあ
るいはストアスルー方式で動作するのかを示す制御情報
はキャッシュの制御部が検出し設定するもので、cpu
での命令実行によって設定や参照をすることはできない
。したがって、プログラムの実行中に確保する記憶領域
が他系からのアクセスが生じる特定領域であることがあ
らかじめ分かっている場合でも。
それによってキャッシュの制御情報の設定を行うことが
できないという問題があった。
この発明は上記のような問題点を解決するためになされ
たもので、CPUでの命令実行によるキャッシュの制御
情報の設定を可能にし、その情報に基づいてキャッシュ
の書き込み制御方式を切り替えることを可能にする方法
を提供することを目的とするものである。
[課題を解決するための手段] この発明に関わるキャッシュ制御方式は、各主記憶ペー
ジが特定領域であるのが、それ以外の領域であるのかを
示すプログラムで設定可能な、つまりCPUで実行する
命令でアクセス可能な制御情報を保持するページテーブ
ルを設け、書き込み命令実行時にこのページテーブルの
制御情報を参照するようにした。
[作用1 この発明においては、領域を区別するためのページテー
ブル中の制御情報はCPUで実行する命令で設定され、
かつ書き込み操作時に参照して。
特定領域に対する書き込み操作であればキャッシュをス
トアスルー方式で、特定領域に対してではない書き込み
操作であればストアイン方式で動作するようキャッシュ
制御方式を切替える。
[実施例1 第1図はこの発明の一実施例を示すブロック図であり、
 (la)〜(9)は第5図に示した従来装置と同一の
ものである。(lO)はページテーブル、 (11)は
信号線である。
ページテーブル(10)は仮想記憶機能を提供するコン
ピュータシステムにおいて、主記憶領域へのアクセスを
行う場合に使用される仮想アドレスを実アドレスに変換
するためのアドレス情報を保存しているテーブルであり
、複数のページテーブルエントリより構成される。この
テーブルは仮想記憶機構を持つコンピュータシステムは
必ず具備しているものである。ページテーブルエントリ
は仮想記憶空間を構成する基本単位であるページ毎に用
意されるもので、対応するページのアドレス変換のため
のアドレス情報を格納する。
第2図はページテーブルエントリ中にキャッシュの制御
情報ビットを保存する方法の一例である。(12)はペ
ージフレーム番号、 (13)は制御情報ビットである
。制御情報ビットは”オン”オフ”のみを示すことがで
きればよいので1ビツトあれば十分である。したがって
、このようにページテーブルエントリ中の空きビットを
使用できる可能性は高く、さらに制御情報ビットを格納
するための特別なテーブルを用意する必要がないため、
記憶領域を節約することができる。
ページフレーム番号(12)は仮想記憶領域のページが
実記憶領域上に格納されている場所を示すもので、コン
ピュータシステム全体を制御・管理する制御プログラム
であるオペレーティングシステムによって管理される。
制御情報ビット(13)は記憶領域が確保される時にそ
の使用目的に応じて例えばオペレーティングシステムの
記憶管理機構が制御情報を格納する。オペレーティング
システムの記憶管理機構が制御情報ビット(13)を管
理する方法として例えば第3図に示す次のようなものが
ある。入出力や通信に使用するための主記憶領域、すな
わち特定領域を確保する場合には必ずCPUの特定のレ
ジスタに特定領域の確保要求であることが識別できるよ
うな値をセットしてから確保要求を行なうようにし、記
憶管理機構はその要求を受は取った時には必ずそのレジ
スタを検査するようにしてその領域が特定領域であるか
否かを識別する。その結果、その領域が特定領域である
ことを示す値が格納されているならば記憶管理機構はペ
ージテーブル(10)中の制御情報ビット(13)を”
オン“にする。
また、記憶領域を解放する場合には、対応する制御情報
ビット(13)をリセットする。
このような管理を行なうことによって、主記憶ページの
すべてのページに対して、そのページはストアイン方式
で管理するのかあるいはストアスルー方式で管理するの
かを示すキャッシュの制御情報を付加することが可能に
なる。
キャッシュへの制御方式切替えの指令は以下のように行
なう。第1図において、主記憶装置(3)への書き込み
操作を行うためにCP U (la)がアドレス変換操
作を行う時に、CPU(la)は主記憶装置(3)に格
納されているページテーブル(10)を使用し、格納し
であるアドレス情報を使用してアドレス変換操作を行う
ことに加え0Mき込み操作の対象となる主記憶領域の制
御情報ビット(13)を読む。CP U (la)は読
み込んだ制御情報ビット(13)からその領域が上記特
定用途のために確保されたものか否かを判断し、そうで
ある場合は信号線(11)を使用してこれから行う書き
込み操作はスト・アスル一方式で行うことをキャッシュ
(2a)に伝える。この信号がキャッシュ(2a)に伝
えられると。
キャッシュ(2a)の制御部によってその操作に対する
書き込み制御方式がストアスルー方式に切り替えられる
システムによってはCPU中にページテーブルの一部を
保存し、アドレス変換操作時の主記憶アクセスの回数を
削減するためのアドレス変換バッファを設けているもの
もある。このようなシステムでは、アドレス変換バッフ
ァ中にもアドレス情報の一部として制御情報ビット(1
3)を保存し、アドレス変換バッファを使用してアドレ
スの変換を行う場合にも同様の操作すなわちアドレス変
換バッファ中の制御情報ビットを調べ、キャッシュに書
き込み制御方式を伝える。
このような制御方式では従来の方式と比較して、書き込
み操作時にページテーブル中あるいはアドレス変換バッ
ファ中の制御情報ビットを読んでキャッシュに伝えると
いう操作が増えることになる。しかし、主記憶アクセス
を行なう場合にはアドレス変換を行なうために必ずCP
Uからページテーブルあるいはアドレス変換バッファへ
の参照の操作が生じるため、その時に同時に制御情報ビ
ットを参照するようにすれば、操作が増えることによる
オーバヘッドは非常に小さなものになる。
このように制御することによって、上記特定用途のため
に確保された主記憶領域のデータはキャッシュ(2a)
、 (2b)に書き込まれると同時に主記憶装置(3)
にも書き込まれることになるため、特定領域の最新の更
新結果は常に主記憶装置に保存されていることになる。
このように制御情報の管理をプログラムで行なうので9
例えば、入出力やCPU間の通信に使用される特定の主
記憶領域に対してのみストアスルー方式で、その他の領
域に対してはストアインで書き込むといった制御を行な
うことが可能となり、その結果それら特定領域のデータ
の最新更新結果は常に主記憶装置に記憶させておくこと
ができる。したがって、入出カプロセッサや他系のCP
Uによるデータの取り出しは常に主記憶装置から行なえ
るようになり、入出カプロセッサや他系のCPUによる
キャッシュへのアクセス操作の妨害がなくなるため、C
PUの処理効率の低下を避けることができる。
すなわち、ストアイン方式とストアスルー方式の各々の
短所を補うように、書き込み制御方式を適宜切替えなが
ら動作するシステムを構成することができる。
[発明の効果] 以上のようにこの発明によれば、キャッシュの書き込み
制御方式を切替える制御情報をプログラムで、つまりC
PUの命令実行により設定および参照可能なページテー
ブル中に設け、書き込み命令実行時にこれを参照するよ
うにしたので、ストアイン方式かストアスルー方式かの
指定を柔軟に行なえる。
【図面の簡単な説明】
第1図はこの発明の一実行例を示すブロック図、第2図
は第1図で示す実施例で使用するページテーブルエント
リに格納される情報を示す構成図、第3図は記憶管理機
構の動作を示す流れ図。 第4図、第5図は従来のキャッシュ制御装置を示すブロ
ック図、第6図は従来のキャッシュ書き込み制御情報の
管理方法を示す図である。 図において、 (la) 、 (lb) 、 (1)は
CPU、 (2al。 2b)、 (2)はキャッシュ、(3)は主記憶装置。 4)は入出カプロセッサ、(5)は外部記憶装置。 6a)、  (6b)、  (61はキャッシュディレ
クトリ。 7)はキャッシュディレクトリのコピー、(8)はシス
テムバス、(9)は入出力バス、 (10)はページテ
ーブル、 (11)は信号線、 (12)はページフレ
ーム番号、 (13)は主記憶領域の制御情報ビット、
 (21)はCPU−Aのキャッシュ、 [22)はC
PU−Bのキャッシュ、 (23)は主記憶装置、 (
24)はバスである。 なお、各図中同一符号は同−又は相当部分を示す。 第 図 第 図

Claims (1)

  1. 【特許請求の範囲】  主記憶装置と中央処理装置とキャッシュ機構を持つシ
    ステムにおいて、 中央処理装置より書き込み命令されたときにキャッシュ
    に書き込むのみで主記憶装置にはすぐには書き込まない
    ストアイン方式か、主記憶装置に同時に書き込むストア
    スルー方式のいずれも可能な書き込み機構を持つキャッ
    シュ制御装置と、各主記憶ページが特定領域であるかそ
    れ以外の領域であるのかを示す中央処理装置より指定可
    能な制御情報を含んだページテーブルを設け、 中央処理装置により書き込み命令を実行したときに上記
    ページテーブルを参照し、特定領域に対する書き込み操
    作である場合にはキャッシュをストアスルー方式で動作
    させ、特定領域でない場合にはストアイン方式で動作す
    るように書き込み制御方式を切り替えることを特徴とす
    るキャッシュ制御方式。
JP2005356A 1990-01-12 1990-01-12 キヤツシユ制御方式 Pending JPH03210645A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005356A JPH03210645A (ja) 1990-01-12 1990-01-12 キヤツシユ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005356A JPH03210645A (ja) 1990-01-12 1990-01-12 キヤツシユ制御方式

Publications (1)

Publication Number Publication Date
JPH03210645A true JPH03210645A (ja) 1991-09-13

Family

ID=11608902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005356A Pending JPH03210645A (ja) 1990-01-12 1990-01-12 キヤツシユ制御方式

Country Status (1)

Country Link
JP (1) JPH03210645A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2005149290A (ja) * 2003-11-18 2005-06-09 Seiko Epson Corp 情報処理装置およびキャッシュメモリ制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2005149290A (ja) * 2003-11-18 2005-06-09 Seiko Epson Corp 情報処理装置およびキャッシュメモリ制御方法

Similar Documents

Publication Publication Date Title
JP2662603B2 (ja) 無効要求を選別する方法及び装置
JPH11232173A (ja) ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム
EP0777183B1 (en) Computer cache system
CN108153683A (zh) 用于在存储器中的地址范围之间传输数据的装置和方法
JPH04353947A (ja) メモリページ特性タグ付けシステム
JP3236287B2 (ja) マルチプロセッサシステム
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
US5524225A (en) Cache system and method for providing software controlled writeback
JP2021530028A (ja) 記憶システムをメインメモリとして使用するための方法および装置
US6092170A (en) Data transfer apparatus between devices
JPH04230550A (ja) 情報処理ネツトワーク及び情報処理方法
EP0533427A1 (en) Computer memory control system
US6952761B2 (en) Bus interface selection by page table attributes
JP2746530B2 (ja) 共有メモリマルチプロセッサ
JP3116215B2 (ja) 二重ディレクトリー仮想キャッシュの制御方法
JPH03210645A (ja) キヤツシユ制御方式
JPH01213732A (ja) データ処理システム
KR20070049677A (ko) 가상 어드레스 캐시 및 고유 태스크 식별자를 이용하는데이터를 공유하기 위한 방법
JPS63253448A (ja) マルチ計算機装置
JPH0529943B2 (ja)
GB2221066A (en) Address translation for I/O controller
JP3162459B2 (ja) データ処理装置
JPH03230238A (ja) キャッシュメモリ制御方式
JP2636760B2 (ja) マルチプロセッサシステム
JP2637853B2 (ja) キャッシュメモリ装置