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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address 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
ルックアップ・ステップをなくし、パフォーマンスを向
上させる。 【解決手段】本発明による変換参照バッファ(TLB)
は、有効フィールド、領域予備有効化フィールド、仮想
領域番号フィールド、仮想ページ番号フィールド、領域
識別子フィールド、物理ページ番号フィールドを有する
エントリを含む。領域は、変換参照バッファ・エントリ
に仮想領域識別子ビットと領域識別子の両方を記憶し、
領域予備有効化フィールドをセット状態にすることによ
り予め有効化される。これにより、ほとんどのTLBア
クセスを実行するときに領域レジスタをバイパスするこ
とができる。したがって、領域レジスタは、TLBルッ
クアップ・プロセスの重要なパスから外され、システム
のパフォーマンスが向上する。
Description
ステムにおけるメモリ編成に関する。より具体的には、
本発明は、領域を支援する仮想メモリ・システムと、仮
想アドレスを物理アドレスに変換する方法とに関する。
ムは、実際に存在する物理メモリよりも多くの論理メモ
リをシミュレートし、コンピュータがいくつかのプログ
ラムをそのサイズに関係なく並列に実行できるようにす
る仮想メモリと呼ばれる技術を使用している。並列のユ
ーザ・プログラムは、オペレーティング・システムによ
って割り当てられた仮想アドレスによりメイン・メモリ
の物理アドレスにアクセスする。メイン・メモリの物理
アドレスへの仮想アドレスのマッピングは、仮想アドレ
ス変換として知られるプロセスである。仮想アドレス変
換は、いくつかの技法により達成することができ、それ
によりプロセッサがメイン・メモリ内の所望の情報にア
クセスすることができる。
一般にページと呼ばれるメモリの等しいサイズのブロッ
クに分割され、ページ・テーブルが、仮想アドレスと物
理アドレスの間の変換を実現する。それぞれのページ・
テーブルのエントリは、一般に、仮想アドレスおよび/
または物理アドレス、ならびにページに関する保護情報
と状況情報を含む。状況情報は、一般にページが受けた
アクセスのタイプに関する情報を含む。たとえば、ダー
ティ・ビット(dirty bit)は、ページ内のデータに修正
があったことを示す。通常、ページ・テーブルは、大き
いためメモリに記憶される。したがって、通常のメモリ
・アクセスはそれぞれ、変換を達成するためのアクセス
と、物理メモリ・ロケーションにアクセスする別のアク
セスの少なくとも2つのアクセスを必要とすることがあ
る。
ュータ・システムは、変換参照バッファ(TLB, Tran
slation Lookaside Buffer)を使用する。TLBは、通
常、処理装置上またはそのすぐ近くに配置され、最近使
用された仮想アドレスと物理アドレスの対を記憶する小
型の高速連想メモリである。TLBは、ページ・テーブ
ルに変換のサブセットを含み、きわめて迅速にアクセス
される。処理装置がメイン・メモリからの情報を必要と
するとき、処理装置は、仮想アドレスをTLBに送る。
TLBは、仮想アドレスのページ番号を受け取り、物理
ページ番号を返す。物理ページ番号は、下位アドレス情
報と組み合わされ、メイン・メモリ内の所望のバイトま
たはワードがアクセスされる。
ブル全体を含むことができない。したがって、仮想ペー
ジにアクセスし、その変換がTLB内にないとき、ペー
ジ・テーブルがアクセスされて物理ページ番号への仮想
ページ番号の変換が決定され、その情報がTLBに入れ
られる。ページ・テーブルのアクセスは、TLBのアク
セスの20倍時間がかかり、したがって、変換をTLB
内で利用するように維持することによりプログラム実行
速度が最適化される。
は、領域を支援することによって仮想アドレス指定の概
念を拡張するものもある。領域は、仮想アドレス空間を
等しいサイズの領域に分割することによって、仮想アド
レス空間内に独立した局所アドレス空間、共用アドレス
空間および大域アドレス空間を有効に作成する能力を提
供する。一般に、任意の時間に領域のサブセットだけが
アクティブになることができる。それぞれの領域は領域
識別子と関連付けられ、この識別子は、所与の領域のア
ドレス変換に特異なタグ付けをする。ある領域の領域識
別子が特定のプロセスに割り当てられる場合、この領域
空間は、そのプロセスに対して局所的になる。ある領域
の領域識別子がプロセス間で共用される場合、この領域
空間は、共用される。領域の領域識別子がすべてのプロ
セスに共用される場合、この領域は大域的になる。局所
領域の領域識別子を変えると、あるプロセスの局所空間
から、仮想アドレスが別のプロセスの局所空間に効果的
に交換される。したがって、領域は、プロセスを切り替
えるときにTLBをフラッシュする必要性を事実上なく
し、それによりシステム全体のパフォーマンスが向上す
る。
番号ビット(仮想アドレスの一部分)を領域識別子にマ
ッピングする領域レジスタによって支援される。領域レ
ジスタは、TLB内に仮想アドレスの変換があるかどう
かを決定する前に追加のルックアップ・ステップを実行
しなければならない。この追加のルックアップ・ステッ
プは、仮想アドレスから物理アドレスへの変換プロセス
における重要なパスになることがある。したがって、こ
の追加のルックアップ・ステップをなくすことができれ
ばパフォーマンスが向上する。
指定方式において領域を予め有効化する方法および装置
である。本発明によれば、領域は、変換参照バッファ
(TLB)エントリに仮想領域識別子ビットと領域識別
子の両方を記憶することにより予め有効化される。TL
Bエントリに仮想領域識別子ビットと領域識別子の両方
を記憶することによって、ほとんどのTLBアクセスを
実行するときに領域レジスタをバイパスすることができ
る。したがって、領域レジスタは、TLBルックアップ
・プロセスの重要なパスから外され、システムのパフォ
ーマンスが向上する。
領域予備有効化(rpV, a regionpre-validation)フ
ィールド、仮想領域番号(VRN)フィールド、仮想ペ
ージ番号(VPN)フィールド、領域識別子(RID)
フィールド、保護/アクセス属性フィールド、物理ペー
ジ番号(PPN)フィールドを有するエントリを含む。
さらに、一組の領域レジスタは、任意の時間にアクティ
ブな領域識別子を含む。しかしながら、領域レジスタ
は、TLBルックアップ・プロセスのパスにはない。
する領域にページの仮想−物理エントリが確立される
と、領域識別子と仮想領域番号は、TLBエントリの適
切なフィールドに記憶される。さらに、有効フィールド
がセットされ領域予備有効化フィールドがセットされ
て、TLBエントリがアクティブな仮想領域番号から領
域識別子へのマッピングを含むことが示され、それによ
り領域が予め有効化される。
アドレスに変換するとき、仮想領域番号と仮想ページ番
号が仮想アドレスから取り出され、TLBに提供され
る。セットされた有効フィールドと、セットされた領域
予備有効化フィールドと、仮想アドレスから取り出され
た仮想領域番号と仮想ページ番号と一致するエントリを
含む仮想領域番号および仮想ページ番号フィールドとを
含むエントリを見つけるためにTLBが探索される。そ
のようなエントリが見つかった場合、保護/アクセス属
性フィールドを使用して、要求されたアクセスを許可す
べきかどうかを決定する。要求されたアクセスを許可す
る場合、TLBエントリの物理ページ番号フィールドか
らの物理ページ番号が仮想アドレスからのオフセットと
組み合わされ、メモリ・アクセスを完了するために使用
される物理アドレスが生成される。領域レジスタの内容
がTLBのエントリにおいて「予め有効化」されるの
で、領域レジスタを通るパスがなくなるため、仮想−物
理ルックアップ・プロセスの速度が早くなる。
において領域を予め有効化するための方法および装置で
ある。本質的に、領域は、変換参照バッファ(TLB)
エントリに仮想領域番号(VRN)ビットと領域識別子
(RID)の両方を記憶することにより有効化される。
TLBエントリに仮想領域番号と領域識別子の両方を記
憶することによって、ほとんどのTLBアクセスを実行
するときに領域レジスタをバイパスすることができる。
したがって、領域レジスタが、TLBルックアップ・プ
ロセスの重要なパスから外され、システム・パフォーマ
ンスが向上する。
図1に示した仮想アドレス指定方式を検討する。仮想ア
ドレス11は、64ビット・アドレスである。上位3ビ
ットは、仮想領域番号(VRN)12を構成する。した
がって、任意の所与の時間に仮想アドレスによって8つ
の領域を指定することができる。仮想アドレス11の残
りの61ビットは、各領域内のメモリをアドレス指定す
るために使用され、それにより各領域に261バイトの
仮想メモリが提供される。各メモリ・ページ(ページ1
4など)は、24ビットの領域識別子(RID)と関連
付けられる。したがって、オペレーティング・システム
は、最大224までの独立仮想アドレス空間を割り当て
ることができる。
る従来技術の仮想−物理変換方式15を示す。方式15
を使用する従来技術のCPUでは、CPUが仮想アドレ
スを物理アドレスに変換するとき、仮想領域番号12の
3ビットを使用して8つの領域レジスタ20のうちの1
つを選択する。選択された領域レジスタに含まれる領域
識別子が、TLB22に提供される。
仮想ページ番号(VPN)16とオフセット18に分け
られる。オフセット18は、ページ内のバイトを表すだ
けである。したがって、ページ・サイズが4キロ・バイ
トの場合、オフセットは12ビットになり、仮想ページ
番号は41ビットになる。ページ・サイズが64キロバ
イトの場合、オフセットは16ビットになり、仮想ペー
ジ番号は45ビットになる。
ド24、領域識別子フィールド26、保護/アクセス属
性フィールド30、および物理ページ番号(PPN)3
2を含む。有効フィールド24は、エントリが有効かど
うか、したがって使用中かどうかだけを示す。有効フィ
ールド24がクリアされてエントリが使用中でないこと
が示されると、そのエントリは、新しい変換を受け取る
ことができる。
と関連した領域識別子を記憶する。仮想ページ番号フィ
ールド28は、仮想−物理変換と関連した仮想ページを
記憶する。保護/アクセス属性フィールド30は、「ダ
ーティ」ビット、キャッシュ・ポリシー、読取り、書込
みおよび実行特権が許可されているかどうかを含む保護
/アクセス情報、ならびに当技術分野において周知の類
似の保護/アクセス情報を含む。最終的に、TLB22
の各エントリは、仮想ページ番号フィールド28との組
み合わせにより仮想−物理変換を表す物理ページ番号
(PPN)フィールド32を含む。
選択されたレジスタからの領域識別子がTLB22に提
供される。さらに、仮想ページ番号16がTLB22に
提供される。次に、有効TLBエントリを示すようにセ
ットされた有効フィールド24を有するTLIB22の
エントリが探索される。探索したエントリのどれかが、
領域レジスタ20のうちの選択されたレジスタによって
提供される領域識別子と領域識別子フィールド26の内
容と間に一致を引き起こし、また仮想アドレス11から
の仮想ページ番号16と仮想ページ番号フィールド28
の内容との間に一致を引き起こす場合は、一致TLBエ
ントリが見つかった。一致エントリの保護/アクセス属
性30からの保護/アクセス情報が、決定ブロック38
に提供される。決定ブロック38は、要求されたアクセ
スを許可するかどうかを決定する。許可する場合、一致
エントリの物理ページ番号フィールド32からの物理ペ
ージ番号が、仮想アドレス11のオフセット18と組み
合わされ、物理アドレス・ブロック40に物理アドレス
を生成する。次に、ブロック40から提供された物理ア
ドレスを使用して、メモリ・アクセスが完了される。
て、TLBエントリがTLB22からパージされると
き、パージされる仮想−物理変換と一致するエントリを
有するセットされた有効フィールド24、領域識別子フ
ィールド26および仮想ページ番号フィールド28を有
するエントリ見つけるためにTLB22が探索されるこ
とに注意されたい。そのようなエントリが見つかった場
合、そのエントリの有効フィールド24がクリアされ
る。また、仮想アドレス11から領域レジスタ20を通
りTLB22に至るパスは、仮想アドレス11からTL
B22に至るパスよりも長いことに注意されたい。多く
のCPUにおいて、領域レジスタを通るパスは、重要な
パスであり、システムのパフォーマンスを制限する。
42を示す。仮想−物理変換方式42では、領域レジス
タを通る重要なパスがないため、TLB探索がより迅速
に行われる。
ルド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により
提供される機能と類似している。
ド50、仮想領域番号フィールド52および領域識別子
フィールド56によって提供される機能は異なる。領域
レジスタ44のうちの1つに記憶された領域識別子を有
する領域内のページに仮想−物理エントリが確立される
とき、仮想領域番号12によって索引付けされた領域レ
ジスタに記憶された領域識別子RIDが、領域識別子フ
ィールド56に記憶され、仮想領域番号VRN12自体
は、仮想領域番号フィールド52に記憶される。さら
に、領域予備有効化rpVフィールド50がセットされ
た状態は、領域レジスタ44において現にアクティブで
あるVRN対RIDのマッピングを、そのTLBエント
リが含み、その領域が予め有効化されていることを示
す。さらに、有効フィールド48がセットされ、仮想ペ
ージ番号16が仮想ページ番号フィールド54に記憶さ
れ、保護/アクセス情報が保護/アクセス属性フィール
ド58に記憶され、物理ページ番号が物理ページ番号フ
ィールド60に記憶される。
アドレスに変換するとき、仮想領域番号12と仮想ペー
ジ番号16がTLB46に直接提供される。セットされ
た有効フィールド48、セットされた領域予備有効化フ
ィールド50、仮想領域番号12と一致する仮想領域番
号フィールド52内の仮想領域番号エントリ、仮想ペー
ジ番号16と一致する仮想ページ番号フィールド54内
の仮想ページ番号エントリを有するエントリを見つける
ためにTLB46が探索される。領域識別子RIDフィ
ールド56は探索されないことに注意されたい。そのよ
うなエントリが見つかった場合、エントリの保護/アク
セス属性58から保護/アクセス情報が決定ブロック3
8に提供される。決定ブロック38は、要求されたアク
セスを許可するかどうかを決定する。許可する場合、エ
ントリの物理ページ番号フィールド60からの物理ペー
ジ番号が仮想アドレス11のオフセット18と組み合わ
され、物理アドレス・ブロック40に物理アドレスが生
成される。次に、ブロック40により提供された物理ア
ドレスを利用してメモリ・アクセスを完了する。領域レ
ジスタの内容がTLB46のエントリにおいて「有効
化」されているため、領域レジスタを通るパスがないこ
とに注意されたい。
に、TLBエントリがTLB46からパージされると
き、セットされた有効フィールド48、パージする仮想
−物理変換と一致するエントリを有する領域識別子フィ
ールド56と仮想ページ番号フィールド54を有するエ
ントリを見つけるためにTLB46が探索される。その
ようなエントリが見つかった場合は、そのエントリの有
効フィールド46がクリアされる。
ス中に領域レジスタを通るパスがなくなるが、領域レジ
スタに書き込むときにわずかにパフォーマンスが低下す
る。図2の従来技術の仮想−物理変換方式15と関連し
て、領域レジスタ20のうちの1つに異なる領域識別子
を挿入しなければならないとき、領域識別子は単純に適
切な領域レジスタに挿入される。ルッックアップ・パス
が領域レジスタ20を通るため、領域レジスタから取り
出された領域識別子と一致するTLB22内のエントリ
はなくなり、取り出される領域識別子はなくなる。取り
出された領域識別子が領域レジスタに後で復元される場
合は、単に再び挿入され、TLBエントリに再びアクセ
スされる。
ップ・パスは、領域レジスタ44を通らない。したがっ
て、領域レジスタ44のうちの1つに新しい領域識別子
を挿入したとき、TLB46を探索して、セットされた
有効フィールド48と、新しい領域識別子を受け取る領
域レジスタと一致する仮想領域番号フィールド52に含
まれる仮想領域番号とを有するすべてのエントリを見つ
けなければならない。次に、仮想領域番号と一致するT
LB46内のすべてのエントリの領域識別子フィールド
56が、新しい領域識別子と比較される。領域識別子が
一致する場合、領域予備有効化rpVフィールド50が
セットされ、領域が有効化される。領域識別子が一致し
ない場合、領域予備有効化フィールド50はクリアさ
れ、領域が無効にされる。本発明の仮想−物理変換方式
42において、アクティブ領域の変化は、従来技術の仮
想−物理変換方式15よりも多少遅いが、仮想−物理変
換が、領域レジスタの更新よりも高頻度に行われるた
め、ルックアップ・パスから領域レジスタを除去するこ
とにより全体的なパフォーマンスが大幅に改善される。
モリ(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を使用して実現することができ
る。これらの両方の動作は、仮想−物理変換よりも頻繁
には行われない。
ルックアップ・パスから領域レジスタを外すことによっ
て仮想−物理変換のパフォーマンスを高める方法および
装置を提供する。領域はTLBエントリに仮想領域番号
を記憶するとにより有効化され、それにより仮想領域番
号および仮想ページ番号フィールドを並列に探索し、仮
想−物理ルックアップ・プロセスの速度を高めることが
できる。
たが、当業者は、本発明の精神および範囲から逸脱せず
に形態および詳細に変更を行うことができることを理解
されたい。
コンピュータ・システムのパフォーマンスを向上させる
ことができる。
それぞれ261バイトを有する224の仮想領域を支援
する64ビット仮想アドレス指定方式の図である。
仮想−物理変換方式を示す図である。
る。
Claims (1)
- 【請求項1】複数の領域レジスタを有し、各領域レジス
タに領域識別子を記憶し、固有の仮想領域番号によって
アクセスするコンピュータ・システムにおいて、 変換参照バッファが複数の変換参照バッファ・エントリ
を含み、 各エントリが、 物理的なページ番号を記憶するための物理的ページ番号
フィールドと、 仮想ページ番号を記憶するための仮想ページ番号フィー
ルドと、 仮想領域番号を記憶するための仮想領域番号フィールド
と、 領域予備有効化フィールドと、を含み、領域予備有効化
フィールドが第1の状態をとるとき、複数の領域レジス
タにおけるアクティブ仮想領域番号対領域識別子のマッ
ピングを、該領域予備有効化フィールドを含む変換参照
バッファ・エントリと関連付けることによって、該領域
予備有効化フィールドを含む変換参照バッファ・エント
リを予め有効化し、領域予備有効化フィールドが第2の
状態をとるときに、該領域予備有効化フィールドを含む
変換参照バッファ・エントリを複数の領域レジスタに記
憶された任意の領域識別子と関連付けないことにより、
該領域予備有効化フィールドを含む変換参照バッファを
無効にするコンピュータ・システム。
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)
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)
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)
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 |
-
1998
- 1998-10-12 US US09/170,140 patent/US6230248B1/en not_active Expired - Fee Related
-
1999
- 1999-09-30 JP JP11278875A patent/JP2000122927A/ja active Pending
-
2001
- 2001-05-07 US US09/850,878 patent/US6408373B2/en not_active Expired - Fee Related
Cited By (9)
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 |