[go: up one dir, main page]

JP2003006046A - メモリプロテクション方法および回路 - Google Patents

メモリプロテクション方法および回路

Info

Publication number
JP2003006046A
JP2003006046A JP2001191550A JP2001191550A JP2003006046A JP 2003006046 A JP2003006046 A JP 2003006046A JP 2001191550 A JP2001191550 A JP 2001191550A JP 2001191550 A JP2001191550 A JP 2001191550A JP 2003006046 A JP2003006046 A JP 2003006046A
Authority
JP
Japan
Prior art keywords
logical
access
address
attribute
priority
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
JP2001191550A
Other languages
English (en)
Inventor
Yoshinari Fujii
善也 藤井
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2001191550A priority Critical patent/JP2003006046A/ja
Priority to US10/180,684 priority patent/US6810471B2/en
Priority to CN02140319.8A priority patent/CN1395175A/zh
Publication of JP2003006046A publication Critical patent/JP2003006046A/ja
Pending legal-status Critical Current

Links

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
    • 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

(57)【要約】 【課題】 アドレス範囲によってアクセス属性を個別に
指定する際、メモリマップを変更したときの設定変更が
煩雑であり、処理ステップ数も概して多かった。 【解決手段】 複数の論理領域の優先度をそれぞれ指定
する優先度レジスタ回路9a〜9dを設け、論理領域の
優先度を可変とする。メモリマップに変更があった場合
でも、優先度が固定されている場合に比べ、設定変更の
自由度が高く、優先度の変更という比較的ビット数の少
ない処理によって目的が達成できる場合が多くなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリのプロテク
ション技術に関するものであり、特に、アドレス範囲に
よってアクセスに関する属性を個別に指定する方法およ
び回路に関するものである。
【0002】
【従来の技術】マイクロプロセッサをはじめとするデー
タ処理装置は、その論理アドレス空間にマッピングされ
たメモリその他のデバイス(以下単にデバイスという)
に対し、アドレスを発行することにより、リード、ライ
トなどのアクセスを行う。アドレスによって、リードラ
イトがともに許される場合のほか、リードのみが許され
たり、リードもライトも許されない領域が設定される場
合も多い。こうしたアクセスに関する性質(以下、アク
セスの属性、または単に属性ともいう)は、例えば「ペ
ージ」とよばれる論理領域を単位として設定されること
がある。属性を設定することにより、デバイスのデータ
の書換や読出を禁止または制限することを一般にプロテ
クションとよぶ。
【0003】アドレス範囲によって属性を個別に指定す
るメモリプロテクション回路の例として米国特許第6,
021,476号に記載のものがある。この回路では、
複数の論理領域のアドレス範囲をそれぞれ指定可能であ
り、それぞれの論理領域には予め優先度が固定的に決め
られており、マイクロプロセッサから発行されたアドレ
スが複数の論理領域のアドレス範囲に含まれる場合、優
先度が最も高い論理領域(以下「最優先領域」ともい
う)を選択し、その領域について決まっている属性にし
たがったアクセスが実行される。
【0004】例えば4KBのオペレーティングシステム
(以下「OS」と表記する)のプログラムの領域と、12
KBのユーザプログラムの領域を16KBのRAMに設ける場
合、一般には16KBの領域をまず4つの4KBに分割し、そ
れらのうち1つを「OSのプログラム領域」に割り当
て、残り3つをそれぞれ「ユーザプログラム領域」にそ
れぞれ割り当てる。したがって、少なくとも4回の設定
作業が必要になる。しかし、前述の米国特許の場合、ま
ず16KBの領域全体を「ユーザプログラム領域」に設定し
ておき、つぎにその中の4KB分の領域のみを「OSのプ
ログラム領域」に重複して設定し、この4KBの優先度を
高く設定すれば目的を達する。したがって、領域の定義
を2つ行うだけでよく、設定が容易になる。
【0005】
【発明が解決しようとする課題】しかしながら本発明者
は、論理領域の優先度が固定となっていることに起因
し、メモリマップを変更した場合の設定変更には改善の
余地が認められることを認識するに至った。例えば、ア
ドレス0xffff8000(0xffff8000は16進数のffff8000を
示す。以下「0x」は同様に16進数を示す)から0xffff
f7ffまでの30KBの論理領域の属性を、フルアクセス、す
なわちリードライトともに可能で、かつキャッシュ可と
し、アドレス0xfffff800から0xffffffffまでの2KBの論
理領域の属性を、リードオンリー、かつキャッシュ可と
する場合を考える。前述の米国特許の場合、優先度が予
め論理領域0<論理領域1<論理領域2、すなわち論理
領域2が最優先領域と固定されているとき、論理領域
0:アドレス範囲は0xffff8000から0xffffffffまでの32
KB属性はフルアクセスかつキャッシュ可論理領域1:ア
ドレス範囲は0xfffff800から0xffffffffまでの2KB属性
はリードオンリーかつキャッシュ可と設定する。
【0006】ここで、メモリマップを変更し、フルアク
セスかつキャッシュ可であった30KBの論理領域のうち6K
Bだけの属性を、リードオンリーかつキャッシュ不可に
変更する場合を考える。このとき、論理領域0:アドレ
ス範囲は0xffff8000から0xffffffffまでの32KB属性はフ
ルアクセス、かつキャッシュ可論理領域1:アドレス範
囲は0xffffe000から0xffffffffまでの8KB属性はリード
オンリーかつキャッシュ不可論理領域2:アドレス範囲
は0xfffff800から0xffffffffまでの2KB属性はリードオ
ンリーかつキャッシュ可と設定することになる。
【0007】ここで、メモリマップ変更前にリードオン
リーかつキャッシュ可であった2KBの論理領域は、メモ
リマップ変更後も同じアドレス範囲でリードオンリーか
つキャッシュ可という同じ属性を有するにもかかわら
ず、その論理領域に関して、メモリマップ変更前に論理
領域1に設定されていたアドレス範囲および属性を、論
理領域2に設定し直さなければならない。このため、マ
イクロプロセッサのプログラムによってメモリプロテク
ション回路の設定を行っている場合、プログラムの変更
は煩雑かつ慎重な作業を要する。
【0008】また、属性をプログラムによって動的に変
更してメモリのプロテクションを行う場合、設定変更に
要する処理ステップ数も当然ながら少ないにこしたこと
はない。
【0009】本発明はこうした課題に鑑みてなされたも
のであり、その目的は、メモリプロテクション回路によ
る設定変更に必要なプログラムを簡潔にし、または設定
変更に要する処理ステップ数を削減することにある。
【0010】
【課題を解決するための手段】本発明のある態様におけ
るメモリプロテクション回路は、マイクロプロセッサ等
のデータ処理装置からその論理アドレス空間に割り当て
られたデバイスへのアクセスを制御するメモリプロテク
ション回路である。この回路は、前記論理アドレス空間
において複数の論理領域のアドレス範囲をそれぞれ指定
するアドレス範囲レジスタ手段と、前記論理領域のそれ
ぞれについてアクセスの属性を指定する属性レジスタ手
段と、前記論理領域のそれぞれについて、前記デバイス
へのアクセス要求アドレスがその論理領域に含まれるか
否かを判定するアドレス比較手段と、アクセスに対する
優先度を前記論理領域のそれぞれについて指定する優先
度レジスタ手段と、アクセス要求アドレスが含まれると
判定された論理領域がひとつ以上存在した場合、それら
の中で最も優先度が高い論理領域について指定された属
性を特定して出力する属性決定手段と、前記アドレス範
囲レジスタ手段、前記属性レジスタ手段、および前記優
先度レジスタ手段を繰り返し設定可能なレジスタ設定手
段と備える。
【0011】「デバイス」の代表は前述のごとくメモリ
であるが、メモリマップに類する論理アドレス空間を媒
介としてアクセス可能なものであればメモリである必要
はなく、たとえばメモリマップドI/Oデバイスであっ
てもよい。また、メモリかI/Oか外見上不明であるオ
プション機器、たとえば各種拡張バスカードなども少な
くともその一部が論理アドレス空間にマップされるなら
「デバイス」である。
【0012】「メモリプロテクション回路」も同様に、
必ずしもメモリのみを保護の対象とする意味ではなく、
メモリ同様の論理アドレス空間にマップされる任意のデ
バイスを保護する回路の総称である。
【0013】この回路によれば、論理領域の優先度を可
変かつ繰り返し設定可能であるため、プロテクションの
設定変更に伴うアドレス範囲の設定変更や属性の設定変
更が簡潔になる。
【0014】この回路は、アクセス要求アドレスが含ま
れると判定された論理領域がひとつも存在しない場合、
または前記アクセス要求アドレスに対するアクセスの属
性が許可されないものであるとき、プロテクションエラ
ー信号を出力する構成を含んでもよい。この構成は、例
えばアドレス比較手段による比較結果がすべて「含まれ
ない」を示しているときプロテクションエラー信号をア
クティブで出力するゲート素子である。
【0015】この回路は、アクセス要求アドレスに対す
るアクセスの属性が「アクセス禁止」を示すとき、プロ
テクションエラー信号を出力する構成を含んでもよい。
例として、データ処理装置はアクセス要求アドレスに対
してライト動作を起動しているのに、そのアドレスの属
性が「リードオンリー」の場合、プロテクションエラー
信号が出される。
【0016】この回路は、アクセス要求アドレスが含ま
れると判定された論理領域がひとつも存在しない場合、
予め定められたアクセスの属性を選択する構成を含んで
もよい。この属性は例えば「ノーアクセス(リードもラ
イトも禁止)」である。具体的には、アクセス要求アド
レスが含まれると判定された論理領域がひとつも存在し
ない場合に選択すべき属性を設定するためのデフォルト
属性レジスタ手段と、そのデフォルト属性レジスタ手段
を繰り返し設定可能なレジスタ設定手段とを備えてもよ
い。
【0017】本発明の別の態様もデータ処理装置からそ
の論理アドレス空間に割り当てられたデバイスへのアク
セスを制御するメモリプロテクション回路である。この
回路は、前記論理アドレス空間において、複数の論理領
域のアドレス範囲を、重複を許容して設定するためのア
ドレス範囲レジスタ手段と、アクセスに対する優先度を
前記複数の論理領域のそれぞれについて外部から再設定
可能に指定する優先度レジスタ手段とを含む。この構成
において、前記デバイスへのアクセス要求アドレスが複
数の論理領域に同時に含まれるとき、優先度の最も高い
論理領域がアクセスの対象として選択される。
【0018】本発明のさらに別の態様はメモリプロテク
ション方法に関する。この方法は、論理アドレス空間に
おいて、複数の論理領域のアドレス範囲を、重複を許容
して設定する工程と、アクセス要求アドレスが複数の論
理領域に同時に含まれる場合、それらの論理領域の優先
度を参照し、最も優先度が高い論理領域を決定する工程
と、最も優先度が高いと決定された論理領域のアクセス
の属性を特定する工程と、特定された属性に従ったアク
セスを発生させる工程と、前記優先度を前記複数の論理
領域のそれぞれについて適宜再設定する工程とを含む。
優先度を再設定することにより、プロテクションの方針
変更に際して柔軟かつ簡潔な設定変更が実現する。
【0019】
【発明の実施の形態】実施の形態1図1は、本実施の形
態に係るメモリプロテクション回路の構成を示すブロッ
ク回路図である。同図において、メモリプロテクション
回路1は、マイクロプロセッサ2、メモリ3、及びメモ
リ制御回路4と接続されており、4つの論理領域A、
B、C、及びDの設定が可能である。4つの論理領域に
対応して、それぞれ4個のベースレジスタ回路5a〜5
d、サイズレジスタ回路6a〜6d、アクセス属性レジ
スタ回路7a〜7d、アドレス比較回路8a〜8d、優
先度レジスタ回路9a〜9d、属性決定回路10、及び
レジスタ設定回路11を備えている。
【0020】4個のベースレジスタ5a〜5dはそれぞ
れ、論理領域A〜Dのベースアドレス32ビットの上位24
ビットを保持する。ベースアドレスの下位8ビットはこ
こではドントケア、すなわち不参照であり、ベースアド
レスの確定にあたりこれら8ビットはすべて0とみなさ
れる。4個のサイズレジスタ6a〜6dはそれぞれ、論
理領域A〜Dのサイズを示すサイズコードを保持する。
【0021】図2は、本実施の形態に適用される論理領
域サイズのコーディングの例であり、4個のサイズレジ
スタ6a〜6dのそれぞれに保持されているサイズコー
ドと論理領域のサイズの関係を示す。ここで、0b01010
の「0b」は2進数を示し、以下同様の表記を用いる。例
として、論理領域Aに対応するベースレジスタ5aに値
0xfffff8が保持されており、サイズレジスタ6aにサイ
ズコード0b01010が保持されている場合、論理領域Aの
アドレス範囲は、0xfffff800から0xffffffffの2KBとな
る。なお、同図のごとく、アドレス範囲がゼロである設
定も可能で、0b00000を指定すればよい。
【0022】4個のアクセス属性レジスタ回路7a〜7
dはそれぞれ、論理領域A〜Dのアクセス属性コードA
a〜Adを保持する。図3は、本実施の形態に適用され
る属性のコーディングの例であり、アクセス属性レジス
タ回路7a〜7dに保持されているアクセス属性コード
と各論理領域の属性の関係を示す。ここでは「ノーアク
セス」「リードオンリー」および「フルアクセス」が設
定可能であり、これら以外はリザーブとして設定が認め
られない。
【0023】4個のアドレス比較回路8a〜8dにはそ
れぞれ、4個のベースレジスタ5a〜5dが出力するベ
ースアドレス、すなわち32ビットアドレスの上位24ビッ
トが入力される。これらのアドレス比較回路8a〜8d
のそれぞれには、4個のサイズレジスタ6a〜6dが出
力するサイズコードがそれぞれ入力される。また、アド
レス比較回路8a〜8dすべてに、マイクロプロセッサ
2からアドレスバス13を介して出力されるアドレス
(以下これを「アクセス要求アドレス」という)が入力
される。
【0024】論理領域Aに対応するアドレス比較回路8
aは、アクセス要求アドレスが論理領域Aのアドレス範
囲に含まれるか否かを判定し、判定結果が「含まれる」
であるときに限り、ヒット信号Haを属性決定回路10
に出力する。論理領域B〜Dに対応するアドレス比較回
路8b〜8dも同様に、それぞれ論理領域B〜Dについ
てヒット信号Hb〜Hdを出力する。
【0025】4個の優先度レジスタ回路9a〜9dはそ
れぞれ、論理領域A〜Dの優先度コードPa〜Pdを保
持する。図4は、本実施の形態に適用される優先度のコ
ーディングの例であり、優先度レジスタ回路9a〜9d
にそれぞれ保持されている優先度コードと論理領域A〜
Dの優先度の関係を示す。
【0026】レジスタ設定回路11には、マイクロプロ
セッサ2より、アクセス制御線12を介してアクセス制
御信号が、アドレスバス13を介してアドレスが、デー
タバス14を介してデータが入力される。これらの信号
に基づき、ベースレジスタ回路5a〜5d、サイズレジ
スタ回路6a〜6d、アクセス属性レジスタ回路7a〜
7d、優先度レジスタ回路9a〜9dの設定が行われ
る。
【0027】属性決定回路10には、4個のアドレス比
較回路8a〜8dからそれぞれ出力される前述のヒット
信号Ha〜Hd、4個の優先度レジスタ回路9a〜9d
からそれぞれ出力される優先度コードPa〜Pd、4個
のアクセス属性レジスタ回路7a〜7dからそれぞれ出
力されるアクセス属性コードAa〜Adが入力される。
【0028】属性決定回路10はまず、ヒット信号Ha
〜Hdに基づき、アクセス要求アドレスが論理領域A〜
Dのいずれに含まれるかを判定する。つづいて、そのア
ドレスが含まれる論理領域のうち最優先領域を選択し、
選択された領域に対応するアクセス属性を特定し、特定
された属性のコードを属性出力線15より出力する。な
お、アクセス要求アドレスが論理領域A〜Dのいずれに
も含まれない場合、属性決定回路10は「ノーアクセ
ス」を示すアクセス属性コード0b00を出力し、同時にプ
ロテクションエラー信号20をアクティブで出力する。
この信号はマイクロプロセッサ2の割込信号入力などへ
接続され、必要なエラー処理プロセスが起動される。こ
れにより、デバイスが割り当てられていない論理領域に
誤ってアクセスしようとした場合、予期せぬ動作が回避
できる。メモリ制御回路4は出力された属性コードをも
とにアクセス要求アドレスに対するアクセスを許可、制
限または禁止する。メモリ3からのリード動作にはリー
ドイネーブル信号16を利用し、ライト動作にはライト
イネーブル信号17を利用する。
【0029】以上の構成による実際の設定例を以下詳述
する。(設定例1)いま、アドレス範囲0x00000000から
0x000007ffまでの2KBの論理領域をリードオンリー、ア
ドレス範囲0x00000800から0xffffffffまでをノーアクセ
スと設定する場合、以下の設定を行う。
【0030】論理領域Aについてベースレジスタ回路5
a: 0x000000(ベースアドレスは0x00000000)サイズ
レジスタ回路6a: 0b11111(サイズは4GB)アクセス
属性レジスタ回路7a: 0b00(ノーアクセス)優先度
レジスタ回路9a: 0b00(優先度は最低)論理領域B
についてベースレジスタ回路5b: 0x000000(ベース
アドレスは0x00000000)サイズレジスタ回路6b: 0b
01010(サイズは2KB)アクセス属性レジスタ回路7b:
0b10(リードオンリー)優先度レジスタ回路9b:
0b01(論理領域Aの優先度より高い)論理領域Cについ
てサイズレジスタ回路6c: 0b00000(サイズは0B)
論理領域Dについてサイズレジスタ回路6d: 0b0000
0(サイズは0B)なお、論理領域C、Dのサイズを0Bと
したため、それらのベースレジスタ回路5c、5d、ア
クセス属性レジスタ回路7c、7d、優先度レジスタ回
路9c、9dの設定は任意でよい。
【0031】以上の設定のもとで、マイクロプロセッサ
2がアドレス0x00000000にライトを試みた場合、論理領
域A、Bがヒットし、このうち優先度が高い論理領域B
が選択され、論理領域Bに対応するアクセス属性である
「リードオンリー」が選択され、属性出力線15より属
性コード「0b10」が出力される。一方、マイクロプロセ
ッサ2から、アクセス制御線12を介してメモリ制御回
路4にライト動作である旨のアクセス制御信号が入力さ
れている。
【0032】メモリ制御回路4は、マイクロプロセッサ
がライトを試みているにもかかわらず、アクセス要求ア
ドレスが「リードオンリー」の属性の論理領域Bに含ま
れることを判定し、メモリ3に対するライトイネーブル
信号をインアクティブに維持する。その結果、そのアド
レスに対するライト動作は阻止される。
【0033】このように所望のアクセスが実現できなか
ったときも、属性決定回路10は、プロテクションエラ
ー信号20をアクティブにしてマイクロプロセッサ2に
通知してもよい。このためには、図示しない経路でアク
セス制御線12が属性決定回路10に接続され、属性決
定回路10がアクセスのタイプを自ら判定すればよい。
なお、この判定は当然ながらメモリ制御回路4で行って
もよく、その場合はこの回路が図示しない経路でプロテ
クションエラー信号20をアクティブにしてもよい。
【0034】(設定例2)つぎに、アドレス範囲0x0000
0800から0x00001fffまでの6KBの論理領域のアクセス属
性をフルアクセスに変更し、その他の論理領域のアクセ
ス属性は変更しない場合を考える。このとき、以下の設
定変更を行えばよい。論理領域Bについて優先度レジス
タ回路9b:0b10論理領域Cについてベースレジスタ回
路5c: 0x000000(ベースアドレスは0x00000000)サ
イズレジスタ回路6c: 0b01100(サイズは8KB)アク
セス属性レジスタ回路7c: 0b11(フルアクセス)優
先度レジスタ回路9c: 0b01(論理領域Bより低い)
以上が本実施の形態によるアクセス制御のための設定例
である。
【0035】本実施の形態による効果を明確にすべく、
以下、図1の4個の優先度レジスタ回路9a〜9dが存
在しない場合の設定を考える。ここでは論理領域の優先
度は予め固定されており、論理領域A<論理領域B<論
理領域C<論理領域D、すなわち論理領域Dを最優先領
域とする。設定例1、2は既述のものと同じである。
(設定例1)論理領域Aについてベースレジスタ回路5
a: 0x000000(ベースアドレスは0x00000000)サイズ
レジスタ回路6a: 0b11111(サイズは4GB)アクセス
属性レジスタ回路7a: 0b00(ノーアクセス)論理領
域Bについてベースレジスタ回路5b: 0x000000(ベ
ースアドレスは0x00000000)サイズレジスタ回路6b:
0b01010(サイズは2KB)アクセス属性レジスタ回路7
b: 0b10(リードオンリー)論理領域Cについてサイ
ズレジスタ回路6c: 0b00000(サイズは0B)論理領
域Dについてサイズレジスタ回路6d: 0b00000(サ
イズは0B)ここでも論理領域C、Dのサイズを0Bとした
ため、ベースレジスタ回路5c、5d、アクセス属性レ
ジスタ回路7c、7dの設定は任意でよい。
【0036】(設定例2)論理領域Bについてベースレ
ジスタ回路5b: 0x000000(ベースアドレスは0x0000
0000)サイズレジスタ回路6b: 0b01100(サイズは8
KB)アクセス属性レジスタ回路7b: 0b11(フルアク
セス)論理領域Cについてベースレジスタ回路5c:
0x000000(ベースアドレスは0x00000000)サイズレジス
タ回路6c: 0b01010(サイズは2KB)アクセス属性レ
ジスタ回路7c: 0b10(リードオンリー)
【0037】このように、設定変更において再設定が必
要なレジスタの数は、実施の形態のメモリプロテクショ
ン回路1を用いた場合に比べて増える。また、ベースレ
ジスタ回路5cのようにビット数の多いレジスタの再設
定が必要であり、その点でも不利である。逆に、実施の
形態では優先度コードが一般に非常に少ないビット数で
指定できる点でも有利である。本実施の形態では、属性
はリードライトのみについて考えたが、キャッシュの可
否など、属性の種類が多くなると設定変更において再設
定が必要なレジスタ回路の数の差はさらに多くなる。
【0038】実施の形態2図5は、本実施の形態に係る
メモリプロテクション回路の構成を示すブロック回路図
である。同図において、実施の形態1同様の構成には同
じ符号を与え、以下相違点のみを述べる。
【0039】実施の形態2では、デフォルト属性レジス
タ回路30が新たに設けられ、その出力が属性決定回路
10に与えられる。デフォルト属性レジスタ回路30は
レジスタ設定回路11によって設定される。デフォルト
属性レジスタ回路30は、アクセス要求アドレスが含ま
れると判定された論理領域がひとつも存在しない場合に
選択すべき属性(以下「デフォルト属性」という)を予
め設定しておく。実施の形態1では固定的に「ノーアク
セス」が返されるとしたが、デフォルト属性レジスタ回
路30によれば、例えば「ノーアクセス」に対応する
「0b00」、または「リードオンリー」に対応する「0b1
0」などの設定が可能である。この他にも、例えば図3
で「設定不可」とされた「0b01」をデフォルト属性とし
て返してやれば、マイクロプロセッサ2は、「アクセス
要求アドレスがいずれかの論理領域に存在したがアクセ
スが一切許可されなかった」のか、「アクセス要求アド
レスがいずれの論理領域にも存在しなかった」のかを判
別することができ、エラー解析が容易になる。
【0040】以上、実施の形態をもとに本発明を説明し
た。これらの実施の形態は例示に過ぎず、これら以外に
も多くの変形例が存在することは当業者には理解される
ところである。以下、そうした例を挙げる。
【0041】実施の形態では、プロテクションエラー信
号20はマイクロプロセッサ2へ直接接続されたが、こ
れに限らず、いったんインタラプトコントローラその他
の素子へ入力され、マイクロプロセッサ2へは間接的に
通知されてもよい。また、必ずしもマイクロプロセッサ
2へ伝えられる必要もない。
【0042】実施の形態では、メモリ3へアクセスする
主体としてマイクロプロセッサ2を考えたが、当然それ
以外でもよく、例えば外部の任意のプロセッサやDMA
(ダイレクトメモリアクセス)コントローラなどの素子
でもよい。その場合、たとえばバスアービタから、いず
れの主体がメモリ3へアクセスしているかの情報を取得
し、その情報に応じてアクセス属性レジスタ回路7a〜
7dの出力を変更してもよい。例えば、マイクロプロセ
ッサ2からある論理領域に対するフルアクセスが許され
ても、それ以外のバスマスタからはリードオンリーに設
定したい場合がある。その場合、アクセス属性レジスタ
回路7a〜7dをそれぞれふたつずつ設け、バスマスタ
に応じて出力をセレクトしてもよい。
【0043】実施の形態では、優先度レジスタ回路9a
〜9dは、それぞれ2ビット構成としたが、これらをひ
とつの8ビットまたはそれ以上のレジスタへ統合しても
よい。その場合、優先度が同時にすべて切り替わるた
め、同じ優先度が複数の論理領域に対して設定されてい
るような、クリティカルなタイミングの発生を回避する
ことができる。レジスタどうしの統合は、他のいずれの
レジスタについても同様に可能である。
【0044】
【発明の効果】本発明によれば、論理領域のアドレス範
囲の設定変更、論理領域の属性の設定変更に関連する処
理または手続を簡素化することができる。
【図面の簡単な説明】
【図1】 実施の形態1に係るメモリプロテクション回
路の構成を示すブロック回路図である。
【図2】 実施の形態1、2に係るメモリプロテクショ
ン回路に適用される論理領域サイズの例を示す図であ
る。
【図3】 実施の形態1、2に係るメモリプロテクショ
ン回路に適用されるアクセス属性の例を示す図である。
【図4】 実施の形態1、2に係るメモリプロテクショ
ン回路に適用される優先度の例を示す図である。
【図5】 実施の形態2に係るメモリプロテクション回
路の構成を示すブロック回路図である。
【符号の説明】
1 メモリプロテクション回路、 2 マイクロプロセ
ッサ、 3 メモリ、 4 メモリ制御回路、 5a〜
5d ベースレジスタ回路、 6a〜6dサイズレジス
タ回路、 7a〜7d アクセス属性レジスタ回路、
8a〜8dアドレス比較回路、 9a〜9d 優先度レ
ジスタ回路、 10 属性決定回路、 11 レジスタ
設定回路、 15 属性出力線、 20 プロテクショ
ンエラー信号、 30 デフォルト属性レジスタ回路。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 マイクロプロセッサ等のデータ処理装置
    からその論理アドレス空間に割り当てられたデバイスへ
    のアクセスを制御するメモリプロテクション回路であっ
    て、前記論理アドレス空間において複数の論理領域のア
    ドレス範囲をそれぞれ指定するアドレス範囲レジスタ手
    段と、前記論理領域のそれぞれについてアクセスの属性
    を指定する属性レジスタ手段と、前記論理領域のそれぞ
    れについて、前記デバイスへのアクセス要求アドレスが
    その論理領域に含まれるか否かを判定するアドレス比較
    手段と、アクセスに対する優先度を前記論理領域のそれ
    ぞれについて指定する優先度レジスタ手段と、アクセス
    要求アドレスが含まれると判定された論理領域がひとつ
    以上存在した場合、それらの中で最も優先度が高い論理
    領域について指定された属性を特定して出力する属性決
    定手段と、前記アドレス範囲レジスタ手段、前記属性レ
    ジスタ手段、および前記優先度レジスタ手段を繰り返し
    設定可能なレジスタ設定手段と、を備えたことを特徴と
    するメモリプロテクション回路。
  2. 【請求項2】 前記アドレス範囲レジスタ手段が、アド
    レス範囲がない状態をも指定可能に構成されたことを特
    徴とする請求項1に記載のメモリプロテクション回路。
  3. 【請求項3】 前記アクセス要求アドレスが含まれると
    判定された論理領域がひとつも存在しない場合、または
    前記アクセス要求アドレスに対するアクセスの属性がア
    クセスの禁止を示すものであるとき、プロテクションエ
    ラー信号を出力する構成を含むことを特徴とする請求項
    1、2のいずれかに記載のメモリプロテクション回路。
  4. 【請求項4】 前記アクセス要求アドレスが含まれると
    判定された論理領域がひとつも存在しない場合、予め定
    められたアクセスの属性を選択する構成を含むことを特
    徴とする請求項1から3のいずれかに記載のメモリプロ
    テクション回路。
  5. 【請求項5】 データ処理装置からその論理アドレス空
    間に割り当てられたデバイスへのアクセスを制御するメ
    モリプロテクション回路であって、前記論理アドレス空
    間において、複数の論理領域のアドレス範囲を、重複を
    許容して設定するためのアドレス範囲レジスタ手段と、
    アクセスに対する優先度を前記複数の論理領域のそれぞ
    れについて外部から再設定可能に指定する優先度レジス
    タ手段とを含み、前記デバイスへのアクセス要求アドレ
    スが複数の論理領域に同時に含まれるとき、前記優先度
    の最も高い論理領域がアクセスの対象として選択される
    ことを特徴とするメモリプロテクション回路。
  6. 【請求項6】 論理アドレス空間において、複数の論理
    領域のアドレス範囲を、重複を許容して設定する工程
    と、アクセス要求アドレスが複数の論理領域に同時に含
    まれる場合、それらの論理領域の優先度を参照し、最も
    優先度が高い論理領域を決定する工程と、最も優先度が
    高いと決定された論理領域のアクセスの属性を特定する
    工程と、特定された属性に従ったアクセスを発生させる
    工程と、前記優先度を前記複数の論理領域のそれぞれに
    ついて適宜再設定する工程と、を含むことを特徴とする
    メモリプロテクション方法。
  7. 【請求項7】 前記属性を前記複数の論理領域のそれぞ
    れについて設定する工程をさらに含むことを特徴とする
    請求項6に記載のメモリプロテクション方法。
JP2001191550A 2001-06-25 2001-06-25 メモリプロテクション方法および回路 Pending JP2003006046A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001191550A JP2003006046A (ja) 2001-06-25 2001-06-25 メモリプロテクション方法および回路
US10/180,684 US6810471B2 (en) 2001-06-25 2002-06-24 Memory protection method and circuit specifying attributes on access
CN02140319.8A CN1395175A (zh) 2001-06-25 2002-06-25 规定存取属性的存储器保护方法和电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001191550A JP2003006046A (ja) 2001-06-25 2001-06-25 メモリプロテクション方法および回路

Publications (1)

Publication Number Publication Date
JP2003006046A true JP2003006046A (ja) 2003-01-10

Family

ID=19030157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001191550A Pending JP2003006046A (ja) 2001-06-25 2001-06-25 メモリプロテクション方法および回路

Country Status (3)

Country Link
US (1) US6810471B2 (ja)
JP (1) JP2003006046A (ja)
CN (1) CN1395175A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009524140A (ja) * 2006-01-17 2009-06-25 エヌエックスピー ビー ヴィ 領域保護装置、命令セット、及びメモリ領域を保護する方法
US8103857B2 (en) 2007-09-13 2012-01-24 Kabushiki Kaisha Toshiba Microprocessor control apparatus as well as method and program for the same

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7457903B2 (en) 2003-03-10 2008-11-25 Marvell International Ltd. Interrupt controller for processing fast and regular interrupts
US7870346B2 (en) 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7386688B2 (en) * 2004-07-29 2008-06-10 Hewlett-Packard Development Company, L.P. Communication among partitioned devices
US7991965B2 (en) 2006-02-07 2011-08-02 Intel Corporation Technique for using memory attributes
US20070250283A1 (en) * 2006-04-25 2007-10-25 Barnum Melissa A Maintenance and Calibration Operations for Memories
US8055936B2 (en) * 2008-12-31 2011-11-08 Pitney Bowes Inc. System and method for data recovery in a disabled integrated circuit
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
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
JP5393813B2 (ja) * 2012-01-27 2014-01-22 京セラドキュメントソリューションズ株式会社 メモリー管理装置および画像処理装置
CN110598405B (zh) * 2018-06-12 2022-05-31 杨力祥 一种运行时访问控制方法及计算装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2325061B (en) * 1997-04-30 2001-06-06 Advanced Risc Mach Ltd Memory access protection
EP1182571B1 (en) * 2000-08-21 2011-01-26 Texas Instruments Incorporated TLB operations based on shared bit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009524140A (ja) * 2006-01-17 2009-06-25 エヌエックスピー ビー ヴィ 領域保護装置、命令セット、及びメモリ領域を保護する方法
US8103857B2 (en) 2007-09-13 2012-01-24 Kabushiki Kaisha Toshiba Microprocessor control apparatus as well as method and program for the same

Also Published As

Publication number Publication date
US20020199076A1 (en) 2002-12-26
US6810471B2 (en) 2004-10-26
CN1395175A (zh) 2003-02-05

Similar Documents

Publication Publication Date Title
JP2003006046A (ja) メモリプロテクション方法および回路
EP0979456B1 (en) Memory access protection
JP5328366B2 (ja) プログラム可能な優先値を用いた割込み制御器
US9087015B2 (en) Data processing apparatus and address space protection method
KR950015083A (ko) 데이타 처리 시스템, 및 메모리 액세스 제어를 제공하는 방법
US20090271861A1 (en) Data processing apparatus and access control method therefor
JP4945053B2 (ja) 半導体装置、バスインターフェース装置、およびコンピュータシステム
CN107771322B (zh) 可编程集成电路中存储器资源的管理
JP3605205B2 (ja) データ処理装置および処理方法
US5987581A (en) Configurable address line inverter for remapping memory
US6738887B2 (en) Method and system for concurrent updating of a microcontroller's program memory
JPH07302254A (ja) マイクロコンピュータシステム
JP2015035155A (ja) 情報処理装置
EP0864983A2 (en) Computer system including memory adress management circuit for protecting memory from illegal writing
JP2003337790A (ja) バス制御回路およびプロセッサ
KR920003271B1 (ko) 마이컴의 제어에 의한 메모리 라이트 방지회로
JP2007317078A (ja) 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JPH077353B2 (ja) アドレス選択方式
JPH06231072A (ja) マイクロコンピュータ
JP2000267932A (ja) タグアドレス比較装置
KR20050097212A (ko) 내부 메모리 영역을 확장하기 위한 마이크로컨트롤러유닛
JP3147236B2 (ja) キヤツシユメモリ装置
JP2954988B2 (ja) 情報処理装置
JPH0689348A (ja) シングルチップ・マイクロコンピュータ
JPH04372032A (ja) キャッシュメモリシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050816

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051213