JP2008527483A - メモリ保護ユニットを有するデータ処理装置 - Google Patents

メモリ保護ユニットを有するデータ処理装置 Download PDF

Info

Publication number
JP2008527483A
JP2008527483A JP2007548886A JP2007548886A JP2008527483A JP 2008527483 A JP2008527483 A JP 2008527483A JP 2007548886 A JP2007548886 A JP 2007548886A JP 2007548886 A JP2007548886 A JP 2007548886A JP 2008527483 A JP2008527483 A JP 2008527483A
Authority
JP
Japan
Prior art keywords
memory
subdivision
area
region
areas
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.)
Granted
Application number
JP2007548886A
Other languages
English (en)
Other versions
JP4647668B2 (ja
Inventor
ポール・キメルマン
リチャード・ロイ・グリセンスウェイト
デイヴィッド・ジェームス・シール
Original Assignee
アーム・リミテッド
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 アーム・リミテッド filed Critical アーム・リミテッド
Publication of JP2008527483A publication Critical patent/JP2008527483A/ja
Application granted granted Critical
Publication of JP4647668B2 publication Critical patent/JP4647668B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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 physical, e.g. cell, word, block
    • G06F12/1441Protection 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 physical, e.g. cell, word, block for a range

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)

Abstract

データ処理装置(100)は、データ値を記憶するメモリと、メモリ属性をメモリの部分と関連させ、かつメモリのそれぞれのアドレス範囲に対応する複数のメモリ領域を識別するメモリ保護ユニット(130)とを備える。該メモリ保護ユニットは、それぞれのメモリ領域指示子を複数のメモリ領域(150)の少なくとも1つと関連させ、メモリ領域指示子は、メモリ領域と関連したメモリ属性の組を限定するための属性フィールド(230)と、下位区分領域メンバシップ値を保持するための下位区分領域フィールド(240)とを備える。下位区分領域メンバシップ値は、メモリ属性が、メンバ下位区分領域に適用されるが、非メンバ下位区分領域には適用されないように、それぞれの下位区分領域(160−1〜160−8)がメンバ下位区分領域であるかまたは非メンバ下位区分領域であるかを、メモリ領域の複数の下位区分領域の各々に対して特定する。

Description

本発明は、データ処理システムに関する。特に、本発明は、メモリ保護ユニットを有するデータ処理システムに関する。
メモリ保護ユニットを使用したデータ処理システムにおいてメモリ・アクセスを制御することは知られている。これらのメモリ保護ユニットは、保護ユニット・レジスタに書き込むことによって構成される特性を有する複数の保護領域を限定する。このことは、メモリの特性に渡る制御のレベルを提供し、異なった属性を有する異なったメモリ領域が特定されるのを可能とする。メモリ保護ユニットは、メモリ管理ユニットと類似しているが、それらが仮想アドレスから物理アドレスへのマッピングを含んでいないという意味において、より単純である。さらに、メモリ保護ユニットは、トランザクション・テーブルを用いないが、それら自身を、ハードウェアにおける相対的に小さい数の領域に制限して、応答の予測可能性(predicatability)を改善する。
2つまたは3つ以上の重複メモリ領域を有するようにメモリ保護ユニットをプログラミングすることも知られている。重複領域は、メモリ領域がデータ処理システムにおける物理メモリ装置上に如何にマッピングされ得るかに関する柔軟性を高める。しかしながら、履行の価格を単純化するために、メモリ領域が割り当てられ得る方法に、普通、或る制約がある。メモリ領域のサイズは、2の累乗でなければならず、例えば、250Bから4GBまでの範囲であり得る。しかしながら、メモリ領域の開始アドレスは、領域のサイズの倍数であるように制約され、すなわち、サイズ2の領域に対して、開始アドレスはkでなければならず、ここに、kは整数である。このことは、任意のサイズのメモリ領域を限定することがこのようなシステムにおいては可能でないということを意味する。任意のサイズのメモリ領域を有するシステムが創設され得るけれども、それをするのは一層高価格である。メモリ保護ユニットは、代表的には、8から16までの範囲において異なったメモリ領域を提供する。
メモリ領域が既知のシステムに割り当てられる方法に関する制約に起因して、処理装置によって必要とされる与えられたサイズのメモリ・ブロックを限定するようメモリ属性のそれぞれの組を有する1つ以上のメモリ領域を割り当てることが必要であり得る。これは、メモリ属性が全メモリ領域に適用されなければならないからである。
さらに、既知のメモリ保護ユニットによるメモリ領域の線引きは、データ処理装置上で実行している応用プロセスが周辺装置の異なったグループへのアクセス許可を必要とする状況において特に柔軟なものではない。この困難さは、代表的には、メモリの隣接するブロックが周辺装置の全セットに割り当てられるという状況から生じる。データ処理装置によって実行される異なったアプリケーション・プロセスの多様な性質に起因して、異なったプロセスは既知のメモリ・ユニットにおける周辺装置の異なった下位区分セットへのアクセス許可の異なったセットを必要とするのが通常である。この状況に適応させるために、個々の各周辺装置にそれぞれのメモリ領域を割り当てることが知られている。代表的には、8から16までのメモリ領域だけが提供されるので、制限された数の領域からの需要は高く、このことは、メモリ保護ユニットによって限定されるべきメモリ領域の数が増加するという要件をもたらしてきた。従って、既知のメモリ保護ユニットよりも一層柔軟性を提供し、なおかつ、増加した多くの数のメモリ保護領域を導入することのオーバーヘッドを含まないデータ処理装置に対する必要性がある。
一態様に鑑みると、本発明は、データを処理するための装置であって、
データ値を記憶するよう動作可能なメモリと、
メモリ属性を前記メモリの部分と関連させるよう、かつ前記メモリのそれぞれのアドレス範囲に対応する複数のメモリ領域を識別するよう動作可能なメモリ保護ユニットとを備え、該メモリ保護ユニットは、それぞれのメモリ領域指示子を前記複数のメモリ領域の少なくとも1つと関連させるよう動作可能であり、前記メモリ領域指示子は、前記メモリ領域と関連したメモリ属性の組を限定するための属性フィールドと、それぞれの下位区分領域がメンバ下位区分領域であるかまたは非メンバ下位区分領域であるかを、前記メモリ領域の複数の下位区分領域の各々に対して特定する下位区分領域メンバシップ値を保持するための下位区分領域フィールドとを備え、それにより、前記メモリ属性は、前記メンバ下位区分領域に適用されるが、前記非メンバ下位区分領域には適用されないようにした装置を提供する。
本発明の技術は、各メモリ領域が複数の個々の下位区分領域に副分割されるのを許容すること、並びに、下位区分領域の各々が、メモリ属性の限定された組が適用されるメンバ下位区分領域であるか、または代替的に、メモリ領域と関連したメモリ属性が適用されない非メンバ下位区分領域であるかを特定する下位区分領域メンバシップ値を保持するための下位区分領域フィールドを、メモリ領域と関連したメモリ領域指示子に設けること、は、物理的メモリの割付けにおいて莫大な柔軟性を提供する。メモリ属性の組を、個々の下位区分領域であるメモリ領域の特定された部分だけに関連させる能力は、メモリ領域の開始アドレスが、克服されるべきメモリ領域のサイズの整数倍でなければならないという制約を許容し、その理由は、もし、完全なメモリ領域を限定することが可能でないサイズのメモリのブロックを割り付けることが望まれる場合には、必要とされるメモリ・ブロックよりも大きいサイズの単一のメモリ領域を、該メモリ・ブロックに割り付けるが、必要とされない該一層大きいメモリ領域の部分を非メンバ・下位区分領域として特定することがなお可能であるからである。非メンバ・下位区分領域は、次に、他のメモリ領域によって用いられることができ、そこで、それらはメンバ・下位区分領域として選択されることができる。
或る下位区分領域だけをメンバ・下位区分領域として選択する能力は、また、各周辺装置のためのメモリ領域の非効率な使用の問題を処理する。これは、単一のメモリ領域の異なった下位区分領域が、周辺装置の全組の異なったものと関連することができ、かつ、異なったアプリケーション・プロセスに対して認可されるべき異なったアクセス許可が、アクセスが認可されるべき周辺装置の与えられた組と関連したそれらの下位区分領域をメンバ下位区分領域として単純に割付けることによって単一のメモリ領域内に収容されることができるからである。
メモリ領域指示子によって限定されるメモリ属性の組は、多くて良くかつ変えられることができるということが理解されるであろう。一実施形態においては、メモリ属性の組は、メモリ・アクセス許可を含む。従って、或る下位区分領域は、読取り専用、読取り及び書き込み双方のアクセス可能または全くアクセス可能でないものとして限定され得る。もう1つの実施形態においては、データ処理装置は、ユーザ・レベル及び特権のあるレベルを含む複数のレベルを含み、そして、メモリ・アクセス許可は、複数のレベルのいずれにおいてアクセスが許可されるかを特定する。従って、例えば、特権のユーザ・レベルは正常なアプリケーション・プロセスに利用可能であり得、それに反して、例外の発生時には、アクセスは特権のあるレベルに提供され得る。従って、或るメモリ領域に対しては、読取り専用の許可がユーザ・レベル・アクセスに対して与えられることができ、それに反して、読取り及び書き込み双方の許可は、特権のあるレベル・アクセスに対して提供されることができる。このことは、命令及び構成パラメータを保持するもののような或るメモリ領域へのアクセスを、ユーザ・レベルでかかるメモリ領域に認可されるアクセスよりも一層制限しない、一層高い特権レベルが認可されるのを許容する柔軟性を提供する。
さらなる実施形態において、メモリ属性の組は、メモリ下位区分領域がキャッシュ可能またはキャッシュ可能でないメモリであるかに関する指示を含む。もう1つの代替的な実施形態は、メンバ・下位区分領域がバッファ可能であるかまたはバッファ可能でないかに関する指示を含むメモリ属性を有する。このことは、キャッシング・データまたはバッファリング・データと関連した何等かの悪影響をプログラマが制御するのを可能とする。例えば、プログラマが期待しないであろう時に生じるメモリ・アクセスを阻止するためにキャッシュ可能またはバッファ可能であるメモリ下位区分領域を割り付けることを回避すること、もしくは、代替的には、データ項目が保持され得る多数の物理的場所が存在することを回避することが望まれるかもしれない。キャッシュ・メモリの特性に起因して、或るメモリ・マッピングされる入力/出力場所は、キャッシングのために適切でない。キャッシュ可能/キャッシュ不可能であるメモリ領域内に或る下位区分領域を設計する、及び、バッファ可能/バッファ不可能である与えられたメモリ領域内に或る下位区分領域を設計する能力は、プログラマに、メモリ・リソースの一層効率的な使用を可能とする一層大きい柔軟性を提供する。
与えられたメモリ領域の下位区分領域は、利用可能な下位区分領域の全数によってのみ制約される、任意の可能な数及び組み合わせで、メンバ・下位区分領域または非メンバ・下位区分領域として割り付けられることができる。しかしながら、一実施形態においては、下位区分領域フィールドが、複数の連続するメンバ下位区分領域を特定するために使用される。このことは、メモリ保護ユニットによって限定され得るメモリ領域のサイズにおける何等かの制限を克服し、その理由は、標準化されていないサイズのメモリ領域の等価物が、必要とされるよりも大きいメモリ領域を選択することによって、メンバ下位区分領域として下位区分領域の連続するグループを選択することによって、かつ、非メンバ下位区分領域として下位区分領域の残りの連続するブロックを割り付けることによって限定され得るからである。このことは、中間サイズのメモリ領域を効果的に限定し、2つの別々に限定された組のメモリ属性を有する2つの異なったメモリ領域を用いた標準化されていないサイズのメモリ領域を形成するための既知のシステムにおける必要性を回避する。
本発明の異なった実施形態においては、下位区分領域フィールドは、複数の非連続のメンバ下位区分領域を特定するために使用される。このことは、周辺装置の各々に対して全メモリ領域を消費することなく周辺装置の異なった下位区分セットに2つの異なったアプリケーション・プロセスのアクセス許可を割り付けることが望まれる場合に非常に大きい柔軟性を提供する。このことは、周辺装置を下位区分領域に関連させることによって達成され、それにより単一のメモリ領域が周辺装置の組と関連される。異なったプログラム・アプリケーションに対して、アクセスが許可されるべき周辺装置と関連されるこれらの下位区分領域は、メンバ・下位区分領域として限定され、それに反して、アクセスが許可されるべきでない周辺装置と関連されるこれらの下位区分領域は、非メンバ・下位区分領域として限定される。従って、一層多い周辺装置が、限定されたメモリ領域の制限された数を有するメモリ保護ユニットを用いて適応され得る。
メモリ保護ユニットの複数のメモリ領域は、重複をもたない連続的に限定されるメモリ領域であって良いが、本発明の一実施形態においては、メモリ保護ユニットのメモリ領域は重複するメモリ領域である。従って、与えられた下位区分領域が、1つ以上のメモリ保護領域内に存在する場合には、次に、例えば、最も高い番号のメモリ領域のメモリ属性がそれに適用され得る。このことは、各メモリ領域が、メンバ下位区分領域または非メンバ下位区分領域として割り当てられ得る複数の下位区分領域を備えるという本発明技術によるシステムにおいて特に有用である。非メンバ・下位区分領域は、下位区分領域をメンバ下位区分領域として限定した一層低い階層レベルに存在するメモリ領域による、割り当てられたメモリ属性であり得る。例えば、もしメモリの与えられた部分が、最も高く番号付けられたメモリ領域レベルにおける非メンバ下位区分領域として割付けられるならば、次に、そのメモリ属性は、該下位区分領域がメンバ下位区分領域として限定される次の最も高いメモリ領域レベルの属性に単に対応する。1つの特定の実施形態において、もし、メモリの与えられたアドレス範囲が、非メンバ下位区分領域として前記複数のメモリ領域の1つの前記下位区分領域フィールドによって特定されるならば、次に、該同じ与えられたアドレス範囲は、また、メンバ下位区分領域として前記複数のメンバ領域の異なった1つに対応する下位区分領域フィールドによっても特定され得る。このことは、メモリの該アドレス範囲が、メモリ属性の割り当てられた組無しで残されるということを回避する。
本発明の一実施形態においては、データ処理装置は、異なったメモリ・アドレス・マッピングを有する複数の異なった処理アプリケーションを実行するよう動作可能である。このような装置の例は、異なった処理アプリケーションのスレッド化された実行を行なうことができる装置である。この実施形態において、前記複数の異なった処理アプリケーションの異なった1つの実行間の文脈切換えの場合において、前記メモリ保護ユニットは、前記複数のメモリ領域の少なくとも1つの前記下位区分領域フィールドを更新するよう動作可能である。このことは、各メモリ領域に対するメモリ属性が固定されたままであることを可能にし、なおかつ、メンバ・下位区分領域及び非メンバ下位区分領域として各メンバ領域の下位区分領域の異なった1つを割り付けることによって、異なった属性が異なった下位区分領域に適用するのを可能とする。従って、例えば、もし、最も高く番号付けられたメモリ領域の下位区分領域がメンバ下位区分領域として予め割り付けられ、なおかつ、文脈切換えの後に、それが非メンバ下位区分領域として割付けられたならば、次に、文脈切換えの前には、最も高いメモリ領域のメモリ属性は、該下位区分領域に適用され、それに反して、文脈切換えの後には、異なった一層低く番号付けられたメモリ領域のメモリ属性が該同じメモリ部分に適用される。さらなる実施形態において、前記メモリ保護ユニットは、前記文脈切換えの場合に前記属性フィールドを更新するよう動作可能である。このことは、実行されているアプリケーション・プロセスのメモリ使用要件の変化を反映するよう、与えられたメモリ領域のメモリ属性が変化されるのを許容する。
メモリ領域は、異なったサイズの下位区分領域に分割され得るけれども、幾つかの実施形態においては、メモリ領域の下位区分領域が等しいサイズであるように設計される。このことは、例えば、周辺装置の組に対応する連続するメモリ・ブロックにおいて与えられた周辺装置に与えられた下位区分領域を割り付ける際の下位区分領域の割付けを単純化する。
現在のアドレス・ワードのアドレス特定部分は、種々の異なった方法でデータ処理装置内で識別され得ることが理解されるであろう。しかしながら、本発明の一実施形態においては、アドレス・マスクは、関連のメモリ領域のサイズを特定するサイズ値に依存して現在のアドレス・ワードのアドレス特定部分を識別するために用いられる。このことは、現在のメモリ・アドレスが属するメモリ領域の効率的な識別を可能とする。
一実施形態においては、データ処理装置は、下位区分領域有効値を決定するよう動作可能な下位区分領域有効性ロジックを備え、前記下位区分領域有効値は、前記現在のメモリ場所が前記メンバ・下位区分領域の1つに関連するかまたは前記非メンバ・下位区分領域の1つに関連するかを特定する。このことは、与えられたメモリ・アドレスが、与えられたメモリ領域及び与えられたメモリ領域のメンバ・下位区分領域の双方に対応するか否かを識別する便利な手段を提供する。
現在のメモリ場所が属する下位区分領域が、かかる下位区分領域及び各領域のための別々の決定として、領域サイズ及びアドレスと一緒に、現在のアドレス・ワード値から直接に決定され得るということが分かるであろう。しかしながら、この識別は、現在のメモリ場所が複数の領域のいずれに属するかを識別するために、かつ、現在のメモリ場所が同一の領域の複数の下位区分領域のいずれに属するかを識別するようアドレス・マスクを再使用するために、アドレス・マスクをベースにした方法を用いることにより、少ない領域の回路で一層効率的に行なわれる。
さらなる実施形態において、有効性ロジックは、前記アドレス・マスクからのビットと前記現在アドレス・ワードからのビットとを論理的に結合することによって選択ビットの組を計算することにより特定の下位区分領域を識別するためにアドレス・マスクを用いるよう動作可能である。またさらなる実施形態において、前記下位区分領域有効性ロジックは、選択ビットの前記組の異なった1つを論理的に結合することにより最終選択ビットの組を計算するよう動作可能である。この方法は、現在のアドレスが関連している下位区分領域を現在のアドレス・ワードから決定するために必要とされるマルチプレクサの数を減ずる。従って、それは、メモリ・アドレスが対応する特定の下位区分領域を特定するアドレスのそれらのビットを隔離する便利な方法を提供する。
さらなる実施形態において、前記下位区分領域有効性ロジックは、前記下位区分領域有効値を計算するために最終選択ビットの前記組を置換する(permute)よう動作可能である置換(permutation)ロジックを備える。一実施形態においては、置換ロジックは、最終選択ビットの前記組を置換するよう動作可能であり、それに反して、もう1つの代替的な実施形態においては、置換ロジックは、前記下位区分領域有効値を計算するために前記下位区分領域メンバシップ値を代わりに置換するよう動作可能である。これらの2つの実施形態は、対応するメモリ領域の適切な下位区分領域を特定するアドレス・ビットをアドレス・マスクから回復する代替的な方法を提供する。
置換ロジックは、下位区分領域メンバシップ値の記憶後であるが下位区分領域有効値の計算前に下位区分領域メンバシップ値の置換を行なうことができるけれども、本発明の幾つかの実施形態においては、置換ロジックは、下位区分領域メンバシップ値をオペランド記憶に書き込む際に置換を行なうよう動作可能である。このことは、置換の段階を下位区分領域メンバシップ値のメモリへの書き込みの段階に結合することにより一層効率的なロジック回路を提供する。
置換ロジックの別々の組が、各個々のメモリ領域の下位区分領域メンバシップ値を置換するために提供され得るということが理解され得るであろう。しかしながら、本発明の実施形態においては、単一のロジック・モジュールは前記複数のメモリ領域の各々に対して前記置換を行うように用いられる。このことは、メモリ・下位区分領域の供給を管理するために必要とされる回路の量を減ずる。
もう1つの態様に鑑みて、本発明は、データを処理するための方法であって、
データ値をメモリに記憶するステップと、
メモリ属性を前記メモリの部分と関連させ、かつメモリ保護ユニットを用いて前記メモリのそれぞれのアドレス範囲に対応する複数のメモリ領域を識別するステップと、
それぞれのメモリ領域指示子を前記複数のメモリ領域の少なくとも1つと関連させるステップと、前記メモリ領域指示子は、前記メモリ領域と関連したメモリ属性の組を限定するための属性フィールドと、それぞれの下位区分領域がメンバ下位区分領域であるかまたは非メンバ下位区分領域であるかを、前記メモリ領域の複数の下位区分領域の各々に対して特定する下位区分領域メンバシップ値を保持するための下位区分領域フィールドとを備え、それにより、前記メモリ属性は、前記メンバ下位区分領域に適用されるが、前記非メンバ下位区分領域には適用されないようにした方法を提供する。
さらなる態様に鑑みると、本発明は、データを処理するための装置であって、
データ値を記憶するための手段と、
メモリ属性を前記メモリの部分と関連させ、かつ前記メモリのそれぞれのアドレス範囲に対応する複数のメモリ領域を識別するためのメモリ保護手段と、を備え、該メモリ保護手段は、それぞれのメモリ領域指示子を前記複数のメモリ領域の少なくとも1つと関連させるよう動作可能であり、前記メモリ領域指示子は、前記メモリ領域と関連したメモリ属性の組を限定するための属性フィールドと、それぞれの下位区分領域がメンバ下位区分領域であるかまたは非メンバ下位区分領域であるかを、前記メモリ領域の複数の下位区分領域の各々に対して特定する下位区分領域メンバシップ値を保持するための下位区分領域フィールドとを備え、それにより、前記メモリ属性は、前記メンバ下位区分領域に適用されるが、前記非メンバ下位区分領域には適用されないようにした装置を提供する。
本発明の上述及び他の目的、特徴及び長所は、添付図面と共に読まれるべき実施形態の以下の詳細な説明から明瞭となるであろう。
図1は、本発明の技術によるデータ処理装置を概略的に示す。データ処理装置100は、処理ロジック110、データ及び/または命令を格納するよう動作可能なメモリ120、及びメモリ保護ユニット130を備える。メモリ120は、バス105に接続され、処理ロジック110は、メモリ保護ユニット130に接続され、該メモリ保護ユニット130は、バスに接続される。メモリ保護ユニット130は、メモリ120を管理する方法を提供し、メモリ属性140のそれぞれのセットを有する複数の異なったメモリ領域を限定する。メモリ保護ユニット130は、物理的なメモリ・アドレス空間を管理する。メモリ保護ユニット130は、それぞれの保護ユニット・レジスタに書き込むことにより複数の保護領域の各々と関連した属性を限定する。メモリ領域のサイズは、2であり、ここにnは整数であり、該サイズは、4KBから4GBの範囲までに及び得る。メモリ領域の開始アドレスは、この実施形態においては、2nの倍数であるように制約される。図1は、複数の下位区分領域160−1から160−8に分割されたメモリ領域150を示す。メモリ属性140のセットは、全メモリ領域150に関係して限定される。しかしながら、メモリ領域150に対するメモリ領域指示子は、複数の下位区分領域160−1から160−8の各々に対して、該下位区分領域がメンバ・下位区分領域であるかまたは非メンバ下位区分領域であるかを特定する下位区分領域メンバシップ値を保持するための下位区分領域フィールドを有する。図1において、メンバ下位区分領域は、斜線領域160−2及び150−6である。メモリ属性140は、メモリ保護ユニット130によって、メモリ下位区分領域にだけ与えられ、非メンバ下位区分領域には与えられない。
メモリ属性140は、以下のものを含む:メモリ・アクセス許可;メモリ領域が読取り可能であるか及び/または書き込み可能であるかに関する指示;メモリ領域がキャッシュ可能なメモリ領域であるか否かの指示;及びメモリ領域がバッファ可能であるか否かの指示。アクセス許可は、アクセスのユーザ・レベル及びアクセスの特権のあるレベルを含み、メモリ領域指示子の属性フィールドのメモリ・アクセス許可は、関連のメモリ領域へのアクセスのそれらレベルのいずれの1つが許可されるのかを特定する。アクセスの特権のあるレベルは、ユーザ・レベルが可能であるよりも一層制限されない、メモリ、命令及び構成パラメータへのアクセスを可能とし、そして処理ロジック110は、例えば、例外が発生した場合に、ユーザ・レベルから特権のあるレベルに切換わるであろう。キャッシュ及び書き込みバッファがその数、タイプ及び主メモリへのタイミング・アクセスを変えるので、それらはメモリ場所の幾つかのタイプと関連したデータの記憶にとって適切ではない。例えば、書き込みバッファ及び書き込みバック・キャッシュは、記憶命令が処理ロジック110によって実行されたということが後で実際に生じるようにメモリ120への記憶を遅延させることが可能であるということに依存している。これは、メモリ・マッピングされた中断/出力場所のような或るタイプのメモリ場所にとっては適切ではないかも知れない。従って、メモリ保護ユニット130は、与えられたメモリ領域がキャッシュ不能、バッファ不能またはその両者として指定されるのを許容する。メモリの下位区分領域並びに一層粗いスケール・メモリ領域を特定するための能力は、既知のメモリ保護システムに関してメモリ・リソース管理におけるさらなる柔軟性を提供する。
図2Aは、既知のメモリ保護ユニットにおいて用いられるメモリ領域指示子を概略的に示すメモリ領域指示子は、ベース・アドレス・フィールド210、サイズ・フィールド220及び属性フィールド230を含む。このような1つのメモリ領域指示子は、代表的には8から16の範囲にあるメモリ保護ユニット130によって限定されるメモリ領域の各々に対して提供される。ベース・アドレス・フィールド210は、関連のメモリ領域150の最初のバイトのアドレスを特定する。最初のバイトのアドレスは、領域サイズの倍数であることが要求される。さらに、この配列において、メモリ領域がそのサイズの倍数に割り当てられるという要件があり、従って、サイズ2のメモリ領域に対して、該メモリ領域はkであるように割り当てられ、ここに、kは整数の値である。サイズ・フィールド220は、この配列においては250バイトから4GBまでの範囲にあり得る関連のメモリ領域のサイズを特定する。属性フィールド230は、メモリ領域と関連したメモリ属性を特定する。これらのメモリ属性は、アクセスのユーザ・レベルが許容されるかまたはアクセスの特権のあるレベルが許容されるかにより、メモリ領域が読取り可能及び/または書き込み可能であるかに関する指示、メモリ領域がキャッシュ可能であるかまたはキャッシュ可能でないかの指示、及びメモリ領域がバッファ可能であるかまたはバッファ可能でないかの指示を含む。既知のメモリ保護システムにおいては、メモリ領域がサイズにおいて変化し得るけれども、メモリ属性は、図2Aのメモリ領域指示子が関連している全メモリ領域だけに関連している。
図2Bは、本発明の技術によるメモリ領域指示子を概略的に示す。図2Bのメモリ領域指示子は、図2Aの既知の指示子と同じ3つのフィールドを有している(すなわち、ベース・アドレス210、サイズ・フィールド220、及び属性フィールド230)。しかしながら、図2Bのメモリ領域指示子は、追加の下位区分領域フィールド240を有しており、該フィールド240は、メモリ領域のそれぞれの下位区分領域がメンバ下位区分領域または非メンバ下位区分領域により、対応のメモリ領域の複数の下位区分領域の各々に対して特定する多数ビットの下位区分領域メンバシップ値を含んでいる。属性フィールド230において特定される属性は、下位区分領域メンバシップ値によって特定されるこれらの下位区分領域に対してのみ適用され、その理由は、メンバ下位区分領域及び特定された属性が、示された非メンバ下位区分領域であるこれらの下位区分領域には適用されないからである。従って、図2Bのメモリ領域指示子は、与えられたメモリ領域が下位区分領域に分割されるのを可能とし、それにより、メモリ領域に対応する属性は、領域の全メモリ範囲に与えられる代わりに、下位区分領域メンバシップ値によって決定される下位区分領域の下位区分セットにのみ適用される。この柔軟性は、既知のシステムにおけるメモリ領域の数からメモリ領域の数を増加させる必要なく提供され得る。図2Bの実施形態においては、メモリ属性及び下位区分領域メンバシップ値が記述子内に特定されたけれども、これらの値は、異なったレジスタ内に別に記憶されてメモリ保護ユニット130によって検索され得ることが分かるであろう。
図3は、メモリ保護ユニット130によって管理されたメモリ領域が重複領域として如何に配列されるかを概略的に示す。図3は、物理的なメモリ・アドレスに対応するアドレス310のブロックを示す。この例においては、示されたアドレス範囲は、0x0000(16進法)から0x4000までである。図3にはまた、幾つかの異なったメモリ領域320、330、340、350が示されている。それぞれのメモリ領域間に物理的なメモリ・アドレス空間における幾つかの重複があるということが分かり得る。各メモリ領域がサイズ2のものでありかつ2nで配列されているということが、この配列においては必要とされるので、一層小さいメモリ領域は、示されているように重複している場合には一層大きい領域内に全体的に横たわる。例えば、メモリ領域320、330及び340は全てアドレス0x1800を含む。図3におけるそれぞれのメモリ領域の斜線部分の領域は、メンバ下位区分領域を表し、それに反し、メモリ領域の斜線部分でない領域は非メンバ下位区分領域を表す。物理的なメモリ・アドレス0x1800は、メモリ領域320及び330のメンバ下位区分領域に対応するが、メモリ領域340の非メンバ下位区分領域にも対応するということが分かる。重複メモリ領域は、異なったメモリ領域がデータ処理システムにおける物理的メモリ装置上に如何にマッピングされ得るかに関して柔軟性を高める。重複領域を効果的に管理するために、メモリ保護ユニット130は、固定の優先機構を適用して、与えられたメモリ部分に適用されるべきメモリ属性を限定する際にどのメモリ領域が優先権を取るべきかを決定し、ここに、与えられたメモリ部分は、複数のメモリ領域の1つ以上内に落ちる。特に、一層高い優先レベルを有するメモリ領域と関連した属性は、一層低い優先レベルを有するメモリ領域のためのそれらの属性に渡って優先権を取る。この例において、優先レベルは、メモリ保護ユニット130によって限定されたメモリ領域の配列に依存する。従って、図3の例においては、もしメモリ領域320がレベル0領域であり、メモリ・レベル330がレベル1領域であり、メモリ・レベル340がレベル2領域であり、そしてメモリ・レベル350がレベル3領域であるならば、次に、メモリ領域320及びメモリ領域330の双方がアドレス0x1800を含むメンバ下位区分領域を有するので、メモリ・レベル1すなわちメモリ領域330に対して特定される属性は、メモリ・レベル0すなわちメモリ領域320に対して特定されるメモリ属性に優先的に適用される、ということになる。
メモリの重複特性は、また、バックグランド領域を特定するためにも用いられ得る。例えば、メモリ保護ユニット130が、4GBの全物理的なメモリ・アドレス空間を横切ってまばらに配分されている幾つかのメモリ領域を限定した場合を考慮してみる。もし、プログラミング・エラーが生じて、プロセッサが、限定されたメモリ領域のいずれの内にも落ちないメモリ・アドレスに対してアクセス要求を発行したならば、次に、メモリ保護ユニット130は、通常、そのメモリ・アクセスを打ち切るであろう。しかしながら、全物理的なメモリ・アドレス空間をカバーする4GBのバックグランド領域であるようにレベル0におけるメモリ領域を限定することによって、メモリ・アクセスが他の特定されたメモリ領域のいずれにも落ちないならば、次に、アクセスは、ユーザがレベル0におけるメモリ領域のためのメモリ領域指示子にプログラミングしたデフォルト属性の組によって制御されるであろう。
図4A及び4Bは、メモリ領域内の連続する下位区分領域を特定する際に本発明の技術によって提供される追加の柔軟性を概略的に示している。メモリ保護ユニット130によって履行されるメモリ領域のサイズ及びベース・アドレスに関する制約、すなわち、メモリ領域の開始アドレスがメモリ領域のサイズ2の倍数であるという制約に起因して、既知のシステムにおいては、メモリ領域だけを特定するが、メモリ・下位区分領域が限定されるのを許容しないということは、任意のサイズのメモリ領域を割り付けることを可能としない。この状況は、アプリケーション・プロセスがサイズ24KBの物理的なメモリの連続ブロックの割付けを必要とするという、図4Aの例によって示されている。しかしながら、メモリ保護ユニット130は、サイズ24DBのメモリ領域を割り付けるための柔軟性を有していなかったものであり、従って、24KBの全メモリ・ブロックを構成するために、2つのメモリ領域、すなわち長さにおいて16KBの第1のメモリ領域410、及び長さにおいて8KBの第2のメモリ領域420を別々に割り付けることが必要であった。メモリの24KBの連続するブロックを割り付けるために2つのメモリ領域を別々に特定することと関連したオーバーヘッドは高く、その理由は、2つのメモリ領域の各々に対して属性を別々に特定しなければならないからである。
対照的に、図4Bは、メモリの24KBの連続するブロックが本発明の技術による装置によって如何に割り付けられるかを示す。メモリ領域を複数の下位区分領域に分割するための能力、並びに、(下位区分領域のメンバシップ値の適切なビットを用いて)メモリ領域の属性が該特定の下位区分領域に適用されるべきか否かをこれら下位区分領域の各々に対して特定するための能力のために、プロセスに単一の32KB領域を割り付けることによって、かつ、該領域内の下位区分領域の幾つかをメンバ下位区分領域にセットし、残りの下位区分領域を非メンバ下位区分領域であるようにセットすることにより、物理的なメモリの24KB部分を割り付けることが可能である。特に、図4Bの例においては、32KBのメモリ領域は、サイズにおいて各々4KBの8つの等しい下位区分領域に分割される。従って、6つの連続する4KBの下位区分領域をメンバ下位区分領域として割付け、かつ、残りの2つの4KBの下位区分領域を非メンバ下位区分領域として割付けることによって、24KBのメモリ部分が容易に限定され得る。図4Bの単一の領域を用いて24KBの部分を限定することの利点は、メモリ属性が全32KB領域と関連するということであり、従って、該メモリ属性は、32KBのメモリ領域の必要な24KB部分だけに該メモリ属性が適用され得る、関連のメモリ領域指示子の下位区分領域フィールドを用いることによって、なお一度だけ限定され得る、ということである。
図5Aから図5Cは、処理周辺機器の異なった組にメンバ下位区分領域の異なった組を割り付けることを概略的に示す。図5Aは、処理ロジック110上で実行している第1のアプリケーション・プロセスのための全メモリ・マップを示し、他方、図5Bは処理ロジック110上で実行している第2の異なったアプリケーション・プロセスのための全メモリ・マップを示す。これらのアプリケーション・プロセスは、ワード処理(ワープロ)アプリケーション、スプレッド・シート・アプリケーションまたはコンピュータ・ゲーム・アプリケーションのような処理アプリケーションに対応する。図5Aから図5Cの例において、8つの周辺装置の全てがデータ処理装置100によって与えられるという場合を考察する。代表的には、メモリの連続するブロックは、周辺装置の8つのすべてに割付けられる。しかしながら、図5Aのプロセス1及び図5Bのプロセス2は、周辺装置の異なった下位区分セットに対してアクセス許可の異なった組を必要とする。例えば、図5Aの第1のプロセスにおいては、メモリ・マップ部分514、516、518によってそれぞれ示されるように周辺機器P1、P3及びP5だけにアクセスを可能とすることが望まれる。この第1のアプリケーション・プロセスは、周辺機器P2、P4またはP6からP8の使用を許可しない。対照的に、図5Bの第2のアプリケーション・プロセスは、P1、P2及びP4である周辺機器の異なった下位区分セットへのアクセスを許可し、そして残りの周辺機器P3及びP5からP8へのアクセスを許可しない。図5Aのメモリ・マップは、また、命令510に割り付けられたメモリのブロック、及びデータ記憶に割り付けられたメモリの第2のブロック512を示している。同様に、図5Bのメモリ・マップによって示されたアプリケーション・プロセスは、命令メモリ・ブロック520及び別のデータ・メモリ・ブロック522を備えている。各データ記憶メモリ・ブロック512、522、並びに命令メモリ・ブロック510及び520の各々は、1つ以上のメモリ領域を含み得る。第2のアプリケーションの命令メモリ520は、第1のアプリケーションの命令メモリ510とは重複しない。
メモリ保護ユニットを備えた既知のシステムにおいては、周辺装置の異なった下位区分セットへのアクセスを、異なったアプリケーション・プロセスに提供するための要件は、各周辺装置にそれぞれのメモリ領域を別々に割り付けることによって適応される。代表的には、8から16までのメモリ領域が与えられるので、データ処理装置は、大きいグループの周辺機器及び異なった処理アプリケーションの異なった要件を適応することを試みる際、利用可能なメモリ領域の外で迅速に実行することができる。
しかしながら、本発明の技術によれば、それぞれのメモリ領域をそれぞれの周辺装置に個々に割り付けるための要件は便宜的に回避され、その理由は、それが各メモリ領域に対して個々の下位区分領域を限定することの柔軟性を提供するからである。さらに、各下位区分領域は、領域に関連したメモリ属性が活動的に適用されるメンバ下位区分領域か、または、該領域と関連したメモリ属性が活動的に適用されない非メンバ下位区分領域かのいずれかを指定され得る。従って、合計で8つの周辺装置を有する図5Aから図5Cのシステムにおいて、図5Cに示されるメモリ領域は、便宜的に8つの下位区分領域に副分割され、それにより、各下位区分領域は、与えられた周辺装置と関連され得る。このように、図5Aのメモリ・マップに示されたアプリケーション・プロセスにおいて、周辺機器P1、P3及びP5だけへのアクセスを許容する要件は、単一のメモリ領域を使用して、かつ、メンバ下位区分領域としてP1、P3及びP5と関連する下位区分領域を特定することによって、しかし、非メンバ下位区分領域としてP2、P4及びP6からP8と関連する下位区分領域を特定することによって、適応され得る。同様に、周辺装置P1、P2及びP4へのアクセスが必要とされる図5Bに示された第2のアプリケーション・プロセスのメモリ・マップにおいては、これは、単一のメモリ領域を用いることによって、かつ、メンバ下位区分領域としてP1、P2及びP4と関連した下位区分領域を特定することによって、しかし、P3及びP6からP8と関連した下位区分領域を非メンバ下位区分領域と共に割り当てることを特定することによって、達成され得る。この方法で、周辺装置の異なった下位区分セットは、各周辺装置ごとにメモリ領域を消費することなく、異なったアプリケーション・プロセスによってアクセスされ得る。むしろ、単一のメモリ領域は、異なったプロセスのための周辺機器アクセス許可の異なった組を特定するために、下位区分領域のメンバ及び非メンバ特性と一緒に用いられ得る。
第1のプロセス及び第2のプロセス間の文脈切換えの場合において、メモリ保護ユニット130は、下位区分領域のいずれが該メモリ領域のためのメンバ・下位区分領域であるかを変更するために、各メモリ領域のために図2Bの下位区分領域フィールド240を更新するよう動作可能である。さらに、メモリ保護ユニット130は、また、文脈切換えから帰結するシステム・メモリへの需要に関する変更を適応させるよう、1つ以上のメモリ領域のための属性フィールド230を更新することもできる。
図6は、与えられた下位区分領域がメンバ下位区分領域であるかまたは非メンバ下位区分領域であるかを特定する下位区分領域有効ビットを決定するよう動作可能な下位区分領域有効性ロジックの部分を概略的に示す。ロジック配列は、現在のアドレス・ワードを記憶するための第1のレジスタ610と、マスク・ワードを記憶するための第2のレジスタ620と、27個のANDゲート630−5から630−31までの組と、3つの論理ORゲート642、644及び646の組と、下位区分領域メンバシップ値の置換ブロック650と、レジスタ660と、マルチプレクサ670とを備える。
レジスタ610は、処理ロジック110によって発生された32ビットのアドレス・ワードを保持し、他方、レジスタ620は、現在のアドレス・ワードの関連のアドレス特定部分を識別するために用いられるアドレス・マスク・ワードを保持する。レジスタ620に記憶されたマスク・ワードは、図2Bのメモリ領域指示子に特定されたサイズ値220に依存する値を有する。ANDロジック・ゲート630−5から630−31は、それぞれの選択ビットSiを計算するよう配列されている。ANDゲート630−5は、例えば、アドレス・ワード・レジスタ610の要素5から第1の入力を取り、マスク・ワード・レジスタ620の8番目の要素から第2の入力を取り、そしてマスク・ワード・レジスタ620の5番目のレジスタ要素に対応する第3の反転入力を取る。概して、i=5から31までのための選択ビットSiは、次の式によって与えられる:Si=M(i+3).Ai.NOT(Mi).[S=Mi+3.Ai.NOT(Mi)]。第1のORゲートは、入力値として選択ビットS10、S13、S16、S19、S22、S25、S28、S31を受信する。第2のORゲート644は、入力として選択ビットS、S、S12、S15、S18、S21、S24、S27及びS30を取り、他方、第3のORゲート646は、入力として選択ビットS、S、S11、S14、S17、S20、S23、S26及びS29を受信する。このように、ORゲート642、644及び646の各々は、3番目ごとの選択ビット出力が、与えられたORゲートに供給されるANDゲート630−5から630−31までによって出力される27の選択ビットの下位区分セットを入力として受信する。ORゲート642、644及び646の出力は、現在のアドレス・ワードに対応するメモリ場所が図5Cの8つの可能な下位区分領域のいずれに属するかを決定するために用いられる、F−ビットと示される最終選択ビットに対応する。ANDゲート630−5〜630−31からの3番目ごとの選択ビットを含むグループを選択するために3つのORゲート642、644及び646を用いれば、処理ロジックを簡単にし、その理由は、もしそうでない場合には、24のマルチプレクサを含むアレイが必要とされるであろうからである。それぞれのORゲート642、644及び646からの3つのF−ビットは、選択入力としてマルチプレクサ670に供給される。下位区分領域メンバシップ値の置換ブロック650は、関連のメモリ領域の下位区分領域の各々がメンバ下位区分領域であるかまたは非メンバ下位区分領域であるかを特定する8ビットの下位区分領域メンバシップ値及び図2Bのサイズ・フィールド220のサイズ値を入力として受信する。8ビットの下位区分領域メンバシップ値は、それがレジスタ660に書き込まれて、次に、マルチプレクサ670に入力として供給される前に、置換ブロック650によって置換される。
マルチプレクサ670の出力は、現在のアドレス・ワードが、メンバ下位区分領域に属するメモリ場所を表すか否かを特定する下位区分領域有効ビットである。置換ブロック650は、この例示的実施形態においては、ORゲート配列642、644、646の性質に起因して必要とされ、このことは、これらのORゲートから出力されるF−ビットが、8つの可能な下位区分領域のいずれに現在のメモリ・アドレスが対応するかを特定する3つのアドレス・ビットのオーダリング(順番付け)の置換を表し得るということを意味する。これを図7及び図8Aから図8Bを参照して以下に一層完全に説明する。
図7は、選択ビット及びF−ビットが図6の回路においていかに計算されるかを示す例である。この単純化された例において、現在のアドレス・ワードは、8ビット・アドレス・ワードAiであり、ここに、i=0〜7であり、そして、同様に、マスク・ワードは、8ビット・マスク・ワードMiであり、ここに、i=0〜7である。セレクト・ビットSi、i=0〜7、は、図6のANDゲート630−5〜630−31の出力を表す。セレクト・ビットは、図7に示されるように式710によって特定され、3つのF―ビットの各々は、選択ビットの異なった1の論理的組み合わせから導出される。特に、第1のF−ビット、Fは、選択ビットS、S、及びS上で行われる論理的OR演算によって与えられ、第2のF−ビット、Fは、SビットS、S、及びS上で行われる論理的OR演算によって与えられ、そして、第3のF−ビット、Fは、入力S及びSを有する論理的OR演算によって与えられる。これは、図6の論理的ORゲート642、644及び646によって行われる計算と類似しており、その理由は、図7の例におけるFビットが、2つの介在するSビットもしくは等価的に3番目ごとのS−ビットによって離間された選択ビットから計算され、他方、図6の回路においては、ORゲートへの入力が3番目ごとの論理的ANDゲートから選択されるからである。
図8A〜図8Dは、図7に与えられた式によるFビットの計算の4つの特定的な例を与えるものである。これら4つの例の各々において、選択ビットSiは、式710に従って計算され、そして、非ゼロ選択ビットは、マスク・ワードMの1のストリングの終りにすぐ続く最初の3つのビットに常に対応する。図8Aの例においては、マスク・ワードは、4つの連続する1を有し、その後に最下位のビット位置における4つの連続するゼロが続く。選択ビットは、式710から計算され、それにより、例えばSは、A AND M AND (NOT M)=A AND 1 AND 1=A に等しい。同様に、Sは、A AND M AND (NOT M)=A AND 0 AND 1=0 に等しい。選択ワードの他のビットは、同様の方法で計算される。最終の選択ビットFiは、図7に与えられた式に従って計算され、それにより、F=S OR S OR S=0 OR A OR 0=A;F=S OR S OR S=A OR 0 OR 0=A;及びF=S OR S=A OR 0=A である。図8B〜8Dのさらに3つの例のF−ビットは、同様の態様で計算される。3つのF−ビットは、一緒に、現在のアドレスが、8つの可能な下位区分領域のいずれの1つに属するかを特定する。しかしながら、図6のロジック回路を用いてF−ビットが計算される態様に起因して、与えられた領域内の関連の下位区分領域を特定するアドレス・ビットAiが置換され得る。F−ビットが実際に置換されるか否かを決定するために、log(サイズ)を決定するための計算が行われ、表記log(サイズ)%3によって示される3で除算するときのlog(サイズ)の残りは、再順番付けが実際に必要とされるか否かに関する指示を提供する。この計算は、log(サイズ)の値が実際にマスク・ワードに含まれるゼロの全数に対応するということを指摘することによって単純化される。従って、図8Aの例においては、log(サイズ)=4及び4%3の値は、1に等しい。残りの値が非ゼロであるので、このことは、下位区分領域を特定する3つのアドレス・ビットの正しい順番付けを回復するために特定の置換が必要とされるということを我々に教える。図8Bの例においては、マスク・ワードは、5つの連続する1を含み、その後に最下位ビット位置(the lowest order bit positions)において3つの連続するゼロが続く。この場合において、F−ビットF、F及びFは、それぞれアドレス・ビットA、A及びAに対応する。図8Bのマスク・ワードには3つのゼロがあるので、log(サイズ)は、3に等しく、それにより、この場合における残りは0であり、そして置換は必要とされない。図8Cにおいて、マスク・ワードは、3つの連続する1を備え、その後に最下位のビット位置において5つの連続するゼロが続く。この場合において、図8Aの場合におけるように、F−ビットは置換された順番で回復される。特に、F、F及びFは、それぞれアドレス・ビットA、A及びAに等しい。この場合において、マスク・ワードは5つのゼロを有するので、log(サイズ)は5に等しく、そして3で除算されるときの残りは2に等しく、それにより置換が必要とされる。最後に、図8Dの例においては、マスク・ワードは2つの1によって形成され、その後に、最下位の6ビット位置において6つの連続するゼロが続き、そして、F−ビットは、log(サイズ)が6に等しいという事実によって示される置換されない順番で回復され、それにより3で除算されるときの残りはゼロに等しい。図8A〜図8Dの例から、図6の回路から回復されたF−ビットは、与えられた現在のアドレス・ワードに対応する適切な下位区分領域を特定するアドレス・ビットの隔離を許容するということが分かる。しかしながら、F−ビットは、置換された順番でアドレス・ビットAiを特定する下位区分領域を表し得、それにより、この置換は、補償されなければならない。
図9Aは、与えられた現在のアドレスが、メンバ下位区分領域である下位区分領域にあるか否かを決定するために用いられる下位区分領域有効ビットを計算するために用いられる第1の配列である。該配列は、下位区分領域メンバシップ値の記憶のための8ビット・レジスタ910と、下位区分領域メンバシップ値のビットを置換するための置換ロジック920のブロックと、下位区分領域有効ビットを出力するよう動作可能なマルチプレクサ930とを備える。この配列は、F−ビットの正しい順番を回復するための置換が、下位区分領域メンバシップ値上でまたはF−ビットそれら自体上でのいずれかで行われ得るという事実を利用している。図9Aの配列は、レジスタ910における置換されない下位区分領域メンバシップ値を記憶し、そして置換ロジック920に下位区分領域メンバシップ値を供給し、ここで、8ビット下位区分領域メンバシップ値は、3で除算されるlog(サイズ)の残りに依存して置換される。置換ロジック920は、置換された下位区分領域メンバシップ値をマルチプレクサ930に出力する。置換されない順番におけるF−ビットは、選択ビットとしてマルチプレクサ930に供給され、それにより、マルチプレクサの出力は、与えられた下位区分領域がメンバ下位区分領域または非メンバ下位区分領域であるか否かを示す。F−ビットは、現在のアドレスが対応する8つの可能な下位区分領域の内の特定の下位区分領域を示し、それに反して、レジスタ910に記憶された下位区分領域有効値は、特定の下位区分領域がメンバ・下位区分領域であるか否かを示す。置換ロジック920は、log(サイズ)%3の値に依存して置換を行う。下位区分領域メンバシップ値は、残りが0である場合に置換されないままである。置換されない下位区分領域メンバシップ値がビット順番[7、6、5、4、3、2、1、0]を有するならば、次に、1の残りは、下位区分領域有効値のビット順番[7、3、6、2、5、1、3、0]に帰結し、それに反して、値2の残りは、[7、5、3、1、6、4、2、0]に帰結する。図9Aの配列は、下位区分領域メンバシップ値が双方の場合において置換されるという点において図6の配列と類似している。しかしながら、図6の配列においては、置換は、下位区分領域メンバシップ値がレジスタ660に書き込まれる前に行われ、それに反して、図9Aの例においては、下位区分領域有効値は、それがレジスタ910から読み出された後にかつそれがマルチプレクサ930に供給される前に置換される。
図9Bは、下位区分領域有効ビットの計算のための代替的な配列を示している。この配列は、図9Aと同様に、8ビットの下位区分領域メンバシップ値を保持するためのレジスタ910と、マルチプレクサ930とを備えている。しかしながら、この特定の配列においては、下位区分領域メンバシップ値がレジスタ910から読み出された後に下位区分領域メンバシップ値のビットを置換するのでは無くむしろ、下位区分領域メンバシップ値は、マルチプレクサ930に置換されずに直接供給される。代わりに、F−ビットは、それらがマルチプレクサ930に供給される前に置換される。この置換は、F−ビット置換ブロック940によって行われる。F−ビット置換ブロック940は、入力として、置換されないF−ビットを受信し、そしてメモリ領域のサイズ、すなわち値log(サイズ)%3に従って置換を行う。置換の性質は図8A〜図8Dに関して上述されている。再度、図9Aと同様に、マルチプレクサ930の出力は、下位区分領域有効ビットである。
図10は、下位区分領域有効ビットを計算するために、下位区分領域メンバシップ値を置換するための代替的な配列を概略的に示す。この配列においては、単一の置換ロジック・モジュール1010が、複数のメモリ領域の各々に対応する下位区分領域メンバシップ値を置換するために用いられる。図10において、8ビットの下位区分領域メンバシップ値を保持するレジスタが、ブロック要素1022、1024、1026及び1028によって表されている。これら4つのレジスタのすべては書き込み可能化される。この配列は、8ビットの下位区分領域メンバシップ値を保持するレジスタのすべてに対応する下位区分領域有効値を置換するために、同じ置換ロジック・ブロックの効率的な再使用を提供する。
図11は、現在のアドレス・ワードが対応する特定の下位区分領域に、与えられたメモリ領域と関連するメモリ属性が適用されるべきか否かを示す領域ヒット値を計算するために動作可能なロジック配列を概略的に示している。メモリ属性は、メンバ下位区分領域であるそれらの下位区分領域にのみ適用されることを思い起こされたし。該配列は、3つの32ビット・レジスタ:現在のアドレス・ワード・レジスタ1100;ベース・アドレス・レジスタ1110;及びマスク・ワード・レジスタ1120、を備えている。該配列は、また、一連の27の排他的OR(XOR)ゲート1130、一連の27の論理ANDゲート1140及び論理NORゲート1150を備えている。現在のアドレス・ワード1100のビットをAiで示し、ここに、iは0〜31の範囲における整数であり、そしてベース・アドレス1110のビットをBiで示せば、次に、一連のXORゲート1130は、i=5〜31に対して計算 Ai XOR Bi を行うということが分かる。一連のANDゲートは、第1の入力として、それぞれのXORゲート1130の出力を、そして第2の入力として、マスク・ワードMiの対応ビットを受信する。従って、ANDゲート1140によって行われる論理演算は、i=5〜31に対して(Ai XOR Bi)AND Miである。一連のANDゲート1140の27の出力は、NORゲート1150に入力として供給される。NORゲート1150へのさらなる入力は、図6の配列によって計算された下位区分領域有効ビットである。下位区分領域有効ビットのさらなる入力無しで、図11の配列は、与えられたベース・アドレスと関連したメモリ領域に現在のアドレスが対応するか否かを示すために用いられる非ロジック回路に対応する。しかしながら、下位区分領域有効ビット入力1160を含めれば、この回路の機能を変え、それにより、それは、現在のアドレス・ワードが特定のベース・アドレス1110と関連したメモリ領域内にあるアドレスを表すということ、並びに、現在のアドレスが対応する特定の下位区分領域がメンバ下位区分領域であるということ、の双方を示す。もし、下位区分領域有効ビットの値が1ならば、次に、その値は、NORゲート1150からの1の出力に対応する領域ヒットを達成するよう、NORゲートへの入力上で反転されるので、下位区分領域有効ビットは1の入力値を有するべきであることが必要である。
本発明の図示した実施形態を添付図面を参照してここに詳細に説明してきたけれども、本発明は、それらの詳細な実施形態に制限されるものでは無く、種々の変化及び変更が、特許請求の範囲によって限定される本発明の範囲並びに精神から逸脱することなく、当業者によって行なわれ得るということを理解すべきである。
メモリ保護ユニットを有するデータ処理システムを概略的に示す図である。 既知のメモリ保護ユニットのメモリ領域の記述子を概略的に示す図である。 下位区分領域フィールドを有する本発明によるメモリ記述子を概略的に示す図である。 重複メモリ領域を割り付けるよう動作可能なメモリ保護ユニットの異なったメモリ領域を概略的に示す図である。 異なったサイズのメモリ・ブロックを特定するための2つの別個のメモリ領域の割付けを概略的に示す図である。 図4Aによって特定された同じメモリ・ブロックを特定するよう本発明による技術によって単一のメモリ領域が如何にして用いられるかを概略的に示す図である。 データ処理システム上で実行している異なったアプリケーション・プロセスによる異なった周辺装置へのアクセスのメモリ管理を概略的に示す図である。 データ処理システム上で実行している異なったアプリケーション・プロセスによる異なった周辺装置へのアクセスのメモリ管理を概略的に示す図である。 データ処理システム上で実行している異なったアプリケーション・プロセスによる異なった周辺装置へのアクセスのメモリ管理を概略的に示す図である。 下位区分領域有効ビットを計算するよう動作可能であるロジックを概略的に示す図である。 図6の回路素子の出力に対応する値を計算するために用いられる式を示す図である。 図6の回路の計算例を示す図である。 図6の回路の計算例を示す図である。 図6の回路の計算例を示す図である。 図6の回路の計算例を示す図である。 下位区分領域メンバシップ値を置換するためのロジックを備えた下位区分領域有効ビットを計算するために用いられる回路の部分を概略的に示す図である。 最終選択ビットを置換するよう動作可能な置換ロジックを有する下位区分領域有効ビットを計算するために動作可能な回路の部分を概略的に示す図である。 複数の異なったメモリ領域の下位区分領域メンバシップ値を置換するよう動作可能な置換ロジックの単一のブロックを概略的に示す図である。 メンバ下位区分領域のための領域ヒットを決定するよう動作可能なロジックの部分を概略的に示す図である。
符号の説明
100 データ処理装置
105 バス
110 処理ロジック
120 メモリ
130 メモリ保護ユニット
140 メモリ属性
150 メモリ領域
160−1〜160−8 下位区分領域
160−2、160−6 メンバ下位区分領域
910 レジスタ
920 置換ロジック
930 マルチプレクサ
940 置換ブロック

Claims (24)

  1. データを処理するための装置であって、
    データ値を記憶するよう動作可能なメモリと、
    メモリ属性を前記メモリの部分と関連させるよう、かつ前記メモリのそれぞれのアドレス範囲に対応する複数のメモリ領域を識別するよう動作可能なメモリ保護ユニットとを備え、該メモリ保護ユニットは、それぞれのメモリ領域指示子を前記複数のメモリ領域の少なくとも1つと関連させるよう動作可能であり、前記メモリ領域指示子は、前記メモリ領域と関連したメモリ属性の組を限定するための属性フィールドと、それぞれの下位区分領域がメンバ・下位区分領域であるかまたは非メンバ下位区分領域であるかを、前記メモリ領域の複数の下位区分領域の各々に対して特定する下位区分領域メンバシップ値を保持するための下位区分領域フィールドとを備え、それにより、前記メモリ属性は、前記メンバ下位区分領域に適用されるが、前記非メンバ下位区分領域には適用されないようにした装置。
  2. メモリ属性の前記組は、メモリ・アクセス許可を含む請求項1に記載の装置。
  3. 前記装置は、ユーザ・レベル及び特権のあるレベルを含む複数のレベルで操作可能であり、前記メモリ・アクセス許可は、アクセスの前記複数のレベルのいずれにおいて許可されるかを特定する請求項1に記載の装置。
  4. 前記メモリ属性は、前記メンバ下位区分領域が読取り可能であるかまたは書き込み可能であるかに関する指示を含む請求項1に記載の装置。
  5. メモリ属性の前記組は、前記メモリ下位区分領域がキャッシュ可能であるかまたはキャッシュ可能でないかに関する指示を含む請求項1に記載の装置。
  6. メモリ属性の前記組は、前記メンバ下位区分領域がバッファ可能であるかまたはバッファ可能でないかに関する指示を含む請求項1に記載の装置。
  7. 前記メモリ保護ユニットは、複数の連続するメンバ下位区分領域を特定するために前記下位区分領域フィールドを使用するよう動作可能である請求項1に記載の装置。
  8. 前記メモリ保護ユニットは、複数の非連続のメンバ下位区分領域を特定するために前記下位区分領域フィールドを使用するよう動作可能である請求項1に記載の装置。
  9. 前記複数のメモリ領域は、重複メモリ領域である請求項1に記載の装置。
  10. 前記メモリの与えられたアドレス範囲は、非メンバ下位区分領域として前記複数のメモリ領域の1つの前記下位区分領域フィールドによって特定され、前記与えられたアドレス範囲は、また、メンバ下位区分領域として前記複数のメンバ領域の異なった1つに対応する下位区分領域フィールドによって特定される請求項9に記載の装置。
  11. 前記データ処理装置は、それぞれのメモリ・アドレス・マッピングを有する複数の異なった処理アプリケーションを実行するよう動作可能であり、前記複数の異なった処理アプリケーションの異なった1つの実行間の文脈切換えが生じたとき、前記メモリ保護ユニットは、前記複数のメモリ領域の少なくとも1つの前記下位区分領域フィールドを更新するよう動作可能である請求項9に記載の装置。
  12. 前記メモリ保護ユニットは、前記文脈切換えの場合に前記属性フィールドを更新するよう動作可能である請求項11に記載の装置。
  13. 前記メモリ領域の前記複数の下位区分領域が等しいサイズである請求項1に記載の装置。
  14. アドレス・マスクは、前記メモリ領域のサイズを特定するサイズ値に依存して現在のアドレス・ワードのアドレス特定部分を識別するために用いられ、前記現在のアドレス・ワードは、現在のメモリ場所に対応する請求項1に記載の装置。
  15. 下位区分領域有効値を決定するよう動作可能な下位区分領域有効性ロジックを備え、前記下位区分領域有効値は、前記現在のメモリ場所が前記メンバ下位区分領域の1つに関連するかまたは前記非メンバ下位区分領域の1つに関連するかを特定する請求項14に記載の装置。
  16. 前記下位区分領域有効性ロジックは、前記現在のメモリ場所が属する前記複数の下位区分領域の1つを前記現在のアドレス・ワードから識別するために前記アドレス・マスクを使用するよう動作可能である請求項15に記載の装置。
  17. 前記下位区分領域有効性ロジックは、前記アドレス・マスクからのビットと前記現在アドレス・ワードからのビットを論理的に結合することにより選択ビットの組を計算するよう動作可能である請求項16に記載の装置。
  18. 前記下位区分領域有効性ロジックは、選択ビットの前記組の異なった1つを論理的に結合することにより最終選択ビットの組を計算するよう動作可能である請求項17に記載の装置。
  19. 前記下位区分領域有効性ロジックは、前記下位区分領域有効値を計算するために最終選択ビットの前記組を置換するよう動作可能である置換ロジックを備える請求項18に記載の装置。
  20. 前記下位区分領域有効性ロジックは、前記下位区分領域有効値を計算するために前記下位区分領域メンバシップ値を置換するよう動作可能である置換ロジックを備える請求項18に記載の装置。
  21. 前記置換ロジックは、前記下位区分領域メンバシップ値をオペランド記憶に書き込むときに前記置換を行うよう動作可能である請求項20に記載の装置。
  22. 前記置換ロジックは、単一のロジック・モジュールを備え、前記の単一のロジック・モジュールは前記複数のメモリ領域の各々に対して前記置換を行うよう用いられる請求項21に記載の装置。
  23. データを処理するための方法であって、
    データ値をメモリに記憶するステップと、
    メモリ属性を前記メモリの部分と関連させ、かつメモリ保護ユニットを用いて前記メモリのそれぞれのアドレス範囲に対応する複数のメモリ領域を識別するステップと、
    それぞれのメモリ領域指示子を前記複数のメモリ領域の少なくとも1つと関連させるステップと、前記メモリ領域指示子は、前記メモリ領域と関連したメモリ属性の組を限定するための属性フィールドと、それぞれの下位区分領域がメンバ下位区分領域であるかまたは非メンバ下位区分領域であるかを、前記メモリ領域の複数の下位区分領域の各々に対して特定する下位区分領域メンバシップ値を保持するための下位区分領域フィールドとを備え、それにより、前記メモリ属性は、前記メンバ下位区分領域に適用されるが、前記非メンバ下位区分領域には適用されないようにした方法。
  24. データを処理するための装置であって、
    データ値を記憶するための手段と、
    メモリ属性を前記メモリの部分と関連させ、かつ前記メモリのそれぞれのアドレス範囲に対応する複数のメモリ領域を識別するためのメモリ保護手段と、を備え、該メモリ保護手段は、それぞれのメモリ領域指示子を前記複数のメモリ領域の少なくとも1つと関連させるよう動作可能であり、前記メモリ領域指示子は、前記メモリ領域と関連したメモリ属性の組を限定するための属性フィールドと、それぞれの下位区分領域がメンバ下位区分領域であるかまたは非メンバ下位区分領域であるかを、前記メモリ領域の複数の下位区分領域の各々に対して特定する下位区分領域メンバシップ値を保持するための下位区分領域フィールドとを備え、それにより、前記メモリ属性は、前記メンバ下位区分領域に適用されるが、前記非メンバ下位区分領域には適用されないようにした装置。
JP2007548886A 2005-01-04 2005-09-29 メモリ保護ユニットを有するデータ処理装置 Active JP4647668B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/028,501 US7068545B1 (en) 2005-01-04 2005-01-04 Data processing apparatus having memory protection unit
PCT/GB2005/003755 WO2006072756A1 (en) 2005-01-04 2005-09-29 Data processing apparatus having memory protection unit

Publications (2)

Publication Number Publication Date
JP2008527483A true JP2008527483A (ja) 2008-07-24
JP4647668B2 JP4647668B2 (ja) 2011-03-09

Family

ID=35447495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007548886A Active JP4647668B2 (ja) 2005-01-04 2005-09-29 メモリ保護ユニットを有するデータ処理装置

Country Status (9)

Country Link
US (1) US7068545B1 (ja)
EP (1) EP1839159B1 (ja)
JP (1) JP4647668B2 (ja)
KR (1) KR101016714B1 (ja)
CN (1) CN101095122B (ja)
IL (1) IL183909A (ja)
MY (1) MY136195A (ja)
TW (1) TWI356995B (ja)
WO (1) WO2006072756A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4661574B2 (ja) * 2005-12-14 2011-03-30 セイコーエプソン株式会社 組込機器、電子機器、組込機器の制御方法、制御プログラムおよび記録媒体
TW200805065A (en) * 2006-01-17 2008-01-16 Nxp Bv Region protection unit, instruction set and method for protecting a memory region
JP2007334432A (ja) * 2006-06-12 2007-12-27 Nec Electronics Corp 情報処理装置及びそのアクセス制御方法
US7634708B2 (en) * 2006-09-15 2009-12-15 International Business Machines Corporation Relocatable storage protect keys for system main memory
JP4916338B2 (ja) * 2007-02-26 2012-04-11 キヤノン株式会社 周辺装置およびそのアクセス制御方法
US8051263B2 (en) * 2007-05-04 2011-11-01 Atmel Corporation Configurable memory protection
JP4939387B2 (ja) 2007-12-06 2012-05-23 ルネサスエレクトロニクス株式会社 データ処理装置及びアドレス空間保護方法
US8509619B2 (en) * 2008-01-08 2013-08-13 Mitsubishi Electric Corporation Communication control method, station side device, subscriber side device, and communication system
US8131913B2 (en) * 2008-02-04 2012-03-06 Mosaid Technologies Incorporated Selective broadcasting of data in series connected devices
US8593951B2 (en) * 2008-04-29 2013-11-26 Freescale Semiconductor, Inc. Multiplexing and demultiplexing data
EP2187173B1 (en) * 2008-11-14 2017-10-04 Kamstrup A/S Consumption meter with one processor handling legal and non-legal code
AU2010239086A1 (en) * 2009-04-24 2011-12-15 Aaron Antony Peapell Data storage system
GB2484927A (en) * 2010-10-26 2012-05-02 Advanced Risc Mach Ltd Provision of access control data within a data processing system
US9116845B2 (en) 2011-02-23 2015-08-25 Freescale Semiconductor, Inc. Remote permissions provisioning for storage in a cache and device therefor
US8949551B2 (en) 2011-02-23 2015-02-03 Freescale Semiconductor, Inc. Memory protection unit (MPU) having a shared portion and method of operation
US8639895B2 (en) * 2011-07-14 2014-01-28 Freescale Semiconductor, Inc. Systems and methods for memory region descriptor attribute override
US20130111181A1 (en) * 2011-10-31 2013-05-02 Lsi Corporation Methods and apparatus for increasing device access performance in data processing systems
US20140025852A1 (en) * 2012-07-19 2014-01-23 Lsi Corporation Configurable Response Generator for Varied Regions of System Address Space
US9229639B2 (en) * 2013-03-11 2016-01-05 Sandisk Technologies Inc. Method and non-volatile memory device for improving latency together with write protection
US10061940B2 (en) 2013-07-09 2018-08-28 Andes Technology Corporation Secure protection processor and method including comparing an instruction security attribute of an instruction and a security attribute of an operational event
US9395993B2 (en) 2013-07-29 2016-07-19 Intel Corporation Execution-aware memory protection
US9307409B2 (en) 2013-12-27 2016-04-05 Intel Corporation Apparatus, system and method of protecting domains of a multimode wireless radio transceiver
GB2522906B (en) * 2014-02-10 2021-07-14 Advanced Risc Mach Ltd Region identifying operation for identifying a region of a memory attribute unit corresponding to a target memory address
US9678899B2 (en) 2014-04-08 2017-06-13 Nxp Usa, Inc. Method and apparatus for providing memory protection
EP3029574B1 (en) 2014-12-02 2019-09-18 ARM Limited Memory management
US20170139844A1 (en) * 2015-11-17 2017-05-18 Silicon Laboratories Inc. Asymmetric memory
US10671547B2 (en) 2016-12-19 2020-06-02 Intel Corporation Lightweight trusted tasks
CN107203477A (zh) * 2017-06-16 2017-09-26 深圳市万普拉斯科技有限公司 内存分配方法、装置、电子设备及可读存储介质
US20190196984A1 (en) * 2017-12-27 2019-06-27 Qualcomm Incorporated Method, apparatus, and system for dynamic management of integrity-protected memory
GB2575878B (en) * 2018-07-27 2021-06-09 Advanced Risc Mach Ltd Binary search procedure for control table stored in memory system
US11567878B2 (en) * 2020-12-23 2023-01-31 Intel Corporation Security aware prefetch mechanism
CN112836221B (zh) * 2021-01-13 2024-02-06 深圳安捷丽新技术有限公司 一种多安全级别分区的便携固态硬盘及其设计方法
US11928339B2 (en) 2022-05-26 2024-03-12 STMicroelectronics (Grand Quest) SAS Method, system, and circuit for memory protection unit configuration and content generation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS581243A (ja) * 1981-06-27 1983-01-06 Fujitsu Ltd フアイル機密保護方式
JPH03154949A (ja) * 1989-11-03 1991-07-02 Internatl Business Mach Corp <Ibm> ストアされたデータのプロテクシヨン方法及びシステム
JP2001522492A (ja) * 1997-04-30 2001-11-13 エイアールエム リミテッド メモリアクセス保護装置
US6519690B1 (en) * 1999-08-23 2003-02-11 Advanced Micro Devices, Inc. Flexible address programming with wrap blocking

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901505B2 (en) * 2001-08-09 2005-05-31 Advanced Micro Devices, Inc. Instruction causing swap of base address from segment register with address from another register
US6697276B1 (en) * 2002-02-01 2004-02-24 Netlogic Microsystems, Inc. Content addressable memory device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS581243A (ja) * 1981-06-27 1983-01-06 Fujitsu Ltd フアイル機密保護方式
JPH03154949A (ja) * 1989-11-03 1991-07-02 Internatl Business Mach Corp <Ibm> ストアされたデータのプロテクシヨン方法及びシステム
JP2001522492A (ja) * 1997-04-30 2001-11-13 エイアールエム リミテッド メモリアクセス保護装置
US6519690B1 (en) * 1999-08-23 2003-02-11 Advanced Micro Devices, Inc. Flexible address programming with wrap blocking

Also Published As

Publication number Publication date
CN101095122B (zh) 2011-09-14
TWI356995B (en) 2012-01-21
WO2006072756A1 (en) 2006-07-13
US7068545B1 (en) 2006-06-27
IL183909A0 (en) 2007-10-31
IL183909A (en) 2011-04-28
KR20070092717A (ko) 2007-09-13
KR101016714B1 (ko) 2011-02-25
US20060149911A1 (en) 2006-07-06
TW200625080A (en) 2006-07-16
JP4647668B2 (ja) 2011-03-09
CN101095122A (zh) 2007-12-26
EP1839159A1 (en) 2007-10-03
MY136195A (en) 2008-08-29
EP1839159B1 (en) 2017-11-15

Similar Documents

Publication Publication Date Title
JP4647668B2 (ja) メモリ保護ユニットを有するデータ処理装置
US6381668B1 (en) Address mapping for system memory
US6256715B1 (en) System and method of performing gateway access
US5075845A (en) Type management and control in an object oriented memory protection mechanism
KR101531080B1 (ko) 데이터 처리 시스템에서 단일화된 캐시에 대한 에러 검출 스킴들
US7461209B2 (en) Transient cache storage with discard function for disposable data
US20020046325A1 (en) Buffer memory management in a system having multiple execution entities
US20070288694A1 (en) Data processing system, processor and method of data processing having controllable store gather windows
GB2239332A (en) Object lifetime control in computer memory protection
KR101662969B1 (ko) 동적으로 할당된 더티 마스크 공간을 이용한 메모리 관리
JP3900025B2 (ja) 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式
JP2003517682A (ja) キャッシュを有するデータプロセッサ
JP7359837B2 (ja) メモリ・システム内に記憶されているメモリ保護テーブルを使用するメモリ保護ユニット
US6516387B1 (en) Set-associative cache having a configurable split and unified mode
US7406579B2 (en) Selectively changeable line width memory
US7219197B2 (en) Cache memory, processor and cache control method
CN111433742B (zh) 用于数据处理的装置和方法、非暂态存储介质
JP4741844B2 (ja) ライン幅を選択的に変更することが可能なメモリ
JP5434646B2 (ja) 情報処理装置
EP0526114A1 (en) A method and apparatus for performing address translation in a data processor using masked protection indirection page descriptors
JPH0612333A (ja) 情報処理装置の記憶保護方式
JP6260456B2 (ja) 演算処理装置及び演算処理装置の制御方法
TW201935249A (zh) 在資料處理設備中的位址轉換
JP2000293437A (ja) キャッシュメモリ装置及びキャッシュメモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100909

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: 20101109

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: 20101208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4647668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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