米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 三洋電機株式会社

発明の名称 メモリプロテクション方法および回路
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−6046(P2003−6046A)
公開日 平成15年1月10日(2003.1.10)
出願番号 特願2001−191550(P2001−191550)
出願日 平成13年6月25日(2001.6.25)
代理人 【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
【テーマコード(参考)】
5B017
【Fターム(参考)】
5B017 AA04 BA04 BB03 CA01 
発明者 藤井 善也
要約 課題
アドレス範囲によってアクセス属性を個別に指定する際、メモリマップを変更したときの設定変更が煩雑であり、処理ステップ数も概して多かった。

解決手段
複数の論理領域の優先度をそれぞれ指定する優先度レジスタ回路9a〜9dを設け、論理領域の優先度を可変とする。メモリマップに変更があった場合でも、優先度が固定されている場合に比べ、設定変更の自由度が高く、優先度の変更という比較的ビット数の少ない処理によって目的が達成できる場合が多くなる。
特許請求の範囲
【請求項1】 マイクロプロセッサ等のデータ処理装置からその論理アドレス空間に割り当てられたデバイスへのアクセスを制御するメモリプロテクション回路であって、前記論理アドレス空間において複数の論理領域のアドレス範囲をそれぞれ指定するアドレス範囲レジスタ手段と、前記論理領域のそれぞれについてアクセスの属性を指定する属性レジスタ手段と、前記論理領域のそれぞれについて、前記デバイスへのアクセス要求アドレスがその論理領域に含まれるか否かを判定するアドレス比較手段と、アクセスに対する優先度を前記論理領域のそれぞれについて指定する優先度レジスタ手段と、アクセス要求アドレスが含まれると判定された論理領域がひとつ以上存在した場合、それらの中で最も優先度が高い論理領域について指定された属性を特定して出力する属性決定手段と、前記アドレス範囲レジスタ手段、前記属性レジスタ手段、および前記優先度レジスタ手段を繰り返し設定可能なレジスタ設定手段と、を備えたことを特徴とするメモリプロテクション回路。
【請求項2】 前記アドレス範囲レジスタ手段が、アドレス範囲がない状態をも指定可能に構成されたことを特徴とする請求項1に記載のメモリプロテクション回路。
【請求項3】 前記アクセス要求アドレスが含まれると判定された論理領域がひとつも存在しない場合、または前記アクセス要求アドレスに対するアクセスの属性がアクセスの禁止を示すものであるとき、プロテクションエラー信号を出力する構成を含むことを特徴とする請求項1、2のいずれかに記載のメモリプロテクション回路。
【請求項4】 前記アクセス要求アドレスが含まれると判定された論理領域がひとつも存在しない場合、予め定められたアクセスの属性を選択する構成を含むことを特徴とする請求項1から3のいずれかに記載のメモリプロテクション回路。
【請求項5】 データ処理装置からその論理アドレス空間に割り当てられたデバイスへのアクセスを制御するメモリプロテクション回路であって、前記論理アドレス空間において、複数の論理領域のアドレス範囲を、重複を許容して設定するためのアドレス範囲レジスタ手段と、アクセスに対する優先度を前記複数の論理領域のそれぞれについて外部から再設定可能に指定する優先度レジスタ手段とを含み、前記デバイスへのアクセス要求アドレスが複数の論理領域に同時に含まれるとき、前記優先度の最も高い論理領域がアクセスの対象として選択されることを特徴とするメモリプロテクション回路。
【請求項6】 論理アドレス空間において、複数の論理領域のアドレス範囲を、重複を許容して設定する工程と、アクセス要求アドレスが複数の論理領域に同時に含まれる場合、それらの論理領域の優先度を参照し、最も優先度が高い論理領域を決定する工程と、最も優先度が高いと決定された論理領域のアクセスの属性を特定する工程と、特定された属性に従ったアクセスを発生させる工程と、前記優先度を前記複数の論理領域のそれぞれについて適宜再設定する工程と、を含むことを特徴とするメモリプロテクション方法。
【請求項7】 前記属性を前記複数の論理領域のそれぞれについて設定する工程をさらに含むことを特徴とする請求項6に記載のメモリプロテクション方法。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、メモリのプロテクション技術に関するものであり、特に、アドレス範囲によってアクセスに関する属性を個別に指定する方法および回路に関するものである。
【0002】
【従来の技術】マイクロプロセッサをはじめとするデータ処理装置は、その論理アドレス空間にマッピングされたメモリその他のデバイス(以下単にデバイスという)に対し、アドレスを発行することにより、リード、ライトなどのアクセスを行う。アドレスによって、リードライトがともに許される場合のほか、リードのみが許されたり、リードもライトも許されない領域が設定される場合も多い。こうしたアクセスに関する性質(以下、アクセスの属性、または単に属性ともいう)は、例えば「ページ」とよばれる論理領域を単位として設定されることがある。属性を設定することにより、デバイスのデータの書換や読出を禁止または制限することを一般にプロテクションとよぶ。
【0003】アドレス範囲によって属性を個別に指定するメモリプロテクション回路の例として米国特許第6,021,476号に記載のものがある。この回路では、複数の論理領域のアドレス範囲をそれぞれ指定可能であり、それぞれの論理領域には予め優先度が固定的に決められており、マイクロプロセッサから発行されたアドレスが複数の論理領域のアドレス範囲に含まれる場合、優先度が最も高い論理領域(以下「最優先領域」ともいう)を選択し、その領域について決まっている属性にしたがったアクセスが実行される。
【0004】例えば4KBのオペレーティングシステム(以下「OS」と表記する)のプログラムの領域と、12KBのユーザプログラムの領域を16KBのRAMに設ける場合、一般には16KBの領域をまず4つの4KBに分割し、それらのうち1つを「OSのプログラム領域」に割り当て、残り3つをそれぞれ「ユーザプログラム領域」にそれぞれ割り当てる。したがって、少なくとも4回の設定作業が必要になる。しかし、前述の米国特許の場合、まず16KBの領域全体を「ユーザプログラム領域」に設定しておき、つぎにその中の4KB分の領域のみを「OSのプログラム領域」に重複して設定し、この4KBの優先度を高く設定すれば目的を達する。したがって、領域の定義を2つ行うだけでよく、設定が容易になる。
【0005】
【発明が解決しようとする課題】しかしながら本発明者は、論理領域の優先度が固定となっていることに起因し、メモリマップを変更した場合の設定変更には改善の余地が認められることを認識するに至った。例えば、アドレス0xffff8000(0xffff8000は16進数のffff8000を示す。以下「0x」は同様に16進数を示す)から0xfffff7ffまでの30KBの論理領域の属性を、フルアクセス、すなわちリードライトともに可能で、かつキャッシュ可とし、アドレス0xfffff800から0xffffffffまでの2KBの論理領域の属性を、リードオンリー、かつキャッシュ可とする場合を考える。前述の米国特許の場合、優先度が予め論理領域0<論理領域1<論理領域2、すなわち論理領域2が最優先領域と固定されているとき、論理領域0:アドレス範囲は0xffff8000から0xffffffffまでの32KB属性はフルアクセスかつキャッシュ可論理領域1:アドレス範囲は0xfffff800から0xffffffffまでの2KB属性はリードオンリーかつキャッシュ可と設定する。
【0006】ここで、メモリマップを変更し、フルアクセスかつキャッシュ可であった30KBの論理領域のうち6KBだけの属性を、リードオンリーかつキャッシュ不可に変更する場合を考える。このとき、論理領域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〜5d、サイズレジスタ回路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〜7dはそれぞれ、論理領域A〜Dのアクセス属性コードAa〜Adを保持する。図3は、本実施の形態に適用される属性のコーディングの例であり、アクセス属性レジスタ回路7a〜7dに保持されているアクセス属性コードと各論理領域の属性の関係を示す。ここでは「ノーアクセス」「リードオンリー」および「フルアクセス」が設定可能であり、これら以外はリザーブとして設定が認められない。
【0023】4個のアドレス比較回路8a〜8dにはそれぞれ、4個のベースレジスタ5a〜5dが出力するベースアドレス、すなわち32ビットアドレスの上位24ビットが入力される。これらのアドレス比較回路8a〜8dのそれぞれには、4個のサイズレジスタ6a〜6dが出力するサイズコードがそれぞれ入力される。また、アドレス比較回路8a〜8dすべてに、マイクロプロセッサ2からアドレスバス13を介して出力されるアドレス(以下これを「アクセス要求アドレス」という)が入力される。
【0024】論理領域Aに対応するアドレス比較回路8aは、アクセス要求アドレスが論理領域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についてベースレジスタ回路5a: 0x000000(ベースアドレスは0x00000000)サイズレジスタ回路6a: 0b11111(サイズは4GB)アクセス属性レジスタ回路7a: 0b00(ノーアクセス)優先度レジスタ回路9a: 0b00(優先度は最低)論理領域Bについてベースレジスタ回路5b: 0x000000(ベースアドレスは0x00000000)サイズレジスタ回路6b: 0b01010(サイズは2KB)アクセス属性レジスタ回路7b: 0b10(リードオンリー)優先度レジスタ回路9b: 0b01(論理領域Aの優先度より高い)論理領域Cについてサイズレジスタ回路6c: 0b00000(サイズは0B)論理領域Dについてサイズレジスタ回路6d: 0b00000(サイズは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)つぎに、アドレス範囲0x00000800から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についてベースレジスタ回路5a: 0x000000(ベースアドレスは0x00000000)サイズレジスタ回路6a: 0b11111(サイズは4GB)アクセス属性レジスタ回路7a: 0b00(ノーアクセス)論理領域Bについてベースレジスタ回路5b: 0x000000(ベースアドレスは0x00000000)サイズレジスタ回路6b: 0b01010(サイズは2KB)アクセス属性レジスタ回路7b: 0b10(リードオンリー)論理領域Cについてサイズレジスタ回路6c: 0b00000(サイズは0B)論理領域Dについてサイズレジスタ回路6d: 0b00000(サイズは0B)ここでも論理領域C、Dのサイズを0Bとしたため、ベースレジスタ回路5c、5d、アクセス属性レジスタ回路7c、7dの設定は任意でよい。
【0036】(設定例2)論理領域Bについてベースレジスタ回路5b: 0x000000(ベースアドレスは0x00000000)サイズレジスタ回路6b: 0b01100(サイズは8KB)アクセス属性レジスタ回路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」、または「リードオンリー」に対応する「0b10」などの設定が可能である。この他にも、例えば図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】
【発明の効果】本発明によれば、論理領域のアドレス範囲の設定変更、論理領域の属性の設定変更に関連する処理または手続を簡素化することができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013