JPH05216767A - エントリ置き換え制御方式 - Google Patents
エントリ置き換え制御方式Info
- Publication number
- JPH05216767A JPH05216767A JP4019682A JP1968292A JPH05216767A JP H05216767 A JPH05216767 A JP H05216767A JP 4019682 A JP4019682 A JP 4019682A JP 1968292 A JP1968292 A JP 1968292A JP H05216767 A JPH05216767 A JP H05216767A
- Authority
- JP
- Japan
- Prior art keywords
- address
- address signal
- output
- entry
- tlb
- 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.)
- Granted
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 ランダム制御によりTLBもしくはキャッシ
ュ・メモリのエントリ置き換えを行うに際して、直前も
しくは過去数回の間にアクセスされたエントリについて
は、置き換えられることがないようにすること。 【構成】 ランダム・アドレス発生手段1はランダムな
アドレス信号を発生する。アクセス・アドレス記憶手段
3は、直前あるいは過去数回の間にアクセスされたTL
Bもしくはキャッシュ・メモリ2のアドレスを記憶して
いる。TLBもしくはキャッシュ・メモリ2のエントリ
置き換えを行う場合、ランダム・アドレス発生手段1の
出力とアクセス・アドレス記憶手段3アドレスが比較器
4で比較され、両者が一致すると、セレクタ6は、直前
あるいは過去数回の間にアクセスされたアドレス信号と
は異なった信号を出力するアドレス生成手段5の出力を
選択し、TLBもしくはキャッシュ・メモリ2のエント
リの置き換えを行う。
ュ・メモリのエントリ置き換えを行うに際して、直前も
しくは過去数回の間にアクセスされたエントリについて
は、置き換えられることがないようにすること。 【構成】 ランダム・アドレス発生手段1はランダムな
アドレス信号を発生する。アクセス・アドレス記憶手段
3は、直前あるいは過去数回の間にアクセスされたTL
Bもしくはキャッシュ・メモリ2のアドレスを記憶して
いる。TLBもしくはキャッシュ・メモリ2のエントリ
置き換えを行う場合、ランダム・アドレス発生手段1の
出力とアクセス・アドレス記憶手段3アドレスが比較器
4で比較され、両者が一致すると、セレクタ6は、直前
あるいは過去数回の間にアクセスされたアドレス信号と
は異なった信号を出力するアドレス生成手段5の出力を
選択し、TLBもしくはキャッシュ・メモリ2のエント
リの置き換えを行う。
Description
【0001】
【産業上の利用分野】トランスファー・ルックアサイド
・バッファ(以下、TLBと称す)やキャッシュ・メモ
リにおいて、ミス・ヒット時、既に登録されているアド
レスあるいはデータを、新たに登録するアドレスあるい
はデータと置き換えるエントリの置き換え制御が行われ
る。
・バッファ(以下、TLBと称す)やキャッシュ・メモ
リにおいて、ミス・ヒット時、既に登録されているアド
レスあるいはデータを、新たに登録するアドレスあるい
はデータと置き換えるエントリの置き換え制御が行われ
る。
【0002】上記したエントリの置き換え制御方式とし
て、従来からFIFO(First In First Out)制御や、
LRU(Least Recently Used )制御、あるいは、ラン
ダム制御が知られている。本発明は、上記したエントリ
の置き換え制御方式に関し、特に、ランダム制御による
エントリ置き換え制御方式に関するものである。
て、従来からFIFO(First In First Out)制御や、
LRU(Least Recently Used )制御、あるいは、ラン
ダム制御が知られている。本発明は、上記したエントリ
の置き換え制御方式に関し、特に、ランダム制御による
エントリ置き換え制御方式に関するものである。
【0003】
【従来の技術】図4は、動的アドレス変換におけるTL
Bのランダム制御によるエントリ置き換え制御方式の従
来例を示す図である。同図において、101はランダム
・アドレス生成部、102はアドレス変換の対象となる
論理アドレス、103はTLB、104は比較器、10
5は物理アドレスである。
Bのランダム制御によるエントリ置き換え制御方式の従
来例を示す図である。同図において、101はランダム
・アドレス生成部、102はアドレス変換の対象となる
論理アドレス、103はTLB、104は比較器、10
5は物理アドレスである。
【0004】同図におけるランダム・アドレス生成部1
01はTLBのエントリ数の容量を持つカウンタ101
aから構成される。カウンタ101aはクロックにより
カウントアップしており、カウント値がエントリ数を越
えるとラップ・アラウンドする。TLB103には、そ
の時点でアクセス頻度の高いページの論理アドレスとペ
ージ・アドレス(実アドレス)が対応付けて格納されて
おり、比較器104はTLB103の論理アドレスと論
理アドレス102のセグメント番号、ページ番号とを比
較し、両者が一致すると一致(ヒット)信号を出力し、
不一致であると不一致(ミス・ヒット)信号を出力す
る。
01はTLBのエントリ数の容量を持つカウンタ101
aから構成される。カウンタ101aはクロックにより
カウントアップしており、カウント値がエントリ数を越
えるとラップ・アラウンドする。TLB103には、そ
の時点でアクセス頻度の高いページの論理アドレスとペ
ージ・アドレス(実アドレス)が対応付けて格納されて
おり、比較器104はTLB103の論理アドレスと論
理アドレス102のセグメント番号、ページ番号とを比
較し、両者が一致すると一致(ヒット)信号を出力し、
不一致であると不一致(ミス・ヒット)信号を出力す
る。
【0005】同図において、アドレス変換モードで命令
により主記憶装置をアクセスする場合、TLB103が
参照される。そして、与えられた論理アドレス102の
セグメント番号、ページ番号に対応したページ・アドレ
スがTLB103に格納されている場合には、比較器1
04がヒット信号を出力する。
により主記憶装置をアクセスする場合、TLB103が
参照される。そして、与えられた論理アドレス102の
セグメント番号、ページ番号に対応したページ・アドレ
スがTLB103に格納されている場合には、比較器1
04がヒット信号を出力する。
【0006】ヒット信号が比較器104より出力される
と、TLB103より即座にページ・アドレス(実アド
レス)が読みだされ、読みだされたページ・アドレスに
論理アドレス102のページ内変位を加えて物理アドレ
ス105が生成される。また、ミス・ヒット信号が比較
器104より出力されると、主記憶装置のアドレス管理
テーブルのセグメント・テーブル、ページ・テーブルを
参照して、ページ・アドレス(実アドレス)を得て、T
LBのエントリを置換する。この場合、TLBにおける
置き換えアドレスは、ランダム・アドレス生成部101
のカウンタ101aのカウント値により定まる。
と、TLB103より即座にページ・アドレス(実アド
レス)が読みだされ、読みだされたページ・アドレスに
論理アドレス102のページ内変位を加えて物理アドレ
ス105が生成される。また、ミス・ヒット信号が比較
器104より出力されると、主記憶装置のアドレス管理
テーブルのセグメント・テーブル、ページ・テーブルを
参照して、ページ・アドレス(実アドレス)を得て、T
LBのエントリを置換する。この場合、TLBにおける
置き換えアドレスは、ランダム・アドレス生成部101
のカウンタ101aのカウント値により定まる。
【0007】すなわち、ミス・ヒット時のカウンタ10
1aのカウント値により定まるTLBのエントリと、新
たに登録される論理アドレス、ページ・アドレス(実ア
ドレス)が置き換えられる。ついで、TLB103より
新たに登録したページ・アドレスが読みだされ、前記し
たように、読みだされたページ・アドレスに論理アドレ
ス102のページ内変位を加えて物理アドレス105が
生成される。
1aのカウント値により定まるTLBのエントリと、新
たに登録される論理アドレス、ページ・アドレス(実ア
ドレス)が置き換えられる。ついで、TLB103より
新たに登録したページ・アドレスが読みだされ、前記し
たように、読みだされたページ・アドレスに論理アドレ
ス102のページ内変位を加えて物理アドレス105が
生成される。
【0008】上記した、従来のランダム制御によるエン
トリの置き換え制御においては、カウンタ101aのカ
ウント値により置き換えるエントリのアドレスが定ま
り、その値はまったくランダムとなるから、直前にアク
セスされたエントリが置き換えられる可能性がある。一
般に直前にアクセスされたエントリは、今後アクセスさ
れる可能性が高く、直前にアクセスされたエントリが置
き換えられると、その後、そのエントリに対応した論理
アドレスがアクセスされた際、主記憶装置のアドレス管
理テーブルを参照し、再度、TLBに登録することとな
り、アドレス変換の効率を低下させることとなる。
トリの置き換え制御においては、カウンタ101aのカ
ウント値により置き換えるエントリのアドレスが定ま
り、その値はまったくランダムとなるから、直前にアク
セスされたエントリが置き換えられる可能性がある。一
般に直前にアクセスされたエントリは、今後アクセスさ
れる可能性が高く、直前にアクセスされたエントリが置
き換えられると、その後、そのエントリに対応した論理
アドレスがアクセスされた際、主記憶装置のアドレス管
理テーブルを参照し、再度、TLBに登録することとな
り、アドレス変換の効率を低下させることとなる。
【0009】また、キャッシュ・メモリにおいても、ラ
ンダム制御によるエントリ置き換え制御方式を用いた場
合、上記したTLBと同様な問題点があった。
ンダム制御によるエントリ置き換え制御方式を用いた場
合、上記したTLBと同様な問題点があった。
【0010】
【発明が解決しようとする課題】本発明は上記した従来
技術の欠点を改善するためになされたものであつて、ラ
ンダム制御によるTLBもしくはキャッシュ・メモリの
エントリ置き換え制御方式において、直前あるいは過去
数回の間にアクセスされたエントリについては、置き換
えられることがないようにすることにより、効率的な制
御を行うことができる、エントリ置き換え制御方式を提
供することを目的とする。
技術の欠点を改善するためになされたものであつて、ラ
ンダム制御によるTLBもしくはキャッシュ・メモリの
エントリ置き換え制御方式において、直前あるいは過去
数回の間にアクセスされたエントリについては、置き換
えられることがないようにすることにより、効率的な制
御を行うことができる、エントリ置き換え制御方式を提
供することを目的とする。
【0011】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。本発明は上記課題を解決するため、ラン
ダムなアドレス信号を発生するランダム・アドレス信号
発生手段1を備え、TLBもしくはキャッシュ・メモリ
2のエントリを上記ランダムなアドレス信号に基づき置
き換えるエントリ置き換え制御方式において、図1に示
すように、TLBもしくはキャッシュ・メモリ2を直前
あるいは過去所定回数の間にアクセスしたアドレス信号
を記憶するアクセス・アドレス記憶手段3と、ランダム
・アドレス信号発生手段1の出力とアクセス・アドレス
記憶手段3の出力を比較する比較手段4と、アクセス・
アドレス記憶手段3に記憶されたアドレス信号と異なっ
たアドレス信号を生成するアドレス生成手段5と、比較
手段4の出力に基づきランダム・アドレス信号発生手段
1の出力あるいはアドレス生成手段5の出力を選択的に
出力するセレクタ6とを設けたものである。
ック図である。本発明は上記課題を解決するため、ラン
ダムなアドレス信号を発生するランダム・アドレス信号
発生手段1を備え、TLBもしくはキャッシュ・メモリ
2のエントリを上記ランダムなアドレス信号に基づき置
き換えるエントリ置き換え制御方式において、図1に示
すように、TLBもしくはキャッシュ・メモリ2を直前
あるいは過去所定回数の間にアクセスしたアドレス信号
を記憶するアクセス・アドレス記憶手段3と、ランダム
・アドレス信号発生手段1の出力とアクセス・アドレス
記憶手段3の出力を比較する比較手段4と、アクセス・
アドレス記憶手段3に記憶されたアドレス信号と異なっ
たアドレス信号を生成するアドレス生成手段5と、比較
手段4の出力に基づきランダム・アドレス信号発生手段
1の出力あるいはアドレス生成手段5の出力を選択的に
出力するセレクタ6とを設けたものである。
【0012】そして、TLBもしくはキャッシュ・メモ
リ2のエントリの置き換えに際して、ランダム・アドレ
ス信号発生手段1が出力するアドレス信号とアクセス・
アドレス記憶手段3に記憶されたアドレス信号とが一致
した場合、セレクタ6によりアドレス生成手段5のアド
レス信号を選択し、選択されたアドレス信号に基づきT
LBもしくはキャッシュ・メモリのエントリを置き換え
る。
リ2のエントリの置き換えに際して、ランダム・アドレ
ス信号発生手段1が出力するアドレス信号とアクセス・
アドレス記憶手段3に記憶されたアドレス信号とが一致
した場合、セレクタ6によりアドレス生成手段5のアド
レス信号を選択し、選択されたアドレス信号に基づきT
LBもしくはキャッシュ・メモリのエントリを置き換え
る。
【0013】また、上記構成に加え、請求項2のよう
に、アクセス・アドレス記憶手段3の出力に所定数を加
算あるいは減算することにより、アクセス・アドレス記
憶手段3に記憶されたアドレス信号と異なったアドレス
信号を生成することができる。さらに、請求項3のよう
に、セット・アソシエイティブ方式のTLBもしくはキ
ャッシュ・メモリ2に本発明を適用し、アドレス生成手
段5を、TLBもしくはキャッシュ・メモリ2の直前あ
るいは過去所定回数の間にアクセスされたウェイを記憶
するフラグ・レジスタ5aと、フラグ・レジスタをサー
チすることにより直前あるいは過去所定回数の間にアク
セスされたウェイをサーチするサーチ部5bと、サーチ
部の出力に基づきアドレス信号を生成するアドレス生成
部5cから構成することができる。
に、アクセス・アドレス記憶手段3の出力に所定数を加
算あるいは減算することにより、アクセス・アドレス記
憶手段3に記憶されたアドレス信号と異なったアドレス
信号を生成することができる。さらに、請求項3のよう
に、セット・アソシエイティブ方式のTLBもしくはキ
ャッシュ・メモリ2に本発明を適用し、アドレス生成手
段5を、TLBもしくはキャッシュ・メモリ2の直前あ
るいは過去所定回数の間にアクセスされたウェイを記憶
するフラグ・レジスタ5aと、フラグ・レジスタをサー
チすることにより直前あるいは過去所定回数の間にアク
セスされたウェイをサーチするサーチ部5bと、サーチ
部の出力に基づきアドレス信号を生成するアドレス生成
部5cから構成することができる。
【0014】
【作用】ランダム・アドレス発生手段1はランダムなア
ドレス信号を発生する。また、アクセス・アドレス記憶
手段3は、直前あるいは過去所定回数の間にアクセスさ
れたTLBもしくはキャッシュ・メモリ2のアドレスを
記憶している。TLBのエントリ置き換えを行う場合、
ランダム・アドレス発生手段1の出力とアクセス・アド
レス記憶手段3アドレスが比較器4で比較される。
ドレス信号を発生する。また、アクセス・アドレス記憶
手段3は、直前あるいは過去所定回数の間にアクセスさ
れたTLBもしくはキャッシュ・メモリ2のアドレスを
記憶している。TLBのエントリ置き換えを行う場合、
ランダム・アドレス発生手段1の出力とアクセス・アド
レス記憶手段3アドレスが比較器4で比較される。
【0015】比較の結果、両者が不一致であると、セレ
クタ6はランダム・アドレス発生手段1の出力を選択
し、TLBもしくはキャッシュ・メモリのエントリはラ
ンダム・アドレス発生手段1の出力するアドレスにより
置き換えられる。比較の結果、両者が一致すると、セレ
クタ6は、アクセス・アドレス記憶手段3に記憶された
アドレス信号と異なったアドレス信号を出力するアドレ
ス生成手段5の出力を選択し、TLBもしくはキャッシ
ュ・メモリのエントリはアドレス生成手段5の出力する
アドレスにより置き換えられる。
クタ6はランダム・アドレス発生手段1の出力を選択
し、TLBもしくはキャッシュ・メモリのエントリはラ
ンダム・アドレス発生手段1の出力するアドレスにより
置き換えられる。比較の結果、両者が一致すると、セレ
クタ6は、アクセス・アドレス記憶手段3に記憶された
アドレス信号と異なったアドレス信号を出力するアドレ
ス生成手段5の出力を選択し、TLBもしくはキャッシ
ュ・メモリのエントリはアドレス生成手段5の出力する
アドレスにより置き換えられる。
【0016】比較手段4により、直前あるいは過去所定
回数の間にアクセスされたアドレスとエントリの置き換
えを行うアドレスを比較して、両者が一致すると、直前
あるいは過去所定回数の間にアクセスされたアドレスと
は異なったアドレスにより、TLBもしくはキャッシュ
・メモリ2のエントリの置き換えをおこなうので、直前
あるいは過去所定回数の間にアクセスされたアドレスの
エントリの置き換え防止することができる。
回数の間にアクセスされたアドレスとエントリの置き換
えを行うアドレスを比較して、両者が一致すると、直前
あるいは過去所定回数の間にアクセスされたアドレスと
は異なったアドレスにより、TLBもしくはキャッシュ
・メモリ2のエントリの置き換えをおこなうので、直前
あるいは過去所定回数の間にアクセスされたアドレスの
エントリの置き換え防止することができる。
【0017】また、アドレス生成手段5を、アクセスさ
れたTLBもしくはキャッシュ・メモリ2のウェイを記
憶するフラグ・レジスタ5aと、フラグ・レジスタ5a
をサーチしアクセスされたウェイを検索するサーチ部5
bと、サーチ部5bの出力に基づきアドレス信号を生成
するアドレス生成部5cから構成することにより、セッ
ト・アソシエイティブ方式のTLBもしくはキャッシュ
・メモリ2において、過去数回の間の各ウェイのアクセ
ス状態に基づき、エントリの置き換えアドレスを定める
ことができ、所定回数の間にアクセスされたウェイのエ
ントリの置き換え防止することができる。
れたTLBもしくはキャッシュ・メモリ2のウェイを記
憶するフラグ・レジスタ5aと、フラグ・レジスタ5a
をサーチしアクセスされたウェイを検索するサーチ部5
bと、サーチ部5bの出力に基づきアドレス信号を生成
するアドレス生成部5cから構成することにより、セッ
ト・アソシエイティブ方式のTLBもしくはキャッシュ
・メモリ2において、過去数回の間の各ウェイのアクセ
ス状態に基づき、エントリの置き換えアドレスを定める
ことができ、所定回数の間にアクセスされたウェイのエ
ントリの置き換え防止することができる。
【0018】
【実施例】図2は本発明の第1の実施例を示す図であ
り、同図において、11はカウンタ、12はクロック信
号、13は直前にアクセスされたアドレス、14、15
は第1および第2のレジスタ、16は比較器、17はセ
レクタである。同図は、本発明をTLBに適用した場合
の1実施例を示す図であり、図2は図4におけるランダ
ム・アドレス生成部101に対応し、図2のセレクタ1
7の出力により図4に示したTLB103がアクセスさ
れる。
り、同図において、11はカウンタ、12はクロック信
号、13は直前にアクセスされたアドレス、14、15
は第1および第2のレジスタ、16は比較器、17はセ
レクタである。同図は、本発明をTLBに適用した場合
の1実施例を示す図であり、図2は図4におけるランダ
ム・アドレス生成部101に対応し、図2のセレクタ1
7の出力により図4に示したTLB103がアクセスさ
れる。
【0019】同図におけるカウンタ11は従来例におい
て示したカウンタ101aと同様TLBのエントリ数の
容量を持ち、カウンタ11はクロック信号13によりカ
ウントアップしており、カウント値がエントリ数を越え
るとラップ・アラウンドする。また、第1のレジスタ1
4には、直前にアクセスされたアドレスが格納されてお
り、第2のレジスタ15には直前にアクセスされたアド
レスに1加えた値が格納されている。
て示したカウンタ101aと同様TLBのエントリ数の
容量を持ち、カウンタ11はクロック信号13によりカ
ウントアップしており、カウント値がエントリ数を越え
るとラップ・アラウンドする。また、第1のレジスタ1
4には、直前にアクセスされたアドレスが格納されてお
り、第2のレジスタ15には直前にアクセスされたアド
レスに1加えた値が格納されている。
【0020】つぎに、図2の動作を説明する。TLBの
ミス・ヒット時におけるTLBのエントリ置き換えに際
して、カウンタ11の値が読みだされ、比較器16にお
いて、レジスタ14に保持された直前にアクセスしたア
ドレスと比較される。カウンタ11より読みだされた値
がレジスタ14に保持された直前にアクセスしたアドレ
スと異なる場合には、セレクタ17はカウンタ11の出
力を選択し出力する。
ミス・ヒット時におけるTLBのエントリ置き換えに際
して、カウンタ11の値が読みだされ、比較器16にお
いて、レジスタ14に保持された直前にアクセスしたア
ドレスと比較される。カウンタ11より読みだされた値
がレジスタ14に保持された直前にアクセスしたアドレ
スと異なる場合には、セレクタ17はカウンタ11の出
力を選択し出力する。
【0021】また、カウンタ11より読みだされた値が
レジスタ14に保持された直前にアクセスしたアドレス
と等しい場合には、セレクタ17はレジスタ15の出力
を選択して出力する。レジスタ15には、前記したよう
に、直前にアクセスしたアドレスに1を加えた値が格納
されているので、カウンタ11の出力値が直前にアクセ
スされたアドレスと等しい場合には、セレクタ17より
直前にアクセスされたアドレスに1を加えたアドレスが
出力される。
レジスタ14に保持された直前にアクセスしたアドレス
と等しい場合には、セレクタ17はレジスタ15の出力
を選択して出力する。レジスタ15には、前記したよう
に、直前にアクセスしたアドレスに1を加えた値が格納
されているので、カウンタ11の出力値が直前にアクセ
スされたアドレスと等しい場合には、セレクタ17より
直前にアクセスされたアドレスに1を加えたアドレスが
出力される。
【0022】本実施例においては、上記のように、カウ
ンタ11の値が直前にアクセスされたアドレスに等しい
場合には、直前にアクセスされたアドレスに1を加えた
アドレスが出力されるので、TBLのエントリの置き換
えにおいて、直前にアクセスされたエントリが置き換え
られることがなく、効率的なエントリの置き換え制御を
行うことができる。
ンタ11の値が直前にアクセスされたアドレスに等しい
場合には、直前にアクセスされたアドレスに1を加えた
アドレスが出力されるので、TBLのエントリの置き換
えにおいて、直前にアクセスされたエントリが置き換え
られることがなく、効率的なエントリの置き換え制御を
行うことができる。
【0023】なお、上記実施例においては、直前にアク
セスされたアドレスに1を加えた値をレジスタ15にセ
ットしているが、レジスタ15にセットされる値は上記
値の限定されるものではなく、例えば、直前にアクセス
されたアドレスに所定数を加減算するなど、レジスタ1
4に保持されている値と異なった値がレジスタ15にセ
ットされるように構成すればよい。
セスされたアドレスに1を加えた値をレジスタ15にセ
ットしているが、レジスタ15にセットされる値は上記
値の限定されるものではなく、例えば、直前にアクセス
されたアドレスに所定数を加減算するなど、レジスタ1
4に保持されている値と異なった値がレジスタ15にセ
ットされるように構成すればよい。
【0024】図3は本発明の第2の実施例を示す図であ
り、同図は、タグ部がE行S列のマトリックスからな
り、列を指定するアドレスにより得られるE個の行アド
レスをアドレス変換の対象となる論理アドレスと比較し
て、一致した行アドレスについて、実アドレスを得るよ
うに構成したセット・アソシエイティブ方式によるTL
Bに本発明を適用した例を示す図である。
り、同図は、タグ部がE行S列のマトリックスからな
り、列を指定するアドレスにより得られるE個の行アド
レスをアドレス変換の対象となる論理アドレスと比較し
て、一致した行アドレスについて、実アドレスを得るよ
うに構成したセット・アソシエイティブ方式によるTL
Bに本発明を適用した例を示す図である。
【0025】同図において、21はカウンタ、22はフ
ラグ・レジスタ、23はアドレス発生部、24はTLB
のタグ部、25ないし28は第1ないし第4のレジス
タ、29は比較器、30はサーチ部、31はアドレス生
成部、32はセレクタである。同図は、図2と同様、図
5におけるランダム・アドレス生成部101に対応し、
TLBのエントリ置き換え制御において、同図のセレク
タ32の出力によりTLBがアクセスされる。
ラグ・レジスタ、23はアドレス発生部、24はTLB
のタグ部、25ないし28は第1ないし第4のレジス
タ、29は比較器、30はサーチ部、31はアドレス生
成部、32はセレクタである。同図は、図2と同様、図
5におけるランダム・アドレス生成部101に対応し、
TLBのエントリ置き換え制御において、同図のセレク
タ32の出力によりTLBがアクセスされる。
【0026】同図におけるカウンタ21はTLBがアク
セスされるごとに歩進するカウンタであり、第1ないし
第4のレジスタ25ないし28の内、アクセスされたア
ドレスを格納するレジスタを指定するとともに、カウン
タ21のカウント値が1歩進する毎に、フラグ・レジス
タ22に格納されたフラグ値を同図の右側に1列づつシ
フトする。
セスされるごとに歩進するカウンタであり、第1ないし
第4のレジスタ25ないし28の内、アクセスされたア
ドレスを格納するレジスタを指定するとともに、カウン
タ21のカウント値が1歩進する毎に、フラグ・レジス
タ22に格納されたフラグ値を同図の右側に1列づつシ
フトする。
【0027】フラグ・レジスタ22の各行はTLBのタ
グ部24の各ウェイに対応しており、TLBのあるウェ
イがアクセスされると、そのウェイに対応したフラグ・
レジスタの行のビットが1となる。したがって、図3に
示すフラグ・レジスタ22においては、TLBのタグ部
24のアクセス状態を過去4回まで記憶することができ
る。
グ部24の各ウェイに対応しており、TLBのあるウェ
イがアクセスされると、そのウェイに対応したフラグ・
レジスタの行のビットが1となる。したがって、図3に
示すフラグ・レジスタ22においては、TLBのタグ部
24のアクセス状態を過去4回まで記憶することができ
る。
【0028】アドレス発生部23は例えば図2に示した
カウンタ11と同様な構成をもち、ランダムなアドレス
信号を発生し、エントリ置き換えを行うウェイを指定す
る。第1のレジスタ25には直前にアクセスされたTL
Bのアドレスが記憶されており、第2のレジスタ26は
その前にアクセスされたTLBのアドレスが記憶されて
いる。同様に、第3のレジスタ27は3回前にアクセス
されたTLBのアドレスが、また、第4のレジスタ28
には4回前にアクセスされたTLBのアドレスが記憶さ
れている。
カウンタ11と同様な構成をもち、ランダムなアドレス
信号を発生し、エントリ置き換えを行うウェイを指定す
る。第1のレジスタ25には直前にアクセスされたTL
Bのアドレスが記憶されており、第2のレジスタ26は
その前にアクセスされたTLBのアドレスが記憶されて
いる。同様に、第3のレジスタ27は3回前にアクセス
されたTLBのアドレスが、また、第4のレジスタ28
には4回前にアクセスされたTLBのアドレスが記憶さ
れている。
【0029】比較器29は第1ないし第4のレジスタ2
5ないし28に格納されたアドレスとアドレス発生部2
3の出力を比較し、アドレス発生部23の出力が第1な
いし第4のレジスタ25ないし28に格納されたアドレ
スのいずれかと一致すると一致信号を出力する。サーチ
部30はフラグ・レジスタ22を検索して、過去4回の
間にアクセスされたことのないTLBのウェイを出力す
る。また、アドレス生成部31はサーチ手段の検索結果
に基づき、エントリの置き換えアドレスを出力する。
5ないし28に格納されたアドレスとアドレス発生部2
3の出力を比較し、アドレス発生部23の出力が第1な
いし第4のレジスタ25ないし28に格納されたアドレ
スのいずれかと一致すると一致信号を出力する。サーチ
部30はフラグ・レジスタ22を検索して、過去4回の
間にアクセスされたことのないTLBのウェイを出力す
る。また、アドレス生成部31はサーチ手段の検索結果
に基づき、エントリの置き換えアドレスを出力する。
【0030】セレクタ32は比較器29の出力に応じ
て、アドレス発生部23の出力あるいはアドレス生成部
31の出力を選択する。次ぎに、図3の実施例の動作を
説明する。TLBがアクセスされると、アクセスされた
アドレスが第1ないし第4のレジスタ25ないし28に
順次格納されていくとともに、フラグ・レジスタ22の
アクセスされたウェイに対応した行のフラグが1とな
り、その値はTLBがアクセスされるごとに右側に1列
ずつシフトする。
て、アドレス発生部23の出力あるいはアドレス生成部
31の出力を選択する。次ぎに、図3の実施例の動作を
説明する。TLBがアクセスされると、アクセスされた
アドレスが第1ないし第4のレジスタ25ないし28に
順次格納されていくとともに、フラグ・レジスタ22の
アクセスされたウェイに対応した行のフラグが1とな
り、その値はTLBがアクセスされるごとに右側に1列
ずつシフトする。
【0031】ここで、TLBのエントリ置き換えを行う
場合、アドレス発生部23の出力と第1ないし第4のレ
ジスタに格納されたアドレスが比較器29で比較され
る。比較器29が不一致信号を出力すると、セレクタ3
2はアドレス発生部23の出力を選択してTLBに出力
する。すなわち、アドレス発生部23の出力するアドレ
スが第1ないし第4のレジスタ25ないし28に格納さ
れた過去4回の間にアクセスされたアドレスと異なる場
合には、セレクタ32はアドレス発生部23の出力を選
択し、アドレス発生部23の出力するアドレスによりT
LBのエントリの置き換えが行われる。
場合、アドレス発生部23の出力と第1ないし第4のレ
ジスタに格納されたアドレスが比較器29で比較され
る。比較器29が不一致信号を出力すると、セレクタ3
2はアドレス発生部23の出力を選択してTLBに出力
する。すなわち、アドレス発生部23の出力するアドレ
スが第1ないし第4のレジスタ25ないし28に格納さ
れた過去4回の間にアクセスされたアドレスと異なる場
合には、セレクタ32はアドレス発生部23の出力を選
択し、アドレス発生部23の出力するアドレスによりT
LBのエントリの置き換えが行われる。
【0032】また、比較器29が一致信号を出力する
と、サーチ部30は過去4回の間にアクセスされたこと
のないウェイをフラグ・レジスタ22のフラグによりサ
ーチし(フラグ・レジスタ22の行が「0,0,0,
0」のウェイ)、アドレス生成部31に出力する。アド
レス生成部31はサーチ部30のサーチ結果に基づき、
過去4回の間にアクセスされたことのないアドレスを生
成し、セレクタ32に出力する。セレクタ32は比較器
29が不一致信号を出力しているので、アドレス生成部
31の出力を選択しTLBに出力する。
と、サーチ部30は過去4回の間にアクセスされたこと
のないウェイをフラグ・レジスタ22のフラグによりサ
ーチし(フラグ・レジスタ22の行が「0,0,0,
0」のウェイ)、アドレス生成部31に出力する。アド
レス生成部31はサーチ部30のサーチ結果に基づき、
過去4回の間にアクセスされたことのないアドレスを生
成し、セレクタ32に出力する。セレクタ32は比較器
29が不一致信号を出力しているので、アドレス生成部
31の出力を選択しTLBに出力する。
【0033】すなわち、アドレス発生部23の出力する
アドレスが第1ないし第4のレジスタ25ないし28に
格納された過去4回の間にアクセスされたアドレスのい
ずれかと一致する場合には、アドレス生成部31により
過去4回の間にアクセスされた事のないアドレスを生成
し、そのアドレスにより、TLBのエントリの置き換え
が行われる。
アドレスが第1ないし第4のレジスタ25ないし28に
格納された過去4回の間にアクセスされたアドレスのい
ずれかと一致する場合には、アドレス生成部31により
過去4回の間にアクセスされた事のないアドレスを生成
し、そのアドレスにより、TLBのエントリの置き換え
が行われる。
【0034】なお、アドレス生成部31におけるアドレ
スの生成方法は種々考えられるが,例えば、過去4回の
間にアクセスされた事のないアドレスの内、最も小さい
もの、あるいは、最も大きなものが選択される。また、
セレクタ32よりアドレスが出力されると、そのアドレ
スはカウンタ21により指示される第1ないし第4のレ
ジスタ25ないし28に格納される(上記実施例の場合
には第1のレジスタ25に格納される)。
スの生成方法は種々考えられるが,例えば、過去4回の
間にアクセスされた事のないアドレスの内、最も小さい
もの、あるいは、最も大きなものが選択される。また、
セレクタ32よりアドレスが出力されると、そのアドレ
スはカウンタ21により指示される第1ないし第4のレ
ジスタ25ないし28に格納される(上記実施例の場合
には第1のレジスタ25に格納される)。
【0035】本実施例においては、上記のように、TB
Lのエントリの置き換えにおいて、過去4回の間にアク
セスされたエントリが置き換えられることがなく、効率
的なエントリの置き換え制御を行うことができる。ま
た、フラグ・レジスタ22の行あるいは列を拡張するこ
とにより、置き換えを防止するウェイの拡張、あるい
は、置き換えを防止するアクセス回数の拡張をすること
ができる。さらに、任意の値をセットすることができる
エキストラ・レジスタを設け、エキストラ・レジスタに
より、フラグ・レジスタ22の値を設定できるようにす
ることにより、特定のウェイの書換えを防止し、頻繁に
使用するウェイの内容を常時保持することが可能とな
る。
Lのエントリの置き換えにおいて、過去4回の間にアク
セスされたエントリが置き換えられることがなく、効率
的なエントリの置き換え制御を行うことができる。ま
た、フラグ・レジスタ22の行あるいは列を拡張するこ
とにより、置き換えを防止するウェイの拡張、あるい
は、置き換えを防止するアクセス回数の拡張をすること
ができる。さらに、任意の値をセットすることができる
エキストラ・レジスタを設け、エキストラ・レジスタに
より、フラグ・レジスタ22の値を設定できるようにす
ることにより、特定のウェイの書換えを防止し、頻繁に
使用するウェイの内容を常時保持することが可能とな
る。
【0036】なお、上記実施例においては、TLBのエ
ントリ置き換え制御について説明したが、本発明はTL
Bのエントリ置き換え制御に限定されるものではなく、
キャッシュ・メモリにも適用することができる。
ントリ置き換え制御について説明したが、本発明はTL
Bのエントリ置き換え制御に限定されるものではなく、
キャッシュ・メモリにも適用することができる。
【0037】
【発明の効果】以上説明したことから明らかなように、
本発明においては、置き換えられるアドレスを、直前も
しくは過去数回の間にアクセスされたアドレスと比較
し、それらが一致した場合、直前もしくは過去数回の間
にアクセスされたアドレスとは異なったアドレスを生成
し、エントリの置き換えを行うので、直前もしくは過去
数回の間にアクセスされたエントリが置き換えられるこ
とがなく、効率的な制御を行うことが可能となる。
本発明においては、置き換えられるアドレスを、直前も
しくは過去数回の間にアクセスされたアドレスと比較
し、それらが一致した場合、直前もしくは過去数回の間
にアクセスされたアドレスとは異なったアドレスを生成
し、エントリの置き換えを行うので、直前もしくは過去
数回の間にアクセスされたエントリが置き換えられるこ
とがなく、効率的な制御を行うことが可能となる。
【図1】本発明の原理ブロック図である。
【図2】本発明の第1の実施例を示す図である。
【図3】本発明の第2の実施例を示す図である。
【図4】従来例を示す図である。
1 ランダム・アドレス発生手段 3 アクセス・アドレス記憶手段 4 比較手段 5 アドレス生成手段 6,17,32 セレクタ 11,21 カウンタ 14,15,25,26,27,28 レジスタ 16,29 比較器 22 フラグ・レジスタ 23 アドレス発生部 30 サーチ部 31 アドレス生成部
Claims (3)
- 【請求項1】 ランダムなアドレス信号を発生するラン
ダム・アドレス信号発生手段(1) を備え、TLBもしく
はキャッシュ・メモリ(2) のエントリを上記ランダムな
アドレス信号に基づき置き換えるエントリ置き換え制御
方式において、 TLBもしくはキャッシュ・メモリ(2) を直前あるいは
過去所定回数の間にアクセスしたアドレス信号を記憶す
るアクセス・アドレス記憶手段(3) と、 ランダム・アドレス信号発生手段(1) の出力とアクセス
・アドレス記憶手段(3) の出力を比較する比較手段(4)
と、 アクセス・アドレス記憶手段(3) に記憶されたアドレス
信号と異なったアドレス信号を生成するアドレス生成手
段(5) と、 比較手段(4) の出力に基づきランダム・アドレス信号発
生手段(1) の出力あるいはアドレス生成手段(5) の出力
を選択的に出力するセレクタ(6) とを備え、 TLBもしくはキャッシュ・メモリ(2) のエントリの置
き換えに際して、ランダム・アドレス信号発生手段(1)
が出力するアドレス信号とアクセス・アドレス記憶手段
(3) に記憶されたアドレス信号とが一致した場合、セレ
クタ(6) によりアドレス生成手段(5) のアドレス信号を
選択し、選択されたアドレス信号に基づきTLBもしく
はキャッシュ・メモリのエントリを置き換えることを特
徴とするエントリ置き換え制御方式。 - 【請求項2】 アドレス生成手段(5) が、アクセス・ア
ドレス記憶手段(3)の出力に所定数を加算あるいは減算
することにより、アクセス・アドレス記憶手段(3) に記
憶されたアドレス信号と異なったアドレス信号を生成す
ることを特徴とする請求項1のエントリ置き換え制御方
式。 - 【請求項3】 ランダムなアドレス信号を発生するラン
ダム・アドレス信号発生手段(1) を備え、セット・アソ
シエイティブ方式のTLBもしくはキャッシュ・メモリ
(2) のエントリを上記ランダムなアドレス信号に基づき
置き換えるエントリ置き換え制御方式において、 TLBもしくはキャッシュ・メモリ(2) を直前あるいは
過去所定回数の間にアクセスしたアドレス信号を記憶す
るアクセス・アドレス記憶手段(3) と、 ランダム・アドレス信号発生手段(1) の出力とアクセス
・アドレス記憶手段(3) の出力を比較する比較手段(4)
と、 TLBもしくはキャッシュ・メモリ(2) の直前あるいは
過去所定回数の間にアクセスされたウェイを記憶するフ
ラグ・レジスタ(5a)と、フラグ・レジスタをサーチする
ことにより、直前あるいは過去所定回数の間にアクセス
されたウェイをサーチするサーチ部(5b)と、サーチ部の
出力に基づきアドレス信号を生成するアドレス生成部(5
c)から構成され、アクセス・アドレス記憶手段(3) に記
憶されたアドレス信号と異なったアドレス信号を生成す
るアドレス生成手段(5) と、 比較手段(4) の出力に基づきランダム・アドレス信号発
生手段(1) の出力あるいはアドレス生成手段(5) の出力
を選択的に出力するセレクタ(6) とを備え、 TLBもしくはキャッシュ・メモリ(2) のエントリの置
き換えに際して、ランダム・アドレス信号発生手段(1)
が出力するアドレス信号とアクセス・アドレス記憶手段
(3) に記憶されたアドレス信号とが一致した場合、セレ
クタ(6) によりアドレス生成手段(5) のアドレス信号を
選択し、選択されたアドレス信号に基づきTLBもしく
はキャッシュ・メモリ(2) のエントリを置き換えること
を特徴とするエントリ置き換え制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4019682A JP3068935B2 (ja) | 1992-02-05 | 1992-02-05 | エントリ置き換え制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4019682A JP3068935B2 (ja) | 1992-02-05 | 1992-02-05 | エントリ置き換え制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05216767A true JPH05216767A (ja) | 1993-08-27 |
JP3068935B2 JP3068935B2 (ja) | 2000-07-24 |
Family
ID=12006010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4019682A Expired - Lifetime JP3068935B2 (ja) | 1992-02-05 | 1992-02-05 | エントリ置き換え制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3068935B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999057642A1 (fr) * | 1998-05-01 | 1999-11-11 | Matsushita Electric Industrial Co., Ltd. | Dispositif et procede de traitement de donnees |
KR100395758B1 (ko) * | 2001-06-21 | 2003-08-21 | 삼성전자주식회사 | 새로운 블럭 교체 스킴을 채용한 캐쉬 메모리 |
KR100617875B1 (ko) * | 2004-10-28 | 2006-09-13 | 장성태 | 다중 캐쉬 구조의 다중 프로세서 시스템 및 그 원격캐쉬의 교체 방법 |
JP2008047238A (ja) * | 2006-08-18 | 2008-02-28 | Fujitsu Ltd | 不揮発性半導体メモリ |
-
1992
- 1992-02-05 JP JP4019682A patent/JP3068935B2/ja not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999057642A1 (fr) * | 1998-05-01 | 1999-11-11 | Matsushita Electric Industrial Co., Ltd. | Dispositif et procede de traitement de donnees |
US6598147B1 (en) | 1998-05-01 | 2003-07-22 | Matsushita Electric Industrial Co., Ltd. | Data processing device and method |
KR100395758B1 (ko) * | 2001-06-21 | 2003-08-21 | 삼성전자주식회사 | 새로운 블럭 교체 스킴을 채용한 캐쉬 메모리 |
KR100617875B1 (ko) * | 2004-10-28 | 2006-09-13 | 장성태 | 다중 캐쉬 구조의 다중 프로세서 시스템 및 그 원격캐쉬의 교체 방법 |
JP2008047238A (ja) * | 2006-08-18 | 2008-02-28 | Fujitsu Ltd | 不揮発性半導体メモリ |
Also Published As
Publication number | Publication date |
---|---|
JP3068935B2 (ja) | 2000-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6014732A (en) | Cache memory with reduced access time | |
US5526504A (en) | Variable page size translation lookaside buffer | |
JP3640978B2 (ja) | ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置 | |
US6625715B1 (en) | System and method for translation buffer accommodating multiple page sizes | |
US6920531B2 (en) | Method and apparatus for updating and invalidating store data | |
EP0036110B1 (en) | Cache addressing mechanism | |
JP3169155B2 (ja) | 情報をキャッシュするための回路 | |
US6493812B1 (en) | Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache | |
US6625714B1 (en) | Parallel distributed function translation lookaside buffer | |
JP3718302B2 (ja) | 命令取り出し方法および装置 | |
JPH0628262A (ja) | ルックアサイドバッファおよび仮想から物理的へアドレスを高速に翻訳する方法 | |
JPH10177520A (ja) | データプロセッサ及びデータ処理システム | |
JP2005538465A (ja) | ページ・サイズ指標に基づきハッシュされる部分的タグを用いる変換索引バッファ | |
JPH08272692A (ja) | 仮想アドレス変換方法 | |
US5897651A (en) | Information handling system including a direct access set associative cache and method for accessing same | |
GB2276961A (en) | Set-associative memory with data "shunting". | |
JP3929872B2 (ja) | キャッシュメモリ、プロセッサ及びキャッシュ制御方法 | |
US7024536B2 (en) | Translation look-aside buffer for improving performance and reducing power consumption of a memory and memory management method using the same | |
US6385696B1 (en) | Embedded cache with way size bigger than page size | |
US20050027963A1 (en) | System and method for employing a process identifier to minimize aliasing in a linear-addressed cache | |
US6560689B1 (en) | TLB using region ID prevalidation | |
EP0486154B1 (en) | Method of operating a virtual memory system | |
US6574698B1 (en) | Method and system for accessing a cache memory within a data processing system | |
JPH05216767A (ja) | エントリ置き換え制御方式 | |
US6674441B1 (en) | Method and apparatus for improving performance of an accelerated graphics port (AGP) device |