JPH0351015B2 - - Google Patents
Info
- Publication number
- JPH0351015B2 JPH0351015B2 JP59223240A JP22324084A JPH0351015B2 JP H0351015 B2 JPH0351015 B2 JP H0351015B2 JP 59223240 A JP59223240 A JP 59223240A JP 22324084 A JP22324084 A JP 22324084A JP H0351015 B2 JPH0351015 B2 JP H0351015B2
- Authority
- JP
- Japan
- Prior art keywords
- tlb
- logical address
- registered
- address
- segment
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、多重仮想記憶システムにおいて仮想
アドレスを実アドレスに高速変換するために使用
されるTLB(Translation Lookaside Buffer)
の制御方式に関し、特に多重仮想空間内の共通領
域のように、異なる仮想空間で同じ内容のアドレ
ス変換が行われる場合に、TLBを効率的に機能
させるためのTLB制御方式に関する。
アドレスを実アドレスに高速変換するために使用
されるTLB(Translation Lookaside Buffer)
の制御方式に関し、特に多重仮想空間内の共通領
域のように、異なる仮想空間で同じ内容のアドレ
ス変換が行われる場合に、TLBを効率的に機能
させるためのTLB制御方式に関する。
セグメンテーシヨンおよびページング方式の多
重仮想記憶システムでは、実行されるプログラム
(ジヨブ)ごとに仮想空間が生成され、そして生
成された仮想空間には、空間固有の空間識別番号
STOによつて特定されるセグメントテーブルと
そのセグメントテーブルによつて参照されるペー
ジテーブルとを付属させることにより、空間相互
の領域保護や供用領域管理を行つている。
重仮想記憶システムでは、実行されるプログラム
(ジヨブ)ごとに仮想空間が生成され、そして生
成された仮想空間には、空間固有の空間識別番号
STOによつて特定されるセグメントテーブルと
そのセグメントテーブルによつて参照されるペー
ジテーブルとを付属させることにより、空間相互
の領域保護や供用領域管理を行つている。
1つの仮想空間は、たとえば連続した256セグ
メントで構成され、さらにその1セグメントは連
続した16ページ、そして1ページは連続した4キ
ロバイトの領域で構成されている。各仮想空間
は、空間識別番号STOで識別される。また各論
理アドレスは、セグメント番号、ページ番号、ペ
ージ内変位で表されている。
メントで構成され、さらにその1セグメントは連
続した16ページ、そして1ページは連続した4キ
ロバイトの領域で構成されている。各仮想空間
は、空間識別番号STOで識別される。また各論
理アドレスは、セグメント番号、ページ番号、ペ
ージ内変位で表されている。
仮想空間で走行するプログラムの論理アドレス
を実アドレスに変換するために、動的アドレス変
換(DAT)機構が使用される。
を実アドレスに変換するために、動的アドレス変
換(DAT)機構が使用される。
第2図は動的アドレス変換機構の概念図であ
り、図中の31は論理アドレスレジスタ、32は
空間識別番号STO、33はセグメントテーブル、
34はページテーブル、35は実アドレスレジス
タ、36は実記憶装置、37はTLBを示す。
り、図中の31は論理アドレスレジスタ、32は
空間識別番号STO、33はセグメントテーブル、
34はページテーブル、35は実アドレスレジス
タ、36は実記憶装置、37はTLBを示す。
動作において、論理アドレスレジスタ31中の
セグメント番号により、空間識別番号STOが指
定されたセグメントテーブル33を参照し、セグ
メント番号に対応するセグメントのページテーブ
ル34の起点を示すページテーブルアドレスを求
める。これによりさらにページテーブル34を論
理アドレスレジスタ31中のページ番号を用いて
参照し、該当する実ページのアドレス、すなわち
実記憶装置36上のページの起点を示すアドレス
を求める。この実ページアドレスと論理アドレス
レジスタ31中のページ内変位とを組み合わせて
実アドレスレジスタ35中に実アドレスを生成
し、実記憶装置36あるいは図示されていないバ
ツフアメモリをアクセスする。
セグメント番号により、空間識別番号STOが指
定されたセグメントテーブル33を参照し、セグ
メント番号に対応するセグメントのページテーブ
ル34の起点を示すページテーブルアドレスを求
める。これによりさらにページテーブル34を論
理アドレスレジスタ31中のページ番号を用いて
参照し、該当する実ページのアドレス、すなわち
実記憶装置36上のページの起点を示すアドレス
を求める。この実ページアドレスと論理アドレス
レジスタ31中のページ内変位とを組み合わせて
実アドレスレジスタ35中に実アドレスを生成
し、実記憶装置36あるいは図示されていないバ
ツフアメモリをアクセスする。
ここで論理アドレスレジスタ31中のセグメン
ト番号とページ番号の組み合わせは、論理ページ
アドレスと呼ぶことにする。この論理ページアド
レスがセグメントテーブルおよびページテーブル
を用いて、実ページアドレスに変換されたとき、
そのアドレス対は、TLB37に登録される。
TLB37は、高速のバツフアメモリであり、最
近使用された論理アドレスの変換データを一定量
保持し、直接変換を可能にする。すなわち、セグ
メントテーブル33およびページテーブル34を
用いる動的アドレス変換方法が2回のメモリアク
セスを必要とし、変換時間が長くかかることに対
する改善手段となつている。なお、TLBを構成
する複数のエントリ(テーブル行)はウエイ
(WAY)と呼ばれている。
ト番号とページ番号の組み合わせは、論理ページ
アドレスと呼ぶことにする。この論理ページアド
レスがセグメントテーブルおよびページテーブル
を用いて、実ページアドレスに変換されたとき、
そのアドレス対は、TLB37に登録される。
TLB37は、高速のバツフアメモリであり、最
近使用された論理アドレスの変換データを一定量
保持し、直接変換を可能にする。すなわち、セグ
メントテーブル33およびページテーブル34を
用いる動的アドレス変換方法が2回のメモリアク
セスを必要とし、変換時間が長くかかることに対
する改善手段となつている。なお、TLBを構成
する複数のエントリ(テーブル行)はウエイ
(WAY)と呼ばれている。
TLB37の登録更新は、LRU(Least
Recently Used)法に基づいて、最近もつとも使
用されていない変換データを追い出し、その後に
新しい変換データを書き込むことによつて行われ
る。
Recently Used)法に基づいて、最近もつとも使
用されていない変換データを追い出し、その後に
新しい変換データを書き込むことによつて行われ
る。
ところで多重仮想空間では、制御プログラムお
よびテーブルを常駐させておくシステム領域や共
通領域が各空間で同一の実アドレスをもつことに
なる。したがつてこれらのシステム領域や共通領
域に対応するセグメントは、同一のページテーブ
ルを共用することができる。また同様にしてこれ
らの領域のセグメントはTLB37内の変換デー
タを共用することができる。これらの空間共通の
セグメントは、コモンセグメントと呼ばれてい
る。
よびテーブルを常駐させておくシステム領域や共
通領域が各空間で同一の実アドレスをもつことに
なる。したがつてこれらのシステム領域や共通領
域に対応するセグメントは、同一のページテーブ
ルを共用することができる。また同様にしてこれ
らの領域のセグメントはTLB37内の変換デー
タを共用することができる。これらの空間共通の
セグメントは、コモンセグメントと呼ばれてい
る。
コモンセグメントを識別可能にするため、第2
図のセグメントテーブル33内にCSで示されて
いるように、各空間のセグメントテーブルにはセ
グメントごとにCS(コモンセグメント)ビツトが
設けられ、各コモンセグメントについては、その
CSビツトが“1”に設定される。
図のセグメントテーブル33内にCSで示されて
いるように、各空間のセグメントテーブルにはセ
グメントごとにCS(コモンセグメント)ビツトが
設けられ、各コモンセグメントについては、その
CSビツトが“1”に設定される。
各コモンセグメント領域内の論理アドレスの変
換については、空間識別番号STOを無視され、
それぞれの空間の論理アドレスは、単一空間の論
理アドレスであるかのように取扱われて、同じセ
グメントテーブルおよびページテーブルを用いて
実アドレスに変換される。
換については、空間識別番号STOを無視され、
それぞれの空間の論理アドレスは、単一空間の論
理アドレスであるかのように取扱われて、同じセ
グメントテーブルおよびページテーブルを用いて
実アドレスに変換される。
この場合、TLB37にもCSビツト(第2図参
照)が設けられており、コモンセグメント領域の
変換データとして共用されるものであるか否かが
表示される。
照)が設けられており、コモンセグメント領域の
変換データとして共用されるものであるか否かが
表示される。
仮想空間は、IPL直後は第3図aに示すように
単一であり(STO#0)、その全てのセグメント
エントリのCSビツトは“0”にクリアされてい
るが、以後並行処理されるプログラムが増加する
ごとに第3図bに示すように多重化されてゆき
(STO#0ないし#n)、それとともに、それぞ
れのセグメントテーブル内でコモンセグメントの
CSビツトが“1”に切り替えられる。
単一であり(STO#0)、その全てのセグメント
エントリのCSビツトは“0”にクリアされてい
るが、以後並行処理されるプログラムが増加する
ごとに第3図bに示すように多重化されてゆき
(STO#0ないし#n)、それとともに、それぞ
れのセグメントテーブル内でコモンセグメントの
CSビツトが“1”に切り替えられる。
しかし、これら各仮想空間のセグメントテーブ
ルのコモンセグメントについて、CSビツトが
“1”に切り替えられた時点では、TLB37内に
ある本来コモンセグメント領域に含まれる筈の変
換データのCSビツトは“0”の状態にあり、こ
れがCS=“1”に書き替えられるまでは、増設さ
れた仮想空間のコモンセグメント領域に含まれる
論理アドレスを変換しようとすると、TLB37
内には変換データが不存在(TLB Miss)とされ
る。そしてセグメントテーブル33およびページ
テーブル34を用いて新たにアドレス変換を行
い、得られた変換データは、TLB37のLRU論
理に基づくウエイにCS=“1”で登録される。こ
のため、TLBには同一内容の複数の変換データ
が登録されることになり、その後のアドレス変換
で、TLBの複数のウエイの変換データがヒツト
する、いわゆるマルチウエイヒツト(Multi
way Hit)が生じる。
ルのコモンセグメントについて、CSビツトが
“1”に切り替えられた時点では、TLB37内に
ある本来コモンセグメント領域に含まれる筈の変
換データのCSビツトは“0”の状態にあり、こ
れがCS=“1”に書き替えられるまでは、増設さ
れた仮想空間のコモンセグメント領域に含まれる
論理アドレスを変換しようとすると、TLB37
内には変換データが不存在(TLB Miss)とされ
る。そしてセグメントテーブル33およびページ
テーブル34を用いて新たにアドレス変換を行
い、得られた変換データは、TLB37のLRU論
理に基づくウエイにCS=“1”で登録される。こ
のため、TLBには同一内容の複数の変換データ
が登録されることになり、その後のアドレス変換
で、TLBの複数のウエイの変換データがヒツト
する、いわゆるマルチウエイヒツト(Multi
way Hit)が生じる。
以下に第3図の例を用いて、マルチウエイヒツ
トが生じる過程を第4図に乃至で示す。なお
第3図においては、各空間(空間識別番号#0乃
至#n)の各コモンセグメント領域内の論理アド
レスAがアクセスされるものとする。
トが生じる過程を第4図に乃至で示す。なお
第3図においては、各空間(空間識別番号#0乃
至#n)の各コモンセグメント領域内の論理アド
レスAがアクセスされるものとする。
まずは、第3図aのIPL直後に行われた単一
の空間#0における論理アドレスAのアクセス状
態であり、このとき、TLBのウエイ#0には、
CS=“0”、STO=#0、論理アドレス=Aの変
換データが登録されるが、他方、ウエイ#1に
は、CS=“0”、STO=#0と他の論理アドレス
=Bが登録されているものとする。
の空間#0における論理アドレスAのアクセス状
態であり、このとき、TLBのウエイ#0には、
CS=“0”、STO=#0、論理アドレス=Aの変
換データが登録されるが、他方、ウエイ#1に
は、CS=“0”、STO=#0と他の論理アドレス
=Bが登録されているものとする。
は、第3図bの多重空間状態において、
STO#1の空間から論理アドレスAのアクセス
が要求された場合である。しかしTLBのウエイ
#0はCS=“0”およびSTO=#0で不一致とな
り、他方ウエイ#1はSTO=#0および論理ア
ドレス=Bで不一致となるため、TLB Missとな
る。
STO#1の空間から論理アドレスAのアクセス
が要求された場合である。しかしTLBのウエイ
#0はCS=“0”およびSTO=#0で不一致とな
り、他方ウエイ#1はSTO=#0および論理ア
ドレス=Bで不一致となるため、TLB Missとな
る。
は、でのTLB Missの結果、STO#1の
空間のセグメントテーブルおよびページテーブル
を用いて得た変換データをTLBに登録した状態
である。この場合、LRU論理によりTLBのウエ
イ#1に、CS=1、STO=#1、論理アドレス
=Aが登録される。
空間のセグメントテーブルおよびページテーブル
を用いて得た変換データをTLBに登録した状態
である。この場合、LRU論理によりTLBのウエ
イ#1に、CS=1、STO=#1、論理アドレス
=Aが登録される。
では、STO#0の空間から論理アドレスA
のアクセス要求が出され、ウエイ#0の変換デー
タが一致し、さらにウエイ#1がCS=1である
ことから空間識別番号のSTO=#1が無視され、
ここでもアドレスの一致が得られ、マルチウエイ
ヒツトとなる。
のアクセス要求が出され、ウエイ#0の変換デー
タが一致し、さらにウエイ#1がCS=1である
ことから空間識別番号のSTO=#1が無視され、
ここでもアドレスの一致が得られ、マルチウエイ
ヒツトとなる。
本発明は、従来のコモンセグメントを使用する
動的アドレス変換機構において、コモンセグメン
ト間で重複変換データがTLBに登録されること
によりマルチウエイヒツトが発生する問題を解決
しようとするものである。
動的アドレス変換機構において、コモンセグメン
ト間で重複変換データがTLBに登録されること
によりマルチウエイヒツトが発生する問題を解決
しようとするものである。
本発明は、コモンセグメント領域内の論理アド
レスの変換で得られた新しい変換データをTLB
に登録する際、空間識別番号を無視して、同一論
理アドレスがTLB内に存在しているか否かをチ
エツクし、存在していればそのウエイに新しい変
換データを登録するようにして、重複変換データ
に基づくマルチウエイヒツトの発生を防止するも
ので、その構成は、コモンセグメントビツトを有
するTLBをそなえた多重仮想記憶システムにお
いて、上記TLBにコモンセグメントの論理アド
レスであることを表すコモンセグメントビツトが
“1”の論理アドレスを登録する際に、まず当該
論理アドレスと同一の論理アドレスがTLBに登
録されているか否かを調べ、登録されている場合
にはそのウエイに上記コモンセグメントビツトが
“1”の論理アドレスを登録し、また登録されて
いない場合にはLRU論理に基づき指示されたウ
エイに上記コモンセグメントビツトが“1”の論
理アドレスを登録することを特徴とするものであ
る。
レスの変換で得られた新しい変換データをTLB
に登録する際、空間識別番号を無視して、同一論
理アドレスがTLB内に存在しているか否かをチ
エツクし、存在していればそのウエイに新しい変
換データを登録するようにして、重複変換データ
に基づくマルチウエイヒツトの発生を防止するも
ので、その構成は、コモンセグメントビツトを有
するTLBをそなえた多重仮想記憶システムにお
いて、上記TLBにコモンセグメントの論理アド
レスであることを表すコモンセグメントビツトが
“1”の論理アドレスを登録する際に、まず当該
論理アドレスと同一の論理アドレスがTLBに登
録されているか否かを調べ、登録されている場合
にはそのウエイに上記コモンセグメントビツトが
“1”の論理アドレスを登録し、また登録されて
いない場合にはLRU論理に基づき指示されたウ
エイに上記コモンセグメントビツトが“1”の論
理アドレスを登録することを特徴とするものであ
る。
以下に、本発明の詳細を実施例にしたがつて説
明する。
明する。
第1図は本発明の1実施例システムの構成図で
あり、1はTLBウエイ1、2はTLBウエイ23
は論理アドレスレジスタ、4は実ページアドレス
レジスタ、5は空間識別番号レジスタ、6はコモ
ンセグメントビツトレジスタ、7〜10は比較
器、12,13,21および24はORゲート、
14,15,20,22,23,26および27
はNANDゲート、17〜19および25はイン
バータ、11はデータセレクタを示す。
あり、1はTLBウエイ1、2はTLBウエイ23
は論理アドレスレジスタ、4は実ページアドレス
レジスタ、5は空間識別番号レジスタ、6はコモ
ンセグメントビツトレジスタ、7〜10は比較
器、12,13,21および24はORゲート、
14,15,20,22,23,26および27
はNANDゲート、17〜19および25はイン
バータ、11はデータセレクタを示す。
TLB1およびTLB2は、ページ番号の一部で
アドレス(ページ番号のうちTLBをアドレスす
る部分以外の部分およびセグメント番号からな
る)、実ページアドレス、空間識別番号STO、コ
モンセグメントビツトCS、バリツドビツトVで
構成されている。
アドレス(ページ番号のうちTLBをアドレスす
る部分以外の部分およびセグメント番号からな
る)、実ページアドレス、空間識別番号STO、コ
モンセグメントビツトCS、バリツドビツトVで
構成されている。
通常のTLB参照動作においては、SET NEW
ENTRY信号が“0”であり、変換データ登録時
には、SET NEW ENTRY信号が“1”に設定
される。
ENTRY信号が“0”であり、変換データ登録時
には、SET NEW ENTRY信号が“1”に設定
される。
本実施例におけるTLBの参照動作は、従来の
方式と同じである。まずプログラムの論理アドレ
スが論理アドレスレジスタ3に設定されると、論
理アドレスレジスタ3中のページ番号の一部が、
TLB1およびTLB2に与えられる。TLB1およ
びTLB2からそのページ番号の一部に対応する
エントリの変換データが読み出される。ここでウ
エイ1の場合、比較器7は、読み出された変換デ
ータ中の登録論理アドレスと、理アドレスレジス
タ3中の対応する部分とを比較し、一致する場合
にANDゲート14に“1”を出力する。
方式と同じである。まずプログラムの論理アドレ
スが論理アドレスレジスタ3に設定されると、論
理アドレスレジスタ3中のページ番号の一部が、
TLB1およびTLB2に与えられる。TLB1およ
びTLB2からそのページ番号の一部に対応する
エントリの変換データが読み出される。ここでウ
エイ1の場合、比較器7は、読み出された変換デ
ータ中の登録論理アドレスと、理アドレスレジス
タ3中の対応する部分とを比較し、一致する場合
にANDゲート14に“1”を出力する。
比較器8は、TLB1から読み出された変換デ
ータ中の空間識別番号STOと、空間識別番号レ
ジスタ5に設定されている現在の空間識別番号
STOとを比較し、一致すればORゲート12を経
て、ANDゲート14に“1”を出力する。ORゲ
ート12の他方の入力には、TLB1から読み出
された変換データ中のコモンセグメントビツト
CSが与えられ、CS=“1”のとき、ORゲート1
2は比較器8の出力の値の如何に拘らず、AND
ゲート14に、“1”を出力する。すなわちCS=
“1”の場合には、空間識別番号の比較結果が無
視されるようになつている。
ータ中の空間識別番号STOと、空間識別番号レ
ジスタ5に設定されている現在の空間識別番号
STOとを比較し、一致すればORゲート12を経
て、ANDゲート14に“1”を出力する。ORゲ
ート12の他方の入力には、TLB1から読み出
された変換データ中のコモンセグメントビツト
CSが与えられ、CS=“1”のとき、ORゲート1
2は比較器8の出力の値の如何に拘らず、AND
ゲート14に、“1”を出力する。すなわちCS=
“1”の場合には、空間識別番号の比較結果が無
視されるようになつている。
ANDゲート14の他の入力には、さらにTLB
1から読み出された変換データ中のバリツドビツ
ドVが与えられている。したがつてANDゲート
14は、バリツドビツトV=“1”すなわちTLB
1からの読み出された変換データが有効である場
合であつて、さらにCS=“0”であれば比較器7
および8の各出力がともに“1”のときにHIT
1=“1”となり、ウエイ1がヒツトしたことを
表示する。
1から読み出された変換データ中のバリツドビツ
ドVが与えられている。したがつてANDゲート
14は、バリツドビツトV=“1”すなわちTLB
1からの読み出された変換データが有効である場
合であつて、さらにCS=“0”であれば比較器7
および8の各出力がともに“1”のときにHIT
1=“1”となり、ウエイ1がヒツトしたことを
表示する。
同様にTLB2から読み出された変換データ中
のバリツドビツトV=“1”でかつ、CS=“0”
であれば、比較器9および10の各出力がともに
“1”のときに、HIT2=“1”となり、またCS=
“1”であれば比較器9の出力が“1”のときの
みHIT2=“1”となり、ウエイ2がヒツトした
ことを表示する。
のバリツドビツトV=“1”でかつ、CS=“0”
であれば、比較器9および10の各出力がともに
“1”のときに、HIT2=“1”となり、またCS=
“1”であれば比較器9の出力が“1”のときの
みHIT2=“1”となり、ウエイ2がヒツトした
ことを表示する。
さらにデータセレクタ11の入力にHIT1,
HIT2およびウエイ1の実ページアドレス、ウ
エイ2の実ページアドレスを入力することによ
り、HIT1またはHIT2のいずれか一方が“1”
のときデータセレクタ11の出力にヒツトしたほ
うのTLBの実ページアドレスが現れる。
HIT2およびウエイ1の実ページアドレス、ウ
エイ2の実ページアドレスを入力することによ
り、HIT1またはHIT2のいずれか一方が“1”
のときデータセレクタ11の出力にヒツトしたほ
うのTLBの実ページアドレスが現れる。
次にTLBに新しい変換データの登録動作につ
いて述べる。この登録動作は、新しい変換データ
がコモンセグメント領域内のものであるとき、す
なわちコモンセグメントビツトCS=“1”の場合
に本発明に特有の態様で行われる。すなわち、登
録しようとする変換データの論理アドレスと同じ
ものがすでにTLB中に存在していればそのウエ
イに優先的に登録し、その他の場合にはLRU論
理により指定されたウエイに登録するものであ
る。
いて述べる。この登録動作は、新しい変換データ
がコモンセグメント領域内のものであるとき、す
なわちコモンセグメントビツトCS=“1”の場合
に本発明に特有の態様で行われる。すなわち、登
録しようとする変換データの論理アドレスと同じ
ものがすでにTLB中に存在していればそのウエ
イに優先的に登録し、その他の場合にはLRU論
理により指定されたウエイに登録するものであ
る。
TLB1に登録すべき新しい変換データは論理
アドレスレジスタ3、実ページアドレスレジスタ
4、空間識別番号レジスタ5、コモンセグメント
ビツトレジスタ6にそれぞれ設定されている。
アドレスレジスタ3、実ページアドレスレジスタ
4、空間識別番号レジスタ5、コモンセグメント
ビツトレジスタ6にそれぞれ設定されている。
TLB1およびTLB2はそれぞれ参照動作の場
合と同様に、論理アドレスレジスタ3のページ番
号の一部が与えられ、対応するエントリの変換デ
ータを出力する。そして比較器7および比較器9
はそれぞれTLB1およびTLB2から読み出され
た変換データ中の登録論理アドレスと論理アドレ
スレジスタ中の対応する部分とを比較し、一致し
たとき、それぞれインバータ17および18の入
力に“1”を出力する。
合と同様に、論理アドレスレジスタ3のページ番
号の一部が与えられ、対応するエントリの変換デ
ータを出力する。そして比較器7および比較器9
はそれぞれTLB1およびTLB2から読み出され
た変換データ中の登録論理アドレスと論理アドレ
スレジスタ中の対応する部分とを比較し、一致し
たとき、それぞれインバータ17および18の入
力に“1”を出力する。
ここで新しい変換データのコモンセグメントビ
ツト(コモンセグメントビツトレジスタ6に設定
されている)が“0”のとき、インバータ19を
経てORゲート21の1つの入力に“1”が与え
られるため、ANDゲート22の1つの入力に
“1”が与えられる。
ツト(コモンセグメントビツトレジスタ6に設定
されている)が“0”のとき、インバータ19を
経てORゲート21の1つの入力に“1”が与え
られるため、ANDゲート22の1つの入力に
“1”が与えられる。
さらにLRU論理の出力であるLRU DATA信
号(この信号が“0”のときウエイ2に“1”の
ときウエイ1に登録するものとする)がANDゲ
ート22の他の1つの入力に与えられ、しかも
ANDゲート23の1つの入力にコモンセグメン
トビツトレジスタ6から“0”が与えられるた
め、インバータ25、およびANDゲート26の
入力にはLRU DATA信号が現れ、登録動作では
SET NEW ENTRY信号が“1”であるので、
LRU DATA=“1”のときライトイネーブル
WE1が“1”となり新しい変換データはTLB1
に登録され、またLRU DATA=“0”のときに
はWE2が“1”となりTLB2に登録が行われ
る。
号(この信号が“0”のときウエイ2に“1”の
ときウエイ1に登録するものとする)がANDゲ
ート22の他の1つの入力に与えられ、しかも
ANDゲート23の1つの入力にコモンセグメン
トビツトレジスタ6から“0”が与えられるた
め、インバータ25、およびANDゲート26の
入力にはLRU DATA信号が現れ、登録動作では
SET NEW ENTRY信号が“1”であるので、
LRU DATA=“1”のときライトイネーブル
WE1が“1”となり新しい変換データはTLB1
に登録され、またLRU DATA=“0”のときに
はWE2が“1”となりTLB2に登録が行われ
る。
次に、コモンセグメントビツトレジスタ6に
“1”が設定されている場合で比較器7および9
のいずれかが“1”を出力している場合について
述べる。
“1”が設定されている場合で比較器7および9
のいずれかが“1”を出力している場合について
述べる。
比較器7の出力が“1”の場合(すなわち
TLB1中に新しい変換データの論理アドレスと
同じ論理アドレスをもつ古い変換データが存在し
ている場合)には、ANDゲート23の入力は共
に“1”となり、ORゲート24は“1”を出力
する。したがつてWE1=“1”、WE2=“0”とな
つてLRU DATAに関係なく、またTLB2の状
態に関係なくTLB1に登録が行われる。
TLB1中に新しい変換データの論理アドレスと
同じ論理アドレスをもつ古い変換データが存在し
ている場合)には、ANDゲート23の入力は共
に“1”となり、ORゲート24は“1”を出力
する。したがつてWE1=“1”、WE2=“0”とな
つてLRU DATAに関係なく、またTLB2の状
態に関係なくTLB1に登録が行われる。
またTLB2中にのみ新しい変換データの論理
アドレスと同じ論理アドレスを持つ古い変換デー
タが存在している場合には、比較器9が“1”を
出力し、インバータ18およびANDゲート20
を経てORゲート21の一つの入力に“0”を与
える。ORゲート21の他方の入力も、コモンセ
グメントビツトレジスタ6の値(“1”)がインバ
ータ19を経て“0”となるので、ORゲート2
1の出力は“0”となり、ANDゲート22を経
てORゲート24の一つの入力に“0”を与え
る。またORゲート24の他方の入力には、比較
器7の出力が“0”のときにはANDゲート23
を経て“0”が与えられるので、ORゲート24
は“0”を出力する。したがつてWE1=“0”、
WE2=“1”となつてLRU DATAに関係なく
TLB2に登録が行われる。
アドレスと同じ論理アドレスを持つ古い変換デー
タが存在している場合には、比較器9が“1”を
出力し、インバータ18およびANDゲート20
を経てORゲート21の一つの入力に“0”を与
える。ORゲート21の他方の入力も、コモンセ
グメントビツトレジスタ6の値(“1”)がインバ
ータ19を経て“0”となるので、ORゲート2
1の出力は“0”となり、ANDゲート22を経
てORゲート24の一つの入力に“0”を与え
る。またORゲート24の他方の入力には、比較
器7の出力が“0”のときにはANDゲート23
を経て“0”が与えられるので、ORゲート24
は“0”を出力する。したがつてWE1=“0”、
WE2=“1”となつてLRU DATAに関係なく
TLB2に登録が行われる。
またコモンセグメントビツトレジスタ6に
“1”が設定されているが、比較器7および9が
共に“0”を出力している(すなわち、全く新し
いコモンセグメント領域内の変換データを登録し
ようとする)場合には、インバータ17および1
8を経てANDゲート20の入力が共に“1”と
なるので、ORゲート21を経てANDゲート22
の一つの入力に“1”が与えられ、またANDゲ
ート23を経てORゲート24の一つの入力に
“0”が与えられる為、コモンセグメントビツト
レジスタ6が“0”の場合と同様LRU DATA=
“1”のときWE1=“1”、LRU DATA=“0”
のときWE2=“1”となつてLRU論理による置換
が行われる。
“1”が設定されているが、比較器7および9が
共に“0”を出力している(すなわち、全く新し
いコモンセグメント領域内の変換データを登録し
ようとする)場合には、インバータ17および1
8を経てANDゲート20の入力が共に“1”と
なるので、ORゲート21を経てANDゲート22
の一つの入力に“1”が与えられ、またANDゲ
ート23を経てORゲート24の一つの入力に
“0”が与えられる為、コモンセグメントビツト
レジスタ6が“0”の場合と同様LRU DATA=
“1”のときWE1=“1”、LRU DATA=“0”
のときWE2=“1”となつてLRU論理による置換
が行われる。
以上のようにして、本発明によればTLB参照
時のマルチヒツトの可能性をなくすことができ、
マルチヒツトが起きた場合にはそれを全てハード
ウエア障害とみなすことができる。またTLB中
のコモンセグメントビツトを“0”から“1”に
変更する場合にもパージTLB(PTLB)命令を発
行する必要がなく、TLB利用の効率化が図られ
る。
時のマルチヒツトの可能性をなくすことができ、
マルチヒツトが起きた場合にはそれを全てハード
ウエア障害とみなすことができる。またTLB中
のコモンセグメントビツトを“0”から“1”に
変更する場合にもパージTLB(PTLB)命令を発
行する必要がなく、TLB利用の効率化が図られ
る。
第1図は本発明の1実施例システムの構成図、
第2図は従来の一般的な動的アドレス変換機構の
説明図、第3図は多重仮想空間とコモンセグメン
トビツト(CS bit)の説明図、第4図はTLBに
おけるマルチヒツト発生過程の説明図である。 図中、1および2はTLB、3は論理アドレス
レジスタ、4は実ページアドレスレジスタ、5は
空間識別番号(STO)レジスタ、6はコモンセ
グメン(CS)ビツトレジスタ、7〜10は比較
器、12,13,21および24はORゲート、
14,15,20,22,23,26および27
はANDゲート、17〜19および25はインバ
ータ、11はデータセレクタを示す。
第2図は従来の一般的な動的アドレス変換機構の
説明図、第3図は多重仮想空間とコモンセグメン
トビツト(CS bit)の説明図、第4図はTLBに
おけるマルチヒツト発生過程の説明図である。 図中、1および2はTLB、3は論理アドレス
レジスタ、4は実ページアドレスレジスタ、5は
空間識別番号(STO)レジスタ、6はコモンセ
グメン(CS)ビツトレジスタ、7〜10は比較
器、12,13,21および24はORゲート、
14,15,20,22,23,26および27
はANDゲート、17〜19および25はインバ
ータ、11はデータセレクタを示す。
Claims (1)
- 1 コモンセグメントビツトを有するTLBをそ
なえた多重仮想記憶システムにおいて、上記
TLBにコモンセグメントの論理アドレスである
ことを表すコモンセグメントビツトが“1”の論
理アドレスを登録する際に、まず当該論理アドレ
スと同一の論理アドレスがTLBに登録されてい
るか否かを調べ、登録されている場合にはそのウ
エイに上記コモンセグメントビツトが“1”の論
理アドレスを登録し、また登録されていない場合
にはLRU論理に基づき指示されたウエイに上記
コモンセグメントビツトが“1”の論理アドレス
を登録することを特徴とする多重仮想記憶システ
ムにおけるTLB制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59223240A JPS61101855A (ja) | 1984-10-24 | 1984-10-24 | 多重仮想記憶システムにおけるtlb制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59223240A JPS61101855A (ja) | 1984-10-24 | 1984-10-24 | 多重仮想記憶システムにおけるtlb制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61101855A JPS61101855A (ja) | 1986-05-20 |
| JPH0351015B2 true JPH0351015B2 (ja) | 1991-08-05 |
Family
ID=16794992
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59223240A Granted JPS61101855A (ja) | 1984-10-24 | 1984-10-24 | 多重仮想記憶システムにおけるtlb制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61101855A (ja) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS553077A (en) * | 1978-06-23 | 1980-01-10 | Fujitsu Ltd | Multi-virtual data processing system |
| JPS5925303B2 (ja) * | 1980-05-16 | 1984-06-16 | 富士通株式会社 | 多重仮想計算機システムにおける多重仮想記憶制御方式 |
-
1984
- 1984-10-24 JP JP59223240A patent/JPS61101855A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61101855A (ja) | 1986-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5761734A (en) | Token-based serialisation of instructions in a multiprocessor system | |
| US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
| US4905141A (en) | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification | |
| JP3740195B2 (ja) | データ処理装置 | |
| US5133058A (en) | Page-tagging translation look-aside buffer for a computer memory system | |
| US5584014A (en) | Apparatus and method to preserve data in a set associative memory device | |
| KR920005280B1 (ko) | 고속 캐쉬 시스템 | |
| CN100397367C (zh) | 用于实时应用程序的改进的存储器管理 | |
| JPS6135584B2 (ja) | ||
| US6874077B2 (en) | Parallel distributed function translation lookaside buffer | |
| US5479630A (en) | Hybrid cache having physical-cache and virtual-cache characteristics and method for accessing same | |
| JPH04320553A (ja) | アドレス変換機構 | |
| EP1204029A2 (en) | Microprocessor and address translation method for microprocessor | |
| EP0284751B1 (en) | Cache memory | |
| JP2930071B2 (ja) | 情報処理装置およびプロセッサ | |
| US20020156989A1 (en) | Method for sharing a translation lookaside buffer between CPUs | |
| US5913222A (en) | Color correction method in a virtually addressed and physically indexed cache memory in the event of no cache hit | |
| US20050027960A1 (en) | Translation look-aside buffer sharing among logical partitions | |
| US5319761A (en) | Directory look-aside table for a virtual storage system including means for minimizing synonym entries | |
| US6598050B1 (en) | Apparatus and method for limited data sharing in a multi-tasking system | |
| JPH0519176B2 (ja) | ||
| JP2007280421A (ja) | データ処理装置 | |
| US6807602B1 (en) | System and method for mapping bus addresses to memory locations utilizing access keys and checksums | |
| JPH0351015B2 (ja) | ||
| JPH0760411B2 (ja) | バッファ記憶制御装置 |