JPH0313616B2 - - Google Patents

Info

Publication number
JPH0313616B2
JPH0313616B2 JP58152053A JP15205383A JPH0313616B2 JP H0313616 B2 JPH0313616 B2 JP H0313616B2 JP 58152053 A JP58152053 A JP 58152053A JP 15205383 A JP15205383 A JP 15205383A JP H0313616 B2 JPH0313616 B2 JP H0313616B2
Authority
JP
Japan
Prior art keywords
replacement
row
data
column
buffer storage
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.)
Expired - Lifetime
Application number
JP58152053A
Other languages
English (en)
Other versions
JPS6043758A (ja
Inventor
Koji Nakamura
Makoto Kishi
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 JP58152053A priority Critical patent/JPS6043758A/ja
Publication of JPS6043758A publication Critical patent/JPS6043758A/ja
Publication of JPH0313616B2 publication Critical patent/JPH0313616B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F12/12Replacement control

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)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はバツフア記憶方式をとる情報処理装置
におけるバツフア・ストレージのリプレース制御
方式に関する。
〔発明の背景〕
バツフア記憶方式をとる情報処理装置におい
て、主記憶装置内のデータの写しを格納しておく
バツフア・ストレージのリプレースメント・アル
ゴリズムは、一般にLRU(Least Recently
Used)制御方式が用いられる。この方式は、バ
ツフア・ストレージ内の或るブロツクの内容を主
記憶装置から送られてきた新しいデータで置き換
える場合、該当ブロツク内の最古にアクセスされ
たデータを追い出すというものである。この
LRU制御方式を用いた場合、バツフア・ストレ
ージの或るブロツクが参照されると、リプレース
メント・アレイ(バツフア・ストレージ内のブロ
ツクのリプレースされる優先順位を格納しておく
アレイ)には、該当ブロツクのリプレース優先順
位が最低になる情報が書込まれる。
ところで、システムによつては、バツフア・ス
トレージは演算処理装置(CPU)と入出力チヤ
ネル(CH)の両方からアクセス可能である。こ
のチヤネルが大容量のデータを転送するような場
合、最後のデータを転送すべくバツフア・ストレ
ージの或るブロツクを参照すると、以後、該ブロ
ツクの参照される可能性は極めて少ない。この場
合、LRU制御方式を採用すると、この参照され
る可能能性の極めて少ないブロツクのリプレース
優先順位が最低に設定されるため、バツフア・ス
トレージのリプレース時、該ブロツクのリプレー
スされる確率が低下し、参照される可能性の高い
ブロツクがリプレースされることになり、バツフ
ア・ストレージのヒツト率を低下させる。
従来、かゝる問題を解決する方法の一つに、演
算処理装置がバツフア・ストレージをアクセスす
る場合は該当ブロツクのリプレース優先順位を最
低に設定し、入出力チヤネルがアクセスする場合
は逆に最高に設定する方式がある(特願昭51−
131740号)。しかし、この従来方式は、チヤネル
がバツフア・ストレージをアクセスした場合、一
義的に該当ブロツクのリプレース優先順位を最高
にするというものであり、チヤネルが近い将来に
更び参照する必要のあるデータまでもリプレース
される欠点がある。
〔発明の目的〕
本発明の目的は、上記従来方式の欠点を解決し
て、バツフア・ストレージのヒツト率を更に向上
させる融通性に富むリプレース制御方式を提供す
ることにある。
〔発明の概要〕
本発明は、一連のデータ転送処理において、バ
ツフア・ストレージの或るブロツクに対する最終
アクセスであり、近い将来に該ブロツクを更びア
クセスする予定がない場合、該当ブロツクリプレ
ース優先順位を最高にして、積極的に該ブロツク
をリプレースするものである。
〔発明の実施例〕
以下、本発明の一実施例について図面により詳
細に説明する。
第1図はバツフア記憶方式の概念図で、主記憶
装置とバツフアメモリの間に中間バツフア(ワー
ク・ストレージ)を持つ3レベルのメモリ階層を
形成した例を示す。第1図において、101は主
記憶装置(MS)であり、その記憶内容の一部の
写しがワーク・ストレージ(WS)102に格納
される。このWS102を演算処理装置(CPU)
103,104及び入出力チヤネル(CH)10
5で共用する。CPU103,104には高速バ
ツフアメモリ(BS)があり、WS102のデータ
の一部が格納される。CPU103,104はメ
モリアクセスが発生すると、自装置内のBSを参
照し、目的のデータがBSにあれば、該BSより直
ちに取得し、なければWS102から読み出す。
又、WS102にも目的のデータがない場合は、
MS101より当該データを含むブロツクをWS
102に転送し、該WS102からあらためて読
み出す。CH105についてもほゞ同様である。
第2図にWSとそのアドレス・アレイ(WAA)
及びリプレースメント・アレイ(WRA)を示
す。WS102は多数のカラムに分かれ、1つの
カラムには複数のローが存在する。第2図は4ロ
ー構成の場合を示す。1ローの大きさは例えば16
バイトからなり、MS101の連続した16バイト
のデータを格納することができる。MS101も
該WS102と同様のカラムに分かれるが、各カ
ラムに含まれるロー数は、該MS101の記憶容
量によつて異なる。このMS101の各カラムに
含まれるロー群のうち、任意の4つのローのデー
タがそれぞれWS102の対応するカラムの4ロ
ーのうちのどれか1つに格納される。
WAA102−1は、WS102に格納されて
いるデータのMS101上のアドレスを登録して
おくもので、カラム、ローともにWS102の同
じカラム、ローに対応している。WRA102−
2は、WS102の各カラム対応にリプレースす
べきローの優先順位を覚えておくものである。後
述するように、4ロー構成の場合、WRA102
−2は各カラム毎に6ビツトで構成される。
第2図において、例えばWS102のカラムB
に属するアドレスに対するメモリアクセスで
“Not in WS”が発生した場合、WRA102−
2の該当カラムの内容により、4つのロー(B0,
B1,B2,B3)中の追出すべきローを決定し、
WS102のカラムBの該当ローにMS101か
ら読み出した新しいデータを格納する。同時に、
WAA102−1のカラムBの該当ローに新デー
タのMS上のアドレスを登録し、WRA102−
2の該当カラムの内容を更新する。
WRA102−2の更新アルゴリズムはLRU方
式が一般によく使用されており、各カラム毎に、
アクセスされたローのリプレース(WS102か
ら追出す)される優先順位が最も低くなるように
更新されるが、本発明では、メモリアクセスが
WS102の該当ローに対する最終アクセスで、
以後、該ローの参照される可能性が極めて少ない
場合、該ローのリプレース優先順位が最高となる
ように更新するものである。
第3図はWSが第2図の如き4ロー構成の場合
のリプレースアルゴリズムを説明する図である。
第3図において、0〜3はロー番号を示し、
WRA102−2はこの0〜3を結ぶ6本の線に
対応したア〜カの6ビツトのリプレース優先順位
決定情報を各カラム毎に有する。0〜3の各ロー
に着目するに、各ロー共、ア〜カの6本のうち3
本が集まつており、それらの矢印が最も多く向い
ているローがリプレース優先順位が最高であるこ
とを示している。WSの或るカラムの例えばロー
0がアクセスされた場合、通常は該ロー0に集ま
つている3本の線ア、エ、オの矢印を自分とは反
対側に向ける。これにより、該ロー0のリプレー
ス優先順位は最低となる。このロー0に集まつて
いないイ、ウ、カの線の矢印の向きは変えない。
第3図aはこの場合を示したものである。一方、
ロー0に対するメモリアクセスはこれで最後であ
り、近い将来に該ローを再びアクセスする予定が
ない場合、ロー0に集まつている3本の線ア、
エ、オの矢印をいずれも自分の方に向ける。これ
により、該ロー0のリプレース優先順位が最高に
なる。第3図bはこの場合を示したものである。
次に具体例により説明する。第4図はCHが
MS上のS番地からE番地までの連続したアドレ
スについてアクセスする時、従来方式を実施した
場合のMSとWAAの関係を示したものである。
第4図において、MS101上の破線はカラム境
界である。又、WAA102−1内のアドレスは
便宜上、左によせているが、一般には4つのロー
にランダムに分散している。
さて、CA0〜CZ0のカラムに対するCHから
のメモリアクセスが全て終了した状態に注目した
場合、従来方式においては、WRAはWAA10
2−1の各カラムについて、リプレースの最高優
先順位としてCA0〜CZ0の登録されたロー0を
指しているとは限らない。従つて、CA1〜CX1
のカラムがアクセスされると、そのアドレスは、
CA0〜CX0をリプレースせずに、別のローに登
録されることがある。第4図はCA0〜CX0がロ
ー0に残つた状態で、CA1〜CX1がロー1に登
録された例を示している。
こゝで、高速の半導体メモリフアイルなどが使
用される場合を考えると、最悪のケースは、WS
のデータが全てCHの入出力によるデータに置き
換えられてしまうこともあり得る。ところがCH
のアクセスするデータは、一般にCHが一担デバ
イスに書込んだり、メモリに書込んだりした後は
WS上に留まつている必要はないものである。こ
のように、WS上に残つている必要のないCHの
アクセスデータが残つていると、WS上に残つて
いてほしいCPUの使用データを追い出してしま
う不都合が生じる。
第5図は同じくCHがMS上のS番地からE番
までの連続したアドレスについてアクセスする
時、本発明を実施した場合のMSとWAAの関係
を示したものである。第5図において、CA0E
〜CW1Eは各カラムの最終アドレスを示す。
CHからのメモリアクセス時、本発明では次の
原則にしたがつてリプレースの優先順位を決め
る。
(1) 各カラムの最終アドレスCA0E〜CW1E
では、WAA102−1のリプレース優先順位
を通常のアクセスとは逆にCA0〜CW1の登
録されたローが最高位となるようにWRAを更
新する (2) カラムの途中であつても、EのようにCHリ
エストの最終アクセスでは、(1)と同様にCX1
の登録されたローが最高位となるようにWRA
を更新する。
(3) 上記(1),(2)以外のアクセスでは通常通りのリ
プレース優先順位とし、アクセスされたローが
最低位となるようにWRAを更新する。
従つて、CA0〜CZ0のカラムに対するCHか
らのメモリアクセスが全て終了した場合、WAA
102−1の各カラムについて、リプレースの最
高優先順位はCA0〜CZ0の登録されたロー0を
指している。このため、次にCA1〜CX1のカラ
ムがアクセスされると、そのアドレスは、それぞ
れCA0〜CX0をリプレースして、WAA102
−1の各カラム共ロー0に登録される。しかも、
WAA102−1の各カラムについて、CA1〜
CX1の登録されたロー0のリプレース優先順位
は、これ又、最高位に指定されている。リプレー
スされないで残つているCYO、CZOのリプレー
ス優先順位も最高位となつている。従つて、WS
のデータが全てCHの入出力によるデータに置き
換えられることはなく、CPUの使用しているデ
ータをWSから追い出す量が低減される。又、例
えばCBOカラムのアクセス途中では、WAA10
2−1の該当ローは最低位のリプレース優先順位
となつているため、アクセスが全て終了していな
いCBOカラムがCPUのWSアクセスによつて追い
出されることはない。
第6図はMS上のS番地からE番地までアドレ
ス逆方向に、CHによるデータ転送が発生した場
合の本発明によるMSとWAAの関係を示したも
のである。この場合は、各カラムの先頭アドレス
CX1S、CSW1S、…CB0S及びCHによる最
終リクエスト・アドレスEのアクセスでは、
WAA102−1の該当ローが最高位となるよう
にリプレース優先順位を指定し、その他のアクセ
スでは通常通りの最低優先順位を指定すればよ
い。これにより、CX1〜CA1に対するCHから
メモリアクセスが全て終了した時、WAA102
−1の各カラムについて、リプレースの最高優先
順位はCX1〜CA1の登録されたローを指定して
おり、このため、次にCZ0、CY0とアクセスさ
れた後、CX0〜CA0のカラムがアクセスされる
と、そのアドレスは、それぞれCX1〜CA1をリ
プレースしてWAA102−1の各カラムの該当
ローに登録される。
第7図は本発明のリプレース制御方式の一実施
例のブロツク図である。便宜上、第7図では
WAA、WRAの1つのカラムに対する構成のみ
を示す。第7図において、701はWSの或るカ
ラムでアクセスされるロー番号に対応するラツチ
群で、その4本の出力線705のうち、“in WS”
となつたローに対する1本のみが“1”となる。
エンコーダ702は第3図aのアルゴリズムにも
とづき、ア〜カの書込みデータ(Dア〜Dカ)7
06と書込み信号(Wア〜Wカ)707のうち、
“in WD”となつたローに関係するものを“1”
とする。エンコーダ702の書込データDア〜D
カはインバータ703を経由してリプレースメン
ト・アレイ部704に入力される。インバータ7
03は、リプレース最高優先順位指定信号(HP
信号)709が“1”のときには、入力データ7
06を反転して出力データ708とし、HP信号
709が“0”のときには入力データ706をそ
のまま出力データ708とするものである。リプ
レースメント・アレイ部704では、インバータ
703からの出力データ708のうち、書込み信
号707が“1”となつているビツトについての
み書き込みが行なわれる。即ち、第7図の構成と
することにより、HP709が“0”のときには
第3図aの通常のLRUリプレースメント・アル
ゴリズムが実行され、HP709が“1”のとき
には、これとは逆の第3図bに示すリプレースメ
ント・アルゴリズムが実行される。
第8図はHP信号の生成論理を示したものであ
る。第8図では、メモリのカラムサイズは256バ
イトからなり、メモリアドレス情報は0〜31ビツ
トの32ビツト構成をとり、CHのアクセスは8バ
イト単位で行うと仮定している。従つて、アドレ
ス情報の24ビツトがカラム境界、29ビツトが8バ
イト境界を表わし、24〜28ビツトがオール“1”
の場合、該アドレスはカラムの最終8バイトを示
し、オール“0”の場合は先頭8バイトを示す。
第8図において、CHからMSに対する読出し
あるいは書込みリクエストが発生すると、オア回
路801の出力が“1”となる。アドレス情報の
24〜28ビツトはラツチ回路802〜806にラツ
チされ、それらがオール“1”の場合はアンド回
路807の出力が“1”となり、オール“0”の
場合はアンド回路808の出力が“1”となる。
メモリのアドレス順方向にデータ転送が行われる
場合(FORWARD)、オア回路801とアンド
回路807の出力がいずれも“1”の時、アンド
回路809の出力が“1”となり、オア回路81
1を介してHP信号709は“1”となる。これ
は第5図でCA0E〜CW1Eをアクセスした場
合に該当する。又、メモリのアドレス逆方向にデ
ータ転送が行われる場合(BACK)、オア回路8
01とアンド回路808の出力がいずれも“1”
の時、アンド回路810の出力が“1”となり、
オア回路811を介してHP信号709は“1”
となる。これは第6図でCB0S〜CX1Sをアク
セスした場合に該当する。更に、当該データ転送
の最終アクセスを示す信号(LAST ACC)が出
される場合も、オア回路811を介してHP信号
709は“1”となる。これは、第5図ではE、
第6図ではSをアクセスした場合に該当する。
以上、CPUによるアクセスは従来通りの優先
順位とし、CHによるメモリアクセスの場合には
逆にする場合について説明したが、CPUのメモ
リアクセスにおいても、あるカラム、ブロツクに
対する最終アクセスで、以後、該カラム、ブロツ
クが参照される可能性が極めて少ない場合には同
様に適用可能である。又、実施例ではWSのリプ
レースについて説明したが、BSでも同様である
ことは云うまでもない。
又、実施例は3レベルのメモリ階層を形成した
場合の中間バツフア(WS)のリプレースについ
て説明したが、第1図においてCPU103,1
04内にBSを持たないような2レベルのメモリ
構成、あるいはCPU103,104内のBSを
CHがアクセスする場合にBSに適用する構成であ
つても同様である。
〔発明の効果〕
以上の説明から明らかな如く、本発明によれ
ば、一連のデータ処理において、あるブロツクに
対する最終アクセスであるか否か判断し、最終ア
クセスの場合、そのブロツクのリプレース優先順
位を最高順位にしておくことにより、近い将来に
更びアクセスする予定の無いブロツクが優先的に
バツフア・ストレージから追出されるため、有用
なブロツクの追出しが防止でき、バツフア・スト
レージの使用効率を一層高めることができる。
【図面の簡単な説明】
第1図はバツフア記憶方式の概念図、第2図は
バツフア・ストレージ(ワークストレージ)とア
ドレス・アレイとリプレースメント・アレイの関
係を示す図、第3図はリプレース・アルゴリズム
の説明図、第4図は従来方式によるアドレス・ア
レイの登録状態を示す図、第5図及び第6図は本
発明によるアドレス・アレイの登録状態を示す
図、第7図は本発明の一実施例のブロツク図、第
8図は第7図におけるリプレース最高優先順位指
定信号の生成論理の具体例を示す図である。 101……主記憶装置、102……ワークスト
レージ(バツフア・ストレージ)、103,10
4……中央処理装置、105……入出力チヤネ
ル、102−1……ワークストレージ・アドレ
ス・アレイ、102−2……ワークストレージ・
リプレースメント・アレイ。

Claims (1)

    【特許請求の範囲】
  1. 1 バツフア記憶方式をとる情報処理装置におい
    て、バツフア・ストレージのブロツク間のリプレ
    ース順位を示すリプレースメント・アレイを有
    し、バツフア・ストレージのアクセス時、当該ブ
    ロツクに対する最終アクセスか否か判定し、最終
    アクセスの場合は当該ブロツクのリプレース順位
    が最高位となるように前記リプレースメント・ア
    レイを更新し、それ以外の場合は最低位となるよ
    うに更新することを特徴とするバツフア・ストレ
    ージのリプレース制御方式。
JP58152053A 1983-08-20 1983-08-20 バツフア・ストレ−ジのリプレ−ス制御方式 Granted JPS6043758A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58152053A JPS6043758A (ja) 1983-08-20 1983-08-20 バツフア・ストレ−ジのリプレ−ス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58152053A JPS6043758A (ja) 1983-08-20 1983-08-20 バツフア・ストレ−ジのリプレ−ス制御方式

Publications (2)

Publication Number Publication Date
JPS6043758A JPS6043758A (ja) 1985-03-08
JPH0313616B2 true JPH0313616B2 (ja) 1991-02-22

Family

ID=15532014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58152053A Granted JPS6043758A (ja) 1983-08-20 1983-08-20 バツフア・ストレ−ジのリプレ−ス制御方式

Country Status (1)

Country Link
JP (1) JPS6043758A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2618149B2 (ja) * 1991-04-22 1997-06-11 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ内のデータ記憶スペースを管理する方法及びキャッシュ内でページ置換を行う装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS605021B2 (ja) * 1980-07-08 1985-02-07 日本電気株式会社 バッファメモリ装置
JPS6019810B2 (ja) * 1980-12-05 1985-05-18 富士通株式会社 バッファメモリ制御方式

Also Published As

Publication number Publication date
JPS6043758A (ja) 1985-03-08

Similar Documents

Publication Publication Date Title
US5019971A (en) High availability cache organization
JP3065736B2 (ja) 半導体記憶装置
US5226147A (en) Semiconductor memory device for simple cache system
US3800292A (en) Variable masking for segmented memory
JP3620473B2 (ja) 共有キャッシュメモリのリプレイスメント制御方法及びその装置
EP0407119B1 (en) Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access
US6023746A (en) Dual associative-cache directories allowing simultaneous read operation using two buses with multiplexors, address tags, memory block control signals, single clock cycle operation and error correction
JPS6118222B2 (ja)
EP1087296B1 (en) Word width selection for SRAM cache
US5060136A (en) Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
US4942521A (en) Microprocessor with a cache memory in which validity flags for first and second data areas are simultaneously readable
JPH07120312B2 (ja) バッファメモリ制御装置
JPH0438014B2 (ja)
US4400793A (en) Method and arrangement for fast access to CCD-stores
JPS6027965A (ja) 記憶システム
JPH0313616B2 (ja)
EP0287334A2 (en) High availability cache memory
US20010034808A1 (en) Cache memory device and information processing system
JPH0427583B2 (ja)
JPS63201850A (ja) オンチツプキヤツシユメモリ
JP2660488B2 (ja) 半導体記憶装置
JPH06243045A (ja) キャッシュメモリ
JP2507721B2 (ja) バツフアメモリ装置
JP2660489B2 (ja) 半導体記憶装置
JP2000066946A (ja) メモリコントローラ