JP2007520014A - 状況切換え環境中におけるアドレス変換技術 - Google Patents

状況切換え環境中におけるアドレス変換技術 Download PDF

Info

Publication number
JP2007520014A
JP2007520014A JP2006551169A JP2006551169A JP2007520014A JP 2007520014 A JP2007520014 A JP 2007520014A JP 2006551169 A JP2006551169 A JP 2006551169A JP 2006551169 A JP2006551169 A JP 2006551169A JP 2007520014 A JP2007520014 A JP 2007520014A
Authority
JP
Japan
Prior art keywords
virtual address
address
memory management
management unit
virtual
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
JP2006551169A
Other languages
English (en)
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2007520014A publication Critical patent/JP2007520014A/ja
Pending legal-status Critical Current

Links

Images

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
    • 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
    • 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/656Address space sharing

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

いくつかの実施例によれば、メモリ管理ユニットは、仮想アドレスを受け取り、対応する物理アドレスを提供する。メモリ管理ユニットは、仮想アドレスから物理アドレスへ生成された変換を格納する。仮想アドレスから物理アドレスへの変換が特定の仮想アドレスに対して利用可能な場合、メモリ管理ユニットは、対応する物理アドレスを取り出す。変換が利用可能でない場合、メモリ管理ユニットは、仮想アドレスから対応する物理アドレスを生成する。メモリ管理ユニットは、プロセス識別子を使用して、仮想アドレスを修正仮想アドレスに変換し、次に、その修正仮想アドレスを使用して、ページ・テーブル・ウォークを行ない、物理アドレスを生成する。

Description

本発明は、状況切換え環境中におけるアドレス変換技術に関する。
関連技術の説明
計算機システムにおけるプロセッサは、仮想アドレスを物理アドレスにマップ(写像)するためにメモリ・マッピングを使用する。例えば、プロセッサの実行ユニットによって生成されるアドレス空間は、仮想アドレス空間と呼ばれる。システムで利用可能なハードウェアのメモリ位置に対応するアドレスは、物理アドレスと呼ばれる。
プロセッサは、プロセスまたは状況(コンテキスト)切換えのための付加的なレベルのアドレス再マッピングを実行する。状況に関連したプロセス識別子がアドレスを再マッピングするために使用されてもよい。プロセス識別子および再マッピングの使用は、プロセス・スイッチ上のキャッシュをクリアしまたは無効にする必要性を緩和する。
本発明はよりよく理解され、およびその多くの特徴および利点は、添付図面を参照することによって当業者に明らかになるであろう。
異なる図面中の同じ参照記号の使用は、同一または類似の項目を示す。
いくつかの実施例によれば、メモリ管理ユニットは、仮想アドレスを受け取り、対応する物理アドレスを提供する。メモリ管理ユニットは、仮想アドレスから物理アドレスへ生成された変換を格納する。仮想アドレスから物理アドレスへの変換が特定の仮想アドレスに対して利用可能な場合、メモリ管理ユニットは、対応する物理アドレスを取り出す。変換が利用可能でない場合、メモリ管理ユニットは、仮想アドレスから対応する物理アドレスを生成する。メモリ管理ユニットは、プロセス識別子を使用して、仮想アドレスを修正仮想アドレスに変換し、次に、その修正仮想アドレスを使用して、ページ・テーブル・ウォークを行ない、物理アドレスを生成する。
下記説明では、多くの特定の詳細事項が述べられる。しかしながら、本発明の実施例は、これらの特定の詳細事項がなくても実施できることを理解すべきである。他の実施例では、周知の方法、構造および技術は、この説明の理解を不明瞭にしないために詳細には示されていない。
「一実施例」、「実施例」、「実施の例」、「様々な実施例」などの表示は、本発明の実施例が特定の機能、構造または特性を含むが、あらゆる実施例がその特定の機能、構造または特性を必ず含むとは限らないことを示す。さらに、「ある実施例において」なる句の繰り返しの使用は必ずしも同じ実施例を参照するものではない。
ここに使用されるように、別段の定めがない限り、共通の対象を表わす「第1」、「第2」、「第3」などの順序を示す形容詞の使用は、類似の対象の異なる例が引用されていることを単に示すに過ぎず、その対象が一時的にも、空間的に、格付的にも、あるいは他の方法においても、与えられた順序でなければならないことを意図するものではない。
他に特に述べられない限り、次の議論から明らかなように、「処理する」、「演算する」、「計算する」などのような用語を利用する議論は、明細書全体にわたって、コンピュータ、コンピュータ・システムまたは類似の電子計算機装置の動作または処理に関連するものであり、それは電子、量子などの物理量として表わされるデータを物理量として同じように表わされる他のデータへ操作または変換することとして理解される。
同様に、「プロセッサ」なる用語は、任意の装置またはレジスタおよび/またはメモリからの電子データを処理し、その電子データをレジスタおよび/またはメモリに格納できる他の電子データに変形するあらゆる装置または装置の一部に関するものである。「計算機プラットフォーム」は、1またはそれ以上のプロセッサを含んでいてもよい。
図1は、本発明の実施例による計算機システムの様々なロジック・ブロックを図示する。プロセッサ100は、アドレス生成ユニット(AGU)102およびメモリ管理ユニット(MMU)104を含む。AGU102は、例えばデータ・アドレスを生成する算術論理演算ユニット(ALU)、または例えば命令アドレスを生成するインクリメンタ(増分器)である。AGU102によって生成されたアドレスは、仮想アドレスである。MMU104は、仮想アドレスを物理アドレスに変換する。これらの物理アドレスは例えば、ストレージ106の読み込みまたは書き込みのためにアクセスするために使用される。ストレージ106は、プロセッサ100の内部にあってもまたは外部にあってもよい。
プロセッサ100は、ARM、CISCまたはRISCタイプのアーキテクチャを含むあらゆるアーキテクチャ・タイプの中央処理装置を表わす。ストレージ106は、データを格納するための1またはそれ以上のメカニズムを表わす。例えば、ストレージ106は、リード・オンリ・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスク格納媒体、光格納媒体および/またはフラッシュ・メモリ装置を含む。本発明が単一プロセッサの計算機システムで実施される一実施例が説明される一方、マルチプロセッサ計算機システム中で実施される本発明の実施例が説明される。
プロセッサ100は、少し例を挙げれば、メインフレーム、ミニコンピュータ、サーバ、ワークステーション、パーソナル・コンピュータ、ノートパッド、個人用デジタル情報処理端末、様々なワイヤレス通信装置を含む多くの計算機および通信システムのいずれかにあるが、しかしこれらに制限されることはなく、1またはそれ以上のアンテナ108および送受信機110および埋め込みシステムを含んでいてもよい。
図2は、本発明の実施例によるメモリ管理ユニット104のブロック図を示す。MMU104は、仮想アドレスを受け取り、対応する物理アドレスを提供する。最初に、仮想アドレスのための変換が格納に、例えば変換索引バッファ(TLB)202内に含まれているかどうかの判断がなされる。TLB202は、仮想アドレスから物理アドレスへの1またはそれ以上の変換を含む。仮想アドレスのための変換がTLB202中にない場合、その変換は、TLB失敗処理ユニット204によって生成される。TLB失敗処理ユニット204は、変換ロジック206およびページ・テーブル・ウォーク・ユニット208を含む。変換ロジック206は、仮想アドレス(VA)を修正仮想アドレス(MVA)に変換する。変換ロジック206は、例えば、仮想アドレスの1以上の上位ビット、例えば、7つの上位ビットVA[31:25]が0に等しいかどうかを判断する判断ロジック210、および、修正仮想アドレス(MVA)の上位ビットを選択するマルチプレクサ212を含む。例えば、マルチプレクサ212は、仮想アドレスのそれらのビットが0に等しい場合、仮想アドレスの上位7ビットを交換するプロセス識別子、PID[6:0]を選択する。そうでない場合、仮想アドレスの上位7ビットが選択される。
プロセス識別子(PID)は、プロセッサ100上のレジスタに格納され、特定のプロセスに関連する。7ビットのPIDに対して、仮想アドレスは、4Gバイトのアドレス空間中における128個の「スロット」の1つに再マップされる。このプロセス識別子の再マッピングは、同じ仮想アドレス空間にマップするオペレーティング・システムのプロセス管理に役立つ。これらのケースでは、実際にマップされたキャッシュは、例えば、FID値がロールオーバする時間またはPID値が再使用されるまで、プロセス・スイッチ上で無効にすることを要求しないであろう。PID(「PIDified」)によってまだ修正されていないアドレスは、仮想アドレス(VA)と呼ばれる。変換ロジック206を経由したが、物理アドレスに変換されていないアドレスは、修正仮想アドレス(MVA)と呼ばれる。
ページ・テーブル・ウォーク・ユニット208は、修正仮想アドレスを使用して、物理アドレスを生成する。メモリのアドレス方式は、仮想メモリを実行するためにページングをしばしば使用する。ページングを使用するとき、仮想アドレス空間は、ページと呼ばれる固定サイズのブロックに分割され、その各々は物理アドレスのいずれかの上にマップされる。例えば、ページ・テーブル・ウォーク・ユニット208は、ページング・アルゴリズムに従って、ページ・テーブルを使用して、物理アドレスへその仮想に対する現在のマッピングを決定し維持する。ページ・テーブルは、しばしばメイン・メモリにあり、それらへのアクセスは時間の消費である。ページ変換を促進するために、仮想アドレスから物理アドレスを生成する変換のうちのいくつかは、TLB202に格納されている。
これらの変換されたメモリ・アドレスは、物理メモリ・アドレスと称される一方、他の実施例では、これらの変換されたメモリ・アドレスはあらゆる多くの目的に使用することができる。例えば、物理アドレスが達成される前に、これらの変換されたメモリ・アドレス上でさらに変換を行なうことができる。加えて、一実施例は、仮想メモリ・アドレス空間の変換に関して説明される一方、他の実施例は、あらゆるタイプのアドレス変換を支援するために本発明を使用することができるであろう。
仮想アドレスから物理アドレスへの変換のうちのいくつかまたはすべては、TLB206に格納され、プロセス識別子が更新されると無効にされる。例えば、プロセスまたはコンテキストが切換えられると、プロセス識別子が更新される。TLB202が上位ヌル・ビットを有し、したがって特定のプロセスに特化している仮想アドレスに対する変換を収容しているので、プロセスがスイッチされると、それらの変換は無効にされなければならない。TLB202中の変換を無効にすることは、ソフトウェアによって行なわれる。代わりに、ハードウェアがその変更を検出し、自動的に無効を行なってもよい。
図3は、本発明の1つの実施例に従って、MMU104への要求でプロセッサ100によって仮想アドレスをその対応する物理アドレスへ変換するプロセスのフローチャートを図示する。
MMU104は、プロセス・ブロック302で、仮想アドレスを受け取る。プロセス・ブロック304で、仮想アドレスのための変換が例えばTLB202に格納されたかどうかの判断がなされる。もしそうならば、プロセス・ブロック306で、物理アドレスが取り出される。もしそうでない場合、プロセス・ブロック308で、仮想アドレスの上位ビット、例えば上位7ビットがヌル、すなわち、0に等しいかどうかの判断が成される。もしそうならば、プロセス・ブロック310で、上位ビットはプロセス識別子(PID)と取り替えられる。次に、プロセス・ブロック312で、PIDified仮想アドレス、すなわち修正仮想アドレス(MVA)を使用して、ページ・テーブル・ウォークが実行され、物理アドレスを生成する。TLB202は、プロセス・ブロック314で、仮想アドレスから物理アドレスへの新しい変換で更新される。
図4は、本発明の実施例に従って、プロセス・スイッチング・フローを示す。プロセス・ブロック402で、プロセス識別子(PID)が更新されたかどうかの判断がなされる。PIDが更新されている場合、プロセス・ブロック404で、TLBのすべてまたは一部は無効にされる。全てのTLBが無効にされてもよい。代わりに、仮想アドレスの上位ビットがヌルである変換だけが無効にされてもよい。
上述された技術は、本方法を実施する計算機システムを形成するためにコンピュータ読取り可能な媒体で具体化される。コンピュータ読取り可能な媒体は、システム100または別のシステムに、永久に、移動可能に、または遠隔に結合されてもよい。コンピュータ読取り可能な媒体は、例えば、制限なしに、次の任意の数を含めることができる、すなわち、少し例を挙げれば、ディスクとテープ格納媒体を含む磁気格納媒;コンパクト・ディスク媒体(例えば、CD−ROM、CD−Rなど)およびデジタル・ビデオ・ティスク格納媒体のような光格納媒体;ホログラム・メモリ;フラッシュ・メモリ、EEPROM、EPROM、ROMのような半導体ベースのメモリ・ユニットを含む不揮発性メモリ格納媒体;強磁性デジタル・メモリ;レジスタ、バッファまたはキャッシュ、メイン・メモリ、RAMなどを含む揮発性格納媒体;および永久・断続的なコンピュータ・ネットワークを含むデータ伝送媒体、2地点間電気通信設備、搬送波伝送媒体、インターネットを含む。他の新しい様々なタイプのコンピュータ読取り可能な媒体が、ここに議論されたソフトウェア・モジュールを格納しおよび/または送信するために、使用されてもよい。計算機システムは、少し例を挙げれば、メインフレーム、ミニコンピュータ、サーバ、ワークステーション、パーソナル・コンピュータ、ノートパッド、個人用デジタル情報処理端末、様々なワイヤレス装置および埋め込みシステムを含み、これらに限定されない多くの形式でみられる。典型的な計算機システムは、少なくとも1つの演算処理装置、関連するメモリおよび複数の入出力(I/O)装置を含む。計算機システムは、プログラムに従って情報を処理し、I/Oデバイスを介して結果となる出力情報を生成する。
本発明に従う具体化は、特定の実施例の状況中で説明された。これらの実施例は、例示が目的で制限的ではない。多くの変更、修正、追加および改良が可能である。従って、複数の実施例が、単一の実施例してここに描かれたコンポーネントに対して提供される。様々なコンポーネント、動作およびデータ格納の間における境界は多少任意的であり、また、特定の動作は特定の例示となる構成という状況下で図示される。他の機能割当てを構想することもでき、次の請求項の範囲以内に入る。最後に、様々な構成中の個別のコンポーネントとして示された構造および機能は、結合した構造またはコンポーネントとしても実施できる。これらおよび他の変更、修正、追加および改良は、次の請求項で定義される本発明の範囲内に入るものである。
本発明の実施例に従う計算機システムの様々なロジック・ブロックを示す。 本発明の実施例に従うメモリ管理ユニットのブロック図を示す。 本発明の実施例に従う仮想アドレスから物理アドレスへの変換フローチャートを示す。 本発明の実施例に従うプロセス・スイッチング・フローを示す。

Claims (24)

  1. 仮想アドレスを受け取り、かつ対応する物理アドレスを提供するために形成されたメモリ管理ユニットにおいて、前記メモリ管理ユニットは、
    仮想アドレスから物理アドレスへの1またはそれ以上の変換を含むストレージと、
    前記仮想アドレスから修正仮想アドレスを生成する変換ロジックと、
    前記修正仮想アドレスを前記対応する物理アドレスに変換するために形成されたページ・テーブル・ウォーク・ユニットと、
    を含むことを特徴とするメモリ管理ユニット。
  2. 前記変換ロジックは、前記仮想アドレスの1またはそれ以上のビットが予め定める値を含む場合、前記仮想アドレスの前記1またはそれ以上のビットをプロセス識別子に置き換えるために形成されることを特徴とする請求項1記載のメモリ管理ユニット。
  3. 前記予め定める値は、0であることを特徴とする請求項2記載のメモリ管理ユニット。
  4. 前記メモリ管理ユニットは、算術論理演算ユニットから前記仮想アドレスを受け取るために形成されることを特徴とする請求項1記載のメモリ管理ユニット。
  5. 前記メモリ管理ユニットは、インクリメンタから前記仮想アドレスを受け取るために形成されることを特徴とする請求項1記載のメモリ管理ユニット。
  6. 前記仮想アドレスは、データ・アドレスを含むことを特徴とする請求項1記載のメモリ管理ユニット。
  7. 前記仮想アドレスは、命令アドレスを含むことを特徴とする請求項1記載のメモリ管理ユニット。
  8. 仮想アドレスから物理アドレスへの前記1またはそれ以上の変換は、プロセス識別子への更新で無効にされることを特徴とする請求項1記載のメモリ管理ユニット。
  9. 仮想アドレス部分に予め定める値と等しい1またはそれ以上のビットを有する仮想アドレスから物理アドレスへの変換だけが、プロセス識別子への更新で無効にされることを特徴とする請求項1記載のメモリ管理ユニット。
  10. 前記ストレージは、仮想アドレスから物理アドレスへの1またはそれ以上の直近に生成された変換を格納するために形成されることを特徴とする請求項1記載のメモリ管理ユニット。
  11. アンテナと、
    メモリと、
    前記アンテナおよび前記メモリに結合されたプロセッサと、を含むシステムにおいて、前記プロセッサは、
    アドレス生成ユニット、および、
    前記アドレス生成ユニットから仮想アドレスを受け取り、かつ対応する物理アドレスを提供するために形成されたメモリ管理ユニット、を含み、
    前記メモリ管理ユニットは、
    仮想アドレスから物理アドレスへの1またはそれ以上の変換を含むストレージ、
    前記仮想アドレスから修正仮想アドレスを生成する変換ロジック、および、
    前記修正仮想アドレスを前記対応する物理アドレスに変換するために形成されたページ・テーブル・ウォーク・ユニット、
    を含むことを特著とするシステム。
  12. 前記変換ロジックは、前記仮想アドレスの1またはそれ以上のビットが予め定める値を含む場合、前記仮想アドレスの前記1またはそれ以上のビットをプロセス識別子に置き換えるために形成されることを特徴とする請求項11記載のシステム。
  13. 前記アドレス生成ユニットは、算術論理演算ユニットを含むことを特徴とする請求項11記載のシステム。
  14. 前記アドレス生成ユニットは、インクリメンタを含むことを特徴とする請求項11記載のシステム。
  15. 仮想アドレスから物理アドレスへの前記1またはそれ以上の変換は、プロセス識別子への更新で無効にされることを特徴とする請求項11記載のシステム。
  16. 仮想アドレス部分に予め定める値と等しい1またはそれ以上のビットを有する仮想アドレスから物理アドレスへの変換だけが、プロセス識別子への更新で無効にされることを特徴とする請求項11記載のシステム。
  17. 仮想アドレスを受け取る段階と、
    前記仮想アドレスがストレージに物理アドレスに対する変換を有しているかどうか判断する段階と、
    そうでない場合、前記仮想アドレスから修正仮想アドレスを生成する段階と、
    前記修正仮想アドレスを物理アドレスに変換する段階と、
    を含むことを特徴とする方法。
  18. 前記修正仮想アドレスを生成する段階は、前記仮想アドレスの1またはそれ以上のビットが予め定める値に等しい場合、前記仮想アドレスの前記1またはそれ以上のビットをプロセス識別子に置き換える段階を含むことを特徴とする請求項17記載の方法。
  19. 前記修正仮想アドレスを変換する段階は、ページ・テーブル・ウォークを実行する段階を含むことを特徴とする請求項17記載の方法。
  20. プロセス識別子が変化する場合、前記ストレージ中の変換をすべて無効にする段階をさらに含むことを特徴とする請求項17記載の方法。
  21. 予め定める値と等しい1またはそれ以上のビットからなる仮想アドレス部分を有する前記ストレージ中の変換だけを無効にする段階をさらに含むことを特徴とする請求項17記載の方法。
  22. 生成されたあらゆる変換を前記ストレージに置く段階をさらに含むことを特徴とする請求項17記載の方法。
  23. 前記仮想アドレスは、データ・アドレスであることを特徴とする請求項17記載の方法。
  24. 前記仮想アドレスは、命令アドレスであることを特徴とする請求項17記載の方法。
JP2006551169A 2004-02-06 2005-01-14 状況切換え環境中におけるアドレス変換技術 Pending JP2007520014A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/773,847 US7519791B2 (en) 2004-02-06 2004-02-06 Address conversion technique in a context switching environment
PCT/US2005/001234 WO2005078590A2 (en) 2004-02-06 2005-01-14 Address conversion technique in a context switching environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010020031A Division JP2010134956A (ja) 2004-02-06 2010-02-01 状況切換え環境中におけるアドレス変換技術

Publications (1)

Publication Number Publication Date
JP2007520014A true JP2007520014A (ja) 2007-07-19

Family

ID=34826847

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006551169A Pending JP2007520014A (ja) 2004-02-06 2005-01-14 状況切換え環境中におけるアドレス変換技術
JP2010020031A Pending JP2010134956A (ja) 2004-02-06 2010-02-01 状況切換え環境中におけるアドレス変換技術

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2010020031A Pending JP2010134956A (ja) 2004-02-06 2010-02-01 状況切換え環境中におけるアドレス変換技術

Country Status (6)

Country Link
US (1) US7519791B2 (ja)
JP (2) JP2007520014A (ja)
KR (1) KR100895715B1 (ja)
MY (1) MY140166A (ja)
TW (1) TWI295015B (ja)
WO (1) WO2005078590A2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676814B2 (en) * 2004-03-25 2010-03-09 Globalfoundries Inc. Four layer architecture for network device drivers
US20070011431A1 (en) * 2005-06-27 2007-01-11 Microsoft Corporation ROM software breakpoints
US20080005399A1 (en) * 2006-05-16 2008-01-03 Ati Technologies Inc. Method and Apparatus for Determining the Status of Bus Requests and Responses
US8250254B2 (en) * 2007-07-31 2012-08-21 Intel Corporation Offloading input/output (I/O) virtualization operations to a processor
US8140825B2 (en) * 2008-08-05 2012-03-20 International Business Machines Corporation Systems and methods for selectively closing pages in a memory
KR20120083160A (ko) 2011-01-17 2012-07-25 삼성전자주식회사 메모리 관리 유닛, 이를 포함하는 장치들, 및 이의 동작 방법
KR102069273B1 (ko) * 2013-03-11 2020-01-22 삼성전자주식회사 시스템 온 칩 및 그 동작방법
KR101821633B1 (ko) 2013-03-14 2018-03-08 삼성전자주식회사 메모리 시스템

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5460528A (en) * 1977-10-24 1979-05-16 Hitachi Ltd Multiple virtual memory control equipment
JPS54111726A (en) * 1978-02-22 1979-09-01 Hitachi Ltd Control unit for multiplex virtual memory
US6061774A (en) * 1997-05-23 2000-05-09 Compaq Computer Corporation Limited virtual address aliasing and fast context switching with multi-set virtual cache without backmaps
GB2339037B (en) * 1998-07-03 2002-11-20 Advanced Risc Mach Ltd Memory address translation in a data processing system
JP2000067009A (ja) * 1998-08-20 2000-03-03 Hitachi Ltd 主記憶共有型マルチプロセッサ
US6751583B1 (en) * 1999-10-29 2004-06-15 Vast Systems Technology Corporation Hardware and software co-simulation including simulating a target processor using binary translation
US6754784B1 (en) * 2000-02-01 2004-06-22 Cirrus Logic, Inc. Methods and circuits for securing encached information
AU2001231165A1 (en) 2000-02-01 2001-08-14 Cirrus Logic, Inc. Methods for synthesizing translation tables and systems using the same
US6742103B2 (en) * 2000-08-21 2004-05-25 Texas Instruments Incorporated Processing system with shared translation lookaside buffer
US6907600B2 (en) * 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US6772315B1 (en) * 2001-05-24 2004-08-03 Rambus Inc Translation lookaside buffer extended to provide physical and main-memory addresses
US7103748B2 (en) * 2002-12-12 2006-09-05 International Business Machines Corporation Memory management for real-time applications

Also Published As

Publication number Publication date
KR100895715B1 (ko) 2009-04-30
US7519791B2 (en) 2009-04-14
WO2005078590A3 (en) 2006-03-30
WO2005078590A2 (en) 2005-08-25
TWI295015B (en) 2008-03-21
JP2010134956A (ja) 2010-06-17
US20050177701A1 (en) 2005-08-11
TW200534094A (en) 2005-10-16
MY140166A (en) 2009-11-30
KR20060120242A (ko) 2006-11-24

Similar Documents

Publication Publication Date Title
US7089398B2 (en) Address translation using a page size tag
JP4268332B2 (ja) 仮想アドレスからページ・テーブル・インデックスを計算する方法および装置
CN101315614B (zh) 支持页属性的虚拟地址至物理地址的转换
US5918251A (en) Method and apparatus for preloading different default address translation attributes
US5479627A (en) Virtual address to physical address translation cache that supports multiple page sizes
JP3640978B2 (ja) ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置
US7913058B2 (en) System and method for identifying TLB entries associated with a physical address of a specified range
JP2010134956A (ja) 状況切換え環境中におけるアドレス変換技術
US8185692B2 (en) Unified cache structure that facilitates accessing translation table entries
US8024546B2 (en) Opportunistic page largification
US20060161758A1 (en) Multiple page size address translation incorporating page size prediction
JP2011513808A (ja) 変換例外修飾子を用いる動的アドレス変換
JP2003067357A (ja) 不均一メモリ・アクセス(numa)データ処理システムおよびその操作方法
JPH04319747A (ja) アドレス変換機構
JPH04320553A (ja) アドレス変換機構
US20160283396A1 (en) Memory management
CN114328295A (zh) 存储管理装置、处理器、相关装置和相关方法
US7100018B2 (en) System and method for encoding page size information
CN114063934B (zh) 数据更新装置、方法及电子设备

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090427

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090608

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090925

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100201