JP2002288038A - アドレス変換装置および方法 - Google Patents

アドレス変換装置および方法

Info

Publication number
JP2002288038A
JP2002288038A JP2002074785A JP2002074785A JP2002288038A JP 2002288038 A JP2002288038 A JP 2002288038A JP 2002074785 A JP2002074785 A JP 2002074785A JP 2002074785 A JP2002074785 A JP 2002074785A JP 2002288038 A JP2002288038 A JP 2002288038A
Authority
JP
Japan
Prior art keywords
data
physical address
address
virtual address
size field
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
JP2002074785A
Other languages
English (en)
Inventor
Vydhyanathan Kalyanasundharam
カリヤナサンダーラン ビディヤネイサン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2002288038A publication Critical patent/JP2002288038A/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

Abstract

(57)【要約】 【課題】 より高速の変換およびより高速のバイパスが
可能な変換索引バッファを得る。 【解決手段】 N通りのページサイズを有する可変ペー
ジサイズメモリにおいて仮想アドレスを物理アドレスに
変換するための変換索引バッファを含む。この変換索引
バッファは、仮想アドレスを受信し、CAMおよびペー
ジテーブルエントリアレイを含む。CAMは、物理アド
レスに対応する仮想アドレスタグを格納する。ページテ
ーブルエントリアレイはCAMに結合しており、複数の
ページテーブルエントリを含み、CAMの仮想アドレス
タグに対応する物理アドレスを格納する。ページテーブ
ルエントリは各々、第1タイプのメモリセルと、第2タ
イプのメモリセルを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電子計算機システ
ムのメモリアドレス管理の分野、特にアドレス変換の動
的可変ページサイズに関するものである。さらに特定す
ると、本発明は、動的可変ページサイズのメモリアドレ
ス変換において使用される変換索引バッファ(TLB)
に関するものである。従って、本発明の全般的な目的
は、このような特徴を有する新規な方法、装置、データ
構造等を提供することである。
【0002】
【従来の技術】最近のデータ処理装置のほとんどが、デ
ータフローの管理を助ける仮想メモリに頼っている。こ
のような仮想メモリを使用するオペレーティングシステ
ムは、ユーザーの見るメモリのデータ記憶場所(仮想ア
ドレス)を実際の物理場所(物理アドレス)にマップす
る。このマッピングの中味は、システム内のメインメモ
リに格納されるかバッファにキャッシュされるかどちら
かである。これらのバッファは、変換索引バッファと呼
ばれ、仮想アドレスを物理アドレスに変換するのに必要
なマッピング情報を含む。
【0003】一般に、メモリは、ページと呼ばれる個別
ブロックに分かれており、様々な理由から、このページ
はサイズが大きく変わる。それゆえ、代表的なプロセッ
サは多様なページサイズをサポートする。ページサイズ
は、変換する必要のある仮想アドレスのビット数を特定
する。なぜなら、所定のページのためのオフセットを仮
想アドレスのある一定のビットから導き出すことができ
るからである。例えば、ページサイズが4キロバイトの
場合、仮想アドレスの12個の最下位(大きさの点で)
のビット(VA[11:0])を変換する必要はない。
ページサイズが4メガバイトの場合、22個の最下位ビ
ット(VA[21:0])は変換されない。
【0004】代表的な変換索引バッファは、サイズフィ
ールドデータをページテーブルエントリアレイに格納
し、(何らかの周辺回路を使用しつつ)この情報を使っ
て、どれだけの仮想アドレスビットを変換する必要があ
るか、また、どれだけの仮想アドレスビットをバイパス
することができるかを特定する。このような従来型TL
Bは、TLBから読み出されたサイズフィールドデータ
を復号するのに外部制御ロジックを利用し、仮想アドレ
スビットか物理アドレスビットか、特定のアドレスの状
況に応じてどちらかを選択するのに補助のバイパスマル
チプレクサを利用する。このような回路は同期型である
ので、補助の制御ロジックとマルチプレクサは、アドレ
スデータのクリティカルパスにおいて重大な遅延を追加
する。この遅延は、上位のクロック速度プロセッサの実
現にとって望ましくない障害となる。より高速のプロセ
ッサを創造しようとする一定の動きがあるとすれば、こ
のような制約は、次世代のプロセッサが要求するより高
いクロック速度を達成する上でかなりの妨げとなる。こ
の様な特徴を有する従来型TLBについて以下に詳述す
る。
【0005】図1は、必要な周辺回路と組み合わされた
従来型可変ページサイズTLB100を示す。図1のT
LB100と周辺回路は、共同して仮想アドレスVA
[63:0]101を受信し、このアドレスを被変換物
理アドレスTPA[40:0]に変換する。特に、TL
B100は、内容アクセスメモリ(CAM:Conte
nt Addressable Memory)すなわ
ち連想メモリ102およびページテーブルエントリアレ
イ(RAM)104を含む。RAM104内のそれぞれ
のページテーブルエントリ106が、有効ビット
(“V”)108、サイズフィールドビット(“SZ
[1:0]”)110、物理アドレスビット(“PA
[40:13]”)112および状態ビット(“STA
TUS[8:0]”)114を格納する。TLB100
の全体と同様、有効ビット108および状態ビット11
4の機能は当業者によく知られている。しかしながら、
これらのコンポーネントは本発明の動作にとってさほど
重要でないので、これ以上詳細に論じる必要はない。ま
た、ここで論じる仮想アドレスが、システム次第で変わ
る様々な“コンテンツ”ビットを省略したものであるこ
とは理解されよう。
【0006】図2は、図1のTLB100によってサポ
ートされる4通りのページサイズに関する代表的なコー
ド化サイズフィールドデータを示すテーブルである。図
2に示す通り、サイズフィールドデータは2つのビッ
ト、SZ[1:0]からなり、これら2つのビットの異
なる組み合わせの各々が1つの異なるページサイズを表
す。各ページテーブルエントリに格納された情報に関す
るデータ構造を図3に示す(図1のページテーブルエン
トリ106も参照)。当業者であれば、データ構造13
0の構造および機能を理解するであろう。
【0007】図1に溯って説明すると、外部サイズフィ
ールド制御ロジック116がTLB100に結合してい
る。さらに、外部マルチプレクサ118、120および
122が、TLB100、仮想アドレスVA[63:
0]101および外部サイズフィールド制御ロジック1
16に結合している。なかんずく、TLB100は、機
能および構造においてエントリ106とほぼ同一の複数
のページテーブルエントリ106’を含むことが理解さ
れる。TLB100の動作を、図2に示すコード化サイ
ズフィールドデータとともに次に図解する。
【0008】図1および2を共に参照すると、CAM1
02はVA[63:0]101を受信し、仮想アドレス
がCAM102の中の仮想アドレスタグと一致すると、
CAM一致信号124を発生させ、一致信号124をペ
ージテーブルエントリアレイ104に送る。CAM一致
信号124に応答して、RAM104の対応するページ
テーブルエントリ(図示するために便宜上、エントリ1
06とした)が、格納された物理アドレスビット112
を出力すべく選択される。ここで、被変換物理アドレス
PA[40:0]の仮想アドレスビットVA[12:
0]が決して変換されないことに注意する必要がある。
なぜなら、仮想アドレスビットVA[12:0](最小
ページサイズ8キロバイトに相当)は常に被変換物理ア
ドレスビットTPA[12:0]として使用できるから
である。同様に、物理アドレスビット[40:22]
は、マルチプレクサ118、120および122に送り
込まれるのでなく、直接、被変換物理アドレスビットT
PA[40:22](常に変換される)として使用され
る。なぜなら、これらのビットは、最大ページサイズ4
メガバイトより大きいデータブロックを表すからであ
る。
【0009】直接出力されないアドレスビットについて
の上の議論を続けると、CAM一致信号124が、CA
M102の一致した仮想アドレスに対応するページテー
ブルエントリを識別し、サイズフィールド制御ロジック
116が、ページテーブルエントリからサイズフィール
ドデータSZ[1:0]を受信する。サイズフィールド
制御ロジック116は、そこでこのデータを復号し、マ
ルチプレクサ118、120および122を制御する選
択信号を発生させる。SZ[1:0]が“11”(4メ
ガバイトのページサイズを表す)であれば、サイズフィ
ールド制御ロジック116は、マルチプレクサ118、
120および122においてそれぞれ仮想アドレスビッ
トVA[21:19]、VA[18:16]およびVA
[15:13]を選択すべく選択信号を発生させる。こ
れは、物理アドレスビットPA[21:19]、PA
[18:16]およびPA[15:13]のどれも必要
でないからである。SZ[1:0]が“10”(512
キロバイトのページサイズを表す)であれば、サイズフ
ィールド制御ロジック116は、マルチプレクサ118
において物理アドレスビットPA[21:19]を、マ
ルチプレクサ120および122においてそれぞれ仮想
アドレスビットVA[18:16]およびVA[15:
13]を選択すべく選択信号を発生させる。これは、物
理アドレスビットPA[18:16]およびPA[1
5:13]が必要ないからである。SZ[1:0]が
“01”(64キロバイトのページサイズを表す)であ
れば、サイズフィールド制御ロジック116は、マルチ
プレクサ118および120においてそれぞれ物理アド
レスビットPA[21:19]、PA[18:16]
を、マルチプレクサ122において仮想アドレスビット
VA[15:13]を選択すべく選択信号を発生させ
る。これは、物理アドレスビットPA[15:13]が
必要ないからである。最後に、SZ[1:0]が“0
0”(8キロバイトのページサイズ、すなわち最小のペ
ージサイズを表す)であれば、サイズフィールド制御ロ
ジック116は、マルチプレクサ118、120および
122においてそれぞれ物理アドレスビットPA[2
1:19]、PA[18:16]およびPA[15:1
3]を選択すべく選択信号を発生させる。この場合、物
理アドレスビットPA[21:19]、PA[18:1
6]およびPA[15:13]はすべて必要である。
【0010】図4は、従来型TLB100における、デ
ータ(代表的には物理アドレスビットであるが、必ずし
もそうとは限らない)の単一ビットを格納する代表的R
AMセル180およびセンス増幅器182を示す。図示
するように、RAMセル180は、単一ビットを格納で
きる従来型ラッチである。RAMセル180からデータ
が出力されると、そのデータは、図1の外部マルチプレ
クサ118、120および122と両立できるようにセ
ンス増幅器182によって増幅される。周知の通り、ペ
ージテーブルエントリアレイ(RAM)104の様々な
RAMセルはすべて、RAMセル180と同一である。
よって、図4に示す通りの“PA[i]”および“PA
[i]bar”の値は、このRAMセルの場所と用途に
応じて“V”および“Vbar”、“STATUS
[i]”および“STATUS[i]bar”、および
“SZ[i]”および“SZ[i]bar”に取って代
わられるものと理解されたい。
【0011】
【発明が解決しようとする課題】従来型TLB100
は、相異なるページサイズを弁別し、上に述べた通りの
サイズフィールド制御ロジックとマルチプレクサを使っ
て相応の物理アドレスを出力することができるが、これ
らのコンポーネントは、アドレスデータのクリティカル
パスに重大な望ましくない遅延を加える。また、CAM
102がCAM一致信号を発生させた後に仮想アドレス
の変換が始まる。これがまた、アドレスデータのクリテ
ィカルパスに重大な望ましくない遅延を加える。総合す
ると、このシステムは同期であるから、仮想アドレスV
A[63:0]101を被変換物理アドレスTPA[4
0:0]に変換するのに少なくとも2つのクロックサイ
クル(すなわち、4つの位相)を必要とする。
【0012】
【課題を解決するための手段】上に述べた関連技術の限
界および欠点は、他の限界および欠点を含めて、本発明
に従い、より高速な動的可変ページサイズのアドレス変
換が可能な方法、装置、データ構造などによって取り除
かれる。
【0013】一態様において、本発明は、N通りのペー
ジサイズを有する可変ページサイズメモリにおいて仮想
アドレスを物理アドレスに変換するための変換索引バッ
ファを含む。ここで、Nは1より大きい整数である。こ
の変換索引バッファは、仮想アドレスを受信し、CAM
およびページテーブルエントリアレイを含む。CAM
は、物理アドレスに対応する仮想アドレスタグを格納す
る。ページテーブルエントリアレイはCAMに結合して
おり、複数のページテーブルエントリを含み、CAMの
仮想アドレスタグに対応する物理アドレスを格納する。
ページテーブルエントリは各々、少なくとも、N−1個
のセルグループに分類された複数の第1タイプのメモリ
セルと、少なくとも複数のN−1個の第2タイプのメモ
リセルを有する。第2タイプのメモリセルは各々、1つ
のセルグループに結合しており、結合相手のセルグルー
プに関連するサイズフィールドデータを格納する。TL
Bは、相応の信号に応答して、また、サイズフィールド
データに応じて、受信した仮想アドレスビットか格納し
た物理アドレスビットかどちらかを選択し、変換された
物理アドレスを出力する。特に、第1タイプのメモリセ
ルに格納された物理アドレスビットは、サイズフィール
ドデータが第1の状態にあるときに出力される。逆に、
結合相手のセルグループに対応する仮想アドレスビット
は、サイズフィールドデータが第2の状態にあるときに
出力される。
【0014】もうひとつの態様において、第1タイプの
メモリセルは各々、単一の物理アドレスビットを格納す
る物理アドレスラッチ、動的読取り回路、およびラッチ
と読取り回路に結合したマルチプレクサを有する。マル
チプレクサは、ラッチに格納された単一の仮想アドレス
ビットと単一の物理アドレスビットを受信する。選択信
号に応答して、マルチプレクサは、サイズフィールドデ
ータが第1の状態にあるときに物理アドレスビットを読
取り回路経由で出力するが、サイズフィールドデータが
第2の状態にあるときは仮想アドレスビットを読取り回
路経由で出力する。
【0015】本発明はまた、上に述べた種類の変換索引
バッファのための新規のRAMセルも含む。このRAM
セルは各々、物理アドレスビットを格納する物理アドレ
スラッチ、およびラッチに結合したマルチプレクサを含
む。マルチプレクサは、ラッチからの物理アドレスビッ
トおよび仮想アドレスビットを受信する。マルチプレク
サは、サイズフィールドデータが第1の状態にあるとき
に物理アドレスビットを出力するが、サイズフィールド
データが第2の状態にあるときは仮想アドレスビットを
出力する。
【0016】本発明のもうひとつの態様は、上に述べた
種類の変換索引バッファを使って仮想アドレスを物理ア
ドレスに変換する方法を含む。この方法は、物理アドレ
スビットのグループと関連したサイズフィールドを読取
り、このサイズフィールドが第1の状態にあるとき、T
LBから出力された被変換物理アドレスの一部として物
理アドレスビットを選択し、サイズフィールドが第2の
状態にあるとき、TLBからの出力の一部として仮想ア
ドレスビットを選択することを含む。
【0017】本発明はまた、すぐ上に述べた種類の変換
索引バッファにおいてデータを管理する方法を可能にす
る。このような方法は、(1)各々、複数の物理アドレ
スビットからなるN−1個のビットグループに分類され
た物理アドレスデータを格納すること、および(2)そ
れぞれのビットグループと関連したN−1個のサイズフ
ィールドビットを格納することを含む。このような方法
では、各ビットグループの物理アドレスビットは、関連
したサイズフィールドビットが第1の状態で格納される
ときに被変換物理アドレスの一部として出力され、対応
する仮想アドレスビットは、関連したサイズフィールド
ビットが第2の状態で格納されるときに被変換物理アド
レスの一部として出力される。
【0018】本発明によって可能にされる1つの補助機
能は、変換プロセスをバイパスし、それで、受信された
仮想アドレスを、TLBから出るアドレスとして通過す
る変換バイパス機能である。変換バイパス回路は、この
機能をわずか1つのクロックサイクルで実現でき、いか
なる周辺回路も必要としない。
【0019】上に述べた以外の本発明の多くの効果およ
び利点は、当業者には、本発明の詳細な説明、請求項お
よび添付図面から明らかとなろう。
【0020】
【発明の実施の形態】図5について説明すると、ここに
示すのは、本発明の一優先実施例による可変ページサイ
ズTLB200である。示す通り、TLB200は、連
想メモリ(CAM)202(図15、16および17に
詳細を示す)およびCAM202に結合した代表的ペー
ジテーブルエントリアレイ(RAM)204を含む。R
AM204の中の代表的ページテーブルエントリ(PT
E)206が、望ましくは、有効ビット(“V”)20
8、第1のサイズフィールドビット(“SZ[0]”)
210、SZ[0]210と関連した物理アドレスビッ
ト(“PA[13:15]”)212、第2のサイズフ
ィールドビット(“SZ[1]”)214、SZ[1]
214と関連した物理アドレスビット(“PA[16:
18]”)216、第3のサイズフィールドビット
(“SZ[2]”)218、SZ[2]218と関連し
た物理アドレスビット(“PA[22:46]”)22
2、および状態ビット(“STATUS[8:0]”)
224を格納する。ページテーブルエントリアレイ20
4は、さらに、それぞれのCAM仮想アドレスタグに対
応し、機能および構造が代表的エントリ206とほぼ同
一の複数のページテーブルエントリ206’を含んでよ
い。但し、図示するために便宜上、PTE206とし
た。
【0021】図5に示す通り、最下位(大きさの点で)
の物理アドレスビットをページテーブルエントリ206
の左側に格納することが可能で、そうすることによっ
て、RAM204の動作速度は高められる。これは、か
かる下位ビットがCAM202に物理的に近似すること
の直接的帰結であり、従って、これが、CAM一致信号
をCAM202から受信することのできる速度というこ
とになる。しかしながら、本発明の代替的構成が、たと
え最適のものより劣っているとしても、可能であること
が理解される。そのような構成の1つが、図8のデータ
構造に従って実現させられる。ここでまた、有効ビット
208および状態ビット224が従来通りであるので、
ビット208および224の役割をここでさらに詳細に
論じる必要がないことが理解される。さらに、図1のT
LB100と対照的に、TLB200がどの外部マルチ
プレクサにも、どのサイズフィールド制御ロジックにも
結合していないことに注意すべきである。改めて述べる
と、TLB200にとって、仮想アドレスを物理アドレ
スに変換するのに周辺回路は必要でない。
【0022】図6は、図5のTLB200によってサポ
ートされた4通りのページサイズに関するサイズフィー
ルドデータをコード化する1つのシステムを示すテーブ
ル300である。図2のテーブルに具体的に示された2
ビットコード化システムと対照的に、図6のページサイ
ズデータは、3ビットからなるサイズフィールドデータ
によって表される。もっと一般的に、本発明は、N−1
個のサイズビット(またはセル)を利用し、これとN−
1個の対応する物理アドレスビット(またはセル)グル
ープを関連させることによって、どのような数Nのペー
ジサイズも仮想的にサポートすることができる。また、
他のコード化システムを利用することもできよう。例え
ば、RAM204のRAMセルが反転回路(ここに開示
されたものに相対する)を含むべく変更されたならば、
ここに含まれた開示内容の全体性に基づいて知られる様
に、図6のサイズビットコラム301のデータが反転で
きるであろう。
【0023】TLB200のページテーブルエントリの
ための優先的データ構造を図7にデータ構造304とし
て示す(図5のエントリ206も参照)。ここに示す通
り、物理アドレスビットグループPA[13:15]が
サイズビットSZ[0]と関連し、ビットグループPA
[16:18]がサイズビットSZ[1]と関連し、ビ
ットグループPA[19:21]がサイズビットSZ
[2]と関連する。対照してみると、ビットグループP
A[22:46]は常に変換されるので、どのサイズビ
ットとも関連させる必要がない。最後に、STATUS
[8:0]および“V”は従来通りの性質を有するの
で、必ずしもサイズビットのどれかと関連するとは限ら
ない。
【0024】図8に示すデータ構造302は、ページテ
ーブルエントリアレイ204に使用される代替的データ
構造のひとつで、データ構造304を配置替えしたもの
である。この配置替えを別にすれば、また、種々のビッ
トグループ内のビット順を逆にしたことを別にすれば、
代替的データ構造302は、データ構造304と同等で
ある。従って、当業者であれば、ここに含まれた開示内
容の全体に基づいてTLB200を代替的データ構造3
02と両立できるようにするためにはどのような修正を
加えるべきか、理解できるであろう。
【0025】以下、TLB200の動作を、図6に示す
優先的サイズフィールドデータとの関連において説明す
る。変換が始まると、仮想アドレスVA[63:0]が
CAM202とRAM204に同時に送られ、仮想アド
レス(VA[0:12])の一部も、被変換物理アドレ
スの一部として送られる。特に、仮想アドレスビットV
A[13:15]、VA[16:18]およびVA[1
9:21]は、対応する物理アドレスビットPA[1
3:15]、PA[16:18]およびPA[19:2
1]を格納するRAMセルの全部に入力される(上に述
べた通り、これは、データ201のCAM202への入
力と同時に行われる)。仮想アドレス201の受信に応
答して、CAM202は、CAM202の中の仮想アド
レスタグのどれが(存在するとすれば)仮想アドレス2
01と一致するかを指示し、対応するページテーブルエ
ントリを識別するCAM一致信号226を発生させる。
CAM202がこのCAM一致を実行している間に、R
AM204の内部RAMセルの少なくとも幾つかが、ペ
ージテーブルエントリの全部に仮想アドレスデータと格
納された物理アドレスデータの両方を提供することによ
ってプリチャージされる。
【0026】次に、CAM202は、CAM一致信号を
RAM204に送り、これで、CAM一致信号によって
指し示されたページテーブルエントリに必要なアドレス
ビットを変換する。こうして、タイミングサイクルのこ
の次の位相の間に、仮想アドレスビットか物理アドレス
ビットかどちらかが所定のページテーブルエントリのた
めに選択され、このデータが被変換物理アドレスTPA
[0:46]の一部としてTLB200から出る。
【0027】図5に示す通り、物理アドレスPA[0:
12]は、望ましくは、ページテーブルエントリに格納
されない(決して変換されない)。なぜなら、仮想アド
レスビットVA[0:12]は、常にTLB200の出
力において被変換物理アドレスTPA[0:12]とし
て使用できるからである。もちろん、このようにして仮
想アドレスビットVA[0:12]をTLB200の中
に通すことは、処理時間を短縮し、ハードウェアを縮小
する望ましい効果を有する。逆に、物理アドレスビット
[22:46]は、4メガバイトの最大ページサイズよ
り大きいデータブロックを表すので、常に変換される。
しかしながら、これは一貫して起こるので、これらのビ
ットをTPA[22:46]としてTLB200の出力
に常時通すことによって処理時間とハードウェアは最小
化される(変換バイパスが生じるときを除く)。
【0028】上で注目した通り、サイズフィールドデー
タは、望ましくは、SZ[0]、SZ[1]およびSZ
[2]として個々別々にそれぞれのページテーブルエン
トリ206に格納される3つのビット、SZ[2:0]
からなる(図7のデータ構造304も参照)。これらの
ビットは各々、物理アドレスビットPA[13:1
5]、PA[16:18]およびPA[19:21]の
1つのグループと関連し、これら3つのビットの各組み
合わせが相異なるページサイズを表す。サイズフィール
ドビットはそれぞれのグループの物理アドレスビットと
関連するので、各サイズビットは、所定の仮想アドレス
ビットグループを対応する物理アドレスビットグループ
と置換することが必要かどうかを指示するフラッグとし
て機能する。例えば、SZ[0]が設定されていなけれ
ば(例えば“0”)、物理アドレスビットPA[13:
15]が選択される。SZ[0]が設定されていれば
(例えば“1”)、仮想アドレスビットVA[13:1
5]が選択される。同様に、SZ[1]が設定されてい
なければ(例えば“0”)、物理アドレスビットPA
[16:18]が選択されるが、SZ[1]が設定され
ていれば(例えば“1”)、仮想アドレスビットVA
[16:18]が選択される。SZ[2]が設定されて
いなければ(例えば“0”)、物理アドレスビットPA
[19:21]が選択される。SZ[2]が設定されて
いれば(例えば“1”)、仮想アドレスビットVA[1
9:21]が選択される。各サイズフィールドビットと
関連した各ビットグループ(セルグループの代わり)が
3つのビットを含むのに対し、このような各グループに
おけるビット数は所望のページサイズによって異なる。
優先実施例では、3ビットのビットグループが、8キロ
バイト、64キロバイト、512キロバイトおよび4メ
ガバイトが対応する。4ビットのビットグループを使用
すると、8キロバイト、128キロバイト、2メガバイ
トおよび32メガバイトのページサイズが得られる。も
ちろん、所定のビットグループに対して別のビット数を
使用することも可能であり、こうしたバリエーションは
本発明の範囲内である。
【0029】本発明の特に有利な一態様は、ページサイ
ズデータが変換フラッグとしてページテーブルエントリ
に直接組み入れられるので、先行技術におけるようにサ
イズフィールドデータを復号するのに別個のサイズフィ
ールド制御ロジックの必要がないことである。これで、
ページテーブルエントリアレイ204のどれか1つのペ
ージテーブルエントリが選択され、それで、サイズフィ
ールドビットの値に基づいて、プリチャージされた物理
アドレスビットか仮想アドレスビットかどちらかが出力
される形でシステムは首尾よく動作できることになる。
言い換えれば、図6に示す通りの相異なるページサイズ
に関するサイズフィールドデータをコード化することに
よって、クリティカルパスに遅延を加える周辺回路(先
行技術の外部マルチプレクサやサイズフィールド制御ロ
ジックのような)無しに、RAM204から相応のプリ
チャージされたアドレスビットを直ちに出力することが
できる。以下、この独創的な変換技術を実行する回路の
幾つかの例について述べる。
【0030】図9は、コード化されたサイズフィールド
データをエントリ206などのページテーブルエントリ
に格納する優先的RAMセル400を示す。ここに示す
通り、RAMセル400は、望ましくは、単一サイズフ
ィールドビット“SZ[k]”を受信し、“SZ
[k]”とその逆の“SZ[k]bar”を、図10〜
12に示す種類の物理アドレスRAMセルに出力する従
来型ラッチ502である。図10(例えば)に示す通
り、“SZ[k]”と“SZ[k]bar”は、それぞ
れの物理アドレスビット“PA[i]”を格納する関連
の物理アドレスRAMセルに提供される。書込み可能信
号WEN[j]により、周知の仕方でサイズフィールド
データが格納できる。
【0031】図10をさらに詳細に見ると、単一の物理
アドレスビットを格納し、相応のアドレスデータをここ
に述べた条件で出力する優先的な多重化RAMセル50
0が図示されている。図示する様に、RAMセル500
は、望ましくは、単一の物理アドレスビットを格納する
ラッチ502、動的読取り回路506、およびラッチ5
02と対応する仮想アドレスビットVA[i]201’
を受信する信号パスの両方に結合したマルチプレクサ5
04を含む。所定の仮想アドレスを受信する前に、格納
された値SZ[k]が働き、このSZ[k]の値に応じ
てマルチプレクサ504の伝送ゲート508か伝送ゲー
ト510かどちらかがオン状態に保たれる。例えば、S
Z[k]が設定されていれば(例えば“1”)、マルチ
プレクサ504の伝送ゲート510がオン状態に保たれ
るので、VA[i]201’が選択される。対照的に、
SZ[k]が設定されていなければ(例えば“0”)、
伝送ゲート508がオン状態に保たれるので、物理アド
レスラッチ202中に格納されたPA[i]が選択され
る。変換すべき仮想アドレス201がCAM一致のため
にCAM202に送られると、これが同時にページテー
ブルエントリアレイ204に送られる。すると、相応の
CAM一致信号が発生させられ、RAM204に送ら
れ、これで、格納されたデータをCAM一致信号によっ
て指し示された特定のエントリから読取ることができる
ようになる。CAM一致信号が発生させられる間に、動
的読取り回路506がプリチャージされる。関連のペー
ジテーブルエントリが識別された途端、その単一のペー
ジテーブルエントリのための読取り可能信号REN
[j]512(CAM一致信号から導き出される)が働
き、動的読取り回路506のトランジスタ514をオン
にし、これにより、PA[i]かVA[i]かのどちら
かが被変換実ビットPA/VA[i]として出力され
る。このようにして、先行技術と対照的に、仮想アドレ
スの変換がCAM一致位相の直後の位相の間に行われ
る。これで、関連技術におけるような周辺回路の使用の
結果としてクリティカルパスに生じる遅延はすべて、事
実上取り除かれる。従って、2つの位相からなる単一の
タイミングサイクルの中で変換を完成させることができ
る。この開示内容に基づいて理解される通り、書込み可
能信号WEN[j]はデータビットの格納を許可する。
【0032】TLB200中の単一の物理アドレスビッ
トを格納する1つの代替RAMセル500’を図11に
示す。ここに示す通り、代替RAMセル500’は、望
ましくは、ラッチ502(RAMセル500において使
用される通りの)および複合マルチプレクサ/動的読取
り回路504’/506’を含む。RAMセル500’
は、セル500と同じ機能を果たすが、動作速度がセル
500より低い。この速度の低さは、信号のクリティカ
ルパスの中にトランジスタ520および522が介在す
るのが原因である。加えて、拡散容量負荷がセル500
と比べて高いことも、速度の低さに多少関係しており、
この特別な容量は、マルチプレクサ/読取り回路におい
て接地に至る2つのパス(パスP1およびパスP2)の
存在によって生じる。図11のRAMセル500’は、
機能的に図10のRAMセル500と同等であるので、
これらのセルは、ここに開示された実施例の枠内で相互
に交換してよい。
【0033】TLB200中の物理アドレスビットを格
納するもうひとつの代替RAMセル500”を図12に
示す。ここに示す通り、代替RAMセル500”は、望
ましくは、ラッチ502(RAMセル500において使
用される通りの)、動的読取り回路506(RAMセル
500において使用される通りの)およびマルチプレク
サ504”を含む。RAMセル500”は、セル500
と同じ機能を果たすが、マルチプレクサ504”がマル
チプレクサ504より少なくとも8個多いトランジスタ
を必要とする。しかしながら、マルチプレクサ504”
はマルチプレクサ504より低速でないことに注意する
必要がある。従って、RAMセル500”はRAMセル
500より低速でない。図12のRAMセル500”
は、機能的に図10のRAMセル500と同等であるの
で、これらのセルは、ここに開示された実施例の枠内で
相互に交換してよい。RAMセル500’とRAMセル
500”も、希望に応じて相互に置き換えてよい。
【0034】最上位(大きさの点で)の物理アドレスビ
ットを格納し、有効ビットを格納し、状態ビットを格納
するRAMセル600を図13に示す。ここに示す通
り、各RAMセル600は、データの1つのビットを格
納するラッチ502、および、ラッチ502に格納され
たデータを相応の読取り信号REN[j]に応答して読
取る動的読取り回路506を含む。上で注目した通り、
ある一定の物理アドレスビット、すなわち、最大ページ
サイズより上のビットに対応する物理アドレスビット
が、常にTLB200から出力される。さらに、有効ビ
ットや状態ビットなどの多数の従来型ビットが、TLB
200において使用できる。RAMセル600は、マル
チプレクサの機能性を必要としないので、こうした用途
に理想的に適している。書込み可能信号WEN[j]
は、このようなデータを周知の仕方で格納するのを許可
する。
【0035】図14について説明すると、ここに示すの
は、仮想アドレスビットを変換バイパス信号に応答して
TLB200の出力に送ることによって単一の物理アド
レスビットを完全にバイパスする回路である。上に述べ
た通り、仮想アドレスビットVA[0:12]が常に物
理アドレスビットとして使用できる。これは、VA
[0:12]が好ましくは常にTPA[0:12]とし
て、TLB200をストレートに通過することを意味す
る。同様の方法で、バイパス回路700は、CAM一致
動作であろうが変換動作であろうが一切関係なく、所定
の仮想アドレスビットVA[i]を変換バイパス信号に
応答して通過させる。TLB200においてバイパス回
路700は、望ましくはTLB200の物理アドレスP
A[i]ごとに複製されることが理解される。図5のT
LB200の場合、これらの反復された回路はバイパス
回路207によって表されている。図5に示す通り、回
路207は、従来型制御ロジック(図示されていない)
からイネーブル信号線207’を介してTLB200に
送られた外部変換バイパス信号によって制御される。
【0036】バイパス回路700の動作を以下に説明す
る。変換バイパス信号に応答してトランジスタ702が
動作可能にされ、これによってPA[i]はブロックさ
れ、VA[i]は従来型バッファ706に通される。す
ると、バッファ706はVA[i]を増幅し、これで、
下流のどの回路とも両立できるようになり、VA[i]
はTLB200を出る。バイパス回路700は物理アド
レスビットごとに複製されるので(図5の207を参
照)、バイパス回路の累積効果は、仮想アドレスVA
[63:0]201を修正なしにTLB200の出力に
通すことである。先行技術において獲得できなかったこ
の付加的機能は、本発明によれば、取るに足らぬほど速
度を犠牲にするだけで実現させられる。なぜなら、トラ
ンジスタ298がラインに加える拡散容量負荷が取るに
足らぬほどだからである。その上、本発明の他の機能と
同様、このバイパス機能は、TLB200の外部に補助
的な回路またはマルチプレクサを追加する必要なしに実
現させられる。よって、この機能も、全体としてのTL
B200の向上した速度で動作することができる。
【0037】図15は、本発明の一優先実施例によるC
AM202を示す。CAM202の全体的機能性は、上
に述べた通り従来公知であり、従って、当業者には容易
に深く理解されよう。これに関しては、1993年11
月16日付でRiordanに与えられた米国特許第
5,263,140号において示され、記載されたCA
Mが、CAM202として使用することができる。この
特許を参考として現開示に組み入れる。もうひとつの代
替CAMが、1994年6月7日付でMontoyeに
与えられた米国特許第5,319,590号において示
され、記載されている。この特許も参考として現開示に
組み入れる。但し、連想メモリ202は、図16および
17に示すCAMセルによってより高い処理速度が達成
できることから、同図16および17のCAMセル構造
を利用している。
【0038】図16および17を合わせて説明すると、
ここに示すのは、CAM202に使用される代表的な2
状態CAMセルおよび3状態CAMセルである(それぞ
れセルC1、C2を参照)。図16および17に示す通
り、CAM202は、望ましくは、アドレスタグビット
を格納し、仮想アドレスビットVA[63:22]を格
納された仮想アドレスタグに一致させる2状態CAMセ
ル802(C1)を含む。従来型2状態CAMセル80
2は、常にCAM一致動作に関与するCAM位置におい
て使用される。優先実施例では、これらのセルはアドレ
スビット[63:22]のために使用される。なぜな
ら、これらのビットは、サポートされたすべてのページ
サイズ(4メガバイトの最大ページサイズを含む)につ
いて常に一致させられるからである。
【0039】しかしながら、CAM202はまた、望ま
しくは、CAM一致プロセスに関与しても関与しなくて
もよいアドレスタグを格納する新規の3状態CAMセル
804(C2)を含む。3状態CAMセル804は、あ
る一定のアドレスビットを一致プロセスに任意に関与で
きるようにするのに使用される。特に、VA[21:1
9]、VA[18:16]およびVA[15:13]
は、格納された仮想アドレスタグのページサイズ次第で
一致させても一致させなくてもよい。この機能性を達成
させるために、CAMセル804は各々、情報をコード
化するXビットラッチとYビットラッチを含む。一致プ
ロセスの間に特定のビットが無視された場合(例えば、
それが特定のページサイズのために必要とされないため
に)、“1”の値がセル804の両ラッチに格納され
る。このビットが使用すべきビットで、仮想アドレスタ
グが“1”の値を有する場合、Xビットラッチは“1”
の値を格納し、Yビットラッチは“0”の値を格納す
る。このビットが使用すべきビットで、仮想アドレスタ
グが“0”の値を有する場合、Xビットラッチは“0”
の値を格納し、Yビットラッチは“1”の値を格納す
る。システムは、XビットラッチとYビットラッチの両
方とも“0”の値を格納するのを許可しない。64キロ
バイトのページサイズを1つの例とすると、CAM一致
を行うのにビット[15:13]は必要とされない。よ
って、このCAM場所ごとのセル804は“11”の値
を格納し、ビット[63:16]だけが一致信号を発生
させようとする動作に関与する。
【0040】図17に示す通り、プルダウン・トランジ
スタ900が、CAM一致信号線を望み通り放電すべく
構成されている。関連技術の4状態CAMセルは同じ目
的のために1対のトランジスタを頼っているので、関連
技術のCAMセルはCAMセル804より低速である。
【0041】もちろん、CAM202は、入ってくる仮
想アドレスを、CAMセル802、および時折804の
所定のグループに格納されたアドレスタグに独自に一致
させようとする。一致が見出されると、CAM202は
単一のCAM一致信号を、CAM一致信号線[0]〜
[32](図5の信号線226も参照)を介してRAM
204に出力する。しかしながら、一致が得られない
と、ページテーブルエントリアレイはエラー信号を発生
させる。この場合は、変換されたアドレスをメインメモ
リから取り戻さなければならない。
【0042】本発明はさらに以下の実施態様を含む。 (付記1) N個のページサイズ(Nは1より大きい整
数)を有する可変ページサイズメモリにおいて受信した
仮想アドレスを物理アドレスに変換するためのアドレス
変換装置であって、仮想アドレスタグを格納し、受信し
た仮想アドレスをアドレスタグに一致させ、その結果、
それぞれがページテーブルエントリを参照するCAM一
致信号を発生させる連想メモリ、およびCAM一致信号
に基づいた目標の動作のために連想メモリに結合された
複数のページテーブルエントリ、を含み、それぞれのペ
ージテーブルエントリは、各仮想アドレスデータに対応
する物理アドレスビットを格納し、さらに、N−1個の
セルグループに分類された複数の第1タイプのメモリセ
ルであって、それぞれが、1つの単一の物理アドレスビ
ットを格納するもの、およびN−1個の第2タイプのメ
モリセルであって、それぞれが、1つのセルグループに
結合され、結合されたセルグループと関連したサイズフ
ィールドデータを格納し、結合されたセルグループ中に
格納された物理アドレスデータが、サイズフィールドデ
ータが第1の状態にあることに応答して出力され、かつ
結合されたセルグループに対応する受信した仮想アドレ
スビットが、サイズフィールドデータが第2の状態にあ
ることに応答して出力されるものを含むことを特徴とす
る、アドレス変換装置。(1)
【0043】(付記2) 付記1に記載のアドレス変換
装置であって、連想メモリが、仮想アドレスタグと一致
する仮想アドレスに応答して一致信号を発生させ、かつ
それぞれの第1タイプのメモリセルは、単一の物理アド
レスビットを格納する物理アドレスラッチ、および物理
アドレスラッチに結合されたマルチプレクサであって、
少なくとも第1および第2のマルチプレクサ入力、選択
信号入力、およびマルチプレクサ出力を含み、第1のマ
ルチプレクサ入力が物理アドレスラッチから物理アドレ
スビットを受信し、第2のマルチプレクサ入力が単一の
仮想アドレスビットを受信し、さらに選択信号入力が関
連の第2タイプのメモリセルからサイズフィールドデー
タを受信し、前記マルチプレクサは第1の状態にあると
きのサイズフィールドデータに応答して単一の物理アド
レスビットを出力し、かつ前記マルチプレクサは第2の
状態にあるときのサイズフィールドデータに応答して単
一の仮想アドレスビットを出力するものを含むことを特
徴とする、アドレス変換装置。
【0044】(付記3) 付記1に記載のアドレス変換
装置であって、それぞれの第2タイプのメモリセルは、
サイズフィールドデータを格納するサイズフィールドデ
ータラッチ、およびそれぞれの第1タイプのメモリセル
に直接結合した出力回路で、第2タイプのメモリセルか
らサイズフィールドデータを結合相手のメモリセルグル
ープに直接出力する出力回路を含むことを特徴とする、
アドレス変換装置。
【0045】(付記4) 付記1に記載のアドレス変換
装置であって、Nが4に等しいことを特徴とする、アド
レス変換装置。
【0046】(付記5) 仮想アドレスビットからなる
仮想アドレスを物理アドレスに変換するためのアドレス
変換装置であって、受信した仮想アドレスに対応する仮
想アドレスタグを格納する連想メモリ、および連想メモ
リに結合したページテーブルエントリアレイであって、
仮想アドレスタグのそれぞれに対応して物理アドレスを
格納する複数のページテーブルエントリを含むページテ
ーブルエントリアレイ、を含み、各ページテーブルエン
トリは、物理アドレスセルグループであって、このセル
グループ中の各物理アドレスセルは単一の物理アドレス
ビットを格納するもの、およびこのセルグループに結合
され、このセルグループに関連するサイズフィールドデ
ータを格納するサイズフィールドメモリセルを含み、第
1の状態にあるサイズフィールドデータに応答して物理
アドレスビットが出力され、第2の状態にあるサイズフ
ィールドデータに応答して仮想アドレスビットが出力さ
れることを特徴とする、アドレス変換装置。(2)
【0047】(付記6) 付記5に記載のアドレス変換
装置であって、各物理アドレスセルが、物理アドレスビ
ットを格納する物理アドレスラッチ、および物理アドレ
スラッチに結合したマルチプレクサを含み、このマルチ
プレクサが、物理アドレスラッチからの物理アドレスビ
ット、仮想アドレスビットおよびサイズフィールドセル
からのサイズフィールドデータを受信し、第1の状態に
あるサイズフィールドデータに応答して物理アドレスビ
ットを出力し、第2の状態にあるサイズフィールドデー
タに応答して仮想アドレスビットを出力することを特徴
とする、アドレス変換装置。
【0048】(付記7) 付記5に記載のアドレス変換
装置であって、各サイズフィールドメモリセルが、サイ
ズフィールドデータを格納するサイズフィールドデータ
ラッチ、およびサイズフィールドデータラッチからのデ
ータが物理アドレスセルのマルチプレクサに直接送り込
まれるように、サイズフィールドデータラッチをマルチ
プレクサに結合させる手段、を含むことを特徴とする、
アドレス変換装置。
【0049】(付記8) 付記5に記載のアドレス変換
装置であって、各サイズフィールドメモリセルが、サイ
ズフィールドデータを格納するサイズフィールドデータ
ラッチ、およびサイズフィールドメモリセルからのデー
タが結合相手のメモリセルのマルチプレクサに直接送り
込まれるように、データラッチを結合相手のメモリセル
のマルチプレクサに結合させる手段、を含むことを特徴
とする、アドレス変換装置。
【0050】(付記9) 受信した仮想アドレスデータ
を物理アドレスデータに変換するために、サイズフィー
ルドデータを格納する少なくとも1つの2状態サイズフ
ィールドセルと、このサイズフィールドセルに直接結合
した、物理アドレスデータを格納する少なくとも1つの
物理アドレスセルグループを有する少なくとも1つのペ
ージテーブルエントリを含む変換索引バッファを制御す
る方法であって、セルグループに格納された物理アドレ
スデータに対応する仮想アドレスデータを受信し、サイ
ズフィールドセルに格納されたサイズフィールドデータ
を読取り、変換された物理アドレスデータの一部とし
て、セルグループに格納された物理アドレスデータを第
1の状態にあるサイズフィールドデータに応答して選択
し、さらに、変換された物理アドレスデータの一部とし
て、受信した仮想アドレスデータを第2の状態にあるサ
イズフィールドデータに応答して選択する、各ステップ
を含むことを特徴とする、変換索引バッファの制御方
法。(3)
【0051】(付記10) 付記9に記載の方法であっ
て、さらに、物理アドレスデータを選択するステップお
よび仮想アドレスデータを選択するステップをバイパス
し、それによって、変換バイパス信号の受信に応答して
仮想アドレスデータを選択することを特徴とする、変換
索引バッファの制御方法。
【0052】(付記11) 複数のページサイズを有す
る可変ページサイズメモリにおいて受信した仮想アドレ
スデータを被変換物理アドレスデータに変換するための
アドレス変換装置であって、受信した仮想アドレスデー
タに対応する仮想アドレスタグを格納し、この格納され
た仮想アドレスタグの1つに対応するページテーブルエ
ントリを参照する一致信号を発生させる連想メモリ、お
よび連想メモリに結合され、それぞれが物理アドレスを
格納する複数のページテーブルエントリを含むページテ
ーブルエントリアレイであって、該アレイは発生した一
致信号を受信し、この一致信号によって参照される1個
のページテーブルエントリを識別することができるも
の、を含み、前記それぞれのページテーブルエントリ
は、複数の第1タイプメモリセルグループであって、そ
れぞれのセルグループは複数の第1タイプメモリセルを
含みそれぞれの第1タイプメモリセルは1個の物理アド
レスビットを格納するもの、および複数の第2タイプメ
モリセルグループであって、それぞれの第2タイプメモ
リセルは1個の第1タイプセルグループに結合され該結
合されたセルグループに関連するサイズフィールドデー
タを格納し、該結合されたセルグループ中に格納される
物理アドレスデータは、サイズフィールドデータが第1
の状態にあることに応答して出力され、さらに該結合さ
れたセルグループに対応する受信された仮想アドレスデ
ータはサイズフィールドデータが第2の状態にあること
に応答して出力されるもの、を含むことを特徴とする、
アドレス変換装置。(4)
【0053】(付記12) 付記11に記載のアドレス
変換装置であって、さらに、変換バイパス信号に応答し
て物理アドレスデータの選択を阻止する変換バイパス回
路を含むことを特徴とする、アドレス変換装置。
【0054】(付記13) 物理アドレスデータに対応
する仮想アドレスデータを受信し、メモリのページサイ
ズを指示するサイズフィールドデータを格納し、読取り
信号を発生させる変換索引バッファのためのメモリセル
であって、物理アドレスの単一の物理アドレスビットを
格納する物理アドレスラッチ、前記物理アドレスラッチ
に結合したマルチプレクサであって、少なくとも第1お
よび第2のマルチプレクサ入力、選択信号入力およびマ
ルチプレクサ出力を含み、前記第1の入力が物理アドレ
スラッチからのアドレスビットを受信し、前記第2の入
力が仮想アドレスデータの仮想アドレスビットを受信
し、前記選択信号入力がサイズフィールドデータを受信
し、第1の状態にあるサイズフィールドデータに応答し
て物理アドレスビットを出力し、第2の状態にあるサイ
ズフィールドデータに応答して仮想アドレスビットを出
力するマルチプレクサ、および前記マルチプレクサに結
合し、読取り信号に応答してメモリセルからマルチプレ
クサ出力信号を出力する動的読取り回路、を含むことを
特徴とする、メモリセル。(5)
【0055】(付記14) 複数のページサイズを有す
る可変ページサイズメモリにおいて仮想アドレスデータ
を物理アドレスデータに変換するための動的可変ページ
サイズアドレス変換装置であって、該アドレス変換装置
は、仮想アドレスを物理アドレスに関連させる仮想アド
レスタグを格納する手段、および仮想アドレスタグを格
納する手段に結合されたページテーブルエントリを格納
するための手段であって、それぞれのページテーブルエ
ントリは仮想アドレスタグの1つに対応し物理アドレス
を格納するものを含み、前記それぞれのページテーブル
エントリは、複数の物理アドレスセルグループであっ
て、それぞれのセルグループが少なくとも1個のセルを
含みかつ物理アドレスデータを格納するもの、物理アド
レスメモリセルグループのそれぞれに結合され、それぞ
れのセルグループに対してサイズデータを格納する複数
のサイズフィールドメモリセル、特定のセルグループに
結合したサイズフィールドセルに格納されたデータが第
1の状態にあるとき、該特定のセルグループの物理アド
レスデータを出力する手段、特定のセルグループに結合
したサイズフィールドセルに格納されたデータが第2の
状態にあるとき、該特定のセルグループの物理アドレス
データに対応する仮想アドレスデータを出力する手段、
を含むことを特徴とする、アドレス変換装置。(6)
【0056】(付記15) 付記14に記載のアドレス
変換装置であって、仮想アドレスタグを格納する手段
は、仮想アドレスタグの1つと一致する仮想アドレスに
応答して一致信号を発生し、さらにそれぞれの物理アド
レスメモリセルは、物理アドレスビットを格納する物理
アドレス格納手段、(a)前記物理アドレス格納手段か
らの物理アドレスビット、(b)仮想アドレスビット、
および(c)結合されたサイズフィールドメモリセルか
らのサイズフィールドデータを受信し、第1の状態にあ
るサイズフィールドデータに応答して物理アドレスビッ
トを出力し、第2の状態にあるサイズフィールドデータ
に応答して仮想アドレスビットを出力するマルチプレク
サ手段、および前記マルチプレクサ手段および前記仮想
アドレスタグを格納する手段に結合し、仮想アドレスタ
グを格納する手段からの一致信号に応答してマルチプレ
クサ手段の出力を出力する動的読取り回路、を含むこと
を特徴とする、アドレス変換装置。
【0057】(付記16) 付記14に記載のアドレス
変換装置であって、それぞれのサイズフィールドメモリ
セルが、サイズフィールドデータを格納するサイズフィ
ールド格納手段、およびサイズフィールドデータを結合
されたセルグループに直接出力する手段を含むことを特
徴とする、アドレス変換装置。
【0058】(付記17) 物理アドレスに対応する仮
想アドレスを用いて可変ページサイズメモリの変換索引
バッファ中のデータを管理する方法であって、仮想メモ
リはNを1より大きい整数とする時Nページサイズを有
しかつ仮想アドレスのそれぞれは複数の仮想アドレスビ
ットを含むものにおいて、前記方法は、N−1個のグル
ープに分けられ、それぞれのグループが複数の物理アド
レスビットを含む、物理アドレスデータを格納するステ
ップ、N−1個のグループのそれぞれに結合されたN−
1個のサイズフィールドデータを格納するステップであ
って、それぞれのサイズフィールドデータは結合された
グループの物理アドレスビットが物理アドレスを発生す
るために制御される場合第1の状態に格納され、かつ結
合されたグループに対応する仮想アドレスビットが物理
アドレスを発生するために制御される場合第2の状態に
格納されるものであるステップ、仮想アドレスを含むデ
ータ要求に応答して、仮想アドレスに対応する変換され
た物理アドレスを出力するステップであって、該ステッ
プは、サイズフィールドが第1の状態にあることに応答
して結合されたセルグループ中に格納された物理アドレ
スビットを出力するステップ、およびサイズフィールド
が第2の状態にあることに応答して結合されたセルグル
ープに対応する仮想アドレスビットを出力するステッ
プ、を含むステップ、を具備することを特徴とする、変
換索引バッファ中のデータを管理する方法。(7)
【0059】(付記18) 物理アドレスに対応する仮
想アドレスを用いて可変ページサイズメモリの変換索引
バッファ中のデータを管理する方法であって、仮想メモ
リはNを1より大きい整数とする時Nページサイズを有
しかつ仮想アドレスのそれぞれは複数の仮想アドレスビ
ットを含むものにおいて、前記方法は、N−1個のグル
ープに分けられ、それぞれのグループが複数の物理アド
レスビットを含む、物理アドレスデータを格納するステ
ップ、およびN−1個のグループのそれぞれに結合され
たN−1個のサイズフィールドデータを格納するステッ
プであって、それぞれのサイズフィールドデータは結合
されたグループの物理アドレスビットが物理アドレスを
発生するために制御される場合第1の状態に格納され、
かつ結合されたグループに対応する仮想アドレスビット
が物理アドレスを発生するために制御される場合第2の
状態に格納されるものであるステップ、を具備すること
を特徴とする、変換索引バッファ中のデータを管理する
方法。(8)
【0060】(付記19) 変換索引バッファを制御し
て、単一の2相タイミングサイクルの間に受信した仮想
アドレスを変換された物理アドレスに変換する方法であ
って、前記変換索引バッファは、連想メモリと、該連想
メモリに結合した複数のページテーブルエントリを有す
るページテーブルエントリアレイを含み、各ページテー
ブルエントリが、受信した仮想アドレスに潜在的に対応
する物理アドレスデータを格納するために少なくとも1
個の物理アドレスセルグループを含み、さらに、各ペー
ジテーブルエントリはセルグループに結合した2状態サ
イズフィールドセルを少なくとも1つ含むものにおい
て、前記方法は、タイミングサイクルの第1相の間に、
連想メモリとページテーブルエントリアレイの両方で仮
想アドレスを受信し、受信した仮想アドレスを、アレイ
内のページテーブルエントリの1つを参照する一致信号
に変換するために、連想メモリを制御し、さらに、少な
くとも1つのページテーブルエントリの物理アドレスセ
ルグループをプリチャージするために仮想アドレスを制
御し、さらに、タイミングサイクルの第2相の間に、ペ
ージテーブルエントリアレイで一致信号を受信すし、変
換された物理アドレスの一部として、第1の状態にある
サイズフィールドセルに応答して一致信号によって参照
されたページテーブルエントリのセルグループから物理
アドレスデータを出力し、さらに、変換された物理アド
レスの一部として、第2の状態にあるサイズフィールド
セルに応答して一致信号によって参照されたページテー
ブルエントリのセルグループに格納された物理アドレス
データに対応する仮想アドレスデータを出力する、各ス
テップを具備することを特徴とする、変換索引バッファ
中のデータを管理する方法。(9)
【0061】(付記20) 付記19に記載の方法であ
って、各セルグループの各物理アドレスセルが、単一の
物理アドレスビットを格納するラッチと、このラッチに
結合されたマルチプレクサを含み、物理アドレスデータ
を出力するステップがさらに、物理アドレスビットと仮
想アドレスの単一のビットを受信し、セル出力として、
第1の状態にあるサイズフィールドセルに応答して物理
アドレスビットを選択するステップを含み、さらに、物
理アドレスデータを出力するステップがさらに、物理ア
ドレスビットと仮想アドレスの単一のビットを受信し、
セル出力として、第2の状態にあるサイズフィールドセ
ルに応答して仮想アドレスビットを選択するステップを
含むことを特徴とする、変換索引バッファ中のデータを
管理する方法。
【0062】
【発明の効果】本発明は、アドレスデータのクリティカ
ルパスの中に存在する不要な回路部分を取り除くことに
よって、より高速の変換を可能にする。その上、本発明
は、アドレスデータのクリティカルパスの中に存在する
不要な回路部分を取り除くことによって、そのような変
換のより高速のバイパスを可能にする。本発明をもって
すれば、仮想アドレスデータの変換がわずか1つのクロ
ックサイクルで実行できる。
【図面の簡単な説明】
【図1】従来型の可変ページサイズTLBを示す図。
【図2】図1に示す従来型TLBによってサポートされ
た4通りのページサイズに関するコード化サイズフィー
ルドデータのテーブルを示す図。
【図3】図1に示すTLBのページテーブルエントリア
レイにアドレスデータを格納するためのデータ構造を示
す図。
【図4】図1に示すTLBのページテーブルエントリア
レイにアドレスデータの単一ビットを格納するための代
表的RAMセルを示す図。
【図5】本発明の一優先実施例による可変ページサイズ
TLBを示す図。
【図6】図5に示す優先的TLBによってサポートされ
た4通りのページサイズに関するコード化サイズフィー
ルドデータのテーブルを示す図。
【図7】図5に示すTLBのページテーブルエントリア
レイにアドレスデータを格納するための1つの優先的デ
ータ構造を示す図。
【図8】図5に示すTLBのページテーブルエントリア
レイにアドレスデータを格納するための1つの代替的デ
ータ構造を示す図。
【図9】本発明の優先的TLBのページテーブルエント
リアレイにコード化サイズフィールドデータを格納する
ためのRAMセルを示す図。
【図10】本発明の優先的TLBのページテーブルエン
トリアレイに物理アドレスデータを格納するための代替
的RAMセルを示す図。
【図11】本発明の優先的TLBのページテーブルエン
トリアレイに物理アドレスデータを格納するための代替
的RAMセルを示す図。
【図12】本発明の優先的TLBのページテーブルエン
トリアレイに物理アドレスデータを格納するための代替
的RAMセルを示す図。
【図13】本発明の優先的TLBのページテーブルエン
トリアレイに選択されたデータを格納するためのRAM
セルを示す図。
【図14】物理アドレスビットを対応する仮想アドレス
ビットのために、変換バイパス信号の受信に応答してバ
イパスする優先的変換バイパス回路を示す図。
【図15】本発明の一優先実施例による優先的連想メモ
リ(CAM)を示す図で、このCAMは、図5に示すT
LBにおいて使用される。
【図16】図15に示すCAMにおいて利用される代表
的な2状態CAMセルを示す図。
【図17】図15に示すCAMにおいて利用される代表
的な3状態CAMセルを示す図。
【符号の説明】
200…変換索引バッファ 202…連想メモリ 204…ページテーブルエントリアレイ 206、206’…ページテーブルエントリ 207、207’…バイパス回路 208…有効ビット 210、214、218…サイズフィールドビット 212、216、220,220…物理アドレスビット 224…状態ビット

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 N個のページサイズ(Nは1より大きい
    整数)を有する可変ページサイズメモリにおいて受信し
    た仮想アドレスを物理アドレスに変換するためのアドレ
    ス変換装置であって、 仮想アドレスタグを格納し、受信した仮想アドレスをア
    ドレスタグに一致させ、その結果、それぞれがページテ
    ーブルエントリを参照するCAM一致信号を発生させる
    連想メモリ、およびCAM一致信号に基づいた目標の動
    作のために連想メモリに結合された複数のページテーブ
    ルエントリ、を含み、 それぞれのページテーブルエントリは、各仮想アドレス
    データに対応する物理アドレスビットを格納し、さら
    に、 N−1個のセルグループに分類された複数の第1タイプ
    のメモリセルであって、それぞれが、1つの単一の物理
    アドレスビットを格納するもの、およびN−1個の第2
    タイプのメモリセルであって、それぞれが、1つのセル
    グループに結合され、結合されたセルグループと関連し
    たサイズフィールドデータを格納し、結合されたセルグ
    ループ中に格納された物理アドレスデータが、サイズフ
    ィールドデータが第1の状態にあることに応答して出力
    され、かつ結合されたセルグループに対応する受信した
    仮想アドレスビットが、サイズフィールドデータが第2
    の状態にあることに応答して出力されるものを含むこと
    を特徴とする、アドレス変換装置。
  2. 【請求項2】 仮想アドレスビットからなる仮想アドレ
    スを物理アドレスに変換するためのアドレス変換装置で
    あって、 受信した仮想アドレスに対応する仮想アドレスタグを格
    納する連想メモリ、および連想メモリに結合したページ
    テーブルエントリアレイであって、仮想アドレスタグの
    それぞれに対応して物理アドレスを格納する複数のペー
    ジテーブルエントリを含むページテーブルエントリアレ
    イ、を含み、 各ページテーブルエントリは、 物理アドレスセルグループであって、このセルグループ
    中の各物理アドレスセルは単一の物理アドレスビットを
    格納するもの、およびこのセルグループに結合され、こ
    のセルグループに関連するサイズフィールドデータを格
    納するサイズフィールドメモリセルを含み、 第1の状態にあるサイズフィールドデータに応答して物
    理アドレスビットが出力され、第2の状態にあるサイズ
    フィールドデータに応答して仮想アドレスビットが出力
    されることを特徴とする、アドレス変換装置。
  3. 【請求項3】 受信した仮想アドレスデータを物理アド
    レスデータに変換するために、サイズフィールドデータ
    を格納する少なくとも1つの2状態サイズフィールドセ
    ルと、このサイズフィールドセルに直接結合した、物理
    アドレスデータを格納する少なくとも1つの物理アドレ
    スセルグループを有する少なくとも1つのページテーブ
    ルエントリを含む変換索引バッファを制御する方法であ
    って、 セルグループに格納された物理アドレスデータに対応す
    る仮想アドレスデータを受信し、 サイズフィールドセルに格納されたサイズフィールドデ
    ータを読取り、 変換された物理アドレスデータの一部として、セルグル
    ープに格納された物理アドレスデータを第1の状態にあ
    るサイズフィールドデータに応答して選択し、さらに、 変換された物理アドレスデータの一部として、受信した
    仮想アドレスデータを第2の状態にあるサイズフィール
    ドデータに応答して選択する、 各ステップを含むことを特徴とする、変換索引バッファ
    の制御方法。
  4. 【請求項4】 複数のページサイズを有する可変ページ
    サイズメモリにおいて受信した仮想アドレスデータを被
    変換物理アドレスデータに変換するためのアドレス変換
    装置であって、 受信した仮想アドレスデータに対応する仮想アドレスタ
    グを格納し、この格納された仮想アドレスタグの1つに
    対応するページテーブルエントリを参照する一致信号を
    発生させる連想メモリ、および連想メモリに結合され、
    それぞれが物理アドレスを格納する複数のページテーブ
    ルエントリを含むページテーブルエントリアレイであっ
    て、該アレイは発生した一致信号を受信し、この一致信
    号によって参照される1個のページテーブルエントリを
    識別することができるもの、を含み、 前記それぞれのページテーブルエントリは、 複数の第1タイプメモリセルグループであって、それぞ
    れのセルグループは複数の第1タイプメモリセルを含み
    それぞれの第1タイプメモリセルは1個の物理アドレス
    ビットを格納するもの、および複数の第2タイプメモリ
    セルグループであって、それぞれの第2タイプメモリセ
    ルは1個の第1タイプセルグループに結合され該結合さ
    れたセルグループに関連するサイズフィールドデータを
    格納し、該結合されたセルグループ中に格納される物理
    アドレスデータは、サイズフィールドデータが第1の状
    態にあることに応答して出力され、さらに該結合された
    セルグループに対応する受信された仮想アドレスデータ
    はサイズフィールドデータが第2の状態にあることに応
    答して出力されるもの、 を含むことを特徴とする、アドレス変換装置。
  5. 【請求項5】 物理アドレスデータに対応する仮想アド
    レスデータを受信し、メモリのページサイズを指示する
    サイズフィールドデータを格納し、読取り信号を発生さ
    せる変換索引バッファのためのメモリセルであって、 物理アドレスの単一の物理アドレスビットを格納する物
    理アドレスラッチ、 前記物理アドレスラッチに結合したマルチプレクサであ
    って、少なくとも第1および第2のマルチプレクサ入
    力、選択信号入力およびマルチプレクサ出力を含み、前
    記第1の入力が物理アドレスラッチからのアドレスビッ
    トを受信し、前記第2の入力が仮想アドレスデータの仮
    想アドレスビットを受信し、前記選択信号入力がサイズ
    フィールドデータを受信し、第1の状態にあるサイズフ
    ィールドデータに応答して物理アドレスビットを出力
    し、第2の状態にあるサイズフィールドデータに応答し
    て仮想アドレスビットを出力するマルチプレクサ、およ
    び前記マルチプレクサに結合し、読取り信号に応答して
    メモリセルからマルチプレクサ出力信号を出力する動的
    読取り回路、 を含むことを特徴とする、メモリセル。
  6. 【請求項6】 複数のページサイズを有する可変ページ
    サイズメモリにおいて仮想アドレスデータを物理アドレ
    スデータに変換するための動的可変ページサイズアドレ
    ス変換装置であって、該アドレス変換装置は、 仮想アドレスを物理アドレスに関連させる仮想アドレス
    タグを格納する手段、および仮想アドレスタグを格納す
    る手段に結合されたページテーブルエントリを格納する
    ための手段であって、それぞれのページテーブルエント
    リは仮想アドレスタグの1つに対応し物理アドレスを格
    納するものを含み、 前記それぞれのページテーブルエントリは、 複数の物理アドレスセルグループであって、それぞれの
    セルグループが少なくとも1個のセルを含みかつ物理ア
    ドレスデータを格納するもの、 物理アドレスメモリセルグループのそれぞれに結合さ
    れ、それぞれのセルグループに対してサイズデータを格
    納する複数のサイズフィールドメモリセル、 特定のセルグループに結合したサイズフィールドセルに
    格納されたデータが第1の状態にあるとき、該特定のセ
    ルグループの物理アドレスデータを出力する手段、 特定のセルグループに結合したサイズフィールドセルに
    格納されたデータが第2の状態にあるとき、該特定のセ
    ルグループの物理アドレスデータに対応する仮想アドレ
    スデータを出力する手段を含むことを特徴とする、アド
    レス変換装置。
  7. 【請求項7】 物理アドレスに対応する仮想アドレスを
    用いて可変ページサイズメモリの変換索引バッファ中の
    データを管理する方法であって、仮想メモリはNを1よ
    り大きい整数とする時Nページサイズを有しかつ仮想ア
    ドレスのそれぞれは複数の仮想アドレスビットを含むも
    のにおいて、前記方法は、 N−1個のグループに分けられ、それぞれのグループが
    複数の物理アドレスビットを含む、物理アドレスデータ
    を格納するステップ、 N−1個のグループのそれぞれに結合されたN−1個の
    サイズフィールドデータを格納するステップであって、
    それぞれのサイズフィールドデータは結合されたグルー
    プの物理アドレスビットが物理アドレスを発生するため
    に制御される場合第1の状態に格納され、かつ結合され
    たグループに対応する仮想アドレスビットが物理アドレ
    スを発生するために制御される場合第2の状態に格納さ
    れるものであるステップ、 仮想アドレスを含むデータ要求に応答して、仮想アドレ
    スに対応する変換された物理アドレスを出力するステッ
    プであって、該ステップは、 サイズフィールドが第1の状態にあることに応答して結
    合されたセルグループ中に格納された物理アドレスビッ
    トを出力するステップ、およびサイズフィールドが第2
    の状態にあることに応答して結合されたセルグループに
    対応する仮想アドレスビットを出力するステップ、 を含むステップ、を具備することを特徴とする、変換索
    引バッファ中のデータを管理する方法。
  8. 【請求項8】 物理アドレスに対応する仮想アドレスを
    用いて可変ページサイズメモリの変換索引バッファ中の
    データを管理する方法であって、仮想メモリはNを1よ
    り大きい整数とする時Nページサイズを有しかつ仮想ア
    ドレスのそれぞれは複数の仮想アドレスビットを含むも
    のにおいて、前記方法は、 N−1個のグループに分けられ、それぞれのグループが
    複数の物理アドレスビットを含む、物理アドレスデータ
    を格納するステップ、およびN−1個のグループのそれ
    ぞれに結合されたN−1個のサイズフィールドデータを
    格納するステップであって、それぞれのサイズフィール
    ドデータは結合されたグループの物理アドレスビットが
    物理アドレスを発生するために制御される場合第1の状
    態に格納され、かつ結合されたグループに対応する仮想
    アドレスビットが物理アドレスを発生するために制御さ
    れる場合第2の状態に格納されるものであるステップ、 を具備することを特徴とする、変換索引バッファ中のデ
    ータを管理する方法。
  9. 【請求項9】 変換索引バッファを制御して、単一の2
    相タイミングサイクルの間に受信した仮想アドレスを変
    換された物理アドレスに変換する方法であって、前記変
    換索引バッファは、連想メモリと、該連想メモリに結合
    した複数のページテーブルエントリを有するページテー
    ブルエントリアレイを含み、各ページテーブルエントリ
    が、受信した仮想アドレスに潜在的に対応する物理アド
    レスデータを格納するために少なくとも1個の物理アド
    レスセルグループを含み、さらに、各ページテーブルエ
    ントリはセルグループに結合した2状態サイズフィール
    ドセルを少なくとも1つ含むものにおいて、前記方法
    は、 タイミングサイクルの第1相の間に、 連想メモリとページテーブルエントリアレイの両方で仮
    想アドレスを受信し、 受信した仮想アドレスを、アレイ内のページテーブルエ
    ントリの1つを参照する一致信号に変換するために、連
    想メモリを制御し、さらに、 少なくとも1つのページテーブルエントリの物理アドレ
    スセルグループをプリチャージするために仮想アドレス
    を制御し、さらに、 タイミングサイクルの第2相の間に、 ページテーブルエントリアレイで一致信号を受信すし、 変換された物理アドレスの一部として、第1の状態にあ
    るサイズフィールドセルに応答して一致信号によって参
    照されたページテーブルエントリのセルグループから物
    理アドレスデータを出力し、さらに、 変換された物理アドレスの一部として、第2の状態にあ
    るサイズフィールドセルに応答して一致信号によって参
    照されたページテーブルエントリのセルグループに格納
    された物理アドレスデータに対応する仮想アドレスデー
    タを出力する、 各ステップを具備することを特徴とする、変換索引バッ
    ファ中のデータを管理する方法。
JP2002074785A 2001-03-16 2002-03-18 アドレス変換装置および方法 Pending JP2002288038A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/810,816 US6549997B2 (en) 2001-03-16 2001-03-16 Dynamic variable page size translation of addresses
US09/810816 2001-03-16

Publications (1)

Publication Number Publication Date
JP2002288038A true JP2002288038A (ja) 2002-10-04

Family

ID=25204778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002074785A Pending JP2002288038A (ja) 2001-03-16 2002-03-18 アドレス変換装置および方法

Country Status (3)

Country Link
US (1) US6549997B2 (ja)
EP (1) EP1241579A3 (ja)
JP (1) JP2002288038A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008522321A (ja) * 2004-12-02 2008-06-26 インテル・コーポレーション 高性能な方法でcpu又は処理エレメントから物理メモリにアクセスするための方法及び装置
US8121005B2 (en) 2004-02-06 2012-02-21 Samsung Electronics Co., Ltd. Method of and apparatus for recording data on write-once disc, method of and apparatus for reproducing data from write-once disc, and write-once disc therefor
US8755283B2 (en) 2010-12-17 2014-06-17 Microsoft Corporation Synchronizing state among load balancer components
US8805990B2 (en) * 2012-07-12 2014-08-12 Microsoft Corporation Load balancing for single-address tenants
US8874869B2 (en) 2009-08-07 2014-10-28 Panasonic Corporation Semiconductor memory device
JP2016507096A (ja) * 2013-01-15 2016-03-07 クゥアルコム・インコーポレイテッドQualcomm Incorporated 変換索引バッファ(tlb)のための重複検査
US9667739B2 (en) 2011-02-07 2017-05-30 Microsoft Technology Licensing, Llc Proxy-based cache content distribution and affinity
US9826033B2 (en) 2012-10-16 2017-11-21 Microsoft Technology Licensing, Llc Load balancer bypass

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001089838A1 (en) * 2000-05-24 2001-11-29 Silverbrook Research Pty. Ltd. Printed page tag encoder
US6594780B1 (en) * 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
US7154638B1 (en) * 2000-05-23 2006-12-26 Silverbrook Research Pty Ltd Printed page tag encoder
US7013379B1 (en) * 2001-12-10 2006-03-14 Incipient, Inc. I/O primitives
US20040059887A1 (en) * 2002-09-25 2004-03-25 K. S. Venkatraman Cache memory
JP2004164395A (ja) * 2002-11-14 2004-06-10 Renesas Technology Corp アドレス変換装置
JP2004222611A (ja) * 2003-01-23 2004-08-12 Shimano Inc 両軸受リールのレベルワインド機構
US7100018B2 (en) * 2003-07-31 2006-08-29 Silicon Graphics, Inc. System and method for encoding page size information
US7159095B2 (en) * 2003-12-09 2007-01-02 International Business Machines Corporation Method of efficiently handling multiple page sizes in an effective to real address translation (ERAT) table
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
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
US20060004983A1 (en) * 2004-06-30 2006-01-05 Tsao Gary Y Method, system, and program for managing memory options for devices
US7370174B2 (en) * 2005-01-05 2008-05-06 Intel Corporation Method, system, and program for addressing pages of memory by an I/O device
US7284112B2 (en) * 2005-01-14 2007-10-16 International Business Machines Corporation Multiple page size address translation incorporating page size prediction
US7466647B2 (en) * 2005-02-09 2008-12-16 International Business Machines Corporation Efficient muxing scheme to allow for bypass and array access
US7853957B2 (en) * 2005-04-15 2010-12-14 Intel Corporation Doorbell mechanism using protection domains
WO2006111688A1 (en) * 2005-04-20 2006-10-26 Arm Limited Mapping an input data value to a resultant data value
US7516297B2 (en) * 2005-11-10 2009-04-07 Hewlett-Packard Development Company, L.P. Memory management
US7616218B1 (en) 2005-12-05 2009-11-10 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives
US8594441B1 (en) 2006-09-12 2013-11-26 Nvidia Corporation Compressing image-based data using luminance
US8352709B1 (en) 2006-09-19 2013-01-08 Nvidia Corporation Direct memory access techniques that include caching segmentation data
US8347064B1 (en) 2006-09-19 2013-01-01 Nvidia Corporation Memory access techniques in an aperture mapped memory space
US8543792B1 (en) 2006-09-19 2013-09-24 Nvidia Corporation Memory access techniques including coalesing page table entries
US8601223B1 (en) 2006-09-19 2013-12-03 Nvidia Corporation Techniques for servicing fetch requests utilizing coalesing page table entries
US8700883B1 (en) * 2006-10-24 2014-04-15 Nvidia Corporation Memory access techniques providing for override of a page table
US8707011B1 (en) 2006-10-24 2014-04-22 Nvidia Corporation Memory access techniques utilizing a set-associative translation lookaside buffer
US8504794B1 (en) 2006-11-01 2013-08-06 Nvidia Corporation Override system and method for memory access management
US8347065B1 (en) 2006-11-01 2013-01-01 Glasco David B System and method for concurrently managing memory access requests
US8533425B1 (en) 2006-11-01 2013-09-10 Nvidia Corporation Age based miss replay system and method
US8706975B1 (en) 2006-11-01 2014-04-22 Nvidia Corporation Memory access management block bind system and method
US8607008B1 (en) 2006-11-01 2013-12-10 Nvidia Corporation System and method for independent invalidation on a per engine basis
US8700865B1 (en) 2006-11-02 2014-04-15 Nvidia Corporation Compressed data access system and method
US8724895B2 (en) 2007-07-23 2014-05-13 Nvidia Corporation Techniques for reducing color artifacts in digital images
US9652210B2 (en) * 2007-08-28 2017-05-16 Red Hat, Inc. Provisioning a device with multiple bit-size versions of a software component
US8028118B2 (en) * 2007-12-05 2011-09-27 Internation Business Machines Corporation Using an index value located on a page table to index page attributes
US8549209B2 (en) * 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US8373718B2 (en) 2008-12-10 2013-02-12 Nvidia Corporation Method and system for color enhancement with color volume adjustment and variable shift along luminance axis
US8429377B2 (en) * 2010-01-08 2013-04-23 International Business Machines Corporation Optimizing TLB entries for mixed page size storage in contiguous memory
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
US8261003B2 (en) * 2010-08-11 2012-09-04 Lsi Corporation Apparatus and methods for managing expanded capacity of virtual volumes in a storage system
US20120124326A1 (en) * 2010-11-17 2012-05-17 Mccombs Edward M Translation Lookaside Buffer Structure Including a Data Array Sense Amplifier and Fast Compare Unit
US20130179642A1 (en) * 2012-01-10 2013-07-11 Qualcomm Incorporated Non-Allocating Memory Access with Physical Address
US10146545B2 (en) 2012-03-13 2018-12-04 Nvidia Corporation Translation address cache for a microprocessor
US9880846B2 (en) 2012-04-11 2018-01-30 Nvidia Corporation Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries
US9684601B2 (en) * 2012-05-10 2017-06-20 Arm Limited Data processing apparatus having cache and translation lookaside buffer
US10241810B2 (en) 2012-05-18 2019-03-26 Nvidia Corporation Instruction-optimizing processor with branch-count table in hardware
US20140189310A1 (en) 2012-12-27 2014-07-03 Nvidia Corporation Fault detection in instruction translations
US10108424B2 (en) 2013-03-14 2018-10-23 Nvidia Corporation Profiling code portions to generate translations
US10216642B2 (en) * 2013-03-15 2019-02-26 International Business Machines Corporation Hardware-based pre-page walk virtual address transformation where the virtual address is shifted by current page size and a minimum page size
US10528476B2 (en) * 2016-05-24 2020-01-07 International Business Machines Corporation Embedded page size hint for page fault resolution
US10241925B2 (en) * 2017-02-15 2019-03-26 Ati Technologies Ulc Selecting a default page size in a variable page size TLB
US10282309B2 (en) 2017-02-24 2019-05-07 Advanced Micro Devices, Inc. Per-page control of physical address space distribution among memory modules
US10339068B2 (en) 2017-04-24 2019-07-02 Advanced Micro Devices, Inc. Fully virtualized TLBs
KR102558827B1 (ko) 2018-01-02 2023-07-24 삼성전자주식회사 반도체 메모리 장치, 및 이 장치를 구비하는 메모리 시스템 및 전자 장치

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5617554A (en) * 1992-02-10 1997-04-01 Intel Corporation Physical address size selection and page size selection in an address translator
US5465337A (en) * 1992-08-13 1995-11-07 Sun Microsystems, Inc. Method and apparatus for a memory management unit supporting multiple page sizes
US5319590A (en) * 1992-12-04 1994-06-07 Hal Computer Systems, Inc. Apparatus for storing "Don't Care" in a content addressable memory cell
US5555387A (en) * 1995-06-06 1996-09-10 International Business Machines Corporation Method and apparatus for implementing virtual memory having multiple selected page sizes
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
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
US5526504A (en) * 1993-12-15 1996-06-11 Silicon Graphics, Inc. Variable page size translation lookaside buffer
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
DE19526960A1 (de) * 1994-09-27 1996-03-28 Hewlett Packard Co Eine Übersetzungs-Querzuordnungs-Puffer-Organisation mit variabler Seitengrößenabbildung und Opfer-Cache-Speicherung
WO1996012231A1 (en) * 1994-10-14 1996-04-25 Silicon Graphics, Inc. A translation buffer for detecting and preventing conflicting virtual addresses from being stored therein
KR960032174A (ko) * 1995-02-02 1996-09-17 빈센트 비. 인그라시아 데이타 프로세서와 그 방법
KR100263672B1 (ko) * 1997-05-08 2000-09-01 김영환 가변적인 페이지 크기를 지원하는 어드레스 변환장치
US6233652B1 (en) * 1998-10-30 2001-05-15 Intel Corporation Translation lookaside buffer for multiple page sizes

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8121005B2 (en) 2004-02-06 2012-02-21 Samsung Electronics Co., Ltd. Method of and apparatus for recording data on write-once disc, method of and apparatus for reproducing data from write-once disc, and write-once disc therefor
JP2008522321A (ja) * 2004-12-02 2008-06-26 インテル・コーポレーション 高性能な方法でcpu又は処理エレメントから物理メモリにアクセスするための方法及び装置
US10282300B2 (en) 2004-12-02 2019-05-07 Intel Corporation Accessing physical memory from a CPU or processing element in a high performance manner
US9710385B2 (en) 2004-12-02 2017-07-18 Intel Corporation Method and apparatus for accessing physical memory from a CPU or processing element in a high performance manner
US9280473B2 (en) 2004-12-02 2016-03-08 Intel Corporation Method and apparatus for accessing physical memory from a CPU or processing element in a high performance manner
US8874869B2 (en) 2009-08-07 2014-10-28 Panasonic Corporation Semiconductor memory device
US8755283B2 (en) 2010-12-17 2014-06-17 Microsoft Corporation Synchronizing state among load balancer components
US9438520B2 (en) 2010-12-17 2016-09-06 Microsoft Technology Licensing, Llc Synchronizing state among load balancer components
US9667739B2 (en) 2011-02-07 2017-05-30 Microsoft Technology Licensing, Llc Proxy-based cache content distribution and affinity
US8805990B2 (en) * 2012-07-12 2014-08-12 Microsoft Corporation Load balancing for single-address tenants
US9092271B2 (en) 2012-07-12 2015-07-28 Microsoft Technology Licensing, Llc Load balancing for single-address tenants
US9826033B2 (en) 2012-10-16 2017-11-21 Microsoft Technology Licensing, Llc Load balancer bypass
JP2016507096A (ja) * 2013-01-15 2016-03-07 クゥアルコム・インコーポレイテッドQualcomm Incorporated 変換索引バッファ(tlb)のための重複検査

Also Published As

Publication number Publication date
EP1241579A3 (en) 2004-01-21
EP1241579A2 (en) 2002-09-18
US6549997B2 (en) 2003-04-15
US20020133685A1 (en) 2002-09-19

Similar Documents

Publication Publication Date Title
JP2002288038A (ja) アドレス変換装置および方法
US6205530B1 (en) Address translation unit supporting variable page sizes
US5752260A (en) High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US5319763A (en) Data processor with concurrent static and dynamic masking of operand information and method therefor
US6151658A (en) Write-buffer FIFO architecture with random access snooping capability
JPH08272692A (ja) 仮想アドレス変換方法
JPH05314779A (ja) 連想メモリセルおよび連想メモリ回路
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JPH11203860A (ja) 半導体記憶装置
US6415374B1 (en) System and method for supporting sequential burst counts in double data rate (DDR) synchronous dynamic random access memories (SDRAM)
JPS6259822B2 (ja)
JPH0844565A (ja) レジスタファイル装置及びレジスタファイルアクセス方法
US6085289A (en) Method and system for load data formatting and improved method for cache line organization
US9361239B2 (en) System on chip including unified input/output memory management unit
JPH05210570A (ja) アドレス拡張をする方法及び手段
US5991848A (en) Computing system accessible to a split line on border of two pages within one cycle
JPH07141259A (ja) キャッシュタグメモリ
JPH05198186A (ja) 連想メモリシステム
US6901490B2 (en) Read/modify/write registers
JPH0713869A (ja) 動的アドレス変換機能を持つデータ処理システム
US6567320B2 (en) Data write circuit
JPH07226079A (ja) 半導体メモリ装置
US6226731B1 (en) Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array
JPH05113929A (ja) マイクロコンピユータ
US8605098B2 (en) Memory structure for optimized image processing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071009