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
Application number
JP59223240A
Other languages
English (en)
Other versions
JPS61101855A (ja
Inventor
Tsuyoshi Mori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP59223240A priority Critical patent/JPS61101855A/ja
Publication of JPS61101855A publication Critical patent/JPS61101855A/ja
Publication of JPH0351015B2 publication Critical patent/JPH0351015B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、多重仮想記憶システムにおいて仮想
アドレスを実アドレスに高速変換するために使用
されるTLB(Translation Lookaside Buffer)
の制御方式に関し、特に多重仮想空間内の共通領
域のように、異なる仮想空間で同じ内容のアドレ
ス変換が行われる場合に、TLBを効率的に機能
させるためのTLB制御方式に関する。
〔従来の技術〕
セグメンテーシヨンおよびページング方式の多
重仮想記憶システムでは、実行されるプログラム
(ジヨブ)ごとに仮想空間が生成され、そして生
成された仮想空間には、空間固有の空間識別番号
STOによつて特定されるセグメントテーブルと
そのセグメントテーブルによつて参照されるペー
ジテーブルとを付属させることにより、空間相互
の領域保護や供用領域管理を行つている。
1つの仮想空間は、たとえば連続した256セグ
メントで構成され、さらにその1セグメントは連
続した16ページ、そして1ページは連続した4キ
ロバイトの領域で構成されている。各仮想空間
は、空間識別番号STOで識別される。また各論
理アドレスは、セグメント番号、ページ番号、ペ
ージ内変位で表されている。
仮想空間で走行するプログラムの論理アドレス
を実アドレスに変換するために、動的アドレス変
換(DAT)機構が使用される。
第2図は動的アドレス変換機構の概念図であ
り、図中の31は論理アドレスレジスタ、32は
空間識別番号STO、33はセグメントテーブル、
34はページテーブル、35は実アドレスレジス
タ、36は実記憶装置、37はTLBを示す。
動作において、論理アドレスレジスタ31中の
セグメント番号により、空間識別番号STOが指
定されたセグメントテーブル33を参照し、セグ
メント番号に対応するセグメントのページテーブ
ル34の起点を示すページテーブルアドレスを求
める。これによりさらにページテーブル34を論
理アドレスレジスタ31中のページ番号を用いて
参照し、該当する実ページのアドレス、すなわち
実記憶装置36上のページの起点を示すアドレス
を求める。この実ページアドレスと論理アドレス
レジスタ31中のページ内変位とを組み合わせて
実アドレスレジスタ35中に実アドレスを生成
し、実記憶装置36あるいは図示されていないバ
ツフアメモリをアクセスする。
ここで論理アドレスレジスタ31中のセグメン
ト番号とページ番号の組み合わせは、論理ページ
アドレスと呼ぶことにする。この論理ページアド
レスがセグメントテーブルおよびページテーブル
を用いて、実ページアドレスに変換されたとき、
そのアドレス対は、TLB37に登録される。
TLB37は、高速のバツフアメモリであり、最
近使用された論理アドレスの変換データを一定量
保持し、直接変換を可能にする。すなわち、セグ
メントテーブル33およびページテーブル34を
用いる動的アドレス変換方法が2回のメモリアク
セスを必要とし、変換時間が長くかかることに対
する改善手段となつている。なお、TLBを構成
する複数のエントリ(テーブル行)はウエイ
(WAY)と呼ばれている。
TLB37の登録更新は、LRU(Least
Recently Used)法に基づいて、最近もつとも使
用されていない変換データを追い出し、その後に
新しい変換データを書き込むことによつて行われ
る。
ところで多重仮想空間では、制御プログラムお
よびテーブルを常駐させておくシステム領域や共
通領域が各空間で同一の実アドレスをもつことに
なる。したがつてこれらのシステム領域や共通領
域に対応するセグメントは、同一のページテーブ
ルを共用することができる。また同様にしてこれ
らの領域のセグメントはTLB37内の変換デー
タを共用することができる。これらの空間共通の
セグメントは、コモンセグメントと呼ばれてい
る。
コモンセグメントを識別可能にするため、第2
図のセグメントテーブル33内にCSで示されて
いるように、各空間のセグメントテーブルにはセ
グメントごとにCS(コモンセグメント)ビツトが
設けられ、各コモンセグメントについては、その
CSビツトが“1”に設定される。
各コモンセグメント領域内の論理アドレスの変
換については、空間識別番号STOを無視され、
それぞれの空間の論理アドレスは、単一空間の論
理アドレスであるかのように取扱われて、同じセ
グメントテーブルおよびページテーブルを用いて
実アドレスに変換される。
この場合、TLB37にもCSビツト(第2図参
照)が設けられており、コモンセグメント領域の
変換データとして共用されるものであるか否かが
表示される。
仮想空間は、IPL直後は第3図aに示すように
単一であり(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)が生じる。
以下に第3図の例を用いて、マルチウエイヒツ
トが生じる過程を第4図に乃至で示す。なお
第3図においては、各空間(空間識別番号#0乃
至#n)の各コモンセグメント領域内の論理アド
レスAがアクセスされるものとする。
まずは、第3図aのIPL直後に行われた単一
の空間#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とな
る。
は、でのTLB Missの結果、STO#1の
空間のセグメントテーブルおよびページテーブル
を用いて得た変換データをTLBに登録した状態
である。この場合、LRU論理によりTLBのウエ
イ#1に、CS=1、STO=#1、論理アドレス
=Aが登録される。
では、STO#0の空間から論理アドレスA
のアクセス要求が出され、ウエイ#0の変換デー
タが一致し、さらにウエイ#1がCS=1である
ことから空間識別番号のSTO=#1が無視され、
ここでもアドレスの一致が得られ、マルチウエイ
ヒツトとなる。
〔発明が解決しようとする問題点〕
本発明は、従来のコモンセグメントを使用する
動的アドレス変換機構において、コモンセグメン
ト間で重複変換データがTLBに登録されること
によりマルチウエイヒツトが発生する問題を解決
しようとするものである。
〔問題点を解決するための手段〕
本発明は、コモンセグメント領域内の論理アド
レスの変換で得られた新しい変換データを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はデータセレクタを示す。
TLB1およびTLB2は、ページ番号の一部で
アドレス(ページ番号のうちTLBをアドレスす
る部分以外の部分およびセグメント番号からな
る)、実ページアドレス、空間識別番号STO、コ
モンセグメントビツトCS、バリツドビツトVで
構成されている。
通常のTLB参照動作においては、SET NEW
ENTRY信号が“0”であり、変換データ登録時
には、SET NEW ENTRY信号が“1”に設定
される。
本実施例におけるTLBの参照動作は、従来の
方式と同じである。まずプログラムの論理アドレ
スが論理アドレスレジスタ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”の場合には、空間識別番号の比較結果が無
視されるようになつている。
ANDゲート14の他の入力には、さらにTLB
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がヒツトした
ことを表示する。
さらにデータセレクタ11の入力にHIT1,
HIT2およびウエイ1の実ページアドレス、ウ
エイ2の実ページアドレスを入力することによ
り、HIT1またはHIT2のいずれか一方が“1”
のときデータセレクタ11の出力にヒツトしたほ
うのTLBの実ページアドレスが現れる。
次にTLBに新しい変換データの登録動作につ
いて述べる。この登録動作は、新しい変換データ
がコモンセグメント領域内のものであるとき、す
なわちコモンセグメントビツトCS=“1”の場合
に本発明に特有の態様で行われる。すなわち、登
録しようとする変換データの論理アドレスと同じ
ものがすでにTLB中に存在していればそのウエ
イに優先的に登録し、その他の場合にはLRU論
理により指定されたウエイに登録するものであ
る。
TLB1に登録すべき新しい変換データは論理
アドレスレジスタ3、実ページアドレスレジスタ
4、空間識別番号レジスタ5、コモンセグメント
ビツトレジスタ6にそれぞれ設定されている。
TLB1およびTLB2はそれぞれ参照動作の場
合と同様に、論理アドレスレジスタ3のページ番
号の一部が与えられ、対応するエントリの変換デ
ータを出力する。そして比較器7および比較器9
はそれぞれTLB1およびTLB2から読み出され
た変換データ中の登録論理アドレスと論理アドレ
スレジスタ中の対応する部分とを比較し、一致し
たとき、それぞれインバータ17および18の入
力に“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に登録が行われ
る。
次に、コモンセグメントビツトレジスタ6に
“1”が設定されている場合で比較器7および9
のいずれかが“1”を出力している場合について
述べる。
比較器7の出力が“1”の場合(すなわち
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に登録が行われる。
またコモンセグメントビツトレジスタ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論理による置換
が行われる。
〔発明の効果〕
以上のようにして、本発明によれば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はデータセレクタを示す。

Claims (1)

    【特許請求の範囲】
  1. 1 コモンセグメントビツトを有するTLBをそ
    なえた多重仮想記憶システムにおいて、上記
    TLBにコモンセグメントの論理アドレスである
    ことを表すコモンセグメントビツトが“1”の論
    理アドレスを登録する際に、まず当該論理アドレ
    スと同一の論理アドレスがTLBに登録されてい
    るか否かを調べ、登録されている場合にはそのウ
    エイに上記コモンセグメントビツトが“1”の論
    理アドレスを登録し、また登録されていない場合
    にはLRU論理に基づき指示されたウエイに上記
    コモンセグメントビツトが“1”の論理アドレス
    を登録することを特徴とする多重仮想記憶システ
    ムにおけるTLB制御方式。
JP59223240A 1984-10-24 1984-10-24 多重仮想記憶システムにおけるtlb制御方式 Granted JPS61101855A (ja)

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)

* Cited by examiner, † Cited by third party
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 富士通株式会社 多重仮想計算機システムにおける多重仮想記憶制御方式

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) バッファ記憶制御装置