JPS6029136B2 - バツフアメモリシステム - Google Patents

バツフアメモリシステム

Info

Publication number
JPS6029136B2
JPS6029136B2 JP52158820A JP15882077A JPS6029136B2 JP S6029136 B2 JPS6029136 B2 JP S6029136B2 JP 52158820 A JP52158820 A JP 52158820A JP 15882077 A JP15882077 A JP 15882077A JP S6029136 B2 JPS6029136 B2 JP S6029136B2
Authority
JP
Japan
Prior art keywords
buffer memory
address
buffer
block
memory
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
Application number
JP52158820A
Other languages
English (en)
Other versions
JPS5489531A (en
Inventor
直哉 大野
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP52158820A priority Critical patent/JPS6029136B2/ja
Publication of JPS5489531A publication Critical patent/JPS5489531A/ja
Publication of JPS6029136B2 publication Critical patent/JPS6029136B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明は、計算機システムにおけるバッファメモリシス
テムに関する。
計算機システムにおいては中央処理装置の速度と主記憶
装置の速度との間には大きな隔たりがあり、これが計算
機システムの性能を制限する要因となっている。
これを緩和するために、中央処理装置側に比較的小容量
のバッファメモリを設け、中央処理装置から主記憶にア
クセスを行う際にアクセスすべき語を含む複数語からな
るブロックをバッファメモIJIこ取込んでおき、次に
アクセスを行う際にはこのバッファメモリに対してアク
セスを行うことにより実効的に主記憶の高速化が達成‐
できることが知られており、セットアソシアテイブ方式
と呼ばれる方式のバッファメモリが一般に採用されてい
る。この方式においては、主記憶とバッファメモリは主
記憶アドレスの一部を用いて複数個のセットに分割され
、バッファメモリはある定められた数のブロックをもつ
以後、バッファメモ川こおけるブロックをコンバートメ
ントとよび、セットあたりのバッファメモリのブロック
数をコンバートメント数と呼ぶことにする。主記憶上の
ブロックは同じセットに属するバッファメモリ上の前記
複数個のコンバートメントのうちのいずれかに格納し得
ることになる。この方式においては、主記憶上のブロッ
クが格納し得るバッファメモリ上の格納位置に制限があ
り、このため特定のセットにおいてブロックの直換えが
頻発し、これがバッファメモリの効率を低下させる原因
となっている。
本発明においては、セットへの分割方法の異なる第1お
よび第2のバッファメモリを設け、第1のバッファメモ
リのあるセットに対応する主記憶上のブロックは第2の
バッファメモリにおいては、複数のセットに分散される
ように構成される。従って、本発明においては、第1の
バッファメモリの特定のセットに対応する主記憶のブロ
ックが多数集中的にかたよってアクセスされるような事
態が発生した場合でも、これらのブロックを第2のバッ
ファメモリに割当てることにより、特定のセットにおけ
る層換えの頻繁な発生を阻止できることになり、バッフ
ァメモリ上で必要な情報が見出される確率(ヒットレィ
ト)を向上させることができる。従って、本発明の目的
は、高いヒットレィトをもつバッファメモリシステムを
提供することにあり、特に、主記憶のアクセスのかたよ
りに対しても性能の低下が少ないバッファメモリシステ
ムを提供することにある。
次に、図面を用いて本発明のバッファメモリシステムの
実施例を説明する。
本実施例においては、主記憶はアドレスとして20ビッ
トのバイトアドレスが使われるものとする。
また、1ブロックは32バイトであるとする。従って、
主記憶上のブロックは、15ビットでアドレスされるこ
とになる。第1および第2のバッファメモリは、ともに
128のセットをもち、第1および第2のバッファメモ
リの各セットは、2つのブロックからなる。即ち、第1
および第2のバッファメモリの各セットには対応する主
記憶のセットに属する2個のブロックが格納できること
になる。第1のバッファメモリにおいては、15ビット
のブロックアドレスの下位7ビット、即ち第9から第1
5がそのままセットアドレスとして使用されるが、第2
のバッファメモ川こおいては、ブロックアドレスの第9
から第15ビットまでの各ビットが上位の第2から第8
ビットの7ビットの各ビットと、論理和をとられ、その
結果である7ビットがセットアドレスとして使用される
。本発明においては、主記憶のあるアドレスがアクセス
されたとき、そのアドレスに対応するブロックは第1の
バッファメモリにおけるあるセットの2個のブロックお
よび第2のバッファメモ川こおける他のセットの2個の
ブロックに格納し得ることになる。
本実施例においては、ある特定のセットにおいて、頻繁
なブロックの暦換えが集中的に発生するのを防ぐための
ブロックのおきかえ(以下リプレースとよぶ)の情報と
して、第1および第2のバッファメモリの各セットにお
いて、ある期間でリプレースの発生した回数が保持され
る。
第1および第2のバッファメモリのいずれにおいても必
要なブロックが見出されないときに、第1および第2の
のバッファメモリの対応するセットのリプレースの回数
を調べ、回数の少し、バッファメモリに対してリプレー
スを行う。第1図は本発明の第1の実施例の構成を示す
ブロック図である。
本実施例においては、主記憶上のブロックは、第1およ
び第2のバッファメモリアレイ11および12に格納さ
れるが、現在バッファメモリに保持されているブロック
を管理するために「第1および第2の管理テーブル2お
よび4が用意される。
管理テーブル2,4はバッファメモリの128個のセッ
トに対応して128個のェントリをもち「各ェントリは
、バッファメモリの各セットあたり2個のブロックに対
して、第1および第2のブロックアドレス部21および
22,41および42をもつ。第1および第2の管理テ
ーブル2,4の各ェントリは、また、各セットにおいて
発生したりプレースの回数を保持するための8ビットの
カウント部23および43をもつ。更に各セットにおけ
る第1および第2のブロックの使用順序を保持するため
のカレントフラグその他の制御情報を含む制御部24,
44をもつ。第1の管理テーブル2には、アドレスレジ
スタ1の第9から第15ビットまでの7ビットがアドレ
スSAIとして印加されている。
また、アドレスレジスタ1の第1から第8すでの8ビッ
トがブ。ックアドレスとして第1および第2のブロック
アドレス部21,22,23,24に印加されている。
第1の管理テーブルからセットアドレスSAIにより読
出される第1および第2のブロックアドレス部21,2
2の値は、第1および第2の比較回路31および32の
一方の入力に印加されている。
第1および第2の比較回路31,32の他方の入力には
、アドレスレジスタ1の第1から第きビットの値が印加
されている。第1の管理テーブル2のカウント部23の
出力は第1のカウンタレジスタ7に印加され、第1のカ
ウンタレジスタ7の出力は、カウント部23に印加され
ている。
第1のカウンタレジスタ7の出力は、カウント比較回路
9の一方の入力に印加されている。第2の管理テーブル
くには、アドレスとして第2のセットアドレスSA2が
印加され、ブロックアドレスとしては、第1の管理テー
ブル2と同じ〈、アドレスレジスタの第1から第8ビッ
トの値が印加されている。
第2の管理テーブル4に印加される第2のセットアドレ
スSA2としては、アドレスレジスタ1の第2から第8
ビットまでの7ビットおよび第9から第15ビットまで
の7ビットが7個の排他的論理和回路6に各々入力され
、第2ビットと第9ビット、第3ビットと第10ビット
,…の7ビットの排他的論理和が使用される。
第2の管理テーフル4の他の部分および第2のバッファ
メモリの第1および第2の比較回路の構成等は第1のバ
ッファメモリと同様であり、セットアドレスSA2によ
り読み出される第1および第2のブロックアドレス部4
1,42の値は第1および第2の比較回路51,52の
一方の入力に加えられ、前記第1および第2の比較回路
51,52の他の入力にはアドレスレジスタ1の第1か
ら第8ビットの値が印加されれている。又、第2の管理
テーブル4のカウント部43の出力は、カウンタレジス
タ8の入力に、カウンタレジスタ8の出力はカウント部
43の入力およびカウント比較回路9の他方の入力に印
加されている。次に、本実施例の動作を説明する。
なお、これらの動作は制御回路10の制御のもとに行わ
れる。
中央処理装置(図示せず)から、メモリアクセス要求が
あると、アドレスレジスタ1に印加されている主記憶ア
ドレスを格納し、この値により第1あるいは第2のバッ
ファメモリアレイ11,12に要求されたブロックがあ
るかどうかがチェックされる。
即ち、第1および第2のセットアドレスSAIおよびS
A2を用いて第1および第2の管理テーブルが読出され
、第1および第2のバッファメモリの第1および第2の
比較回路31,32および51,52において、謙出さ
れたブロック部の値と、アドレスレジスターのブロック
アドレス(第1から第8ビット)が比較される。
第1および第2のバッファメモリのいずれかに必要な情
報が存在する場合、即ち、第1あるいは第2のバッファ
メモリの第1あるいは第2の比較回路31,32あるい
は51,52のいずれかで−致が検出されたとき、対応
する管理テーフル2、あるいは4の制御部24,44に
含まれる力レントフラグを更新するとともに対応するバ
ッファメモリアレイ11あるいは12の対応するアドレ
スに対してアクセスが行われる。
即ち、第1のバッファメモリアレイに対してアクセスが
行われる場合には、アドレスレジスタ1のセットアドレ
スSA1、比較回路31,32に対応して、制御回路1
0から出力される第1あるいは第2のブロックの選択ア
ドレスBS1「フロック内のアドレスを指定するための
アドレスレジスタ1のブロック内アドレスBAをアドレ
スとして、制御信号MCIが印加され、第2のバッファ
メモリアレイに対してアクセスが行われる場合には、第
2のセットアドレスSA2、フロックの選択アドレスB
S2、ブロック内アドレスBAをアドレスとして制御回
路10から制御信号MC2が印加される。
必要な情報がバッファメモリに存在しない場合、即ち、
比較回路31,32,51,52のいずれにおいても一
致が検出されない場合には、要求されたブロックを新た
に格納すべきバッファメモリアレイ11あるいは12を
定めるために次の処理が行われる。
即ち、カウント比較回路9により、第1および第2の管
理テーブルと2,4のカウント部23,43から謙出さ
れ、第1および第2のカウントレジス夕7および8に格
納されている値が比較される。第1のバッファメモリの
対応するセットにおけるリプレースの回数が第2のバッ
ファメモリの対応するセットよりも少し、場合、あるい
は等しい場合、即ち、第1のカウンタレジスタ7の値が
第2のカウンタレジスタ8の値よりも4・さし、か等し
いときには、第1のバッファメモリがリプレースのため
に選ばれる。このときは、第1の管理テーブル2の制御
部24のカレントフラグが調べられ、古くアクセスされ
た方のブロックがリプレースの対象として選ばれ、選ば
れたバッファメモリアレイ11のブロックに対してリプ
レース処理を行う、即ち、主記憶からアドレスレジスタ
ーで指定されるブロックを取込むとともに、第1の管理
テーブルの対応するブロックアドレス部21あるいは2
2にアドレスレジスタ1の第1から第8ビットのブロッ
クアドレスを書込む。同様に、第1のカゥンタレジスタ
7の値が第2のカゥンタレジスタ8の値よりも大きい場
合には第2のバッファメモリかりプレースの対象として
選ばれ、同様の処理が行われる。
なお、このとき選ばれたバッファメモリに対応するカゥ
ンタレジスタ7あるいは8の値はカウントアップされ、
カウントアップされた値が第1あるいは第2の対応する
管理テーブル2あるいは4のカウント部23あるいは4
3に戻される。そして、カウントアップに際してオーバ
ーフロウが発生した場合には、第1および第2の管理テ
ーブル2,4のカウント部23,43に対してリセット
指令が出され、カウント部23,43の値はすべて0の
リセットされる。これは、第1のバッファメモリのある
セットに対応する主記憶上のブロックは、第2のバッフ
ァメモリにおいて複数個のセットに対応するため、全セ
ットのカウンタ部をリセットすることが必要なために行
われる。これにより、第1およ第2のバッファメモリの
各セットにおけるリプレースの発生回数が新たにカウン
トされ始められることになる。以上、本発明の第1の実
施例を説明したが、第1の実施例においては、管理テー
ブル2,4のカウント部23,43は消去信号により全
ワードが一括してリセットきるような構造をもつ記憶素
子も用いるとしたが、このような一括リセットのできな
い構造の記憶素子を用いる場合には制御回路1川ま管理
テーブルの全セットに対応するアドレスを順次印加しつ
つカウント部に0を書込むための制御を行うことが必要
になる。
この場合にはカウント部23,43のリセットに時間が
かかる。これが問題になる場合の第2および第3の実施
例を次に示す。次に第2図のブロック図を用いて本発明
の第2の実施例について説明する。
第2図に示すように、第2の実施例においては、第1お
よび第2の管理テーブル2,4は各4ビットの第1およ
び第2のカウント部231,232,431,432を
もち、ある時点ではその一方が使用される。
第1および第2のカウント部のいずれが現在使用されて
いるかは制御回路10に設けられたカウンタ制御フラグ
101により指定される。中央処理装置からのメモリア
クセスに際し、第1の実施例と同様に、第1および第2
の管理テーブル2,4が読出され、比較回路31,32
,51,52においてブロックアドレスの比較が行われ
るが、これと同時に現在使用中でないカウント部の内容
は6にリセットされる。
リプレースに際して、カウンタレジスタ7,8でオーバ
ーフロウが発生した場合には、制御回路10のカウンタ
制御フラグ101が変更され、もう一方のカウント部の
値が以後使用されることになる。このときまでに、第1
および第2の管理テーブル2,4のそれまで使用されて
いなかったカウント部のほぼ全部が各メモリアクセスに
おいてクリアされているので、本実施例においては、カ
ウンタレジスタのオーバーフロゥ時に、全力ウント部の
クリアを行う必要がない。次に、第3図のブロック図を
用いて第3の実施例について説明する。第3の実施例に
おいては、第3図の示すように制御回路10にカゥンタ
102が設けられる。
第1の実施例の場場合と同様に、メモリのアクセスに際
して第1あるいは第2のバッファメモリで必要な情報が
見出されないとき、一方のバッファメモリが選択され、
対応するアドレスレジスタ7あるいは8がカウントアッ
プされるが、このときカウンタレジスタ7あるいは8で
オーバーフロウが起るとき、即ち、全ビットが値1をも
つ場合には、このカウントアップは行わず、かわりに制
御回路10内に設けた制御カウンタ102をカウントア
ップする。制御カウンター02がオーバーフロウしたと
きに、第1および第2の管理テーブル2,4のカウント
部23,43の内容のリセットを行う。
これによりカウント部のIJセットを行う回数を少くす
ることができる。同様に、第2の実施例においても、カ
ウンタレジスタでのオーバーフロウの回数を教え、ある
回数毎にカゥンタ部を切換えることにより、カウンタ部
のクリアをより確実に行うことができる。以上、第1か
ら第3の実施例においては、ある主記憶アドレスに対応
する第1および第2のバッマァメモリの特定のセットに
おいて集中的にリプレースが発生することを防ぐための
りプレース情報として、各セット毎にそのセットにおい
て発生したりブレースの回数を管理テーフル2,4のカ
ウント部23,43により管理1これが等しくなるよう
な制御を行なっているが、他の手段によりこれを実現す
ることも可能である。次に第4図により本発明の第4の
実施例について説明する。本実施例においては、リプレ
ース情報として第1および第2のバッファメモリの各ブ
ロックがバッファメモ川こ取込まれた順序が管理される
。このために、第1および第2の管理テーブル2,4は
バッファメモリの第1および第2のブロック内に対応し
て第1および第2のカウント部233,234および4
33,434が設けられる。また、第1および第2の管
理テーブル2,4から読出されたこれらのカウント部の
最小の値を検出するための比較回路91が設けられる。
また、制御回路10内にはリプレースの順序をカウント
するためのカウンタ103が設けられる。リプレースに
際して、要求されたアドレスに対応する第1および第2
の管理テーブルの対応するセットの第1および第2のカ
ウント部233,234,433,434の値が謙出さ
れた比較回路91において、その中で最小の値が検出さ
れ、その最4・の値に対応するブロック、即ち、最も古
くリプレースの行わわれたブロックがリプレースの対象
として選ばれるとともに、この対応するカウント部に、
制御回路10内のカウンタ103の値が戻され、カウン
タ103の値はカウントアップされる。カウンタ103
がオーバーフロウした場合には、第1および第2の管理
テーブル2,4の第1および第2のカウント部233,
234,433,434の値はリセットされる。第5の
実施例においては、リプレース情報として第1および第
2のバッファメモリの各セットにおいて、リプレースが
行われた順番が管理テーフル2,4のカウント部23,
43で管理される。
リプレースに際して、リプレースの候補となる第1およ
び第2のセットにおけるカウント部の値を比較し、カウ
ント部に小さい値をもつ管理テーブルに対応するバッフ
ァメモリ、即ち、古くリプレースの行われた方のバッフ
ァメモリがリプレースの対象として選ばれる。選択され
た第1あるいは第2のバッファメモリの対応する第1あ
るいは第2のブロックのいずれを選択するかは第1の実
施例の場合と同様に管理テーブル2,4の制御部24,
44のカレントフラグにより行われるものとする。以上
、本発明に実施例について説明したが、本発明の主旨は
、セットへの割当ての方の異なる少〈とも2個のバッフ
ァメモリを用意することにより、特定のセットにおける
リプレースの頻繁な発生を阻止し、これによりバッファ
メモリで必要な情報の見出される確率を高めようとする
ことにあり、この主旨に反しない限りいくつかの実現方
法があることは明らかであろう。
たとえば、本実施例におけるセット数、セットあたりの
バッファメモリのブロック数、カウント部のビット数等
は実現に際して適当な値が選択されるであろう。
また、以上の実施例においては、第1のバッファメモリ
の特定のセットに対応する主記憶上のブロックを第2の
バッファメモリにおいては、複数のセットに分散させる
ための方法として、前述のように第1および第2のセッ
トアドレスを生成しているが、必ずしもこのような構成
にする必要はなく、前述の主旨に反しない限り各種の作
成方式が可能である。
たとえば、実施例における第2ビットから第8ビットの
配列を逆にし、第2ビットと第15ビット、第3ビット
と第14ビット、・・・の排他的論理和出力を第2のセ
ットアドレスとしてもよい。また、第2のセットアドレ
スを作るために必ずしも論理演算を施す必要はなく、こ
れらのセットアドレスは、第1および第2のバッファメ
モリにおいて必要な情報が見出される確率を高くするよ
うな組合わせが選択されるであろう。また、第5の実施
例における各セットのリプレースの順序を管理するカウ
ント部を第2の実施例と同様に2つ設け、切換えて使用
することにより、カウンタのオーバーフロウに際しての
管理テーフル2,4のリセットを行わないような構成も
可能である。なお、以上の本発明の実施例の説明におい
ては、各メモリアクセス、リプレースにおけるバッファ
メモリの管理テーブルの詳細な操作、リプレースにおけ
る主記憶、バッファメモリ間のブロック輸送の詳細な動
作、あるいは各メモリアクセスにおける中央処理装置と
のデータの授受等の詳細な動作、また各実施例における
動作を実現するための制御回路の具体的な構成等につい
ては本発明の主旨とは直接関係ないので詳しくは述べて
いないがこれらは従来知られている技術により容易に実
現できることは明らつ)であろう。
【図面の簡単な説明】
第1図は本発明のバッファメモリシステムの第1の実施
例を示すブロック図、第2図は本発明の第2の実施例を
示すブロック図、第3図は本発明の第3の実施例を示す
ブロック図、第4図は本発明の第4の実施例を示すブロ
ック図である。 1はアドレスレジスタ、2は第1のバッファメモリの管
理テーフル、4は第2のバッファメモリの管理テーフル
、6は排他的論理和回路、7,8はカウンタレジスタ、
9は比較回路、1川ま制御回路、11,12は第1およ
び第2のバッファメモリアレイ、31,32,51,5
2は比較回路を示す。 オー図 汁2図 オ3図 才4図

Claims (1)

    【特許請求の範囲】
  1. 1 主記憶アドレスのあるビツト位置の組合わせをセツ
    トアドレスとして用いるセツトアソシアテイブ方式の第
    1のバツフアメモリと、主記憶アドレスの他のビツト位
    置の組合わせをセツトアドレスとして用いるセツトアソ
    シアテイブ方式の第2のバツフアメモリと、前記第1お
    よび第2のバツフアメモリの各セツトにおけるリプレー
    スに関する情報を管理する手段と、メモリへのアクセス
    に際して要求されたアドレスを含むブロツクが前記第1
    および第2のバツフアメモリのいずれにおいても見出さ
    れない場合に、前記第1および第2のバツフアメモリの
    対応するリプレース情報を参照し、これらによりリプレ
    ースを行うべき一方のバツフアメモリを決定する手段と
    をもつことを特徴とするバツフアメモリシステム。
JP52158820A 1977-12-27 1977-12-27 バツフアメモリシステム Expired JPS6029136B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52158820A JPS6029136B2 (ja) 1977-12-27 1977-12-27 バツフアメモリシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52158820A JPS6029136B2 (ja) 1977-12-27 1977-12-27 バツフアメモリシステム

Publications (2)

Publication Number Publication Date
JPS5489531A JPS5489531A (en) 1979-07-16
JPS6029136B2 true JPS6029136B2 (ja) 1985-07-09

Family

ID=15680077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52158820A Expired JPS6029136B2 (ja) 1977-12-27 1977-12-27 バツフアメモリシステム

Country Status (1)

Country Link
JP (1) JPS6029136B2 (ja)

Also Published As

Publication number Publication date
JPS5489531A (en) 1979-07-16

Similar Documents

Publication Publication Date Title
US10169232B2 (en) Associative and atomic write-back caching system and method for storage subsystem
US6381676B2 (en) Cache management for a multi-threaded processor
US6505287B2 (en) Virtual channel memory access controlling circuit
US6901483B2 (en) Prioritizing and locking removed and subsequently reloaded cache lines
US7552286B2 (en) Performance of a cache by detecting cache lines that have been reused
US20130091331A1 (en) Methods, apparatus, and articles of manufacture to manage memory
EP3964967A1 (en) Cache memory and method of using same
GB1507284A (en) Microprogrammed data processing apparatus
EP0032956B1 (en) Data processing system utilizing hierarchical memory
CN111597124A (zh) 持久化内存文件系统数据组织方法、系统及存储介质
US5287482A (en) Input/output cache
US6671780B1 (en) Modified least recently allocated cache replacement method and apparatus that allows skipping a least recently allocated cache block
US7035980B2 (en) Effects of prefetching on I/O requests in an information processing system
US6842843B1 (en) Digital data storage subsystem including arrangement for increasing cache memory addressability
JPS6027965A (ja) 記憶システム
JPS6154547A (ja) 3レベルの階層メモリを備えたデ−タ処理システム
JPS6029136B2 (ja) バツフアメモリシステム
JPS6029135B2 (ja) バツフアメモリシステム
JPS644214B2 (ja)
JPH0282332A (ja) 索引ファイルのインデックス用入出力バッファ方式
CN121880278A (zh) 文件存储方法、装置、设备、存储介质及程序产品
CN116841922A (zh) Tlb页表项管理方法
JP2978706B2 (ja) 制御記憶キャッシング方式
JPH037979B2 (ja)
JPS6134643A (ja) バツフア制御方式