JPS6017550A - キヤツシユメモリ管理方法 - Google Patents

キヤツシユメモリ管理方法

Info

Publication number
JPS6017550A
JPS6017550A JP58124832A JP12483283A JPS6017550A JP S6017550 A JPS6017550 A JP S6017550A JP 58124832 A JP58124832 A JP 58124832A JP 12483283 A JP12483283 A JP 12483283A JP S6017550 A JPS6017550 A JP S6017550A
Authority
JP
Japan
Prior art keywords
cache memory
processor
area
data
cache
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
JP58124832A
Other languages
English (en)
Inventor
Koji Masui
晃二 桝井
Kunihiko Onuma
邦彦 大沼
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58124832A priority Critical patent/JPS6017550A/ja
Publication of JPS6017550A publication Critical patent/JPS6017550A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、マルチプロセッサシステムにおけるキャッシ
ュメモリ管理方法に係シ、特にアクセス頻度が小さいプ
ロセッサであってもキャッシュメモリを利用可とするだ
めのキャッシュメモリ管理方法に関するものである。
〔発明の背景〕
従来よシ外部記憶装置、例えばディスク装置に対するア
クセス時間を短縮することによってシステムのスルーブ
ツトを増大させるべくディスク装置とプロセッサとの間
にはキャッシュメモリが介在すれているが、シングルプ
ロセッサの場合には特に問題は生じないものとなってい
る。
第1図はキャッシュメモリを採用してなるシングルプロ
セッサシステムのシステム構成を示したものである。こ
れによるとキャッシュメモリ112金含むディスクキャ
ッシュ(以下、単にキャッシュと称す)102):iプ
ロセッサ101とディスクコントローラ103との間に
入出力インター7エース105に介し介在設置され、デ
ィスク装置104のバッファメモリとして機能するもの
となっている。ディスクコントローラ103にディスク
インターフェース106を介し又接続されているディス
ク装置104は、ディスクコントローラ103によって
プロセッサ101からの動作コマンドに応じた動作をす
べく制御されるようになっているものである。
こζてキャッシュ102について説明すれば、その構成
はマイクロコンピュータなどによりなるキャッシュコン
トローラ107に内部ハス113を介しデータ転送用の
インターフェース回路108、キャツシコ動作制御プロ
グラム格納用のi% OM 。
動作確立・コマンド一時格納用のR,AMIIO1読み
書きデータ格納用のキャッシュメモリ112およびアド
レス対応関係格納用のディレクトリ111よりなるもの
となっている。この構成においてキャッシュメモリ11
2の容量はディスク装置104のそれに比して小さいこ
とから、キャッシュメモリ112上に存在しないデータ
がアクセスされた場合にはそのデータはディスク装置1
04より読み出されたうえ通常キャッシュメモリ112
上の、最も古くアクセスされたデータの格納位置に格納
されるようになっている。このデータの置換の単位はプ
ロ、ツクと呼ばれ、キャッシュメモリ112上のデータ
は全てブロックを単位としてディレクトリ111によっ
て管理されるものとなっている。
ディ1/クトリ111には第2図に示すようにキャッシ
ュメモリ120に現に格納されているブロック各々につ
いてそのブロックのディスク装置104上でのディスク
上アドレス118とキャッシュメモリ112上でのキャ
ッシュ上アドレス119、更にはそのブロックがアクセ
スされた古さを示すポインター120の情報が格納され
るようになっている。このディレクトリ111について
は後述するところである。一方、プロセッサ101から
の動作コマンド114は第3図に示すようにそのコマン
ドが続出に係るか書込に係るかを指定するファンクショ
ン115、そのデータのディスク装置104上でのトラ
ックアドレスを示すデータアドレス116および転送語
aii7よυなるが、ここでキャッシュコントローラ1
07によるキャッシュ102の動作を第4図により説明
すれば以下のようである。
即ち、データの読出または書込の必要が生じた場合プロ
セッサ101はその旨の動作コマンドをキャッシュ10
2に出力するところとなるが、このコマンドは先ず几A
M1i0に一旦格納されるようになっている。第4図に
示す如く先ずインターフェース回路108からの動作コ
マンドはキャッシュコントローラ107による制御下に
RAM110に一旦格納されるものである。以下動作コ
マンドは必要に応じてRAMll0から取り出されるも
のとすれば、次のステップでは動作コマンドのファンク
ション115が判定され、そのモードに応じREAD 
(読出)、WRITE (書込)の処理に分岐するとこ
ろとなる。ここではR,EAD処理を例にとって以下説
明すれば、データアドレス116により指定されたブロ
ック単位のデータがヤヤツシュメモリ112上に存在す
るか否かを判断すべくディレクトリ111のディスク上
アドレス118が次々と調べられるようになっている。
次のステップではデータが存在するか否かが判断され、
もしもデータが存在しなかった場合には、ディレクトリ
111におけるポインター120が順次調べられ最も古
くアクセスされたブロックを探索し1、そのブロックの
キャッシュ上アドレス119が取り出されたうえRAM
ll0に一旦格納される。この後はディスク装置104
より該当データを読み取りそのキャッシュ上アドレス1
19により示されるアドレス以降にそのデータを格納す
ると同時に、プロセッサ101へもそのデータを転送す
るところとなるものである。この後は更にアクセスされ
た順序に従ってポインター120が更新されるところと
なるが、一方、データが存在すると判断された場合は、
キャッシュ−ヒアドレス119によシキャッシュメモリ
112より該当データがプロセッサ101に転送される
。この後はポインター120が更新されその動作コマン
ドに対する処理は終了されるものである。
以上はシングルプロセッサでの場合のものであるが、と
ころでキャッシュを含むマルチプロセッサシステムの構
成としては第5図に示す構成が考えられる。図示の如く
プロセッサ129〜131とキャッシュ102との間に
は、プロセッサ129〜131からのアクセス要求を如
何なる順序で実行するかを制御する。マルチアクセスコ
ントローラ1329、が設けられrいる点會除けばシス
テム構成は第1図に示”jものに同様となっている。本
例ばは3台のブロセツ・す゛についてのものであり、ま
に1ギャツシュ1,02の内部構成はキャッシュメモリ
112についてのみ示す。ここでプロセッサ129〜1
31それぞれのアクセス要求頻度を犬。
中、小としてシングルプロセッサの場合と同様にしてア
クセスするとすれば、キャッシュメモリ112上でのプ
ロセッサ129〜131各々による占有領域は図示の如
くになるというものである。
即ち、プロセッサ129に係るデータ領域133が最も
大きく、プロセッサ130に係るデータ領域134はそ
れよりも小さく、プロセッサ131に係るデータ領域は
存在しない場合が考えられるというものである。これは
、プロセッサ131がアクセス要求を発した場合にはキ
ャッシュメモリ112上にプロセッサ131に係るデー
タ領域が存在するようになるが、その後再びアクセス要
求が発せられるまでの間にプロセッサ129,130か
らのアクセス要求があれば、そのデータ領域はプロセッ
サ129,130iC係るデータ領域として置換されて
しまうからである。なお、一般に占有領域133,13
4は分散状態として存在するが、第5図においてはまと
まったものとして便宜上水されている。
このようにマルチプロセッサシステムにキャッシュを導
入する際にシングルプロセッサの場合と同様にしてキャ
ッシュメモリを利用する場合には、アクセス要求頻度が
犬のプロセッサにとっては極めて有利であるが、その反
面アクセス要求頻度小のプロセッサ圧とっては極めて不
利になることは明らかである。アクセス要求頻度大のプ
ロセッサはキャッシュメモリ上のデータを即利用し得る
場合が多いのに対し、アクセス要求頻度小のプロセッサ
はアクセス要求の度にディスク装置をアクセスする必要
があるからである。即ち、アクセス要求頻度が小である
程にアクセスに時間金要するというものである。キャッ
シュメモリがこのように利用される場合であってもアク
セス要求IM度小のプロセッサが重要な処理機能を有し
ていない場合は特に問題にされることはないが、例えば
システム全体の異常処理機能を有しているような場合に
は問題である。データのアクセスに多くの時間、したが
って処理に多くの時間を要し、不測の大事故を誘起する
虞れがあるからである。
〔発明の目的〕
よって本発明の目的は、マルチプロセッサシステムを構
成するプロセッサ各々のアクセス要求頻度が大きく異な
る場合であっても、各プロセッサが所定の比率でキャッ
シュメモリを利用し得るキャッシュメモリ管理方法金供
するiCある。
〔発明の概要〕
この目的のため本発明は、キャッシュメモリの領域全体
をプロセッサ対応の領域部分に予め分割しておき、プロ
セッサ各々は対応する領域部分を占有領域としてキャッ
シュメモリを利用し得るようにしたものである。
〔発明の実施例〕
以下、本発明を第6図から第10図により説明する。但
し、本発明に係るマルチプロセッサシステムのシステム
構成は第5図に示すものに、また、キャッシュのハード
ウェア構成は第1図に示すものに、更にディレクトリに
おけるブロック対応の情報構成は第2図に示すものに同
様となっている。
先ず第6図はディスク装置におけるトラック数に60、
L、たがってトラックアドレスO〜59として、また、
キャッシュ、メモリの容量は20ブロツク、したがって
キャッシュ上アドレスは0〜19とした場合でのRAM
への必要な情報の格納態様とディスク装置、ディレクト
リとの関係を示したものである。また、第7図はディレ
クトリに格納される情報とキャッシュメモリとの関係を
示したものである。
これらによる場合几AMIIO全体は動作コマンド格納
用のコマンド部CMD、ディレクトリ111をプロセッ
サ129〜131毎に分割管理するディレクトリ管理部
り几CTYおよびデータ確立用のワーク部WO几により
なるものとなっている。このうちコマンド部CMDはプ
ロセッサ番号154、ファンクション115およびデー
タアドレス116」、j7なる。但し、本例ではディス
ク装置104に対するアクセスはトラック中、位(12
にバイト固定長ガータ)に行なわれることから、データ
アドレス116ばI・ラックアドレスを示し、また)転
送語数は不要となっている。因みに本例でのコマンド部
CMDには、トラックアドレス2を読出するためのプロ
セッサ129からの動作コマンドが格納されている。
次にディレクトリ管理部DRCTYについて説明すれば
、ディレクトリ管理部DRCTYはプロセッサ129〜
131が共通にアクセスする可能性があるトラックアド
レス範囲の開始トラックアドレス160とその終了トラ
ックアドレス161を含むものとなっている。本例では
トラックアドレス48〜59が共通アクセス領域として
12トラックアドレス分子め設定されるようになってい
る。
ディレクトリ管理部DRCTYにはその共通アクセス領
域に対するディレクトリ111上での開始アドレス16
2やプロセッサ129〜131対応のディレクトリ11
1上での開始アドレス163〜165がそれぞれ事前に
設定されるようになっているものである。本例では共通
アクセス領域に対してはディレクトリ111上のアドレ
スとして0〜11が与えられ、また、プロセッサ129
〜131にはそれぞれディレクトリ111上のアドレス
として12〜23.24〜41.42〜59が与えられ
るようになっている。即ち、ディレクトリ111上での
3アドレス分は1ブロック分に相当することから、結局
ヤヤツシュメモリ112上においては共通アクセス領域
には4ブロック分、プロセッサ129〜131にはそれ
ぞれ4ブロック分、6ブロツク分、6ブロツク分の領域
が割当されていることになる。既述したように第7図は
ディレクトリ111とキャッシュメモリ112との関係
を示すが、これによる場合例えばディレクトリ111上
におけるアドレス12〜14は、キャッシュ上アドレス
4にはトラックアドレス0のデータがプロセッサ129
によってアクセスされた9ものとしては2番目に古いも
のとして格納されていることを示すものとなっている。
なお、共通アクセス領域を設ける理由であるが、これを
設けない場合にはキャッシュメモリ112上に同一トラ
ック対応のデータが領域を異にして2つまたは3つ存在
する可能性があるからである。即ち、キャッシュ上アド
レスの各々に相互に異なったトラックアドレスのデータ
を格納せしめることによって、キャッシュメモリ112
の有効利用を図らんとするものである。
さて、本発明に係るキャッシュの動作を第8図、第9図
によって説明すれば以下のようである。
第8図はキャッシュコントローラによる基本的な処理の
フローを示したものである。既述した如くプロセッサか
らの動作コマンドはFLAM 110におけるコマンド
部CMDに一旦格納されるが、その後コマンド部CMD
におけるファンクション(FUNC)115のモードが
判定されるようになっている。この場合、本来の処理に
先立って先ず共通アクセス領域およびプロセッサ対応の
占有領域のキャッシュメモリ上における大きさと位置を
設定する必要がある。この設定処理は分割定義処理と称
されるが、この処理モードである場合にはREAD処理
、WRITE処理は行なわれなく各プロセッサからの動
作コマンドにもとづき共通アクセス領域およびプロセッ
サ対応占有領域のブロック数がRAM 110における
ワーク部WORKに一旦格納される。この後それらブロ
ック数よりブイレフ) 1.1111を分割するだめの
各領域の開始アドレスが算出されディレクトリ管理部D
RCTYに登録されるものである。この後更に共通アク
セス領域のディスク上開始トラックアドレスと終了トラ
ックアドレスとがディレクトリ管理部DFLCTYに登
録されることによって分割定義処理は終了される。
分割定義処理が終了すれば次に本来の処理に伴いREA
D処理、WRITE処理が行なわれることになるが、説
明の簡単化上READ処理について第9図(a)、 (
b)により説明すれば以下のようである。
即ち、第8図に示す処理フローにおいて動作コマンドに
おけるファンクション115のモー)’ カREADで
ある場合には第9図(a)、 (b)に示す処理が実行
されるものとなっている。第9図(a)、 (b)に示
す処理におい′7.υ先ずディスク(−でのアト1/ス
を示ずデータアト1/ス(DADDR,) 116が共
通アクセス領域に含1ハ5るか否かを判定すべく開始ト
ラックアドレス(CsADR)160、終了トラックア
ドレス(CEAJ)R) 161と比較されるものとな
っている。この比較によって共通アクセス領域に含まれ
ると判定された場合には開始アドレス(AADRO)1
621デイレクトリ開始アドレスとして設定するもので
ある。また、もしも共通アクセス領域外のものである場
合はプロセッサ番号(CPUA ) 154 f識別す
ることによってそのプロセッサ対応の占有領域の開始ア
ドレスがディレクトリ開始アドレスとして設定される。
プロセッサ番号154が1であれば、開始アドレス(A
ADRI)163がディレクトリ開始アドレスとして設
定されるわけである。
さて、このようにして必要とされる領域の開始アドレス
がディレクトリ開始アドレスとして設定されたならば、
次にその領域内にデータアドレス(DADDR,)11
.6に一致するディスク上アドレス(BA、DDR) 
118が存在するか否かが調べられるようになっている
。これによりもしも一致するディスク上アト1/ス(B
ADDR,) 118が見い出されたならば、そのディ
スク上アドレス(BADDR)118に対応しているキ
ャッシュ上アトl/ス(MADJ)R) 119 k取
り出し、これが示すキャッシュメモリ112」二のアド
レスよりデータがプロセッサに転送されるところとなる
ものである。また、もしも一致するディスク上アドレス
(BADDR)118が見い出されない場合は、その領
域内において最も古くアクセスされたデータがポインタ
ー(POINT) 120 ’i調べることによって検
出されるようになっている。最も古くアクセスされたデ
ータに係るキャッシュ上アドレス(MADJ)R,) 
119を取シ出して、データアドレス(DADDR) 
116によってディスク装置より読み出されたデータを
そのキャッシュ上アドレス(MADDR) 119 カ
示すキャッシュメモリ112のアドレスに格納すると同
時に、プロセッサに転送するものである。この際最も古
くアクセスされたデータに係るディスク上アドレス(B
ADDR,) 118 Fiデータアドレス(DADD
R) 116と置換されることになる。
このようにしてアクセスが終了したならば、アクセスさ
れた領域においてはアクセスされたデータの古さ、即ち
、ポインター(POINT)120をアクセスされた順
序に従って更新をした状態で次のアクセス要求に備える
ことになる。
第10図は、プロセッサ129がトラックアドレス2を
アクセスした際に、キャッシュメモリ112上にそのア
ドレスのデータが存在しない場合でのポインター(PO
INT) 1200更新前と更新後の状態を示したもの
である。図示の如くプロセッサ129対応のディレクト
リ部分のみを示すが、本例ではポインター(POINT
) 120はその数値が小さい程にそれに係るデータが
古くアクセスされたことを示していることから、数値が
最も小さいポインター以外のものにおいてはその数値が
1減じられている一方、数値が最も小さいものは+4加
算されるようになっている。尤もこの場合にはポインタ
ーの値が5となるような場合には4に更新しておくよう
にしてもよいことは勿論である。
本発明は以上のようなものであるが、プロセッサの数に
応じてブイレフ11管理部の容量全適当に加減するよう
にすれば一般のマルチプロセッサシステムに適用し得る
ことは明らかである。また、転送されるデータは固定長
のものとして説明したが、可変長とする場合にはそのデ
ータがグロック内に存在するか否かを判定することによ
って、あるいはブロックをディスクのセクタ単位に管理
するこ、!:によって適用可能となる。
〔発明の効果〕
以上説明したように本発明は、キャッシュメモリの領域
全体がプロセッサ対応の領域部分に予め分割されたもの
として、プロセッサ各々は対応する領域部分を占有領域
としてキャッシュメモリを利用するよりにしたものであ
る。したがって、本発明による場合は、マルチプロセッ
サシステムを構成するプロセッサ各々のアクセス要求頻
度が大きく異方る場合であっても、アクセス要求1度の
小さいプロセッサはキャッシュメモリを利用し得るとい
う幼芽がある。
図面の簡単′f1:、説明 第1図は、キャッシュメモリを採用してなるシングルプ
ロセッサシステムのシステム構成に示f図、第2図は、
ディレクトリに格納されるデータの種類を説明するため
の図、第3図は、プロセッサより出力される動作コマン
ドを説明するための図、第4図は、従来技術に係るキャ
ッシュの処理フローを示す図、第5図は、キャッシュメ
モリを採用してなるマルチプロセツザシステムのシステ
ム構成を示す図、第6図は、R,AMに格納される必要
な情報とディスク装置、ディレクトリとの本発明に係る
関係全売す図、第7図は、ディレクトリに格納される情
報とキャッシュメモリとの本発明に係る関係を示す図、
第8図は、本発明に係るキャッシュの基本的な処理フロ
ーを示す図、第9図(a)、 (b)は、READ処理
が行なわれる場合での処理70−を示す図、第10図は
、ディレクトリにおけるポインターの更新全説明するた
めの図である。
102・・・ディスクキーVツシュ、1o4・・・ディ
スク装置(外部記憶装置)、110・・・R,A、M、
i t i・・・ディレクトリ、112・・・キャッシ
ュメモリ、129〜131・・・プロセッサ、132・
・・マルチアクセスコントローラ。
代理人 弁理士 秋本正実 槽5図 槽8し1 :半q図 (b)

Claims (1)

    【特許請求の範囲】
  1. 1、外部記憶装置とマルチアクセスコントローラとの間
    にバッファメモリとしてのキャッシュメモリを介在させ
    るようにしてなるマルチプロセッサシステムにおけるキ
    ャッシュメモリ管理方法にして、キャッシュメモリの領
    域全体をプロセッサ対応の領域部分に予め分割設定し、
    プロセッサ各々は対応する領域部分を占有領域としてキ
    ャッシュメモリを管理、利用することを特徴とするキャ
    ッシュメモリ管理方法。
JP58124832A 1983-07-11 1983-07-11 キヤツシユメモリ管理方法 Pending JPS6017550A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58124832A JPS6017550A (ja) 1983-07-11 1983-07-11 キヤツシユメモリ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58124832A JPS6017550A (ja) 1983-07-11 1983-07-11 キヤツシユメモリ管理方法

Publications (1)

Publication Number Publication Date
JPS6017550A true JPS6017550A (ja) 1985-01-29

Family

ID=14895195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58124832A Pending JPS6017550A (ja) 1983-07-11 1983-07-11 キヤツシユメモリ管理方法

Country Status (1)

Country Link
JP (1) JPS6017550A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61267149A (ja) * 1985-05-21 1986-11-26 Nec Corp デ−タ処理装置
JPH04205571A (ja) * 1990-11-30 1992-07-27 Matsushita Graphic Commun Syst Inc 電子ファイル装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61267149A (ja) * 1985-05-21 1986-11-26 Nec Corp デ−タ処理装置
JPH04205571A (ja) * 1990-11-30 1992-07-27 Matsushita Graphic Commun Syst Inc 電子ファイル装置

Similar Documents

Publication Publication Date Title
EP0072179A2 (en) Clearing invalid addresses in cache memory
JPH04306748A (ja) 情報処理装置
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
KR0175983B1 (ko) 데이타 처리 시스템
JP2781092B2 (ja) システム間排他制御方式
US6941308B1 (en) Methods and apparatus for accessing a doubly linked list in a data storage system
US4658356A (en) Control system for updating a change bit
US5895496A (en) System for an method of efficiently controlling memory accesses in a multiprocessor computer system
CN112015159B (zh) 一种基于双核mcu的故障记录存储方法及计算机系统
US6032234A (en) Clustered multiprocessor system having main memory mapping shared expansion memory addresses and their accessibility states
JPS6017550A (ja) キヤツシユメモリ管理方法
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
USRE38514E1 (en) System for and method of efficiently controlling memory accesses in a multiprocessor computer system
US6397295B1 (en) Cache mechanism for shared resources in a multibus data processing system
US5212799A (en) Method and apparatus for storing a data block in multiple memory banks within a computer
JPH04305746A (ja) キャッシュメモリ制御装置
EP0358224A2 (en) Semiconductor disk device useful in transaction processing system
JP2710475B2 (ja) メモリ制御回路
JPH0241538A (ja) キャッシュメモリ制御方法
JPH01266643A (ja) キャッシュ制御方式
JP3219422B2 (ja) キャッシュメモリ制御方式
JPH04291642A (ja) キャッシュ制御方式
JPS61173355A (ja) デイスクキヤツシユ設置方式
JPS63240649A (ja) デ−タ処理装置
JPH01276348A (ja) 2次キャッシュメモリ方式