JPH05197626A - 仮想記憶システムのための登録簿索引テーブル論理装置 - Google Patents

仮想記憶システムのための登録簿索引テーブル論理装置

Info

Publication number
JPH05197626A
JPH05197626A JP4188473A JP18847392A JPH05197626A JP H05197626 A JPH05197626 A JP H05197626A JP 4188473 A JP4188473 A JP 4188473A JP 18847392 A JP18847392 A JP 18847392A JP H05197626 A JPH05197626 A JP H05197626A
Authority
JP
Japan
Prior art keywords
space
address
bits
bit
index table
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.)
Granted
Application number
JP4188473A
Other languages
English (en)
Other versions
JPH0769867B2 (ja
Inventor
Kevin A Chiarot
ケビン・アーサー・キアロット
Richard J Schmalz
リチャード・ジョン・シュマルツ
Theodore J Schmitt
セオドア・ジェローム・シュミット
Arnold S Tran
アーノルド・スチーブン・トラン
Shih-Hsiung S Tung
シー−シュン・ステファン・タング
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05197626A publication Critical patent/JPH05197626A/ja
Publication of JPH0769867B2 publication Critical patent/JPH0769867B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 複数のデータ空間において、仮想ページアド
レスの周期性を効率的に処理するための登録簿索引テー
ブル(DLAT)論理装置の提供。 【構成】 改良されたDLAT構造はアドレス空間とデ
ータ空間とを識別する。DLAT構造は、仮想ページ・
アドレスのDLAT列への割当を制御する1以上の空間
IDによって、データ空間を分類する。一実施例では、
異なるDLATアドレス指定アルゴリズムを選択するの
に“私用空間ビット”が用いられる。他の実施例では、
空間IDビットを用いてデータ空間がサブクラスに分け
られ、各サブクラスに対し、固有のアルゴリズムが、ペ
ージ・アドレスビットに基づいて選択される。排他的O
R関数が、DLAT選択ビットを生成するのに用いられ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的に、データ処理
システムのための仮想記憶機構に関し、特に、複数のデ
ータ空間での処理に際し、周期的な仮想ページアドレス
の改良された処理を可能にする改良された登録簿索引テ
ーブル(directrory look−aside
table:DLAT)構造に関する。本発明は、特
に、複数のデータ空間において並行して仮想アドレスを
実主記憶アドレスに変換できるDLATエントリを有す
るシステムのための、DLAT内のシノニムエントリの
最小化を目指している。
【0002】
【従来の技術】データ処理システムのための仮想記憶編
成およびその管理は、例えば、Harvey M. D
eitel著“An Introduction to
Operating Systems”,Addis
on−Wesley(1984)や、Harold L
orinおよびHarvey M. Deitel著
“Operating Systems”,Addis
on−Wesley(1981)や、Harold
S. Stone著“High−Performanc
e Computer Architecture”,
Addison−Wesley(1987)に説明され
ている。仮想記憶システムでは、ページングは再配置で
あり、アドレス対物理位置結合機構であり、システムの
ユーザに、実際に使用可能な空間よりも相当大きく見え
るメモリ空間を提供する。仮想記憶概念のキーとなる特
徴は、実行プロセスで参照されるアドレスと主記憶で使
用可能なアドレスとが互いに独立であることである。実
行プロセスによって参照されるアドレスを、仮想アドレ
スと呼び、主記憶で使用可能なアドレスを実アドレスと
呼ぶ。仮想アドレスは、プロセスが実行する実アドレス
に写像されねばならず、それは動的アドレス変換(dy
namicaddress translation:
DAT)機構によって実行される。そのような機構の1
つは、登録簿索引テーブル(DLAT)を採用してお
り、新しい仮想アドレス翻訳を格納する変換索引緩衝機
構(translationlook−aside b
uffer:TLB)と呼ばれるときもある。DATプ
ロセスは、DLATに格納された仮想アドレスについて
は1〜2のマシンサイクルを要求する。しかし、DLA
Tに格納されていないアドレスに対しては、DATプロ
セスは15〜60マシンサイクルを要することがある。
【0003】仮想アドレスから実アドレスへの変換は、
アドレス指定された命令またはデータが主記憶のどこに
存在するのかを見出すために行われる。これは典型的
に、ページを基にして行われる。実際、DLATに格納
されているのは、実際にはページのみである。アドレス
の後半ビット群はそのページにおける位置であるので、
ページアドレスのみの変換で十分なためである。
【0004】従来の仮想記憶システムでは、過度のペー
ジングの結果、システムが有効作業を少ししか行えない
スラッシングと呼ばれる状態が発生する。この状態は、
例えば、AFIPS Conf. Proc., vo
l.33,1968 FJCC, pp.915−92
2,“Thrashing:its Causesan
d Prevention”,においてP. J. D
enningにより認識され、説明されている。Den
ningの主張によれば、プログラムを効率的に実行す
るには、作業ページ・セットを1次記憶に保持しなけれ
ばならない。そうでなければ、プログラムが2次記憶か
らのページを繰り返し要求する毎に、スラッシングが発
生する。この状態は上記のDeitelによって、前記
文献のVertual Storage Manage
mentの章・セクション9.5“Working S
ets”で言及されている。
【0005】米国特許第4,136,385号明細書
は、この問題を、多重仮想記憶システムに対するシノニ
ム制御として扱っている。この明細書ではDLATシノ
ニム制御を、DLATエントリが全ユーザ・アドレス空
間によって共有されるのか、あるいはDLATにおいて
識別される単一アドレス空間に制限されるのかを示すイ
ンディケータの、各DLATエントリへのセッティング
を制御する。これは、任意の私用アドレス空間におい
て、セグメントまたはページが、そのアドレス空間専用
のプログラムおよびデータを含むのか、あるいは全アド
レス空間によって共有されるプログラムおよびデータを
含むのかを示す、任意のセグメント・テーブル・エント
リ(STE)内の、あるいはまた、任意のページ・テー
ブル・エントリ(PTE)内の共通空間ビットによって
達成される。このように、各DLATエントリは、共通
/私用記憶インディケータを含み、そのインディケータ
は、アドレス変換に使用されるSTEまたはPTE内の
共通空間ビットの状態に対してセットされ、DLATエ
ントリ内にロードされる。エントリが読み出されると
き、共通/私用記憶インディケータは、DLATが単に
DLATにおいて識別されるアドレス空間によって使用
されるだけか、あるいは、全アドレス空間によって使用
されるかを区別する。
【0006】従来の2ウェイDLAT設計は、周期的な
仮想ページ・アドレスを、複数のデータ空間で処理する
とき、不十分な処理しかできなかった。典型的な2ウェ
イDLAT設計は、全データ空間の同一の仮想アドレス
を、同一のDLAT列に写像してしまう。例えば、次の
擬似コード DO i=1 to 1,000 A(i)+B(i)=C(i) において、もしA,B,およびCが同一の開始値(例え
ば0)を3つのデータ空間それぞれに有するならば、デ
ータ空間のシノニムによって発生したDLATスラッシ
ングのために、このコードによるパフォーマンスは低下
する。米国特許第4,136,385号明細書のシノニ
ム制御は、共通空間ビットによってシノニムのクラス・
エントリを防止してはいるものの、同一のオリジンを有
する3つのデータ空間によって生成された、2ウェイD
LATにおけるシノニムの問題を解決できない。
【0007】
【発明が解決しようとする課題】本発明の一般的な目的
は、アドレス空間とデータ空間とを識別する、改良され
たDLAT論理装置を提供することにあり、この論理装
置は、複数のデータ空間での処理のとき、仮想ページア
ドレスの周期性を効率的に処理する。
【0008】本発明の他のより具体的な目的は、データ
空間を、DLAT列への仮想ページアドレスの割当を制
御する1以上の空間IDによってクラス分けする、改良
されたDLAT論理装置を提供することにある。
【0009】
【課題を解決するための手段】本発明によると、米国特
許第4,136,385号明細書のシノニム制御の共通
空間ビットに対応する“私用空間ビット”を用いて、異
なるDLATアドレス指定アルゴリズムを選択する、改
良されたDLAT論理装置が提供される。空間IDビッ
トを用いてさらに、データ空間をサブクラスに分け、各
サブクラスに対し、ページ・アドレスビットに基づい
て、固有のアルゴリズムを選択する。DLAT選択ビッ
トを生成するために、排他的OR関数を用いる。
【0010】この手法は私用空間のシノニムの発生を最
小にし、共通空間のシノニムの発生を最大にする。その
結果、前者がスラッシングを最小化し、後者がDLAT
共通ビットの値を最大化するので、改良されたパフォー
マンスが得られる。
【0011】
【実施例】以下の説明において、登録簿索引テーブルに
対し“DLAT”の用語を用いるが、この用語は変換索
引緩衝機構“TLB”(translation lo
ok−aside buffer)と相互交換的に用い
ることができることを、当業者は理解するだろう。以下
の説明のために、ページングおよびセグメンテーション
仮想アドレス・システムを仮定する。このシステムにお
ける仮想アドレスのフォーマットを図1に示し、このフ
ォーマットは、セグメント・インデックス(SX)とし
てsビット、ページ・インデックス(PX)としてpビ
ット、変位インデックス(displacement
index:DX)としてdビットを含んでいる。仮想
アドレスは、例えば、31ビットとし、そのうちの、ビ
ットA1〜A11はセグメントビットを含み、ビットA
12〜A19はページビットを含み、ビットA20〜A
31は変位ビットを含むことになる。
【0012】図2に示すように、仮想アドレスはアドレ
ス・ジェネレータ20によって生成される。アドレス・
ジェネレータ20はCPU(central proc
essing unit:中央処理装置,図示せず)の
一部である。最も最近参照されたページは、DLAT2
1内にエントリを有する。256個の合同クラスを有す
るDLATにおいては、仮想アドレスのビットA12〜
A19が、DLATをアドレス指定するのに用いられ
る。DLAT21から読み出されたアドレス・エントリ
からの仮想ページIDビットは、比較器22において、
仮想アドレスのビットA1〜A11と比較される。一致
がない場合をDLAT誤りという。DLAT誤りが発生
すると、例えば、セグメントまたはページ・テーブル・
サーチを通じてアドレス翻訳が得られ、DLAT内に置
かれる。このサーチを実施する構造は、バッファ制御機
構(buffer control element:
BCE)と呼ばれる。
【0013】セグメントまたはページ・テーブル・サー
チは、セグメント・テーブル・オリジンレジスタ23の
値と、仮想アドレスのビットA1〜A11を、加算器2
4において加算し、セグメント・マップ・テーブル25
に対するインデックス値を得ることにより開始する。次
に、セグメント・マップ・テーブル25からのエントリ
出力を、ページ・マップ・テーブル26のエントリに対
するインデックスとして用いる。各セグメントには個別
のページ・マップ・テーブルが存在している。ページ・
マップ・テーブル26からのエントリ出力は、実記憶内
で仮想ページが存在するページ・フレームを与え、OR
ゲート27に引き渡され、仮想アドレス・ジェネレータ
20の変位ビットA20〜A31と連結されて、実アド
レスレジスタ28に実アドレスを形成する。
【0014】一方、DLAT21に一致がある場合、比
較器22はANDゲート29をイネーブルし、ANDゲ
ート29はエントリ出力をDLAT21からORゲート
27に引き渡す。この場合、DLAT21からのエント
リ出力は、実アドレスのフィールドに対応付けられ、こ
のフィールドは変位ビットA20〜A31に連結され
て、レジスタ28に実記憶アドレスを形成する。明らか
に、このアドレス変換プロセスは、DLAT誤りで発生
したセグメントまたはページ・テーブル・サーチのプロ
セスよりも、相当速い。セグメントまたはページ・テー
ブル・サーチは、完了するのに15〜80マシンサイク
ルを要するのに対し、DLATアクセスは1マシンサイ
クルで完了する。
【0015】通常、多くのアドレス変換要求はDLAT
のサーチによって生成される。一方、セグメントまたは
ページ・テーブル・サーチは、DLATによって変換を
行うより多くの数のプロセッサ・サイクルを要するだけ
でなく、セグメントまたはページ・テーブル・サーチは
それ自身で、変換失敗の可能性がないわけではない。例
えば、セグメント・マップ・テーブル・サーチは、セグ
メントが1次記憶すなわち主記憶に存在しないことを示
す場合があり得る。そのときは、オペレーティングシス
テムに命じてセグメントを2次記憶、すなわち直接アク
セス記憶装置(direct access stor
age device:DASD)に配置させ、そのセ
グメントに対しページ・テーブルを生成させ、適切なペ
ージを1次記憶にロードするが、それによってプロセス
内の既存ページを排除することとなる。
【0016】たとえセグメントが1次記憶に存在し、所
望のページが1次記憶に存在していない場合もある。そ
のときも、オペレーティングシステムに命じてページを
2次記憶に配置させ、ページを1次記憶にロードする
が、プロセス内の既存ページを排除することとなる。2
次記憶アクセスのプロセスは、数百プロセッサ・サイク
ルともなり得る。
【0017】これまでの説明は従来のDLAT構造に対
するものである。この従来のDLAT構造に関する問題
は、複数のアドレス空間に対する仮想アドレスを同時
に、実主記憶アドレスに変換することのできるデータ処
理システムにおける、DLATシノニムエントリの問題
を解消しない。ここで、「シノニムエントリ」とは、異
なるアドレス空間が、共有されたプログラムおよびデー
タの同一セットにアクセスせねばならない場合をいう。
その問題は、上述のGannon他によるの米国特許第
4,136,385号明細書において示され、Gann
on他は共通空間ビットを用いた特別の制御を与えてい
る。しかし、これは、複数のデータ空間での処理の際、
仮想ページアドレスの周期性によって引き起こされる問
題を示していない。すなわち、A,B,およびCが同一
の仮想ページアドレス(例えば0)および異なるデータ
空間を有し、従来の2ウェイ(XおよびYサイド)DL
AT構造を有する周期的処理の例 A(i)+B(i)=C(i) では、A(i)およびB(i)に対する関連実アドレス
は、アドレス変換が完了した後に、それぞれがDLAT
のXおよびYサイドの0番地にロードされる。C(i)
の関連実アドレスは、アドレス変換の後、DLATのX
サイドの同じアドレスにロードされ、A(i)のDLA
Tエントリを上書きする。次のループで、A(i)につ
いてはDLAT誤りを発生するため、再変換に多くのマ
シンサイクルを要する。さらに、再変換されたA(i)
の関連実アドレスはDLATのYサイドにロードされ、
B(i)のDLATエントリを上書きするので、同様の
問題を引き起こす。この種のDLATスラッシングは著
しいシステム・パフォーマンスの劣化を招く。
【0018】本発明はアドレス空間とデータ空間を識別
する。この種の識別機構は既知であり、上述のGann
on他の米国特許第4,136,385号明細書が教示
している。セグメント・テーブル指定(STD)ビット
“23”は私用空間(データ空間)ビットとして定義さ
れている。図3は、文字“p”というラベルを付けたS
TDビット“23”を示す。このSTDビットは、論理
値“1”であると、DLAT内でデータ空間を分離する
のに用いられる。STDビット“23”が論理値“0”
のときは、アドレス空間に対する、共通セグメントビッ
トのDLATパフォーマンス値を保持するのに用いられ
る。
【0019】本発明は、この機構の上に、1以上の空間
ID(SPACE−ID)でデータ空間をサブクラスに
分け、(例えばノンコスタント(non−consta
nt)またはランダムな)下位ビットを識別することに
よって、成り立っている。図4は、セグメント・テーブ
ル・オリジン(STO)ビット“1”〜“19”をSP
ACE−IDビットとして示している。IBM社のMV
Sシステムにおいては、これらのビットはSTOレジス
タに格納され、アンハッシュト(unhashed)ノ
ンコンスタント下位ビット、または多くのSTOノンコ
ンスタントビットのハッシュの下位出力ビットとなるこ
とができる。データ空間の各サブクラスに対し、仮想ペ
ージ・アドレス(PAGE−ADDR)ビットを用い
て、固有のアルゴリズムを選択して、DLAT列に仮想
ページ・アドレスの割当を行う。これらのビットは、ア
ンハッシュトPAGE−ADDRビット、または多くの
PAGE−ADDRビットのハッシュの出力ビットとな
ることができる。MVS環境はIBM社の多重仮想記憶
(Multiple Virtual Storag
e:MVS)オペレーティングシステムを参照し、この
オペレーティングシステムは1974年中頃にメインフ
レーム・コンピュータの分野に導入された。このオペレ
ーティングシステムの一般的な説明については、例えば
上述のDeitelの著書の第21章を参照されたい。
【0020】一実施例では、2(偶数または奇数)デー
タ空間サブクラス設計が、MVS環境におけるビット
“17”のようなデータ空間アンハッシュトSTOビッ
トと、仮想ページ・アンハッシュトPAGE−ADDR
上位ビットとの排他的ORによって実現される。この設
計の結果は、次の通りである。偶数サブクラス・データ
空間(STOビット“17”=0)に対して、0値PA
GE−ADDR上位ビットを有するデータ空間ページア
ドレスを、DLATの偶数列に割当て、1値PAGE−
ADDR上位ビットを有するデータ空間ページアドレス
を、DLATの奇数列に割当てる。奇数サブクラス・デ
ータ空間(STOビット“17”=1)に対して、0値
PAGE−ADDR上位ビットを有するデータ空間ペー
ジアドレスを、DLATの奇数列に割当て、1値PAG
E−ADDR上位ビットを有するデータ空間ページアド
レスを、DLATの偶数列に割当てる。
【0021】256×2個のDLATがあるとする。も
し空間AおよびCのサブクラスが0であり、空間Bのサ
ブクラスが1であるならば、Aの各対応偶数ページをD
LAT偶数列に割当て、Bの各対応偶数ページをDLA
T奇数列に割当て、Cの各対応偶数ページをDLAT偶
数列に割当てる。同様にして、Aの各対応奇数ページを
DLAT奇数列に割当て、Bの各対応奇数ページをDL
AT偶数列に割当て、Cの各対応奇数ページをDLAT
奇数列に割当てる。
【0022】図5は排他的OR演算を表で表現したもの
で、前述の関係を示している。図5において注目すべき
は、0サブクラス・データ空間割当ルールが、アドレス
空間に対する割当ルールと同一であることである。周期
的プロセッシングの例、A(i)+B(i)=C(i)
に対し、もし3つのデータ空間の少なくとも1つが、S
TO下位ビットによって判別された他の2つのデータ空
間と異なるサブクラスであるならば、2ウェイDLAT
のスラッシングはほとんどないか、または全くない。デ
ータ空間のこの分離は、データ空間に対するSTOビッ
トのMVS割当が、通常はランダムであるという事実の
ためである。実際、参照された3つの空間すべてが同一
のサブクラスである確率は0.25である。さらに、S
TOビットがMVSによって順番に割当てられるとき、
3つの連続的に生成されたデータ空間すべてが同一のサ
ブクラスである確率は0である。
【0023】本発明の好適な実施例によるDLAT処理
の論理装置を、図6に示し、参照する。この論理装置
は、入力として、仮想アドレス60からのビットと、S
TDビット“23”(参照番号61)と、セグメント・
テーブル・オリジン(STO)ビット62からのSPA
CE−IDビットとを受け取る。排他的ORゲート63
は、仮想アドレス60のPAGE−ADDRのnビット
と、SPACE−ID62からのnビットとを受け取
る。PAGE−ADDRのnビットは、セレクタ64に
入力aとして供給され、排他的ORゲート63の出力
は、セレクタ64に入力bとして供給される。セレクタ
64の動作は、“p”ビット(STDビット“23”)
61によって制御される。
【0024】nデータ空間サブクラスの一般的なケース
は、n個の識別用下位SPACE−IDビットと、n個
の上位仮想ページ・アドレス(PAGE−ADDR)ビ
ットとの各組合せに対する、nビットの固有セットを生
成することにより得られる。DLAT65に対するn個
の上位有効列選択ビットの生成プロセスは、セレクタ6
4および排他的ORゲート63から得られる。DLAT
65の構造は従来のものであり、好適な構造はIBM3
090−Sマシンに使用されている構造である。各DL
ATエントリは、19個のSTOビットと、1個の共通
空間ビットと、1個の私用空間ビットと、11個の上位
仮想アドレスビットと、19個の上位実アドレスビット
とを含むフィールドを有している。
【0025】“p”ビット61が0のとき、セレクタ6
4は、a入力のn個の上位PAGE−ADDRビット6
0を選択する。“p”ビット61が1のとき、セレクタ
64は、n個の識別用下位SPACE−ID(STO)
ビット62と、n個の上位PAGE−ADDRビット6
0との排他的ORによって生成されたb入力のnビット
を選択する。DLAT65に対する8−n個の下位有効
DLAT列選択ビットは、仮想アドレス60のページ・
アドレスフィールドPXからの、8−n個のアンハッシ
ュト下位ページ・アドレスビットである。留意すべき
は、もし排他的OR関数が実行されず、その代わりに下
位SPACE−IDビット62が無変更に置換されるな
らば、全DLATの再割振りではなく、DLATの分割
が生じる。
【0026】DLATヒットは、比較器66によって実
行される3ウェイ比較関数によって判別される。CMP
R1関数は、SPACE−IDビット62と、DLAT
65から読み出されたSTOビットとが等しいとき、2
進数“1”を出力する。CMPR2関数は、“p”ビッ
ト61と、DLAT65から読み出された対応“p”ビ
ットとが等しいとき、2進数“1”を出力する。CMP
R3関数は、仮想アドレス60のセグメント・アドレス
ビットと、DLAT65から読み出された仮想アドレス
(VA)とが等しいとき、2進数“1”を出力する。3
つの比較関数全てが2進数“1”出力を生成するとき、
DLATヒットが示される。DLATヒットは、選択さ
れたDLATエントリの共通空間“c”ビットが2進数
“1”であり、かつCMPR3関数が2進数“1”のと
きにも、形成される。アーキテクチャは、“p”ビット
と“c”ビットの両方が、同一のアドレス変換で1にな
るケースを防止している。その結果、どんなDLATエ
ントリも、“p”および“c”ビットの両方を“1”に
することはない。
【0027】n=2の場合の実施に対し、2つのSPA
CE−IDビットと2つの上位PAGE−ADDRビッ
トとの組合せに対するこの排他的OR演算の結果値を、
図7の表に示す。留意すべきは、0サブクラス・データ
空間割当ルールは、アドレス空間に対する割当ルールと
同じであることである。
【0028】n=2の実施に対し、DLATは仮想ペー
ジ・アドレス(PAGE−ADDR)に対して4つのサ
ブクラスに論理的に分割される。n=2に対し256×
2個のDLATを与える。もし、空間A,B,およびC
がそれぞれサブクラス“00”,“01”,および“1
0”であるならば、周期的処理の例、A(i)+B
(i)=C(i)に対し、2ウェイDLATのスラッシ
ングは発生しない。MVSは、データ空間に、STDビ
ットをランダムに割当てるので、参照される3つのデー
タ空間全てが同じサブクラスになる確率は、小である
(すなわち0.0625)。MVSにおいて、STDビ
ットが順番に割当てられるとき、3つの連続的に生成さ
れたデータ空間全てが同じサブクラスになる確率は0と
なることも考えられる。
【0029】n=3の実施に対し、3つのSPACE−
IDビットと3つの上位PAGE−ADDRビットとの
全ての組合せに対する排他的OR演算の結果値を、図8
の表に示す。留意すべきは、0サブクラス・データ空間
割当ルールは、アドレス空間に対する割当ルールと同じ
であることである。n=3の実施に対する実際の効果
は、DLATが、同じ仮想ページ・アドレス(PAGE
−ADDR)に対して、論理的に8個のサブクラスに分
割されることである。このため、周期的処理の例、A
(i)+B(i)=C(i)に対し、2ウェイDLAT
のスラッシングはほとんどない。この最小スラッシング
は、データ空間へのSTDビットのランダムなMVS割
当から生じる。参照される3つの空間すべてが同じサブ
クラスである確率は、非常に小さい(すなわち、0.0
156)。
【0030】n=8の場合の実施に対し、データ空間の
同様のPAGE−ADDRに対するデータ空間DLAT
サブクラス全てに亘る割当の最大分散が存在する。この
分散は、データ空間シノニムによるDLATスラッシン
グを最小化する。一方、アドレス空間の同様のPAGE
−ADDRに対し、0データ空間DLATサブクラスへ
の割当の最大集中が有効に存在する。この集中は、アド
レス空間に対する共通セグメントのパフォーマンス・ア
ドバーンテジを許可する。
【0031】本発明は好適な実施例に関して説明した
が、当業者であれば、本発明の精神および範囲から逸脱
することなく、変形,変更が可能なことは明らかであ
る。
【図面の簡単な説明】
【図1】仮想アドレスのフォーマットを示すブロック図
である。
【図2】従来の動的アドレス変換機構のブロック図であ
る。
【図3】私用空間ビットを示すセグメント・テーブル指
定(STD)のフォーマットを示すブロック図である。
【図4】図3のSTDの一部で、SPACE−IDビッ
トとして用いられるセグメント・テーブル・オリジン
(STO)を示す部分図である。
【図5】STDビットを用いた排他的OR演算を示す表
であり、2つのサブクラスが定義されている。
【図6】図5の排他的OR演算を実施するハードウェア
を示すブロック図である。
【図7】2つの空間IDビットを用いた排他的OR演算
を示す表であり、4つのサブクラスが定義されている。
【図8】3つの空間IDビットを用いた排他的OR演算
を示す表であり、8つのサブクラスが定義されている。
【符号の説明】
20 アドレス・ジェネレータ 22 比較器 23 セグメント・テーブル・オリジンレジスタ 24 加算器 25 セグメント・マップ・テーブル 26 ページ・マップ・テーブル 27 ORゲート 28 実アドレスレジスタ 60 仮想アドレス(PAGE−ADDR) 61 STDビット“23”(“p”) 62 STOビット(SPACE−IDビット) 63 排他的ORゲート 64 セレクタ 65 DLAT
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リチャード・ジョン・シュマルツ アメリカ合衆国 ニューヨーク州 ワッピ ンガー フォールズ エッジ ヒル ドラ イブ 7 (72)発明者 セオドア・ジェローム・シュミット アメリカ合衆国 ニューヨーク州 キング ストン クリフトン アベニュー 98 (72)発明者 アーノルド・スチーブン・トラン アメリカ合衆国 ニューヨーク州 ショー カン メアリー ルー レーン 6 (72)発明者 シー−シュン・ステファン・タング アメリカ合衆国 ニューヨーク州 キング ストン レイニー レーン 18

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】同じ仮想アドレスを有する異なるアドレス
    空間内にページを有することができ、前記アドレス空間
    は個々のセグメント・テーブルによって識別される仮想
    記憶システムのための、登録簿索引テーブル論理装置に
    おいて、 アドレス空間とデータ空間とを識別する第1の手段と、 1以上の空間ID識別用下位ビットによって、データ空
    間をサブクラスに分ける第2の手段と、 前記第1および第2の手段に応答し、仮想ページ・アド
    レスビットを用いて、登録簿索引テーブルの列に、仮想
    ページ・アドレスを割当てるために、データ空間の各サ
    ブクラスに固有のアルゴリズムを供給する第3の手段
    と、を備えることを特徴とする、登録簿索引テーブル論
    理装置。
  2. 【請求項2】前記第1の手段は、セットされるとデータ
    空間を指定する私用空間ビットであることを特徴とす
    る、請求項1記載の登録簿索引テーブル論理装置。
  3. 【請求項3】前記空間ID識別用下位ビットは、n個の
    セグメント・テーブル・ビットであり、nは前記データ
    空間のサブクラスの数を示すことを特徴とする、請求項
    2記載の登録簿索引テーブル論理装置。
  4. 【請求項4】前記空間ID識別用下位ビットの数が2で
    あることを特徴とする、請求項3記載の登録簿索引テー
    ブル論理装置。
  5. 【請求項5】前記空間ID識別用下位ビットの数が3で
    あることを特徴とする、請求項3記載の登録簿索引テー
    ブル論理装置。
  6. 【請求項6】前記第3の手段が、 仮想アドレスのページ・アドレスのnビットと、前記セ
    グメント・テーブル・オリジンビットのnビットとを排
    他的OR論理によって結合して、第1の出力を形成する
    排他的OR手段と、 前記私用空間ビットがセットされたとき、登録簿索引テ
    ーブル列選択信号を発生させるために前記第1の出力を
    選択し、前記私用空間ビットがセットされないとき、前
    記ページ・アドレスの前記nビットを選択する前記登録
    簿索引テーブル列選択信号を発生させるための手段と、
    を有することを特徴とする、請求項3記載の登録簿索引
    テーブル論理装置。
  7. 【請求項7】前記第1および第2の手段と、前記仮想ア
    ドレスのセグメント部と、前記登録簿索引テーブルから
    の出力とに応答し、前記登録簿索引テーブルから読み出
    された実アドレスに対するヒットを判別する3ウェイ比
    較手段をさらに備えることを特徴とする、請求項6記載
    の登録簿索引テーブル論理装置。
  8. 【請求項8】前記3ウェイ比較手段が、 前記セグメント・テーブル・オリジンビットと、前記登
    録簿索引テーブルから読み出された対応セグメント・テ
    ーブル・オリジンビットとを比較する第1の比較手段
    と、 前記私用空間ビットと、前記登録簿索引テーブルから読
    み出された対応私用空間ビットとを比較する第2の比較
    手段と、 前記仮想アドレスの前記セグメント部と、前記登録簿索
    引テーブルから読み出された仮想アドレスの対応部とを
    比較する第3の比較手段とを有し、 前記第1,第2,および第3の比較手段全てによる比較
    がヒットを示すことを特徴とする、請求項7記載の登録
    簿索引テーブル論理装置。
  9. 【請求項9】共通アドレス空間と私用アドレス空間との
    間の識別手段をさらに備え、共通空間ビットはセットさ
    れると共通アドレス空間を示し、前記共通空間ビットお
    よび前記私用空間ビットのセッティングは相互に排他的
    であり、ヒットもまた前記第3の比較手段と、セットさ
    れた前記共通空間ビットとの比較によって判別されるこ
    とを特徴とする、請求項8記載の登録簿索引テーブル論
    理装置。
JP4188473A 1991-08-12 1992-07-16 仮想記憶システムのためのディレクトリ索引テーブル論理装置 Expired - Lifetime JPH0769867B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/744,203 US5319761A (en) 1991-08-12 1991-08-12 Directory look-aside table for a virtual storage system including means for minimizing synonym entries
US744203 1991-08-12

Publications (2)

Publication Number Publication Date
JPH05197626A true JPH05197626A (ja) 1993-08-06
JPH0769867B2 JPH0769867B2 (ja) 1995-07-31

Family

ID=24991864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4188473A Expired - Lifetime JPH0769867B2 (ja) 1991-08-12 1992-07-16 仮想記憶システムのためのディレクトリ索引テーブル論理装置

Country Status (3)

Country Link
US (1) US5319761A (ja)
EP (1) EP0528584A1 (ja)
JP (1) JPH0769867B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3098344B2 (ja) * 1992-12-18 2000-10-16 富士通株式会社 データ転送処理方法及びデータ転送処理装置
US5446854A (en) * 1993-10-20 1995-08-29 Sun Microsystems, Inc. Virtual memory computer apparatus and address translation mechanism employing hashing scheme and page frame descriptor that support multiple page sizes
US6079004A (en) * 1995-01-27 2000-06-20 International Business Machines Corp. Method of indexing a TLB using a routing code in a virtual address
US5630088A (en) * 1995-03-09 1997-05-13 Hewlett-Packard Company Virtual to physical address translation
US5754818A (en) * 1996-03-22 1998-05-19 Sun Microsystems, Inc. Architecture and method for sharing TLB entries through process IDS
US6560690B2 (en) * 2000-12-29 2003-05-06 Intel Corporation System and method for employing a global bit for page sharing in a linear-addressed cache
US20020087824A1 (en) * 2000-12-29 2002-07-04 Hum Herbert H.J. System and method for employing a process identifier to minimize aliasing in a linear-addressed cache
JP4241911B2 (ja) * 2002-03-28 2009-03-18 株式会社日立製作所 情報処理システム
JP4085328B2 (ja) * 2003-04-11 2008-05-14 ソニー株式会社 情報処理装置および方法、記録媒体、プログラム、並びに撮像装置
US7181590B2 (en) * 2003-08-28 2007-02-20 Intel Corporation Method for page sharing in a processor with multiple threads and pre-validated caches
US20070011429A1 (en) * 2005-07-07 2007-01-11 Vasudevan Sangili Virtual memory key generation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0325644A (ja) * 1989-06-23 1991-02-04 Hitachi Ltd 多重仮想アドレス空間制御装置
JPH03110648A (ja) * 1989-09-25 1991-05-10 Hitachi Ltd データ処理システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4136385A (en) * 1977-03-24 1979-01-23 International Business Machines Corporation Synonym control means for multiple virtual storage systems
US4096573A (en) * 1977-04-25 1978-06-20 International Business Machines Corporation DLAT Synonym control means for common portions of all address spaces
US4736287A (en) * 1983-06-20 1988-04-05 Rational Set association memory system
US4727482A (en) * 1983-08-30 1988-02-23 Amdahl Corporation Apparatus for enhancing searches of data tables
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
DE3633227A1 (de) * 1986-09-30 1988-04-21 Siemens Ag Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage
US5008811A (en) * 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces
US5134696A (en) * 1988-07-28 1992-07-28 International Business Machines Corp. Virtual lookaside facility
DE4019961C2 (de) * 1989-06-23 1994-11-24 Hitachi Ltd Steuerung für den Zugriff auf einen Adreßumsetzungsspeicher in einem Prozessorsystem
US5157777A (en) * 1989-12-22 1992-10-20 Intel Corporation Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0325644A (ja) * 1989-06-23 1991-02-04 Hitachi Ltd 多重仮想アドレス空間制御装置
JPH03110648A (ja) * 1989-09-25 1991-05-10 Hitachi Ltd データ処理システム

Also Published As

Publication number Publication date
EP0528584A1 (en) 1993-02-24
US5319761A (en) 1994-06-07
JPH0769867B2 (ja) 1995-07-31

Similar Documents

Publication Publication Date Title
US5630097A (en) Enhanced cache operation with remapping of pages for optimizing data relocation from addresses causing cache misses
US5628023A (en) Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
US5619671A (en) Method and apparatus for providing token controlled access to protected pages of memory
US6266755B1 (en) Translation lookaside buffer with virtual address conflict prevention
US6430667B1 (en) Single-level store computer incorporating process-local address translation data structures
US5574936A (en) Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
JP3640978B2 (ja) ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置
US3675215A (en) Pseudo-random code implemented variable block-size storage mapping device and method
US5475827A (en) Dynamic look-aside table for multiple size pages
US5375214A (en) Single translation mechanism for virtual storage dynamic address translation with non-uniform page sizes
US5493660A (en) Software assisted hardware TLB miss handler
US5426750A (en) Translation lookaside buffer apparatus and method with input/output entries, page table entries and page table pointers
US5574877A (en) TLB with two physical pages per virtual tag
JP2618175B2 (ja) キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル
KR102744053B1 (ko) 어드레스 변환 캐시의 효율적인 이용을 위한 장치 및 방법
EP0690385A1 (en) Method and apparatus for managing memory in a computer system
JPH077363B2 (ja) アクセス装置及び方法
JP7062696B2 (ja) 仮想キャッシュにおける仮想および実変換の共有
JPS6341100B2 (ja)
JP7062695B2 (ja) 論理ディレクトリを使用したキャッシュ構造
US5305444A (en) Apparatus for increasing the number of hits in a translation lookaside buffer including instruction address lookaside register
JPS629930B2 (ja)
JP7184815B2 (ja) 仮想キャッシュのための変換支援
EP0619898A1 (en) Computer system with two levels of guests
JPH05197626A (ja) 仮想記憶システムのための登録簿索引テーブル論理装置