JP4256167B2 - コンピュータメモリ保護方式の拡張機構 - Google Patents
コンピュータメモリ保護方式の拡張機構 Download PDFInfo
- Publication number
- JP4256167B2 JP4256167B2 JP2002578154A JP2002578154A JP4256167B2 JP 4256167 B2 JP4256167 B2 JP 4256167B2 JP 2002578154 A JP2002578154 A JP 2002578154A JP 2002578154 A JP2002578154 A JP 2002578154A JP 4256167 B2 JP4256167 B2 JP 4256167B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- extended
- read
- flag field
- legacy
- 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 - Lifetime
Links
- 230000007246 mechanism Effects 0.000 title claims description 19
- 238000000034 method Methods 0.000 claims description 39
- 238000013519 translation Methods 0.000 claims description 31
- 239000000872 buffer Substances 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001627 detrimental effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001681 protective effect Effects 0.000 description 2
- 101000577619 Homo sapiens Profilin-1 Proteins 0.000 description 1
- 102100028857 Profilin-1 Human genes 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本出願は同じ日に出願された同一譲受人、同一発明者の出願中米国特許出願第 号(ドケットMIPS:0118.00US), Mechanism for Extending Properties of Virtual Memory Pages by a TLB に関連している。
(発明の分野)
本発明は一般的にコンピューティングシステム内のメモリ管理の分野に関し、特に、既存のアドレス変換バッファー(translation lookaside buffer)アーキテクチュア内のページ保護機構により提供されるものを越えて仮想メモリページに対するアクセス保護の種類を拡張する装置および方法に関する。
初期のコンピューティングシステムは特にこれらのシステム上で実行するように構成されたアプリケーションプログラムを実行した。プログラムは実行時にコンピューティングシステムのメモリ内にロードされた一連の命令からなっていた。実行するために命令がメモリからフェッチされる度に、コンピューティングシステム内のアドレス論理がメモリアドレスを発生した。コンピューティングシステム内のアクセス論理がメモリアドレスバス上にメモリアドレスを出し、メモリがコンピューティングシステムにより実行されるメモリアドレスに対応するメモリ場所のコンテンツを提供した。プログラム命令の他に、初期のコンピューティングシステムはアプリケーションプログラムにより使用されたデータを一時的に格納するためのメモリ場所を利用した。実行するプログラム命令の検索と同様に、プログラムデータの格納および検索はデータメモリ場所に対応するメモリアドレスの発生を伴った。
本発明は既存のアドレス変換バッファー(TLB)により提供されるものを越えて仮想メモリページへ与えられるアクセス保護の種類を拡張する優れた技術を提供する。仮想メモリページのアクセス保護は本発明に従ってTLBまたはその中の任意のエントリの構造になんら有害なインパクトを与えることなく拡張される。性質拡張は、本発明により、レガシーオペレーティングシステム内のTLB管理ソフトウェアとのバックワードコンパチビリティを許すようになされる。
本発明のこれらおよびその他の目的、特徴、および利点は下記の説明および添付図に関してより良く理解することができる。
仮想メモリ管理に関連するタスクを迅速に処理するために今日のコンピューティングシステムにより利用される技術の前記した背景を考慮して、次に、図1に関して関連技術例について検討する。この例は現在の仮想メモリ管理技術の、特に、アドレス変換バッファー(TLB)の構造に関する限界を強調している。今日のTLBの実質的に全てのアーキテクチュアがせいぜい拡張のための余地をほとんど提供せず、レガシーオペレーティングシステムソフトウェアとのコンパチビリティを保存するために、与えられる任意の新しいアクセス制約はレガシーオペレーティングシステムともコンパチブルでなければならない。この検討に続いて、図2から図5に関して本発明の詳細な説明を行う。本発明は、コンピューティングシステムの既存のTLB構造やコンピューティングシステムのレガシーオペレーティングシステムとのコンパチビリティにインパクトを与えることなく、コンピューティングシステム内の拡張された仮想ページアクセス特権を規定する装置および方法を提供することにより、コンピューティングシステム内の仮想メモリページの保護方式を拡張する障害を克服する。
Claims (36)
- 仮想メモリページに対する拡張アクセス制約を規定する装置であって、前記装置は、
複数のアドレス変換バッファー(TLB)エントリを格納するように構成されたアドレス変換バッファー(TLB)であって、前記複数のTLBエントリの各々がフラグフィールドおよび拡張フラグフィールドを有するアドレス変換バッファー(TLB)と、
前記TLBに接続され、前記フラグフィールドに従ってレガシーアクセス制約を指定するように構成され、かつ前記拡張フラグフィールドと前記フラグフィールドとの結合に基づいた拡張アクセス制約を指定するように構成され、前記拡張フラグフィールドが前記フラグフィールドで指定される前記レガシーアクセス制約にさらなる制約を与える拡張保護論理であって、前記拡張フラグフィールドはレガシーページテーブルエントリの中のスペアビットフィールドの位置に対応する位置に配置されており、前記レガシーアクセス制約の仕様はレガシー仮想ページアクセスプロトコルとのコンパチビリティを保存する拡張保護論理と、
を含む装置。 - 請求項1記載の装置であって、前記レガシーアクセス制約および拡張アクセス制約は同時に指定される装置。
- 請求項2記載の装置であって、前記レガシー仮想ページアクセスプロトコルは前記レガシーアクセス制約に従って仮想メモリページへアクセスを向ける装置。
- 請求項3記載の装置であって、拡張仮想ページアクセスプロトコルは拡張アクセス制約に従って仮想メモリページへアクセスを向ける装置。
- 請求項1記載の装置であって、前記レガシーアクセス制約はリード-ライト-実行アクセスおよびリード-実行オンリーアクセスを含む装置。
- 請求項1記載の装置であって、前記拡張アクセス制約は下記のアクセスタイプ、リード-実行オンリーアクセス、リード-ライト-実行アクセス、リードオンリーアクセス、リード-ライトオンリーアクセス、実行オンリーアクセス、ライト-実行オンリーアクセス、およびライトオンリーアクセスの一つ以上を含む装置。
- 請求項1記載の装置であって、前記フラグフィールドは、
任意形式のアクセスに対して特定の仮想メモリページが利用できるかどうかを示すように構成された有効ビットと、
前記有効ビットに接続され、ライトアクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成されたダーティビットと、
を含む装置。 - 請求項7記載の装置であって、前記拡張フラグフィールドは、
リードアクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成されたリードインヒビットビットと、
前記リードインヒビットビットに接続され、実行アクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成された実行インヒビットビットと、
を含む装置。 - アドレス変換バッファー(TLB)が仮想メモリページの保護方式を拡張できるようにするマイクロプロセッサ内の機構であって、前記機構は、
仮想メモリページをアクセスするメモリ管理ユニットを含み、前記メモリ管理ユニットは、
仮想メモリページの保護方式を規定するTLBエントリであって、前記各TLBエントリ内の拡張フラグフィールドが既存のフラグフィールドにより与えられる保護方式表示を拡張するものであり、前記拡張フラグフィールドはレガシーページテーブルエントリの中のスペアビットフィールドの位置に対応する位置に配置されている、前記TLBエントリと、
前記TLBに接続され、前記既存のフラグフィールドに従ったレガシー保護方式または前記拡張フラグフィールドと結合した前記既存のフラグフィールドに従った拡張保護方式を規定するように構成された拡張保護論理であって、前記拡張フラグフィールドが前記既存のフラグフィールドで指定される保護方式にさらなる定義を与え、前記レガシー保護方式はレガシー仮想ページアクセスプロトコルとバックワードコンパチビリティすなわち下位互換性がある拡張保護論理と、を含む機構。 - 請求項9記載の機構であって、前記レガシー保護方式および拡張保護方式は同時に規定される機構。
- 請求項9記載の機構であって、前記レガシー保護方式はリード-ライト-実行特権およびリード-実行特権を含む機構。
- 請求項9記載の機構であって、前記拡張保護方式は下記のアクセスタイプ、リード-実行オンリー特権、リード-ライト-実行特権、リードオンリー特権、リード-ライトオンリー特権、実行オンリー特権、ライト-実行オンリー特権、およびライトオンリー特権の一つ以上を含む機構。
- 請求項9記載の機構であって、前記既存のフラグフィールドは、
任意形式のアクセスに対して特定の仮想メモリページが利用できるかどうかを示すように構成された有効ビットと、
前記有効ビットに接続され、ライトアクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成されたダーティビットと、
を含む機構。 - 請求項13記載の機構であって、前記拡張フラグフィールドは、
リードアクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成されたリードインヒビットビットと、
前記リードインヒビットビットに接続され、実行アクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成された実行インヒビットビットと、
を含む機構。 - コンピューティングデバイスで使用するコンピュータプログラムを記録したコンピュータ使用可能媒体であって、前記媒体は、
前記媒体内に具現されたコンピュータ読取可能プログラムコードを記録し、CPUを記述されるようにし、前記CPUはレガシー保護方式および拡張保護方式に従った仮想メモリページをアクセスすることができるものであって、前記コンピュータ読取可能プログラムコードは、
アドレス変換バッファー(TLB)を記述する第1のプログラムコードであって、前記TLBは各々が既存のフラグフィールドおよび拡張フラグフィールドを有するTLBエントリを格納するように構成された第1のプログラムコードと、
拡張保護論理を記述する第2のプログラムコードであって、前記拡張保護論理は前記既存のフラグフィールドに従った前記レガシー保護方式および前記拡張フラグフィールドと結合した前記既存のフラグフィールドに従った前記拡張保護方式を指定するように構成され、前記拡張フラグフィールドは前記既存のフラグフィールドで指定されるアクセス特権にさらなる制約を与え、前記拡張フラグフィールドはレガシーページテーブルエントリの中のスペアビットフィールドの位置に対応する位置に配置されており、前記レガシー保護方式の仕様はレガシーページアクセスプロトコルとのコンパチビリティを保存する第2のプログラムコードと、
を含むコンピュータ使用可能媒体。 - 請求項15記載のコンピュータ使用可能媒体であって、前記レガシー保護方式はリード-ライト-実行特権およびリード-実行オンリー特権を含むコンピュータ使用可能媒体。
- 請求項15記載のコンピュータ使用可能媒体であって、前記拡張保護方式は下記のアクセスタイプ、リード-実行オンリー特権、リード-ライト-実行特権、リードオンリー特権、リード-ライトオンリー特権、実行オンリー特権、ライト-実行オンリー特権、およびライトオンリー特権の一つ以上を含むコンピュータ使用可能媒体。
- 請求項15記載のコンピュータ使用可能媒体であって、前記既存のフラグフィールドは、
任意形式のアクセスに対して特定の仮想メモリページが利用できるかどうかを示すように構成された有効ビットと、
前記有効ビットに接続され、ライトアクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成されたダーティビットと、
を含むコンピュータ使用可能媒体。 - 請求項18記載のコンピュータ使用可能媒体であって、前記拡張フラグフィールドは、
リードアクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成されたリードインヒビットビットと、
前記リードインヒビットビットに接続され、実行アクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成された実行インヒビットビットと、
を含むコンピュータ使用可能媒体。 - 伝送媒体内に具現されるコンピュータデータ信号を生成する方法であって、
アドレス変換バッファー(TLB)を記述する第1のコンピュータ読取可能プログラムコードであって、前記TLBは各々が既存のフラグフィールドおよび拡張フラグフィールドを有するTLBエントリを格納するように構成されている第1のコンピュータ読取可能プログラムコードを生成し、
拡張保護論理を記述する第2のコンピュータ読取可能プログラムコードであって、前記拡張保護論理は前記既存のフラグフィールドに従ったレガシー保護方式および前記拡張フラグフィールドと結合した前記既存のフラグフィールドに従った拡張保護方式を指定し、前記拡張フラグフィールドはレガシーページテーブルエントリの中のスペアビットフィールドの位置に対応する位置に配置されている、第2のコンピュータ読取可能プログラムコードを生成し、
アクセス論理を記述する第3のコンピュータ読取可能プログラムコードであって、前記アクセス論理は仮想メモリページにアクセスするように構成されており、レガシーアクセスプロトコルが利用される場合には、前記仮想メモリページは前記レガシー保護方式に従ってアクセスされる第3のコンピュータ読取可能プログラムコードを生成し、
前記第1、第2及び第3のプログラムコードを含むコンピュータデータ信号を生成する方法。 - 請求項20記載のコンピュータデータ信号を生成する方法であって、拡張アクセスプロトコルが利用される場合には、前記仮想メモリページは前記拡張保護方式に従ってアクセスされるコンピュータデータ信号を生成する方法。
- 請求項20記載のコンピュータデータ信号を生成する方法であって、前記レガシー保護方式はリード-ライト-実行特権およびリード-実行特権を含むコンピュータデータ信号を生成する方法。
- 請求項20記載のコンピュータデータ信号を生成する方法であって、前記拡張保護方式は下記のアクセスタイプ、リード-実行オンリー特権、リード-ライト-実行特権、リードオンリー特権、リード-ライトオンリー特権、実行オンリー特権、ライト-実行オンリー特権、およびライトオンリー特権の一つ以上を含むコンピュータデータ信号を生成する方法。
- 請求項20記載のコンピュータデータ信号を生成する方法であって、前記既存のフラグフィールドは、
任意形式のアクセスに対して特定の仮想メモリページが利用できるかどうかを示すように構成された有効ビットと、
前記有効ビットに接続され、ライトアクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成されたダーティビットと、
を含むコンピュータデータ信号を生成する方法。 - 請求項24記載のコンピュータデータ信号を生成する方法であって、前記拡張フラグフィールドは、
リードアクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成されたリードインヒビットビットと、
前記リードインヒビットビットに接続され、実行アクセスに対して前記特定の仮想メモリページが利用できるかどうかを示すように構成された実行インヒビットビットと、
を含むコンピュータデータ信号を生成する方法。 - 仮想メモリページにアクセスする方法であって、
当該方法は、
アドレス変換バッファー(TLB)エントリから第1のフラグフィールドを読み出すステップであって、前記第1のフラグフィールドはレガシー仮想ページアクセスプロトコルに従ってレガシーアクセス制約を指定することにより前記レガシー仮想ページアクセスプロトコルとのコンパチビリティを保存するステップと、
前記TLBエントリから第2のフラグフィールドを読み出すステップであって、前記第2のフラグフィールドは前記第1のフラグフィールドと結合されて用いられることにより拡張アクセス制約を指定するステップと、
を含み、
前記第2のフラグフィールドはレガシーページテーブルエントリの中のスペアビットフィールドの位置に配置されている、
方法。 - 請求項26記載の方法であって、さらに、
アクセスタイプを指定するステップと、
前記レガシーアクセス制約または前記拡張アクセス制約の元で前記アクセスタイプが許可されない場合には例外信号を発行するステップと、
を含む方法。 - 請求項26記載の方法であって、前記第1のフラグフィールドは、
仮想メモリページがアクセス可能であるかどうかを示す第1の部分と、
ライトアクセスに対して仮想メモリページが利用できるかどうかを示す第2の部分と、
を含む方法。 - 請求項28記載の方法であって、前記第2のフラグフィールドは、
リードアクセスに対して仮想メモリページが利用できるかどうかを示す第1の部分と、
実行アクセスに対して仮想メモリページが利用できるかどうかを示す第2の部分と、
を含む方法。 - 請求項26記載の方法であって、前記拡張アクセス制約はリード-実行オンリーアクセスを含む方法。
- 請求項26記載の方法であって、前記拡張アクセス制約はリード-ライト-実行アクセスを含む方法。
- 請求項26記載の方法であって、前記拡張アクセス制約はリードオンリーアクセスを含む方法。
- 請求項26記載の方法であって、前記拡張アクセス制約はリード-ライトオンリーアクセスを含む方法。
- 請求項26記載の方法であって、前記拡張アクセス制約は実行オンリーアクセスを含む方法。
- 請求項26記載の方法であって、前記拡張アクセス制約はライト実行オンリーアクセスを含む方法。
- 請求項26記載の方法であって、前記拡張アクセス制約はライトオンリーアクセスを含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/822,796 US6643759B2 (en) | 2001-03-30 | 2001-03-30 | Mechanism to extend computer memory protection schemes |
PCT/US2002/007206 WO2002079998A1 (en) | 2001-03-30 | 2002-03-08 | Mechanism to extend computer memory protection schemes |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008176897A Division JP2008282417A (ja) | 2001-03-30 | 2008-07-07 | コンピュータメモリ保護方式の拡張機構 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004527044A JP2004527044A (ja) | 2004-09-02 |
JP2004527044A5 JP2004527044A5 (ja) | 2005-12-22 |
JP4256167B2 true JP4256167B2 (ja) | 2009-04-22 |
Family
ID=25237002
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002578154A Expired - Lifetime JP4256167B2 (ja) | 2001-03-30 | 2002-03-08 | コンピュータメモリ保護方式の拡張機構 |
JP2008176897A Pending JP2008282417A (ja) | 2001-03-30 | 2008-07-07 | コンピュータメモリ保護方式の拡張機構 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008176897A Pending JP2008282417A (ja) | 2001-03-30 | 2008-07-07 | コンピュータメモリ保護方式の拡張機構 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6643759B2 (ja) |
EP (1) | EP1374066A1 (ja) |
JP (2) | JP4256167B2 (ja) |
WO (1) | WO2002079998A1 (ja) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7406682B2 (en) * | 2001-03-26 | 2008-07-29 | Emc Corporation | Translator-compiler for converting legacy management software |
US7069413B1 (en) * | 2003-01-29 | 2006-06-27 | Vmware, Inc. | Method and system for performing virtual to physical address translations in a virtual machine monitor |
US7139892B2 (en) * | 2003-05-02 | 2006-11-21 | Microsoft Corporation | Implementation of memory access control using optimizations |
US7089397B1 (en) | 2003-07-03 | 2006-08-08 | Transmeta Corporation | Method and system for caching attribute data for matching attributes with physical addresses |
FR2859292A1 (fr) * | 2003-08-27 | 2005-03-04 | St Microelectronics Sa | Dispositif de controle de l'acces a une memoire securisee, comprenant un circuit synchrome de recherche d'attributs |
US7418585B2 (en) | 2003-08-28 | 2008-08-26 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US9032404B2 (en) | 2003-08-28 | 2015-05-12 | Mips Technologies, Inc. | Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor |
US7594089B2 (en) * | 2003-08-28 | 2009-09-22 | Mips Technologies, Inc. | Smart memory based synchronization controller for a multi-threaded multiprocessor SoC |
US7849297B2 (en) | 2003-08-28 | 2010-12-07 | Mips Technologies, Inc. | Software emulation of directed exceptions in a multithreading processor |
US7711931B2 (en) * | 2003-08-28 | 2010-05-04 | Mips Technologies, Inc. | Synchronized storage providing multiple synchronization semantics |
US7870553B2 (en) | 2003-08-28 | 2011-01-11 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7836450B2 (en) * | 2003-08-28 | 2010-11-16 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7610473B2 (en) | 2003-08-28 | 2009-10-27 | Mips Technologies, Inc. | Apparatus, method, and instruction for initiation of concurrent instruction streams in a multithreading microprocessor |
US7200733B2 (en) * | 2003-09-11 | 2007-04-03 | Honeywell International Inc. | Virtual memory translator for real-time operating systems |
JP4576172B2 (ja) * | 2004-07-29 | 2010-11-04 | 富士通株式会社 | 演算処理装置,情報処理装置及び演算処理装置の制御方法 |
FR2874103B1 (fr) * | 2004-08-03 | 2006-11-17 | Trango Systems Sarl | Utilisation de la mmu pour la detection de borne de memoire tampon |
US20060047959A1 (en) * | 2004-08-25 | 2006-03-02 | Microsoft Corporation | System and method for secure computing |
US7802110B2 (en) | 2004-08-25 | 2010-09-21 | Microsoft Corporation | System and method for secure execution of program code |
US7886126B2 (en) | 2005-01-14 | 2011-02-08 | Intel Corporation | Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system |
US7558939B2 (en) * | 2005-03-08 | 2009-07-07 | Mips Technologies, Inc. | Three-tiered translation lookaside buffer hierarchy in a multithreading microprocessor |
US7496495B2 (en) * | 2005-05-12 | 2009-02-24 | Microsoft Corporation | Virtual operating system device communication relying on memory access violations |
US20070006178A1 (en) * | 2005-05-12 | 2007-01-04 | Microsoft Corporation | Function-level just-in-time translation engine with multiple pass optimization |
US7617380B2 (en) * | 2005-08-25 | 2009-11-10 | Broadcom Corporation | System and method for synchronizing translation lookaside buffer access in a multithread processor |
US7376807B2 (en) | 2006-02-23 | 2008-05-20 | Freescale Semiconductor, Inc. | Data processing system having address translation bypass and method therefor |
US8526049B2 (en) * | 2006-03-31 | 2013-09-03 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for display list management |
US7401201B2 (en) * | 2006-04-28 | 2008-07-15 | Freescale Semiconductor, Inc. | Processor and method for altering address translation |
US20080028181A1 (en) * | 2006-07-31 | 2008-01-31 | Nvidia Corporation | Dedicated mechanism for page mapping in a gpu |
US7555628B2 (en) | 2006-08-15 | 2009-06-30 | Intel Corporation | Synchronizing a translation lookaside buffer to an extended paging table |
JP2008102850A (ja) * | 2006-10-20 | 2008-05-01 | Toshiba Corp | 情報処理装置及び情報処理方法 |
US8745337B2 (en) * | 2007-12-31 | 2014-06-03 | Teradyne, Inc. | Apparatus and method for controlling memory overrun |
US8228555B2 (en) * | 2008-03-31 | 2012-07-24 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for parallel display list rasterization |
US8782371B2 (en) * | 2008-03-31 | 2014-07-15 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for memory management for rasterization |
US8817032B2 (en) | 2008-08-29 | 2014-08-26 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for framebuffer management |
US8854680B2 (en) * | 2008-09-11 | 2014-10-07 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for optimal memory allocation units |
US8861014B2 (en) * | 2008-09-30 | 2014-10-14 | Konica Minolta Laboratory U.S.A., Inc. | Systems and methods for optimized printer throughput in a multi-core environment |
JP4656347B2 (ja) * | 2009-04-14 | 2011-03-23 | 日本電気株式会社 | コンピュータ・システム |
US9069672B2 (en) * | 2009-06-12 | 2015-06-30 | Intel Corporation | Extended fast memory access in a multiprocessor computer system |
JP5845902B2 (ja) * | 2012-01-04 | 2016-01-20 | トヨタ自動車株式会社 | 情報処理装置及びメモリアクセス管理方法 |
CN104272281A (zh) * | 2012-06-25 | 2015-01-07 | 株式会社日立制作所 | 计算机系统和应用程序运行环境转移方法 |
US9588902B2 (en) * | 2012-12-04 | 2017-03-07 | Advanced Micro Devices, Inc. | Flexible page sizes for virtual memory |
US9208102B2 (en) * | 2013-01-15 | 2015-12-08 | Qualcomm Incorporated | Overlap checking for a translation lookaside buffer (TLB) |
US9170956B2 (en) * | 2013-02-07 | 2015-10-27 | Texas Instruments Incorporated | System and method for virtual hardware memory protection |
GB2514107B (en) * | 2013-05-13 | 2020-07-29 | Advanced Risc Mach Ltd | Page table data management |
US11531624B2 (en) * | 2015-02-06 | 2022-12-20 | Arm Limited | Address translation in a data processing apparatus |
EP3268866B1 (en) | 2015-06-18 | 2020-08-26 | Hewlett-Packard Enterprise Development LP | Transmitting contents of an operation field to a media controller |
US10185679B2 (en) * | 2016-02-24 | 2019-01-22 | Red Hat Israel, Ltd. | Multi-queue device assignment to virtual machine groups |
US10713177B2 (en) * | 2016-09-09 | 2020-07-14 | Intel Corporation | Defining virtualized page attributes based on guest page attributes |
EP3665581A4 (en) * | 2017-08-08 | 2021-05-12 | Ric B Richardson | METHOD AND DEVICE FOR OPERATING A COMPUTER |
US11513779B2 (en) | 2020-03-19 | 2022-11-29 | Oracle International Corporation | Modeling foreign functions using executable references |
US11875168B2 (en) | 2020-03-19 | 2024-01-16 | Oracle International Corporation | Optimizing execution of foreign method handles on a virtual machine |
US11543976B2 (en) * | 2020-04-01 | 2023-01-03 | Oracle International Corporation | Methods for reducing unsafe memory access when interacting with native libraries |
US20210406195A1 (en) * | 2021-04-29 | 2021-12-30 | Rupin Vakharwala | Method and apparatus to enable a cache (devpic) to store process specific information inside devices that support address translation service (ats) |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4581702A (en) | 1983-01-10 | 1986-04-08 | International Business Machines Corporation | Critical system protection |
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
US4899275A (en) * | 1985-02-22 | 1990-02-06 | Intergraph Corporation | Cache-MMU system |
JPH0721781B2 (ja) * | 1989-03-13 | 1995-03-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセツサ・システム |
EP0425771A3 (en) | 1989-11-03 | 1992-09-02 | International Business Machines Corporation | An efficient mechanism for providing fine grain storage protection intervals |
JPH06139147A (ja) * | 1992-10-23 | 1994-05-20 | Fujitsu Ltd | キャッシュメモリシステム |
US5628023A (en) | 1993-04-19 | 1997-05-06 | International Business Machines Corporation | Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view |
US5426379A (en) * | 1994-07-29 | 1995-06-20 | Xilinx, Inc. | Field programmable gate array with built-in bitstream data expansion |
US5809563A (en) | 1996-11-12 | 1998-09-15 | Institute For The Development Of Emerging Architectures, Llc | Method and apparatus utilizing a region based page table walk bit |
US6189074B1 (en) | 1997-03-19 | 2001-02-13 | Advanced Micro Devices, Inc. | Mechanism for storing system level attributes in a translation lookaside buffer |
US6249853B1 (en) | 1997-06-25 | 2001-06-19 | Micron Electronics, Inc. | GART and PTES defined by configuration registers |
US6260131B1 (en) * | 1997-11-18 | 2001-07-10 | Intrinsity, Inc. | Method and apparatus for TLB memory ordering |
US6351797B1 (en) * | 1997-12-17 | 2002-02-26 | Via-Cyrix, Inc. | Translation look-aside buffer for storing region configuration bits and method of operation |
US6230248B1 (en) | 1998-10-12 | 2001-05-08 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for pre-validating regions in a virtual addressing scheme |
EP1046998A1 (en) | 1999-04-22 | 2000-10-25 | Texas Instruments Incorporated | Digital signal processors with virtual addressing |
JP3607540B2 (ja) * | 1999-08-18 | 2005-01-05 | エヌイーシーシステムテクノロジー株式会社 | プログラム単位メモリアクセス属性管理方式 |
US6412043B1 (en) * | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
-
2001
- 2001-03-30 US US09/822,796 patent/US6643759B2/en not_active Expired - Lifetime
-
2002
- 2002-03-08 JP JP2002578154A patent/JP4256167B2/ja not_active Expired - Lifetime
- 2002-03-08 EP EP02717593A patent/EP1374066A1/en not_active Withdrawn
- 2002-03-08 WO PCT/US2002/007206 patent/WO2002079998A1/en active Application Filing
-
2008
- 2008-07-07 JP JP2008176897A patent/JP2008282417A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2008282417A (ja) | 2008-11-20 |
US6643759B2 (en) | 2003-11-04 |
EP1374066A1 (en) | 2004-01-02 |
WO2002079998A1 (en) | 2002-10-10 |
JP2004527044A (ja) | 2004-09-02 |
US20020144077A1 (en) | 2002-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4256167B2 (ja) | コンピュータメモリ保護方式の拡張機構 | |
US6523104B2 (en) | Mechanism for programmable modification of memory mapping granularity | |
KR101563659B1 (ko) | 집성된 소페이지들을 사용한 페이지 사이즈 확장 | |
US7334107B2 (en) | Caching support for direct memory access address translation | |
US6249853B1 (en) | GART and PTES defined by configuration registers | |
JP3237065B2 (ja) | データ処理システム | |
JP3859757B2 (ja) | 仮想アドレスについてのキャッシュ可能性属性ビットを備えた変換テーブル・エントリ及びそのビットを用いた仮想アドレスの参照方法並びにその仮想アドレスの参照装置 | |
EP1866772B1 (en) | Method and apparatus for fragment processing in a vitual memory system | |
JP4772795B2 (ja) | 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上 | |
US7149872B2 (en) | System and method for identifying TLB entries associated with a physical address of a specified range | |
US7089398B2 (en) | Address translation using a page size tag | |
KR100959014B1 (ko) | Tlb 록 표시자 | |
US8156308B1 (en) | Supporting multiple byte order formats in a computer system | |
JP4295111B2 (ja) | メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法 | |
US6442664B1 (en) | Computer memory address translation system | |
JP3264319B2 (ja) | バスブリッジ | |
JPH1091525A (ja) | 変換索引バッファ及びメモリ管理システム | |
US6651156B1 (en) | Mechanism for extending properties of virtual memory pages by a TLB | |
JP2000122927A (ja) | 仮想領域番号によってアクセスするコンピュ―タ・システム | |
US6282625B1 (en) | GART and PTES defined by configuration registers | |
US6728859B1 (en) | Programmable page table access | |
US6567907B1 (en) | Avoiding mapping conflicts in a translation look-aside buffer | |
JP2000267932A (ja) | タグアドレス比較装置 | |
JP2000293437A (ja) | キャッシュメモリ装置及びキャッシュメモリ制御方法 | |
MX2008005091A (en) | Caching memory attribute indicators with cached memory data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050210 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080204 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080307 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080707 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080707 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080825 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081217 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090109 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090129 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120206 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4256167 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130206 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140206 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |