JP3278748B2 - メモリ空間を節約する方法および装置 - Google Patents

メモリ空間を節約する方法および装置

Info

Publication number
JP3278748B2
JP3278748B2 JP30566991A JP30566991A JP3278748B2 JP 3278748 B2 JP3278748 B2 JP 3278748B2 JP 30566991 A JP30566991 A JP 30566991A JP 30566991 A JP30566991 A JP 30566991A JP 3278748 B2 JP3278748 B2 JP 3278748B2
Authority
JP
Japan
Prior art keywords
address
virtual
data
entry
buffer
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.)
Expired - Fee Related
Application number
JP30566991A
Other languages
English (en)
Other versions
JPH04352256A (ja
Inventor
ピーター・エイ・メーリング
ロバート・ディ・ベッカー
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH04352256A publication Critical patent/JPH04352256A/ja
Application granted granted Critical
Publication of JP3278748B2 publication Critical patent/JP3278748B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、変換索引バッファの空
間を節約する方法および装置に関し、更に詳しくは、中
央処理装置(CPU)における変換索引バッファの性能
を損なうことなくメモリ空間を節約する方法および装置
に関する。
【0002】
【従来の技術】高速中央処理装置が、主コンピュータ・
メモリの他にキャッシュ・メモリを有していることは極
めて一般的である。キャッシュ・メモリは、主コンピュ
ータ・メモリに較べて小さいが、それよりもはるかに高
速で、プロセッサと主メモリとの間に設けられている。
ソフトウェア・プログラムの実行中、キャッシュ・メモ
リは、最も頻繁に使用される命令とデータを記憶する。
プロセッサが、メモリから情報をアクセスする必要があ
る度に、プロセッサは、主コンピュータ・メモリをアク
セスする前に、まずキャッシュを調べる。プロセッサ
が、キャッシュ中に命令またはデータを見い出すことが
できず、それより遅い主メモリをアクセスすることが要
求される場合には、キャッシュ・ミスが起きる。このよ
うに、キャッシュ・メモリはプロセッサの平均メモリ・
アクセス時間を低減する。キャッシュ・メモリに関する
他の情報については、1982年9月のコンピューティング
・サーベイ,Vol.14,No 3 におけるアラン ジェイ.ス
ミスによるキャッシュ・メモリに関する論文を参照され
たい。
【0003】仮想アドレス方式により、システムのフレ
キシビリティとキャパビリティが向上する。たとえば、
仮想アドレス方式によれば、ソフトウェアが作動する仮
想アドレス空間を供給することにより、ソフトウェアを
物理的アドレス方式から切離す他、より大きいアドレス
空間を得ることができる。仮想アドレス方式を実現する
には、仮想アドレスを物理アドレスに翻訳するメカニズ
ムが必要である。多くのCPUは、仮想アドレスを物理
的メモリ・アドレスに翻訳する翻訳プログラムと、最新
の仮想−物理アドレス対をキャッシュする変換索引バッ
ファ(TLB)とを含んでいる。TLBはなくてはなら
ないものである。なぜならば、これは、翻訳対が既に存
在している場合マッピング・プロセスをスキップするこ
とによって主メモリにより速くアクセスさせることがで
きるからである。
【0004】キャッシュの動作は、通常CPUからの仮
想アドレスと適当な制御信号の到着とともに開始する。
仮想アドレスは、TLBとキャッシュ・メモリの両方に
送られる。TLBは、仮想ページ・ナンバを受けとり、
それを用いて1組のエレメントを選択し、その後、それ
は仮想アドレスに照合するため関連的に探索される。一
致している場合、対応する物理アドレスは比較器に送ら
れ、キャッシュにデータがあるかどうかを決定する。
【0005】TLBが、翻訳に必要とされる仮想−物理
アドレス対を含んでいない場合、アドレス翻訳プログラ
ムが要求される。翻訳プログラムは、そのプロセスに関
するセグメントおよびページ・テーブルへのエントリ
して、仮想アドレスの高次ビットを使用し、その後アド
レス対をTLBに戻し、現在のTLBエントリに取って
代わる。上記テーブルはキャッシュまたは主メモリのい
ずれかにある。
【0006】TLBエントリは多くのフィールドを含ん
でいる。翻訳のため提供された仮想アドレスは、TLB
の仮想アドレス・タグ・フィールドと照合され、適切な
エントリが見つかったことを確かめる。仮想アドレス・
タグ・フィールドは、アドレス空間識別子(ASID)
を含んでいるので、1つ以上のプロセスに関するエント
が同時にTLBに存在することができる。IBM37
0のようなマシンでは、保護フィールドが設けられ、ア
クセスが許可されることを保証するようチェックされ
る。
【0007】また、TLBには、TLBにおける所定の
エントリがバリドであるかどうかを示すビットがある。
このビットはバリド・ビットと呼ばれている。各エント
がTLBに入ると、エントリの対応するバリド・ビッ
トがセットされる。TLB比較機能において、バリド・
ビットの状態がリセットされると、そのエントリに関し
て比較は行なわれない。バリド・ビットがセットされる
と、比較機能を進めることができる。いくつかのTLB
設計では、比較されるべき仮想アドレス・タグにおける
仮想アドレスの長さを示すよう割当てられたビットがあ
るので、それぞれの長さは異なった機能を表すことがで
きる。
【0008】
【発明が解決しようとする課題】いくつかのTLBは内
容アドレス記憶装置(CAM)であるので、それらの大
きさは、一般に、それらのランダム・アクセス・メモリ
(RAM)の4倍である。これは、“保持”機能の代り
に“比較”機能を動作するトランジスタにおけるビルト
イン連想数理論理学によるものである。したがって、そ
の性能に何のインパクトも与えることなく、TLB C
AMの空間を節約することが強く望まれている。本発明
の目的は、その性能を損なうことなく、TLB CAM
の空間を節約する方法および装置を提供することであ
る。
【0009】
【課題を解決するための手段】本発明は、キャッシュ・
メモリ装置、特に変換索引バッファ(TLB)のために
バッファにおける空間を節約する方法および装置を提供
する。本発明の方法および装置では、メモリ空間は、レ
ベル・ビットの1つにバリド・ビットを入れることによ
りTLBに保存される。ここに開示された発明は、非常
に有効であり、またCAMビットの大きさは、CAM回
路の連想数理論理構造によりランダム・アクセス・メモ
リ(RAM)ビットの約4倍であるので、メモリ保存は
一層重要となる。
【0010】
【実施例】以下、添付の図面に基いて、本発明の実施例
に関し説明する。キャッシュ・メモリのTLBにおける
空間を節約する方法および装置について開示する。以下
の説明で、本発明の理解を助けるため様々な詳細な記載
が示されているが、本発明はこれら記載に限定されない
ことは当業者には明白であろう。また、周知の回路や構
造については、本発明を不明瞭にしないよう詳細な記載
は省略する。
【0011】図1は、プロセッサにおけるメモリ管理装
置(MMU)1のブロック図である。MMUは、命令キ
ャッシュ2、データ・キャッシュ3、整数装置4および
他の制御論理装置(図示せず)に接続している。プロセ
ッサ構造に関する他の情報については、ヘネシー,ジェ
イ.エル.,パターソン,ディ.エイ.によるコンピュ
ータ・アーキテクチャ;量的アプローチ(モーガン カ
フマン,サン マテオ,CA,1990)を参照されたい。
【0012】MMU1は、4つの主な機能を有してい
る。第1の機能は、実行している各プロセスの仮想メモ
リをメモリの物理アドレスに翻訳することである。本実
施例では、MMUは、図2に示すように変換索引バッフ
ァ(TLB)5を用いることにより32−ビットの仮想
アドレス12,13を31−ビットの物理アドレスに翻
訳する。物理アドレスの3つの高次ビットは、8つの異
なるアドレス空間へのメモリ・マッピングを支援するよ
う保持される。MMUは64個の文脈の利用を支援す
る。第2の機能は、プロセスが他のプロセスのアドレス
空間に書込んだりまたここから読出したりできないよう
に、MMUがメモリを保護することである。ページ保護
と利用情報は十分に支援される。第3の機能は、MMU
が仮想メモリを実現することである。ページ・テーブル
は、主メモリ18に保持されている。TLB5にミスが
生じると、テーブル・ウォーク(table walk)はハード
ウェアで操作され、新しい仮想−物理アドレス変換が翻
訳プログラム6によりTLB5にロードされる。最後
に、MMUは、I/O、データ・キャッシュ3、命令キ
ャッシュ2間でのアービタレーション機能を行ない、T
LBはメモリ18を参照する。
【0013】以下の説明では、仮想アドレスと物理アド
レスを示すのに語句VAおよびPAを用いている。TL
B5は、ページ・ディスクリプタの32エントリ完全連
想キャッシュである。これは、仮想対物理アドレス変換
および関連ページ保護と利用情報をキャッシュする。擬
似乱数置換アルゴリズムは、必要な場合、32エントリ
のいずれを置換すべきかを決定する。
【0014】擬似乱数置換方式は、代表的には次のよう
に動作する。TLB置換制御レジスタ(TRCR)7に
は5ビット・モジュロ32カウンタがある。TRCR7
は、TLB5のエントリの1つをアドレスするため、中
央処理装置(CPU)の各クロック・サイクルにおい
て、1つずつインクリメントされる。TLBのミスが起
きた場合、カウンタの値を用いて、置換されるべきTL
エントリをアドレスする。リセットと同時に、カウン
タはゼロに初期化される。更に、TRCR7には、計数
機能をディスエーブルするのに使用される1ビットがあ
る。
【0015】図3は、TLBの1つのエントリにおける
フィールドを示している。フィールドは仮想アドレス・
タグ8、文脈タグ9、ページ・テーブルエントリ(PT
E)レベル・フィールド10、ページ・テーブル・フィ
ールド11を含んでいる。図3に示すように、20−ビ
ットの仮想アドレス・タグ8は、ページ・テーブルエン
トリ(PTE)とI/Oページ・テーブルエントリ(I
/OPTE)(後述する)を参照する際に使用される仮
想アドレス(VA[31:12])の最上位20ビット
を表わしている。TLBエントリには、キャッシュ・メ
モリ19の1ページにおけるバイトを選択する仮想アド
レスVA[11:0]は含まれていない。VAタグ・フ
ィールドのアドレスは、20ビットPA[27:08]
でページ・テーブル・ポインタ(PTP)を参照する場
合には物理アドレスである。
【0016】3−ビットのレベル・フィールド10は、
領域およびセグメントPTEの適切な仮想タグ照合をエ
ネーブルするのに使用される。I/OPTEおよびPT
Pは、以下の表に示すように索引1,2,3を使用する
ため、このフィールド集合を有している。最上位ビット
15も、TLBバリド・ビットとして作用する。なぜな
らば、それはいずれかのバリドPTE、I/OPTEま
たはPTPに関してエネーブルされるからである。次の
表は、レベル・フィールドを定義する。 レベル・フィールド 仮想タグ照合基準 000 無 100 索引1(VA[31:24]) 110 索引1,2(VA[31:18]) 111 索引1,2,3(VA[31:12])
【0017】図3において、スーパーバイザ(S)ビッ
ト16は、ページがスーパーバイザ・レベルであること
を示している文脈フィールドの照合をディスエーブルす
るのに使用される。ページ・テーブル・ポインタ(PT
P)ビット17は、PTPがTLBのこのエントリにあ
ることを示している。
【0018】ページ・テーブル・フィールドは、a)ペー
ジ・テーブルエントリ(PTE)、b)ページ・テーブル
・ポインタ(PTP)、またはc)I/Oページ・テーブ
エントリ(I/OPTE)のいずれかである。PTE
は、ページの物理アドレスおよびそのアクセス許可の両
方を定義する。PTPは、ページ・テーブルの物理アド
レスを含み、かつ文脈テーブル、レベル1ページ・テー
ブル、またはレベル2ページ・テーブルにおいて見い出
される。ページ・テーブル・ポインタは、テーブル・ウ
ォーク中にTLBに配置され、ナチュラル置換によって
(テーブル・ウォーク中に)、または全TLBをフラッ
シュすることにより、TLBから取り除かれる。I/O
PTEは、ページの物理アドレスおよびそのアクセス許
可の両方を定義する。
【0019】図2において、6−ビットの文脈タグ9
は、PTEを参照する場合、メモリ管理ソフトウェアに
より文脈レジスタ(CXR)14の値から書込まれる。
文脈タグ9と仮想アドレス・タグ8は、TLBヒットを
得るためCXR14と仮想アドレスVA[31:12]
を照合しなければならない。文脈フィールドは、PTP
を参照する場合、物理アドレスPA[07:02]を含
んでいる。このフィールドは、I/OPTEを参照する
場合には使用されない。MMU1により翻訳されるべき
仮想アドレス12は、TLB5の各エントリと比較され
る。TLBの検索中、レベル・フィールド10の値は、
上記照合基準の表にしたがってTLB仮想タグを照合す
るのに、どの索引フィールドが必要とされるかを指定す
る。レベル・ビットは、仮想ページの大きさを示すだけ
でなく、仮想タグのどの部分が、比較に関係しているか
を示す。
【0020】本発明の原理によれば、レベル・ビット1
0の1つは、TLBのエントリがバリドであるかどうか
を示すバリド・ビットとして機能する。本実施例では、
最上位ビットL1 15は、各バリド・エントリに関し
てエネーブルされる。L1ビットの状態がエネーブルさ
れない場合、そのエントリはバリドではないので比較は
行なわれない。それがエネーブルされる場合、照合され
るべき長さは、仮想タグ照合基準により決定されなけれ
ばならない。エネーブルされたL1ビットに関し、索引
1が呼び出され、VA[31:24]が比較される。エ
ネーブルされたL1,L2ビットに関し、VA[31:
18]が比較される。エネーブルされたL1,L2,L
3ビットに関し、VA[31:12]が比較される。し
たがって、TLBのバリドエントリに関し、L1ビット
がエネーブルされる。残りのレベル・ビットは、仮想タ
グ照合基準にしたがってエネーブルされる。VA[3
1:24]の仮想タグに関してはどれもエネーブルされ
ず、レベル・フィールドは“100”にセットされる。
L2ビットは、VA[31:18]の仮想タグに関して
エネーブルされ、レベル・フィールドは“110”にセ
ットされる。最後に、L2,L3ビットは、VA[3
1:12]の仮想タグに関してエネーブルされ、レベル
・フィールドは“111”にセットされる。プロセッサ
から仮想アドレスが到着すると、L1ビットは、まずバ
リディティに関してチェックされる。L1ビットがセッ
トされると、残りのレベル・ビットの状態にしたがっ
て、比較されるべきタグの長さが決定される。
【0021】
【発明の効果】本発明を適用すると、バリド・ビットを
L1レベル・ビットに入れることにより、CAM TL
Bにおけるバリド・ビットの必要はなくなり、しかもT
LBの性能を損なうことはない。
【図面の簡単な説明】
【図1】 プロセッサのメモリ管理装置のブロック図を
示している。
【図2】 本発明のTLBおよびキャッシュ・メモリの
ブロック図を示している。
【図3】 本発明のTLBにおけるエントリのフィール
ドを示している。
【符号の説明】
1 メモリ管理装置(MMU) 2 命令キャッシュ 3 データ・キャッシュ 4 整数装置 5 変換索引バッファ(TLB) 6 翻訳装置 7 TLB置換制御レジスタ(TRCR) 8 仮想アドレス・タグ(CAM) 9 文脈タグ(CAM) 10 ページ・テーブル・エントリ(PTE)レベル・
フィールド 11 ページ・テーブル・フィールド 12 仮想アドレス 13 〃 14 文脈レジスタ(CXR) 15 最上位ビット 16 スーパーバイザ(S)・ビット 17 ページ・テーブル・ポインタ(PTP) 18 主メモリ
───────────────────────────────────────────────────── フロントページの続き (73)特許権者 591064003 901 SAN ANTONIO ROA D PALO ALTO,CA 94303, U.S.A. (72)発明者 ロバート・ディ・ベッカー アメリカ合衆国 01464 マサチューセ ッツ州・シャーリー・グロトン ロー ド・31 (56)参考文献 特開 平1−312650(JP,A) 特開 平2−77953(JP,A) 特開 平1−297742(JP,A) 特開 昭61−269753(JP,A) 特開 昭55−34337(JP,A) 特公 昭49−37289(JP,B2) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/10

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 ランダム・アクセス・メモリと、ランダ
    ム・アクセス・メモリから頻繁に参照されるデータを含
    んでいる高速キャッシュ・メモリとから成り、データを
    検索するためキャッシュ・メモリをまず参照しかつデー
    タがキャッシュ・メモリにない場合だけランダム・アク
    セス・メモリを参照するコンピュータ・システムのもの
    であって、仮想アドレスを識別する仮想アドレス・タグ
    ・フィールドとこの仮想アドレス・タグ・フィールドの
    複数の部分にそれぞれ対応した複数のビットを有するレ
    ベル・ビット・フィールドとを有する、キャッシュ・メ
    モリのためバッファのアドレスエントリの空間を節約
    する方法において、 キャッシュに記憶されたデータに上記バッファのアドレ
    エントリを供給する過程と、供給されたアドレスエントリの仮想アドレス・タグ・フ
    ィールドについて 所定の仮想タグ照合基準にしたがって
    照合すべき部分を設定するため、上記レベル・ビット・
    フィールドの各ビットにレベル・ビットを設定する過程
    と、 から成り第1レベル・ビットが設定されていないときに
    は当該アドレスエントリが有効でないことを示すものと
    したキャッシュ・メモリにデータを記憶する過程と; プロセッサから仮想アドレスを受け取る過程と、 バッファのアドレスエントリにおける上記第1レベル・
    ビットの状態を読出す過程と、 第1レベル・ビットが設定されていない場合、上記バッ
    ファの次のアドレスエントリを読出す過程と、 第1レベル・ビットが設定されている場合、上記所定の
    仮想タグ照合基準にしたがって全てのレベル・ビットの
    状態により決定された照合すべき部分について上記プロ
    セッサからの仮想アドレスを上記アドレスエントリと比
    較する過程と、 から成るキャッシュ・メモリのデータをアクセスする過
    程と; から成り、仮想アドレスがバッファのアドレスエントリ
    に一致する場合、対応する物理アドレスが出力されて、
    データがキャッシュから検索されることを特徴とするバ
    ッファのアドレスエントリの空間を節約する方法。
  2. 【請求項2】 ランダム・アクセス・メモリと、ランダ
    ム・アクセス・メモリから頻繁に参照されるデータを含
    んでいる高速キャッシュ・メモリとから成り、データを
    検索するためキャッシュ・メモリをまず参照しかつデー
    タがキャッシュ・メモリにない場合だけランダム・アク
    セス・メモリを参照するコンピュータ・システムのもの
    であって、仮想アドレスを識別する仮想アドレス・タグ
    ・フィールドとこの仮想アドレス・タグ・フィールドの
    複数の部分にそれぞれ対応した複数のビットを有するレ
    ベル・ビット・フィールドとを有する、キャッシュ・メ
    モリのためバッファのアドレスエントリの空間を節約
    する装置において、 キャッシュに記憶されたデータに上記バッファのアドレ
    エントリを供給する手段と、供給されたアドレスエントリの仮想アドレス・タグ・フ
    ィールドについて 所定の仮想タグ照合基準にしたがって
    照合すべき部分を設定するため、上記レベル・ビット・
    フィールドの各ビットにレベル・ビットを設定する手段
    と、 から成り第1レベル・ビットが設定されていないときに
    は当該アドレスエントリが有効でないことを示すものと
    したキャッシュ・メモリにデータを記憶する装置と; プロセッサから仮想アドレスを受け取る手段と、 バッファのアドレスエントリにおける上記第1レベル・
    ビットの状態を読出す手段と、 第1レベル・ビットが設定されていない場合、上記バッ
    ファの次のアドレスエントリを読出す手段と、 第1レベル・ビットが設定されている場合、上記所定の
    仮想タグ照合基準にしたがって全てのレベル・ビットの
    状態により決定された照合すべき部分について上記プロ
    セッサからの仮想アドレスを上記アドレスエントリと比
    較する手段と、 から成るキャッシュ・メモリのデータをアクセスする装
    置と; から成り、仮想アドレスがバッファのアドレスエントリ
    に一致する場合、対応する物理アドレスが出力されて、
    データがキャッシュから検索されることを特徴とするバ
    ッファのアドレスエントリの空間を節約する装置。
JP30566991A 1990-12-18 1991-10-25 メモリ空間を節約する方法および装置 Expired - Fee Related JP3278748B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/629,258 US5222222A (en) 1990-12-18 1990-12-18 Apparatus and method for a space saving translation lookaside buffer for content addressable memory
US629,258 1990-12-18

Publications (2)

Publication Number Publication Date
JPH04352256A JPH04352256A (ja) 1992-12-07
JP3278748B2 true JP3278748B2 (ja) 2002-04-30

Family

ID=24522242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30566991A Expired - Fee Related JP3278748B2 (ja) 1990-12-18 1991-10-25 メモリ空間を節約する方法および装置

Country Status (6)

Country Link
US (1) US5222222A (ja)
EP (1) EP0491498B1 (ja)
JP (1) JP3278748B2 (ja)
KR (1) KR960001944B1 (ja)
CA (1) CA2057403C (ja)
DE (1) DE69132005T2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251102B (en) * 1990-12-21 1995-03-15 Sun Microsystems Inc Translation lookaside buffer
US5420993A (en) * 1991-06-13 1995-05-30 Unisys Corporation Extended address translation system for pointer updating in paged memory systems
KR940005781B1 (ko) * 1992-02-25 1994-06-23 현대전자산업 주식회사 메모리 매너지먼트 유니트(mmu)
US5440707A (en) * 1992-04-29 1995-08-08 Sun Microsystems, Inc. Instruction and data cache with a shared TLB for split accesses and snooping in the same clock cycle
US5450558A (en) * 1992-05-27 1995-09-12 Hewlett-Packard Company System for translating virtual address to real address by duplicating mask information in real page number corresponds to block entry of virtual page number
DE69315630T2 (de) * 1992-07-23 1998-07-16 Rockwell International Corp Datenzugriff in einem RISC-Digitalsignalprozessor
US5450562A (en) * 1992-10-19 1995-09-12 Hewlett-Packard Company Cache-based data compression/decompression
US5568415A (en) * 1993-02-19 1996-10-22 Digital Equipment Corporation Content addressable memory having a pair of memory cells storing don't care states for address translation
US6000008A (en) * 1993-03-11 1999-12-07 Cabletron Systems, Inc. Method and apparatus for matching data items of variable length in a content addressable memory
US5483644A (en) * 1993-04-15 1996-01-09 Vlsi Technology, Inc. Method for increasing cacheable address space in a second level cache
US6260130B1 (en) * 1994-05-11 2001-07-10 International Business Machine Corp. International Property Law Cache or TLB using a working and auxiliary memory with valid/invalid data field, status field, settable restricted access and a data entry counter
JP3740195B2 (ja) * 1994-09-09 2006-02-01 株式会社ルネサステクノロジ データ処理装置
US5963984A (en) * 1994-11-08 1999-10-05 National Semiconductor Corporation Address translation unit employing programmable page size
US5584013A (en) * 1994-12-09 1996-12-10 International Business Machines Corporation Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache
US5682495A (en) * 1994-12-09 1997-10-28 International Business Machines Corporation Fully associative address translation buffer having separate segment and page invalidation
US5715420A (en) * 1995-02-10 1998-02-03 International Business Machines Corporation Method and system for efficient memory management in a data processing system utilizing a dual mode translation lookaside buffer
US5680566A (en) * 1995-03-03 1997-10-21 Hal Computer Systems, Inc. Lookaside buffer for inputting multiple address translations in a computer system
US6282625B1 (en) 1997-06-25 2001-08-28 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6249853B1 (en) 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6069638A (en) * 1997-06-25 2000-05-30 Micron Electronics, Inc. System for accelerated graphics port address remapping interface to main memory
US6078987A (en) * 1997-09-30 2000-06-20 Sun Microsystems, Inc. Translation look aside buffer having separate RAM arrays which are accessable with separate enable signals
US5936873A (en) * 1997-09-30 1999-08-10 Sun Microsystems, Inc. Single ended match sense amplifier
US6157398A (en) * 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US6252612B1 (en) 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
US6272576B1 (en) 1998-01-20 2001-08-07 Micron Technology, Inc. Method for extending the available number of configuration registers
US6243775B1 (en) 1998-01-20 2001-06-05 Micron Technology, Inc. System for extending the available number of configuration registers
US6108733A (en) * 1998-01-20 2000-08-22 Micron Technology, Inc. Method for extending the available number of configuration registers
KR100590751B1 (ko) * 1999-02-23 2006-06-15 삼성전자주식회사 데이터라인크기변경시엔트리갯수가동일한캐시메모리시스템
US6327646B1 (en) * 1999-03-12 2001-12-04 Intel Corporation Translation look-aside buffer utilizing high-order bits for fast access
US6392910B1 (en) 1999-09-10 2002-05-21 Sibercore Technologies, Inc. Priority encoder with multiple match function for content addressable memories and methods for implementing the same
US6553453B1 (en) 1999-09-10 2003-04-22 Sibercore Technologies, Inc. Variable width content addressable memory device for searching variable width data
US6362990B1 (en) 1999-09-10 2002-03-26 Sibercore Technologies Three port content addressable memory device and methods for implementing the same
KR100587148B1 (ko) * 2000-12-30 2006-06-07 매그나칩 반도체 유한회사 캠 셀 구조
US6901476B2 (en) * 2002-05-06 2005-05-31 Hywire Ltd. Variable key type search engine and method therefor
US20050182912A1 (en) * 2004-02-12 2005-08-18 International Business Machines Corporation Method of effective to real address translation for a multi-threaded microprocessor
US20050182903A1 (en) * 2004-02-12 2005-08-18 Mips Technologies, Inc. Apparatus and method for preventing duplicate matching entries in a translation lookaside buffer
US7167970B2 (en) * 2004-05-24 2007-01-23 Sun Microsystems, Inc. Translating loads for accelerating virtualized partition
KR100703164B1 (ko) * 2005-07-12 2007-04-06 삼성전자주식회사 데이터 처리장치 및 그 제어방법
US8468297B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Content addressable memory system
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
US9092359B2 (en) 2012-06-14 2015-07-28 International Business Machines Corporation Identification and consolidation of page table entries
US11216385B2 (en) 2019-05-15 2022-01-04 Samsung Electronics Co., Ltd. Application processor, system-on chip and method of operating memory management unit

Family Cites Families (8)

* 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
US4285040A (en) * 1977-11-04 1981-08-18 Sperry Corporation Dual mode virtual-to-real address translation mechanism
US4680700A (en) * 1983-12-07 1987-07-14 International Business Machines Corporation Virtual memory address translation mechanism with combined hash address table and inverted page table
JPH0685156B2 (ja) * 1985-05-24 1994-10-26 株式会社日立製作所 アドレス変換装置
JPS62237547A (ja) * 1986-04-09 1987-10-17 Hitachi Ltd アドレス変換方式
US4914577A (en) * 1987-07-16 1990-04-03 Icon International, Inc. Dynamic memory management system and method
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

Also Published As

Publication number Publication date
KR920013131A (ko) 1992-07-28
DE69132005T2 (de) 2000-10-19
DE69132005D1 (de) 2000-04-06
EP0491498A2 (en) 1992-06-24
CA2057403C (en) 2001-02-27
US5222222A (en) 1993-06-22
JPH04352256A (ja) 1992-12-07
EP0491498A3 (en) 1993-01-13
EP0491498B1 (en) 2000-03-01
CA2057403A1 (en) 1992-06-19
KR960001944B1 (ko) 1996-02-08

Similar Documents

Publication Publication Date Title
JP3278748B2 (ja) メモリ空間を節約する方法および装置
US6145064A (en) Method of efficiently updating hashed page tables
US5493660A (en) Software assisted hardware TLB miss handler
EP1941375B1 (en) Caching memory attribute indicators with cached memory data
US6230248B1 (en) Method and apparatus for pre-validating regions in a virtual addressing scheme
US6014732A (en) Cache memory with reduced access time
US6304944B1 (en) Mechanism for storing system level attributes in a translation lookaside buffer
US5526504A (en) Variable page size translation lookaside buffer
US5475827A (en) Dynamic look-aside table for multiple size pages
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
JP4065660B2 (ja) 機能が並列に分散された変換索引バッファ
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
JPH0628262A (ja) ルックアサイドバッファおよび仮想から物理的へアドレスを高速に翻訳する方法
KR20050088077A (ko) 컴퓨터 시스템 내의 메모리 관리 향상 방법, 메모리 관리메커니즘 및 컴퓨터 프로그램 제품
US20160140042A1 (en) Instruction cache translation management
JPH0619793A (ja) キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル
US8015361B2 (en) Memory-centric page table walker
US6851038B1 (en) Background fetching of translation lookaside buffer (TLB) entries
US20090158003A1 (en) Structure for a memory-centric page table walker
JP3210637B2 (ja) データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
US6327646B1 (en) Translation look-aside buffer utilizing high-order bits for fast access
AU708232B2 (en) A method of efficiently updating hashed page tables
US20040059887A1 (en) Cache memory
GB2395588A (en) Apparatus supporting multiple page sizes with address aliasing

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees