JPH04319747A - アドレス変換機構 - Google Patents

アドレス変換機構

Info

Publication number
JPH04319747A
JPH04319747A JP4045376A JP4537692A JPH04319747A JP H04319747 A JPH04319747 A JP H04319747A JP 4045376 A JP4045376 A JP 4045376A JP 4537692 A JP4537692 A JP 4537692A JP H04319747 A JPH04319747 A JP H04319747A
Authority
JP
Japan
Prior art keywords
address
translation
page
bits
tlb
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
Application number
JP4045376A
Other languages
English (en)
Inventor
Jamshed H Mirza
ジャムシド・ホルマズダイア・ミルザ
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 JPH04319747A publication Critical patent/JPH04319747A/ja
Pending 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]
    • 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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システムの
仮想記憶機構、より詳細に言えば、種々の大きさのペー
ジのための単一の変換索引緩衝機構(translat
ion look aside buffer−TLB
)機能を用いた動的アドレス変換(dynamic a
ddress translation−DAT)機構
に関する。
【0002】
【従来の技術】仮想記憶変換機構及びデータ処理システ
ムのための管理は、例えば、Addison−Wesl
ey(1987年)の「High−Performan
ce Computer Architecture」
と題するストーン(Harold S. Stone)
の刊行物や、Addison Wesley(1984
年)の「An Introduction to Op
erating System」と題するデイテル(H
arveyM. Deitel)の刊行物、またはAd
dison Wesley(1981年)の「Oper
ating System」と題するデイテルの刊行物
に記載されている。仮想記憶システムにおいて、ページ
ングはメモリ・アドレスを再配置し、そしてメモリ・ア
ドレスからメモリの物理的位置へ結合する機構であつて
、この機構は実際に利用可能なメモリ空間よりも遥かに
大きなメモリ空間として現われるメモリ・システムをユ
ーザに与えるものである。仮想記憶機能の概念の基礎と
なるものは、動作している処理で参照されたアドレスを
、主記憶装置中で使用可能なアドレスとの関連を断つこ
とである。動作している現実の処理によつて参照された
アドレスは、仮想アドレスと呼ばれており、他方、主記
憶装置中で使用されるアドレスは実アドレスと呼ばれる
。仮想アドレスは、処理が実行されるときに実アドレス
にマツプされなければならないが、これが動的アドレス
変換(DAT)機構の機能である。この機能を持つ1つ
の機構は、デイレクトリ索引テーブル(directo
ry look aside table−DLAT)
と呼ばれる機構であり、これは、最近の仮想アドレス変
換をストアする変換索引緩衝機構(TLB)とも呼ばれ
ている。当業者の間では、術語DLAT及びTLBは相
互に同じ意味に使われているが、説明を簡明にするため
に、この明細書においては術語TLBを使用する。TL
Bにストアされた仮想アドレスに対して、変換処理は、
2つのマシン・サイクルだけしか必要としない。TLB
中にストアされていないアドレスに対しては、変換処理
は10回から数百回のマシン・サイクルを必要とする。
【0003】同時に複数のページ・サイズをサポートす
るマシンにおいて、若し、一定の数のアドレス・ビツト
の組がTLB内の合同(congruence)クラス
を選択するのに用いられたとすれば、選択ビツトの論理
的な選択は、許容される最大のページ・サイズに対して
、隣りのページとの間を区別する低い順位のビツトであ
る。然しながら、小さなページに対しては、このような
選択は、合同クラスを参照する地域的な利益を損なう。 1例として、例えば、4キロバイトと、1メガバイトの
ページを持つシステムの場合を考えてみる。若し、TL
Bが256対のエントリと関連した2通路の組であると
し、そして、1メガバイトのページを選択するビツトが
合同クラスを選択するのに使用されているものとすれば
、1メガバイト(並べられている)のブロツク中の4キ
ロバイトのページのすべては、たつた2つのエントリし
か持たない1つの合同クラスにマツプされる。従つて、
ブロツクが4キロバイトでバツクアツプされた時、TL
Bによつて、すべての1メガバイトのブロツク(1メガ
バイトの境界内の)の8キロバイトだけしかカバーする
ことができない。
【0004】この問題を避けるために、各ページ・サイ
ズに対して明確なTLB機能を使用することができるよ
うに、アドレス変換のための連想アドレスの組をデザイ
ンする解決方法がある。この解決方法は、1988年1
2月15日に出願された米国特許出願第285176号
に開示されている。この技術において、TLBの合同ク
ラスを選択するためにアドレスの固定フイールドを使用
するのではなく、合同クラスを選択するために使用され
るアドレス・ビツトは、特定のTLBと関連したページ
・サイズの関数として選ばれる。各TLBのためのアド
レスは、ページ番号フイールドと移動(ページ内で)フ
イールドとに区切られる。ページ番号フイールドの低い
位のビツトは合同クラス選択ビツトとして使用される。 従つて、この解決方法は、基本的には、各TLB機能に
対してアドレス・ビツトの明確な組み合わせを物理的な
(そして、静的な)経路を作ることによつてTLBの合
同選択ビツトとして供給するような、アドレスの異なつ
た部分の選択方法である。
【0005】アプリケーシヨンが混在しているというこ
とは、コンピユータ・システムの使用の態様をしばしば
、変動させる(一日の内の或る時間帯は、商業的な対話
式のアプリケーシヨンが多用され、そして、他の時間帯
は科学計算とか、技術計算のアプリケーシヨンが多用さ
れる)ので、大きなページと小さなページとの間の最適
なバランスが変動する。従つて、合同クラス選択ビツト
の静的な経路付けを持つ二重TLBの解決方法の適用は
、容易ではない。ページ・サイズに関連付けることなく
、任意のTLBを使用する能力は、仕事の負担を軽減す
ることになる。従つて、合計のTLBエントリの所定の
数に対するTLBはTLBのヒツト率を向上する。
【0006】更に、ある種の新しいアーキテクチヤは、
多数のページ・サイズの使用を可能にした結果、そのよ
うなシステムにおいて、各ページ・サイズに対して明確
にされたTLBは、ページ・サイズの数が増加すること
によつて、次第に実用性を失つてきた。複数のTLBの
問題(1つのページ・サイズ当り1つのTLB)は、ス
カラ・ユニツト及びベクトル・ユニツトに対してTLB
が別々であり、そしてプロセツサの間でDAT機能が独
立しているために、性能を強化するのに使用されるTL
Bの複製によつて更に悪化する。この分野において、複
数ページ・サイズのサポートには殆ど経験がない。また
、幾つかのページ・サイズをサポートすることは、ハー
ドウエアの修正なくソフトウエアの性能の実験が可能で
ある。
【0007】
【発明が解決しようとする課題】本発明の目的は、種々
のサイズのページのために単一の変換索引緩衝機構(T
LB)を用いた動的アドレス変換(DAT)機構を提供
することにある。
【0008】本発明の他の目的は、複数のサイズのペー
ジに対して変換エントリをストアする単一の変換索引緩
衝機構を提供することにある。この変換索引緩衝機構に
おいて、1つのエントリ中のビツトの数は、ページ・サ
イズとは独立しており、そして、サポートされるページ
・サイズの数は、最小ページ・サイズと最大ページ・サ
イズとの比率が変換索引緩衝機構の合同クラスの数より
も小さいか、または同じになるようにされている。
【0009】
【課題を解決するための手段】本発明に従つて、単一の
TLBが少数の特別のハードウエアによつてサポートさ
れる。このハードウエアは、変換を行ない、マスクを発
生する前に、ページ・サイズを検出するためのロジツク
を含んでいる。このロジツクは、TLB中のエントリを
アドレスするために、仮想アドレス・ビツトの組を選択
する。仮想アドレスの一部はマスクされ、そして、実ア
ドレスを形成するために、TLBから読み出されたアド
レスと併合される。
【0010】
【実施例】図1を参照すると、物理的なメモリ装置、即
ち記憶装置14中にストアされているデータ・エレメン
トへのアクセスを必要に応じて要求する中央処理ユニツ
ト(CPU)12を含む代表的なデータ処理システム1
0が示されている。CPU12は、自動アドレス変換(
DAT)ユニツト16によつて実アドレスにマツプされ
る仮想アドレスを使用した所定のエレメントを特定する
。現在のマツピングの記載を維持するための負担を最小
にするために、仮想記憶装置の隣接ブロツクは、実際の
記憶装置、つまり、実メモリの隣接したブロツクにマツ
プされる。ブロツクのサイズは「ページ」と呼ばれる。 代表的なページは1つ、またはそれ以上のレコードを含
んでおり、多くのコンピユータにおいては、1ページは
4096バイトを含んでいる(1バイトは1つのキヤラ
クタ(通常8ビツト)を表わすのに必要なビツト数)。 然しながら、この明細書においては、術語「ページ」は
、データの任意のブロツクを意味する。性能を向上する
ために、最も近い時期で変換されたページのマツピング
情報は、変換索引緩衝機構(TLB)18を有するDA
Tユニツト中に維持されている。
【0011】図2及び図3に示されているように、仮想
アドレス空間21(図2)は0メガバイト(0MB)か
らnメガバイト(nMB)まで、実アドレス空間22(
図3)は0メガバイトからmメガバイトまで複数の1メ
ガバイト・ブロツクに夫々分割されている。0メガバイ
ト・アドレス値及び50メガバイト・アドレス値で始ま
る仮想アドレス空間ブロツク23及び24(図2)は2
56キロバイトのページ3−0から3−255のグルー
プと、4−0から4−255のグループとに分割される
。他方、1メガバイト(1MB)、63メガバイト、6
4メガバイト及び65メガバイトの仮想開始アドレスを
持つ1メガバイトのブロツク5乃至8は、仮想アドレス
空間中の1メガバイトのページを画定する。ブロツク5
乃至8は、実アドレス・ブロツクにマツプされる。ブロ
ツク23及び24中の幾つかの4キロバイト(4KB)
のページは実アドレス・ブロツク25及び26の4キロ
バイトのページ・フレーム13−0から13−255及
び14−0から14−255に夫々マツプされる。
【0012】マツピング・ブロツク、即ちマツピング・
ページは、種々のサイズを持つことができる。より大き
なブロツクは、1つのTLBエントリ当りでカバーする
範囲を広くするが、小さな量のデータが必要な時には、
ページの移動のためにより多くの負担がかかる。小さな
ページは小さなデータ・オブジエクト(即ち、コード・
セグメント、ランダムにアクセスされるレコード)に対
して効果的であるのに対して、大きなページは、代表的
な科学計算用のアプリケーシヨンのアレイのような大き
な隣合つたブロツクに対しては一層効果的である。4キ
ロバイトのページには4キロバイトの境界を設け(慣用
されているように)、そして、1メガバイトのページに
は1メガバイトの境界を設ける要件は、DATユニツト
中の変換ハードウエアに最も能率的な実行を与える。
【0013】図示されたデザインは、256対のエント
リを有する2通路のセツト関連TLB用のものである。 一般性を失うことなく、かつ、説明を特定の対象物にす
る目的のために、本発明は2の累乗で、かつ、4キロバ
イト乃至1メガバイトまでの範囲に入る9個のページ・
サイズを許容するメモリ・システムとして説明する。特
定のページ・サイズPは、P=0(4キロバイト)乃至
P=8(1メガバイト)を表わしている。
【0014】図4に示されているブロツク図は、TLB
30と、それに関連した経路作成回路である。各TLB
のエントリは、12ビツトのタグ値と、20ビツトの「
実アドレス」フイールドとで構成されている。合同クラ
スの選択は、8ビツトフイールド(256対のエントリ
)に基づいている。4キロバイトのページに対して、合
同クラスの選択は、A12からA19であり、1メガバ
イトのページに対して、合同クラスの選択はA4からA
11である。アドレス・ビツトの「スライデイング・ウ
インドウ」は、A4からA19を入力し、Pビツトを右
に移動し、そして低位の8ビツトを出力するシフタ31
として実施することができる。図4は、TLBエントリ
の対を選択するために使用されているシフタ31の出力
を示している。
【0015】エントリの対が選択された後、各エントリ
のタグ値はA0乃至A11のための比較器32及び33
において比較される。若し、一致がなければ、TLBミ
スが発生される。TLBミスの場合、アドレス変換が獲
得され(セグメント/ページ・テーブル・サーチか、ま
たはページの誤りを通じて)、そして、TLBエントリ
中に置かれる。若し、一致があれば、関連した実アドレ
ス・フイールド(RA12乃至RA19)がオア・ゲー
ト34に通される。オア・ゲート34への他の入力は、
アンド・ゲート35からの仮想アドレス・ビツト(A1
2乃至A19)のマスクされた組である。8ビツトのマ
スク36は、P個の1と8マイナスP個の0からなる構
成にされている。TLBからの12個の高位のアドレス
・ビツト(RA0乃至RA11)は、離隔した実アドレ
ス・レジスタ37を介して通過される。
【0016】Pの値を特定する4個のビツト(P3乃至
P0)から、8ビツトのマスクが発生されるのは容易に
理解できる。この処理は以下のように示すことができる
。   マスクの発生と、A12乃至A19のマスキング(
アンド・ゲード35による)と、オア・ゲート34とは
、1つのロジツクのブロツクに結合することができるの
は明らかである。
【0017】このデザインの単純化の重要な点は、ペー
ジ・サイズとは独立して均一なTLBエントリを作るこ
とができることにある。これは、2つのステツプで管理
される。第1に、冗長情報が各エントリのタグ・フイー
ルド中に含まれている。4キロバイトのページに対して
、独特のタグはA0からA19の20個のビツトである
。然しながら、4キロバイトのページは合同クラス選択
ビツトとしてA12からA19を通常使用するので、こ
れらのビツトの値は、いつたんエントリの対が選択され
ると使用される。従つて、A0乃至A11のみが、タグ
として保存される必要がある。A0乃至A3だけを1メ
ガバイトのページのタグとして保存する必要があること
を、同じようなロジツクが指令する。然しながら、図示
されたデザインにおいて、ビツトA4乃至A11は、冗
長であるけれども保存される。このようにすることは、
比較器32及び33をページ・サイズとは独立させる(
すべてのタグ及び比較器がA0乃至A11を使用する)
。「一致」の比較に使用されるタグ・ビツトは、最大の
ページ中の1ビツトを選択する任意のビツトを含むこと
ができないので、合同クラスの数は、大きいページ・サ
イズと小さいページ・サイズの比(バイト数において)
よりも大きいか、または等しい値でなければならない。 同様に、実アドレス・フイールドのパツデイング(埋込
み)は、実アドレスの発生ロジツクをページ・サイズか
ら独立させる。1メガバイトのページに対して、たつた
12個のビツト(RA0乃至RA11)を維持する必要
があるだけである。このデザインにおいて、P個のゼロ
は低位のビツトをパツド(埋めこむ)するのに使用され
る。エントリが小さいページである時、これらのビツト
が用いられると言う意味において、TLBビツトの空間
は無駄ではない(タグ中のP個の冗長ビツトと、実アド
レス中のP個のパツドされたビツトとに対して)。
【0018】4キロバイトのページ(P=0)の変換の
間で、幾つかのビツト・フイールドのグループ化及び経
路作りが図5に示されている。1メガバイトのページ(
P−=8)の変換の間で、幾つかのビツト・フイールド
のグループ化及び経路作りが図6に示されている。図5
及び図6において、図4に示した参照数字と同じ参照数
字は、図4と同じ構造を示している。P=0に対して、
シフタ31は仮想アドレス・ビツトA12−A19(図
5)を出力し、他方、P=8に対しては、シフタ31は
仮想アドレス・ビツトA4−A11(図6)を出力する
ことは注意を要する。同様に、マスク36は、P=0に
対して16進数の「00」であり、P=8に対しては1
6進数の「FF」である。
【0019】図示された実施例は9個のページ・サイズ
(0乃至8)をサポートする。若し、ページ・サイズが
これよりも小さければ、単純化が計れる。例えば、図7
に示したように、若し、4キロバイト及び1メガバイト
のたつた2個のページのサイズしか使われなければ、図
4の合同クラスのシフタ31は、単純な8ビツト2通路
のマルチプレクサ38になり、そして、図4のマスク発
生回路36、アンド・ゲート35及びオア・ゲート34
は単一の8ビツト2通路のマルチプレクサ39に単純化
される。
【0020】現在の方式では、複数のTLBヒツト(単
一の変換に対して)が生ずることができないので、変換
されるアドレスを表示する前に、そのアドレスのページ
・サイズを知る必要がない。本発明についての1つの制
限は、ページ・サイズが変換ユニツトに表示される前に
ページ・サイズを必要とすることである。変換の前にペ
ージ・サイズを決定する1例を示すのに用いることがで
きる1つのアーキテクチヤは、単一のユーザのための4
キロバイトのページ・サイズと複数アドレス空間をサポ
ートするIBM社のESA/370システムである。若
し、各アドレス空間内(アドレス空間を跨がないで)に
均一のページ・サイズを要求することによつて、複数の
ページ・サイズが編入されたならば、そのページ・サイ
ズ情報は、アクセス・レジスタ情報の索引緩衝機構中に
維持される。アクセス・レジスタの内容に関連して、特
定のアドレス空間を識別するための情報があり、この場
合、その情報は、その空間のページ・サイズである。
【0021】IBM社のRISCシステム/6000の
ような論理的に2レベルの変換を有するシステムにおい
ても、仮想アドレスから実アドレスへの変換をする前に
ページ・サイズを決定することが可能である。1つの選
択は、セグメント内に均一なページ・サイズを必要とす
ることである。効力のあるアドレスから仮想アドレスへ
の変換の間で、ページ・サイズを決定することができ、
そして、ページ・サイズ情報は、「セグメント索引緩衝
機構(Segment Look−aside Buf
fer−SLB)」中に論理的に保持することができる
。TLBが最近の仮想アドレスから実アドレスへの変換
情報を維持しているのと同じように、SLBは最近変換
された効力あるアドレスから仮想アドレスへの変換情報
を保持する。
【0022】冗長情報を維持することと、0をパツドす
ることとは、単一のTLB中に複数のページ・サイズを
サポートするために必要とする回路を最小限にすること
にその狙いがある。TLBのエントリの与えられた数に
対して、単一のTLBは、複数のTLBよりも大きなヒ
ツト率を与える。更に、TLBは集積回路(IC)チツ
プの容量に適合させる必要がないから、各TLBに対し
て、或る量の無駄なチツプ領域が生じる。TLBを組み
合わせることは無駄なチツプ領域の割合を減少すること
ができる。
【0023】
【発明の効果】本発明により、仮想メモリ・システムに
おいて、種々のページ・サイズに対して単一のTLBを
用いた動的アドレス変換機構を提供できる。
【図面の簡単な説明】
【図1】代表的なデータ処理システムを示すブロツク図
である。
【図2】図3に連続する図であつて、均一でないページ
のためのサポートを与えるシステムにおいて与えられる
代表的な変換情報を動的に示す図である。
【図3】図2に連続する図であつて、均一でないページ
のためのサポートを与えるシステムにおいて与えられる
代表的な変換情報を動的に示す図である。
【図4】本発明を適用したアドレス変換ユニツトの論理
的構造を説明するブロツク図である。
【図5】変換ユニツトが4キロバイトを変換する時、変
換ユニツトの論理的な構成を示す図である。
【図6】変換ユニツトが1メガバイトを変換する時、変
換ユニツトの論理的な構成を示す図である。
【図7】本発明を適用し、単純化されたアドレス変換ユ
ニツトの論理的構成を示す図である。
【符号の説明】
10  データ処理システム 12  中央処理装置(CPU) 14  記憶装置 16  動的アドレス変換ユニツト(DAT)18、3
0  変換索引緩衝機構(TLB)31  シフタ 32、33  比較器 36  マスク 37  実アドレス・レジスタ 38、39  マルチプレクサ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】  複数のサイズのページをサポートする
    データ処理システム中の仮想記憶システムのためのアド
    レス変換機構において、記憶装置の実アドレスに変換さ
    れるべき仮想アドレスをストアするための手段と、上記
    複数のサイズのページのための変換エントリをストアす
    る単一の変換索引緩衝機構を含んでいることと、1つの
    エントリ中のビツトの数はページ・サイズとは独立して
    いることと、上記アドレス変換機構によつてサポートさ
    れるページ・サイズの数は、最大ページ・サイズと最小
    ページ・サイズとの比率が変換索引緩衝機構の合同クラ
    スの数よりも小さいか、または等しい値であるようにさ
    れていることと、上記変換索引緩衝機構中の変換エント
    リをアドレスするための仮想アドレス・ビツトの第1の
    サブセツトを選択し、かつ、上記仮想アドレス・ビツト
    の第2のサブセツトを選択するための論理手段と、実ア
    ドレスの部分を形成するために、変換索引緩衝機構から
    読み出されたアドレスを仮想アドレス・ビツトの第2の
    サブセツトに併合するための手段とを含むアドレス変換
    機構。
  2. 【請求項2】  上記論理手段は、マスクを発生する変
    換の前に、上記複数ページ・サイズの特定の1つを用い
    るためのマスク発生手段を含み、かつ、上記論理手段は
    上記仮想アドレス・ビツトのサブセツトをマスクするこ
    とを特徴とする請求項1に記載のアドレス変換機構。
  3. 【請求項3】  上記論理手段は上記第1のサブセツト
    を発生するために上記仮想アドレスの一部をシフトする
    ためのシフト手段を含むことを特徴とする請求項2に記
    載のアドレス変換機構。
  4. 【請求項4】  上記データ処理システムは2つのペー
    ジ・サイズをサポートするアドレス変換機構において、
    上記論理手段は、上記変換索引緩衝機構中の変換エント
    リをアドレスするための仮想アドレス・ビツトの上記第
    1のサブセツト、または上記第2のサブセツトのいずれ
    かを選択するための第1のマルチプレクサ手段と、上記
    変換索引緩衝機構から読み出される上記アドレスの第2
    の部分と併合するために、上記変換索引緩衝機構から読
    み出されたアドレスの第1の部分か、または仮想アドレ
    ス・ビツトの上記第2のサブセツトかのいずれかを選択
    するための第2のマルチプレクサ手段とを含むことを特
    徴とする請求項1に記載のアドレス変換機構。
JP4045376A 1991-03-13 1992-03-03 アドレス変換機構 Pending JPH04319747A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66864291A 1991-03-13 1991-03-13
US668642 1991-03-13

Publications (1)

Publication Number Publication Date
JPH04319747A true JPH04319747A (ja) 1992-11-10

Family

ID=24683170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4045376A Pending JPH04319747A (ja) 1991-03-13 1992-03-03 アドレス変換機構

Country Status (3)

Country Link
US (1) US5375214A (ja)
EP (1) EP0508577A1 (ja)
JP (1) JPH04319747A (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5765209A (en) * 1993-09-23 1998-06-09 Hewlett-Packard Co. Method and apparatus to eliminate redundant mapping in a TLB utilizing variable sized pages
US5802341A (en) * 1993-12-13 1998-09-01 Cray Research, Inc. Method for the dynamic allocation of page sizes in virtual memory
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 セグメント分割管理システム
DE69429503T2 (de) * 1994-03-24 2002-05-16 Hewlett Packard Co Übersetzungsmechanismus für Ein-/Ausgabeadressen
US5530822A (en) * 1994-04-04 1996-06-25 Motorola, Inc. Address translator and method of operation
US5535351A (en) * 1994-04-04 1996-07-09 Motorola, Inc. Address translator with by-pass circuit and method of operation
US5530824A (en) * 1994-04-04 1996-06-25 Motorola, Inc. Address translation circuit
US5907867A (en) * 1994-09-09 1999-05-25 Hitachi, Ltd. Translation lookaside buffer supporting multiple page sizes
JP3740195B2 (ja) * 1994-09-09 2006-02-01 株式会社ルネサステクノロジ データ処理装置
KR960032174A (ko) * 1995-02-02 1996-09-17 빈센트 비. 인그라시아 데이타 프로세서와 그 방법
US6026476A (en) * 1996-03-19 2000-02-15 Intel Corporation Fast fully associative translation lookaside buffer
US5860147A (en) * 1996-09-16 1999-01-12 Intel Corporation Method and apparatus for replacement of entries in a translation look-aside buffer
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
US6134699A (en) * 1998-01-30 2000-10-17 International Business Machines Corporation Method and apparatus for detecting virtual address parity error for a translation lookaside buffer
AU3536499A (en) * 1998-05-01 1999-11-23 Matsushita Electric Industrial Co., Ltd. Data processing device and method
JP2000276404A (ja) * 1999-03-29 2000-10-06 Nec Corp 仮想記憶装置および仮想記憶方法、並びに記録媒体
US6446187B1 (en) * 2000-02-19 2002-09-03 Hewlett-Packard Company Virtual address bypassing using local page mask
US6549997B2 (en) * 2001-03-16 2003-04-15 Fujitsu Limited Dynamic variable page size translation of addresses
US7254668B1 (en) 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US7188228B1 (en) * 2003-10-01 2007-03-06 Sandisk Corporation Hybrid mapping implementation within a non-volatile memory system
US7334108B1 (en) 2004-01-30 2008-02-19 Nvidia Corporation Multi-client virtual address translation system with translation units of variable-range size
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
US7475219B2 (en) 2004-08-27 2009-01-06 Marvell International Ltd. Serially indexing a cache memory
US20060294334A1 (en) * 2005-06-23 2006-12-28 International Business Machines Corporation Statement regarding federally sponsored-research or development
US20080028181A1 (en) * 2006-07-31 2008-01-31 Nvidia Corporation Dedicated mechanism for page mapping in a gpu
US8838876B2 (en) 2008-10-13 2014-09-16 Micron Technology, Inc. Translation layer in a solid state storage device
CN101876944B (zh) * 2009-11-26 2012-02-15 威盛电子股份有限公司 动态随机存取存储器控制器和控制方法
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
US9092359B2 (en) 2012-06-14 2015-07-28 International Business Machines Corporation Identification and consolidation of page table entries
US9753860B2 (en) 2012-06-14 2017-09-05 International Business Machines Corporation Page table entry consolidation
US9811472B2 (en) * 2012-06-14 2017-11-07 International Business Machines Corporation Radix table translation of memory
US10282286B2 (en) 2012-09-14 2019-05-07 Micron Technology, Inc. Address mapping using a data unit type that is variable
US10061712B2 (en) 2016-05-10 2018-08-28 Oracle International Corporation Virtual memory page mapping overlays
US10318435B2 (en) * 2017-08-22 2019-06-11 International Business Machines Corporation Ensuring forward progress for nested translations in a memory management unit
US10915459B2 (en) * 2018-10-29 2021-02-09 International Business Machines Corporation Methods and systems for optimized translation of a virtual address having multiple virtual address portions using multiple translation lookaside buffer (TLB) arrays for variable page sizes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6337445A (ja) * 1986-08-01 1988-02-18 Hitachi Ltd 記憶方式
JPS6417137A (en) * 1987-07-13 1989-01-20 Nippon Telegraph & Telephone Control system for large-capacity page

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR10582E (fr) * 1970-06-29 1909-07-30 Paul Alexis Victor Lerolle Jeu de serrures avec passe-partout
US4096573A (en) * 1977-04-25 1978-06-20 International Business Machines Corporation DLAT Synonym control means for common portions of all address spaces
US4373179A (en) * 1978-06-26 1983-02-08 Fujitsu Limited Dynamic address translation system
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces
US4356549A (en) * 1980-04-02 1982-10-26 Control Data Corporation System page table apparatus
US4766537A (en) * 1986-01-02 1988-08-23 Motorola, Inc. Paged memory management unit having stack change control register
JPS62237547A (ja) * 1986-04-09 1987-10-17 Hitachi Ltd アドレス変換方式
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
JP2960415B2 (ja) * 1987-05-22 1999-10-06 株式会社日立製作所 記憶保護方法および装置
JP2635058B2 (ja) * 1987-11-11 1997-07-30 株式会社日立製作所 アドレス変換方式
US5058003A (en) * 1988-12-15 1991-10-15 International Business Machines Corporation Virtual storage dynamic address translation mechanism for multiple-sized pages
US5133058A (en) * 1989-09-18 1992-07-21 Sun Microsystems, Inc. Page-tagging translation look-aside buffer for a computer memory system
CA2045789A1 (en) * 1990-06-29 1991-12-30 Richard Lee Sites Granularity hint for translation buffer in high performance processor
US5263140A (en) * 1991-01-23 1993-11-16 Silicon Graphics, Inc. Variable page size per entry translation look-aside buffer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6337445A (ja) * 1986-08-01 1988-02-18 Hitachi Ltd 記憶方式
JPS6417137A (en) * 1987-07-13 1989-01-20 Nippon Telegraph & Telephone Control system for large-capacity page

Also Published As

Publication number Publication date
EP0508577A1 (en) 1992-10-14
US5375214A (en) 1994-12-20

Similar Documents

Publication Publication Date Title
JPH04319747A (ja) アドレス変換機構
US5475827A (en) Dynamic look-aside table for multiple size pages
US5058003A (en) Virtual storage dynamic address translation mechanism for multiple-sized pages
US5465337A (en) Method and apparatus for a memory management unit supporting multiple page sizes
KR920005280B1 (ko) 고속 캐쉬 시스템
US5526504A (en) Variable page size translation lookaside buffer
JP3640978B2 (ja) ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置
US5282274A (en) Translation of multiple virtual pages upon a TLB miss
US5412787A (en) Two-level TLB having the second level TLB implemented in cache tag RAMs
US7089398B2 (en) Address translation using a page size tag
US6088780A (en) 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
US5493660A (en) Software assisted hardware TLB miss handler
US6408373B2 (en) Method and apparatus for pre-validating regions in a virtual addressing scheme
US4654777A (en) Segmented one and two level paging address translation system
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
US5630087A (en) Apparatus and method for efficient sharing of virtual memory translations
EP0492859A2 (en) Translation lookaside buffer
US6189074B1 (en) Mechanism for storing system level attributes in a translation lookaside buffer
US5893930A (en) Predictive translation of a data address utilizing sets of associative entries stored consecutively in a translation lookaside buffer
US5305444A (en) Apparatus for increasing the number of hits in a translation lookaside buffer including instruction address lookaside register
US4821171A (en) System of selective purging of address translation in computer memories
KR20060120242A (ko) 메모리 관리 유닛, 메모리 관리 유닛을 포함하는 시스템 및어드레스 변환 방법
US5319761A (en) Directory look-aside table for a virtual storage system including means for minimizing synonym entries
US5341485A (en) Multiple virtual address translation per computer cycle
JP3210637B2 (ja) データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム