JP2000122927A - 仮想領域番号によってアクセスするコンピュ―タ・システム - Google Patents

仮想領域番号によってアクセスするコンピュ―タ・システム

Info

Publication number
JP2000122927A
JP2000122927A JP11278875A JP27887599A JP2000122927A JP 2000122927 A JP2000122927 A JP 2000122927A JP 11278875 A JP11278875 A JP 11278875A JP 27887599 A JP27887599 A JP 27887599A JP 2000122927 A JP2000122927 A JP 2000122927A
Authority
JP
Japan
Prior art keywords
virtual
region
field
area
tlb
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11278875A
Other languages
English (en)
Inventor
G Berger Steven
スティーブン・ジー・バーガー
O Hayes James
ジェームズ・オー・ヘイズ
K Ross Jonathan
ジョナサン・ケー・ロス
R Brigg William
ウィリアム・アール・ブリグ
Rajiv Gupta
ラジブ・グプタ
N Hammon Gary
ゲリー・エヌ・ハモン
Yamada Koichi
コーイチ・ヤマダ
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2000122927A publication Critical patent/JP2000122927A/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]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation

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)【要約】 【課題】 仮想アドレス方式において、領域レジスタの
ルックアップ・ステップをなくし、パフォーマンスを向
上させる。 【解決手段】本発明による変換参照バッファ(TLB)
は、有効フィールド、領域予備有効化フィールド、仮想
領域番号フィールド、仮想ページ番号フィールド、領域
識別子フィールド、物理ページ番号フィールドを有する
エントリを含む。領域は、変換参照バッファ・エントリ
に仮想領域識別子ビットと領域識別子の両方を記憶し、
領域予備有効化フィールドをセット状態にすることによ
り予め有効化される。これにより、ほとんどのTLBア
クセスを実行するときに領域レジスタをバイパスするこ
とができる。したがって、領域レジスタは、TLBルッ
クアップ・プロセスの重要なパスから外され、システム
のパフォーマンスが向上する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・シ
ステムにおけるメモリ編成に関する。より具体的には、
本発明は、領域を支援する仮想メモリ・システムと、仮
想アドレスを物理アドレスに変換する方法とに関する。
【0002】
【従来の技術】従来技術の多くのコンピュータ・システ
ムは、実際に存在する物理メモリよりも多くの論理メモ
リをシミュレートし、コンピュータがいくつかのプログ
ラムをそのサイズに関係なく並列に実行できるようにす
る仮想メモリと呼ばれる技術を使用している。並列のユ
ーザ・プログラムは、オペレーティング・システムによ
って割り当てられた仮想アドレスによりメイン・メモリ
の物理アドレスにアクセスする。メイン・メモリの物理
アドレスへの仮想アドレスのマッピングは、仮想アドレ
ス変換として知られるプロセスである。仮想アドレス変
換は、いくつかの技法により達成することができ、それ
によりプロセッサがメイン・メモリ内の所望の情報にア
クセスすることができる。
【0003】仮想アドレス空間と物理アドレス空間は、
一般にページと呼ばれるメモリの等しいサイズのブロッ
クに分割され、ページ・テーブルが、仮想アドレスと物
理アドレスの間の変換を実現する。それぞれのページ・
テーブルのエントリは、一般に、仮想アドレスおよび/
または物理アドレス、ならびにページに関する保護情報
と状況情報を含む。状況情報は、一般にページが受けた
アクセスのタイプに関する情報を含む。たとえば、ダー
ティ・ビット(dirty bit)は、ページ内のデータに修正
があったことを示す。通常、ページ・テーブルは、大き
いためメモリに記憶される。したがって、通常のメモリ
・アクセスはそれぞれ、変換を達成するためのアクセス
と、物理メモリ・ロケーションにアクセスする別のアク
セスの少なくとも2つのアクセスを必要とすることがあ
る。
【0004】仮想アドレス変換を支援する多くのコンピ
ュータ・システムは、変換参照バッファ(TLB, Tran
slation Lookaside Buffer)を使用する。TLBは、通
常、処理装置上またはそのすぐ近くに配置され、最近使
用された仮想アドレスと物理アドレスの対を記憶する小
型の高速連想メモリである。TLBは、ページ・テーブ
ルに変換のサブセットを含み、きわめて迅速にアクセス
される。処理装置がメイン・メモリからの情報を必要と
するとき、処理装置は、仮想アドレスをTLBに送る。
TLBは、仮想アドレスのページ番号を受け取り、物理
ページ番号を返す。物理ページ番号は、下位アドレス情
報と組み合わされ、メイン・メモリ内の所望のバイトま
たはワードがアクセスされる。
【0005】たいていの場合、TLBは、ページ・テー
ブル全体を含むことができない。したがって、仮想ペー
ジにアクセスし、その変換がTLB内にないとき、ペー
ジ・テーブルがアクセスされて物理ページ番号への仮想
ページ番号の変換が決定され、その情報がTLBに入れ
られる。ページ・テーブルのアクセスは、TLBのアク
セスの20倍時間がかかり、したがって、変換をTLB
内で利用するように維持することによりプログラム実行
速度が最適化される。
【0006】
【発明が解決しようとする課題】コンピュータによって
は、領域を支援することによって仮想アドレス指定の概
念を拡張するものもある。領域は、仮想アドレス空間を
等しいサイズの領域に分割することによって、仮想アド
レス空間内に独立した局所アドレス空間、共用アドレス
空間および大域アドレス空間を有効に作成する能力を提
供する。一般に、任意の時間に領域のサブセットだけが
アクティブになることができる。それぞれの領域は領域
識別子と関連付けられ、この識別子は、所与の領域のア
ドレス変換に特異なタグ付けをする。ある領域の領域識
別子が特定のプロセスに割り当てられる場合、この領域
空間は、そのプロセスに対して局所的になる。ある領域
の領域識別子がプロセス間で共用される場合、この領域
空間は、共用される。領域の領域識別子がすべてのプロ
セスに共用される場合、この領域は大域的になる。局所
領域の領域識別子を変えると、あるプロセスの局所空間
から、仮想アドレスが別のプロセスの局所空間に効果的
に交換される。したがって、領域は、プロセスを切り替
えるときにTLBをフラッシュする必要性を事実上なく
し、それによりシステム全体のパフォーマンスが向上す
る。
【0007】領域は、一般に、TLBにおいて仮想領域
番号ビット(仮想アドレスの一部分)を領域識別子にマ
ッピングする領域レジスタによって支援される。領域レ
ジスタは、TLB内に仮想アドレスの変換があるかどう
かを決定する前に追加のルックアップ・ステップを実行
しなければならない。この追加のルックアップ・ステッ
プは、仮想アドレスから物理アドレスへの変換プロセス
における重要なパスになることがある。したがって、こ
の追加のルックアップ・ステップをなくすことができれ
ばパフォーマンスが向上する。
【0008】
【課題を解決するための手段】本発明は、仮想アドレス
指定方式において領域を予め有効化する方法および装置
である。本発明によれば、領域は、変換参照バッファ
(TLB)エントリに仮想領域識別子ビットと領域識別
子の両方を記憶することにより予め有効化される。TL
Bエントリに仮想領域識別子ビットと領域識別子の両方
を記憶することによって、ほとんどのTLBアクセスを
実行するときに領域レジスタをバイパスすることができ
る。したがって、領域レジスタは、TLBルックアップ
・プロセスの重要なパスから外され、システムのパフォ
ーマンスが向上する。
【0009】本発明によるTLBは、有効フィールド、
領域予備有効化(rpV, a regionpre-validation)フ
ィールド、仮想領域番号(VRN)フィールド、仮想ペ
ージ番号(VPN)フィールド、領域識別子(RID)
フィールド、保護/アクセス属性フィールド、物理ペー
ジ番号(PPN)フィールドを有するエントリを含む。
さらに、一組の領域レジスタは、任意の時間にアクティ
ブな領域識別子を含む。しかしながら、領域レジスタ
は、TLBルックアップ・プロセスのパスにはない。
【0010】領域レジスタに記憶された領域識別子を有
する領域にページの仮想−物理エントリが確立される
と、領域識別子と仮想領域番号は、TLBエントリの適
切なフィールドに記憶される。さらに、有効フィールド
がセットされ領域予備有効化フィールドがセットされ
て、TLBエントリがアクティブな仮想領域番号から領
域識別子へのマッピングを含むことが示され、それによ
り領域が予め有効化される。
【0011】本発明によるCPUが物理アドレスを仮想
アドレスに変換するとき、仮想領域番号と仮想ページ番
号が仮想アドレスから取り出され、TLBに提供され
る。セットされた有効フィールドと、セットされた領域
予備有効化フィールドと、仮想アドレスから取り出され
た仮想領域番号と仮想ページ番号と一致するエントリを
含む仮想領域番号および仮想ページ番号フィールドとを
含むエントリを見つけるためにTLBが探索される。そ
のようなエントリが見つかった場合、保護/アクセス属
性フィールドを使用して、要求されたアクセスを許可す
べきかどうかを決定する。要求されたアクセスを許可す
る場合、TLBエントリの物理ページ番号フィールドか
らの物理ページ番号が仮想アドレスからのオフセットと
組み合わされ、メモリ・アクセスを完了するために使用
される物理アドレスが生成される。領域レジスタの内容
がTLBのエントリにおいて「予め有効化」されるの
で、領域レジスタを通るパスがなくなるため、仮想−物
理ルックアップ・プロセスの速度が早くなる。
【0012】
【発明の実施の形態】本発明は、仮想アドレス指定方式
において領域を予め有効化するための方法および装置で
ある。本質的に、領域は、変換参照バッファ(TLB)
エントリに仮想領域番号(VRN)ビットと領域識別子
(RID)の両方を記憶することにより有効化される。
TLBエントリに仮想領域番号と領域識別子の両方を記
憶することによって、ほとんどのTLBアクセスを実行
するときに領域レジスタをバイパスすることができる。
したがって、領域レジスタが、TLBルックアップ・プ
ロセスの重要なパスから外され、システム・パフォーマ
ンスが向上する。
【0013】本発明について詳細に考察する前に、まず
図1に示した仮想アドレス指定方式を検討する。仮想ア
ドレス11は、64ビット・アドレスである。上位3ビ
ットは、仮想領域番号(VRN)12を構成する。した
がって、任意の所与の時間に仮想アドレスによって8つ
の領域を指定することができる。仮想アドレス11の残
りの61ビットは、各領域内のメモリをアドレス指定す
るために使用され、それにより各領域に261バイトの
仮想メモリが提供される。各メモリ・ページ(ページ1
4など)は、24ビットの領域識別子(RID)と関連
付けられる。したがって、オペレーティング・システム
は、最大224までの独立仮想アドレス空間を割り当て
ることができる。
【0014】図2は、従来技術のCPUに使用されてい
る従来技術の仮想−物理変換方式15を示す。方式15
を使用する従来技術のCPUでは、CPUが仮想アドレ
スを物理アドレスに変換するとき、仮想領域番号12の
3ビットを使用して8つの領域レジスタ20のうちの1
つを選択する。選択された領域レジスタに含まれる領域
識別子が、TLB22に提供される。
【0015】仮想アドレス11の残りの61ビットは、
仮想ページ番号(VPN)16とオフセット18に分け
られる。オフセット18は、ページ内のバイトを表すだ
けである。したがって、ページ・サイズが4キロ・バイ
トの場合、オフセットは12ビットになり、仮想ページ
番号は41ビットになる。ページ・サイズが64キロバ
イトの場合、オフセットは16ビットになり、仮想ペー
ジ番号は45ビットになる。
【0016】TLB22の各エントリは、有効フィール
ド24、領域識別子フィールド26、保護/アクセス属
性フィールド30、および物理ページ番号(PPN)3
2を含む。有効フィールド24は、エントリが有効かど
うか、したがって使用中かどうかだけを示す。有効フィ
ールド24がクリアされてエントリが使用中でないこと
が示されると、そのエントリは、新しい変換を受け取る
ことができる。
【0017】領域識別子フィールド26は、仮想ページ
と関連した領域識別子を記憶する。仮想ページ番号フィ
ールド28は、仮想−物理変換と関連した仮想ページを
記憶する。保護/アクセス属性フィールド30は、「ダ
ーティ」ビット、キャッシュ・ポリシー、読取り、書込
みおよび実行特権が許可されているかどうかを含む保護
/アクセス情報、ならびに当技術分野において周知の類
似の保護/アクセス情報を含む。最終的に、TLB22
の各エントリは、仮想ページ番号フィールド28との組
み合わせにより仮想−物理変換を表す物理ページ番号
(PPN)フィールド32を含む。
【0018】前述のように、領域レジスタ20のうちの
選択されたレジスタからの領域識別子がTLB22に提
供される。さらに、仮想ページ番号16がTLB22に
提供される。次に、有効TLBエントリを示すようにセ
ットされた有効フィールド24を有するTLIB22の
エントリが探索される。探索したエントリのどれかが、
領域レジスタ20のうちの選択されたレジスタによって
提供される領域識別子と領域識別子フィールド26の内
容と間に一致を引き起こし、また仮想アドレス11から
の仮想ページ番号16と仮想ページ番号フィールド28
の内容との間に一致を引き起こす場合は、一致TLBエ
ントリが見つかった。一致エントリの保護/アクセス属
性30からの保護/アクセス情報が、決定ブロック38
に提供される。決定ブロック38は、要求されたアクセ
スを許可するかどうかを決定する。許可する場合、一致
エントリの物理ページ番号フィールド32からの物理ペ
ージ番号が、仮想アドレス11のオフセット18と組み
合わされ、物理アドレス・ブロック40に物理アドレス
を生成する。次に、ブロック40から提供された物理ア
ドレスを使用して、メモリ・アクセスが完了される。
【0019】従来技術の仮想−物理変換方式15におい
て、TLBエントリがTLB22からパージされると
き、パージされる仮想−物理変換と一致するエントリを
有するセットされた有効フィールド24、領域識別子フ
ィールド26および仮想ページ番号フィールド28を有
するエントリ見つけるためにTLB22が探索されるこ
とに注意されたい。そのようなエントリが見つかった場
合、そのエントリの有効フィールド24がクリアされ
る。また、仮想アドレス11から領域レジスタ20を通
りTLB22に至るパスは、仮想アドレス11からTL
B22に至るパスよりも長いことに注意されたい。多く
のCPUにおいて、領域レジスタを通るパスは、重要な
パスであり、システムのパフォーマンスを制限する。
【0020】図3は、本発明による仮想−物理変換方式
42を示す。仮想−物理変換方式42では、領域レジス
タを通る重要なパスがないため、TLB探索がより迅速
に行われる。
【0021】図3において、TLB46は、有効フィー
ルド48、領域予備有効化(rpV)フィールド50、
仮想領域番号フィールド52、仮想ページ番号フィール
ド54、領域識別子フィールド56、保護/アクセス属
性フィールド58、および物理ページ番号フィールド6
0を含む。領域レジスタ44は、任意の所与の時間に有
効な領域を含む。しかしながら、領域レジスタ44は、
TLBルックアップ・プロセスのパスにはない。図2の
TLB22の有効フィールド24と同様に、有効フィー
ルド48は、エントリが有効かどうか、したがってそれ
が使用中かどうかを示す。有効フィールド48がクリア
されエントリが使用中でないことを示す場合、そのエン
トリは、新しい変換を受け取ることができる。さらに、
仮想ページ番号フィールド54、保護/アクセス属性フ
ィールド58、および物理ページ番号フィールド60に
よって提供される機能は、それぞれ、図1のTLBの仮
想ページ番号フィールド28、保護/アクセス属性フィ
ールド30および物理ページ番号フィールド32により
提供される機能と類似している。
【0022】これと対照的に、領域予備有効化フィール
ド50、仮想領域番号フィールド52および領域識別子
フィールド56によって提供される機能は異なる。領域
レジスタ44のうちの1つに記憶された領域識別子を有
する領域内のページに仮想−物理エントリが確立される
とき、仮想領域番号12によって索引付けされた領域レ
ジスタに記憶された領域識別子RIDが、領域識別子フ
ィールド56に記憶され、仮想領域番号VRN12自体
は、仮想領域番号フィールド52に記憶される。さら
に、領域予備有効化rpVフィールド50がセットされ
た状態は、領域レジスタ44において現にアクティブで
あるVRN対RIDのマッピングを、そのTLBエント
リが含み、その領域が予め有効化されていることを示
す。さらに、有効フィールド48がセットされ、仮想ペ
ージ番号16が仮想ページ番号フィールド54に記憶さ
れ、保護/アクセス情報が保護/アクセス属性フィール
ド58に記憶され、物理ページ番号が物理ページ番号フ
ィールド60に記憶される。
【0023】本発明によるCPUが物理アドレスを仮想
アドレスに変換するとき、仮想領域番号12と仮想ペー
ジ番号16がTLB46に直接提供される。セットされ
た有効フィールド48、セットされた領域予備有効化フ
ィールド50、仮想領域番号12と一致する仮想領域番
号フィールド52内の仮想領域番号エントリ、仮想ペー
ジ番号16と一致する仮想ページ番号フィールド54内
の仮想ページ番号エントリを有するエントリを見つける
ためにTLB46が探索される。領域識別子RIDフィ
ールド56は探索されないことに注意されたい。そのよ
うなエントリが見つかった場合、エントリの保護/アク
セス属性58から保護/アクセス情報が決定ブロック3
8に提供される。決定ブロック38は、要求されたアク
セスを許可するかどうかを決定する。許可する場合、エ
ントリの物理ページ番号フィールド60からの物理ペー
ジ番号が仮想アドレス11のオフセット18と組み合わ
され、物理アドレス・ブロック40に物理アドレスが生
成される。次に、ブロック40により提供された物理ア
ドレスを利用してメモリ・アクセスを完了する。領域レ
ジスタの内容がTLB46のエントリにおいて「有効
化」されているため、領域レジスタを通るパスがないこ
とに注意されたい。
【0024】従来技術の仮想−物理変換方式15と同様
に、TLBエントリがTLB46からパージされると
き、セットされた有効フィールド48、パージする仮想
−物理変換と一致するエントリを有する領域識別子フィ
ールド56と仮想ページ番号フィールド54を有するエ
ントリを見つけるためにTLB46が探索される。その
ようなエントリが見つかった場合は、そのエントリの有
効フィールド46がクリアされる。
【0025】本発明により、変換ルックアップ・プロセ
ス中に領域レジスタを通るパスがなくなるが、領域レジ
スタに書き込むときにわずかにパフォーマンスが低下す
る。図2の従来技術の仮想−物理変換方式15と関連し
て、領域レジスタ20のうちの1つに異なる領域識別子
を挿入しなければならないとき、領域識別子は単純に適
切な領域レジスタに挿入される。ルッックアップ・パス
が領域レジスタ20を通るため、領域レジスタから取り
出された領域識別子と一致するTLB22内のエントリ
はなくなり、取り出される領域識別子はなくなる。取り
出された領域識別子が領域レジスタに後で復元される場
合は、単に再び挿入され、TLBエントリに再びアクセ
スされる。
【0026】これと対照的に、図3において、ルックア
ップ・パスは、領域レジスタ44を通らない。したがっ
て、領域レジスタ44のうちの1つに新しい領域識別子
を挿入したとき、TLB46を探索して、セットされた
有効フィールド48と、新しい領域識別子を受け取る領
域レジスタと一致する仮想領域番号フィールド52に含
まれる仮想領域番号とを有するすべてのエントリを見つ
けなければならない。次に、仮想領域番号と一致するT
LB46内のすべてのエントリの領域識別子フィールド
56が、新しい領域識別子と比較される。領域識別子が
一致する場合、領域予備有効化rpVフィールド50が
セットされ、領域が有効化される。領域識別子が一致し
ない場合、領域予備有効化フィールド50はクリアさ
れ、領域が無効にされる。本発明の仮想−物理変換方式
42において、アクティブ領域の変化は、従来技術の仮
想−物理変換方式15よりも多少遅いが、仮想−物理変
換が、領域レジスタの更新よりも高頻度に行われるた
め、ルックアップ・パスから領域レジスタを除去するこ
とにより全体的なパフォーマンスが大幅に改善される。
【0027】当技術分野において、内容アドレス可能メ
モリ(CAM、Content Addressable Memory)を使用し
て探索するフィールドを実現することは周知である。た
とえば、CAMを使用して、図2の領域識別子フィール
ド26、TLB22の仮想ページ番号フィールド28、
および仮想領域番号フィールド52を実施することがで
きる。一般に、頻繁に探索されるフィールドは、高速C
AMを使用して実施されるが、あまり頻繁に探索されな
いフィールドは、低速CAMを使用して実施される。高
速CAMは、遅いCAMよりも多くの回路を必要とし、
それにより集積回路にTLBを含むより多くのトランジ
スタを必要とする。本発明によって提供される1つの利
点は、高速CAMの数を減らすことができることであ
る。図2において、領域識別子フィールド26は、重要
な変換ルックアップ・パスの一部である。したがって、
高速CAMを使用して領域識別子フィールド26を実施
することが望ましい。これと対照的に、領域識別子フィ
ールド56は、重要な変換ルックアップ・パスの一部で
はないが、仮想領域番号フィールド52はそうである。
領域識別子が24ビットで、仮想領域番号が3ビットな
ので、本発明により、高速CAMに必要なビット数が1
エントリ当たり21ビット減少する。領域識別子フィー
ルド56は、TLBパージの間または領域レジスタ44
が更新されるときに、RJDフィールド56だけを探索
するため、低速CAMを使用して実現することができ
る。これらの両方の動作は、仮想−物理変換よりも頻繁
には行われない。
【0028】要するに、本発明は、仮想−物理変換中に
ルックアップ・パスから領域レジスタを外すことによっ
て仮想−物理変換のパフォーマンスを高める方法および
装置を提供する。領域はTLBエントリに仮想領域番号
を記憶するとにより有効化され、それにより仮想領域番
号および仮想ページ番号フィールドを並列に探索し、仮
想−物理ルックアップ・プロセスの速度を高めることが
できる。
【0029】本発明を好ましい実施形態に関して説明し
たが、当業者は、本発明の精神および範囲から逸脱せず
に形態および詳細に変更を行うことができることを理解
されたい。
【0030】
【発明の効果】この発明によると、仮想アドレス方式の
コンピュータ・システムのパフォーマンスを向上させる
ことができる。
【図面の簡単な説明】
【図1】任意の所与の時間に8つの領域がアクティブな
それぞれ261バイトを有する224の仮想領域を支援
する64ビット仮想アドレス指定方式の図である。
【図2】従来技術のCPUに使用されている従来技術の
仮想−物理変換方式を示す図である。
【図3】本発明による仮想−物理変換方式を示す図であ
る。
【符号の説明】
12 仮想領域番号フィールド 16 仮想ページ番号フィールド 32 物理ページ番号フィールド 44 領域レジスタ 50 領域予備有効化フィールド
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェームズ・オー・ヘイズ アメリカ合衆国95125カリフォルニア州サ ン・ノゼ、キャンベル・アベニュー 1722 (72)発明者 ジョナサン・ケー・ロス アメリカ合衆国94087カリフォルニア州サ ニーベイル、ローン・ウェイ 974 (72)発明者 ウィリアム・アール・ブリグ アメリカ合衆国95070カリフォルニア州サ ラトガ、ペラゴ・ウェイ 18630 (72)発明者 ラジブ・グプタ アメリカ合衆国94024カリフォルニア州ロ ス・アルトス、ランドルフ・パークウェイ 1616 (72)発明者 ゲリー・エヌ・ハモン アメリカ合衆国95008カリフォルニア州キ ャンベル、サニーブルック・ドライブ 519 (72)発明者 コーイチ・ヤマダ アメリカ合衆国95134カリフォルニア州サ ン・ノゼ、エラン・ヴィレッジ・レーン 371、ナンバー 116

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数の領域レジスタを有し、各領域レジス
    タに領域識別子を記憶し、固有の仮想領域番号によって
    アクセスするコンピュータ・システムにおいて、 変換参照バッファが複数の変換参照バッファ・エントリ
    を含み、 各エントリが、 物理的なページ番号を記憶するための物理的ページ番号
    フィールドと、 仮想ページ番号を記憶するための仮想ページ番号フィー
    ルドと、 仮想領域番号を記憶するための仮想領域番号フィールド
    と、 領域予備有効化フィールドと、を含み、領域予備有効化
    フィールドが第1の状態をとるとき、複数の領域レジス
    タにおけるアクティブ仮想領域番号対領域識別子のマッ
    ピングを、該領域予備有効化フィールドを含む変換参照
    バッファ・エントリと関連付けることによって、該領域
    予備有効化フィールドを含む変換参照バッファ・エント
    リを予め有効化し、領域予備有効化フィールドが第2の
    状態をとるときに、該領域予備有効化フィールドを含む
    変換参照バッファ・エントリを複数の領域レジスタに記
    憶された任意の領域識別子と関連付けないことにより、
    該領域予備有効化フィールドを含む変換参照バッファを
    無効にするコンピュータ・システム。
JP11278875A 1998-10-12 1999-09-30 仮想領域番号によってアクセスするコンピュ―タ・システム Pending JP2000122927A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US170140 1998-10-12
US09/170,140 US6230248B1 (en) 1998-10-12 1998-10-12 Method and apparatus for pre-validating regions in a virtual addressing scheme

Publications (1)

Publication Number Publication Date
JP2000122927A true JP2000122927A (ja) 2000-04-28

Family

ID=22618705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11278875A Pending JP2000122927A (ja) 1998-10-12 1999-09-30 仮想領域番号によってアクセスするコンピュ―タ・システム

Country Status (2)

Country Link
US (2) US6230248B1 (ja)
JP (1) JP2000122927A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155849A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited 演算処理装置、tlb制御方法、tlb制御プログラムおよび情報処理装置
JP2012068741A (ja) * 2010-09-21 2012-04-05 Fujitsu Ltd メモリアクセス制御プログラム、メモリアクセス制御方法、及び情報処理装置
JP2015084260A (ja) * 2004-07-30 2015-04-30 インテル コーポレイション プロセッサ及びシステム

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526459B1 (en) * 1999-11-10 2003-02-25 Ati International Srl Allocation of input/output bus address space to native input/output devices
GB2395588B (en) * 1999-12-17 2004-09-22 Hewlett Packard Co Apparatus and method for supporting multiple page sizes with address aliasing
US6633963B1 (en) 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US6560689B1 (en) * 2000-03-31 2003-05-06 Intel Corporation TLB using region ID prevalidation
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US6678825B1 (en) * 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US6754815B1 (en) 2000-03-31 2004-06-22 Intel Corporation Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US6795905B1 (en) 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
EP1182569B8 (en) * 2000-08-21 2011-07-06 Texas Instruments Incorporated TLB lock and unlock operation
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US6907600B2 (en) * 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6651156B1 (en) * 2001-03-30 2003-11-18 Mips Technologies, Inc. Mechanism for extending properties of virtual memory pages by a TLB
US6643759B2 (en) 2001-03-30 2003-11-04 Mips Technologies, Inc. Mechanism to extend computer memory protection schemes
US20020167537A1 (en) * 2001-05-11 2002-11-14 Miroslav Trajkovic Motion-based tracking with pan-tilt-zoom camera
US20030115476A1 (en) * 2001-10-31 2003-06-19 Mckee Bret Hardware-enforced control of access to memory within a computer using hardware-enforced semaphores and other similar, hardware-enforced serialization and sequencing mechanisms
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US6820177B2 (en) * 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7073042B2 (en) * 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US7318141B2 (en) 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US7900017B2 (en) 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US7415708B2 (en) 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US7739521B2 (en) 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7620949B2 (en) 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link
US7234038B1 (en) * 2004-05-28 2007-06-19 Sun Microsystems, Inc. Page mapping cookies
US7840962B2 (en) 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US8112597B2 (en) * 2006-12-08 2012-02-07 Microsoft Corporation Critical memory
US7949841B2 (en) * 2006-12-08 2011-05-24 Microsoft Corporation Protection of critical memory using replication
US7984483B2 (en) 2007-04-25 2011-07-19 Acxess, Inc. System and method for working in a virtualized computing environment through secure access
JP2009146344A (ja) * 2007-12-18 2009-07-02 Hitachi Ltd 計算機仮想化装置のtlb仮想化方法および計算機仮想化プログラム
US9619398B1 (en) 2009-08-20 2017-04-11 Juniper Networks, Inc. Methods and apparatus for improved access to shared memory
US8429378B2 (en) 2010-07-06 2013-04-23 Qualcomm Incorporated System and method to manage a translation lookaside buffer
US9824015B2 (en) * 2015-05-29 2017-11-21 Qualcomm Incorporated Providing memory management unit (MMU) partitioned translation caches, and related apparatuses, methods, and computer-readable media
WO2016204766A1 (en) * 2015-06-18 2016-12-22 Hewlett Packard Enterprise Development Lp Transmitting contents of an operation field to a media controller
GB2570665B (en) * 2018-01-31 2020-08-26 Advanced Risc Mach Ltd Address translation in a data processing apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768503B2 (ja) * 1989-07-25 1998-06-25 富士通株式会社 仮想記憶アドレス空間アクセス制御方式
US5835743A (en) * 1994-06-30 1998-11-10 Sun Microsystems, Inc. Application binary interface and method of interfacing binary application program to digital computer
US5940872A (en) * 1996-11-01 1999-08-17 Intel Corporation Software and hardware-managed translation lookaside buffer
US6065091A (en) * 1997-05-30 2000-05-16 Via-Cyrix, Inc. Translation look-aside buffer slice circuit and method of operation
US6044447A (en) * 1998-01-30 2000-03-28 International Business Machines Corporation Method and apparatus for communicating translation command information in a multithreaded environment

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015084260A (ja) * 2004-07-30 2015-04-30 インテル コーポレイション プロセッサ及びシステム
JP2016192241A (ja) * 2004-07-30 2016-11-10 インテル コーポレイション プロセッサ及びシステム
US9996475B2 (en) 2004-07-30 2018-06-12 Intel Corporation Maintaining processor resources during architectural events
JP2019050027A (ja) * 2004-07-30 2019-03-28 インテル コーポレイション プロセッサ
US10303620B2 (en) 2004-07-30 2019-05-28 Intel Corporation Maintaining processor resources during architectural events
US10740249B2 (en) 2004-07-30 2020-08-11 Intel Corporation Maintaining processor resources during architectural events
WO2008155849A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited 演算処理装置、tlb制御方法、tlb制御プログラムおよび情報処理装置
JPWO2008155849A1 (ja) * 2007-06-20 2010-08-26 富士通株式会社 演算処理装置、tlb制御方法、tlb制御プログラムおよび情報処理装置
JP2012068741A (ja) * 2010-09-21 2012-04-05 Fujitsu Ltd メモリアクセス制御プログラム、メモリアクセス制御方法、及び情報処理装置

Also Published As

Publication number Publication date
US6408373B2 (en) 2002-06-18
US20010021969A1 (en) 2001-09-13
US6230248B1 (en) 2001-05-08

Similar Documents

Publication Publication Date Title
JP2000122927A (ja) 仮想領域番号によってアクセスするコンピュ―タ・システム
US6189074B1 (en) Mechanism for storing system level attributes in a translation lookaside buffer
US5526504A (en) Variable page size translation lookaside buffer
EP1934753B1 (en) Tlb lock indicator
US7539843B2 (en) Virtual memory fragment aware cache
JP3278748B2 (ja) メモリ空間を節約する方法および装置
US9208103B2 (en) Translation bypass in multi-stage address translation
US6012132A (en) 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
US20170206171A1 (en) Collapsed Address Translation With Multiple Page Sizes
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
US10191853B2 (en) Apparatus and method for maintaining address translation data within an address translation cache
TWI381275B (zh) 位址轉譯方法及裝置
EP1471421A1 (en) Speculative load instruction control
US20130173882A1 (en) Instruction fetch translation lookaside buffer management to support host and guest o/s translations
KR102281928B1 (ko) 가변 변환 색인 버퍼(tlb) 인덱싱
EP0976048A1 (en) Page table walker which positions a sliding field in a virtual address using page size
JPH04320553A (ja) アドレス変換機構
US11803482B2 (en) Process dedicated in-memory translation lookaside buffers (TLBs) (mTLBs) for augmenting memory management unit (MMU) TLB for translating virtual addresses (VAs) to physical addresses (PAs) in a processor-based system
US8015361B2 (en) Memory-centric page table walker
US8347064B1 (en) Memory access techniques in an aperture mapped memory space
US7984263B2 (en) Structure for a memory-centric page table walker
US20040117590A1 (en) Aliasing support for a data processing system having no system memory
US6567907B1 (en) Avoiding mapping conflicts in a translation look-aside buffer
US7293157B1 (en) Logically partitioning different classes of TLB entries within a single caching structure
US20040117583A1 (en) Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041027

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050308