JPH0546479A - アドレス変換装置 - Google Patents
アドレス変換装置Info
- Publication number
- JPH0546479A JPH0546479A JP3204253A JP20425391A JPH0546479A JP H0546479 A JPH0546479 A JP H0546479A JP 3204253 A JP3204253 A JP 3204253A JP 20425391 A JP20425391 A JP 20425391A JP H0546479 A JPH0546479 A JP H0546479A
- Authority
- JP
- Japan
- Prior art keywords
- address
- virtual
- level
- memory
- 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.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】TLBの検索処理とLRUコードメモリの更新
処理を並行して実行できるようにし、アドレス変換の高
速化を図る。 【構成】LRUコードメモリ114に供給されるTLB
セレクトアドレスaは、レジスタ122で遅延され、そ
のTLBセレクトアドレスaを用いたディレクトリメモ
リ112,113の検索処理の実行後に、LRUコード
メモリ114に供給される。このため、ディレクトリメ
モリ112,113とLRUコードメモリ114に対す
るアドレスの供給タイミングが1サイクルずらされ、検
索結果に基づくLRUコードメモリ114の更新処理
を、次の仮想アドレスに対するディレクトリメモリ11
2,113の検索動処理とオーバーラップされて実行す
ることが可能となる。
処理を並行して実行できるようにし、アドレス変換の高
速化を図る。 【構成】LRUコードメモリ114に供給されるTLB
セレクトアドレスaは、レジスタ122で遅延され、そ
のTLBセレクトアドレスaを用いたディレクトリメモ
リ112,113の検索処理の実行後に、LRUコード
メモリ114に供給される。このため、ディレクトリメ
モリ112,113とLRUコードメモリ114に対す
るアドレスの供給タイミングが1サイクルずらされ、検
索結果に基づくLRUコードメモリ114の更新処理
を、次の仮想アドレスに対するディレクトリメモリ11
2,113の検索動処理とオーバーラップされて実行す
ることが可能となる。
Description
【0001】
【産業上の利用分野】この発明は高速アドレス変換バッ
ファ(TLB)を用いて仮想ページアドレスとオフセッ
トアドレスから成る仮想アドレスを実アドレスに変換す
るアドレス変換装置に関する。
ファ(TLB)を用いて仮想ページアドレスとオフセッ
トアドレスから成る仮想アドレスを実アドレスに変換す
るアドレス変換装置に関する。
【0002】
【従来の技術】一般に、2レベルセットアソシアティブ
方式の高速アドレス変換バッファ(TLB)を用いたア
ドレス変換装置は、図5のように構成されている。
方式の高速アドレス変換バッファ(TLB)を用いたア
ドレス変換装置は、図5のように構成されている。
【0003】すなわち、図5に示されているように、こ
のアドレス変換装置は、仮想アドレスレジスタ11、レ
ベル“1”のディレクトリメモリ12,レベル“0”の
ディレクトリメモリ13、LRUコードメモリ14、比
較器15,16、コントローラ17、レベル“1”のデ
ータメモリ18,レベル“0”のデータメモリ19、セ
レクタ20、マージ回路21によって構成されている。
のアドレス変換装置は、仮想アドレスレジスタ11、レ
ベル“1”のディレクトリメモリ12,レベル“0”の
ディレクトリメモリ13、LRUコードメモリ14、比
較器15,16、コントローラ17、レベル“1”のデ
ータメモリ18,レベル“0”のデータメモリ19、セ
レクタ20、マージ回路21によって構成されている。
【0004】ここで、レベル“1”および“0”のディ
レクトリメモリ12,13、およびレベル“1”および
“0”のデータメモリ18,19は、2レベルセットア
ソシアティブ方式の高速アドレス変換バッファ(TL
B)を構成するものである。
レクトリメモリ12,13、およびレベル“1”および
“0”のデータメモリ18,19は、2レベルセットア
ソシアティブ方式の高速アドレス変換バッファ(TL
B)を構成するものである。
【0005】このアドレス変換装置では、図6のタイミ
ングチャートに示されているように、1実行サイクルの
期間内にTLBの検索とLRUコードメモリ14の更新
がシリアルに行われる。
ングチャートに示されているように、1実行サイクルの
期間内にTLBの検索とLRUコードメモリ14の更新
がシリアルに行われる。
【0006】すなわち、まず、仮想アドレスレジスタ1
1には、アドレス変換すべき仮想ページアドレスとペー
ジ内オフセットアドレスから成る仮想アドレスが外部よ
り設定され、アドレス変換が完了するまで保持される。
レジスタ11に設定された仮想ページアドレスの下位ビ
ット部のTLBセレクトアドレス(VPG)aは、メモ
リ12,13,14,18,19に共通に供給される。
1には、アドレス変換すべき仮想ページアドレスとペー
ジ内オフセットアドレスから成る仮想アドレスが外部よ
り設定され、アドレス変換が完了するまで保持される。
レジスタ11に設定された仮想ページアドレスの下位ビ
ット部のTLBセレクトアドレス(VPG)aは、メモ
リ12,13,14,18,19に共通に供給される。
【0007】デレクトリメモリ12,13からは、その
メモリアクセスのための遅延時間経過後、TLBセレク
トアドレス(VPG)aによって指定されたエントリ内
のディレクトリ情報c,dが読み出される。このディレ
クトリ情報c,dは、それぞれデータメモリ18,19
の対応するエントリに登録されている実ページアドレス
に対応した仮想アドレスタグ(VSN)を示しており、
比較回路15,16に供給されて、そこで、レジスタ1
1に設定された仮想ページアドレスの上位ビット部の仮
想アドレスタグ(VSN)bと比較される。比較器15
または16で一致が検出された場合には、信号eまたは
fがオンとなる。信号e,fはコントローラ17に供給
される。
メモリアクセスのための遅延時間経過後、TLBセレク
トアドレス(VPG)aによって指定されたエントリ内
のディレクトリ情報c,dが読み出される。このディレ
クトリ情報c,dは、それぞれデータメモリ18,19
の対応するエントリに登録されている実ページアドレス
に対応した仮想アドレスタグ(VSN)を示しており、
比較回路15,16に供給されて、そこで、レジスタ1
1に設定された仮想ページアドレスの上位ビット部の仮
想アドレスタグ(VSN)bと比較される。比較器15
または16で一致が検出された場合には、信号eまたは
fがオンとなる。信号e,fはコントローラ17に供給
される。
【0008】また、データメモリ18,19からは、そ
のメモリアクセスのための遅延時間経過後、TLBセレ
クトアドレス(VPG)aによって指定されたエントリ
内の実ページアドレスi,jが読み出される。これら実
ページアドレスi,jは、セレクタ20に供給される。
のメモリアクセスのための遅延時間経過後、TLBセレ
クトアドレス(VPG)aによって指定されたエントリ
内の実ページアドレスi,jが読み出される。これら実
ページアドレスi,jは、セレクタ20に供給される。
【0009】比較器15,16からの出力eまたはfの
一方がオンの場合、コントローラ17は、セレクタ20
を制御して、オンの出力に対応するレベルのデータメモ
リの内容を選択する。セレクタ20の選択出力kは、マ
ージ回路21に送られ、そこで、仮想アドレスレジスタ
11のページ内オフセットアドレスnと加算されて、実
アドレスが生成される。
一方がオンの場合、コントローラ17は、セレクタ20
を制御して、オンの出力に対応するレベルのデータメモ
リの内容を選択する。セレクタ20の選択出力kは、マ
ージ回路21に送られ、そこで、仮想アドレスレジスタ
11のページ内オフセットアドレスnと加算されて、実
アドレスが生成される。
【0010】また、コントローラ17は、比較器15,
16からの出力eとfのどちらがオンであるかによっ
て、LRUコードメモリ14の内容を更新するための異
なるLRUコードを発生する。このLRUコードは、レ
ベル“1”のTLB(ディレクトリメモリ12,データ
メモリ18)とレベル“0”のTLB(ディレクトリメ
モリ13,データメモリ19)のどちらを更新対象とす
るかを示すものであり、例えば、出力eがオンで出力f
がオフの場合には、LRUコードの値は、レベル“0”
のTLBを更新対象候補として指定するために“0”と
なる。一方、出力eがオフで出力fがオンの場合には、
LRUコードの値は、レベル“1”のTLBを更新対象
候補として指定するために“1”となる。
16からの出力eとfのどちらがオンであるかによっ
て、LRUコードメモリ14の内容を更新するための異
なるLRUコードを発生する。このLRUコードは、レ
ベル“1”のTLB(ディレクトリメモリ12,データ
メモリ18)とレベル“0”のTLB(ディレクトリメ
モリ13,データメモリ19)のどちらを更新対象とす
るかを示すものであり、例えば、出力eがオンで出力f
がオフの場合には、LRUコードの値は、レベル“0”
のTLBを更新対象候補として指定するために“0”と
なる。一方、出力eがオフで出力fがオンの場合には、
LRUコードの値は、レベル“1”のTLBを更新対象
候補として指定するために“1”となる。
【0011】この後、コントローラ17は、LRUコー
ドメモリ14を制御して、発生したLRUコードをTL
Bセレクトアドレス(VPG)aによって指定されたエ
ントリに書き込み、これによってLRUコードメモリ1
4の内容を更新する。以上で1つのアドレス変換動作が
終了し、仮想アドレスレジスタ11には次の仮想アドレ
スが設定される。
ドメモリ14を制御して、発生したLRUコードをTL
Bセレクトアドレス(VPG)aによって指定されたエ
ントリに書き込み、これによってLRUコードメモリ1
4の内容を更新する。以上で1つのアドレス変換動作が
終了し、仮想アドレスレジスタ11には次の仮想アドレ
スが設定される。
【0012】なお、e,f共にオフ、または共にオンで
あった場合には、TLBを用いずに図示しない演算装置
による所定の演算によってアドレス変換を行い、その変
換結果によりTLBの内容を置き換えることになる。こ
の場合、レベル“0”とレベル“1”のどちらのTLB
を置き換え対象とするかは、LRUコードメモリ14に
登録されたLRUコードによって決定される。
あった場合には、TLBを用いずに図示しない演算装置
による所定の演算によってアドレス変換を行い、その変
換結果によりTLBの内容を置き換えることになる。こ
の場合、レベル“0”とレベル“1”のどちらのTLB
を置き換え対象とするかは、LRUコードメモリ14に
登録されたLRUコードによって決定される。
【0013】このように、従来のアドレス変換装置で
は、1つのアドレス変換サイクルで、TLBの検索処理
とその検索結果に基づくLRUコードメモリ14の更新
処理がシリアルに実行されるので、TLBのアクセス時
間の他にLRUコードメモリ14のアクセス時間が必要
となる。このLRUコードメモリ14を更新するために
要する時間は、アドレス変換動作の高速化を制限する大
きな要因となっている。
は、1つのアドレス変換サイクルで、TLBの検索処理
とその検索結果に基づくLRUコードメモリ14の更新
処理がシリアルに実行されるので、TLBのアクセス時
間の他にLRUコードメモリ14のアクセス時間が必要
となる。このLRUコードメモリ14を更新するために
要する時間は、アドレス変換動作の高速化を制限する大
きな要因となっている。
【0014】
【発明が解決しようとする課題】従来では、1つのアド
レス変換サイクルで、TLBの検索処理とその検索結果
に基づくLRUコードメモリの更新処理がシリアルに実
行されるので、アドレス変換動作に時間がかかる欠点が
あった。
レス変換サイクルで、TLBの検索処理とその検索結果
に基づくLRUコードメモリの更新処理がシリアルに実
行されるので、アドレス変換動作に時間がかかる欠点が
あった。
【0015】この発明はこのような点に鑑みてなされた
もので、2レベルセットアソシアティブ方式の高速アド
レス変換バッファを用いたアドレス変換装置において、
TLBの検索処理とLRUコードメモリの更新処理を並
行して実行できるようにし、アドレス変換を高速に実行
できるアドレス変換装置を提供することを目的とする。
もので、2レベルセットアソシアティブ方式の高速アド
レス変換バッファを用いたアドレス変換装置において、
TLBの検索処理とLRUコードメモリの更新処理を並
行して実行できるようにし、アドレス変換を高速に実行
できるアドレス変換装置を提供することを目的とする。
【0016】
【課題を解決するための手段および作用】この発明は、
仮想ページアドレスとオフセットアドレスから成る仮想
アドレスを実アドレスに変換するアドレス変換装置にお
いて、前記仮想ページアドレスの所定ビットによって指
定される複数のエントリを有し、各エントリに、仮想ペ
ージアドレスと実ページアドレスとの対応を示す変換情
報が第1レベルと第2レベルの2組ずつ登録される2レ
ベルセットアソシアティブ方式のアドレス変換バッファ
と、前記仮想ページアドレスの前記所定ビットによって
指定される複数のエントリを有し、各エントリに、前記
アドレス変換バッファの対応するエントリに登録されて
いる前記第1レベルと第2レベルの2つの変換情報のう
ちでいずれか一方の変換情報を置き換え対象の変換情報
として指定する情報が登録される置き換え用メモリと、
前記仮想ページアドレスの前記所定ビットによってアド
レス変換バッファを検索し、その仮想ページアドレスに
対応する実ページアドレスの登録の有無を検出する検索
手段と、この検索手段による検出結果に基づいて前記置
き換え用メモリの情報を更新するための更新データを生
成する手段と、前記検索手段による前記アドレス変換バ
ッファの検索動作実行後に前記仮想ページアドレスの前
記所定ビットが前記置き換え用メモリに供給されるよう
に、前記仮想ページアドレスの前記所定ビットを所定期
間遅延して出力する手段とを具備し、前記更新データに
よる前記置き換え用メモリの更新動作を、次の仮想アド
レスに対する前記アドレス変換バッファの検索動作にオ
ーバーラップさせて実行することを特徴とする。
仮想ページアドレスとオフセットアドレスから成る仮想
アドレスを実アドレスに変換するアドレス変換装置にお
いて、前記仮想ページアドレスの所定ビットによって指
定される複数のエントリを有し、各エントリに、仮想ペ
ージアドレスと実ページアドレスとの対応を示す変換情
報が第1レベルと第2レベルの2組ずつ登録される2レ
ベルセットアソシアティブ方式のアドレス変換バッファ
と、前記仮想ページアドレスの前記所定ビットによって
指定される複数のエントリを有し、各エントリに、前記
アドレス変換バッファの対応するエントリに登録されて
いる前記第1レベルと第2レベルの2つの変換情報のう
ちでいずれか一方の変換情報を置き換え対象の変換情報
として指定する情報が登録される置き換え用メモリと、
前記仮想ページアドレスの前記所定ビットによってアド
レス変換バッファを検索し、その仮想ページアドレスに
対応する実ページアドレスの登録の有無を検出する検索
手段と、この検索手段による検出結果に基づいて前記置
き換え用メモリの情報を更新するための更新データを生
成する手段と、前記検索手段による前記アドレス変換バ
ッファの検索動作実行後に前記仮想ページアドレスの前
記所定ビットが前記置き換え用メモリに供給されるよう
に、前記仮想ページアドレスの前記所定ビットを所定期
間遅延して出力する手段とを具備し、前記更新データに
よる前記置き換え用メモリの更新動作を、次の仮想アド
レスに対する前記アドレス変換バッファの検索動作にオ
ーバーラップさせて実行することを特徴とする。
【0017】このアドレス変換装置においては、置き換
え用メモリに供給される仮想ページアドレスの所定ビッ
トが遅延され、その仮想ページアドレスの所定ビットに
よるアドレス変換テーブルの検索処理の実行後に、その
置き換え用メモリに供給される。このため、アドレス変
換バッファと置き換え用メモリに対するアドレスの供給
タイミングが1サイクルずらされ、検索結果に基づく置
き換え用メモリの更新処理を、次の仮想アドレスに対す
るアドレス変換バッファの検索動処理とオーバーラップ
されて実行することが可能となる。したがって、1つの
アドレス変換サイクルにおいて、アドレス変換バッファ
の検索処理と置き換え用メモリの更新処理を並行して実
行できるようになり、アドレス変換を高速に実行するこ
とが可能となる。
え用メモリに供給される仮想ページアドレスの所定ビッ
トが遅延され、その仮想ページアドレスの所定ビットに
よるアドレス変換テーブルの検索処理の実行後に、その
置き換え用メモリに供給される。このため、アドレス変
換バッファと置き換え用メモリに対するアドレスの供給
タイミングが1サイクルずらされ、検索結果に基づく置
き換え用メモリの更新処理を、次の仮想アドレスに対す
るアドレス変換バッファの検索動処理とオーバーラップ
されて実行することが可能となる。したがって、1つの
アドレス変換サイクルにおいて、アドレス変換バッファ
の検索処理と置き換え用メモリの更新処理を並行して実
行できるようになり、アドレス変換を高速に実行するこ
とが可能となる。
【0018】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
明する。
【0019】図1にはこの発明の一実施例に係わるアド
レス変換装置の構成が示されている。このアドレス変換
装置は、図5に示した従来の装置と同様に、2レベルセ
ットアソシアティブ方式の高速アドレス変換バッファ
(TLB)を用いたアドレス変換を実行するものであ
り、仮想アドレスレジスタ111、レベル“1”のディ
レクトリメモリ112,レベル“0”のディレクトリメ
モリ113、LRUコードメモリ114、比較器11
5,116、コントローラ117、レベル“1”のデー
タメモリ118,レベル“0”のデータメモリ119、
セレクタ120、マージ回路121、および遅延用レジ
スタ122を備えている。
レス変換装置の構成が示されている。このアドレス変換
装置は、図5に示した従来の装置と同様に、2レベルセ
ットアソシアティブ方式の高速アドレス変換バッファ
(TLB)を用いたアドレス変換を実行するものであ
り、仮想アドレスレジスタ111、レベル“1”のディ
レクトリメモリ112,レベル“0”のディレクトリメ
モリ113、LRUコードメモリ114、比較器11
5,116、コントローラ117、レベル“1”のデー
タメモリ118,レベル“0”のデータメモリ119、
セレクタ120、マージ回路121、および遅延用レジ
スタ122を備えている。
【0020】仮想アドレスレジスタ111には、仮想ペ
ージアドレスとページ内オフセットアドレス(RAD)
nとからなる仮想アドレスが設定される。仮想ページア
ドレスは、仮想アドレスタグ(VSN)bとTLBセレ
クトアドレス(VPG)aから構成される。
ージアドレスとページ内オフセットアドレス(RAD)
nとからなる仮想アドレスが設定される。仮想ページア
ドレスは、仮想アドレスタグ(VSN)bとTLBセレ
クトアドレス(VPG)aから構成される。
【0021】レベル“1”および“0”のディレクトリ
メモリ112,113、およびレベル“1”および
“0”のデータメモリ118,119は、2レベルセッ
トアソシアティブ方式の高速アドレス変換バッファ(T
LB)を構成するものである。この高速アドレス変換バ
ッファ(TLB)は、主記憶上に定義されたアドレス変
換テーブルの一部の写しが登録され、主記憶よりも高速
にアクセスできるバッファ記憶である。
メモリ112,113、およびレベル“1”および
“0”のデータメモリ118,119は、2レベルセッ
トアソシアティブ方式の高速アドレス変換バッファ(T
LB)を構成するものである。この高速アドレス変換バ
ッファ(TLB)は、主記憶上に定義されたアドレス変
換テーブルの一部の写しが登録され、主記憶よりも高速
にアクセスできるバッファ記憶である。
【0022】レベル“1”および“0”のディレクトリ
メモリ112,113は、TLBセレクトアドレス(V
PG)aによってアドレス指定される複数のエントリを
有しており、各エントリには、TLBディレクトリ情報
c,dが登録されている。ディレクトリ情報c,dは、
それぞれデータメモリ118,119の対応するエント
リに登録されている実ページアドレスに対応した仮想ア
ドレスタグ(VSN)を示している。
メモリ112,113は、TLBセレクトアドレス(V
PG)aによってアドレス指定される複数のエントリを
有しており、各エントリには、TLBディレクトリ情報
c,dが登録されている。ディレクトリ情報c,dは、
それぞれデータメモリ118,119の対応するエント
リに登録されている実ページアドレスに対応した仮想ア
ドレスタグ(VSN)を示している。
【0023】LRUコードメモリ114は、レベル
“1”と“0”の2つのTLBのうちのどちらを置き換
え対象とするかをエントリ毎に指定するLRUコードを
保持するためのものであり、ディレクトリメモリ11
2,113の各々と同数のエントリを有している。LR
Uコードメモリ114のエントリは、レジスタ122で
保持されるTLBセレクトアドレス(VPG)a´によ
って指定される。
“1”と“0”の2つのTLBのうちのどちらを置き換
え対象とするかをエントリ毎に指定するLRUコードを
保持するためのものであり、ディレクトリメモリ11
2,113の各々と同数のエントリを有している。LR
Uコードメモリ114のエントリは、レジスタ122で
保持されるTLBセレクトアドレス(VPG)a´によ
って指定される。
【0024】LRUコードの値は、レベル“1”のTL
B(ディレクトリメモリ112,データメモリ118)
を置き換え対象とする場合は“1”に設定され、レベル
“0”のTLB(ディレクトリメモリ113,データメ
モリ119)を置き換え対象とする場合は“0”に設定
される。
B(ディレクトリメモリ112,データメモリ118)
を置き換え対象とする場合は“1”に設定され、レベル
“0”のTLB(ディレクトリメモリ113,データメ
モリ119)を置き換え対象とする場合は“0”に設定
される。
【0025】図2には、LRUコードメモリ114の内
容の一例が示されている。図2においては、エントリ0
についてはレベル“1”のTLBが置き換え対象であ
り、エントリ1についてはレベル“0”のTLBが置き
換え対象であり、エントリ2についてはレベル“0”の
TLBが置き換え対象であり、エントリ3についてはレ
ベル“1”のTLBが置き換え対象であり、エントリn
についてはレベル“1”のTLBが置き換え対象である
場合が示されている。
容の一例が示されている。図2においては、エントリ0
についてはレベル“1”のTLBが置き換え対象であ
り、エントリ1についてはレベル“0”のTLBが置き
換え対象であり、エントリ2についてはレベル“0”の
TLBが置き換え対象であり、エントリ3についてはレ
ベル“1”のTLBが置き換え対象であり、エントリn
についてはレベル“1”のTLBが置き換え対象である
場合が示されている。
【0026】比較器115は、仮想アドレスレジスタ1
11に設定されいる仮想アドレスタグ(VSN)bとデ
ィレクトリメモリ112から読み出されたディレクトリ
情報cとを比較し、一致した際にオン状態の出力eを発
生する。同様に、比較器116は、仮想アドレスレジス
タ111に設定されいる仮想アドレスタグ(VSN)b
とディレクトリメモリ113から読み出されたディレク
トリ情報dとを比較し、一致した際にオン状態の出力f
を発生する。
11に設定されいる仮想アドレスタグ(VSN)bとデ
ィレクトリメモリ112から読み出されたディレクトリ
情報cとを比較し、一致した際にオン状態の出力eを発
生する。同様に、比較器116は、仮想アドレスレジス
タ111に設定されいる仮想アドレスタグ(VSN)b
とディレクトリメモリ113から読み出されたディレク
トリ情報dとを比較し、一致した際にオン状態の出力f
を発生する。
【0027】コントローラ117は、このアドレス変換
装置全体の制御を行うものであり、比較器115,11
6からの出力e,fに基づいてTLBのヒット/ミスヒ
ットを示す信号pを生成する。この信号pは、プロセッ
サ内の演算装置等に通知され、TLBミスヒットの際に
は、TLBのページ置き換え、およびアドレス変換のた
めの演算がその演算装置で実行される。TLBのページ
置き換えでは、所定エントリにおけるLRUコードで指
定される側のレベルの情報が廃棄され、そこに、アドレ
ス変換テーブル内の該当するページの仮想ページアドレ
スと実ページアドレスとの対応情報が新たに登録され
る。
装置全体の制御を行うものであり、比較器115,11
6からの出力e,fに基づいてTLBのヒット/ミスヒ
ットを示す信号pを生成する。この信号pは、プロセッ
サ内の演算装置等に通知され、TLBミスヒットの際に
は、TLBのページ置き換え、およびアドレス変換のた
めの演算がその演算装置で実行される。TLBのページ
置き換えでは、所定エントリにおけるLRUコードで指
定される側のレベルの情報が廃棄され、そこに、アドレ
ス変換テーブル内の該当するページの仮想ページアドレ
スと実ページアドレスとの対応情報が新たに登録され
る。
【0028】また、コントローラ117は、データメモ
リ118,119、ディレクトリメモリ112,11
3、LRUコードメモリ114のリード/ライト等の制
御をするための制御信号q,r,s,t,uを発生す
る。さらに、コントローラ117は、比較器115,1
16からの出力e,fに基づいてLRUコードhを生成
する。
リ118,119、ディレクトリメモリ112,11
3、LRUコードメモリ114のリード/ライト等の制
御をするための制御信号q,r,s,t,uを発生す
る。さらに、コントローラ117は、比較器115,1
16からの出力e,fに基づいてLRUコードhを生成
する。
【0029】レベル“1”および“0”のデータメモリ
118,119は、TLBセレクトアドレス(VPG)
aによってアドレス指定される複数のエントリをそれぞ
れ有しており、これらデータメモリ118,119の各
エントリには、実ページアドレス(PAD)i,jがそ
れぞれ登録されている。実ページアドレス(PAD)
i,jは、それぞれディレクトリメモリ112,113
の対応するエントリに登録されている仮想アドレスタグ
(VSN)に対応した主記憶上の実ページアドレスを示
している。
118,119は、TLBセレクトアドレス(VPG)
aによってアドレス指定される複数のエントリをそれぞ
れ有しており、これらデータメモリ118,119の各
エントリには、実ページアドレス(PAD)i,jがそ
れぞれ登録されている。実ページアドレス(PAD)
i,jは、それぞれディレクトリメモリ112,113
の対応するエントリに登録されている仮想アドレスタグ
(VSN)に対応した主記憶上の実ページアドレスを示
している。
【0030】セレクタ120は、比較器15,16から
の出力e,fに基づいてコントローラ17によって制御
され、オン出力に対応するレベルのデータメモリの内容
を選択する。セレクタ20の選択出力kは、マージ回路
21に送られ、そこで、仮想アドレスレジスタ11のペ
ージ内オフセットアドレスnと加算(接合)されて、実
アドレスが生成される。
の出力e,fに基づいてコントローラ17によって制御
され、オン出力に対応するレベルのデータメモリの内容
を選択する。セレクタ20の選択出力kは、マージ回路
21に送られ、そこで、仮想アドレスレジスタ11のペ
ージ内オフセットアドレスnと加算(接合)されて、実
アドレスが生成される。
【0031】レジスタ122は、TLBセレクトアドレ
ス(VPG)aを受信し、それをクロックCLKの立ち
上がりでラッチしてアドレスa´として出力する。クロ
ックCLKは、各アドレス変換サイクルの終縁で立ち上
がるように制御され、これによってアドレスa´の内容
は1アドレス変換サイクル前のTLBセレクトアドレス
(VPG)aと同一となる。このレジスタ122は、図
3に示されているように、例えば、Dフリップフロップ
のアレイによって構成できる。次に、図4のタイミング
チャートを参照して、図1のアドレス変換装置の動作を
説明する。
ス(VPG)aを受信し、それをクロックCLKの立ち
上がりでラッチしてアドレスa´として出力する。クロ
ックCLKは、各アドレス変換サイクルの終縁で立ち上
がるように制御され、これによってアドレスa´の内容
は1アドレス変換サイクル前のTLBセレクトアドレス
(VPG)aと同一となる。このレジスタ122は、図
3に示されているように、例えば、Dフリップフロップ
のアレイによって構成できる。次に、図4のタイミング
チャートを参照して、図1のアドレス変換装置の動作を
説明する。
【0032】サイクルIにて、仮想アドレスレジスタ1
11には、アドレス変換すべき仮想ページアドレスとペ
ージ内オフセットアドレスから成る仮想アドレス1が外
部より設定される。レジスタ111に設定された仮想ペ
ージアドレスの下位ビット部のTLBセレクトアドレス
(VPG)aは、メモリ112,113,118,11
9、およびレジスタ122に共通に供給される。
11には、アドレス変換すべき仮想ページアドレスとペ
ージ内オフセットアドレスから成る仮想アドレス1が外
部より設定される。レジスタ111に設定された仮想ペ
ージアドレスの下位ビット部のTLBセレクトアドレス
(VPG)aは、メモリ112,113,118,11
9、およびレジスタ122に共通に供給される。
【0033】ディレクトリメモリ112,113から
は、そのメモリアクセスのための遅延時間経過後、TL
Bセレクトアドレス(VPG)aによって指定されたエ
ントリ内のディレクトリ情報c,dが読み出される。こ
のディレクトリ情報c,dは、それぞれデータメモリ1
8,19の対応するエントリに登録されている実ページ
アドレスに対応した仮想アドレスタグ(VSN)を示し
ており、比較回路115,116に供給されて、そこ
で、レジスタ111に設定された仮想ページアドレスの
上位ビット部の仮想アドレスタグ(VSN)bと比較さ
れる。
は、そのメモリアクセスのための遅延時間経過後、TL
Bセレクトアドレス(VPG)aによって指定されたエ
ントリ内のディレクトリ情報c,dが読み出される。こ
のディレクトリ情報c,dは、それぞれデータメモリ1
8,19の対応するエントリに登録されている実ページ
アドレスに対応した仮想アドレスタグ(VSN)を示し
ており、比較回路115,116に供給されて、そこ
で、レジスタ111に設定された仮想ページアドレスの
上位ビット部の仮想アドレスタグ(VSN)bと比較さ
れる。
【0034】比較器15または16で一致が検出された
場合には、信号eまたはfがオンとなる。信号e,fは
コントローラ17に供給される。コントローラ17は、
信号e,fのオン/オフ情報を記憶する。
場合には、信号eまたはfがオンとなる。信号e,fは
コントローラ17に供給される。コントローラ17は、
信号e,fのオン/オフ情報を記憶する。
【0035】また、サイクルIにおいては、データメモ
リ18,19からも、そのメモリアクセスのための遅延
時間経過後、TLBセレクトアドレス(VPG)aによ
って指定されたエントリ内の実ページアドレスi,jが
読み出される。これら実ページアドレスi,jは、セレ
クタ20に供給される。
リ18,19からも、そのメモリアクセスのための遅延
時間経過後、TLBセレクトアドレス(VPG)aによ
って指定されたエントリ内の実ページアドレスi,jが
読み出される。これら実ページアドレスi,jは、セレ
クタ20に供給される。
【0036】サイクルI+1においては、コントローラ
117は、前サイクルで記憶しておいた信号e,fのオ
ン/オフ情報に基づいてセレクタ20を制御し、前サイ
クルで一致が検出された側のレベルのデータメモリの内
容を物理ページアドレスkとしてマージ回路121に供
給し、そこで実アドレスが生成される。
117は、前サイクルで記憶しておいた信号e,fのオ
ン/オフ情報に基づいてセレクタ20を制御し、前サイ
クルで一致が検出された側のレベルのデータメモリの内
容を物理ページアドレスkとしてマージ回路121に供
給し、そこで実アドレスが生成される。
【0037】また、コントローラ117は、信号e,f
のどちらがオンであったかによって異なるLRUコード
hを生成すると共に、書き込みイネーブル信号WE ̄を
LRUコードメモリ114に供給する。この時、レジス
タ122には、1サイクル前のTLBセレクトアドレス
(VPG)aの内容が保持されているため、このときメ
モリ114に供給されるアドレスは、仮想アドレス1に
対応するアドレスとなっている。このため、LRUコー
ドメモリ114の仮想アドレス1で指定されるエントリ
にLRUコードhが書き込まれることになり、これによ
ってLRUコードメモリ114の内容が更新される。
のどちらがオンであったかによって異なるLRUコード
hを生成すると共に、書き込みイネーブル信号WE ̄を
LRUコードメモリ114に供給する。この時、レジス
タ122には、1サイクル前のTLBセレクトアドレス
(VPG)aの内容が保持されているため、このときメ
モリ114に供給されるアドレスは、仮想アドレス1に
対応するアドレスとなっている。このため、LRUコー
ドメモリ114の仮想アドレス1で指定されるエントリ
にLRUコードhが書き込まれることになり、これによ
ってLRUコードメモリ114の内容が更新される。
【0038】また、サイクルI+1においては、以上の
動作とオーバーラップして、仮想アドレス2に対するT
LBの検索処理(サイクルIにおいて仮想アドレス1に
対して行われたのと同じ動作)が行われる。
動作とオーバーラップして、仮想アドレス2に対するT
LBの検索処理(サイクルIにおいて仮想アドレス1に
対して行われたのと同じ動作)が行われる。
【0039】以上のように、この実施例においては、L
RUコードメモリ114に供給されるTLBセレクトア
ドレス(VPG)aがレジスタ122で遅延され、TL
Bセレクトアドレス(VPG)aによるディレクトリメ
モリ112,113の検索処理の実行後に、LRUコー
ドメモリ114に供給される。このため、ディレクトリ
メモリ112,113とLRUコードメモリ114に対
するアドレスの供給タイミングが1サイクルずらされ、
検索結果に基づくLRUコードメモリ114の更新処理
を、次の仮想アドレスに対するディレクトリメモリ11
2,113の検索動処理とオーバーラップされて実行す
ることが可能となる。
RUコードメモリ114に供給されるTLBセレクトア
ドレス(VPG)aがレジスタ122で遅延され、TL
Bセレクトアドレス(VPG)aによるディレクトリメ
モリ112,113の検索処理の実行後に、LRUコー
ドメモリ114に供給される。このため、ディレクトリ
メモリ112,113とLRUコードメモリ114に対
するアドレスの供給タイミングが1サイクルずらされ、
検索結果に基づくLRUコードメモリ114の更新処理
を、次の仮想アドレスに対するディレクトリメモリ11
2,113の検索動処理とオーバーラップされて実行す
ることが可能となる。
【0040】したがって、1つのアドレス変換サイクル
において、TBLの検索処理とLRUコードメモリ11
4の更新処理を並行して実行できるようになり、アドレ
ス変換を高速に実行することが可能となる。
において、TBLの検索処理とLRUコードメモリ11
4の更新処理を並行して実行できるようになり、アドレ
ス変換を高速に実行することが可能となる。
【0041】
【発明の効果】以上のように、この発明によれば、2レ
ベルセットアソシアティブ方式の高速アドレス変換バッ
ファを用いたアドレス変換装置において、TLBの検索
処理とLRUコードメモリの更新処理を並行して実行で
きるようになり、アドレス変換を高速に実行することが
可能となる。
ベルセットアソシアティブ方式の高速アドレス変換バッ
ファを用いたアドレス変換装置において、TLBの検索
処理とLRUコードメモリの更新処理を並行して実行で
きるようになり、アドレス変換を高速に実行することが
可能となる。
【図1】この発明の一実施例に係わるアドレス変換装置
のシステム構成を示すブロック図。
のシステム構成を示すブロック図。
【図2】図1に示したアドレス変換装置に設けられてい
るLRUコードメモリの内容の一例を示す図。
るLRUコードメモリの内容の一例を示す図。
【図3】図1に示したアドレス変換装置に設けられてい
る遅延用レジスタの具体的構成の一例を示す図。
る遅延用レジスタの具体的構成の一例を示す図。
【図4】図1に示したアドレス変換装置の動作を説明す
るタイミングチャート。
るタイミングチャート。
【図5】従来のアドレス変換装置のシステム構成を示す
ブロック図。
ブロック図。
【図6】図5に示したアドレス変換装置の動作を説明す
るタイミングチャート。
るタイミングチャート。
112,113…ディレクトリメモリ、114…LRU
コードメモリ、118,119…データメモリ、117
…コントローラ、122…遅延用レジスタ。
コードメモリ、118,119…データメモリ、117
…コントローラ、122…遅延用レジスタ。
Claims (1)
- 【請求項1】 仮想ページアドレスとオフセットアドレ
スから成る仮想アドレスを実アドレスに変換するアドレ
ス変換装置において、 前記仮想ページアドレスの所定ビットによって指定され
る複数のエントリを有し、各エントリに、仮想ページア
ドレスと実ページアドレスとの対応を示す変換情報が第
1レベルと第2レベルの2組ずつ登録される2レベルセ
ットアソシアティブ方式のアドレス変換バッファと、 前記仮想ページアドレスの前記所定ビットによって指定
される複数のエントリを有し、各エントリに、前記アド
レス変換バッファの対応するエントリに登録されている
前記第1レベルと第2レベルの2つの変換情報のうちで
いずれか一方の変換情報を置き換え対象の変換情報とし
て指定する情報が登録される置き換え用メモリと、 前記仮想ページアドレスの前記所定ビットによってアド
レス変換バッファを検索し、その仮想ページアドレスに
対応する実ページアドレスの登録の有無を検出する検索
手段と、 この検索手段による検出結果に基づいて前記置き換え用
メモリの情報を更新するための更新データを生成する手
段と、 前記検索手段による前記アドレス変換バッファの検索動
作実行後に前記仮想ページアドレスの前記所定ビットが
前記置き換え用メモリに供給されるように、前記仮想ペ
ージアドレスの前記所定ビットを所定期間遅延して出力
する手段とを具備し、 前記更新データによる前記置き換え用メモリの更新動作
を、次の仮想アドレスに対する前記アドレス変換バッフ
ァの検索動作にオーバーラップさせて実行することを特
徴とするアドレス変換装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3204253A JPH0546479A (ja) | 1991-08-14 | 1991-08-14 | アドレス変換装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3204253A JPH0546479A (ja) | 1991-08-14 | 1991-08-14 | アドレス変換装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0546479A true JPH0546479A (ja) | 1993-02-26 |
Family
ID=16487400
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3204253A Pending JPH0546479A (ja) | 1991-08-14 | 1991-08-14 | アドレス変換装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0546479A (ja) |
-
1991
- 1991-08-14 JP JP3204253A patent/JPH0546479A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR960001946B1 (ko) | 우선 변환 참조버퍼 | |
| JP3666689B2 (ja) | 仮想アドレス変換方法 | |
| EP0019358B1 (en) | Hierarchical data storage system | |
| US5956752A (en) | Method and apparatus for accessing a cache using index prediction | |
| CN108959125B (zh) | 一种支持数据快速获取的存储访问方法和装置 | |
| EP0173909B1 (en) | Look-aside buffer least recently used marker controller | |
| JPH0529946B2 (ja) | ||
| JP3242161B2 (ja) | データプロセッサ | |
| JPH0546479A (ja) | アドレス変換装置 | |
| JP4037806B2 (ja) | キャッシュメモリ装置 | |
| JP3144814B2 (ja) | キャッシュメモリの制御方式およびキャッシュタグメモリの制御方式 | |
| KR930002314B1 (ko) | 캐쉬 메모리 유닛을 액세스하기 위해 가상 어드레스를 실제 어드레스로 번역하는 장치 및 방법 | |
| JP3132566B2 (ja) | 命令先行制御装置 | |
| JP2507785B2 (ja) | ペ―ジテ―ブルエントリ無効化装置 | |
| JP2001202286A (ja) | キャッシュメモリのフラッシュ制御回路及びその制御方法 | |
| JPH0573424A (ja) | 高速アドレス変換方式 | |
| JPH04357542A (ja) | アドレス変換装置 | |
| JPH0535593A (ja) | キヤツシユメモリ制御方式 | |
| JPH0697440B2 (ja) | アドレス変換バッファ制御方式 | |
| JPH071484B2 (ja) | 情報処理装置 | |
| JPH0512124A (ja) | バツフア記憶制御方式 | |
| JPH0567000A (ja) | マイクロプロセツサ | |
| JPH04242431A (ja) | 情報処理装置 | |
| JPH1027134A (ja) | アドレス変換装置およびこれを用いたプロセッサ | |
| JPH06274418A (ja) | メモリ更新方式 |