JP3710490B2 - メモリアクセス保護装置 - Google Patents

メモリアクセス保護装置 Download PDF

Info

Publication number
JP3710490B2
JP3710490B2 JP54669198A JP54669198A JP3710490B2 JP 3710490 B2 JP3710490 B2 JP 3710490B2 JP 54669198 A JP54669198 A JP 54669198A JP 54669198 A JP54669198 A JP 54669198A JP 3710490 B2 JP3710490 B2 JP 3710490B2
Authority
JP
Japan
Prior art keywords
address
logical
attribute
memory
data processing
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
Application number
JP54669198A
Other languages
English (en)
Other versions
JP2001522492A (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 JP2001522492A publication Critical patent/JP2001522492A/ja
Application granted granted Critical
Publication of JP3710490B2 publication Critical patent/JP3710490B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Description

発明の分野
本発明は、データ値を記憶するための複数個のメモリロケーションを有するメモリをアクセスするためのデータ処理装置および方法に係り、特に、メモリアクセスを保護するようなデータ処理装置および方法に関する。「データ値」という用語は、ここでは、データ語などデータの項目すなわちブロックと、命令の両方を参照している。
従来技術の説明
メモリを多数の分割論理領域にセグメント化すること、およびそれらのメモリ領域へのアクセスを制御するために、それらの領域のそれぞれに対して保護属性を特定すること、例えば、それらの領域がスーパバイザモードでのみアクセス可能であるかどうか、キャッシュベースシステムにおいてそれらの領域がキャッシュ可能、バッファ可能であるかどうかなどを特定することは既知である。それゆえ、プロセッサが特定のメモリ領域内に入るメモリアドレスを発生する場合には、現在の動作モードにあるプロセッサがそのメモリアドレスをアクセスする権利を与えられているかどうかを判定し、かつそのメモリ領域から取り込まれるデータ値がキャッシュ可能であるかどうか、そのメモリ領域に書き込まれるデータ値がバッファ可能であるかどうかなどを判定するために、その領域の保護属性が使用される。度々、しかし排他的ではないが、そのような保護機構は、仮想−物理アドレス変換との関連して仮想メモリシステム内で使用される。
大抵の装置では、論理領域を定義するために与えられるフレキシビリティが制限される。幾つかの技術は、1kb、2kbおよび4kb領域など、幾つかの異なる大きさの領域を与えることによって、幾分フレキシビリティを改善しているが、論理領域は、典型的には、例えば4kb領域などの固定の大きさである。典型的には、異なる大きさの領域が与えられる場合、それらのアドレスを含んでいる論理領域を判定するためにアドレスを比較するのに必要なハードウエアが、それらの領域が2のべき乗だけ変化する大きさに抑制される場合、多少複雑でなくなるので、それらの領域は2のべき乗だけ変化する大きさに抑制されることになる。
上述の方法を用いると、メモリの利用者エリア、およびメモリのスーパバイザエリアを特定することが可能である。例えば、4kbの固定された大きさの論理領域が与えられ、そのシステムが4kbのスーパバイザコードおよび12kbの利用者コードを要求する場合を考えると、それらの両方が16kbRAMにマップ化される必要がある。これを達成するために、4個の論理領域、すなわち、スーパバイザコード用に1個の4kb領域および利用者コード用に3個の4kb領域が定義される必要がある。
上述の従来技術において必要とされるものよりも少ない領域を定義し、それによってシステムのフレキシビリティを改善する一方で、上記の機能を与えることが望まれる。
ヨーロッパ特許公開公報EP−A−0,700,002には、マイクロプロセッサのモジュラーチップ選択制御回路が記載されている。そのチップ選択回路は、メモリのサブブロックがオーバラップするかまたは主ブロックの境界内に完全に存在するように、オーバラップメモリマップを作成することができる。メモリの各ブロックに対してデコーダが使用され、デコーダの出力を受信しかつチップイネーブル信号などの外部制御信号を作動させるかどうか優先順位機構に基づいて判定するために、優先順位実施回路が設けられている。
ヨーロッパ特許公開公報EP−A−0,656,592には、1つの動作モードを有し、変換属性ビットが、第1のトランスペアレント変換レジスタ(TTR)、第2のTTR、またはデフォールトロケーションのいずれか1つから与えられる、メモリ管理ユニット(MPU)が記載されている。それらのTTRは、異なるアドレス空間および異なるアドレスメモリサイズをそれぞれマップ化することができ、デフォールトロケーションは、それらのTTRの1つによってマップ化されないすべてのメモリをカバーする。
米国特許公報US−A−3,827,029には、ハードウエアメモリバイオレーション保護サブシステムがハードウエアオプションとしてコンピュータシステムに付加されるように設計されている、小型のデジタルコンピュータシステムが記載されている。
発明の要約
第1の観点から見て、本発明は、各メモリロケーションが対応するアドレスを有する、データ値を記憶するための複数個の当該メモリロケーション、を持っているメモリへのアクセスを制御するためのデータ処理装置を提供する。この装置は、前記メモリ内の複数個の論理領域のアドレス範囲を同定する情報を記憶するためのアドレス範囲記憶装置と、各論理領域に対して、前記論理領域内のメモリロケーションへのアクセスを制御するために用いられる属性を記憶するための属性記憶装置と、前記メモリロケーションの1つに対応する、処理装置によって与えられるアドレスを、前記複数個の論理領域のアドレス範囲と比較し、1つ以上の論理領域が前記アドレスを含んでいる場合には、前記アドレスを含んでいるこれらの論理領域を示す信号を発生するための、アドレス比較器論理回路と、そのアドレス比較器論理回路によって発生される信号に応答して、前記アドレスを含んでいるどの論理領域が最高の優先順位を有しているかを判定し、アドレスによって特定されるメモリロケーションへのアクセスを制御する際に使用するためのその最高優先順位に対応する属性を属性記憶装置に出力するために、所定の優先順位判定規準を与えるための属性判定論理回路から構成され、前記論理領域の1つが全メモリをカバーしかつ前記論理領域の最低優先順位を有するバックグラウンド領域であり、それによって、プロセッサによって与えられるアドレスが他の論理領域のいずれにも存在しないメモリロケーションに対応している場合には、バックグラウンド領域と関連付けられた属性を出力するように、属性判定論理回路が構成される。
本発明によれば、オーバラップしている論理領域が定義され、相対優先順位が各論理領域に割り当てられる。処理装置が2つ以上の論理領域内にあるアドレスを特定する場合には、どの論理領域が最高の優先順位を持つかを判定するために優先順位規準が使用される。各論理領域は、論理領域内のメモリロケーションへのアクセスを制御するために使用される、その領域に対して特定される多数の属性を持つことになる。どの領域が最高の優先順位を持つかの判定に基づいて、その最大優先順位領域に対する属性が、プロセッサによって特定される特定メモリへのアクセスを制御するために使用される。
前述の例を参照する。16kbRAM内に4kbのスーパバイザコードと12kbの利用者コードを与えることが望ましい場合にも、スーパバイザコードに対して4kb領域を、そして利用者コードに対して16kb領域の2つのオーバラップ領域を与えることによって、本発明によって達成される。スーパバイザ領域は、利用者領域よりも高い優先順位を持つように定義される。したがって、4kbオーバラップ領域をアクセスするどのような試みもスーパバイザ領域と関連付けられた属性によって管理されることが保証される。それゆえ、本発明によれば、従来技術によって定義される4つの領域ではなく、この例では2つの領域が定義される必要があるだけである。
好適な実施例では、前記論理領域の1つが、全メモリをカバーしかつ前記論理領域の最低優先順位を有するバックグラウンド領域として使用され、それによって、プロセッサによって与えられるアドレスが、他のいずれの論理領域内にも存在しないメモリロケーションに対応する場合には、該バックグラウンド領域と関連付けられた属性が該アドレスによって特定されるメモリロケーションへのアクセスを制御するために使用される。
定義されるメモリロケーションがメモリのアドレス空間を完全に満たさず、それゆえ、アドレスマップに「穴」があることになる可能性がある。しかし、全メモリをカバーするため最低優先順位領域を構成し、その論理メモリ領域に対して適当な属性を特定することによって、アクセスが穴に対してなされる場合でも何が起こっているかを定義することが可能である(例えば、その属性は、フルアクセスかノーアクセスに設定される)。
好適な実施例では、論理領域のアドレス範囲が、領域が開始されるメモリロケーションを同定するベースアドレス、および前記論理領域の大きさを同定するサイズ属性によって特定される。好適な実施例では、大きさXのメモリ領域が値Xの倍数であるベースアドレスを有する必要があるように、前記ベースアドレスがサイズ属性の関数として決定される。この方法は、ハードウエア構成を簡単にするのに役立つ。ベースアドレスとサイズ属性は、典型的には、利用者によってプログラム可能である。ベースアドレスとサイズ属性を使用することの代替案として、論理領域のアドレス範囲を、論理領域の始めと終わりを同定するスタートアドレスおよびエンドアドレスによって特定するようにしても良い。
アドレス比較器論理回路は、いかなる適切な方法でも構成され得る。好適な実施例では、アドレス比較器論理回路が、各アドレス範囲に対して1個の、多数の比較器から構成されている。
アドレス範囲記憶装置は、いかなるアドレス範囲記憶装置であっても良い。しかし、好適な実施例では、アドレス範囲記憶装置が、多数のレジスタから構成されている。好適には、分割レジスタがアドレス比較器論理回路の各比較器と関連付けられている。
属性記憶装置は、いかなる適切な形態をも取り得る。しかし、好適な実施例では、属性記憶装置が、マルチプレクサに接続された複数個の属性レジスタを備え、各レジスタは論理領域の属性を含み、さらに、マルチプレクサに前記アドレスを含む最大優先順位領域に対応する属性レジスタから属性を出力させるために、前記属性判定論理回路がマルチプレクサに信号を出力するようになっている。
好適な実施例では、前記アドレス比較器論理回路は複数個の出力を有し、1個の出力が各論理領域に与えられ、さらに、対応の論理領域が前記アドレスを含むかどうかを示すための信号が、前記出力に発生され、前記属性判定論理回路が、前記複数個の出力からの信号を受信するための、対応の複数個の入力を有し、該複数個の入力が、所定の優先順位規準を与えるため、前記属性判定論理回路によって使用される相対優先順位を有する。
しかし、所定の優先順位規準を与えるために、代替技術が使用され得ることは理解されるであろう。例えば、前記所定の優先順位基準は、前記論理領域の相対優先順位を特定する優先順位情報を、前記属性判定論理回路によってアクセス可能な記憶装置に優先順位情報として記憶され得る。
好適な実施例では、データ処理装置は、さらに、プロセッサによって要求されるデータ値が記憶される、またはプロセッサコアによって処理されるデータ値が記憶されるべき、前記メモリ内のメモリロケーションに対応するアドレスを与えるためのプロセッサコアを備えている。さらに、データ処理回路は、前記プロセッサコアによってアクセス可能なデータ値を記憶するためのキャッシュを備えている。そのような装置では、効率を改善するため、最大優先順位領域の属性の判定が、好ましくは、キャッシュ検索が行われている間になされる。
命令とデータの両方を記憶するため、単一のキャッシュが設けられる。そのようなキャッシュは、度々フォン・ノイマン・アーキテクチャを持つと言われる。しかし、代替案として、命令を記憶するために第1のキャッシュを設け、さらにデータを記憶するために第2のキャッシュを設けても良い。そのようなキャッシュは、度々ハーバード・アーキテクチャを持つと言われ、前記アドレス比較器論理回路および属性判定論理回路が、前記第1および第2のキャッシュのそれぞれに対して複写される。それゆえ、好適には、別々のデータおよび命令キャッシュを用いるとき、メモリへのアクセスを制御するために使用される属性を判定するために要求されるデータ処理回路の要素が、各キャッシュに対して複写される。前に述べたように、最高優先順位領域の属性の判定は、キャッシュ検索が行われている間になされるのが好ましい。2つのキャッシュがある場合には、データキャッシュ内の検索動作は、命令キャッシュ内の検索動作が行われている間にも生ずる。それゆえ、命令キャッシュとデータキャッシュの両方における検索動作に対応するメモリアドレスをアクセスために使用されるべき属性を判定するために、2組の回路網が必要である。
第2の観点から見て、本発明は、各メモリロケーションが対応するアドレスを有する、データ値を記憶するための複数の当該メモリロケーションを持つメモリへのアクセスを制御するためのデータ処理装置を動作させる方法を提供する。この方法は、(a)前記メモリ内の複数個の論理領域のアドレス範囲を同定する情報を記憶するステップと、(b)各論理領域に対して、前記論理領域内のメモリロケーションへのアクセスを制御するために用いられる属性、を記憶するためのステップと、(c)前記メモリロケーションの1つに対応する、処理装置によって与えられるアドレスを、前記複数個の論理領域のアドレス範囲と比較するステップと、(d)1つ以上の論理領域が前記アドレスを含んでいる場合には、前記アドレスを含んでいるこれらの論理領域を示す信号を発生するステップと、(e)前記ステップ(d)で発生される信号に応答して、前記アドレスを含んでいるどの論理領域が最高の優先順位を有しているかを判定するために、所定の優先順位判定規準を適用するステップと、(f)アドレスによって特定されるメモリロケーションへのアクセスを制御する際に使用するため、最高の優先順位領域に対応する記憶された属性を出力するステップから構成され、さらに、前記論理領域の1つが全メモリをカバーしかつ前記論理領域の最低優先順位を有するバックグラウンド領域であり、それによって、前記ステップ(d)で発生される信号が、プロセッサによって与えられるアドレスが他の論理領域のいずれにも存在しないメモリロケーションに対応していることを示す場合には、前記ステップ(f)で、バックグラウンド領域と関連付けられた記憶された属性が出力されるようになっている。
【図面の簡単な説明】
以下、添付図面を参照しながら、例示によってのみ本発明の実施例について説明する。これらの図において、同一の符号は同一の特徴に対して使用されている。
図1は、本発明の好適な実施例に係るデータ処理装置を表しているブロック図である。
図2は、本発明の好適な実施例に係る、メモリ内の異なる大きさの論理領域が5ビットのサイズフィールドによってどのように特定されるかを表している表である。
図3は、図1のメモリへのアクセスを制御するために使用される属性を決定するために、本発明の好適な実施例によって実行される処理ステップを説明しているフロー図である。
図4Aおよび図4Bは、分割されたデータおよび命令が使用されている、本発明の実施例を説明する図である。
発明を実施するための最良の形態
図1のブロック図を参照して、本発明の好適な実施例に係るデータ処理回路について説明する。図1に示されるように、データ処理回路は、メモリ120から受け取った命令を処理するように構成されたプロセッサコア10を有する。それらの命令を実行するための、プロセッサコア10によって要求されるデータもまた、メモリ120から取り込まれる。キャッシュ30は、メモリ120から取り込まれるデータおよび命令を記憶するためのものであり、プロセッサコア10によって容易にアクセス可能になっている。また、キャッシュ30への命令およびデータの蓄積を制御すると共に、キャッシュからのデータおよび命令の取り込みを制御するため、キャッシュ制御ユニット40が設けられている。
本発明の好適な実施例では、メモリ120内に、各論理領域が独立してプログラム可能なサイズを有する、複数個の論理領域が定義される。好適な実施例を説明するため、4GBのアドレス空間を有するメモリ120を考える。また、8個の論理領域が、メモリアドレス空間内に定義されるものと仮定する。明らかに、メモリの実際の大きさ、および定義可能な論理領域数が、データ処理装置の特別な要求に合うように変更され得ることは、当業者にとって明白であろう。
各論理領域は、好適には、その領域がメモリ内で始まる場所およびその論理領域の大きさを定義するサイズフィールドを特定するところのベースアドレスによって定義される。(後で詳細に説明される)保護ユニット内の比較器のハードウエア要求を簡単化するために、ベースアドレスは、「サイズ」境界に対応する必要があるという制限が課せられる。そのため、例えば、1MBの大きさを有する論理領域は、メモリ内の1MB境界に対応するベースアドレスで始まるように構成されることになる。好適な実施例では、ベースアドレスに課せられるこの制限は必須のものではなく、保護ユニット内により一層複雑なハードウエアを与えることによって、ベースアドレスをサイズ境界以外のメモリロケーションで開始させることが可能であろうことは、当業者によって理解されるであろう。
好適な実施例では、論理領域の大きさは、4KBから4GBの範囲内で選択される。しかし、この範囲選択は、所望に応じて変更可能であることは理解されるであろう。図2は、5ビットフィールドを有するサイズレジスタが、どのように異なるメモリサイズに対してプログラムされるかを示している表である。図2に示された例においては、その大きさが2のべき乗だけ変化する。しかし、その大きさが2のべき乗だけ変化するように限定される必要性はなく、より一層大きなビット数を有するサイズレジスタを与えることによって、各領域の大きさのプログラミングに付加的フレキシビリティを与えることが可能であることは、当業者によって理解されよう。
ベースおよびサイズレジスタの使用に対する代替案として、論理領域を定義するためにスタートおよびエンドレジスタが使用され得る。そのような場合、各論理領域の始めと終わりの実際のアドレスに対応している情報は、領域のサイズやベースアドレスではなく、レジスタに記憶される。
上述のように、論理領域を、ベースおよびサイズレジスタまたはスタートおよびエンドレジスタのいずれかを用いて定義することによって、利用者は、メモリ内で論理領域をオーバラップさせるようにプログラムすることができる。本発明の好適な実施例では、各論理領域が、それと関連した、保護、記憶可能でかつバッファ可能な属性などの、独立の属性を持つことになる。論理領域をオーバラップさせる可能性が与えられた場合、メモリへのどのようなアクセスも予測可能な方法で行われることが明らかに重要である。好適な実施例では、これは図1で説明された保護ユニット20を用いて達成される。この保護ユニットの動作についてさらに詳細に説明する。
プロセッサコア10が、データ項目または命令を要求すると(今後、命令またはデータは、ともにデータ値として参照する)、そのプロセッサコアは、そのデータ値のメモリアドレスをプロセッサバス50のバスライン54に載せる。さらに、そのプロセッサコア10は、プロセッサ制御信号をバスライン52に発生する。そのプロセッサ制御信号は、アドレスが、読み書き要求、アクセスの型(例えば、シーケンシャル)、アクセスの大きさ(例えば、語、バイト)、プロセッサの動作モード(例えば、スーパーバイザまたは利用者)など、に対応するかどうかなどの情報を含む。このプロセッサ制御信号は、キャッシュ制御ユニット40によって受信され、要求されたデータ値がキャッシュ30内に記憶されるかどうかを判定するよう、キャッシュ制御ユニット40に指示を与える。そのキャッシュ制御ユニット40は、アドレスに対応するデータがキャッシュ内に記憶されるかどうかを判定するために、バスライン54上のアドレスをキャッシュ内のアドレスと比較するように、キャッシュ30に命令を与える。もし、そうであれば、データ値がキャッシュ30からデータバス上に出力され、その時点でそれがプロセッサコア10によって読み出される。そのアドレスに対応するデータ値が、キャッシュ30内に存在しない場合には、データ値がメモリ120から取り込まれる必要があることを示すために、キャッシュ制御ユニット40は、ライン130を介して信号をバスインタフェースユニット95に渡す。
このキャッシュ検索プロセスが行われている間、保護ユニット20内の保護制御器150も、バスライン52上のプロセス制御信号を受信し、プロセス制御信号がメモリ120またはキャッシュ30に対する仮想読み書きアクセスに関係していることを判定すると、バスライン54上にプロセスコア10によって置かれたアドレスを検査するように、アドレス比較器70に命令する。好適な実施例では、各論理領域に対して1個のアドレス比較器があり、それら比較器のそれぞれは、特定の論理領域のアドレス範囲を含んでいる関連レジスタを有する。各比較器は、アドレスが対応の論理領域内に含まれるかどうかを判定するために、そのアドレス範囲をバスライン54上の特定アドレスと比較するように配置されている。比較器が、アドレスが論理領域のアドレス範囲内にあることを判定するときはいつでも、その比較器は、対応のライン160を通して優先順位エンコーダ75に対してヒット信号を出力する。
優先順位エンコーダ75は、全ての比較器70によって出力される信号を受信する。優先順位エンコーダが1個のヒット信号を受信した場合には、これは、アドレスが1個の論理領域内に存在することのみを示す。この場合、優先順位エンコーダ75は、信号をマルチプレクサ80に送信し、属性レジスタ85からその論理領域に対応する属性を選択するよう、マルチプレクサ80に命令する。その後、これらの属性は、メモリ120へのアクセスを制御するように使用されるか、またはキャッシュ30から取り込まれたデータ値の使用を制御するように使用される。好適な実施例では、論理領域の1つがメモリ120の全アドレス空間をカバーするバックグラウンド領域にあることになるので、常に、発生される少なくとも1個のヒット信号があることになる。しかし、バックグラウンド領域の定義は必ずしも必須ではなく、代替実施例においては、ヒット信号がアドレス比較器70によって発生され得ないということもある。この場合、優先順位エンコーダ75は、ヒット信号が検出されなかったことを示す信号を発生するように配置され、この信号は、優先順位エンコーダ75から論理回路90に出力されることになる。データ処理回路がこの場合にどのように動作するかは、論理回路90がどのように構成されるかによって決まる。例えば、論理領域のどこにも含まれないアドレスにアクセスしようとするいかなる試みも、ライン140を通してプロセッサコア10に戻される中止信号をもたらすように、その論理回路は構成される。
アドレス比較器70によって、1個以上のヒット信号が出力されると仮定すると、それぞれの定義された論理領域の相対優先順位を判定するために、優先順位エンコーダ75が優先順位判定基準を与えるように構成される。各論理領域に関する優先順位情報は、保護ユニット20内に記憶され、優先順位エンコーダは、アドレス比較器がヒット信号を発生した各論理領域に対して、どの論理領域が最高の優先順位を持つかを判定するために、対応の優先順位情報を使用するようになっている。
しかし、好適な実施例では、論理領域の相対優先順位が、優先順位エンコーダ75に対する入力の構成によって判定される。8個の論理領域(論理領域0−7)に対応する8個のアドレス比較器70(比較器0−7)がある場合には、優先順位エンコーダ75における8個の入力(入力0−7)に接続された8個の対応のワイヤ160があることが好ましい。論理領域に対応する入力は、優先順位が入力番号とともに大きくなるように、すなわち、入力番号7が最高の優先順位を持ち、入力番号0が最小の優先順位を持つように、優先順位を割り当てられる。
その後、優先順位エンコーダは、条件論理を与え、ヒット信号が論理領域7に対応する入力番号7で受信されたかどうかを最初に決定するようになっている。もし、そうなら、論理領域7の属性が属性レジスタ85から出力されるべきであることを示す信号が、優先順位エンコーダ75からマルチプレクサ80に出力される。ヒット信号が論理領域7に対応する入力において受信されなかった場合には、優先順位エンコーダ75が、ヒット信号が論理領域6に対応する入力番号6において受信されたかどうかを決定する。もし、そうであれば、論理領域6の属性が属性レジスタ85から出力されるべきであることを示す信号が、優先順位エンコーダ75からマルチプレクサ80に出力される。ヒット信号が論理領域6に対応する入力において受信されなかった場合には、ヒット信号を持つ入力が見出されるまで同一のプロセスが順次各入力に対して繰り返される。上述の説明は、論理面でのプロセスを同定しているが、実行される実際のプロセスは、典型的には上述のように連続的には実行されないであろう。しかし、その代わり、適切な論理回路が与えられ、8個の入力の全てを受信し、かつ最高の優先順位領域を同定する出力を発生する。
好適な実施例では、これは、全メモリアドレス空間をカバーするバックグラウンド領域として設定されるので、常に最低の優先順位領域(領域0)にヒット信号がある。それゆえ、優先順位エンコーダ75によって実行される処理は、プロセッサコア10によって与えられるアドレスを含む最大優先順位領域に対応する属性を、属性レジスタ85から取り込むようにマルチプレクサに指示する、マルチプレクサ80に送られる信号を生じさせる。マルチプレクサ80によって出力される属性は、論理ユニット90およびバスインタフェースユニット95に送られる。また、論理ユニット90は、バスライン52からプロセッサ制御信号を受信する。このプロセッサ制御信号は、とりわけ、プロセッサコア10の動作モードを確定する。それゆえ、論理回路90はこの情報を使用して、マルチプレクサ80によって出力される属性が、現在の動作モードにあるプロセッサコア10に、要求されるメモリアドレスへのアクセスを許可するかどうかを判定することができる。例えば、論理ユニット90が、プロセッサコア10が利用者モードにあることを判定し、マルチプレクサ80によって出力される属性が、メモリアドレスがスーパバイザモードでのみアクセスされ得ることを示す場合には、論理回路90は、プロセッサコア10への通路140およびバスインタフェースユニット95への通路170上に中止信号を生成するように構成される。
保護ユニット20によって実行される処理は、十分な処理速度を確保するために、キャッシュ検索プロセスと同時に行われることが好ましい。要求されるデータ値が、キャッシュ30において利用可能であり、論理ユニット90がライン140に中止信号を生成しない場合には、プロセッサコア10は、キャッシュ30から取り込まれるデータを使用することになる。しかし、要求されるデータ値が、キャッシュ30において利用可能ではない場合には、前に述べたように、そのデータ値に対してメモリ120をアクセスするようにバスインタフェースユニット(BIU)95に命令を与える信号が、通路130上に送られることになる。
BIU95は、バスライン52上のプロセッサ制御信号を調べ、プロセッサコア10によって与えられる命令が読み書き命令であるかどうかを判定する。それが読み出し命令であり、中止信号が論理回路90から通路70上に受信されないと仮定すると、そのときはBIU95がマルチプレクサ100に命令を与え、アドレスをバスライン54からバス60の外部アドレスバスライン64上に渡す。(これは、メモリ120への仕掛かり中の書き込み命令が書き込みバッファ105においてペンディングになっていないということを仮定している。すなわち、そのようなペンディング書き込み命令がある場合には、これらは読み出し命令の前に実行されることになる。書き込みバッファの動作は、後で詳細に述べられる)。また、メモリ120へのアクセスを制御するためにメモり制御器180によって使用される制御信号が、バスライン62上に置かれる。そのメモリ制御器180は、メモリ読み出しが要求されていることを、バスライン62上の制御信号から判定し、バスライン64上に示されたアドレスにあるデータを、データバスライン66上に出力するように、メモリに命令する。
BIU95は、信号をバッファ110に送り、バッファ110に、メモリ120によって外部バスライン66上に置かれるデータを、プロセッサバスラインに渡させる。さらに、保護ユニット20のマルチプレクサ80からBIU95によって受信される属性が、アドレスがキャッシュ可能なデータ値を含むことを示す場合には、BIU95は、通路135を通してキャッシュ制御装置40に信号を送り、取り込んだデータ値をキャッシュ30に蓄積するよう、キャッシュ制御装置に命令する。メモリ120から取り込まれ、バスライン56上に置かれたデータ値は、その後、キャッシュ30に蓄積され、プロセッサコア10に渡される。次に、そのデータ値は、プロセッサコア10によってそのキャッシュから直接に簡単にアクセスされ得る。BIU95によって受信された属性が、データ値がキャッシュ可能ではないことを示す場合には、そのデータはキャッシュに記憶されず、プロセッサコア10がバスライン56からデータ値を読み出す。
上述の説明により、データ値をメモリ120から読み出す目的で、メモリ120へのアクセスを制御するために、保護ユニット20がどのように使用されるかが説明された。プロセッサコア10によって与えられたアドレスが、プロセッサがデータ値を書き込みたいと願っているアドレスである場合には、次の手順が取られる。
プロセッサコアは、プロセッサ制御信号をバスライン52上に、アドレスをバスライン54上に、そして記憶されるべきデータ値をバスライン56上に置く。保護ユニット20内の保護制御器150は、バスライン52上のプロセッサ制御信号を調べ、プロセッサ制御信号がメモリ120への書き込みアクセスに関連することを判定すると、アドレス比較器70に命令を与え、プロセッサコア10によってバスライン54上に置かれるアドレスを調べる。そのとき、保護ユニットは、そのアドレスを含む最大優先順位の論理領域を判定するために、読み出し命令を参照して前に述べたものと同一の手続きを実行する。これにより、BIU95および論理回路90に出力される領域に対応する属性が得られる。
BIU95は、バスライン52上のプロセッサ制御信号を調べ、プロセッサコア10によって与えられる命令が読み書き命令であるかどうかを判定する。それが書き込み命令であると仮定すると、そのときはBIU95は、書き込み手続きが行われる必要があることを判定し、その書き込み手続きを制御するため、保護ユニット20から受信される属性情報を使用する。
論理ユニット90は、マルチプレクサ80によって出力される属性、およびプロセッサ制御信号から、プロセッサコアはその現在の動作モードにおいて特定のアドレスに書き込むことができるかどうかを判定し、書き込めない場合には、中止信号を発生することになる。いかなる中止信号も通路170を通してBIU95に送られ、それに書き込み命令を無視するよう命令する。その中止信号は、また、通路140を通してプロセッサコア10に送られ、データ、アドレスおよび制御情報をそれぞれバスライン56,54および52から取り除かさせ、プロセッサコア10にそのような中止の場合に要求されるいかなる例外手続きをも実行可能にさせる。
しかし、プロセッサコアがバスライン54上に置かれたアドレスに書き込む権利を有し、それゆえ、中止信号がBIU95によって受信されないと仮定すると、そのときは、BIU95は、マルチプレクサ80からの属性情報を使用し、書き込まれるべきデータがバッファ可能であるかないかを判定する。そのデータがバッファ可能である場合、BIU95は、バス50からデータ、アドレスおよび制御情報を取り込むよう、書き込みバッファ105に命令する。一度これがなされると、完了されるべき書き込み命令を待つことなく、次の命令がプロセッサコア10によって処理される。
書き込みバッファは、好適にはFIFOバッファである。外部バス60が自由であるとき、BIU95は、書き込みバッファから外部バス60に次の項目を出力するように、マルチプレクサ100に命令する。そのマルチプレクサ100は、その後、必要な制御、アドレスおよびデータ信号をそれぞれバスライン62、64および66に出力する。メモリ制御器180は、その制御信号を用いてメモリ120への書き込みアクセスを制御する。この時点で、データがメモリ120に記憶されることになる。記憶されるべきデータが、書き込みバッファ105から連続的に処理されると、ある時点で、プロセッサによってバスライン54上に与えられるアドレスに対応するデータが、メモリ120に記憶されることになる。
しかし、バスインタフェースユニット95が、データが記憶されるべきアドレスがバッファ可能でないことを判定した場合には、そのバスインタフェースユニット95は、直接バスライン52、54および56からプロセッサ制御、アドレスおよびデータ情報を選択するようマルチプレクサ100に命令する。その後、マルチプレクサ100は、そのデータをメモリ120の対応のアドレスに記憶させるように、この情報を外部バス60上に出力する。しかし、これを行う前に、書き込み命令が正しい順序で処理されるように、書き込みバッファ105は、典型的にはその内部のいかなる入力をも流出させる。一度現在の書き込み命令に対応するバッファ不可能なデータが記憶されると、次の命令が処理される。
保護ユニット20内で実行される処理ステップを説明している図3を参照して、保護ユニット20によって実行されるプロセスについて説明する。ステップ300で、保護ユニット20は、プロセッサコア10によってアドレスバスライン54上に置かれるアドレスを待つ。前に述べたように、保護ユニット20内の保護制御器150は、PCバス52上の制御信号に応答して、プロセッサコア10によってバス54上に置かれるアドレスを調べるようにアドレス比較器70に命令する。好適な実施例では、各論理領域に対して1個のアドレス比較器が設けられている。それゆえ、好適な実施例では、アドレス比較器ブロック70内に8個のアドレス比較器がある。各アドレス比較器は、対応の論理領域に対するアドレス範囲を含む関連のアドレスレジスタを有する。ステップ310で、アドレスライン54から受信されたアドレスは、関連のレジスタ内にあるアドレス範囲と比較される。そして、アドレスがそのアドレス範囲にある場合には、ステップ320で、そのアドレス比較器によって対応のワイヤ160上に「ヒット」信号が出力される。
アドレス比較器70によって発生される全ての信号が、優先順位エンコーダ75に与えられる。ここで、ステップ330で、最高の優先順位を有するアドレスを含んでいる論理領域を判定するために、優先順位規準が加えられる。前に述べたように、好適な実施例では、これは、最高の優先順位領域に対応する入力においてヒット信号が受信されたかどうかを最初に判定する、条件論理を与えるように優先順位エンコーダを配列することによって実行される。受信されなかった場合には、ヒット信号が同定されるまで次の最大優先順位領域等に対応する入力が検査される。優先順位エンコーダ75は、優先順位を低減させながら順に入力を論理的に検査するので、同定された最初のヒット信号は、プロセッサコア10によって与えられるアドレスを含んでいる最高の優先順位論理領域に対応することになる。このプロセスは、一度に1つの入力に連続的に実行される必要がないことを理解されるであろう。好適な実施例では、8個の入力の全てを一緒に受信し、最高の優先順位領域を同定する出力を発生するために、適切な論理回路が与えられる。
好適な実施例では、全アドレス空間が様々な論理領域によってカバーされるか、または論理領域の1つがメモリ120の全アドレス空間をカバーしているバックグラウンド領域であるので、常に少なくとも1個のヒット信号が存在する。しかし、バックグラウンド論理領域が定義される必要はない。それゆえ、プロセッサコア10によって与えられるアドレスがメモリ120内の「穴」に対応することを示す、生成されるヒット信号がないということも可能である。そのような場合には、バックグラウンド領域が存在せず、そのシステムは、典型的には穴へのアクセスがどのように取り扱われるかを定義するためにハードワイヤ接続される。例えば、穴へのいかなるアクセスも論理回路90によって発生される中止信号をもたらす。他方、バックグラウンド領域が定義される場合には、そのバックグラウンド領域に対応する属性がアクセスを制御するために使用されるので、これに頼る必要はない。
バックグラウンド領域が最低の優先順位領域として確立されると仮定すると、このバックグラウンド領域は、全アドレス空間をカバーするようにハードワイヤ接続される。そのとき、この最低優先順位領域は、アドレス比較器70によって実行される比較プロセスから除外される。それによって、1個少ない比較器および1個少ないワイヤ160となる。アドレス比較器70によってヒット信号が発生されず、それによって他の論理領域のいずれも前記アドレスを含まないことを示している場合には、優先順位エンコーダ75は、マルチプレクサ80に信号を送り、それに最低の優先順位領域と関連付けられた属性を選択させる命令を出すように構成される。アドレス比較器は、そのアドレスを最低優先順位領域のアドレス範囲と比較しないので、この方法はわずかにフレキシビリティに欠けるが、効率を改善する。この最低優先順位領域の属性は、他の論理領域のいずれも前記アドレスを含まないことを判定するアドレス比較器の直接の結果として使用される。
一度、優先順位エンコーダ75が、そのアドレスを含んでいるどの論理領域が最大優先順位を持つかを判定すると、ステップ340で、それはマルチプレクサ80に信号を出力し、その論理領域の属性を含んでいる属性レジスタ85から属性を選択するよう命令する。一度、マルチプレクサ80によって属性が選択されると、それらの属性は、メモリまたはキャッシュアクセスを制御するのに使用するため、ステップ350で出力される。
好適な実施例では、ステップ350で出力される属性が、その現在の動作モードにおけるプロセッサコア10がそれらの属性によって定義される論理領域内のメモリアドレスにアクセスすべきではないことを、示すかどうかを判定するため、論理ユニット90によって最終検査が実行される。例えば、プロセッサコア10が利用者モードで動作しており、ステップ370で出力される属性の1つがそのアドレスがスーパバイザモードにおいてのみアクセス可能であることを示す場合には、論理ユニット90は、通路140を通してプロセッサコア10に中止信号を出し、プロセッサコア10がそのメモリ領域をアクセスできないことを示すとともに、その中止信号を通路170を通してBIU95にも送る。
上述の説明は、可変サイズの複数個の論理メモリ領域が定義され、かつ装置のフレキシビリティを改善するためにそれらの論理メモリ領域がオーバラップされている、データ処理装置についてなされた。
ここでは、特定の実施例について説明したが、本発明はそれらに制限されず、本発明の範囲内で幾多の変形や付加がなされ得ることを理解されたい。例えば、キャッシュ30は、図1に表されているように、命令とデータの両方を記憶するように使用しても良い。あるいは、代替案として、命令を記憶するために1つのキャッシュを設け、さらにデータを記憶するために分離したキャッシュを設けても良い。後者の場合、好ましくは1つは命令用そして1つはデータ用の2つの保護ユニット20が使用される。これが実現できる2つの方法を図4Aおよび図4Bで説明する。
図4Aにおいて、命令キャッシュ430およびデータキャッシュ440は、プロセッサコア10によって同時にアクセス可能である。命令アドレスが命令キャッシュ430においてキャッシュ検索に使用されるとき、そのアドレスは、必要ならメモリへのアクセスを制御するために使用されるべき属性を判定するために、保護ユニット400にも適用される。同時に、データアドレスがデータキャッシュ440においてキャッシュ検索に使用されるとき、そのアドレスは、必要ならメモリへのアクセスを制御するために使用されるべき属性を判定するために、保護ユニット410にも適用される。属性レジスタおよび論理領域を定義しているレジスタが一組のレジスタ420によって与えられるということを除いて、保護ユニット400および410は、好ましくは、図1に示された保護ユニット20と同一である。それゆえ、図4Aにおいては、同一の論理領域および属性が、メモリへのデータおよび命令アクセスの両方に対して使用される。
しかし、図4Bに示された代替方法は、保護ユニット400および410がそれぞれ別々のレジスタ450および460を持つようになっており、それによって、異なる属性を持つ異なる大きさの論理領域を、データおよび命令アクセスに対して特定されるようにする。例えば、命令領域に対して異なる大きさのデータ領域が要求されるので、これはさらなるフレキシビリティを与える。

Claims (16)

  1. 各メモリロケーションが対応するアドレスを有する、データ値を記憶するための複数個の当該メモリロケーションを持つメモリへのアクセスを制御するためのデータ処理装置であって、
    前記メモリ内の複数個の論理領域のアドレス範囲を同定する情報を記憶するためのアドレス範囲記憶装置と、
    各論理領域に対して、前記論理領域内のメモリロケーションへのアクセスを制御するために用いられる属性を記憶するための属性記憶装置と、
    前記メモリロケーションの1つに対応する、処理装置によって与えられるアドレスを、前記複数個の論理領域のアドレス範囲と比較し、1つ以上の論理領域が前記アドレスを含んでいる場合には、前記アドレスを含んでいるこれらの論理領域を示す信号を発生するための、アドレス比較器論理回路と、
    そのアドレス比較器論理回路によって発生される信号に応答して、前記アドレスを含んでいるどの論理領域が最高の優先順位を有しているかを判定し、アドレスによって特定されるメモリロケーションへのアクセスを制御する際に使用するためのその最高優先順位に対応する属性を属性記憶装置に出力するために、所定の優先順位判定規準を与えるための属性判定論理回路から構成され、前記論理領域の1つが全メモリをカバーしかつ前記論理領域の最低優先順位を有するバックグラウンド領域であり、それによって、プロセッサによって与えられるアドレスが他の論理領域のいずれにも存在しないメモリロケーションに対応している場合には、バックグラウンド領域と関連付けられた属性を出力するように、前記属性判定論理回路が構成されていることを特徴とするデータ処理装置。
  2. 請求項1に記載のデータ処理装置において、前記論理領域のアドレス範囲が、どのメモリロケーションで該領域が始まるかを同定するベースアドレスと、論理領域の大きさを同定するサイズ属性によって特定されることを特徴とするデータ処理装置。
  3. 請求項2に記載のデータ処理装置において、大きさXのメモリ領域が値Xの倍数であるベースアドレスを持つ必要があるように、前記ベースアドレスがサイズ属性の関数として決定されることを特徴とするデータ処理装置。
  4. 請求項2または3に記載のデータ処理装置において、前記ベースアドレスとサイズ属性が、利用者によってプログラム可能であることを特徴とするデータ処理装置。
  5. 請求項1に記載のデータ処理装置において、前記論理領域のアドレス範囲が、論理領域の始りと終わりを同定するスタートアドレスとエンドアドレスによって特定されることを特徴とするデータ処理装置。
  6. 請求項5に記載のデータ処理装置において、前記スタートアドレスとエンドアドレスが、利用者によってプログラム可能であることを特徴とするデータ処理装置。
  7. 請求項1から6のいずれかに記載のデータ処理装置において、前記アドレス比較器論理回路が、各アドレス範囲に対して1個の、多数の比較器から構成されていることを特徴とするデータ処理装置。
  8. 請求項1から7のいずれかに記載のデータ処理装置において、前記アドレス範囲記憶装置が、多数のレジスタから構成されていることを特徴とするデータ処理装置。
  9. 請求項7に記載のデータ処理装置において、前記アドレス範囲記憶装置が多数のレジスタから構成されており、別々のレジスタが各比較器と関連付けられていることを特徴とするデータ処理装置。
  10. 請求項1から9のいずれかに請求項のいずれかに記載のデータ処理装置において、前記属性記憶装置が、マルチプレクサに接続された複数個の属性レジスタを備え、各レジスタは論理領域の属性を含み、さらに、マルチプレクサに前記アドレスを含む最大優先順位領域に対応する属性レジスタから属性を出力させるために、前記属性判定論理回路がマルチプレクサに信号を出力することを特徴とするデータ処理装置。
  11. 請求項1から10のいずれかに記載のデータ処理装置において、前記アドレス比較器論理回路が複数個の出力を有し、1個の出力が各論理領域に与えられ、さらに、対応の論理領域が前記アドレスを含むかどうかを示すための信号が、前記出力に発生され、前記属性判定論理回路が、前記複数個の出力からの信号を受信するための、対応の複数個の入力を有し、該複数個の入力が、所定の優先順位規準を適用するため、前記属性判定論理回路によって使用される相対優先順位を有することを特徴とするデータ処理装置。
  12. 請求項1から10のいずれかに記載のデータ処理装置において、前記所定の優先順位基準が、前記論理領域の相対優先順位を特定する優先順位情報を、前記属性判定論理回路によってアクセス可能な記憶装置に優先順位情報として記憶されることを特徴とするデータ処理装置。
  13. 請求項1から12のいずれかに記載のデータ処理装置において、さらに、プロセッサによって要求されるデータ値が記憶される、またはプロセッサコアによって処理されるデータ値が記憶されるべき、前記メモリ内のメモリロケーションに対応するアドレスを与えるためのプロセッサコアを備えていることを特徴とするデータ処理装置。
  14. 請求項13に記載のデータ処理装置において、さらに、前記プロセッサコアによってアクセス可能なデータ値を記憶するためのキャッシュを備えていることを特徴とするデータ処理装置。
  15. 請求項14に記載のデータ処理装置において、命令を記憶するために第1のキャッシュが設けられ、さらにデータを記憶するために第2のキャッシュが設けられており、前記アドレス比較器論理回路および属性判定論理回路が、前記第1および第2のキャッシュのそれぞれに対して複写されることを特徴とするデータ処理装置。
  16. 各メモリロケーションが対応するアドレスを有する、データ値を記憶するための複数の当該メモリロケーションを持つメモリへのアクセスを制御するためのデータ処理装置を動作させる方法であって、該方法が、
    (a) 前記メモリ内の複数個の論理領域のアドレス範囲を同定する情報を記憶するステップと、
    (b) 各論理領域に対して、前記論理領域内のメモリロケーションへのアクセスを制御するために用いられる属性、を記憶するためのステップと、
    (c) 前記メモリロケーションの1つに対応する、処理装置によって与えられるアドレスを、前記複数個の論理領域のアドレス範囲と比較するステップと、
    (d) 1つ以上の論理領域が前記アドレスを含んでいる場合には、前記アドレスを含んでいるこれらの論理領域を示す信号を発生するステップと、
    (e) 前記ステップ(d)で発生される信号に応答して、前記アドレスを含んでいるどの論理領域が最高の優先順位を有しているかを判定するために、所定の優先順位判定規準を適用するステップと、
    (f) アドレスによって特定されるメモリロケーションへのアクセスを制御する際に使用するため、最高の優先順位領域に対応する記憶された属性を出力するステップから構成され、
    前記論理領域の1つが全メモリをカバーしかつ前記論理領域の最低優先順位を有するバックグラウンド領域であり、それによって、前記ステップ(d)で発生される信号が、プロセッサによって与えられるアドレスが他の論理領域のいずれにも存在しないメモリロケーションに対応していることを示す場合には、前記ステップ(f)で、バックグラウンド領域と関連付けられた記憶された属性が出力されるようになっていることを特徴とする動作方法。
JP54669198A 1997-04-30 1998-02-03 メモリアクセス保護装置 Expired - Lifetime JP3710490B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9708822A GB2325061B (en) 1997-04-30 1997-04-30 Memory access protection
GB9708822.3 1997-04-30
PCT/GB1998/000344 WO1998049623A1 (en) 1997-04-30 1998-02-03 Memory access protection

Publications (2)

Publication Number Publication Date
JP2001522492A JP2001522492A (ja) 2001-11-13
JP3710490B2 true JP3710490B2 (ja) 2005-10-26

Family

ID=10811626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54669198A Expired - Lifetime JP3710490B2 (ja) 1997-04-30 1998-02-03 メモリアクセス保護装置

Country Status (12)

Country Link
US (1) US6021476A (ja)
EP (1) EP0979456B1 (ja)
JP (1) JP3710490B2 (ja)
KR (1) KR100563222B1 (ja)
CN (1) CN1118027C (ja)
DE (1) DE69823180T2 (ja)
GB (1) GB2325061B (ja)
IL (1) IL132418A (ja)
MY (1) MY114810A (ja)
RU (1) RU2215321C2 (ja)
TW (1) TW376475B (ja)
WO (1) WO1998049623A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216390B2 (en) 2019-07-25 2022-01-04 Kioxia Corporation Storage device, memory access control system, and memory access control method

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272605B1 (en) * 1998-06-01 2001-08-07 International Business Machines Corporation System using priority data of a host recall request to determine whether to release non-volatile storage with another host before processing further recall requests
JP4516693B2 (ja) * 1998-12-07 2010-08-04 アルボス テクノロジーズ リミテッド リミテッド ライアビリティ カンパニー コンピュータ、アドレス有効性照合プログラムを記録した記録媒体、及びアドレス有効性照合方法
US6748502B2 (en) * 2001-01-12 2004-06-08 Hitachi, Ltd. Virtual volume storage
JP2003006046A (ja) * 2001-06-25 2003-01-10 Sanyo Electric Co Ltd メモリプロテクション方法および回路
JP2003060906A (ja) * 2001-08-21 2003-02-28 Canon Inc 画像処理装置及びその方法
US7134139B2 (en) * 2002-02-12 2006-11-07 International Business Machines Corporation System and method for authenticating block level cache access on network
US7266842B2 (en) * 2002-04-18 2007-09-04 International Business Machines Corporation Control function implementing selective transparent data authentication within an integrated system
US6851056B2 (en) 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7089419B2 (en) 2002-04-18 2006-08-08 International Business Machines Corporation Control function with multiple security states for facilitating secure operation of an integrated system
US7266786B2 (en) 2002-11-05 2007-09-04 Sonics, Inc. Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems
US7203798B2 (en) * 2003-03-20 2007-04-10 Matsushita Electric Industrial Co., Ltd. Data memory cache unit and data memory cache system
DE10335643B4 (de) * 2003-08-04 2007-10-31 Infineon Technologies Ag Vorrichtung und Verfahren zum Steuern des Zugriffs von mehreren Datenverarbeitungseinrichtungen auf einen Speicher
US7231499B2 (en) * 2003-12-17 2007-06-12 Broadcom Corporation Prioritization of real time / non-real time memory requests from bus compliant devices
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US7068545B1 (en) * 2005-01-04 2006-06-27 Arm Limited Data processing apparatus having memory protection unit
US20070005932A1 (en) * 2005-06-29 2007-01-04 Intel Corporation Memory management in a multiprocessor system
JP4519738B2 (ja) * 2005-08-26 2010-08-04 株式会社東芝 メモリアクセス制御装置
US8572329B2 (en) * 2005-10-04 2013-10-29 Arm Limited Multi-region default memory map
TW200805065A (en) 2006-01-17 2008-01-16 Nxp Bv Region protection unit, instruction set and method for protecting a memory region
JP5100133B2 (ja) * 2007-01-19 2012-12-19 株式会社東芝 情報処理装置
US8380987B2 (en) 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
KR101405319B1 (ko) * 2007-04-16 2014-06-10 삼성전자 주식회사 가상화 환경에서의 안전한 시스템 보호 장치 및 방법
US8051263B2 (en) * 2007-05-04 2011-11-01 Atmel Corporation Configurable memory protection
US8417916B2 (en) * 2008-01-11 2013-04-09 International Business Machines Corporation Perform frame management function instruction for setting storage keys and clearing blocks of main storage
US8738860B1 (en) * 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
GB2484927A (en) * 2010-10-26 2012-05-02 Advanced Risc Mach Ltd Provision of access control data within a data processing system
US8949551B2 (en) 2011-02-23 2015-02-03 Freescale Semiconductor, Inc. Memory protection unit (MPU) having a shared portion and method of operation
US9116845B2 (en) 2011-02-23 2015-08-25 Freescale Semiconductor, Inc. Remote permissions provisioning for storage in a cache and device therefor
US8775754B2 (en) * 2011-06-24 2014-07-08 Arm Limited Memory controller and method of selecting a transaction using a plurality of ordered lists
US8639895B2 (en) 2011-07-14 2014-01-28 Freescale Semiconductor, Inc. Systems and methods for memory region descriptor attribute override
US8572345B2 (en) 2011-09-16 2013-10-29 Freescale Semiconductor, Inc. Memory management unit (MMU) having region descriptor globalization controls and method of operation
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
US10592424B2 (en) 2017-07-14 2020-03-17 Arm Limited Range-based memory system
US10467159B2 (en) 2017-07-14 2019-11-05 Arm Limited Memory node controller
US10489304B2 (en) * 2017-07-14 2019-11-26 Arm Limited Memory address translation
US10565126B2 (en) 2017-07-14 2020-02-18 Arm Limited Method and apparatus for two-layer copy-on-write
US10613989B2 (en) 2017-07-14 2020-04-07 Arm Limited Fast address translation for virtual machines
US10534719B2 (en) 2017-07-14 2020-01-14 Arm Limited Memory system for a data processing network
US10353826B2 (en) 2017-07-14 2019-07-16 Arm Limited Method and apparatus for fast context cloning in a data processing system
US10884850B2 (en) 2018-07-24 2021-01-05 Arm Limited Fault tolerant memory system
US11232039B2 (en) * 2018-12-10 2022-01-25 Advanced Micro Devices, Inc. Cache for storing regions of data
EP4372567A1 (en) 2022-11-18 2024-05-22 Thales Dis France Sas Processor and method for modifying processor behavior based on memory attributes and instruction type

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3827029A (en) * 1972-09-25 1974-07-30 Westinghouse Electric Corp Memory and program protection system for a digital computer system
US4038645A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Non-translatable storage protection control system
JPS58225442A (ja) * 1982-06-25 1983-12-27 Toshiba Corp 優先順位制御回路
JPH01229353A (ja) * 1988-03-09 1989-09-13 Fujitsu Ltd Dmaコントローラ
US5335334A (en) * 1990-08-31 1994-08-02 Hitachi, Ltd. Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US5465343A (en) * 1993-04-30 1995-11-07 Quantum Corporation Shared memory array for data block and control program storage in disk drive
US5623636A (en) * 1993-11-09 1997-04-22 Motorola Inc. Data processing system and method for providing memory access protection using transparent translation registers and default attribute bits
EP0700002B1 (en) * 1994-08-31 1999-05-19 Motorola, Inc. Modular chip select control circuit
US5742826A (en) * 1994-11-09 1998-04-21 International Business Machines Corporation Object encapsulation protection apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216390B2 (en) 2019-07-25 2022-01-04 Kioxia Corporation Storage device, memory access control system, and memory access control method

Also Published As

Publication number Publication date
CN1254424A (zh) 2000-05-24
MY114810A (en) 2003-01-31
KR100563222B1 (ko) 2006-03-22
US6021476A (en) 2000-02-01
DE69823180T2 (de) 2004-11-11
IL132418A0 (en) 2001-03-19
TW376475B (en) 1999-12-11
GB9708822D0 (en) 1997-06-25
KR20010012133A (ko) 2001-02-15
GB2325061B (en) 2001-06-06
GB2325061A (en) 1998-11-11
RU2215321C2 (ru) 2003-10-27
JP2001522492A (ja) 2001-11-13
EP0979456B1 (en) 2004-04-14
IL132418A (en) 2003-11-23
WO1998049623A1 (en) 1998-11-05
DE69823180D1 (de) 2004-05-19
CN1118027C (zh) 2003-08-13
EP0979456A1 (en) 2000-02-16

Similar Documents

Publication Publication Date Title
JP3710490B2 (ja) メモリアクセス保護装置
US5951685A (en) Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM
US5644788A (en) Burst transfers using an ascending or descending only burst ordering
US5628023A (en) Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
US5623636A (en) Data processing system and method for providing memory access protection using transparent translation registers and default attribute bits
US5805930A (en) System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs
JPH0260012B2 (ja)
US6851036B1 (en) Method and apparatus for controlling external devices through address translation buffer
JP4266629B2 (ja) ページ・テーブル属性によるバス・インタフェース選択
JPH07120318B2 (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
US5873128A (en) Data processing system with dynamic address translation function
JP3217348B2 (ja) 情報処理システム
JPH0448358A (ja) キャッシュ・メモリ制御方式
JP3190661B2 (ja) 情報処理システム
JP3147236B2 (ja) キヤツシユメモリ装置
JPH03113548A (ja) 拡張メモリ制御装置
JPS62131352A (ja) アドレス変換制御方式
JPH08263426A (ja) 論理ダイレクトメモリアクセス方式
JPS6031646A (ja) デ−タ処理装置
JPH0795288B2 (ja) マイクロコンピュータ
JPS61221845A (ja) バツフアメモリ無効化アドレス生成方式
JPH08272603A (ja) データ処理装置
JPH05204754A (ja) キャッシュ装置
JP2000047943A (ja) メモリ保護システム
JPH06175924A (ja) 計算機装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050608

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050810

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130819

Year of fee payment: 8

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