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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/652—Page 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)機構
に関する。
仮想記憶機構、より詳細に言えば、種々の大きさのペー
ジのための単一の変換索引緩衝機構(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回から数百回のマシン・サイクルを必要とする。
ムのための管理は、例えば、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キロバイトだけしかカバーする
ことができない。
るマシンにおいて、若し、一定の数のアドレス・ビツト
の組が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の合
同選択ビツトとして供給するような、アドレスの異なつ
た部分の選択方法である。
ズに対して明確なTLB機能を使用することができるよ
うに、アドレス変換のための連想アドレスの組をデザイ
ンする解決方法がある。この解決方法は、1988年1
2月15日に出願された米国特許出願第285176号
に開示されている。この技術において、TLBの合同ク
ラスを選択するためにアドレスの固定フイールドを使用
するのではなく、合同クラスを選択するために使用され
るアドレス・ビツトは、特定のTLBと関連したページ
・サイズの関数として選ばれる。各TLBのためのアド
レスは、ページ番号フイールドと移動(ページ内で)フ
イールドとに区切られる。ページ番号フイールドの低い
位のビツトは合同クラス選択ビツトとして使用される。 従つて、この解決方法は、基本的には、各TLB機能に
対してアドレス・ビツトの明確な組み合わせを物理的な
(そして、静的な)経路を作ることによつてTLBの合
同選択ビツトとして供給するような、アドレスの異なつ
た部分の選択方法である。
【0005】アプリケーシヨンが混在しているというこ
とは、コンピユータ・システムの使用の態様をしばしば
、変動させる(一日の内の或る時間帯は、商業的な対話
式のアプリケーシヨンが多用され、そして、他の時間帯
は科学計算とか、技術計算のアプリケーシヨンが多用さ
れる)ので、大きなページと小さなページとの間の最適
なバランスが変動する。従つて、合同クラス選択ビツト
の静的な経路付けを持つ二重TLBの解決方法の適用は
、容易ではない。ページ・サイズに関連付けることなく
、任意のTLBを使用する能力は、仕事の負担を軽減す
ることになる。従つて、合計のTLBエントリの所定の
数に対するTLBはTLBのヒツト率を向上する。
とは、コンピユータ・システムの使用の態様をしばしば
、変動させる(一日の内の或る時間帯は、商業的な対話
式のアプリケーシヨンが多用され、そして、他の時間帯
は科学計算とか、技術計算のアプリケーシヨンが多用さ
れる)ので、大きなページと小さなページとの間の最適
なバランスが変動する。従つて、合同クラス選択ビツト
の静的な経路付けを持つ二重TLBの解決方法の適用は
、容易ではない。ページ・サイズに関連付けることなく
、任意のTLBを使用する能力は、仕事の負担を軽減す
ることになる。従つて、合計のTLBエントリの所定の
数に対するTLBはTLBのヒツト率を向上する。
【0006】更に、ある種の新しいアーキテクチヤは、
多数のページ・サイズの使用を可能にした結果、そのよ
うなシステムにおいて、各ページ・サイズに対して明確
にされたTLBは、ページ・サイズの数が増加すること
によつて、次第に実用性を失つてきた。複数のTLBの
問題(1つのページ・サイズ当り1つのTLB)は、ス
カラ・ユニツト及びベクトル・ユニツトに対してTLB
が別々であり、そしてプロセツサの間でDAT機能が独
立しているために、性能を強化するのに使用されるTL
Bの複製によつて更に悪化する。この分野において、複
数ページ・サイズのサポートには殆ど経験がない。また
、幾つかのページ・サイズをサポートすることは、ハー
ドウエアの修正なくソフトウエアの性能の実験が可能で
ある。
多数のページ・サイズの使用を可能にした結果、そのよ
うなシステムにおいて、各ページ・サイズに対して明確
にされたTLBは、ページ・サイズの数が増加すること
によつて、次第に実用性を失つてきた。複数のTLBの
問題(1つのページ・サイズ当り1つのTLB)は、ス
カラ・ユニツト及びベクトル・ユニツトに対してTLB
が別々であり、そしてプロセツサの間でDAT機能が独
立しているために、性能を強化するのに使用されるTL
Bの複製によつて更に悪化する。この分野において、複
数ページ・サイズのサポートには殆ど経験がない。また
、幾つかのページ・サイズをサポートすることは、ハー
ドウエアの修正なくソフトウエアの性能の実験が可能で
ある。
【0007】
【発明が解決しようとする課題】本発明の目的は、種々
のサイズのページのために単一の変換索引緩衝機構(T
LB)を用いた動的アドレス変換(DAT)機構を提供
することにある。
のサイズのページのために単一の変換索引緩衝機構(T
LB)を用いた動的アドレス変換(DAT)機構を提供
することにある。
【0008】本発明の他の目的は、複数のサイズのペー
ジに対して変換エントリをストアする単一の変換索引緩
衝機構を提供することにある。この変換索引緩衝機構に
おいて、1つのエントリ中のビツトの数は、ページ・サ
イズとは独立しており、そして、サポートされるページ
・サイズの数は、最小ページ・サイズと最大ページ・サ
イズとの比率が変換索引緩衝機構の合同クラスの数より
も小さいか、または同じになるようにされている。
ジに対して変換エントリをストアする単一の変換索引緩
衝機構を提供することにある。この変換索引緩衝機構に
おいて、1つのエントリ中のビツトの数は、ページ・サ
イズとは独立しており、そして、サポートされるページ
・サイズの数は、最小ページ・サイズと最大ページ・サ
イズとの比率が変換索引緩衝機構の合同クラスの数より
も小さいか、または同じになるようにされている。
【0009】
【課題を解決するための手段】本発明に従つて、単一の
TLBが少数の特別のハードウエアによつてサポートさ
れる。このハードウエアは、変換を行ない、マスクを発
生する前に、ページ・サイズを検出するためのロジツク
を含んでいる。このロジツクは、TLB中のエントリを
アドレスするために、仮想アドレス・ビツトの組を選択
する。仮想アドレスの一部はマスクされ、そして、実ア
ドレスを形成するために、TLBから読み出されたアド
レスと併合される。
TLBが少数の特別のハードウエアによつてサポートさ
れる。このハードウエアは、変換を行ない、マスクを発
生する前に、ページ・サイズを検出するためのロジツク
を含んでいる。このロジツクは、TLB中のエントリを
アドレスするために、仮想アドレス・ビツトの組を選択
する。仮想アドレスの一部はマスクされ、そして、実ア
ドレスを形成するために、TLBから読み出されたアド
レスと併合される。
【0010】
【実施例】図1を参照すると、物理的なメモリ装置、即
ち記憶装置14中にストアされているデータ・エレメン
トへのアクセスを必要に応じて要求する中央処理ユニツ
ト(CPU)12を含む代表的なデータ処理システム1
0が示されている。CPU12は、自動アドレス変換(
DAT)ユニツト16によつて実アドレスにマツプされ
る仮想アドレスを使用した所定のエレメントを特定する
。現在のマツピングの記載を維持するための負担を最小
にするために、仮想記憶装置の隣接ブロツクは、実際の
記憶装置、つまり、実メモリの隣接したブロツクにマツ
プされる。ブロツクのサイズは「ページ」と呼ばれる。 代表的なページは1つ、またはそれ以上のレコードを含
んでおり、多くのコンピユータにおいては、1ページは
4096バイトを含んでいる(1バイトは1つのキヤラ
クタ(通常8ビツト)を表わすのに必要なビツト数)。 然しながら、この明細書においては、術語「ページ」は
、データの任意のブロツクを意味する。性能を向上する
ために、最も近い時期で変換されたページのマツピング
情報は、変換索引緩衝機構(TLB)18を有するDA
Tユニツト中に維持されている。
ち記憶装置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に夫々マツプされる。
アドレス空間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ユニツト
中の変換ハードウエアに最も能率的な実行を与える。
ページは、種々のサイズを持つことができる。より大き
なブロツクは、1つのTLBエントリ当りでカバーする
範囲を広くするが、小さな量のデータが必要な時には、
ページの移動のためにより多くの負担がかかる。小さな
ページは小さなデータ・オブジエクト(即ち、コード・
セグメント、ランダムにアクセスされるレコード)に対
して効果的であるのに対して、大きなページは、代表的
な科学計算用のアプリケーシヨンのアレイのような大き
な隣合つたブロツクに対しては一層効果的である。4キ
ロバイトのページには4キロバイトの境界を設け(慣用
されているように)、そして、1メガバイトのページに
は1メガバイトの境界を設ける要件は、DATユニツト
中の変換ハードウエアに最も能率的な実行を与える。
【0013】図示されたデザインは、256対のエント
リを有する2通路のセツト関連TLB用のものである。 一般性を失うことなく、かつ、説明を特定の対象物にす
る目的のために、本発明は2の累乗で、かつ、4キロバ
イト乃至1メガバイトまでの範囲に入る9個のページ・
サイズを許容するメモリ・システムとして説明する。特
定のページ・サイズPは、P=0(4キロバイト)乃至
P=8(1メガバイト)を表わしている。
リを有する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の出力
を示している。
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を介して通過される。
のタグ値は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つのロジツクのブロツクに結合することができるの
は明らかである。
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個のパツドされたビツトとに対して)。
ジ・サイズとは独立して均一な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」である。
間で、幾つかのビツト・フイールドのグループ化及び経
路作りが図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に単純化
される。
(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システムである。若
し、各アドレス空間内(アドレス空間を跨がないで)に
均一のページ・サイズを要求することによつて、複数の
ページ・サイズが編入されたならば、そのページ・サイ
ズ情報は、アクセス・レジスタ情報の索引緩衝機構中に
維持される。アクセス・レジスタの内容に関連して、特
定のアドレス空間を識別するための情報があり、この場
合、その情報は、その空間のページ・サイズである。
一の変換に対して)が生ずることができないので、変換
されるアドレスを表示する前に、そのアドレスのページ
・サイズを知る必要がない。本発明についての1つの制
限は、ページ・サイズが変換ユニツトに表示される前に
ページ・サイズを必要とすることである。変換の前にペ
ージ・サイズを決定する1例を示すのに用いることがで
きる1つのアーキテクチヤは、単一のユーザのための4
キロバイトのページ・サイズと複数アドレス空間をサポ
ートするIBM社のESA/370システムである。若
し、各アドレス空間内(アドレス空間を跨がないで)に
均一のページ・サイズを要求することによつて、複数の
ページ・サイズが編入されたならば、そのページ・サイ
ズ情報は、アクセス・レジスタ情報の索引緩衝機構中に
維持される。アクセス・レジスタの内容に関連して、特
定のアドレス空間を識別するための情報があり、この場
合、その情報は、その空間のページ・サイズである。
【0021】IBM社のRISCシステム/6000の
ような論理的に2レベルの変換を有するシステムにおい
ても、仮想アドレスから実アドレスへの変換をする前に
ページ・サイズを決定することが可能である。1つの選
択は、セグメント内に均一なページ・サイズを必要とす
ることである。効力のあるアドレスから仮想アドレスへ
の変換の間で、ページ・サイズを決定することができ、
そして、ページ・サイズ情報は、「セグメント索引緩衝
機構(Segment Look−aside Buf
fer−SLB)」中に論理的に保持することができる
。TLBが最近の仮想アドレスから実アドレスへの変換
情報を維持しているのと同じように、SLBは最近変換
された効力あるアドレスから仮想アドレスへの変換情報
を保持する。
ような論理的に2レベルの変換を有するシステムにおい
ても、仮想アドレスから実アドレスへの変換をする前に
ページ・サイズを決定することが可能である。1つの選
択は、セグメント内に均一なページ・サイズを必要とす
ることである。効力のあるアドレスから仮想アドレスへ
の変換の間で、ページ・サイズを決定することができ、
そして、ページ・サイズ情報は、「セグメント索引緩衝
機構(Segment Look−aside Buf
fer−SLB)」中に論理的に保持することができる
。TLBが最近の仮想アドレスから実アドレスへの変換
情報を維持しているのと同じように、SLBは最近変換
された効力あるアドレスから仮想アドレスへの変換情報
を保持する。
【0022】冗長情報を維持することと、0をパツドす
ることとは、単一のTLB中に複数のページ・サイズを
サポートするために必要とする回路を最小限にすること
にその狙いがある。TLBのエントリの与えられた数に
対して、単一のTLBは、複数のTLBよりも大きなヒ
ツト率を与える。更に、TLBは集積回路(IC)チツ
プの容量に適合させる必要がないから、各TLBに対し
て、或る量の無駄なチツプ領域が生じる。TLBを組み
合わせることは無駄なチツプ領域の割合を減少すること
ができる。
ることとは、単一のTLB中に複数のページ・サイズを
サポートするために必要とする回路を最小限にすること
にその狙いがある。TLBのエントリの与えられた数に
対して、単一のTLBは、複数のTLBよりも大きなヒ
ツト率を与える。更に、TLBは集積回路(IC)チツ
プの容量に適合させる必要がないから、各TLBに対し
て、或る量の無駄なチツプ領域が生じる。TLBを組み
合わせることは無駄なチツプ領域の割合を減少すること
ができる。
【0023】
【発明の効果】本発明により、仮想メモリ・システムに
おいて、種々のページ・サイズに対して単一のTLBを
用いた動的アドレス変換機構を提供できる。
おいて、種々のページ・サイズに対して単一の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 マルチプレクサ
0 変換索引緩衝機構(TLB)31 シフタ 32、33 比較器 36 マスク 37 実アドレス・レジスタ 38、39 マルチプレクサ
Claims (4)
- 【請求項1】 複数のサイズのページをサポートする
データ処理システム中の仮想記憶システムのためのアド
レス変換機構において、記憶装置の実アドレスに変換さ
れるべき仮想アドレスをストアするための手段と、上記
複数のサイズのページのための変換エントリをストアす
る単一の変換索引緩衝機構を含んでいることと、1つの
エントリ中のビツトの数はページ・サイズとは独立して
いることと、上記アドレス変換機構によつてサポートさ
れるページ・サイズの数は、最大ページ・サイズと最小
ページ・サイズとの比率が変換索引緩衝機構の合同クラ
スの数よりも小さいか、または等しい値であるようにさ
れていることと、上記変換索引緩衝機構中の変換エント
リをアドレスするための仮想アドレス・ビツトの第1の
サブセツトを選択し、かつ、上記仮想アドレス・ビツト
の第2のサブセツトを選択するための論理手段と、実ア
ドレスの部分を形成するために、変換索引緩衝機構から
読み出されたアドレスを仮想アドレス・ビツトの第2の
サブセツトに併合するための手段とを含むアドレス変換
機構。 - 【請求項2】 上記論理手段は、マスクを発生する変
換の前に、上記複数ページ・サイズの特定の1つを用い
るためのマスク発生手段を含み、かつ、上記論理手段は
上記仮想アドレス・ビツトのサブセツトをマスクするこ
とを特徴とする請求項1に記載のアドレス変換機構。 - 【請求項3】 上記論理手段は上記第1のサブセツト
を発生するために上記仮想アドレスの一部をシフトする
ためのシフト手段を含むことを特徴とする請求項2に記
載のアドレス変換機構。 - 【請求項4】 上記データ処理システムは2つのペー
ジ・サイズをサポートするアドレス変換機構において、
上記論理手段は、上記変換索引緩衝機構中の変換エント
リをアドレスするための仮想アドレス・ビツトの上記第
1のサブセツト、または上記第2のサブセツトのいずれ
かを選択するための第1のマルチプレクサ手段と、上記
変換索引緩衝機構から読み出される上記アドレスの第2
の部分と併合するために、上記変換索引緩衝機構から読
み出されたアドレスの第1の部分か、または仮想アドレ
ス・ビツトの上記第2のサブセツトかのいずれかを選択
するための第2のマルチプレクサ手段とを含むことを特
徴とする請求項1に記載のアドレス変換機構。
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)
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 | セグメント分割管理システム |
EP0674269B1 (en) * | 1994-03-24 | 2001-12-19 | Hewlett-Packard Company, A Delaware Corporation | Translation mechanism for input/output addresses |
US5530824A (en) * | 1994-04-04 | 1996-06-25 | Motorola, Inc. | Address translation circuit |
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 |
JP3740195B2 (ja) * | 1994-09-09 | 2006-02-01 | 株式会社ルネサステクノロジ | データ処理装置 |
US5907867A (en) * | 1994-09-09 | 1999-05-25 | Hitachi, Ltd. | Translation lookaside buffer supporting multiple page sizes |
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 |
WO1999057642A1 (fr) * | 1998-05-01 | 1999-11-11 | Matsushita Electric Industrial Co., Ltd. | Dispositif et procede de traitement de donnees |
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 |
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 |
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)
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)
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 |
-
1992
- 1992-02-26 EP EP92301628A patent/EP0508577A1/en not_active Withdrawn
- 1992-03-03 JP JP4045376A patent/JPH04319747A/ja active Pending
-
1994
- 1994-02-07 US US08/192,768 patent/US5375214A/en not_active Expired - Fee Related
Patent Citations (2)
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 | |
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 | |
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 | |
US6014732A (en) | Cache memory with reduced access time | |
US5265227A (en) | Parallel protection checking in an address translation look-aside buffer | |
US5630087A (en) | Apparatus and method for efficient sharing of virtual memory translations | |
US6189074B1 (en) | Mechanism for storing system level attributes in a translation lookaside buffer | |
EP0492859A2 (en) | Translation lookaside buffer | |
US5893930A (en) | Predictive translation of a data address utilizing sets of associative entries stored consecutively in a translation lookaside buffer | |
JPH0619793A (ja) | キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル | |
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 | |
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) | データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム | |
KR20060120242A (ko) | 메모리 관리 유닛, 메모리 관리 유닛을 포함하는 시스템 및어드레스 변환 방법 |