JPH06124238A - 書換え対象エントリ選択方法および装置 - Google Patents
書換え対象エントリ選択方法および装置Info
- Publication number
- JPH06124238A JPH06124238A JP4274185A JP27418592A JPH06124238A JP H06124238 A JPH06124238 A JP H06124238A JP 4274185 A JP4274185 A JP 4274185A JP 27418592 A JP27418592 A JP 27418592A JP H06124238 A JPH06124238 A JP H06124238A
- Authority
- JP
- Japan
- Prior art keywords
- entry
- route
- candidate
- flip
- stage
- 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.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】少量のハードウェア量でありながら、ヒット率
を低下させることなく効率よく書換え対象エントリが選
択できるようにする。 【構成】2分木を構成するように関連付けされたフリッ
プフロップFF1 〜FF15の値に応じて、その2分木の
最上段から最下段までたどる経路を決定する候補エント
リ決定部42を設け、その経路上の4つのフリップフロ
ップの値を順に並べた4ビット値の示す番号を書換え対
象エントリの候補のエントリ番号(候補エントリid)
とする。また選択部44を設け、TLBチェック回路2
によりミスヒットが検出された場合には、その時点で候
補エントリ決定部42により決定されている候補エント
リidの示すTLBエントリを書換え対象エントリとし
て選択し、その候補の決定に用いられた経路上の4個の
フリップフロップの保持値を反転する。
を低下させることなく効率よく書換え対象エントリが選
択できるようにする。 【構成】2分木を構成するように関連付けされたフリッ
プフロップFF1 〜FF15の値に応じて、その2分木の
最上段から最下段までたどる経路を決定する候補エント
リ決定部42を設け、その経路上の4つのフリップフロ
ップの値を順に並べた4ビット値の示す番号を書換え対
象エントリの候補のエントリ番号(候補エントリid)
とする。また選択部44を設け、TLBチェック回路2
によりミスヒットが検出された場合には、その時点で候
補エントリ決定部42により決定されている候補エント
リidの示すTLBエントリを書換え対象エントリとし
て選択し、その候補の決定に用いられた経路上の4個の
フリップフロップの保持値を反転する。
Description
【0001】
【産業上の利用分野】仮想アドレスから実アドレスへの
変換情報を保持するTLB(Translation Look-aside B
uffer )エントリの群の中から、書換えの対象となるエ
ントリを選択する場合など、複数エントリから1つを選
択するのに好適な書換え対象エントリ選択方法および装
置に関する。
変換情報を保持するTLB(Translation Look-aside B
uffer )エントリの群の中から、書換えの対象となるエ
ントリを選択する場合など、複数エントリから1つを選
択するのに好適な書換え対象エントリ選択方法および装
置に関する。
【0002】
【従来の技術】仮想記憶制御方式を適用する情報処理装
置では、仮想アドレスから実アドレスへの変換情報を主
記憶にテーブル形式で保持しておき、そのうち最近参照
された幾つかの変換情報をTLB(Translation Look-a
side Buffer )と称される特別のバッファメモリ(一種
のキャッシュメモリ)のエントリ(TLBエントリ)に
コピー(登録)して、このTLBに目的の変換情報があ
る場合には、それを利用して仮想アドレスを物理アドレ
スに変換することにより、アドレス変換に要する時間を
短縮するのが一般的である。
置では、仮想アドレスから実アドレスへの変換情報を主
記憶にテーブル形式で保持しておき、そのうち最近参照
された幾つかの変換情報をTLB(Translation Look-a
side Buffer )と称される特別のバッファメモリ(一種
のキャッシュメモリ)のエントリ(TLBエントリ)に
コピー(登録)して、このTLBに目的の変換情報があ
る場合には、それを利用して仮想アドレスを物理アドレ
スに変換することにより、アドレス変換に要する時間を
短縮するのが一般的である。
【0003】さて、全てのTLBエントリを使用中に
(即ち全てのTLBエントリに変換情報が有効登録され
ている状態で)、更に新たな主記憶上の変換情報が参照
されたときには、使用中TLBエントリのいずれか1つ
を選択(決定)して新たな変換情報に書換えねばならな
い。この、書換えるべきTLBエントリを選択する方式
は、従来から各種知られている。この選択方式の代表的
なものに、LRU(Least Recently Used )方式とラン
ダム方式がある。
(即ち全てのTLBエントリに変換情報が有効登録され
ている状態で)、更に新たな主記憶上の変換情報が参照
されたときには、使用中TLBエントリのいずれか1つ
を選択(決定)して新たな変換情報に書換えねばならな
い。この、書換えるべきTLBエントリを選択する方式
は、従来から各種知られている。この選択方式の代表的
なものに、LRU(Least Recently Used )方式とラン
ダム方式がある。
【0004】LRU方式は、TLBエントリの参照状況
を管理して、最も以前に参照されたTLBエントリ、即
ちあまり参照されないTLBエントリを書換え対象とし
て選択するものである。このLRU方式では、TLBの
ヒット率を大きく保つことができるものの、その実現の
ためには大量のハードウェア量を必要とする欠点があっ
た。
を管理して、最も以前に参照されたTLBエントリ、即
ちあまり参照されないTLBエントリを書換え対象とし
て選択するものである。このLRU方式では、TLBの
ヒット率を大きく保つことができるものの、その実現の
ためには大量のハードウェア量を必要とする欠点があっ
た。
【0005】次にランダム方式は、TLBエントリ群の
中から、TLBエントリの参照状況に無関係に、ランダ
ムに書換え対象エントリを選択するものである。このラ
ンダム方式では、ハードウェア構成が極めて単純でハー
ドウェア量も少なくて済むものの、よく参照される変換
情報が失われてヒット率が低下する欠点があった。
中から、TLBエントリの参照状況に無関係に、ランダ
ムに書換え対象エントリを選択するものである。このラ
ンダム方式では、ハードウェア構成が極めて単純でハー
ドウェア量も少なくて済むものの、よく参照される変換
情報が失われてヒット率が低下する欠点があった。
【0006】
【発明が解決しようとする課題】上記したように従来の
書換え対象TLBエントリの選択方式では、LRU方式
のようにTLBのヒット率を大きく保つ方式は、大量の
ハードウェア量を必要とし、ランダム方式のように単純
なハードウェア構成を可能とする方式では、よく参照さ
れる変換情報が失われる虞があるという問題があった。
この問題は、主記憶上のデータあるいは命令のコピーが
置かれるキャッシュメモリにおける、書換え対象(置換
対象)キャッシュエントリ(キャッシュタグエントリ)
を選択する場合にも同様であった。
書換え対象TLBエントリの選択方式では、LRU方式
のようにTLBのヒット率を大きく保つ方式は、大量の
ハードウェア量を必要とし、ランダム方式のように単純
なハードウェア構成を可能とする方式では、よく参照さ
れる変換情報が失われる虞があるという問題があった。
この問題は、主記憶上のデータあるいは命令のコピーが
置かれるキャッシュメモリにおける、書換え対象(置換
対象)キャッシュエントリ(キャッシュタグエントリ)
を選択する場合にも同様であった。
【0007】この発明は上記事情に鑑みてなされたもの
でその目的は、少量のハードウェア量でありながら、ヒ
ット率を低下させることなく効率よく書換え対象エント
リが選択できる書換え対象エントリ選択方式を提供する
ことにある。
でその目的は、少量のハードウェア量でありながら、ヒ
ット率を低下させることなく効率よく書換え対象エント
リが選択できる書換え対象エントリ選択方式を提供する
ことにある。
【0008】
【課題を解決するための手段】この発明は、主記憶上の
情報の写しを含む情報を登録するための2n 個のエント
リの中から書換え対象エントリを指定するために、2分
木を構成するように関連付けされた2n −1個の状態保
持手段(フリップフロップ)を用い、この2n −1個の
状態保持手段の値に応じて2分木の最上段から最下段ま
でたどる経路を決定し、その経路上のn個の状態保持手
段の保持値を順に並べて定まるエントリ番号のエントリ
を書換え対象エントリとして選択すると共に、上記n個
の状態保持手段の保持値を反転することを特徴とするも
のである。
情報の写しを含む情報を登録するための2n 個のエント
リの中から書換え対象エントリを指定するために、2分
木を構成するように関連付けされた2n −1個の状態保
持手段(フリップフロップ)を用い、この2n −1個の
状態保持手段の値に応じて2分木の最上段から最下段ま
でたどる経路を決定し、その経路上のn個の状態保持手
段の保持値を順に並べて定まるエントリ番号のエントリ
を書換え対象エントリとして選択すると共に、上記n個
の状態保持手段の保持値を反転することを特徴とするも
のである。
【0009】また、この発明は、2n 個のエントリの中
の1つが参照された場合に、その参照エントリのエント
リ番号をキーとして上記2分木の最上段から最下段まで
たどる経路を決定し、その経路上の各状態保持手段に、
同エントリ番号を構成する各ビットの反転値をセットす
ることをも特徴とする。
の1つが参照された場合に、その参照エントリのエント
リ番号をキーとして上記2分木の最上段から最下段まで
たどる経路を決定し、その経路上の各状態保持手段に、
同エントリ番号を構成する各ビットの反転値をセットす
ることをも特徴とする。
【0010】
【作用】上記の構成では、2n 個のエントリの中から書
換え対象エントリを選択する必要があるミスヒット時
に、2分木状に関連付けされた2n −1個のフリップフ
ロップのその時点の値に注目して、2分木の最上段から
最下段までたどる経路を決定する。即ち、最上段のフリ
ップフロップの値に応じて(そのフリップフロップに論
理的につながる)次の段の2つのフリップフロップへの
各経路のいずれか一方を選び、その先のフリップフロッ
プの値に従って同様に経路を選択することを最下段のフ
リップフロップに至るまで順次実行することにより、2
分木の最上段から最下段までの1本の経路を決定する。
次に、この経路上のn個のフリップフロップの値を順に
並べたときのnビット値と同じエントリ番号のエントリ
を書換え対象エントリとして選択し、同エントリの書換
えと同時に、この経路上のn個のフリップフロップの値
を全て反転する。このような反転操作により、少なくと
もn回の書換え対象エントリの選択が行われるまでは、
同じエントリが選択されないようにすることができる。
換え対象エントリを選択する必要があるミスヒット時
に、2分木状に関連付けされた2n −1個のフリップフ
ロップのその時点の値に注目して、2分木の最上段から
最下段までたどる経路を決定する。即ち、最上段のフリ
ップフロップの値に応じて(そのフリップフロップに論
理的につながる)次の段の2つのフリップフロップへの
各経路のいずれか一方を選び、その先のフリップフロッ
プの値に従って同様に経路を選択することを最下段のフ
リップフロップに至るまで順次実行することにより、2
分木の最上段から最下段までの1本の経路を決定する。
次に、この経路上のn個のフリップフロップの値を順に
並べたときのnビット値と同じエントリ番号のエントリ
を書換え対象エントリとして選択し、同エントリの書換
えと同時に、この経路上のn個のフリップフロップの値
を全て反転する。このような反転操作により、少なくと
もn回の書換え対象エントリの選択が行われるまでは、
同じエントリが選択されないようにすることができる。
【0011】また、2n 個のエントリの中の1つが参照
されるヒット時には、その参照エントリのエントリ番号
をキーとして、その最上位ビットから最下位ビットの1
つ前のビットまでの各ビット(n−1ビット)の値によ
り決まる、上記2分木の最上段から最下段までたどる経
路を決定する。即ち、まず参照エントリのエントリ番号
の最上位ビットの値により、最上段のフリップフロップ
から(そのフリップフロップに論理的につながる)次の
段の2つのフリップフロップへの各経路のいずれか一方
を選び、続いて同エントリ番号の次のビットの値に従っ
て同様に経路を選ぶことを、最下段のフリップフロップ
に至るまで順次実行することにより、2分木の最上段か
ら最下段までの1本の経路を決定する。次に、この経路
上のn個のフリップフロップの値を、最上段のフリップ
フロップは、参照エントリのエントリ番号の最上位ビッ
トの反転値に、次の段のフリップフロップは、同エント
リ番号の2番目のビットの反転値にセットし直し、以下
同様にして、最下段のフリップフロップは同エントリ番
号の最下位ビットの反転値にセットし直す。このエント
リ参照時の動作により、一度参照されたエントリは、少
なくともn回の書換えが行われるまでは、再び書換えら
れないで済む。
されるヒット時には、その参照エントリのエントリ番号
をキーとして、その最上位ビットから最下位ビットの1
つ前のビットまでの各ビット(n−1ビット)の値によ
り決まる、上記2分木の最上段から最下段までたどる経
路を決定する。即ち、まず参照エントリのエントリ番号
の最上位ビットの値により、最上段のフリップフロップ
から(そのフリップフロップに論理的につながる)次の
段の2つのフリップフロップへの各経路のいずれか一方
を選び、続いて同エントリ番号の次のビットの値に従っ
て同様に経路を選ぶことを、最下段のフリップフロップ
に至るまで順次実行することにより、2分木の最上段か
ら最下段までの1本の経路を決定する。次に、この経路
上のn個のフリップフロップの値を、最上段のフリップ
フロップは、参照エントリのエントリ番号の最上位ビッ
トの反転値に、次の段のフリップフロップは、同エント
リ番号の2番目のビットの反転値にセットし直し、以下
同様にして、最下段のフリップフロップは同エントリ番
号の最下位ビットの反転値にセットし直す。このエント
リ参照時の動作により、一度参照されたエントリは、少
なくともn回の書換えが行われるまでは、再び書換えら
れないで済む。
【0012】
【実施例】図1は本発明の一実施例に係る書換え対象エ
ントリ選択装置を備えた仮想記憶管理機構の構成を示す
ブロック図である。
ントリ選択装置を備えた仮想記憶管理機構の構成を示す
ブロック図である。
【0013】図1において、1は仮想アドレスから実ア
ドレスへの変換情報を保持するための2n 個、例えば2
4 (=16)個(n=4)のTLBエントリからなるT
LBである。TLB1内の24 個のTLBエントリに
は、4ビットで表現される番号0(“0000”),1
(“0001”),2(“0010”),…,24 −1
(“1111”)が、そのエントリに固有のエントリ番
号(識別番号)idとして割当てられている。このエン
トリ番号は、TLBエントリ中の所定のフィールドに保
持されている。
ドレスへの変換情報を保持するための2n 個、例えば2
4 (=16)個(n=4)のTLBエントリからなるT
LBである。TLB1内の24 個のTLBエントリに
は、4ビットで表現される番号0(“0000”),1
(“0001”),2(“0010”),…,24 −1
(“1111”)が、そのエントリに固有のエントリ番
号(識別番号)idとして割当てられている。このエン
トリ番号は、TLBエントリ中の所定のフィールドに保
持されている。
【0014】2はTLBチェック回路である。TLBチ
ェック回路2は、実アドレスへの変換対象となる仮想ア
ドレスがCPU(図示せず)等から与えられた場合に、
その仮想アドレスに対応する変換情報を保持しているT
LBエントリがTLB1内に存在するか否かのチェック
(ヒット/ミスヒットチェック)を行い、そのチェック
結果を示すヒット/ミスヒット信号21を出力する。
ェック回路2は、実アドレスへの変換対象となる仮想ア
ドレスがCPU(図示せず)等から与えられた場合に、
その仮想アドレスに対応する変換情報を保持しているT
LBエントリがTLB1内に存在するか否かのチェック
(ヒット/ミスヒットチェック)を行い、そのチェック
結果を示すヒット/ミスヒット信号21を出力する。
【0015】3は書換え部である。書換え部3は、TL
Bチェック回路2によってミスヒットが検出された場合
に、後述する書換え対象エントリ選択装置4内の候補エ
ントリ決定部42によって検出されているエントリ番号
id(候補エントリid)の示す(TLB1内の)TL
Bエントリの書換えを行う。
Bチェック回路2によってミスヒットが検出された場合
に、後述する書換え対象エントリ選択装置4内の候補エ
ントリ決定部42によって検出されているエントリ番号
id(候補エントリid)の示す(TLB1内の)TL
Bエントリの書換えを行う。
【0016】4は本発明に直接関係する書換え対象エン
トリ選択装置である。書換え対象エントリ選択装置4
は、エントリ使用状況管理部41と、候補エントリ決定
部42と、セレクタ43と、選択部44とから構成され
る。
トリ選択装置である。書換え対象エントリ選択装置4
は、エントリ使用状況管理部41と、候補エントリ決定
部42と、セレクタ43と、選択部44とから構成され
る。
【0017】エントリ使用状況管理部41は、TLB1
内のTLBエントリの数−1、即ち24 −1(=15)
個のフリップフロップFF1 〜FF15から構成されてい
る。これらフリップフロップFF1 〜FF15は、図2に
示すように、2分木状に関連付けされている。
内のTLBエントリの数−1、即ち24 −1(=15)
個のフリップフロップFF1 〜FF15から構成されてい
る。これらフリップフロップFF1 〜FF15は、図2に
示すように、2分木状に関連付けされている。
【0018】即ちフリップフロップFF1 は、2分木の
最上段のノード(ルートノード)をなし、フリップフロ
ップFF2 ,FF3 は、フリップフロップFF1 につな
がる2段目の左側,右側ノードをなす。またフリップフ
ロップFF4 ,FF5 は、フリップフロップFF2 につ
ながる3段目の左側,右側ノードをなし、フリップフロ
ップFF6 ,FF7 は、フリップフロップFF3 につな
がる3段目の左側,右側ノードをなす。
最上段のノード(ルートノード)をなし、フリップフロ
ップFF2 ,FF3 は、フリップフロップFF1 につな
がる2段目の左側,右側ノードをなす。またフリップフ
ロップFF4 ,FF5 は、フリップフロップFF2 につ
ながる3段目の左側,右側ノードをなし、フリップフロ
ップFF6 ,FF7 は、フリップフロップFF3 につな
がる3段目の左側,右側ノードをなす。
【0019】また、フリップフロップFF8 ,FF9
は、フリップフロップFF4 につながる4段目(最下
段)の左側,右側ノードをなし、フリップフロップFF
10,FF11は、フリップフロップFF5 につながる4段
目(最下段)の左側,右側ノードをなす。同様に、フリ
ップフロップFF12,FF13は、フリップフロップFF
6につながる4段目(最下段)の左側,右側ノードをな
し、フリップフロップFF14,FF15は、フリップフロ
ップFF7 につながる4段目(最下段)の左側,右側ノ
ードをなす。
は、フリップフロップFF4 につながる4段目(最下
段)の左側,右側ノードをなし、フリップフロップFF
10,FF11は、フリップフロップFF5 につながる4段
目(最下段)の左側,右側ノードをなす。同様に、フリ
ップフロップFF12,FF13は、フリップフロップFF
6につながる4段目(最下段)の左側,右側ノードをな
し、フリップフロップFF14,FF15は、フリップフロ
ップFF7 につながる4段目(最下段)の左側,右側ノ
ードをなす。
【0020】候補エントリ決定部42は、エントリ使用
状況管理部41内の15個のフリップフロップFF1 〜
FF15の値に応じて上記2分木の最上段から最下段まで
たどる経路を決定し、その経路上の4個のフリップフロ
ップの保持値を順に並べて定まるエントリ番号idのエ
ントリを、書換え対象エントリの候補(候補エントリ)
として決定する。
状況管理部41内の15個のフリップフロップFF1 〜
FF15の値に応じて上記2分木の最上段から最下段まで
たどる経路を決定し、その経路上の4個のフリップフロ
ップの保持値を順に並べて定まるエントリ番号idのエ
ントリを、書換え対象エントリの候補(候補エントリ)
として決定する。
【0021】セレクタ43は、TLBチェック回路2か
らのヒット/ミスヒット信号21に応じて、同チェック
回路2により検出されたヒットエントリのエントリ番号
(ヒットエントリid)または候補エントリ決定部42
により決定された候補エントリのエントリ番号(候補エ
ントリid)のいずれか一方を選択する。
らのヒット/ミスヒット信号21に応じて、同チェック
回路2により検出されたヒットエントリのエントリ番号
(ヒットエントリid)または候補エントリ決定部42
により決定された候補エントリのエントリ番号(候補エ
ントリid)のいずれか一方を選択する。
【0022】選択部44は、TLBチェック回路2によ
りミスヒットが検出された場合には、候補エントリ決定
部42によって決定されている候補エントリidの示す
TLBエントリを書換え対象エントリとして選択し、そ
の候補の決定に用いられた経路上の4個のフリップフロ
ップの保持値を反転する。選択部44はまた、TLBチ
ェック回路2によりヒットが検出された場合には、その
ヒットエントリのエントリ番号(ヒットエントリid)
をキーとして上記の2分木の最上段から最下段までたど
る経路を決定し、その経路上の4つのフリップフロップ
に、ヒットエントリidを構成する各ビットの反転値を
セットする。次に、図1の構成の動作を、図2乃至図4
を参照して説明する。
りミスヒットが検出された場合には、候補エントリ決定
部42によって決定されている候補エントリidの示す
TLBエントリを書換え対象エントリとして選択し、そ
の候補の決定に用いられた経路上の4個のフリップフロ
ップの保持値を反転する。選択部44はまた、TLBチ
ェック回路2によりヒットが検出された場合には、その
ヒットエントリのエントリ番号(ヒットエントリid)
をキーとして上記の2分木の最上段から最下段までたど
る経路を決定し、その経路上の4つのフリップフロップ
に、ヒットエントリidを構成する各ビットの反転値を
セットする。次に、図1の構成の動作を、図2乃至図4
を参照して説明する。
【0023】候補エントリ決定部42は、例えばシステ
ムクロックに同期して、書換え対象エントリの候補(候
補エントリ)のエントリ番号(候補エントリid)を次
のように決定する。
ムクロックに同期して、書換え対象エントリの候補(候
補エントリ)のエントリ番号(候補エントリid)を次
のように決定する。
【0024】候補エントリ決定部42は、エントリ使用
状況管理部41内の24 −1(=15)個のフリップフ
ロップFF1 〜FF15が図2に示すように2分木を構成
するように関連付けされている場合、まず最上段のフリ
ップフロップFF1 の値を参照し、“0”のときは左
側、“1”のときは右側の経路を選ぶ。次に候補エント
リ決定部42は、その先の(2段目の)フリップフロッ
プ(FF2 またはFF3)の値に従って同様に次の経路
を選択する。候補エントリ決定部42は、以下同様の経
路選択動作を最下段のフリップフロップに至るまで順次
実行することにより、2分木の最上段から最下段までた
どる1本の経路を決定する。なお、フリップフロップの
値と選択すべき経路(左側の経路または右側の経路のい
ずれを選択するか)との関係を、上記と逆にしても構わ
ない。
状況管理部41内の24 −1(=15)個のフリップフ
ロップFF1 〜FF15が図2に示すように2分木を構成
するように関連付けされている場合、まず最上段のフリ
ップフロップFF1 の値を参照し、“0”のときは左
側、“1”のときは右側の経路を選ぶ。次に候補エント
リ決定部42は、その先の(2段目の)フリップフロッ
プ(FF2 またはFF3)の値に従って同様に次の経路
を選択する。候補エントリ決定部42は、以下同様の経
路選択動作を最下段のフリップフロップに至るまで順次
実行することにより、2分木の最上段から最下段までた
どる1本の経路を決定する。なお、フリップフロップの
値と選択すべき経路(左側の経路または右側の経路のい
ずれを選択するか)との関係を、上記と逆にしても構わ
ない。
【0025】次に、候補エントリ決定部42は、この経
路上の最上段から最下段に至るn個のフリップフロップ
の値を、順にMSB(最上位ビット)からLSB(最下
位ビット)に並べたときの4ビット値と同じエントリ番
号を、書換え対象エントリ候補(候補エントリ)のエン
トリ番号(候補エントリid)として決定し、セレクタ
43および書換え部3に出力する。
路上の最上段から最下段に至るn個のフリップフロップ
の値を、順にMSB(最上位ビット)からLSB(最下
位ビット)に並べたときの4ビット値と同じエントリ番
号を、書換え対象エントリ候補(候補エントリ)のエン
トリ番号(候補エントリid)として決定し、セレクタ
43および書換え部3に出力する。
【0026】このとき、TLBチェック回路2によりミ
スヒット(TLBミスヒット)が検出されると、目的と
する変換情報を、TLB1からでなく、主記憶(上のア
ドレス変換テーブル)から求める周知の処理が行われ
る。すると書換え部3は、その時点において候補エント
リ決定部42から出力されている候補エントリidの指
定するTLB1内TLBエントリを書換え対象エントリ
として、同エントリの内容を、この主記憶参照により求
められた変換情報に書換える。
スヒット(TLBミスヒット)が検出されると、目的と
する変換情報を、TLB1からでなく、主記憶(上のア
ドレス変換テーブル)から求める周知の処理が行われ
る。すると書換え部3は、その時点において候補エント
リ決定部42から出力されている候補エントリidの指
定するTLB1内TLBエントリを書換え対象エントリ
として、同エントリの内容を、この主記憶参照により求
められた変換情報に書換える。
【0027】また、TLBチェック回路2によるミスヒ
ット検出時には、候補エントリ決定部42から出力され
ている候補エントリidがセレクタ43により選択され
て、選択部44に供給される。選択部44は、TLBチ
ェック回路2によりミスヒットが検出されると、セレク
タ43から選択出力されている候補エントリidを、書
換え部3による書換えが行われる書換え対象エントリの
エントリ番号であるとして選択する、そして選択部44
は、選択したid(エントリ番号)を構成する4ビット
に対応するエントリ使用状況管理部41内の4個のフリ
ップフロップ、即ちこの候補エントリidの決定に用い
られた上記2分木の経路上の4個のフリップフロップの
値を反転する。
ット検出時には、候補エントリ決定部42から出力され
ている候補エントリidがセレクタ43により選択され
て、選択部44に供給される。選択部44は、TLBチ
ェック回路2によりミスヒットが検出されると、セレク
タ43から選択出力されている候補エントリidを、書
換え部3による書換えが行われる書換え対象エントリの
エントリ番号であるとして選択する、そして選択部44
は、選択したid(エントリ番号)を構成する4ビット
に対応するエントリ使用状況管理部41内の4個のフリ
ップフロップ、即ちこの候補エントリidの決定に用い
られた上記2分木の経路上の4個のフリップフロップの
値を反転する。
【0028】さて、2分木を構成するフリップフロップ
FF1 〜FF15は、初期状態では、図3に示すように、
全て“0”に初期化されている。したがって、このとき
2分木を最上段から最下段までたどる経路(初期状態の
経路)は、図3において符号P1で示すように、FF1
→FF2 →FF4 →FF8 の経路であり、この経路P1
上の4個のフリップフロップFF1 ,FF2 ,FF4 ,
F8 の指定するエントリ番号、即ち候補エントリ決定部
42によって決定される候補エントリidは番号0
(“0000”)である。
FF1 〜FF15は、初期状態では、図3に示すように、
全て“0”に初期化されている。したがって、このとき
2分木を最上段から最下段までたどる経路(初期状態の
経路)は、図3において符号P1で示すように、FF1
→FF2 →FF4 →FF8 の経路であり、この経路P1
上の4個のフリップフロップFF1 ,FF2 ,FF4 ,
F8 の指定するエントリ番号、即ち候補エントリ決定部
42によって決定される候補エントリidは番号0
(“0000”)である。
【0029】この番号0の候補エントリidの示すTL
Bエントリが書換え対象エントリとして使用されると、
“0”をたどる図3に示す経路P1上の4個のフリップ
フロップFF1 ,FF2 ,FF4 ,F8 は、図4に示す
ように全て“1”になる。すると、2分木を最上段から
最下段までたどる次の経路(2番目の経路)は、図4に
おいて符号P2で示すように、FF1 (値“1”)→F
F3 (値“0”)→FF6 (値“0”)→FF12(値
“0”)の経路であり、この経路P2上の4個のフリッ
プフロップFF1 ,FF3 ,FF6 ,F12の指定するエ
ントリ番号、即ち候補エントリ決定部42によって決定
される候補エントリidは番号8(“1000”)とな
る。
Bエントリが書換え対象エントリとして使用されると、
“0”をたどる図3に示す経路P1上の4個のフリップ
フロップFF1 ,FF2 ,FF4 ,F8 は、図4に示す
ように全て“1”になる。すると、2分木を最上段から
最下段までたどる次の経路(2番目の経路)は、図4に
おいて符号P2で示すように、FF1 (値“1”)→F
F3 (値“0”)→FF6 (値“0”)→FF12(値
“0”)の経路であり、この経路P2上の4個のフリッ
プフロップFF1 ,FF3 ,FF6 ,F12の指定するエ
ントリ番号、即ち候補エントリ決定部42によって決定
される候補エントリidは番号8(“1000”)とな
る。
【0030】このようにして書換えの対象とするTLB
エントリの選択が進められる。この途中で、既に選択さ
れて書換えられたTLBエントリの中に、参照すべき変
換情報が存在する場合、即ちTLBチェック回路2によ
りヒットが検出されて、その旨を示すヒット/ミスヒッ
ト信号21が出力された場合には、次の動作が行われ
る。
エントリの選択が進められる。この途中で、既に選択さ
れて書換えられたTLBエントリの中に、参照すべき変
換情報が存在する場合、即ちTLBチェック回路2によ
りヒットが検出されて、その旨を示すヒット/ミスヒッ
ト信号21が出力された場合には、次の動作が行われ
る。
【0031】まずTLBチェック回路2により検出され
たヒットエントリ中の所定フィールドに保持されていた
エントリ番号、即ちヒットエントリidが、セレクタ4
3によって選択されて選択部44に供給される。
たヒットエントリ中の所定フィールドに保持されていた
エントリ番号、即ちヒットエントリidが、セレクタ4
3によって選択されて選択部44に供給される。
【0032】選択部44は、TLBチェック回路2によ
りヒットが検出された場合には、セレクタ43から選択
出力されるヒットエントリidをキーとして、エントリ
使用状況管理部41内のフリップフロップFF1 〜FF
15で構成される2分木上の経路を決定する。即ち選択部
44は、2分木の最上段のフリップフロップFF1 はヒ
ットエントリidのMSBの値と同じにセットされてい
るとして、そのMSB値が“0”なら左の経路を、
“1”なら右の経路を選択する。次に選択部44は、そ
の経路をたどった先のフリップフロップはヒットエント
リidの2番目のビットの値と同じにセットされている
ものとして、更に次の経路を選択する。選択部44は、
以下同様の処理を繰り返し、最下段まで経路が決まった
なら、最上段から最下段までの経路上の全ての(4つ
の)フリップフロップを、最上段はヒットエントリid
のMSBの値を反転した値に、第2段は2番目のビット
の値を反転した値にというように、それぞれヒットエン
トリidの対応するビットの反転値にセットし直す。
りヒットが検出された場合には、セレクタ43から選択
出力されるヒットエントリidをキーとして、エントリ
使用状況管理部41内のフリップフロップFF1 〜FF
15で構成される2分木上の経路を決定する。即ち選択部
44は、2分木の最上段のフリップフロップFF1 はヒ
ットエントリidのMSBの値と同じにセットされてい
るとして、そのMSB値が“0”なら左の経路を、
“1”なら右の経路を選択する。次に選択部44は、そ
の経路をたどった先のフリップフロップはヒットエント
リidの2番目のビットの値と同じにセットされている
ものとして、更に次の経路を選択する。選択部44は、
以下同様の処理を繰り返し、最下段まで経路が決まった
なら、最上段から最下段までの経路上の全ての(4つ
の)フリップフロップを、最上段はヒットエントリid
のMSBの値を反転した値に、第2段は2番目のビット
の値を反転した値にというように、それぞれヒットエン
トリidの対応するビットの反転値にセットし直す。
【0033】これにより、例えば、フリップフロップF
F1 〜FF15が図4に示すような状態において、TLB
チェック回路2によりid(エントリ番号)が“100
0”のTLBエントリにヒットしたことが検出されたな
らば、そのid値からFF1→FF3 →FF6 →FF12
の経路P2が決定され、その経路P2上のフリップフロ
ップFF1 ,FF3 ,FF6 ,FF12が、それぞれ
“0”,“1”,“1”,“1”にセットし直される。
F1 〜FF15が図4に示すような状態において、TLB
チェック回路2によりid(エントリ番号)が“100
0”のTLBエントリにヒットしたことが検出されたな
らば、そのid値からFF1→FF3 →FF6 →FF12
の経路P2が決定され、その経路P2上のフリップフロ
ップFF1 ,FF3 ,FF6 ,FF12が、それぞれ
“0”,“1”,“1”,“1”にセットし直される。
【0034】以上は、TLBエントリの数が24 (=1
6)個である場合について説明したが、2n 個のTLB
エントリから書換え対象エントリを選択する場合にも同
様に適用できる。但し、この場合には、2分木を構成す
るように関連付けされるフリップフロップは2n −1個
必要となり、その段数はn段となる。
6)個である場合について説明したが、2n 個のTLB
エントリから書換え対象エントリを選択する場合にも同
様に適用できる。但し、この場合には、2分木を構成す
るように関連付けされるフリップフロップは2n −1個
必要となり、その段数はn段となる。
【0035】なお、前記実施例では、本発明を仮想記憶
管理機構に適用して、TLB内のエントリ群の中から書
換えの対象となるエントリを選択する場合について説明
したが、本発明は、キャッシュ機構に適用して、キャッ
シュエントリ(キャッシュタグエントリ)群の中から書
換えの対象となるエントリを選択する場合にも同様に実
施可能である。
管理機構に適用して、TLB内のエントリ群の中から書
換えの対象となるエントリを選択する場合について説明
したが、本発明は、キャッシュ機構に適用して、キャッ
シュエントリ(キャッシュタグエントリ)群の中から書
換えの対象となるエントリを選択する場合にも同様に実
施可能である。
【0036】
【発明の効果】以上詳述したようにこの発明によれば、
2n 個のエントリの中から書換え対象エントリを指定す
るために、2分木を構成するように関連付けされた2n
−1個の状態保持手段を用い、この2n −1個の状態保
持手段の値に応じて2分木の最上段から最下段までたど
る経路を決定し、その経路上のn個の状態保持手段の保
持値を順に並べて定まるエントリ番号のエントリを書換
え対象エントリとして選択すると共に、上記n個の状態
保持手段の保持値を反転する構成とすることにより、少
なくともn回の書換え(書換え対象エントリの選択)が
行われるまでは、同じエントリが選択されないで済み、
少量のハードウェア量でありながら、ヒット率を低下さ
せることなく効率よく書換え対象エントリを選択するこ
とができる。
2n 個のエントリの中から書換え対象エントリを指定す
るために、2分木を構成するように関連付けされた2n
−1個の状態保持手段を用い、この2n −1個の状態保
持手段の値に応じて2分木の最上段から最下段までたど
る経路を決定し、その経路上のn個の状態保持手段の保
持値を順に並べて定まるエントリ番号のエントリを書換
え対象エントリとして選択すると共に、上記n個の状態
保持手段の保持値を反転する構成とすることにより、少
なくともn回の書換え(書換え対象エントリの選択)が
行われるまでは、同じエントリが選択されないで済み、
少量のハードウェア量でありながら、ヒット率を低下さ
せることなく効率よく書換え対象エントリを選択するこ
とができる。
【0037】また、この発明によれば、2n 個のエント
リの中の1つが参照された場合に、その参照エントリの
エントリ番号をキーとして上記2分木の最上段から最下
段までたどる経路を決定し、その経路上の各状態保持手
段に、同エントリ番号を構成する各ビットの反転値をセ
ットする構成とすることにより、一度参照されたエント
リは、少なくともn回の書換え(書換え対象エントリの
選択)が行われるまでは再び選択される(書換えられ
る)ことがなく、少量のハードウェア量でありながら、
ヒット率を大きく保つことができる。
リの中の1つが参照された場合に、その参照エントリの
エントリ番号をキーとして上記2分木の最上段から最下
段までたどる経路を決定し、その経路上の各状態保持手
段に、同エントリ番号を構成する各ビットの反転値をセ
ットする構成とすることにより、一度参照されたエント
リは、少なくともn回の書換え(書換え対象エントリの
選択)が行われるまでは再び選択される(書換えられ
る)ことがなく、少量のハードウェア量でありながら、
ヒット率を大きく保つことができる。
【図1】本発明の一実施例に係る書換え対象エントリ選
択装置を備えた仮想記憶管理機構の構成を示すブロック
図。
択装置を備えた仮想記憶管理機構の構成を示すブロック
図。
【図2】図1中のフリップフロップFF1 〜FF15によ
り構成される2分木と、その2分木に従う経路選択を説
明するための図。
り構成される2分木と、その2分木に従う経路選択を説
明するための図。
【図3】図2に示す構造の2分木に従う経路選択による
書換え対象エントリ候補の決定を説明するための図。
書換え対象エントリ候補の決定を説明するための図。
【図4】図2に示す構造の2分木に従う経路選択による
書換え対象エントリ候補の決定を説明するための図。
書換え対象エントリ候補の決定を説明するための図。
【符号の説明】 1…TLB、2…TLBチェック回路、3…書換え部、
4…書換え対象エントリ選択装置、42…候補エントリ
決定部、43…セレクタ、44…選択部、FF1 〜FF
15…フリップフロップ(状態保持手段)。
4…書換え対象エントリ選択装置、42…候補エントリ
決定部、43…セレクタ、44…選択部、FF1 〜FF
15…フリップフロップ(状態保持手段)。
Claims (4)
- 【請求項1】 主記憶上の情報の写しを含む情報を登録
するための、nビットのエントリ番号が割当てられた2
n 個のエントリの中から、書換え対象エントリを選択す
る書換え対象エントリ選択方法において、 2分木を構成するように関連付けされた2n −1個の状
態保持手段を用い、この2n −1個の状態保持手段の値
に応じて前記2分木の最上段から最下段までたどる経路
を決定し、その経路上のn個の前記状態保持手段の保持
値を順に並べて定まるエントリ番号のエントリを、前記
2n 個のエントリの中から書換え対象エントリとして選
択すると共に、前記n個の状態保持手段の保持値を反転
することを特徴とする書換え対象エントリ選択方法。 - 【請求項2】 前記2n 個のエントリの中の1つが参照
された場合には、その参照エントリのエントリ番号をキ
ーとして前記2分木の最上段から最下段までたどる経路
を決定し、その経路上の前記各状態保持手段に、同エン
トリ番号を構成する各ビットの反転値をセットすること
を特徴とする請求項1記載の書換え対象エントリ選択方
法。 - 【請求項3】 主記憶上の情報の写しを含む情報を登録
するための、nビットのエントリ番号が割当てられた2
n 個のエントリの中から、書換え対象エントリを選択す
る書換え対象エントリ選択装置において、 2分木を構成するように関連付けされた2n −1個の状
態保持手段と、 この2n −1個の状態保持手段の値に応じて前記2分木
の最上段から最下段までたどる経路を決定し、その経路
上のn個の前記状態保持手段の保持値を順に並べて定ま
るエントリ番号のエントリを、書換え対象エントリ候補
とする候補決定手段と、 前記2n 個のエントリの中から書換え対象エントリを選
択すべき場合には、前記候補決定手段によって決定され
ている候補を書換え対象エントリとして選択し、その候
補の決定に用いられた前記経路上の前記n個の状態保持
手段の保持値を反転する選択手段と、 を具備することを特徴とする書換え対象エントリ選択装
置。 - 【請求項4】 前記選択手段は、前記2n 個のエントリ
の中の1つが参照された場合には、その参照エントリの
エントリ番号をキーとして前記2分木の最上段から最下
段までたどる経路を決定し、その経路上の前記各状態保
持手段に、同エントリ番号を構成する各ビットの反転値
をセットすることを特徴とする請求項3記載の書換え対
象エントリ選択装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4274185A JPH06124238A (ja) | 1992-10-13 | 1992-10-13 | 書換え対象エントリ選択方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4274185A JPH06124238A (ja) | 1992-10-13 | 1992-10-13 | 書換え対象エントリ選択方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06124238A true JPH06124238A (ja) | 1994-05-06 |
Family
ID=17538226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4274185A Pending JPH06124238A (ja) | 1992-10-13 | 1992-10-13 | 書換え対象エントリ選択方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06124238A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007293839A (ja) * | 2006-04-25 | 2007-11-08 | Internatl Business Mach Corp <Ibm> | ロックされたキャッシュ内のセットの置換を管理するための方法、コンピュータ・プログラム、キャッシング・システムおよびプロセッサ |
-
1992
- 1992-10-13 JP JP4274185A patent/JPH06124238A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007293839A (ja) * | 2006-04-25 | 2007-11-08 | Internatl Business Mach Corp <Ibm> | ロックされたキャッシュ内のセットの置換を管理するための方法、コンピュータ・プログラム、キャッシング・システムおよびプロセッサ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6353873B1 (en) | Apparatus and method to determine a longest prefix match in a content addressable memory | |
US5359720A (en) | Taken storage apparatus using a hash memory and a cam | |
US5664184A (en) | Method and apparatus for implementing Q-trees | |
US5241638A (en) | Dual cache memory | |
JPH02228745A (ja) | 入出力キヤツシユ | |
US4059850A (en) | Memory system word group priority device with least-recently used criterion | |
TW200401206A (en) | Enhanced multiway radix tree and related methods | |
JPS6356754A (ja) | 入出力チヤネル | |
JPH06124238A (ja) | 書換え対象エントリ選択方法および装置 | |
JP2000020396A (ja) | 可変式キャッシュ方式 | |
JP4343377B2 (ja) | 連想メモリ | |
US6513053B1 (en) | Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits | |
KR960015231A (ko) | 향상된 어드레스 지정 방법 및 시스템 | |
JPS62179083A (ja) | 文字列照合方法 | |
GB2037466A (en) | Computer with cache memory | |
CA1328026C (en) | Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit | |
US6754764B1 (en) | Method and apparatus for maintaining order in a pipelined process and its application | |
JPH02226448A (ja) | 入出力キヤツシユ | |
JP3847836B2 (ja) | 文字列検索方法とその装置 | |
JP2797961B2 (ja) | 検索システム | |
JPH04266140A (ja) | アドレス変換バッファ装置 | |
AU640335B1 (ja) | ||
JP2001051856A (ja) | 共有メモリ及び共有メモリ管理装置 | |
JPH0480824A (ja) | データ処理装置 | |
JP2002124088A (ja) | 連想メモリ装置およびそのメモリデータ移動方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |