JPH0614325B2 - リプレ−スメント方式 - Google Patents
リプレ−スメント方式Info
- Publication number
- JPH0614325B2 JPH0614325B2 JP59017354A JP1735484A JPH0614325B2 JP H0614325 B2 JPH0614325 B2 JP H0614325B2 JP 59017354 A JP59017354 A JP 59017354A JP 1735484 A JP1735484 A JP 1735484A JP H0614325 B2 JPH0614325 B2 JP H0614325B2
- Authority
- JP
- Japan
- Prior art keywords
- entry
- block
- lru
- address
- information
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement 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 us
ed)方式、最も古く割当ての行われたエントリを選択す
るFIFO(first in first out)方式、全くランダ
ムに選択するランダム方式等が知られている。
スメント方式としては、最も長い間アクセスの行われな
かったエントリを選択するLRU(least recently us
ed)方式、最も古く割当ての行われたエントリを選択す
るFIFO(first in first out)方式、全くランダ
ムに選択するランダム方式等が知られている。
リプレースメント方式としては、LRU方式が最もよい
性能を示すことが知られている。しかしLRU方式を厳
密に実現しょうとすると、各アクセス毎にバッファ上の
全エントリのアクセス情報を更新し、アクセスの行われ
た順序を常に管理する必要があり、エントリ数が大きい
場合には、時間的なオーバヘッドとハードウェアオーバ
ヘッドが大となるために、実現が困難であるという欠点
がある。
性能を示すことが知られている。しかしLRU方式を厳
密に実現しょうとすると、各アクセス毎にバッファ上の
全エントリのアクセス情報を更新し、アクセスの行われ
た順序を常に管理する必要があり、エントリ数が大きい
場合には、時間的なオーバヘッドとハードウェアオーバ
ヘッドが大となるために、実現が困難であるという欠点
がある。
一方、FIFO方式においては各エントリを順次指定するた
めのポインタが必要となるだけで、少いハードウェアで
リプレースメントの管理を行うことができる。しかしな
がらFIFO方式の場合には、アクセス頻度の大小にかかわ
らずリプレースすべきエントリが決められるためにバッ
ファ上で必要な情報が見出される確率(以後ヒット率と
呼ぶ)がLRU方式に比べて低くなり、バッファ設置の
効果が低くなるという欠点がある。
めのポインタが必要となるだけで、少いハードウェアで
リプレースメントの管理を行うことができる。しかしな
がらFIFO方式の場合には、アクセス頻度の大小にかかわ
らずリプレースすべきエントリが決められるためにバッ
ファ上で必要な情報が見出される確率(以後ヒット率と
呼ぶ)がLRU方式に比べて低くなり、バッファ設置の
効果が低くなるという欠点がある。
同様に、ランダム方式においても、ヒット率がLRU方
式に比べて低いという欠点がある。更に、バッファのエ
ントリを複数のブロックに分割し、ブロック毎にLRU処
理回路を設け、ブロック間では順次選択を行う事によ
り、全体に対してLRU処理を行う場合に比べて、大幅に
回路を簡単化できることが知られている。しかしながら
この方式においても、LRU処理回路をブロック毎に設け
るために、ハードウェア量が例えばFIFO方式に比べて大
きくなるという欠統があった。更に、これらの回路がラ
ンダムロジックにより構成されるために、特に集積回路
で実現しようとする場合には、必要な面積が大きくなる
という欠点があった。
式に比べて低いという欠点がある。更に、バッファのエ
ントリを複数のブロックに分割し、ブロック毎にLRU処
理回路を設け、ブロック間では順次選択を行う事によ
り、全体に対してLRU処理を行う場合に比べて、大幅に
回路を簡単化できることが知られている。しかしながら
この方式においても、LRU処理回路をブロック毎に設け
るために、ハードウェア量が例えばFIFO方式に比べて大
きくなるという欠統があった。更に、これらの回路がラ
ンダムロジックにより構成されるために、特に集積回路
で実現しようとする場合には、必要な面積が大きくなる
という欠点があった。
(発明の目的) 本発明の目的は、バッファのエントリを複数個のバンク
に分割しリプレースメントの管理をバンク内の各エント
リ間においてはLRU方式で行ない、バンク間ではFIFO
方式で行なうことにより、比較的少量のハードウェアに
より、実効的にLRU方式に近いヒット率を実現できるリ
プレースメント方式を提供することにある。本発明の第
二の目的は、ブロック内ではLRU、ブロック間ではFI
FOでリプレースを行う方式を、比較的少量の回路で実現
することにある。
に分割しリプレースメントの管理をバンク内の各エント
リ間においてはLRU方式で行ない、バンク間ではFIFO
方式で行なうことにより、比較的少量のハードウェアに
より、実効的にLRU方式に近いヒット率を実現できるリ
プレースメント方式を提供することにある。本発明の第
二の目的は、ブロック内ではLRU、ブロック間ではFI
FOでリプレースを行う方式を、比較的少量の回路で実現
することにある。
(発明の構成) 本発明の装置は、複数のブロックに分割され前記ブロッ
クはそれぞれ複数のエントリを有する記憶情報手段と、
前記各ブロック内の複数のエントリの中でのアクセス順
序に対応した値を保持するエントリアクセス情報保持手
段と、前記情報記憶手段へのアクセスがあった時には前
記エントリアクセス保持手段に保持されている情報を更
新するエントリアクセス情報更新手段と、前記複数のブ
ロック中の1個のブロックを順次指定するブロック順次
手段と、前記複数のエントリの中の1つのエントリを新
たなエントリにリプレースするときには前記ブロック順
次指定手段の指定するブロックにおける前記エントリア
クセス情報保持手段の保持するエントリアクセス情報に
より指定されるエントリをリプレース対象エントリとし
て選択し、その後、次のリプレースメント処理のために
前記ブロック順次指定手段を更新する、複数ブロックに
対して共通に設けた1個のリプレースエントリ決定手段
とを含んで構成される。
クはそれぞれ複数のエントリを有する記憶情報手段と、
前記各ブロック内の複数のエントリの中でのアクセス順
序に対応した値を保持するエントリアクセス情報保持手
段と、前記情報記憶手段へのアクセスがあった時には前
記エントリアクセス保持手段に保持されている情報を更
新するエントリアクセス情報更新手段と、前記複数のブ
ロック中の1個のブロックを順次指定するブロック順次
手段と、前記複数のエントリの中の1つのエントリを新
たなエントリにリプレースするときには前記ブロック順
次指定手段の指定するブロックにおける前記エントリア
クセス情報保持手段の保持するエントリアクセス情報に
より指定されるエントリをリプレース対象エントリとし
て選択し、その後、次のリプレースメント処理のために
前記ブロック順次指定手段を更新する、複数ブロックに
対して共通に設けた1個のリプレースエントリ決定手段
とを含んで構成される。
(実施例) 次に本発明の実施例について図面を参照して詳細に説明
する。
する。
第1図は本発明の実施例を示すブロック図である。
第1図のリプレースメント方式は連想メモリ1と、ブロ
ックカウンタ2と、LRU情報テーブル3と、LRU情
報更新回路4とを含んで構成される。
ックカウンタ2と、LRU情報テーブル3と、LRU情
報更新回路4とを含んで構成される。
連想メモリ1は、本実施例においては、16ワード(エ
ントリ)からなっている。連想メモリ1における各ワー
ドは、キイ部とデータ部とから構成される。
ントリ)からなっている。連想メモリ1における各ワー
ドは、キイ部とデータ部とから構成される。
キイ部には、情報のアクセスのためのキイKと、このエ
ントリの有効性を示す有効ビット情報Vが置かれる。デ
ータ部には、キイKに対応するデータDが格納される。
ントリの有効性を示す有効ビット情報Vが置かれる。デ
ータ部には、キイKに対応するデータDが格納される。
連想メモリ1は、検索情報として有効ビット情報Vとし
て値“1”とともにキイKとしてある値が印加される
と、連想メモリ1の全ワードについて検索が行われ、有
効ビット情報Vも含めて検索データと等しい内容をキイ
部としてもつワードに対応するデータDを、検出された
ワードのアドレスFA即ち一致アドレスとともに出力す
る機能をもつ一致アドレスFAは上位2ビットのブロッ
クアドレスFBAと下位2ビットのワードアドレスFW
Aの計4ビットからなる。
て値“1”とともにキイKとしてある値が印加される
と、連想メモリ1の全ワードについて検索が行われ、有
効ビット情報Vも含めて検索データと等しい内容をキイ
部としてもつワードに対応するデータDを、検出された
ワードのアドレスFA即ち一致アドレスとともに出力す
る機能をもつ一致アドレスFAは上位2ビットのブロッ
クアドレスFBAと下位2ビットのワードアドレスFW
Aの計4ビットからなる。
また、一致アドレスFAで指定されるワードのデータ部
にデータDを書込むこともできるようになっている。
にデータDを書込むこともできるようになっている。
連想メモリ1に格納されている16ワードは、4個のブ
ロックに分割される。そして、4個のブロックに関して
FIFO方式によるブロック選択が行えるようにするため
に、2ビットのブロックカウンタ2が設けられる。
ロックに分割される。そして、4個のブロックに関して
FIFO方式によるブロック選択が行えるようにするため
に、2ビットのブロックカウンタ2が設けられる。
連想メモリ1の4個の各ブロックに格納されている4個
のワードについてのアクセスされた順序を管理するため
に、各8ビットからなる4ワードのLRU情報テーブル
3が設けられる。LRU情報テーブル3の各ワードは各
ブロックに対応しており、ブロックカウンタ2の出力R
BAあるいは連想メモリ1からの一致アドレスFAの上
位2ビットであるブロックアドレスFBAによりアドレ
スされる。
のワードについてのアクセスされた順序を管理するため
に、各8ビットからなる4ワードのLRU情報テーブル
3が設けられる。LRU情報テーブル3の各ワードは各
ブロックに対応しており、ブロックカウンタ2の出力R
BAあるいは連想メモリ1からの一致アドレスFAの上
位2ビットであるブロックアドレスFBAによりアドレ
スされる。
LRU情報テーブル3の各ワードは各2ビットからなる
4個のフィールドL0〜L3からなり、この配列順序がブロ
ック内のワードのアクセスされた順序を示している。す
なわち、L0がアクセス後の時間が最も短かいワードを
示し、L3がアクセス後の時間が最も長いワード即ち対
応するブロック内で次に追出しの対象となるワードを示
す。
4個のフィールドL0〜L3からなり、この配列順序がブロ
ック内のワードのアクセスされた順序を示している。す
なわち、L0がアクセス後の時間が最も短かいワードを
示し、L3がアクセス後の時間が最も長いワード即ち対
応するブロック内で次に追出しの対象となるワードを示
す。
LRU情報更新回路4はLRU情報テーブル3から読出
された情報を現在アクセスの行われた2ビットのワード
アドレスFWAにより更新し、その結果をLRU情報テ
ーブル3に印加しLRU情報テーブル3を更新する。
された情報を現在アクセスの行われた2ビットのワード
アドレスFWAにより更新し、その結果をLRU情報テ
ーブル3に印加しLRU情報テーブル3を更新する。
LRU情報更新回路4は、各2ビットの4個のレジスタ
R0,R1,R2,R3をもち、各レジスタの出力は、各々2ビッ
トの比較回路C0,C1,C2,C3の一方の入力と4入力のマル
チプレクサMXと、隣接する番号の大なる方のレジスタ
の第1の入力とに印加されている。但しレジスタR0の
第1の入力にはマルチプレクサMXにより選択された信
号が印加される。また各レジスタR0〜R3には、LR
U情報テーブル3からの出力L0〜L3が各々第2の入力
として入力されている。さらに、各レジスタR0〜R3
には各々値0から3までの初期値が各レジスタ番号に対
応して第3の入力として印加されている。
R0,R1,R2,R3をもち、各レジスタの出力は、各々2ビッ
トの比較回路C0,C1,C2,C3の一方の入力と4入力のマル
チプレクサMXと、隣接する番号の大なる方のレジスタ
の第1の入力とに印加されている。但しレジスタR0の
第1の入力にはマルチプレクサMXにより選択された信
号が印加される。また各レジスタR0〜R3には、LR
U情報テーブル3からの出力L0〜L3が各々第2の入力
として入力されている。さらに、各レジスタR0〜R3
には各々値0から3までの初期値が各レジスタ番号に対
応して第3の入力として印加されている。
4組の比較回路C0〜C3の他方の入力には、一致アド
レスFAの下位2ビットであるワードアドレスFWAが
印加されている。
レスFAの下位2ビットであるワードアドレスFWAが
印加されている。
比較回路C0〜C3の比較結果が一致した場合に発生さ
れる一致信号F0〜F3はエンコーダENCに入力され
る。エンコードされた2ビットの出力は、マルチプレク
サMXに選択信号として印加され、これによりマルチプ
レクサMXは一致信号Fiに対応してレジスタRiの出力を
選択する。
れる一致信号F0〜F3はエンコーダENCに入力され
る。エンコードされた2ビットの出力は、マルチプレク
サMXに選択信号として印加され、これによりマルチプ
レクサMXは一致信号Fiに対応してレジスタRiの出力を
選択する。
4個のレジスタR0〜R3は、各々LRU更新信号U0
〜U3により、第1の入力を、LRU情報セット信号S
により第2の入力を、初期設定信号Iにより第3の入力
をそれぞれセットできるようになっている。
〜U3により、第1の入力を、LRU情報セット信号S
により第2の入力を、初期設定信号Iにより第3の入力
をそれぞれセットできるようになっている。
各レジスタR0〜R3のLRU更新信号U0〜U3とし
ては、次の信号が印加される。即ち、LRU更新信号U0
としては、比較回路C0〜C3での一致信号F0〜F3
の論理和が更新信号Uと論理積をとられたうえで印加さ
れる。同様に、LRU更新信号U1としては、一致信号
F1〜F3の論理和が、LRU更新信号U2としては一
致信号F2とF3の論理和が、LRU更新信号U3とし
ては一致信号F3のみがそれぞれ更新信号Uと論理積を
とられたうえで印加されることになる。
ては、次の信号が印加される。即ち、LRU更新信号U0
としては、比較回路C0〜C3での一致信号F0〜F3
の論理和が更新信号Uと論理積をとられたうえで印加さ
れる。同様に、LRU更新信号U1としては、一致信号
F1〜F3の論理和が、LRU更新信号U2としては一
致信号F2とF3の論理和が、LRU更新信号U3とし
ては一致信号F3のみがそれぞれ更新信号Uと論理積を
とられたうえで印加されることになる。
以上の回路により、4個のレジスタR0〜R3に最近ア
クセスの行われた順にブロック内のワードアクセスFW
Aが格納されることになる。即ち、アクセスの行われた
(一致の検出された)ワードのアドレスFWAがレジス
タR0にセットされレジスタR0の内容がレジスタR1
へ、レジスタR1の値がレジスタR2へと一致が検出さ
れたレジスタまでシフトされることになる。
クセスの行われた順にブロック内のワードアクセスFW
Aが格納されることになる。即ち、アクセスの行われた
(一致の検出された)ワードのアドレスFWAがレジス
タR0にセットされレジスタR0の内容がレジスタR1
へ、レジスタR1の値がレジスタR2へと一致が検出さ
れたレジスタまでシフトされることになる。
また、連想メモリ1には、リプレースすべきエントリの
アドレスとしてブロックカウンタ2の出力2ビットRB
Aおよび、LRU情報テーブル3のL3フィールドの読
出しデータ2ビットRWAの計4ビットがアドレス指定
信号として印加されており、連想メモリ1は、このアド
レス指定信号で指定されるワードに対してもアクセスが
可能な構成となっている。つまりリプレースすべきエン
トリのアドレスとしてはブロックについてはブロックカ
ウンタ2によりFIFO方式で、ワードについてはLRU情
報テーブル3によりLRU方式で管理されていることと
なる。
アドレスとしてブロックカウンタ2の出力2ビットRB
Aおよび、LRU情報テーブル3のL3フィールドの読
出しデータ2ビットRWAの計4ビットがアドレス指定
信号として印加されており、連想メモリ1は、このアド
レス指定信号で指定されるワードに対してもアクセスが
可能な構成となっている。つまりリプレースすべきエン
トリのアドレスとしてはブロックについてはブロックカ
ウンタ2によりFIFO方式で、ワードについてはLRU情
報テーブル3によりLRU方式で管理されていることと
なる。
次に、第1の実施例における動作を説明する。
ある値Aをキイとしてバッファに対して検索要求がきた
とする。まず、このキイの値Aが有効ビットとともに、
連想メモリ1のキイ部に印加され、連想メモリ1が検索
される。
とする。まず、このキイの値Aが有効ビットとともに、
連想メモリ1のキイ部に印加され、連想メモリ1が検索
される。
連想メモリ1で一致が検出されたとき、即ち、対応する
情報がバッファに登録されている場合には、対応するデ
ータ部の値Dを読出し、これを要求元に返すとともに、
アクセス状況の更新のために次の処理を行う。即ち、一
致の検出されたワードのアドレス、即ち一致アドレスF
Aの上位2ビットFBAにより、LRU情報テーブル3
を読出し、対応するブロックのL0〜L3の値をセット
信号SによりLRU更新回路3のレジスタR0〜R3に
セットする。セットされた各値と一致アドレスの下位2
ビットFWAとが比較回路C0〜C3で比較され一致信号
Fxが発生される。この一致信号によりLRU更新信号
U0〜Uxが発生され又マルチプレクサMXの選択信号
が生成される。レジスタR0〜R3に更新されたLRU
信号をセットした上でこの値a0,a1,a2およびa
3を、LRU情報テーブル3に書戻す。
情報がバッファに登録されている場合には、対応するデ
ータ部の値Dを読出し、これを要求元に返すとともに、
アクセス状況の更新のために次の処理を行う。即ち、一
致の検出されたワードのアドレス、即ち一致アドレスF
Aの上位2ビットFBAにより、LRU情報テーブル3
を読出し、対応するブロックのL0〜L3の値をセット
信号SによりLRU更新回路3のレジスタR0〜R3に
セットする。セットされた各値と一致アドレスの下位2
ビットFWAとが比較回路C0〜C3で比較され一致信号
Fxが発生される。この一致信号によりLRU更新信号
U0〜Uxが発生され又マルチプレクサMXの選択信号
が生成される。レジスタR0〜R3に更新されたLRU
信号をセットした上でこの値a0,a1,a2およびa
3を、LRU情報テーブル3に書戻す。
連想メモリ1で一致が検出されない場合、即ち、対応す
る情報がバッファに登録されていない場合には、次に示
すリプレースメント処理を行う。即ち、まず、ブロック
カウンタ2の値RBAをアドレスとしてLRU情報テー
ブル3を読出す。次にブロックカウンタの値2ビットR
BAと読出された8ビットのLRU情報の最後の2ビッ
ト即ちL3なるRWAとをアドレスとして連想メモリ1の
キイ部に検索を要求されたキイの値Aを書込み、キイの
値Aを連想メモリ1に登録する。このあと、ブロックカ
ウンタ2をカウントアップする。このブロックカウンタ
2のカウントアップは次の登録,換言すればリプレース
メント処理の準備動作である。
る情報がバッファに登録されていない場合には、次に示
すリプレースメント処理を行う。即ち、まず、ブロック
カウンタ2の値RBAをアドレスとしてLRU情報テー
ブル3を読出す。次にブロックカウンタの値2ビットR
BAと読出された8ビットのLRU情報の最後の2ビッ
ト即ちL3なるRWAとをアドレスとして連想メモリ1の
キイ部に検索を要求されたキイの値Aを書込み、キイの
値Aを連想メモリ1に登録する。このあと、ブロックカ
ウンタ2をカウントアップする。このブロックカウンタ
2のカウントアップは次の登録,換言すればリプレース
メント処理の準備動作である。
このあと、他の手段により、キイの値Aに対応するデー
タDを得たのち、この得られた値Dを、キイをAとして
一致の検出される一致アドレス、即ち、キイの値Aが登
録された連想メモリ1のワードのデータ部に書込む。こ
のアクセスに際しても、LRU情報テーブル3が更新さ
れる。これにより、キイAおよびデータDの登録が完了
し、以後キイの値Aに対応するデータDがバッファ上で
アクセスできることになる。
タDを得たのち、この得られた値Dを、キイをAとして
一致の検出される一致アドレス、即ち、キイの値Aが登
録された連想メモリ1のワードのデータ部に書込む。こ
のアクセスに際しても、LRU情報テーブル3が更新さ
れる。これにより、キイAおよびデータDの登録が完了
し、以後キイの値Aに対応するデータDがバッファ上で
アクセスできることになる。
このようにして情報のリプレースメント処理はブロック
内はLRU方式によりアクセス後の時間が最も長いデー
タを対象として、ブロック間はブロックカウンタ2の指
定によりブロック順にFIFO方式によりおこなわれること
となる。
内はLRU方式によりアクセス後の時間が最も長いデー
タを対象として、ブロック間はブロックカウンタ2の指
定によりブロック順にFIFO方式によりおこなわれること
となる。
なお、バッファの初期化は次のように行われる。即ち、
連想メモリ1は、16ワードの全ワードの有効ビットV
をクリアすることによりイニシャライズされる。また、
LRU情報テーブル3は、次のようにして初期設定され
る。即ちまず、LRU更新回路4のレジスタR0〜R3
に初期設定信号Iにより、0から3の値をレジスタ番号
に対応してセットする(これは、アクセスに関しブロッ
ク内のワード0が最新、3が最古であることを示してい
る)。次に、LRU情報テーブル3の全ワードにLRU
更新回路4のR0〜R3の値を書込む。
連想メモリ1は、16ワードの全ワードの有効ビットV
をクリアすることによりイニシャライズされる。また、
LRU情報テーブル3は、次のようにして初期設定され
る。即ちまず、LRU更新回路4のレジスタR0〜R3
に初期設定信号Iにより、0から3の値をレジスタ番号
に対応してセットする(これは、アクセスに関しブロッ
ク内のワード0が最新、3が最古であることを示してい
る)。次に、LRU情報テーブル3の全ワードにLRU
更新回路4のR0〜R3の値を書込む。
上述のように要求された情報が、バッファ上に登録され
ていない場合に対応するデータを他の手段により得たう
えで、得られたデータをバッファ上に登録する必要があ
るが、この具体的な方法について、たとえば、アドレス
変換バッファとして使われた場合について以下に第4図
により簡単に説明する。この場合キーとしては論理アド
レスが対応しデータとしては物理アドレスが対応するこ
ととなる。
ていない場合に対応するデータを他の手段により得たう
えで、得られたデータをバッファ上に登録する必要があ
るが、この具体的な方法について、たとえば、アドレス
変換バッファとして使われた場合について以下に第4図
により簡単に説明する。この場合キーとしては論理アド
レスが対応しデータとしては物理アドレスが対応するこ
ととなる。
第4図においては、論理アドレスLAは28ビットから
なり、上位から8ビットのセグメントアドレスSA、8
ビットのセグメント内ページ・アドレスPA、12ビッ
トのページ内バイトアドレスBAからなっているとす
る。論理アドレスLAを物理アドレスに変換するための
テーブルとして、セグメントテーブルSTおよびページ
テーブルPTが主記憶MM上に用意される。セグメントテ
ーブルSTは、アドレス空間指定語ASWにその開始ア
ドレスが格納されており論理アドレス空間に含まれる各
セグメントに対応するセグメント記述子SDから構成され
る。論理アドレスLAのセグメントアドレスSAで指定
されるセグメント記述子SDiには、対応するセグメント
に含まれる全ページを管理するためのページテーブルPT
iの主記憶MM上の開始アドレスが格納されている。セグ
メント記述子SDiで指定されるページテーブルPTiの論理
アドレスLAのページアドレスPAで指定されるエント
リj即ち、ページ記述子PDijは、対応するページの主記
憶MM上の実アドレスを保持している。バッファに要求
された情報が格納されていない場合、即ち、アドレス変
換バッファに、要求された論理アドレスLAが登録され
ていない場合には、上記に従い、まず、アドレス指定語
ASWを読出し、セグメントテーブルSTの開始番地を得
て、論理アドレスLAのセグメントアドレスSAで指定さ
れるセグメントテーブルST上のセグメント記述子SD
を読出し、これで指定されるアドレスから開始するペー
ジテーブルPT上の、論理アドレスLAのページアドレ
スPAで指定されるページ記述子PDを得て、ここに指
定されている実ページアドレスを得る。この得れた実ア
ドレスを、キイに対応するデータとして、バッファの連
想メモリ1に登録することになる。
なり、上位から8ビットのセグメントアドレスSA、8
ビットのセグメント内ページ・アドレスPA、12ビッ
トのページ内バイトアドレスBAからなっているとす
る。論理アドレスLAを物理アドレスに変換するための
テーブルとして、セグメントテーブルSTおよびページ
テーブルPTが主記憶MM上に用意される。セグメントテ
ーブルSTは、アドレス空間指定語ASWにその開始ア
ドレスが格納されており論理アドレス空間に含まれる各
セグメントに対応するセグメント記述子SDから構成され
る。論理アドレスLAのセグメントアドレスSAで指定
されるセグメント記述子SDiには、対応するセグメント
に含まれる全ページを管理するためのページテーブルPT
iの主記憶MM上の開始アドレスが格納されている。セグ
メント記述子SDiで指定されるページテーブルPTiの論理
アドレスLAのページアドレスPAで指定されるエント
リj即ち、ページ記述子PDijは、対応するページの主記
憶MM上の実アドレスを保持している。バッファに要求
された情報が格納されていない場合、即ち、アドレス変
換バッファに、要求された論理アドレスLAが登録され
ていない場合には、上記に従い、まず、アドレス指定語
ASWを読出し、セグメントテーブルSTの開始番地を得
て、論理アドレスLAのセグメントアドレスSAで指定さ
れるセグメントテーブルST上のセグメント記述子SD
を読出し、これで指定されるアドレスから開始するペー
ジテーブルPT上の、論理アドレスLAのページアドレ
スPAで指定されるページ記述子PDを得て、ここに指
定されている実ページアドレスを得る。この得れた実ア
ドレスを、キイに対応するデータとして、バッファの連
想メモリ1に登録することになる。
参考のために従来の実現方式を第2図及び第3図に示
す。従来方式においては、リプレース処理を行う回路を
各ブロック毎に保持しており、これらの回路はランダム
ロジックにより構成されているために、集積化された場
合に多くの面積が必要になる。これに対して、本発明に
おいては、エントリアクセス情報はランダムアクセスメ
モリ上に格納できるという長所がある。
す。従来方式においては、リプレース処理を行う回路を
各ブロック毎に保持しており、これらの回路はランダム
ロジックにより構成されているために、集積化された場
合に多くの面積が必要になる。これに対して、本発明に
おいては、エントリアクセス情報はランダムアクセスメ
モリ上に格納できるという長所がある。
この従来例においては、各ブロックにおけるLRU管理
の実施方法が第1の実施例とは異なっており、LRU管
理回路5により実現されている。これは第1の実施例に
おけるLRU情報テーブル3とLRU情報更新回路4と
等価の機能を果すものである。第2の実施例において
は、連想メモリ11の4個のブロックの各々がLRU情
報とともにLRU更新を行うLRU更新回路Biを内蔵
している。
の実施方法が第1の実施例とは異なっており、LRU管
理回路5により実現されている。これは第1の実施例に
おけるLRU情報テーブル3とLRU情報更新回路4と
等価の機能を果すものである。第2の実施例において
は、連想メモリ11の4個のブロックの各々がLRU情
報とともにLRU更新を行うLRU更新回路Biを内蔵
している。
第2図のリプレースメント方式は連想メモリ1と、ブロ
ックカウンタ2と、LRU管理回路5とから構成され
る。LRU管理回路5はデコーダDECとマルチプレクサ
MXとLRU更新回路B0〜B3とからなる。
ックカウンタ2と、LRU管理回路5とから構成され
る。LRU管理回路5はデコーダDECとマルチプレクサ
MXとLRU更新回路B0〜B3とからなる。
連想メモリ1で必要な情報が見出された場合には一致ブ
ロックアドレスFBAがデコーダDECで解読されブロ
ックアドレスFBAに対応して信号SELi(i=0〜3)
が生成されて指定のブロックのLRU更新回路Biを起動
し当該ブロックのLRUの更新を行なう。
ロックアドレスFBAがデコーダDECで解読されブロ
ックアドレスFBAに対応して信号SELi(i=0〜3)
が生成されて指定のブロックのLRU更新回路Biを起動
し当該ブロックのLRUの更新を行なう。
必要情報が見出されない場合にはブロックカウンタ2の
ブロックアドレスRBAの指定するLRU更新回路Biの
出力であるワードアドレスRWAiをマルチプレクサMXに
より選択しこのワードアドレスをリプレースすべきエン
トリのアドレスとして使用する。
ブロックアドレスRBAの指定するLRU更新回路Biの
出力であるワードアドレスRWAiをマルチプレクサMXに
より選択しこのワードアドレスをリプレースすべきエン
トリのアドレスとして使用する。
第3図にLRU更新回路Biの詳細回路図を示す。第3図
のi番目のLRU更新回路はデコーダDECと6個のフ
リップフロップFF01〜FF23と、アンドゲートA0〜A4
とエンコーダENCとから構成されている。
のi番目のLRU更新回路はデコーダDECと6個のフ
リップフロップFF01〜FF23と、アンドゲートA0〜A4
とエンコーダENCとから構成されている。
LRU更新回路Biはi番目のブロックの4個の各エント
リL0〜L3のアクセス関係情報を保持し、新たなアク
セスがあった場合にはこれを更新し、更にアクセス後の
時間がもっとも長いエントリの情報を出力する機能を有
している。アクセス関係情報の保持に6個のフリップフ
ロップを使用している。フリップフロップFFjk(j<
k)はエントリLjがアクセスされるときにセットされエント
リLkがアクセスされたときにリセットされエントリL
l(l≠k,l≠j)がアクセスされたときには従前の
値を保持してアクセス情報を更新保持する。フリップフ
ロップFFjkがセットされているときはエントリLjがエン
トリLkより後からアクセスされたことを示すこととな
る。リセットの場合はその逆を示す。このようにするこ
とによりフリップフロップFFjmがセットされフリップフ
ロップFFmkがリセットされているときにはエントリLmは
アクセス後の時間がもっとも長いエントリであることと
なる。アンドゲートA0,A1,A2およびA3の出力
I0,I1,I2およびI3はそれぞれエントリL0,
L1,L2,L3がアクセス後の時間がもっとも長いと
き論理“1"となり、他は論理“0”となる。
リL0〜L3のアクセス関係情報を保持し、新たなアク
セスがあった場合にはこれを更新し、更にアクセス後の
時間がもっとも長いエントリの情報を出力する機能を有
している。アクセス関係情報の保持に6個のフリップフ
ロップを使用している。フリップフロップFFjk(j<
k)はエントリLjがアクセスされるときにセットされエント
リLkがアクセスされたときにリセットされエントリL
l(l≠k,l≠j)がアクセスされたときには従前の
値を保持してアクセス情報を更新保持する。フリップフ
ロップFFjkがセットされているときはエントリLjがエン
トリLkより後からアクセスされたことを示すこととな
る。リセットの場合はその逆を示す。このようにするこ
とによりフリップフロップFFjmがセットされフリップフ
ロップFFmkがリセットされているときにはエントリLmは
アクセス後の時間がもっとも長いエントリであることと
なる。アンドゲートA0,A1,A2およびA3の出力
I0,I1,I2およびI3はそれぞれエントリL0,
L1,L2,L3がアクセス後の時間がもっとも長いと
き論理“1"となり、他は論理“0”となる。
例としてi番目のブロックのエントリのアクセスの新し
い順をL0,L1,L2,L3とし、エントリL2に新
たにアクセスがあった時のことを考える。当初はフリッ
プフロップFF01,FF02,F03,F12,FF13,FF23はすべて
セット状態にありアクセスの順序を保持している。i番
目のブロックのエントリL2にアクセスがあると、一致
ワードアドレスFWAがデコードされ信号P2によりフ
リップフロップFF02,FF12がリセットされフリップフロ
ップFF23がセットされアクセス順序をL2,L0,
L1,L3と更新する。この状態ではアンドゲート
A0,A1,A2,A3の出力I0,I1,I2,I3
はそれぞれ論理“0",“0",“0",“1”でありエ
ンコーダENCにより“11”なるワードアドレスRWAiを
出力している。
い順をL0,L1,L2,L3とし、エントリL2に新
たにアクセスがあった時のことを考える。当初はフリッ
プフロップFF01,FF02,F03,F12,FF13,FF23はすべて
セット状態にありアクセスの順序を保持している。i番
目のブロックのエントリL2にアクセスがあると、一致
ワードアドレスFWAがデコードされ信号P2によりフ
リップフロップFF02,FF12がリセットされフリップフロ
ップFF23がセットされアクセス順序をL2,L0,
L1,L3と更新する。この状態ではアンドゲート
A0,A1,A2,A3の出力I0,I1,I2,I3
はそれぞれ論理“0",“0",“0",“1”でありエ
ンコーダENCにより“11”なるワードアドレスRWAiを
出力している。
また、本実施例の説明においては、LRU情報更新回路
が前述の動作を行うための制御回路の具体的な説明に関
しては、本発明の主旨とは直接関係がないので省略して
あるが通常知られている方法により容易に実現可能であ
ることは明らかである。
が前述の動作を行うための制御回路の具体的な説明に関
しては、本発明の主旨とは直接関係がないので省略して
あるが通常知られている方法により容易に実現可能であ
ることは明らかである。
また、LRU情報更新回路において4個のレジスタR0
〜R3を使用したが本発明はこれに限定されるものでは
なく、LRU情報テーブルのメモリに対して直接処理を
行うように構成することも可能である。
〜R3を使用したが本発明はこれに限定されるものでは
なく、LRU情報テーブルのメモリに対して直接処理を
行うように構成することも可能である。
また、連想メモリのワード数も16ワードに限定される
ものでなく、たとえば、32ワードあった場合には、各
々4ワードからなる8ブロックに分割し、3ビットのブ
ロックカウンタにより、ブロック間ではFIFOのリプレー
スメントを実現することができる。
ものでなく、たとえば、32ワードあった場合には、各
々4ワードからなる8ブロックに分割し、3ビットのブ
ロックカウンタにより、ブロック間ではFIFOのリプレー
スメントを実現することができる。
(発明の効果) 本発明にはリプレース方式としてLRU方式とFIFO方式
とを併用することにより完全LRU方式に比し大幅にハ
ードウェア量を削減できしかもほぼ等しいヒット率をう
ることができるという効果がある。
とを併用することにより完全LRU方式に比し大幅にハ
ードウェア量を削減できしかもほぼ等しいヒット率をう
ることができるという効果がある。
第1図は本発明の実施例を示すブロック図、第2図、第
3図は従来技術を説明するための図、第4図は各実施例
において想定するバッファによらないアドレス変換の方
式を示す変換図である。 1……連想メモリ、2……ブロックカウンタ、3……L
RU情報テーブル、4……LRU情報更新回路、5……
LRU管理回路、R0〜R3……レジスタ、C0〜C3
……比較回路、MX……マルチプレクサ、F0〜F3…
…一致信号、ENC……エンコーダ、u0〜u3……L
RU更新信号、S……LRU情報セット信号、I……初
期設定信号、u……更新信号、B0〜B3……LRU更
新回路、DEC……デコータ、FF01〜FF23……フリップ
フロップ、A0〜A4……アンドゲート、LA……論理
アドレス、SA……セグメントアドレス、PA……ペー
ジアドレス、BA……バイトアドレス、ASW……アド
レス空間指定語、ST……セグメントテーブル、PT…
…ページテーブル、SD……セグメント記述子、PD…
…ページ記述子、MM……主記憶。
3図は従来技術を説明するための図、第4図は各実施例
において想定するバッファによらないアドレス変換の方
式を示す変換図である。 1……連想メモリ、2……ブロックカウンタ、3……L
RU情報テーブル、4……LRU情報更新回路、5……
LRU管理回路、R0〜R3……レジスタ、C0〜C3
……比較回路、MX……マルチプレクサ、F0〜F3…
…一致信号、ENC……エンコーダ、u0〜u3……L
RU更新信号、S……LRU情報セット信号、I……初
期設定信号、u……更新信号、B0〜B3……LRU更
新回路、DEC……デコータ、FF01〜FF23……フリップ
フロップ、A0〜A4……アンドゲート、LA……論理
アドレス、SA……セグメントアドレス、PA……ペー
ジアドレス、BA……バイトアドレス、ASW……アド
レス空間指定語、ST……セグメントテーブル、PT…
…ページテーブル、SD……セグメント記述子、PD…
…ページ記述子、MM……主記憶。
Claims (1)
- 【請求項1】複数のブロックに分割され前記ブロックは
それぞれ複数のエントリを有する記憶情報手段と、前記
各ブロック内の複数のエントリの中でのアクセスの順序
に対応した値を保持するエントリアクセス情報保持手段
と、前記情報記憶手段へのアクセスがあった時には前記
エントリアクセス保持手段に保持されている情報を更新
するエントリアクセス情報更新手段と、前記複数のブロ
ック中の1個のブロックを順次指定するブロック順次指
定手段と、前記複数のエントリの中の1つのエントリを
新たなエントリにリプレースするときには前記ブロック
順次指定手段の指定するブロックにおける前記エントリ
アクセス情報保持手段の保持するエントリアクセス情報
により指定されるエントリをリプレース対象エントリと
して選択し、その後、次のリプレースメント処理のため
に前記ブロック順次指定手段を更新する、複数ブロック
に対して共通に設けた1個のリプレースエントリ決定手
段とを含むことを特徴とするリプレースメント方式
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59017354A JPH0614325B2 (ja) | 1984-02-02 | 1984-02-02 | リプレ−スメント方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59017354A JPH0614325B2 (ja) | 1984-02-02 | 1984-02-02 | リプレ−スメント方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60163147A JPS60163147A (ja) | 1985-08-26 |
JPH0614325B2 true JPH0614325B2 (ja) | 1994-02-23 |
Family
ID=11941707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59017354A Expired - Lifetime JPH0614325B2 (ja) | 1984-02-02 | 1984-02-02 | リプレ−スメント方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0614325B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62231350A (ja) * | 1986-03-31 | 1987-10-09 | Toshiba Corp | 論理回路 |
EP0309737A3 (de) * | 1987-09-30 | 1990-06-20 | Siemens Aktiengesellschaft | Anordnung zur Realisierung eines LRU (Least Recently Used) - ähnlichem Mechanismus für mehr als drei Elemente durch Binär-Matrix-Bäume |
EP0309712A3 (de) * | 1987-09-30 | 1990-06-20 | Siemens Aktiengesellschaft | Anordnung zur Realisierung eines LRU (Least Recently Used) - ähnlichem Mechanismus für mehr als drei Elemente durch Binär-Matrix-Bäume |
CN112579482B (zh) * | 2020-12-05 | 2022-10-21 | 西安翔腾微电子科技有限公司 | 一种非阻塞Cache替换信息表超前精确更新装置及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5622280A (en) * | 1979-07-30 | 1981-03-02 | Fujitsu Ltd | Replacement processing system |
JPS58128080A (ja) * | 1982-01-27 | 1983-07-30 | Nec Corp | ペ−ジリプレ−スメント方式 |
JPS593773A (ja) * | 1982-06-29 | 1984-01-10 | Fujitsu Ltd | バツフア記憶装置のlru制御方式 |
-
1984
- 1984-02-02 JP JP59017354A patent/JPH0614325B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS60163147A (ja) | 1985-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5226133A (en) | Two-level translation look-aside buffer using partial addresses for enhanced speed | |
JP6205650B2 (ja) | 不均等アクセス・メモリにレコードを配置するために不均等ハッシュ機能を利用する方法および装置 | |
US5123101A (en) | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss | |
US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
US6349372B1 (en) | Virtual uncompressed cache for compressed main memory | |
US6446188B1 (en) | Caching dynamically allocated objects | |
US4322815A (en) | Hierarchical data storage system | |
GB1487078A (en) | Buffered virtual storage and data processing system | |
JPH11203199A (ja) | キャッシュ・メモリ | |
US4821171A (en) | System of selective purging of address translation in computer memories | |
US11334499B2 (en) | Method for locating metadata | |
GR20170100067A (el) | Προβλεψη χρησης τομεων κρυφης μνημης | |
US8935508B1 (en) | Implementing pseudo content access memory | |
JPH0614325B2 (ja) | リプレ−スメント方式 | |
JP2846697B2 (ja) | キャッシュメモリ制御装置 | |
JP3242161B2 (ja) | データプロセッサ | |
JP2008511882A (ja) | 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 | |
EP0058846A2 (en) | Multiprocessing system with variably shared paging storage | |
JPS623354A (ja) | キヤツシユメモリ・アクセス方式 | |
JPH05216767A (ja) | エントリ置き換え制御方式 | |
JPS626350A (ja) | Tlb制御装置 | |
JPS59218692A (ja) | ロジカルバツフア記憶制御方式 | |
JPH0420216B2 (ja) | ||
JPS62152052A (ja) | リプレ−スメント方式 | |
JPS646492B2 (ja) |