JPH02189659A - 仮想記憶動的アドレス変換システム - Google Patents

仮想記憶動的アドレス変換システム

Info

Publication number
JPH02189659A
JPH02189659A JP1317881A JP31788189A JPH02189659A JP H02189659 A JPH02189659 A JP H02189659A JP 1317881 A JP1317881 A JP 1317881A JP 31788189 A JP31788189 A JP 31788189A JP H02189659 A JPH02189659 A JP H02189659A
Authority
JP
Japan
Prior art keywords
address
page
virtual
dlat
real
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
JP1317881A
Other languages
English (en)
Other versions
JPH0555900B2 (ja
Inventor
Steven W White
ステイブン・ウエイン・ホワイト
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 JPH02189659A publication Critical patent/JPH02189659A/ja
Publication of JPH0555900B2 publication Critical patent/JPH0555900B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control

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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 この発明は、アドレス変換機構に関するものである。
B、従来の技術 動的アドレス変換機構は、プログラムの実行を中断し、
その実行とそのデータを、直接アクセス記憶装置(DA
SD)などの補助記憶に記録し、実行を再開させるため
にプログラムとデータを異なる主記憶位置に戻す能力を
与える。動的アドレス変換機構は、ユーザーに、その主
記憶よりも記憶が大きく見えるようなシステムを与える
。この見かけの(仮想)記憶は、その位置を指定するた
めに仮想アドレスを使用し、通常、補助記憶中に維持さ
れる。仮想アドレスは、ページと呼ばれるアドレスのブ
ロック中で生じ、最も新しく参照されたページのみが、
物理的主記憶のブロックを占有するように割当てられる
ユーザーが、主記憶中にない仮想アドレスのページを参
照するとき、それらのページは、近い将来必要とされる
尤度が最も小さい主記憶中のページに置き代わるように
搬入される。
仮想アドレッシングは、多くの大型コンピュータのアー
キテクチャにおいて重要な機能となっている。仮想アド
レッシングは、記憶システムにおいて物理的には連続で
はない複数のプログラムをユーザーに対して論理的に連
続であるように見せかけることを可能ならしめる。最近
にアクセスされた仮想アドレスの部分は、主記憶ユニッ
ト中にマツプされている。このマツピング情報は、しば
しば、連続的なIMBセグメントに対応するエントリを
もつセグメント・テーブルと、セグメント内の4KBペ
ージのエントリをもつページ・テーブルを有するディレ
クトリ中に階層的に記憶される。
仮想アドレスを実アドレスに変換するには、適当なセグ
メント及びページ・テーブルを検索することによって得
られるマツピング情報が必要である。この検索処理は時
間がかかるので、最近の幾つかの変換情報をディレクト
リ・ルック・アサイド・テーブル(DLAT)に保持す
ることによって全体の検索の回数が低減される。DLA
Tによってカバーされる仮想アドレスの場合、はとんど
あらゆる記憶アクセスに必要とされる変換処理は、わず
か2つのマシン・サイクルさえあればよい。
DLA、Tによってカバーされないアドレスの場合、も
し当該セグメント及びページ・テーブルが主記憶中にあ
るなら、ディレクトリを検索する処理は、約15乃至6
0サイクルである。各DLATエントリは、多くの場合
4KBである記憶のページ全体をマツピングするための
情報を含む。DLATによってカバーされる記憶の量は
、DLAT中のエントリの数とページのサイズに依存す
る。
ページの最適なサイズを決定するとき、ページをスワツ
ピングするというオーバーヘッドを補償するに十分な大
きさのページと、細分化による効率低下を最小限にとど
める、すなわち小さいオブジェクトに大きいページを与
えることによって記憶を浪費しないようにするのに十分
な小さいページの間で妥協が生じる。小さい(4KB)
ページは、コード・セグメント(命令)及び小さいデー
タ・オブジェクトには適切であるが、高性能科学技術用
マシンは、多くの場合、大きいページから恩恵を受ける
。最近、データ・オブジェクトと記憶容量がともに著し
く増大してきており、大きいページがしばしばより効率
的となる。また、数百メガバイトのデータ・オブジェク
トと比較すると、IMBのページは十分に微細な細分性
を提供する。
さらに、18M拡張記憶装置などの1ギガバイトまたは
それ以上のオーダーの高速大量記憶装置の導入によって
、4KBとIMBのページのデータ転送時間がそれぞれ
、10サイクルと、数千サイクルに低減された。ページ
・フォールトを解決する間に関与する数千サイクルのソ
フトウェア・オーバーヘッドにより、IMBのページ・
フォールトを解決することは、4KBのページ・フォー
ルトを解決することよりも3乃至5倍の時間しかかから
ない。大きい、連続的なブロックのデータの転送の場合
、4KBページ・システムは、IMBページ・システム
におけるページ・フォールトよりも数百倍のオーバーヘ
ッドをもたらす。
大きいページは、多くの副次的な利得を提供する。例え
ば、ベクトル・フェッチ及び記憶は、単に、可能的ペー
ジ交差の回数を減らすことによって大きいページから恩
恵を得る。必要な次のページが物理的記憶に存在する場
合にさえも、そのページがメモリ中に搬入されたことを
検証するために、ページ交差に際してベクトル・パイプ
ラインが中断されることがある。この中断は、無視でき
ない性能低下をもたらすことがある。
IMBのオーダーの大きいページは、小さいページを使
用した結果として性能の低下がもたらされる科学的アプ
リケーションのための可能な解決策として有用であろう
。あるアプリケーション(またはアプリケーションの一
部)のためのページ・サイズを最適化するためには、複
数サイズのページが望ましい。今日まで、知られている
DLATは、単一のページ・サイズを処理するように設
計されている。しかし、均一なページ・サイズ以外をサ
ポートするためには、現在のDLATに対して変更が必
要である。
CDC(コントロール・データ・コーポレーションの商
標)7600及びCYBER205は、小さいページと
大きいページの両方をもっている。
CYBER205は、小さい(4KB、16KB、64
KB)のページを提供し、これにおいては、ページ・サ
イズ・の選択は、オペレーティング・システムのソフト
ウェア導入パラメータを通じて行わなくてはならない。
それゆえ、所与のジョブは、1つのサイズの小さいペー
ジしか許容しない。しかし、大きいページ(512KB
)も可能である。
CYBER変換ユニットは、連想ワードのリストを作成
することによって複数サイズのページを扱う。その各ワ
ードは、DLATエントリに似た情報を含む。このリス
トは、主記憶に記憶され、その上位(最も新しく使用さ
れた)16エントリを、命令によってレジスタの内部セ
ットにロードすることができる。この変換処理は、最初
に内部レジスタ内で検索する段階を有する。そしてもし
一致(ヒツト)が見出されたなら、そのエントリがすス
トの最上部に移動され、アドレスが決定される。
もし最初の16エントリで一致が見出されなかったなら
ば、メモリ中の残りのリストが、−度に2エントリずつ
検索される。そうして一致するエントリが見出されたら
、それは、リストの最上部に移動される。そうでなけれ
ば、ページ・フォールトが発生される。これには、多く
のマシン・サイクルを要することがある。
CYBERスキームは、変換テーブルが均一でないサイ
ズのエントリを扱うことを可能ならしめるけれども、そ
れは、将来の高性能科学的プロセッサ市場には魅力的で
はない。その連想ワードのリストは、物理記憶の全ての
ページを決定する。
このことは、小さい記憶の場合には実用的であるけれど
も、将来のジョブは、CYBERで利用可能であるより
も相当に多くの記憶量を要する。製造メーカーの中には
、256MBあるいは2GBの主記憶を提供する者もあ
る。これらの大きい実記憶は、はるかに大きいデータ・
オブジェクト・サイズと大きい仮想アドレス空間をそこ
に収めることを意味する。連想レジスタに含まれている
エントリの数を増加させることは、必要な論理回路の数
に基づき許容されない。
米国特許第4285040号は、128Bと4KBとい
う複数(2)ページ・サイズのサポートを教示する。こ
れによって特許されている解決策は多くの欠点がある。
すなわち、それは、高性能科学技術用プロセッサに必要
な大きいアドレス空間には実施不可能である。これに記
載されている実施構成は、仮想アドレス空間中の全ての
セグメントのベース・アドレス値を同時に保持するよう
にレジスタが利用可能でなくてはならない。IMBなど
の大きいページの場合、現在のアドレス空間(2GB)
は、2048個ものそのようなレジスタを必要とするこ
とになる。さらに、ユーザーの要求により、近い将来、
設計者がさらに相当に大きいアドレス空間を提供するよ
うになることが期待され、以て、この米国特許の技法で
必要とされるセグメント・レジスタの数は側的に増大す
ることになる。
本発明では、このセグメント情報(IMB)を保持する
ために使用される「キャッシュ的な」構造によって、等
価なレジスタの数をほぼ40乃至50個に実質的に低減
することができ、それでいて許容できる「ヒツト率」を
与え、以てほぼ最適な性能を可能ならしめるものである
小さいページのデータにアクセスするためには、上述の
米国特許で記述されている技法の場合余分な記憶アクセ
スが必要である。上述の米国特許の第3欄の上方には、
次のような記載がある。以下訳:「システムの記憶中に
記憶されているテーブルには、サブセグメント記述子が
含まれている。
それゆえ、この機構が第2の、あるいはサブセグメント
・モードで動作しているときは、サブセグメント記述子
のうちの1つを選択しフェッチするために余分のサイク
ルを実行することが必要となる。」この余分のサイクル
は、記憶参照サイクルであって、(大量の記憶をもつ)
多くのプロセッサにおいてこのことは、多くのプロセッ
サ・サイクルへと変換される。
本発明の多重「キャッシュ的」構造によって、最も新し
く使用されたページ情報(サブセグメント記述子)が容
易に可用となり、以て著しい性能の改善につながる。−
殻内には、たった1回の検索サイクルしか必要でない。
上記米国特許に説明されている設計構造は、大きいペー
ジに対するアクセスには良好な性能を呈するけれども、
すべてのセグメント・ポインタを保持するために必要な
レジスタの数は、大きいアドレス空間にとって魅力に乏
しいものである。さらに、指数関数的に大きくなるペー
ジ・テーブル・エントリの数のため、これらのエントリ
はシステム記憶に収めなくてはならない。従って、小さ
いページにアクセスするために、めいめいのユーザーの
記憶アクセスは、1つはサブセグメント記述子でありも
う1つはユーザー・データであるような、2回の実記憶
アクセスを引き起こすことになる。記憶の遅延と記憶の
競合がシステムの性能低下につながる程度は重大である
ので、そのような技法は、高性能プロセッサに対して媒
体に甚だしいハンディキャップを負わせることになる。
米国特許筒3675215号は、フェッチされたエント
リのIDが要求された仮想アドレスに一致するか、また
はカウントが、サブセット中のアドレスの数を超える(
この場合、アドレス遺失例外が生じる)まで、各不一致
毎に1つずつカウントをインクリメントし続ける、順次
的な検索処理を記述する。このとき、変換情報のチエイ
ンの組が維持される。仮想アドレス変換処理は、チエイ
ンを検索する処理からなる。各ページ・フォールト毎に
、ページ・フォールトの発生を検出するために全体のチ
エインが検索される。
本発明のDLATアクセスは、常に、仮想アドレスを変
換するために必要な情報を与える場合に、チエイン技法
と同程度(場合によっては10倍くらい)高速である。
このことは、主として、DLAT構造に内在的な連想(
並列)検索のためである。本発明の「キャッシュ的」構
造で変換されたページを見出すためのサイクルの最少及
び最大の数はほぼ2サイクルである。さらに、ページ・
フォールトの発生に際しては、フォールトの認識は、D
LAT/セグメント/ページ・スキームによって、チエ
イン技法に比較して劇的に高速である。
本発明の好適な形式は、インターナショナル・ビジネス
・マシーンズ・コーポレーションによって販売されてい
る308X及び3090フアミリなどのシステムで使用
されるセット連想的構成を有する。セット連想的構成は
よく知られており、米国特許第4638426号及び第
4695950号で使用されている。すなわち、それに
おいては仮想アドレス・ビットのうちのいくつかが、エ
ントリの1つのセットを選択するために使用される。こ
のエントリのセットは次に、連想的に検索される。この
セット連想的構成は、多数のエントリ(通常、256乃
至512)に対する高速のアクセスを可能ならしめるが
、小さい連想検索(通常、2乃至4エントリ)を必要と
する。この方法を多重サイズ・ページに適用する際の問
題は、エントリのセットを選択するために使用されるビ
ットの選択にある。もし、DLATエントリが異なるペ
ージ・サイズをカバーすることができるなら、そのビッ
トは、少なくとも、最も大きいページ・サイズ程度の記
憶セグメント間で区別をつけるようなものから選択され
なくてはならない。しかし、もしこれらのビットがDL
ATウントリのセットを選択するために使用されるなら
、エントリが小さいページのためのものであるとき、メ
モリの連続的な小さいページをカバーすることができる
に過ぎない。もし、4KBとIMBページをもっ2路セ
ツト連想スキームが使用されるなら、その合同クラスが
、少なくともIMBである連続的なセグメントをカバー
しなくてはならない。しがし、エントリが4KBに対応
するとき、IMB連続空間のうちの8KB (2エント
リ)のみしかカバーされない。
本発明は、多重サイズ・ページを同時に扱うことができ
るDLAT構造を提供する。説明の便宜上、使用する2
つのページ・サイズは、4KB及びIMBであるとする
。IMBページは、それが非ページング可能セグメント
と等価であるため考慮され、セグメントは、本発明の好
適な変換処理の一部である。セグメント情報が一旦得ら
れると、処理を継続する(セグメント内のページを決定
する)のではなく、1つのセグメント全体が単一のエン
ティティとして考慮される。セグメントはIMB境界上
にあるので、このことは、IMB仮゛想ベージをIMB
境界上にあるように強制する。これにより、多重サイズ
・ページ・システムで遭遇するフラグメンテーションの
問題が緩和され、下位ページ・オフセット・ビットを単
に変更することなく渡すという、簡略化されたハードウ
ェアが可能となる。
IBM3090は、よく知られたマシンであるので、そ
のDLAT機能を、本発明の説明に使用することができ
る。DLATは、126対のエントリをもつ2路セット
連想機構であり、そのおのおののエントリが4KBペー
ジを表す。DLATが記憶の大きい連続的な部分をカバ
ーするようにするために、あるページ内でワードを決定
するオフセット・ビットの直ぐ上の合同クラス選択アド
レス・ビットを使用してDLATエントリの対が選択さ
れる。すなわち、隣接ページは、異なるDLAT対によ
ってカバーされる。しかし、128個のエントリの対は
、仮定されている2GB空間のわずかな部分(例えば1
024KB)をカバーするに過ぎない。
一般性を失うことなく、本発明の構成は、4KBとIM
Bの両方のエントリが許容されるという例外はあるけれ
ども、そのようなりLATの実際構成に焦点をあてるこ
とによって説明される。3090の128対のDLAT
の代わりに、本発明は、1つは4KBページのだめのも
のであり、もう1つはIMBページのためのものである
ような2つの64対DLAT構造を使用することになる
大きいページの本来的な利点は、単一のIMBページが
単一のエントリをもつ記憶の連続的な部分をカバーし、
以てDLATヒツトの確立を高め、セグメント及びペー
ジ・テーブルを通じてのコストのかかる検索を回避する
ことにある。
C0発明が解決しようとする課題 この発明の主な目的は、極めて大型の高速の主記憶をも
つ高性能データ処理システムにおいて、従来技術よりも
はるかに高能率の性能を発揮する動的アドレス変換機構
を提供することにある。
この発明の別の目的は、上記タイプの変換機構において
、変換機構に与えられた仮想アドレスによって同時にア
クセスされる一対のディレクトリ・ルックアサイド・テ
ーブルを提供することにある。
01課題を解決するための手段 上記目的は、4KBページのためのDLAT機構と、I
MBページのための第2のDLAT機構を与えることに
よって、この発明の好適な実施例において達成される。
各DLATは2路セツト連想アレイであり、そのめいめ
いが64対のエントリをもつ。その2つの機構では区画
は異なるけれども、仮想アドレスは3つのフィールドに
区分けされる。ページ内のバイトを記述するその下位ビ
ットは、変位ビット(4KBページの場合Al4−A3
1で、IMBページの場合A12−A51)である。そ
の変位ビットの隣の6ビツトは、合同クラス・ビットで
ある。これらのビット(4KBページの場合A14−A
19で、IMBページの場合A6−All)が、どのエ
ントリの対が各DLAT機構中で参照されるかを決定す
る。残りの(高位)ビットは、「タグ」フィールドであ
る。
各DLA’II構において、第1のエントリの対は、「
O」という合同クラス通訳フィールドをもつ任意のペー
ジに割当てられる。第2のエントリの対は、合同クラス
選択フィールド「l」、「2」などをもつ任意のページ
に割当てられ、このことは、「63」合同クラス中のペ
ージを割当てられた最終のエントリの対まで至る。各D
LAT機構中のエントリの対をアドレスするために変換
される各アドレスの合同クラス選択ビットを使用するこ
とによって、そのアドレスの変換情報がこれらのDLA
T中に存在しているかどうかを決定することが可能とな
る。DLAT中の各エントリは、多応する仮想ページの
タグ・フィールドのビットからなる第1の部分と、実記
憶中のこのページの実ページ・フレーム・アドレスを含
む第2の部分と、タグ及び関連実フレーム番号が実際に
有効かどうか、すなわち、そのようなページが実際に主
記憶中にあるかどうかを示す有効ビットを含む第3の部
分からなる。尚、キーなどの関連のないDLATフィー
ルドは、この説明では省いである。
システム・プロセッサによって仮想ページ・アドレスが
DLATに与えられたとき、個々の合同クラス選択ビッ
ト(A14.−19または八〇−11)が個々のDLA
Tからエントリの対を読み取り、論理手段が各エントリ
のタグ・フィールドを、DLATに与えられた仮想アド
レスの対応ビットと比較する。そしてもし一致し、すな
わちディレクトリ・ヒツトし、有効ビットがオンである
なら、そのヒツトをもたらしたエントリの実ページ・ア
ドレスが、主記憶にアクセスするためのシステムの実ア
ドレス・バス上に配置される。それと同時に、主記憶中
の選択されたビットまたはバイトをアドレスするために
、変位ビットが実ページ・アドレスに連結される。
両方のDLATは、仮想アドレスによって同時にアクセ
スされ、それらのエントリの対は、読み出されて同時に
選択された仮想アドレス・ビットと選択されるので、1
つではなく2つのDLATをもっことによるDLAT構
造中の性能の損失はない。DLATヒツトがない場合、
慣用的なセグメント/ページ・テーブル変換シーケンス
が開始される。
4KBページ及びIMBページは、排他的に1つのみの
DLATにより使用される。各ページは、DLATの1
つのみにエントリを有する。アドレス(実または仮想)
は、4KBページまたはIMBページのどちらかにある
。ハードウェアは、4KB及びIMBのページ・テーブ
ル・エントリを、それぞれ4KB及びIMBのページ用
のDLATにのみ配置させる。それゆえ、2つのDLA
Tのうちの1つのDLATのヒツトが別のDLAT中の
不一致を保証する。
任意の多重サイズ・ページ・メモリ管理システムでそう
であるように、オペレーティング・システムは、ある種
の制約を課す際にある役割を果たす。このとき、オペレ
ーティング・システムは、IMB境界上にIMBページ
(実及び仮想)を保持すると仮定する。現在、4KBペ
ージ(実及び仮想)は、4KB境界上に保持されている
。システム370オペレーテイング・システムは、1M
Bセグメントをサポートするので、IMBページ・サイ
ズは好適である。それゆえ、IMBページ(仮想)は、
IMB境界上にあるこれらのオペレーティング・システ
ムに既存のセグメントにほとんど等価である。
そのようなオペレーティング・システムにおける主要な
変更は、実アドレス空間が、メガバイト境界上にあるI
MBページをもっことを必要とすることにある。現在、
4KB境界上にある4KBページ・フレームしか存在し
ない。オペレーティング・システムを、物理メモリを4
KBでなくIMB区画ページにブロック・アウトするよ
うに変更することによって、いくつかの利点を得ること
ができる。すなわち、IMBブロックのうちのあるもの
を、IMBページをバックアップするために使用するこ
とができ、その間、残りのIMBブロックは、256個
の4KBページに区分けすることができる。それゆえ、
オペレーティング・システムは、いくつかの4KBペー
ジと、いくかのIMBページを管理することができる。
もしIMBと4KBのページの数が統計的に決定される
なら、現在使用されているアルゴリズムを、4KB及び
IMBページを管理するために使用することができる。
将来の管理スキームは、4KBページ・フレームのIM
Bブロックと、物理記憶のIMBページとの間のより効
率的な動的変換を可能ならしめるであろう。IMBペー
ジを形成するように連続的な4KB自由ページを集める
ことを支援するために、下位部分(4KBページ)から
記憶の上位部分(IMBページ)を区分けするために分
割線(これは変更可能)を使用することができる。
IMB境界上にIMBページを維持することは、フラグ
メンテーションの問題を低減する。この制約はまた、ハ
ードウェアを著しく簡単にする。すなわち、(ページ内
で選択された)下位ビットは、変更されることなく単に
変換ユニットを通過・させることができる。さらに、そ
のことは、DLAT中とページ/セグメント・テーブル
中の各エントリに必要なビットの数を減少させる。
E、実施例 第1図を参照すると、仮想アドレス空間と実アドレス空
間がOMBからnMBまでのIMBの複数のブロックに
分割されていることが見て取れよう。それぞれOMBと
50MBのアドレス値で始まる仮想空間ブロック3及び
4は、それぞれ、256個の4KBページ3−0から2
−255と、4−0 カら4−255に分割されている
。一方、IMBと、63MBと、64MBと、65MB
の開始仮想アドレスをもつIMBブロック5乃至8が、
仮想アドレス空間中のIMBページを決定する。ブロッ
ク5乃至8は、実アドレス・ブロック9乃至12にそれ
ぞれマツプされる。ブロック3及び4の4KBページの
あるものは、実アドレス・ブロック13及び14のそれ
ぞれの4KBページ・フレーム13−0乃至13−25
5と、14−0乃至14−255にマツプされている。
本発明の説明の便宜上、上記すべての仮想アドレスが、
DASD (図示しない)から(マツプされた)主記憶
2に転送されるものと仮定する。さらに、参照番号15
−1乃至15−nによって主記憶2の個々のページ・フ
レームに関連付けられている空間1中の仮想ページのあ
るものは、合同クラスにおける最新の参照ページであり
、それゆえに4にページDLAT20 (第2図)及び
IMBページDLAT21 (第3図)中にエントリと
して見出されると仮定する。ハードウェア(図示しない
)は、必要に応じて、主記憶2中のページ・テーブルか
らDLATエントリを自動的に再ロードする。
DLAT20の合同クラスO乃至63は、ページ・アド
レスO14,に、8に、、、252Kに割当てられ、D
LAT21の合同クラス0乃至63は、ページ・アドレ
スO1LM、2M、3M、、。
63Mに割当てられている。DLAT20及び21は、
64個のエントリ対(22−0から22−63までと2
3−〇から23−63まで)をもち、めいめいの対が好
適にはそれぞれ、4KBとIMBページの合同クラスを
あられすような、2路セツト連想アレイである。8対の
2つのエントリはそれぞれA及びBとラベルされている
DLAT対22−0 (第2図)は、エントリ已におい
て、 (1)50MBというアドレス値である、第1図
の仮想ページ4−0のタグ・ビットの値AO−A13と
、(2)情報(すなわち、仮想ページの内容)を含んで
なる主記す、を2中のページの実ページ・アドレス値3
MB+4KBと、 (3)有効ビット=1を含む。
同様に、DLATエントリ対22−1及び22−63は
、第1図の仮想ページ4−1.3−65.3−255と
3−63と、その内容が記憶された主記憶2のページ・
フレームの有効エントリ(タグ・ビット及び実ページ・
アドレス)を含む。
DLAT21のエントリ対23−0においては、エント
リBは無効になされ(有効ビット=0)、エントリAは
、第1図の仮想ページ7と、その内容が記憶された主記
憶2のページ11の有効エントリ(タグ・フィールド値
=64MB及び実ページアドレス=4MB)を含む。同
様に、エントリ対23−LA、B及びエントリ23−6
3Aは、仮想ページ5.8及び6のそれぞれと、その内
容が記憶される主記憶ページ9.12及び10の有効エ
ントリを含む。
(プログラム実行の間に)仮想アドレスがプロセッサに
よってDLAT20及び21に与えられる時、仮想アド
レス・ビットA14−A19 (第5図)がDLAT2
0から一対のエントリを選択し、Allに対する仮想ア
ドレス・ビ・ントA6がDLAT21から一対のエント
リを選択する。
しかし、オペレーティング・システムは、仮想ブロック
(4KまたはIMB)をマツプするとき、ブロック・サ
イズ(4KまたはIMB)をそのブロック(ページ)中
のすべての仮想アドレスに割り振ることによって、DL
AT20及び21のうちの1つのみに仮想メモリ・エン
トリを許容する。
こうして、アクセフされた仮想アドレスに対して新しい
エントリが作成されるとき、ハードウェア(図示しない
)はそのページ・サイズに留意し、仮想ページを適当な
りLAT20及び21に割り振り、適当なタグ・ビット
を、DLAT20中のAO−A13または、DLAT2
1中のAO−A5に格納する。
従って、与えられた仮想アドレスが上述のエントリ対の
選択を引き起こすとき、おそらく、1つのDLATから
の1つの対のみしか、DLAT「ヒツト」に対応する適
当なタグを含むことができない。
次に第4図を参照すると、DLAT20及び2F人 1と、プロセッサ・ア苓ル箒・パス・ラインBO−83
1上で受は取られる仮想アドレス・ビットAO−A31
が示されている。
合同選択ビットA14−A19とA6−Al lが、バ
ス・ラインB14.−B10及びB6−Bllを介して
DLAT20及び21に印加される。
DLAT20は、エントリA及びBの出力25、26.
27と28.29.30をもつ。I)LAT21は、エ
ントリA及びBの出力31.32.33と34.35.
36をもつ。合同クラス・ビットA14−19によって
選択されたA及びBのDLATエントリの1つの対にお
ける仮想アドレス・タグ・ビットAO−A13が出力2
5及び28に印加される。そのエントリ対中の有効ビッ
トは出力26及び29に印加され、実アドレス・ビット
は、出力27及び30に印加される。
同様に、合同クラス・ビットA6−Allによって選択
された、1つのDLATエントリ対中のタグ、有効及び
実アドレス・ビットは、DLAT21の出力31.34
と、32.35と、33.36に印加される。
出力25及び28は、比較回路40及び41それぞれに
対する人力を形成する。バス・ラインB0−813は、
比較回路40.41に対する第2の出力を形成する。比
較回路40.41の出力42.43は、論理AND回路
44.45に対する人力を形成し、エントリA及びB有
効出力26.27が、AND回路44.45に対する第
2の入力を形成する。
AND回路44.45の出力46.47は、論理OR回
路48に印加され、出力46は、マルチプレクサ50に
対する選択入力を形成する。実アドレス出力27及び3
0は、マルチプレクサ50に対する入力を形成する。マ
ルチプレクサ50の出力は、接合点52でオフセット・
ビット・バス・ラインB20−B31に結合され、マル
チプレクサ53の1つの入力に印加される。
それと同一の論理手段と接続がDLAT21にも設けら
れ、それは、エントリA及びB比較回路55.56、A
NDゲート57.58、OR回路49及びマルチプレク
サ60を含む。マルチプレクサ60の出力は、接合点6
1でページ・オフセット・ビット・バス・ラインB12
−B51に結合され、それらはともに、マルチプレクサ
53に対する第2の入力に印加される。
OR回路48及び59の出力62及び63は、接合点5
2または61で、ライン上の信号を、マルチプレクサ5
3を通じて主記憶アドレス・バス64の実アドレス・ラ
インAO−A3 Lに対してゲートする。
しかし、このことは、DLATアクセスの間に行なわれ
、回路40.41または55.56のうちの1つで比較
が一致し、(その比較回路に対応する)有効ビットが「
1」に等しいなら、OR回路48が4KBページ・ヒツ
ト・ライン63上に論理「1」信号を発生するか、また
は、OR回路48が4KBページ・ヒツト・ライン63
上に論理「1」信号を発生する。
次に、第4図のD L A T機構の動作を説明する。
プロセッサ(図示しない)が主記憶2に対する読み書き
のためのコマンドを発行するとき、仮想アドレス・ビッ
トAO−A31がバス・ラインB〇−B31上に配置さ
れる。合同クラス・ビットA14−A19及びA6−A
l lがDLAT20及び21中の対応するエントリの
対を選択する。比較回路40及び41は、DLAT20
の選択されたエントリA及びBのタグ・ビットAO−A
I3を、バス・ラインBO−Bl 3上のビットAO−
A13と比較し、回路55及び56は、DLAT21の
選択されたエントリA及びBのタグ・ビットAO−A5
を、バス・ラインBO−85上の仮想アドレス・ビット
AO−A5と比較する。
もし回路40.41.55.56の内の1つが比較一致
を示し、対応する有効ビットが「1」に等しいなら、対
応するANDゲート44.45.57または58が論理
「1」出力を発生し、それが、OR回路48または59
によってページ・ヒツト・ライン62または63に印加
される。マルチプレクサ50及び60は、ANDゲート
44及びANDゲート57の出力状態が論理r1.また
は「0」のどちらであるかに応じて、その入力に印加さ
れる2つの実ページ・フレーム・アドレスのうちの1つ
をゲートする。
ライン62または63上の出力は、プロセッサ(図示し
ない)に、(1)ディレクトリ(DLAT)rヒツト」
が4KBまたはIMBページ中で生じ、実アドレスがバ
ス64上にあるか、または、(2)ディレクトリ「ヒツ
ト」がなく、実アドレスを、主記憶中のセグメント及び
ページ・テーブルを検索することによって取得しなくて
はならない(第5図参照)のどちらかを通知する。その
ようなページ・テーブル検索動作はよく知られており、
1984年に再版された H−M、 Deitel著の
an Introduction to Operat
ing SysLamsの205ページ、及び1987
年9月にインターナショナル・ビジネス・マシーンズ・
コーポレーションによって発行されたIBM Syst
em/370Principles of 0pera
tion (GA22−7000−10)  の3乃至
20ページに詳細に述べられている。
ページ・フォールトが生じた場合、すなわち、ページ・
テーブルが主記憶2にないので所望のページがそのセグ
メント中にエントリをもたない場合、プロセッサが、I
10動作を通してDASDなどの補助装置からページに
アクセスしなくてはならない。簡単に述べると、DLA
Tユニット70(第5図)は、DLATアレイと、図示
されているタイプの関連ハードウェア論理からなり、こ
こでは、第4図を参照して説明される。ユニ・シト70
は、情報の所望の単位としての仮想アドレスのソース7
1に結合される。仮想アドレスは、セグメント番号(ビ
ットAO−All)と、ページ番号(ビットA12−A
19)と、変位(またはオフセ・シト)アドレス値(ビ
ットA20−A31)を含む。このことは、セグメント
が仮想アドレス空間中のIMB境界上にあり、ページが
4KB境界上にあると想定している。
アドレス・ビットAO−A31は、第4図に関連して説
明したようにしてDLATユ°ニット70に印加される
。そして、もしDLATヒツトが生じるなら、バス64
を介して実アドレスの宛先72に実アドレス・ビットR
AO−RA31が印加される。もしDLATヒツトが生
じないなら、所望のページを突き止めるために、第5図
に示すセグメント/ページ・テーブル機構がアクティブ
になされる。そのセグメント番号は、主記憶2中のセグ
メント−テーブル76中のエントリ75にアクセスする
ために、参照番号73のところでレジスタ74中のセグ
メント・テーブルのもとの偵に加えられる。
更なる動作は、仮想アドレスがIMBと4KBページの
どちらにあるかに依存する。IMBページの場合、エン
トリ75は実(物理的)ページ・アドレス・ビットRA
O−RAI 1で満たされ、これは、それ以上のテーブ
ル検索を行うことなく宛先72に指向され、ページ番号
ビットRA12−RA19と変位ビット20−31が伴
って、エントリ75からアクセスされるIMBページ中
の所望のデータに対するオフセットを形成する。
4KBページの場合、エントリ75は、エントリ75に
よって決定されるセグメントのページ・テーブル79の
開始アドレスで満たされる。エントリ75中のアドレス
値は、主記憶2のページ・テーブル79のエントリ78
にアクセスするために、参照番号77のところでページ
番号と結合される。エントリ78は、所望のページの実
アドレスのページ・フレーム・ビットRAO−RA19
を含む。ページ・オフセット・ビットRA20−RA3
1は、参照番号72のところでビットRAO−RA19
と結合される。
これは、所望のページが、主犯+22で現在見出される
有効ページである、ということを仮定している。もしこ
のテーブル検索によって主記憶中でページが見出されな
かったなら、ページ・フォールトが生じる。そして、I
10動作によって補助記憶装置からページにアクセスし
なくてはならない。
F3発明の詳細 な説明したように、この発明によれば、キャッシュ的な
双対DLATを設けたことによって、従来技術よりもは
るかに高能率の性能を発揮する動的アドレス変換機構が
提供される。
【図面の簡単な説明】
第1図は、4KB及びIMB仮想ページを4KB及びI
MB実アドレス空間にマツピングする様子を示す図、 第2図は、4K  DLATアレイと、第1図のマツピ
ングによって生じる代表的なエントリを示す図、 第3図は、IMB  DLATアレイと、第1図のマツ
ピングによって生じる代表的なエントリを示す図、 第4図は、主記憶に提供するために、与えられた仮想ア
ドレスを実アドレスに変換するために使用されるDLA
Tアレイとハードウェア論理の概要図、 第5図は、セグメント・テーブルとページ・テーブルを
使用する動的アドレス変換機構の好適な形式を示す図で
ある。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション

Claims (4)

    【特許請求の範囲】
  1. (1)仮想アドレスを実アドレスに変換し、記憶装置か
    らのデータのブロックにアクセスするための記憶アドレ
    ス制御装置であって、該ブロックは複数のブロック・サ
    イズのうちの1つのサイズをもつ記憶アドレス制御装置
    において、 (a)上記複数のブロック・サイズ毎に設けられ、記憶
    アドレスの異なる部分に応答する複数の動的アドレス変
    換手段と、 (b)上記複数の動的アドレス変換手段毎に関連付けら
    れた複数のテーブル中のエントリの連想的検索に基づき
    上記複数の動的アドレス変換手段のうちの1つからのア
    ドレス情報を選択するための制御手段とを具備する、 記憶アドレス制御装置。
  2. (2)中央処理ユニットによって供給された仮想アドレ
    スを実アドレスに変換し、記憶装置からのデータのブロ
    ックにアクセスするための記憶アドレス制御装置であっ
    て、該ブロックは複数のブロック・サイズのうちの1つ
    のサイズをもつ記憶アドレス制御装置において、 (a)上記複数のブロック・サイズ毎に設けられ、その
    各々が、複数の合同クラスをもつセット連想的DLAT
    を有してなる複数の動的アドレス変換手段を具備し、 (b)上記各々の動的アドレス変換手段は、供給された
    仮想アドレスのそれぞれの固有の合同クラス選択フィー
    ルドに同時に応答して、該供給された仮想アドレスに対
    応する実ブロック・アドレスが、その固有の合同クラス
    選択フィールドによってアドレスされたDLATの合同
    クラス・エントリに記憶されているかどうかを決定する
    ものである、記憶アドレス制御装置。
  3. (3)中央処理ユニットによって供給された仮想アドレ
    スを実アドレスに変換し、記憶装置からのデータのブロ
    ックにアクセスするための記憶アドレス制御装置であっ
    て、該ブロックは複数のブロック・サイズのうちの1つ
    のサイズをもつ記憶アドレス制御装置において、 (a)上記複数のブロック・サイズ毎に設けられ、その
    各々が、複数の合同クラスをもつセット連想的DLAT
    を有してなる複数の動的アドレス変換手段を具備し、 (b)上記各々の合同クラス位置中の少なくとも1つは
    、予定の仮想ページの高位タグ・ビットと、予定の仮想
    ページの実アドレスと、ページ有効ビットを記憶するよ
    うになっており、 (c)上記各々の動的アドレス変換手段は、供給された
    仮想アドレスのそれぞれの固有の合同クラス選択フィー
    ルドに同時に応答して、該供給された仮想アドレスに対
    応する実ブロック・アドレスが、その固有の合同クラス
    選択フィールドによってアドレスされたDLATの合同
    クラス・エントリに記憶されているかどうかを決定する
    ものである、記憶アドレス制御装置。
  4. (4)中央処理ユニットによって供給された仮想アドレ
    スを実アドレスに変換し、記憶装置からのデータのブロ
    ックにアクセスするための方法であって、該ブロックは
    複数のブロック・サイズのうちの1つのサイズをもち、
    各ブロック・サイズは仮想空間内の対応する仮想ページ
    ・サイズに等しいようなアドレス変換方法において、 (a)複数のセット連想的DLATアレイの合同クラス
    ・エントリ中に、各ブロックに1つずつのアレイと、高
    位アドレス・タグ・ビットと、実ブロックにマップされ
    る最近参照された仮想ページの実ブロック・アドレス・
    ビットを格納する段階と、(b)供給された仮想アドレ
    ス中の合同クラス選択フィールドに対応する各DLAT
    アレイ中の合同クラス・エントリに同時にアクセスする
    段階と、(c)各DLATアレイのアクセスされたエン
    トリ中のタグ・ビットを、供給された仮想アドレス中の
    対応する高位タグ・ビットと同時に比較する段階と、 (d)比較の結果一致するエントリの実ブロック・アド
    レス・ビットを選択する段階を有する、仮想アドレス変
    換方法。
JP1317881A 1988-12-15 1989-12-08 仮想記憶動的アドレス変換システム Granted JPH02189659A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US285176 1988-12-15
US07/285,176 US5058003A (en) 1988-12-15 1988-12-15 Virtual storage dynamic address translation mechanism for multiple-sized pages

Publications (2)

Publication Number Publication Date
JPH02189659A true JPH02189659A (ja) 1990-07-25
JPH0555900B2 JPH0555900B2 (ja) 1993-08-18

Family

ID=23093089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1317881A Granted JPH02189659A (ja) 1988-12-15 1989-12-08 仮想記憶動的アドレス変換システム

Country Status (5)

Country Link
US (1) US5058003A (ja)
EP (1) EP0373780B1 (ja)
JP (1) JPH02189659A (ja)
CA (1) CA2005463C (ja)
DE (1) DE68923437T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04360252A (ja) * 1991-06-06 1992-12-14 Mitsubishi Electric Corp 計算機の仮想記憶におけるアドレス変換方式

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2858795B2 (ja) * 1989-07-14 1999-02-17 株式会社日立製作所 実記憶割り当て方法
CA2045789A1 (en) * 1990-06-29 1991-12-30 Richard Lee Sites Granularity hint for translation buffer in high performance processor
US5222222A (en) * 1990-12-18 1993-06-22 Sun Microsystems, Inc. Apparatus and method for a space saving translation lookaside buffer for content addressable memory
US5263140A (en) * 1991-01-23 1993-11-16 Silicon Graphics, Inc. Variable page size per entry translation look-aside buffer
EP0506236A1 (en) * 1991-03-13 1992-09-30 International Business Machines Corporation Address translation mechanism
EP0508577A1 (en) * 1991-03-13 1992-10-14 International Business Machines Corporation Address translation mechanism
JPH0546447A (ja) * 1991-08-08 1993-02-26 Hitachi Ltd 空き領域検索方法
JPH0581133A (ja) * 1991-09-19 1993-04-02 Nec Corp 情報処理装置
GB2260628A (en) * 1991-10-11 1993-04-21 Intel Corp Line buffer for cache memory
CA2055295C (en) * 1991-11-12 2000-05-23 Jean Gilles Fecteau Logical mapping of data objects using data spaces
JPH05165715A (ja) * 1991-12-12 1993-07-02 Nec Corp 情報処理装置
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5712998A (en) * 1993-07-13 1998-01-27 Intel Corporation Fast fully associative translation lookaside buffer with the ability to store and manage information pertaining to at least two different page sizes
US5479627A (en) * 1993-09-08 1995-12-26 Sun Microsystems, Inc. Virtual address to physical address translation cache that supports multiple page sizes
US5526504A (en) * 1993-12-15 1996-06-11 Silicon Graphics, Inc. Variable page size translation lookaside buffer
JPH07182239A (ja) * 1993-12-24 1995-07-21 Nec Corp セグメント分割管理システム
SG45399A1 (en) * 1994-01-12 1998-01-16 Sun Microsystems Inc Logically addressable physical memory for a virtual memory computer system that support multiple page sizes
US5440710A (en) * 1994-03-08 1995-08-08 Exponential Technology, Inc. Emulation of segment bounds checking using paging with sub-page validity
US5652872A (en) * 1994-03-08 1997-07-29 Exponential Technology, Inc. Translator having segment bounds encoding for storage in a TLB
WO1996002035A1 (de) * 1994-07-09 1996-01-25 Gmd-Forschungszentrum Informationstechnik Gmbh Verfahren zum umsetzen einer virtuellen adresse in eine reale adresse
US5907867A (en) * 1994-09-09 1999-05-25 Hitachi, Ltd. Translation lookaside buffer supporting multiple page sizes
US5946715A (en) * 1994-09-23 1999-08-31 Ati Technologies Inc. Page address space with varying page size and boundaries
US5682495A (en) * 1994-12-09 1997-10-28 International Business Machines Corporation Fully associative address translation buffer having separate segment and page invalidation
US5752275A (en) * 1995-03-31 1998-05-12 Intel Corporation Translation look-aside buffer including a single page size translation unit
US6643765B1 (en) * 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US5802594A (en) * 1995-09-06 1998-09-01 Intel Corporation Single phase pseudo-static instruction translation look-aside buffer
US5784701A (en) * 1995-09-19 1998-07-21 International Business Machines Corporation Method and system for dynamically changing the size of a hardware system area
US5708790A (en) * 1995-12-12 1998-01-13 International Business Machines Corporation Virtual memory mapping method and system for address translation mapping of logical memory partitions for BAT and TLB entries in a data processing system
US6026476A (en) * 1996-03-19 2000-02-15 Intel Corporation Fast fully associative translation lookaside buffer
US5765190A (en) * 1996-04-12 1998-06-09 Motorola Inc. Cache memory in a data processing system
US5918251A (en) * 1996-12-23 1999-06-29 Intel Corporation Method and apparatus for preloading different default address translation attributes
US5930830A (en) * 1997-01-13 1999-07-27 International Business Machines Corporation System and method for concatenating discontiguous memory pages
US6088780A (en) * 1997-03-31 2000-07-11 Institute For The Development Of Emerging Architecture, L.L.C. Page table walker that uses at least one of a default page size and a page size selected for a virtual address space to position a sliding field in a virtual address
US6012132A (en) * 1997-03-31 2000-01-04 Intel Corporation Method and apparatus for implementing a page table walker that uses a sliding field in the virtual addresses to identify entries in a page table
US6000014A (en) * 1997-04-14 1999-12-07 International Business Machines Corporation Software-managed programmable congruence class caching mechanism
US6026470A (en) * 1997-04-14 2000-02-15 International Business Machines Corporation Software-managed programmable associativity caching mechanism monitoring cache misses to selectively implement multiple associativity levels
US5983322A (en) * 1997-04-14 1999-11-09 International Business Machines Corporation Hardware-managed programmable congruence class caching mechanism
US6112285A (en) * 1997-09-23 2000-08-29 Silicon Graphics, Inc. Method, system and computer program product for virtual memory support for managing translation look aside buffers with multiple page size support
US6182089B1 (en) 1997-09-23 2001-01-30 Silicon Graphics, Inc. Method, system and computer program product for dynamically allocating large memory pages of different sizes
JP2000276404A (ja) * 1999-03-29 2000-10-06 Nec Corp 仮想記憶装置および仮想記憶方法、並びに記録媒体
US6857058B1 (en) * 1999-10-04 2005-02-15 Intel Corporation Apparatus to map pages of disparate sizes and associated methods
US6970992B2 (en) * 1999-10-04 2005-11-29 Intel Corporation Apparatus to map virtual pages to disparate-sized, non-contiguous real pages and methods relating thereto
US6665785B1 (en) * 2000-10-19 2003-12-16 International Business Machines, Corporation System and method for automating page space optimization
US6760826B2 (en) * 2000-12-01 2004-07-06 Wind River Systems, Inc. Store data in the system memory of a computing device
US7028139B1 (en) 2003-07-03 2006-04-11 Veritas Operating Corporation Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
US7076632B2 (en) 2003-10-16 2006-07-11 International Business Machines Corporation Fast paging of a large memory block
US7296139B1 (en) 2004-01-30 2007-11-13 Nvidia Corporation In-memory table structure for virtual address translation system with translation units of variable range size
US7278008B1 (en) 2004-01-30 2007-10-02 Nvidia Corporation Virtual address translation system with caching of variable-range translation clusters
US7334108B1 (en) 2004-01-30 2008-02-19 Nvidia Corporation Multi-client virtual address translation system with translation units of variable-range size
US7475219B2 (en) * 2004-08-27 2009-01-06 Marvell International Ltd. Serially indexing a cache memory
US20080028181A1 (en) * 2006-07-31 2008-01-31 Nvidia Corporation Dedicated mechanism for page mapping in a gpu
JP2009009545A (ja) * 2007-01-31 2009-01-15 Hewlett-Packard Development Co Lp データ処理システム及び方法
US8037278B2 (en) * 2008-01-11 2011-10-11 International Business Machines Corporation Dynamic address translation with format control
US8677098B2 (en) 2008-01-11 2014-03-18 International Business Machines Corporation Dynamic address translation with fetch protection
US8041922B2 (en) * 2008-01-11 2011-10-18 International Business Machines Corporation Enhanced dynamic address translation with load real address function
US8117417B2 (en) 2008-01-11 2012-02-14 International Business Machines Corporation Dynamic address translation with change record override
US8103851B2 (en) 2008-01-11 2012-01-24 International Business Machines Corporation Dynamic address translation with translation table entry format control for indentifying format of the translation table entry
US8019964B2 (en) * 2008-01-11 2011-09-13 International Buisness Machines Corporation Dynamic address translation with DAT protection
US8417916B2 (en) * 2008-01-11 2013-04-09 International Business Machines Corporation Perform frame management function instruction for setting storage keys and clearing blocks of main storage
US8335906B2 (en) * 2008-01-11 2012-12-18 International Business Machines Corporation Perform frame management function instruction for clearing blocks of main storage
US8151083B2 (en) 2008-01-11 2012-04-03 International Business Machines Corporation Dynamic address translation with frame management
US8041923B2 (en) * 2008-01-11 2011-10-18 International Business Machines Corporation Load page table entry address instruction execution based on an address translation format control field
US8082405B2 (en) * 2008-01-11 2011-12-20 International Business Machines Corporation Dynamic address translation with fetch protection
US8086811B2 (en) 2008-02-25 2011-12-27 International Business Machines Corporation Optimizations of a perform frame management function issued by pageable guests
US8095773B2 (en) 2008-02-26 2012-01-10 International Business Machines Corporation Dynamic address translation with translation exception qualifier
US8862859B2 (en) * 2010-05-07 2014-10-14 International Business Machines Corporation Efficient support of multiple page size segments
US8745307B2 (en) 2010-05-13 2014-06-03 International Business Machines Corporation Multiple page size segment encoding
US10114752B2 (en) 2014-06-27 2018-10-30 International Business Machines Corporation Detecting cache conflicts by utilizing logical address comparisons in a transactional memory
US20150378904A1 (en) * 2014-06-27 2015-12-31 International Business Machines Corporation Allocating read blocks to a thread in a transaction using user specified logical addresses
KR20220048864A (ko) * 2020-10-13 2022-04-20 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1984002784A1 (en) * 1982-12-30 1984-07-19 Ibm Virtual memory address translation mechanism with controlled data persistence
US4823259A (en) * 1984-06-29 1989-04-18 International Business Machines Corporation High speed buffer store arrangement for quick wide transfer of data
US4695950A (en) * 1984-09-17 1987-09-22 International Business Machines Corporation Fast two-level dynamic address translation method and means
JPS61148551A (ja) * 1984-12-24 1986-07-07 Hitachi Ltd アドレス変換方式
JPH0656594B2 (ja) * 1985-05-07 1994-07-27 株式会社日立製作所 ベクトルプロセツサ
JPS62222344A (ja) * 1986-03-25 1987-09-30 Hitachi Ltd アドレス変換機構
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
JPH0812636B2 (ja) * 1986-12-24 1996-02-07 株式会社東芝 仮想記憶制御方式の計算機システム
US4914577A (en) * 1987-07-16 1990-04-03 Icon International, Inc. Dynamic memory management system and method
US4980816A (en) * 1987-12-18 1990-12-25 Nec Corporation Translation look-aside buffer control system with multiple prioritized buffers
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04360252A (ja) * 1991-06-06 1992-12-14 Mitsubishi Electric Corp 計算機の仮想記憶におけるアドレス変換方式

Also Published As

Publication number Publication date
DE68923437D1 (de) 1995-08-17
CA2005463C (en) 1995-06-27
US5058003A (en) 1991-10-15
EP0373780A3 (en) 1991-04-10
EP0373780B1 (en) 1995-07-12
CA2005463A1 (en) 1990-06-15
DE68923437T2 (de) 1996-03-07
JPH0555900B2 (ja) 1993-08-18
EP0373780A2 (en) 1990-06-20

Similar Documents

Publication Publication Date Title
JPH02189659A (ja) 仮想記憶動的アドレス変換システム
US5475827A (en) Dynamic look-aside table for multiple size pages
US5586283A (en) Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
KR920005280B1 (ko) 고속 캐쉬 시스템
US5375214A (en) Single translation mechanism for virtual storage dynamic address translation with non-uniform page sizes
JP4065660B2 (ja) 機能が並列に分散された変換索引バッファ
JP3666689B2 (ja) 仮想アドレス変換方法
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
EP0036110A2 (en) Cache addressing mechanism
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
JPH04232551A (ja) 多重仮想アドレス変換方法及び装置
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
CA2057494A1 (en) Translation lookaside buffer
JP3449487B2 (ja) 変換索引緩衝機構
JPH07104816B2 (ja) コンピュータシステムを動作する方法及びコンピュータシステムにおけるメモリ管理装置
US5463750A (en) Method and apparatus for translating virtual addresses in a data processing system having multiple instruction pipelines and separate TLB's
US4757447A (en) Virtual memory system having identity marking for common address space
US5341485A (en) Multiple virtual address translation per computer cycle
JP2000339221A (ja) 変換装置のエントリを無効化するシステム及び方法
JPH11345168A (ja) デ―タ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
JP2008511882A (ja) 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法
JPH035851A (ja) バッファ記憶装置
KR920005296B1 (ko) 정보처리장치
JPH05342101A (ja) 階層キャッシュ・メモリ
US6460118B1 (en) Set-associative cache memory having incremental access latencies among sets