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

バツフアメモリシステム

Info

Publication number
JPS6029135B2
JPS6029135B2 JP52128025A JP12802577A JPS6029135B2 JP S6029135 B2 JPS6029135 B2 JP S6029135B2 JP 52128025 A JP52128025 A JP 52128025A JP 12802577 A JP12802577 A JP 12802577A JP S6029135 B2 JPS6029135 B2 JP S6029135B2
Authority
JP
Japan
Prior art keywords
buffer memory
main
memory
sub
conversion
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
JP52128025A
Other languages
English (en)
Other versions
JPS5460833A (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 JP52128025A priority Critical patent/JPS6029135B2/ja
Publication of JPS5460833A publication Critical patent/JPS5460833A/ja
Publication of JPS6029135B2 publication Critical patent/JPS6029135B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明は計算機システムにおけるバッファメモリシステ
ムに関する。
計算機システムにおいては、中央処理装置の速度と主記
憶装置の速度との間には大きな隔たりがあり、これが計
算機システムの性能を制限する要因となっている。
これを緩和するために、中央処理装置側に比較的小容量
のバッファメモリを設け中央処理装置から主記憶にアク
セスを行う際に、アクセスすべき語を含む複数語からな
るブロックをバッファメモリに取込んでおき、次にアク
セスを行う際にはこのバッファメモ川こ対してアクセス
を行うことにより実効的に主記憶の高速化が達成できる
ことが知られており、セットアソシアティブ方式と呼ば
れるバッファメモリが一般に採用されている。この方式
においては、主記憶とバッファメモリは複数個のセット
に分割され、バッファメモリはある定められた数のブロ
ックをもつ。
以後、バッファメモリにおけるブロックをコンパーメン
トとよび、セットあたりのバッファメモリのブロック数
をコンパーメント数と呼ぶことにする。主記憶上のブロ
ックは同じセットに属するバッファメモリ上の前記複数
個のコンバートメントのうちのいずれかに格納し得るこ
とになる。この従来方式においては、主記憶上のブロッ
クが格納し得るバッファメモリ上の格納位置に制限があ
り、このため、特定のセットにおいてブロックの直換え
が頻発し、これがバッファメモリの効率を低下させる原
因となっている。
従って、本発明の目的は、必要な情報を高い確率で保持
しようとする効率のよいバッファメモリシステムを安価
に実現することにある。
本発明はある一定数のセットをもつバッファメモリ(以
下これを主バッファメモリと呼ぶ)と、第1のバッファ
メモリの複数セットを1つのセットとする第2のバッフ
ァメモリ(以下これを副バッファメモリと呼ぶ)を設け
、副バッファメモリのブロックを、主バッファメモ川こ
おいてブロックの層換えの頻発しているセットに対して
割当てることにより、主バッファメモリの特定のセット
におけるアクセスの集中を緩和しようとするものである
本発明によれば、副バッファメモリにおけるブロックを
対応する主バッファメモリの複数セットのいずれかに必
要に応じて優先的に割当てることにより小量の副バッフ
ァメモリで実効的に主バッファメモリのコンバートメン
ト数を増大させた場合と同様な効果をもたらすことがで
きる。
次に、本発明のバッファメモリシステムについて図面を
用いて説明する。
本発明の第1の実施例を説明する。
本実施例においては、主バッファメモリのセット数は2
56 コンパーメント数は2、副バッファメモリのセッ
ト数は128 コンパーメント数は1に選ばれている。
従って、本実施例においては主バッファメモリの2個の
セットが、副バッファメモリの1個のセットに対応して
いる。即ち、副バッファメモリのあるセットにおけるコ
ンパーメントは、対応する主バッファメモリの2個のセ
ットのうちのいずれか一方に割当てられることになる。
これは、対応する2個のセットのうちのいずれか一方の
セットのコンパーメントの数が主バッフアの2つのコン
バートメントに副バツフアの1つを加えて3になること
を意味する。次に、第1図により本発明の第1の実施例
の構成を説明する。
また、本実施例においては説明の都合上主記憶(図示し
ていない)のりードアドレスは20ビットからなり、ブ
ロックサイズは4ワードであるとする。従って主バッフ
ァメモリ(図示していない)に対しては、主記憶のワー
ドアドレスは上位から各々8ビットの第1のタグ部、8
ビットの第1のセットアドレス部、2ビットのワードア
ドレス部に分割される。同様に副バッファメモリ(図示
していない)に対しては9ビットの第2のタグ部、7ビ
ットの第2のセットアドレス部、2ビットのワードアド
レス部に分割される。本実施例においては以後第1のセ
ットアドレス部の最上位ビットで0および1をもつセッ
トを各々上位および下位のセットと呼ぶ。主および副バ
ッファメモリに現在格納されているブロックを管理する
ために主および副の監理テーブル4(以下単にテーブル
と呼ぶ)および2が用意される。
前記主および副テーブル4および2は主および副バッフ
ァメモリのセット数に対応して各々256ワード、12
8ワードから構成される。主テーブル4の1ワードは、
主バッファメモリの2つのコンパーメントに対応して第
1および第2の夕グ部41,42をもち、各タグ部の値
は各々比較回路51,52の一方の入力に対応して印加
されている。前記2個の比較回路51,52の一方の入
力にはアドレスレジスターの8ビットのタグ部の値が印
加されている。前記8ビットのタグ部の値は書込みデー
タとして主テーブル4の第1および第2の夕グ部41,
42にも印加されている。副テーブル2は、アドレスレ
ジスタ1の7ビットのセットアドレス部でアドレスされ
るメモリで、現在副バッファメモリに格納されているブ
ロックを管理するための9ビットのタグ部21および主
および副バッファメモリで必要なブロックが見出されな
い場合に必要なブロックを格納すべきバッファアドレス
の格納位置を管理するためのIJプレースメント管理部
として、6ビットのりプレースメントフラグ部22をも
つ。リブレースメントフラグ部22の第1ビットおよび
第2ビットつまり第1および第2のフラグは、副バッフ
ァメモリのコンバートメントと、主バッファメモリの対
応する2個のセットのうちの上位のセット、すなわち8
ビットの第1のセットビットの最上位ビットが0に対応
するセットの第1および第2のコンバートメントとのア
クセスの古さを示すためのビットである。即ち、第1あ
るいは第2のフラグが0であるということは、墓U/ゞ
ツフアメモリのコンバートメントが対応する主バッファ
メモリのコンバートメントよりも最近アクセスされた事
を意味する。同様に、第3および第4,第5および第6
のフラグは各々副バッファメモリのコンバートメントと
主バッファメモリの下位のセットの第1および第2のコ
ンバートメントとのアクセスの古さ、主バッファメモリ
の上位および下位のセットの第1コンパーメントと第2
のコンパーメントの古さの関係を示す。第1表に各フラ
グの意味を示す。
第1表 副テーブル2の9ビットのタグ部21には、アドレスレ
ジスタ1の9ビットの第2のタグ部の値が印加これ副テ
ーブル2のタグ部21からの議出しデータは比較回路3
に印加されている。
比較回路3の他の入力には、アドレスレジスタ1の第2
のタグ部の値が印加されている。また、副テーフル2の
フラグ部22は、リプレース制御回路6に接続されてい
る。次に本実施例の動作を説明する。
バッファメモリに対してアクセス要求があると、アクセ
スすべき主記憶アドレスはアドレスレジスタ1に格納さ
れ、この第1および第2のセットアドレス部の値をアド
レスとして主および副テーブル4,2の内容が読出され
、各タグ部41,42および21の値が比較回路51,
52,3によりアドレスレジス夕第1および第2のタグ
部の値と比較される。
比較回路51,52,3のいずれかで−致が検出された
場合、即ち、主バッファメモリおよび副バッファメモリ
のいずれかのコンバートメントに必要なブロックが取込
まれている場合、一致の検出された比較回路に対応する
バッファメモリのコンバートメントに対してアクセスを
行うとともにリプレース管理部としてのりプレースメン
トフラグ22を更新する。
即ち、第1の比較回路51で一致が検出された場合には
、主バッファの第1コンパーメントへのアクセスを意味
する。従ってこれが上位セットの場合には、第1表から
判るように第1フラグおよび第5フラグを各々1および
0にし、このコンバートメントの方が新しいアクセスで
あるように更新し、第1のバッファの第1のコンバート
メントに対してアクセスを行う。同様に、これが下位の
セットの場合には、第3および第6のフラグを各々1お
よび0にする。同機に、第2の比較回路52で一致が検
出された場合には上位セットの場合には第2および第5
フラグをともに1、下位セットの場合には第4および第
6のフラグをともに1にするとともに第1のバッファの
第2のコンバートメントに対してアクセスを行う。第3
の比較回路3で一致が検出された場合には第1,第2,
第3,第4フラグを共に0にするとともに第2のバッフ
ァに対してアクセスを行う。比較回路3,51,52の
いずれにおいても一致が検出されない場合、即ち、バッ
ファメモリに必要な語を含むブロックが存在している場
合(以下これをミスヒットとよぶ)には、新たに必要な
ブロックを主あるいは富ルゞッフアメモリのいずれのコ
ンバートメントに取込むかを決定するためにリプレース
メント制御回路6は次の処理を行う。即ち、第1のセッ
トアドレス部の最上位ビットが1でアクセス要求が上位
セットに対するものである場合には、第1,第2,第5
のフラグが調べられ第1と第2のフラグが共に1の場合
には、主バッファのいずれのコンバートメントよりも副
バッファメモリの方が古いアクセスであることにより副
バッファメモリのコンバートメントがリプレースの対象
と決定される。第1および第2のフラグのいずれか一方
が0の場合には、第5のフラグが0および1の場合に、
各々、主バッファメモリの第2および第1のコンバート
メントがリプレースの対象とされるアクセス要求が下位
セットに対するものである場合にも同様に、第3,第4
,第6のフラグを調べることにより、リプレースすべき
ブロックが決定され、決定されたコンバートメントに対
して要求されるブロックが主記憶からとり込まれる。以
上、本発明の第1の実施例を説明したが、本実施例にお
いては、副バッファメモリのコンバートメントは、主バ
ッファメモリの上位および下位の2個のセットのいずれ
かのセットのブロックを保持でき、副バッファメモリの
コンバートメントと対応する主バッファメモリの上位お
よび下位のセットの各々2個のコンバートメントのアク
セスされた古さおよび主バッファメモリの上位および下
位の各々2個のコンバートメントの相互間の古さが6ビ
ットのりプレースメントフラグにより管理され、バッフ
ァメモリでのミスヒツトに際し、主バッファメモリの対
応する2個のコンバートメントおよび副バッファメモリ
のコンバートメントの古さを調べ、最も長い間アクセス
されなかったコンバートメントをリブレースの対象とし
て定めている。
以上の動作は、制御回路(図示せず)の制御により行わ
れる。
制御回路は、主記憶へのアクセス要求に際して、前述の
動作を行うための管理テーブルの論出し、書込み、リプ
レース制御回路への指令、第1および第2のバッファメ
モリへのアクセスの要求、主記憶へのアクセス要求等の
制御信号を発生する。次に第2図により本発明の第2の
実施例を説明する。
尚、第1図と同じ数字は同一機能を示すものである。
本実施例においては、主バッファメモリのセット数は2
56で副バッファメモリのセット数128の2倍、主バ
ッファメモリのコンバートメント数は2で副バッファメ
モリのコンバートメント数は4であるとする。
また、本実施例においては、副バッファメモリの各セッ
ト毎に対応する主バッファメモリのセットにおけるミス
ヒツトの回数を管理することにより、ミスヒットの多数
回発生するセットに対しては副バッファメモリの多くの
コンバートメントを割当てようとするものである。
従ってこの場合には4個のコンバートメントを持つ副バ
ッファを付加することにより、主バッファメモリのコン
バートメント数が各セットでのミスヒットの発生頻度に
応じて副バッファの使用しうるコンバートメント数が0
から4にでき、その結果1つのセットについて2から6
までの値をとることになる。
本実施例においては、セット内のコンバートメントのリ
ブレースはFIF○(First一1n−Fi俺t−○
町t)により行われるとする。
このため本実施例においては、副バッファメモリの管理
テーブル貝0ち、副テーブルとして、副バッファメモリ
4個のコンバートメントに対応した第1から第4の各々
9ビットの夕グ部201〜204、およびリプレースメ
ント管理部として、第1および第2の各々3ビットのポ
ィン夕部205,206、第1および第2の各々3ビッ
トの割当て数カウント部207,208第1および第2
の各々4ビットのミスヒットカウント部209,210
をもつ。第1および第2のポイント部205,206は
、各々上位セットおよび下位セットにおいて次にミスヒ
ットが発生したときに新しいブロックを割当てる即ち、
リプレースを行うべきコンバートメントを指定するため
のポインタで、値0および値1は各々主バッファメモリ
の第1および第2コンバートメントを指定し、値2から
5は、上位セットの場合には、副バッファメモリの第1
から第4のコンバートメントを下位セットの場合には、
第4から第1のコンバートメソトを各々指定するものと
する。
第1および第2の割当て数カウント部207,208は
各々主バッファメモリの上位および下位のセットに現在
割当てられているコンバートメント数を保持するための
もので、値1から値5までをとり副バッファメモリのコ
ンバートメントが0から4個、対応する上位または下位
のセットに割当てられていることを示す。
初期状態としては、上位および下位のセットに副バッフ
ァの4個のコンバートメントのうち、各々2個が割当て
られ、従って第1および第2の割当てカウント部207
,208は初期値としてともに値3をもつことになる。
第1および第2のミスヒツトカウント部20921川ま
、各々上位セットにおけるミスヒットの回数および上位
、下位セットにおける合計のミスヒツトの回数を保持す
るもので、第2のカウンタがオーバフローした時点、す
なわち、上位および下位における合計のミスヒット回数
が16回になった時点で上位セットにおけるミスヒツト
の回数を第2のミスヒットカウンタ2川こより調べるこ
とにより、次に上位および下位のセットに割当てるべき
副バッファメモリのコンバートメント数を修正するため
のものである。次に本実施例の動作を説明する。
本実施例においても、第1の実施例と同様に、主記憶へ
のアクセス要求があると、主および副のテーブル4,2
が読出され、必要なワードを含む語が主および副バッフ
ァメモリ上にあるかどうかが検索され、存在する場合、
すなわち、比較回路301〜304,51,52のいず
れかで−致が検出された場合に対応するバッファメモリ
の対応するコンバートメントに対してアクセスが行われ
る。
本実施例ではFIFOのリプレースメント方式を採用し
ているので、このとき副テーブル2のリプレースメント
管理部205〜210のいずれも更新されない。必要な
ブロックがバッファメモリ上に存在しないとき、即ち、
比較回路301〜304,51,52のいずれにおいて
も一致が検出されない場合には次の処理が行われる。即
ち、まずアクセスの要求された上位あるいは下位のセッ
トに対応するポィンタ部205または206が調べられ
、これで指定されるコンバートメントに対してリプレー
スの処理が起動される。即ち、ポィン夕部205または
206の値が0または1であれば最も早く割当てられた
コンバートメントが主バッファのコンバートメントであ
ることを示し、主バッファメモリの第1または第2のコ
ンバートメントがリプレースの対象となり、2から5の
値をもつ場合は、副バッファがリプレースの対象である
ことを示す。このとき上位のセットの場合には2〜5の
値にそれぞれ対応して副バッファメモリの第1から第4
までの対応するコンバートメントが下位セットの場合に
は、第4から第1までの対応するコンバートメントがリ
プレースの対象となる。これとともに、上位あるいは下
位セットに対応する第1あるいは第2のポィンタ部20
5あるいは206の値がカウントアップされ、対応する
割当て数カウント部207あるいは208の値と比較さ
れる。これとともに、ミスヒットを起したのが上位セッ
トである場合には、第1および第2のミスヒツトカウン
ト部209,210の値が下位セットである場合には、
第2のミスヒットカウント部210の値のみがカウント
アップされる。第2のカウント部でオーバフローが発生
した場合には、副バッファメモリのコンバートメントの
主バッファメモリ上位および下位のセットへの割当て数
を修正するための後記1)の処理を行う。オーバフロウ
が発生しなかった場合には、a)アクセスが要求され上
位あるいは下位のセットに対応するポィンタ部205あ
るいは206の値がカウントアップされ、対応する割当
て数カウント部207あるいは208の値を比較され、
前者が後者よりも小さいか、あるいは等しい値をもつ場
合には、カウントアップされた値を、前者が後者よりも
大きい場合には値0をポィンタ部205あるいは206
にセットする。1 第2のミスヒットカウント部でオー
バフロウが発生した場合には、第1のミスヒットカゥン
ト部の値が調べられる。
第1のカウンタの上位2ビットがともに0のときには、
即ち、値3以下の値をもつ場合には、上位セットにおけ
るミスヒットが下位におけるミスヒットよりも発生する
頻度がかなり小さいと判断し、これまで上位セットに割
当てられていた副バッファメモリのコンバートメントの
数を少くするために、第1の割当て数のカウントダウン
し、第2の割当て数をカウントアップしテーブルに戻す
第1の割当て数がすでに値1をもつ場合にはこのカウン
トアップ、カウントダウンの処理は行わない。
同様に第1のカウンタの上位2ビットがともに1のとき
には、即ち、値1雄〆上をもつ場合には第1の割当て数
をカウントアップし、第2の割当て数をカウントダウン
し、テーブルに戻すことにより、上位セットに対する割
当て数を減少させる。第1の割当て数がすでに値5をも
つ場合にはこれらの動作は行わない。以上1以下の処理
を行った後、第1および第2のミスヒットカウン夕部に
はともに値0が戻される。以上、本発明の第1および第
2の実施例を説明したが、これらの実施例の説明におい
てはリプレースメント制御回路6の具体的構成について
は本発明の直接の主旨ではないので省略してあるが、通
常の論理回路を用いて容易に実現できることは明白であ
ろう。
また本発明主旨に反しない限り、いくつかの変形を行う
ことも可能で、主バッファメモリおよび副バッファメモ
リにおけるセット数、コンバートメント数、副バッファ
メモリの1セットに対応する主バッファメモリのセット
数、あるいは、コンバートメントのリプレースメント方
式、副ブロックメモリの主ブロックへの割当ての方式等
、さまざまな方式が選択できる。
また、本実施例においては、本実施例における動作を実
現するための制御回路(図示せず)についても、これは
従来知られている方法により実現可能であり、この具体
的構成自体は本発明の主旨とは直接関係ないので省略し
てある。
【図面の簡単な説明】
第1図は本発明のバッファメモリシステムの第1の実施
例を示すブロック図、第2図は本発明の第2の実施例を
示すブロック図である。 図において、1はアドレスレジスタ、2は副管理テーフ
ル、3は比較回路、4は主管理テーフル、6はリプレー
スメント制御回路、51,52,301〜304は比較
回路を示す。 オl図 オ2図

Claims (1)

    【特許請求の範囲】
  1. 1 主記憶上のブロツクの一部を保持するセツトアソシ
    アテイブ方式の第1のバツフアメモリと、前記第1のバ
    ツフアメモリの複数セツトを1つのセツトとするセツト
    アソシアテイブ方式の第2のバツフアメモリと、前記第
    1のバツフアメモリに現在格納されているブロツクのア
    ドレスを管理するための第1の管理テーブルと、前記第
    2のバツフアメモリに現在格納されているブロツクのア
    ドレスを保持するアドレス部および前記第2のバツフア
    メモリおよび前記第1のバツフアメモリの対応する複数
    のセツトに属する各ブロツクのアクセスのされかたに関
    する情報を保持するリプレース情報部をもつ第2の管理
    テーブルと、前記第2の管理テーブルのリプレース情報
    部に接続され、この情報に従い主記憶上のブロツクを第
    1のバツフアメモリあるいは第2のバツフアメモリのい
    ずれのブロツクに割り当てるかを決定するためのリプレ
    ースメント制御回路をもつことを特徴とするバツフアメ
    モリシステム。
JP52128025A 1977-10-24 1977-10-24 バツフアメモリシステム Expired JPS6029135B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52128025A JPS6029135B2 (ja) 1977-10-24 1977-10-24 バツフアメモリシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52128025A JPS6029135B2 (ja) 1977-10-24 1977-10-24 バツフアメモリシステム

Publications (2)

Publication Number Publication Date
JPS5460833A JPS5460833A (en) 1979-05-16
JPS6029135B2 true JPS6029135B2 (ja) 1985-07-09

Family

ID=14974620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52128025A Expired JPS6029135B2 (ja) 1977-10-24 1977-10-24 バツフアメモリシステム

Country Status (1)

Country Link
JP (1) JPS6029135B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6398898U (ja) * 1986-12-19 1988-06-27

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271672A (ja) * 1994-03-30 1995-10-20 Toshiba Corp マルチウェイセットアソシアティブキャッシュシステム
US6351788B1 (en) * 1996-10-30 2002-02-26 Hitachi, Ltd. Data processor and data processing system
JP6390435B2 (ja) * 2015-01-13 2018-09-19 富士通株式会社 キャッシュ制御方法及びキャッシュ制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6398898U (ja) * 1986-12-19 1988-06-27

Also Published As

Publication number Publication date
JPS5460833A (en) 1979-05-16

Similar Documents

Publication Publication Date Title
US6505287B2 (en) Virtual channel memory access controlling circuit
KR102805147B1 (ko) 저장 서브시스템을 위한 연관적 및 원자적 라이트-백 캐싱 시스템 및 방법
US5717893A (en) Method for managing a cache hierarchy having a least recently used (LRU) global cache and a plurality of LRU destaging local caches containing counterpart datatype partitions
US6381676B2 (en) Cache management for a multi-threaded processor
US7949839B2 (en) Managing memory pages
US11314689B2 (en) Method, apparatus, and computer program product for indexing a file
US20130091331A1 (en) Methods, apparatus, and articles of manufacture to manage memory
US5426752A (en) Method for allocating real pages to virtual pages having different page sizes therefrom
JPH06161898A (ja) キヤツシユの動的分割方法及びその手段
JP2002540502A (ja) データベースシステムにおけるバーチャルメモリマッピングとトランザクションマネージメントのポインターリロケーションオプチミゼーションの方法及び装置
US10198362B2 (en) Reducing bandwidth consumption when performing free memory list cache maintenance in compressed memory schemes of processor-based systems
US20050283573A1 (en) System and method for an optimized least recently used lookup cache
WO2023066124A1 (zh) 缓存管理方法、缓存管理装置、处理器
CN119179656A (zh) 数据缓存控制方法、装置、介质、程序产品及终端
JP2000285023A (ja) ファイル制御装置
JPS6029135B2 (ja) バツフアメモリシステム
US10366013B2 (en) Caching structure for nested preemption
US8812782B2 (en) Memory management system and memory management method
JPS6154547A (ja) 3レベルの階層メモリを備えたデ−タ処理システム
US20070233958A1 (en) Cashe Device and Method for the Same
CN115329141B (zh) 一种面向持久内存的数据管理方法及持久内存控制器
TW202201387A (zh) 神經網路計算裝置及其快取管理方法
US20070101064A1 (en) Cache controller and method
US20230185721A1 (en) Accumulators corresponding to bins in memory
JPS6029136B2 (ja) バツフアメモリシステム