JPH0417046A - アドレス変換装置 - Google Patents
アドレス変換装置Info
- Publication number
- JPH0417046A JPH0417046A JP2119846A JP11984690A JPH0417046A JP H0417046 A JPH0417046 A JP H0417046A JP 2119846 A JP2119846 A JP 2119846A JP 11984690 A JP11984690 A JP 11984690A JP H0417046 A JPH0417046 A JP H0417046A
- Authority
- JP
- Japan
- Prior art keywords
- address
- logical address
- buffer memory
- tlb
- base
- 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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、電子計算機のアドレス変換装置に係わる。
仮想記憶機能を有する電子言]算機システムの利用者は
、システムに実装されている主メモリよりも多くのメモ
リが備わっているかのように計算機を扱うことができる
。このようなシステムでは、動作中に必要に応じてメモ
リの割当てが行われ、そのメモリには適切なアドレスが
割り振られる。
、システムに実装されている主メモリよりも多くのメモ
リが備わっているかのように計算機を扱うことができる
。このようなシステムでは、動作中に必要に応じてメモ
リの割当てが行われ、そのメモリには適切なアドレスが
割り振られる。
そのため、プログラム上のアドレス(これを論理アドレ
ス、または仮想アドレスという)を、実装されている・
メモリのアドレス(これを物理アドレス、または実アド
レスという)に変換する必要がある。アドレス変換装置
とは、このように論理アドレスを物理アドレスに変換す
る装置である。すなわち、アドレス変換装置の入力は論
理アドレスであり、出力は物理アドレスである。
ス、または仮想アドレスという)を、実装されている・
メモリのアドレス(これを物理アドレス、または実アド
レスという)に変換する必要がある。アドレス変換装置
とは、このように論理アドレスを物理アドレスに変換す
る装置である。すなわち、アドレス変換装置の入力は論
理アドレスであり、出力は物理アドレスである。
アドレス変換装置は、マイクロプロセッサに内蔵される
場合も多い。この例として、日立製作所32ピッ1−マ
イクロプロセッサrH32/’200Jが挙げられる。
場合も多い。この例として、日立製作所32ピッ1−マ
イクロプロセッサrH32/’200Jが挙げられる。
rH32/200オペレーションアーキテクチャマニュ
アル」の第4章「メモリ管理機構」には、アドレス変換
の仕様が記載゛されている。
アル」の第4章「メモリ管理機構」には、アドレス変換
の仕様が記載゛されている。
このマニュアルによるとH32/200の論理アドレス
は32ビツトである。そして、論理アドレスはアドレス
変換のため第2図に示すように、半空間指定子201.
セクションインデックス202、ページインデックス2
03.オフセラ1〜204の4つのフィールドに分割さ
れる。半空間指定子201がアドレス変換に及ぼす作用
については本発明の本質と無関係であるので、ここでは
省略する。セクションインデックス202.ページイン
デックス203の各フィールドをインデックスとして主
メモリに記憶されているテーブルをアクセスすることに
よって、論理アドレスが物理アドレスに変換される。セ
クションインデックス202は9ビツト、ページインデ
ックス203は10ビツト、オフセット204は12ビ
ツトである。
は32ビツトである。そして、論理アドレスはアドレス
変換のため第2図に示すように、半空間指定子201.
セクションインデックス202、ページインデックス2
03.オフセラ1〜204の4つのフィールドに分割さ
れる。半空間指定子201がアドレス変換に及ぼす作用
については本発明の本質と無関係であるので、ここでは
省略する。セクションインデックス202.ページイン
デックス203の各フィールドをインデックスとして主
メモリに記憶されているテーブルをアクセスすることに
よって、論理アドレスが物理アドレスに変換される。セ
クションインデックス202は9ビツト、ページインデ
ックス203は10ビツト、オフセット204は12ビ
ツトである。
アドレス変換の概念を第3図に示した。セクションテー
ブル302は、セクションテーブルベース301をベー
スとし、セクションインデックス202をインデックス
としてアクセスされるテーブルである。セクションテー
ブル302の各エントリには、ページテーブルベース3
06、すなわちページテーブル303のベースアドレス
が記憶されている。ページテーブル303は、ページテ
ーブルベース306をベースとし、ページインデックス
203をインデックスとしてアクセスされるテーブルで
ある。ページテーブル303の各エントリには、ページ
フレーム番号308が記憶されている。物理メモリ30
9は、ページと呼ばれるブロックに分割されており、ペ
ージの先頭の物理アドレスがページフレーム番号である
。また、最近のアドレス変換の入出力対、すなわち論理
アドレスと物理アドレスの対を記憶しているTLB(T
ranslation Lookaside Buff
er) 310がある。
ブル302は、セクションテーブルベース301をベー
スとし、セクションインデックス202をインデックス
としてアクセスされるテーブルである。セクションテー
ブル302の各エントリには、ページテーブルベース3
06、すなわちページテーブル303のベースアドレス
が記憶されている。ページテーブル303は、ページテ
ーブルベース306をベースとし、ページインデックス
203をインデックスとしてアクセスされるテーブルで
ある。ページテーブル303の各エントリには、ページ
フレーム番号308が記憶されている。物理メモリ30
9は、ページと呼ばれるブロックに分割されており、ペ
ージの先頭の物理アドレスがページフレーム番号である
。また、最近のアドレス変換の入出力対、すなわち論理
アドレスと物理アドレスの対を記憶しているTLB(T
ranslation Lookaside Buff
er) 310がある。
入力された論理アドレスがTLB310に登録されてい
る場合は、主メモリ上のテーブルにアクセスせずに物理
アドレスが求められるので、アドレス変換を高速に行う
ことが可能である。
る場合は、主メモリ上のテーブルにアクセスせずに物理
アドレスが求められるので、アドレス変換を高速に行う
ことが可能である。
アドレス変換の手順は以下の通りである。
まず、入力された論理アドレスを基にTLB310を検
索する。TL’B510には、論理ページ番号311と
その論理ページ番号に対応するページフレーム番号31
2との対が記憶されている(論理ページ番号は、論理ア
ドレスからオフセットを取り除いた部分である)。物理
アドレスは、ページフレーム番号312とオフセラ1−
204の和なので、入力された論理アドレスがT L
B’310に登録されていれば、直ちに対応する物理ア
ドレスを求めることができる。
索する。TL’B510には、論理ページ番号311と
その論理ページ番号に対応するページフレーム番号31
2との対が記憶されている(論理ページ番号は、論理ア
ドレスからオフセットを取り除いた部分である)。物理
アドレスは、ページフレーム番号312とオフセラ1−
204の和なので、入力された論理アドレスがT L
B’310に登録されていれば、直ちに対応する物理ア
ドレスを求めることができる。
入力された論理アドレスがTLB 310に登録されて
いない場合は、主メモリ上のテーブルをアクセスして物
理アドレスを求める必要がある。まず、セクションテー
ブルベース301をベースとし、セクションインデック
ス202をインデックスとしてセクションテーブル30
2をアクセスすると、ページテーブルベース306が求
められる。
いない場合は、主メモリ上のテーブルをアクセスして物
理アドレスを求める必要がある。まず、セクションテー
ブルベース301をベースとし、セクションインデック
ス202をインデックスとしてセクションテーブル30
2をアクセスすると、ページテーブルベース306が求
められる。
次に、このページテーブルベース3.06をベースとし
、ページインデックス203をインデックスとしてペー
ジテーブル303をアクセスすると、ページフレーム番
号308が求められる。ページフレーム番号308は該
ページの先頭の物理アドレスなので、この値とオフセラ
I−204を加算して、目的の物理アドレスが求められ
る。以上でアドレス変換が終了する。また、後のアドレ
ス変換に備えるため、入力された論理ページ番号と求め
られたページフレーム番号との対がTLB310に登録
される。
、ページインデックス203をインデックスとしてペー
ジテーブル303をアクセスすると、ページフレーム番
号308が求められる。ページフレーム番号308は該
ページの先頭の物理アドレスなので、この値とオフセラ
I−204を加算して、目的の物理アドレスが求められ
る。以上でアドレス変換が終了する。また、後のアドレ
ス変換に備えるため、入力された論理ページ番号と求め
られたページフレーム番号との対がTLB310に登録
される。
従来の技術をそのままアドレス幅が大きい場合に適用す
ると、変換テーブルが多段階となり変換速度が低下する
、という問題がある。以下、多段階にしない場合に生じ
る問題点について説明する。
ると、変換テーブルが多段階となり変換速度が低下する
、という問題がある。以下、多段階にしない場合に生じ
る問題点について説明する。
分割された論理アドレスの各フィールドのうち、オフセ
ット204は物理アドレスを求める際にページフレーム
番号に加算される数値である。したがって、オフセット
204のフィールドの幅はぺ−ジの大きさを表している
(以下、オフセラ1〜のフィールドをオフセットフィー
ルドという)。それ以外の各フィールド202,203
は、主メモリ」二の各テーブルへのインデックスである
(以下、これらのフィールドをインデックスフィールド
という)。テーブルにアクセスする際のアドレスは、各
テーブルのベースアドレスにインデックスを加算して得
られるので、インデックスフィールドのビットのピッ1
〜幅は各テーブルの大きさを表している。
ット204は物理アドレスを求める際にページフレーム
番号に加算される数値である。したがって、オフセット
204のフィールドの幅はぺ−ジの大きさを表している
(以下、オフセラ1〜のフィールドをオフセットフィー
ルドという)。それ以外の各フィールド202,203
は、主メモリ」二の各テーブルへのインデックスである
(以下、これらのフィールドをインデックスフィールド
という)。テーブルにアクセスする際のアドレスは、各
テーブルのベースアドレスにインデックスを加算して得
られるので、インデックスフィールドのビットのピッ1
〜幅は各テーブルの大きさを表している。
さて、アドレス幅が拡大した際にも段数を少なく抑える
ためには、オフセットフィールドか、あるいはインデッ
クスフィールドのどちらかの幅を拡大しなければならな
い。オフセラ1〜フイールドの幅を拡大すると、ページ
のサイズが拡大される。
ためには、オフセットフィールドか、あるいはインデッ
クスフィールドのどちらかの幅を拡大しなければならな
い。オフセラ1〜フイールドの幅を拡大すると、ページ
のサイズが拡大される。
ページはメモリの割当ての最小単位であり、大きすぎる
とメモリを有効に利用できない。また、インデックスフ
ィールドの幅を拡大すると、各テーブルの容量は巨大に
なってしまい、やはりメモリを有効に利用できなくなる
。したがって、アドレス幅が大きい場合は、テーブルは
多段階とする必要がある。
とメモリを有効に利用できない。また、インデックスフ
ィールドの幅を拡大すると、各テーブルの容量は巨大に
なってしまい、やはりメモリを有効に利用できなくなる
。したがって、アドレス幅が大きい場合は、テーブルは
多段階とする必要がある。
以上、アドレス幅が拡大された際には、テーブルを多段
階としなければな″らないことを示した。
階としなければな″らないことを示した。
さて、ここでテーブルを多段階にした場合の問題点を考
えてみる。
えてみる。
従来の技術では、入力された論理アドレスがTLBに登
録されていれば、物理アドレスへの変換は高速に行うこ
とができる。一方、入力された論理アドレスがTLBに
登録されていない場合は主メモリ上のテーブルをアクセ
スしなければならない。すでに示したように、アドレス
幅が大きい分テーブルは多段階となるので、主メモリの
アクセス回数が多くなり変換に要する時間は増大する。
録されていれば、物理アドレスへの変換は高速に行うこ
とができる。一方、入力された論理アドレスがTLBに
登録されていない場合は主メモリ上のテーブルをアクセ
スしなければならない。すでに示したように、アドレス
幅が大きい分テーブルは多段階となるので、主メモリの
アクセス回数が多くなり変換に要する時間は増大する。
第4図は、論理アドレスが62ビツトの場合のアドレス
フィールドの分割例を示している。フィールドの数は、
オフセット4−07を除くと、5っである。したがって
、入力された論理アドレスがT L Bに登録されてい
ない場合、物理アドレスを求めるためには主メモリ上の
テーブルを5回アクセスする必要があり、論理アドレス
幅が32ビツトの場合と比較して変換速度は明らかに低
下する(なお、従来のアドレスフィールドの数は、半空
間指定子とオフセットを除けば2つであり、テーブルへ
のアクセスは2回であった)。
フィールドの分割例を示している。フィールドの数は、
オフセット4−07を除くと、5っである。したがって
、入力された論理アドレスがT L Bに登録されてい
ない場合、物理アドレスを求めるためには主メモリ上の
テーブルを5回アクセスする必要があり、論理アドレス
幅が32ビツトの場合と比較して変換速度は明らかに低
下する(なお、従来のアドレスフィールドの数は、半空
間指定子とオフセットを除けば2つであり、テーブルへ
のアクセスは2回であった)。
変換速度の低下の原因は、入力された論理アドレスがT
LBに登録されていない場合(以下、このことをTLB
ミスヒツトという)に、主メモリ上のテーブルにアクセ
スする回数が大きいことにある。したがって、変換速度
の低下を抑えるためには、アドレス変換1回当りのテー
ブルへのアクセス回数の実効値を等しくしなければなら
ない。
LBに登録されていない場合(以下、このことをTLB
ミスヒツトという)に、主メモリ上のテーブルにアクセ
スする回数が大きいことにある。したがって、変換速度
の低下を抑えるためには、アドレス変換1回当りのテー
ブルへのアクセス回数の実効値を等しくしなければなら
ない。
〔アドレス変換1回あたりのテーブルへのアクセス回数
〕Aは、[T L Bミスヒラhの確率(以下、TLB
ミスヒツト率という)〕をP、[TLBミスヒッI・の
際のテーブルアクセス回数〕をNとすれば、次に示す式
で計算できる。
〕Aは、[T L Bミスヒラhの確率(以下、TLB
ミスヒツト率という)〕をP、[TLBミスヒッI・の
際のテーブルアクセス回数〕をNとすれば、次に示す式
で計算できる。
A=PXN
したがって、Aを一定とすればPとNは反比例する。T
LBミスヒツトの際のテーブルへのアクセス回数Nは、
論理アドレス幅が32ビツトの場合2回、62ビツトの
場合5回である。したがって、論理アドレス幅が62ピ
ツ1への場合に、32ビツトの場合と同じ速度でアドレ
ス変換を行うには、アドレス変換1回当りのテーブルへ
のアクセス回数Aを等しくするために、TLBミスヒツ
ト率Pを、論理アドレスが32ピッ1−の場合の5分の
2にしなければならない。
LBミスヒツトの際のテーブルへのアクセス回数Nは、
論理アドレス幅が32ビツトの場合2回、62ビツトの
場合5回である。したがって、論理アドレス幅が62ピ
ツ1への場合に、32ビツトの場合と同じ速度でアドレ
ス変換を行うには、アドレス変換1回当りのテーブルへ
のアクセス回数Aを等しくするために、TLBミスヒツ
ト率Pを、論理アドレスが32ピッ1−の場合の5分の
2にしなければならない。
さて、TLBミスヒツト率Pを小さくするには、入力さ
れた論理アドレスがTLBに!されている確率を上げる
必要がある。このためには、TLBのエントリ数を増加
させ、登録可能な論理アドレスと物理アドレスの対の数
を増加させなければならないが、価格対効果の点で不利
であり、現実的ではない。
れた論理アドレスがTLBに!されている確率を上げる
必要がある。このためには、TLBのエントリ数を増加
させ、登録可能な論理アドレスと物理アドレスの対の数
を増加させなければならないが、価格対効果の点で不利
であり、現実的ではない。
本発明では、アドレス幅が増加しても、少量のハードウ
ェアの追加によって変換速度の低下を抑えられるアドレ
ス変換装置を提供することを目的とする。
ェアの追加によって変換速度の低下を抑えられるアドレ
ス変換装置を提供することを目的とする。
上記の課題を解決するため、バッファメモリを備え、入
力された論理アドレスと変換テーブルの途中段のベース
アドレスとの対応を記憶することとした。このバッファ
メモリに対する登録の方法はTLBに準じる。すなわち
、論理アドレスから物理アドレスを求める段階で得られ
る、途中段のテーブルベースがバッファメモリに記憶さ
れる。
力された論理アドレスと変換テーブルの途中段のベース
アドレスとの対応を記憶することとした。このバッファ
メモリに対する登録の方法はTLBに準じる。すなわち
、論理アドレスから物理アドレスを求める段階で得られ
る、途中段のテーブルベースがバッファメモリに記憶さ
れる。
入力された論理アドレスがTLBに登録されていなくて
もバッファメモリに登録されていれば、変換テーブルの
途中段のベースアドレスが直ちに求められるので、初段
から途中段までのテーブルへのアクセスは省略できる。
もバッファメモリに登録されていれば、変換テーブルの
途中段のベースアドレスが直ちに求められるので、初段
から途中段までのテーブルへのアクセスは省略できる。
したがって、アクセスを省略した分だけ、アドレス変換
に要する時間は短縮でき、変換速度は上昇する。
に要する時間は短縮でき、変換速度は上昇する。
また、このバッファメモリはTLBと比較して、1エン
トリ当りカバーするアドレス範囲が広大である。1エン
トリのTLBは4096 (=2”)バイトのアドレス
範囲をカバーするのに対し、バッファメモリは約42億
(=2”)バイトのアトレス範囲をカバーし、TLBの
100万倍強である。したがって、TLBよりも少ない
エントリ数でアドレス変換速度の向上が図れる。
トリ当りカバーするアドレス範囲が広大である。1エン
トリのTLBは4096 (=2”)バイトのアドレス
範囲をカバーするのに対し、バッファメモリは約42億
(=2”)バイトのアトレス範囲をカバーし、TLBの
100万倍強である。したがって、TLBよりも少ない
エントリ数でアドレス変換速度の向上が図れる。
たとえば、アクセスする範囲が論理アドレスの0番地か
ら40億番地までの40億バイトに限定されている場合
を考える。この場合、バッファメモリを検索するキーと
なる論理アドレス中のフィールドは常にOとなるので、
バッファメモリが1エントリだけあれば、入力される論
理アドレスはいつもバッファメモリに登録されているこ
とになる。したがって1、TLBにミスヒツトしても、
アドレス変換に伴う主メモリ上のテーブルのアクセスは
2回で済む。つまり、アドレス幅が増大したにもかかわ
らず、バッファメモリを1エントリ設けるだけで論理ア
ドレスが32ビツトの場合と同じ変換速度を得ることが
できる。
ら40億番地までの40億バイトに限定されている場合
を考える。この場合、バッファメモリを検索するキーと
なる論理アドレス中のフィールドは常にOとなるので、
バッファメモリが1エントリだけあれば、入力される論
理アドレスはいつもバッファメモリに登録されているこ
とになる。したがって1、TLBにミスヒツトしても、
アドレス変換に伴う主メモリ上のテーブルのアクセスは
2回で済む。つまり、アドレス幅が増大したにもかかわ
らず、バッファメモリを1エントリ設けるだけで論理ア
ドレスが32ビツトの場合と同じ変換速度を得ることが
できる。
このことを、バッファメモリを使用しない場合と比較し
てみる。バッファメモリを使用しない場合は、前述した
とおりTLBミスヒツト時のテーブルアクセス回数は、
アドレス幅32ビツトの場合と比較して2.5倍である
。TLBを1エントリ増やしても、TLBがカバーする
アドレス範囲は4096バイト増加するだけであり、2
.5倍の差を縮めることは到底できない。アドレス幅3
2ピッl−の場合と同じ変換速度を得るためにはTLB
のエントリ数の大幅な増加が必要である。
てみる。バッファメモリを使用しない場合は、前述した
とおりTLBミスヒツト時のテーブルアクセス回数は、
アドレス幅32ビツトの場合と比較して2.5倍である
。TLBを1エントリ増やしても、TLBがカバーする
アドレス範囲は4096バイト増加するだけであり、2
.5倍の差を縮めることは到底できない。アドレス幅3
2ピッl−の場合と同じ変換速度を得るためにはTLB
のエントリ数の大幅な増加が必要である。
つまり、バッファメモリを用いれば、アドレスが増加し
ても少量のハードウェアの追加で変換速度の低下を抑え
ることができる。
ても少量のハードウェアの追加で変換速度の低下を抑え
ることができる。
以下、本発明の実施例を第1図を基に説明する。
この実施例では、論理アドレスとセクションテーブルベ
ースとの対応がバッファメモリ109に記憶されている
。セクションテーブル105.ページテーブル107の
機能は従来と同様である。
ースとの対応がバッファメモリ109に記憶されている
。セクションテーブル105.ページテーブル107の
機能は従来と同様である。
すなわち、セクションテーブルの各エントリには、ペー
ジテーブルベース106が記憶され、ページテーブルの
各エントリには、ページフレーム番号108が記憶され
ている。
ジテーブルベース106が記憶され、ページテーブルの
各エントリには、ページフレーム番号108が記憶され
ている。
アドレスフィールドの区切りは、第4図のとおりである
。入力された論理アドレスを物理アドレスに変換するス
テップを第5図に示す。
。入力された論理アドレスを物理アドレスに変換するス
テップを第5図に示す。
ステップ501で、論理アドレスがT L B 113
に登録さ□れているかどうか検索する。登録されていれ
ば、TLB 113からページフレーム番号118が得
られる(ステップ502)。これにオフセットを加算(
ステップ507)L、アドレス変換は終了する。
に登録さ□れているかどうか検索する。登録されていれ
ば、TLB 113からページフレーム番号118が得
られる(ステップ502)。これにオフセットを加算(
ステップ507)L、アドレス変換は終了する。
入力された論理アドレスが、TLB113に登録されて
いない場合は、ステップ503でバッファメモリ109
に登録されているかどうか検索する。すなわち、バッフ
ァメモリインデックス110をキーとして、バッファメ
モリ109のエントリにこれと一致するインデックスフ
ィールド111を持つものがあるかどうかを検索する。
いない場合は、ステップ503でバッファメモリ109
に登録されているかどうか検索する。すなわち、バッフ
ァメモリインデックス110をキーとして、バッファメ
モリ109のエントリにこれと一致するインデックスフ
ィールド111を持つものがあるかどうかを検索する。
登録されている場合はステップ504へ進み、バッファ
メモリ109に登録されているセクションテーブルベー
ス112を得る。
メモリ109に登録されているセクションテーブルベー
ス112を得る。
なお、バッファメモリは1エントリ嶺り4G(=210
+11′+12)バイトのアドレス変換に関する情報を
保持している。たとえば、バッファメモリが16エン1
〜りであるとすると、16X4Gバイ1−1すなわち6
4Gバイト分の情報を保持できるので、はぼ確実に変換
テーブルの3段分メモリアクセスは省略できる。
+11′+12)バイトのアドレス変換に関する情報を
保持している。たとえば、バッファメモリが16エン1
〜りであるとすると、16X4Gバイ1−1すなわち6
4Gバイト分の情報を保持できるので、はぼ確実に変換
テーブルの3段分メモリアクセスは省略できる。
以降はステップ505に進み、従来の技術の項で説明し
た32ビツトの論理アドレスを変換する方法とほぼ同様
である。バッファメモリに登録されているセクションテ
ーブルベース112をベースとし、セクションインデッ
クス405をインデックスとして、セクションテーブル
105がアクセスされ、ページテーブルベース106を
得る。
た32ビツトの論理アドレスを変換する方法とほぼ同様
である。バッファメモリに登録されているセクションテ
ーブルベース112をベースとし、セクションインデッ
クス405をインデックスとして、セクションテーブル
105がアクセスされ、ページテーブルベース106を
得る。
次にステップ506に進み、このページテーブルベース
をベースとし、ページインデックス406をインデック
スとしてページテーブル107をアクセスし、ページフ
レーム番号108を得る。
をベースとし、ページインデックス406をインデック
スとしてページテーブル107をアクセスし、ページフ
レーム番号108を得る。
(後のアドレス変換に備えるため、入力された論理アド
レスと求められたページフレーム番号との対がTLBb
こ登録される)ページフレーム番号は該ページの先頭の
物理アドレスなので、この値とオフセット407を加算
して、目的の物理アドレスを求める。以上でアドレス変
換が終了する。
レスと求められたページフレーム番号との対がTLBb
こ登録される)ページフレーム番号は該ページの先頭の
物理アドレスなので、この値とオフセット407を加算
して、目的の物理アドレスを求める。以上でアドレス変
換が終了する。
入力された論理アドレスが、T L Bにもバッファメ
モリ109にも登録されていない場合は、論理アドレス
を分割した各フィールド(第4図の402〜404)を
インデックスとしてテーブルをアクセスし、セクション
テーブルベースを求める必要がある(ステップ508〜
510)。これは、〔従来の技術〕の項で説明したとお
りであるが、ここでより詳細に説明する。
モリ109にも登録されていない場合は、論理アドレス
を分割した各フィールド(第4図の402〜404)を
インデックスとしてテーブルをアクセスし、セクション
テーブルベースを求める必要がある(ステップ508〜
510)。これは、〔従来の技術〕の項で説明したとお
りであるが、ここでより詳細に説明する。
ステップ508では、変換チーフルベース114をベー
スとし、論理アドレスの第1フイールド402をインデ
ックスとして、第1テーブルをアクセスすることによっ
て、第2テーブルのベースを得る。ステップ509ては
、ステップ508で得た第2テーブルのベースを利用し
、論理アドレスの第2フイールド403のインデックス
として、第2テーブルをアクセスすることによって、第
3テーブルのベースを得る。ステップ510では、ステ
ップ509で得た第3テーブルのベースを利用し、論理
アドレスの第3フイールド404をインデックスとして
、第3テーブルをアクセスすることによって、セクショ
ンテーブルベースを得る(この際得られたセクションテ
ーブルベースは、バッファメモリに登録され、次回のア
ドレス変換に備える)。
スとし、論理アドレスの第1フイールド402をインデ
ックスとして、第1テーブルをアクセスすることによっ
て、第2テーブルのベースを得る。ステップ509ては
、ステップ508で得た第2テーブルのベースを利用し
、論理アドレスの第2フイールド403のインデックス
として、第2テーブルをアクセスすることによって、第
3テーブルのベースを得る。ステップ510では、ステ
ップ509で得た第3テーブルのベースを利用し、論理
アドレスの第3フイールド404をインデックスとして
、第3テーブルをアクセスすることによって、セクショ
ンテーブルベースを得る(この際得られたセクションテ
ーブルベースは、バッファメモリに登録され、次回のア
ドレス変換に備える)。
以降はステップ505に進むので、入力された論理アド
レスがバッファメモリに登録されていた場合と同様であ
る。
レスがバッファメモリに登録されていた場合と同様であ
る。
以下、この実施例の一部を変更したものについて説明す
る。これは、以上の説明で用いられたバッファメモリの
代わりにレジスタを用いるものである。このレジスタは
、バッファメモリと同様、論理アドレスを記憶する部分
と、テーブルのベースアドレスを記憶する部分を備えて
いる。したがって、アドレス変換の手順は前の説明とほ
ぼ同様であるので省略する。ただし、登録を明示的に行
う必要がある点がバッファメモリと異なっている。
る。これは、以上の説明で用いられたバッファメモリの
代わりにレジスタを用いるものである。このレジスタは
、バッファメモリと同様、論理アドレスを記憶する部分
と、テーブルのベースアドレスを記憶する部分を備えて
いる。したがって、アドレス変換の手順は前の説明とほ
ぼ同様であるので省略する。ただし、登録を明示的に行
う必要がある点がバッファメモリと異なっている。
以上のように本発明によると、変換テーブルが多段階に
なった場合にもTLBミスヒツト時のメモリアクセスの
回数を減少させることができる。
なった場合にもTLBミスヒツト時のメモリアクセスの
回数を減少させることができる。
すなわち、アドレス幅の増大に伴うアドレス変換の速度
低下を抑えることが可能である。したがって、アドレス
幅増大の要求に柔軟に対応することができる。
低下を抑えることが可能である。したがって、アドレス
幅増大の要求に柔軟に対応することができる。
第1図は本発明の実施例による71〜レス変換を示した
説明図、第2図は従来の技術による論理アドレスの分割
を示した図、第3図は従来の技術によるアドレス変換を
示した説明図、第4図は本発明の実施例における論理ア
ドレスの分割例を示した図、第5図は本発明の実施例に
よるアドレス変換の処理手順図である。 109・・・バッファメモリ、113,310・・・T
LB、115.309・・・物理メモリ、106,30
2・セクションテーブル、l’07,303・・ページ
テーブル、114・・・変換テーブルベース、202゜
405・・・セクションインデックス、203,406
・・ページインデックス、204,407・・オフセ、
リ k O・・・バ・・ノフマメ千 1インデ・ソクス7
説明図、第2図は従来の技術による論理アドレスの分割
を示した図、第3図は従来の技術によるアドレス変換を
示した説明図、第4図は本発明の実施例における論理ア
ドレスの分割例を示した図、第5図は本発明の実施例に
よるアドレス変換の処理手順図である。 109・・・バッファメモリ、113,310・・・T
LB、115.309・・・物理メモリ、106,30
2・セクションテーブル、l’07,303・・ページ
テーブル、114・・・変換テーブルベース、202゜
405・・・セクションインデックス、203,406
・・ページインデックス、204,407・・オフセ、
リ k O・・・バ・・ノフマメ千 1インデ・ソクス7
Claims (1)
- 【特許請求の範囲】 1、多段階のテーブル検索で、入力された論理アドレス
から物理アドレスを求めるアドレス変換装置において、
入力された論理アドレスの上位部と途中段テーブルのベ
ースアドレスとの対応を記憶するバッファメモリを備え
たことを特徴とするアドレス変換装置。 2、入力された論理アドレスと出力される物理アドレス
との対応を記憶するバッファメモリ (TLB)を備えた、請求項1記載のアドレス変換装置
。 3、請求項1または2記載のアドレス変換装置であって
、バッファメモリに代えて直接書き換え可能なレジスタ
を用いることを特徴とするアドレス変換装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2119846A JPH0417046A (ja) | 1990-05-11 | 1990-05-11 | アドレス変換装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2119846A JPH0417046A (ja) | 1990-05-11 | 1990-05-11 | アドレス変換装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0417046A true JPH0417046A (ja) | 1992-01-21 |
Family
ID=14771717
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2119846A Pending JPH0417046A (ja) | 1990-05-11 | 1990-05-11 | アドレス変換装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0417046A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100443784B1 (ko) * | 2001-03-22 | 2004-08-09 | 주식회사 태광렌즈 | 안경렌즈 복사기 |
-
1990
- 1990-05-11 JP JP2119846A patent/JPH0417046A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100443784B1 (ko) * | 2001-03-22 | 2004-08-09 | 주식회사 태광렌즈 | 안경렌즈 복사기 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4218743A (en) | Address translation apparatus | |
| US5375214A (en) | Single translation mechanism for virtual storage dynamic address translation with non-uniform page sizes | |
| JP3640978B2 (ja) | ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置 | |
| US7089398B2 (en) | Address translation using a page size tag | |
| US3761881A (en) | Translation storage scheme for virtual memory system | |
| US5475827A (en) | Dynamic look-aside table for multiple size pages | |
| US5265227A (en) | Parallel protection checking in an address translation look-aside buffer | |
| US5630087A (en) | Apparatus and method for efficient sharing of virtual memory translations | |
| JPS63231550A (ja) | 多重仮想空間制御方式 | |
| US7117196B2 (en) | Method and system for optimizing leaf comparisons from a tree search | |
| US7269825B1 (en) | Method and system for relative address translation | |
| US7343469B1 (en) | Remapping I/O device addresses into high memory using GART | |
| US5784708A (en) | Translation mechanism for input/output addresses | |
| JPH0417046A (ja) | アドレス変換装置 | |
| EP0058846A2 (en) | Multiprocessing system with variably shared paging storage | |
| US11474953B2 (en) | Configuration cache for the ARM SMMUv3 | |
| JPS6273347A (ja) | アドレス変換装置 | |
| JPS623354A (ja) | キヤツシユメモリ・アクセス方式 | |
| JPS5858752B2 (ja) | アドレス変換装置 | |
| JPS5821352B2 (ja) | バツフア・メモリ制御方式 | |
| JPS59218692A (ja) | ロジカルバツフア記憶制御方式 | |
| JPH09204359A (ja) | アドレス変換装置 | |
| JPS583178A (ja) | 記憶状態分割制御方式 | |
| JPH0282331A (ja) | キヤツシュメモリ制御方式 | |
| JPH02101552A (ja) | アドレス変換バッファ処理方式 |