JP2012099154A - 情報処理装置及びそのアクセス制御方法 - Google Patents

情報処理装置及びそのアクセス制御方法 Download PDF

Info

Publication number
JP2012099154A
JP2012099154A JP2012036476A JP2012036476A JP2012099154A JP 2012099154 A JP2012099154 A JP 2012099154A JP 2012036476 A JP2012036476 A JP 2012036476A JP 2012036476 A JP2012036476 A JP 2012036476A JP 2012099154 A JP2012099154 A JP 2012099154A
Authority
JP
Japan
Prior art keywords
access
cpu
information
protection
peripheral device
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
JP2012036476A
Other languages
English (en)
Inventor
Kotaro Sato
浩太郎 佐藤
Hitoshi Suzuki
均 鈴木
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2012036476A priority Critical patent/JP2012099154A/ja
Publication of JP2012099154A publication Critical patent/JP2012099154A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】CPUからのアクセスに対して、H/Wの制限なしに周辺装置を保護することが可能な情報処理装置及びそのアクセス制御方法を提供する。
【解決手段】CPU210と、CPU210とバス240を介して接続される複数の周辺装置220、230とを備えた情報処理装置であって、CPU210が実行するタスクの種類に対応して周辺装置220、230毎のアクセス許可又は禁止を指定するアクセス保護情報を格納する周辺アクセス保護設定手段215を備え、前記アクセス保護情報と周辺装置220、230のアドレス情報とに基づいてCPU210から周辺装置220、230へのアクセスが制御されることを特徴とする情報処理装置である。
【選択図】図2

Description

本発明は、CPU(Central Processing Unit)からのアクセスに対する周辺装置への保護機能を備えた情報処理装置及びそのアクセス制御方法に関する。
CPUが周辺装置とアクセスする場合、CPUからコントロール信号が出力され、特定の処理が実行される。例えば、周辺装置がハードディスク装置である場合、CPUとハードディスク装置との間で、データの読み書きに関するタスクが実行される。データの読み出し時は、CPUからリード信号が出力されると共に、ハードディスク装置の指定アドレスからデータが出力される。データの書き込み時は、CPUからライト信号が出力されると共に、ハードディスク装置の指定アドレスにデータが保存される。CPUから出力されるコントロール信号は、リード/ライト信号の他に、ハードディスクの指定アドレス情報を有している。
例えば、ハードディスク装置に重要なデータが格納されており、書き換えられないようにしたい場合、CPUからのアクセスに対し保護する技術が必要となる。これは、CPUとアクセスする周辺装置がハードディスク装置の場合に限らない。例えば、CPUから割り込みコントローラやタイマ等I/Oデバイスへのアクセスに対しても同様である。
CPUからのアクセス要求に対し周辺装置を保護する技術が、特許文献1に開示されている。特許文献1では、周辺装置のアドレス毎にCPUからのアクセスを制御するレジスタが備えられ、周辺装置のアドレス毎にアクセスするか否かが設定されている。このように、特許文献1ではアクセスを保護する周辺装置をアドレス単位で設定している。
特開2003−280988号公報
しかしながら、発明者は従来技術には以下の課題があることを見出した。従来技術では、周辺装置のアドレス毎に、アクセスするか否かを制御するレジスタ及び比較器等のH/W(Hardware)を保持する必要がある。例えば、メモリマップドI/OにマッピングされているI/Oデバイスへのアクセス要求に対して保護を行う場合、多くのアドレス範囲を保護する必要がある。1つのI/Oデバイスは広範囲に複数のアドレスを持っているためである。このように、多くのアドレス範囲に対する保護を行う場合、H/Wの制限によって保護する周辺装置の数が制限されるという問題が生じる。
本発明の第1の態様は、CPUと、前記CPUとバスを介して接続される複数の周辺装置とを備えた情報処理装置であって、前記CPUが実行するタスクの種類に対応して前記周辺装置毎のアクセス許可又は禁止を指定するアクセス保護情報を格納する周辺アクセス保護設定手段を備え、前記アクセス保護情報と前記周辺装置のアドレス情報とに基づいて前記CPUから前記周辺装置へのアクセスが制御されることを特徴とする情報処理装置である。
また、本発明の第2の態様は、CPUと、前記CPUとバスを介して接続される複数の周辺装置とのアクセス制御方法であって、前記CPUが実行するタスクの種類に対応して前記周辺装置毎のアクセス許可又は禁止を指定するアクセス保護情報を格納し、前記アクセス保護情報と前記周辺装置のアドレス情報とに基づいて前記CPUから前記周辺装置へのアクセスが制御されることを特徴とするアクセス制御方法である。
このように、アクセス保護情報によってCPUのアクセスから保護する周辺装置を設定することにより、従来のようにアドレス単位でH/Wに設定する必要がなくなる。従って、アドレス毎にレジスタ等のH/Wを保持する必要がなくなる。
以上のような構成により、CPUからのアクセスに対して、H/Wの制限なしに周辺装置を保護することが可能な情報処理装置及びそのアクセス制御方法を提供することができる。
第1の実施形態に係るメモリドマップI/Oの構成例を示す図である。 第1の実施形態に係る情報処理装置を示すブロック図である。 第1の実施形態に係るPPCレジスタの設定例を示す図である。 第1の実施形態に係るアクセス許可時のタイミングチャートを示す図である。 第1の実施形態に係るアクセス不許可時のタイミングチャートを示す図である。 第1の実施形態に係るI/Oデバイスの詳細を示すブロック図である。 第2の実施形態に係る情報処理装置を示すブロック図である。 第3の実施形態に係る情報処理装置を示すブロック図である。 第4の実施形態に係る情報処理装置を示すブロック図である。 第5の実施形態に係る情報処理装置を示すブロック図である。
以下に、本発明の好ましい実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、説明の明確化のため、必要に応じて重複説明は省略されている。
発明の実施の形態1.
始めに、CPUから周辺装置へのアクセス保護機能の目的について以下に説明する。なお、CPUから周辺装置へのアクセス要求に対してデータのリードやライト等のアクセスをさせないように保護することを、アクセス保護と称す。本発明では、以下の目的に沿ったアクセス保護機能の例を説明する。第1に、アクセス保護領域として設定された周辺装置は、使用者の設定したアクセス保護情報によって保護される。即ち、不正なアクセスによって周辺装置の状態が更新されないことを保証する。第2に、不正なアクセスが最初に発生した場合、その情報を使用者に通知する。第3に、不正なアクセスが発生した場合、アクセスの中止を要求する信号が出力される。この信号の解除処理が実行されるまで、アクセス保護領域として設定された周辺装置へのアクセスが禁止される。
図面を参照し、第1の実施形態に係るアクセス保護機能を備えた装置について説明する。第1の実施形態では、LSI等の半導体素子に1チップ形成した情報処理装置を例示的に説明するが、1チップ形成した情報処理装置に限るものではない。また、第1の実施形態では、CPUからメモリマップドI/Oへのアクセスを保護する例として説明する。メモリマップドI/Oについて、以下に説明する
図1は、メモリマップドI/Oの例を示している。メモリマップドI/Oは、I/Oデバイスと呼ばれる周辺装置をメモリ空間にマッピングしたものである。図1では、タイマ制御レジスタ領域101、バス2設定・制御レジスタ領域102、バス1設定・制御レジスタ領域103、及び2つのINTC制御レジスタ領域104、105等のI/Oデバイスがマッピングされている。INTC制御レジスタ領域104、105に示されるように、関連するレジスタが必ずしも同じ領域に配置されているわけではない。なお、図1のメモリマップドI/O100には、2つの空き領域106、107も示されている。
これら各々のI/Oデバイスは、CPUがデータのライトやリード等のアクセスをする周辺装置を示している。以後、周辺装置をI/Oデバイスと称す。マッピングされるI/Oデバイスは、上述したものに限らず他のI/Oデバイスを設定することも可能である。マッピングの位置については、上述した位置に限らず変更が可能である。
次に、図2を用いて第1の実施形態に係る情報処理装置について説明する。図2は、第1の実施形態に係る情報処理装置のブロック図を示す。情報処理装置200は、CPU210、2つのI/Oデバイス220、230、及び周辺アクセスバス240を有している。CPU210は、メモリ保護ユニット211を有している。メモリ保護ユニット211は、PPA(Peripheral Protection Address:周辺保護アドレス)レジスタ212、モードレジスタ213、判定器214、PPC(Peripheral Protection Control:周辺保護コントロール)レジスタ215、及び周辺保護違反レジスタ216を有している。
I/Oデバイス220、230には、各々保護情報判別部221、231、アクセス検出部222、232、デコーダ223、233、インターフェース部(以下、I/Fと記す)226、236、及びリソース224、234を有している。また、それぞれの保護情報判別部221、231、アクセス検出部222、232、及びデコーダ223、233によって、アクセス制御回路225、235が構成されている。
リソース224、234は、CPU210からのアクセスによりデータのリードやライトが行われるレジスタ等であって、例えば図1に示したメモリマップドI/Oの各々のレジスタを意味する。従って、情報処理装置200は、その機能に応じて様々な目的を持つリソースを有するI/Oデバイスを備えることが可能である。第1の実施形態に係る情報処理装置200では、2つのI/Oデバイス220、230が備えられているが、I/Oデバイスは2つに限らず、単一又は2つ以上の複数個に形成することも可能である。CPU210とI/Oデバイス220、230とは、周辺アクセスバス240を介して信号の入出力が行われる。なお、リソース224、234以外のI/Oデバイス220、230各部の要素については、後述する。
メモリ保護ユニット211は、I/Oデバイス220、230へのアクセス保護機能を備えたユニットである。メモリ保護ユニット211の各要素について、以下に説明する。PPAレジスタ212は、CPU210からのアクセス保護対象となるI/Oデバイスのアドレス範囲を示すアドレス情報が格納されている。即ち、PPAレジスタ212は、CPU210からのアクセスを制御する周辺装置のアドレス範囲を設定した保護アドレス設定手段である。CPU210がPPAレジスタ212に設定されたアドレスにアクセス要求した場合、アクセス保護対象であることを示す信号をアクティブにする。PPAレジスタ212に設定されているアドレス範囲以外へのアクセス要求が発生した場合、アクセス保護は実行しない。即ち、PPAレジスタ212によって設定されたアドレス範囲に基づいて、CPU210からアクセスするか否かが制御される。このようにPPAレジスタ212を設定することにより、アクセス保護機能と関与しない領域を設けることが可能となる。
モードレジスタ213は、CPU210のモードが特権モードであるかユーザモードであるかを示す情報が格納されている。CPU210は、I/Oデバイスへのアクセス保護時において、特権モードとユーザモードとに切り替えて使用することが可能である。特権モードは、OS(Operating System)が機能する時に使用するモードであり、アクセス保護情報の有無に係らず、あらゆるI/Oデバイスへのアクセスが可能である。ユーザモードは、OS以外のアプリケーションプログラムが使用するモードであり、一部のI/Oデバイスへのアクセスが不可能となるモードである。モードレジスタ213では、CPU210がリセットされた時、特権モードに初期化されるが、その後の設定はOSによって切り替えられる。特権モードからユーザモードへ移行することにより、CPU210でタスクが実行される。ユーザモードでのタスク実行時に違反が発生した場合は、自動的に特権モードに切り替わる。第1の実施形態に係るアクセス制御は、ユーザモードの時に行われる。なお、タスクとは、OSから見た処理の実行単位であり、タスクの切り替え等の管理はOSが行っている。
判定器214は、PPAレジスタ212の情報とモードレジスタ213の情報を元に、CPU210からのアクセス要求信号を出力するか否かを判定する。即ち、PPAレジスタ212からの信号がアクティブであるか否か、及びモードレジスタ213の信号が特権モードを示しているかユーザモードであるかを判定する。PPAレジスタ212からの信号がアクティブであり、モードレジスタ213がユーザモードを示す信号である場合、CPU210からの信号をPPCレジスタ215に出力する。PPAレジスタ212からの信号がアクティブでない場合、又はモードレジスタ213が特権モードを示す信号である場合のいずれか又は両方の場合、CPU210からのアクセス要求信号はPPCレジスタ215に出力されない。
PPCレジスタ215は、CPU210のアクセス要求から保護するI/Oデバイスを設定するレジスタである。PPCレジスタ215は、保護したいI/Oデバイスのアドレスではなく、保護したいI/Oデバイスそのものを指定する。即ち、PPCレジスタ215には、アドレスの代わりにI/Oデバイスを指定するコード情報が設定されている。このコード情報は、CPU210がタスクを実行する時、CPU210のアクセス要求から保護するか否かをI/Oデバイス毎に関連付けたものである。即ち、コード情報は、CPU210が実行するタスクの種類と、CPU210が実行するタスクに対応して周辺装置毎のアクセス許可又は禁止を指定するアクセス保護内容を関連付けたアクセス保護情報である。表1を用いて、PPCレジスタ215に設定されるコード情報の例について説明する。
Figure 2012099154
表1では、CPU210からのアクセス要求から保護するI/OデバイスA、B、C、及びDが示されている。例えば、I/OデバイスAは、図1におけるINTC制御レジスタ領域(割り込みレジスタ領域)104、105と、例示的に対応付けることが可能である。同様に、I/OデバイスBが、バス1設定・制御レジスタ領域103、I/OデバイスCが、バス2設定・制御レジスタ領域102、及びI/OデバイスDが、タイマ制御レジスタ領域101と示すことが可能である。
CPU210からOSで管理されるタスク1の処理が発生した場合、表1に示すようにPPCレジスタ215には123というコード情報(10進数)が設定される。PPCレジスタ215へのコード情報の設定は、特権モード時にOSによって実行される。ここでは、コード情報は10進数で説明するが、実際にPPCレジスタ215には10進数に対応したバイナリコードが設定されている。PPCレジスタ215に123というコード情報が設定された場合、I/OデバイスA及びI/OデバイスBへのアクセスは許可され、I/OデバイスC及びI/OデバイスDへのアクセス要求は不許可となる。即ち、コード情報によって、タスクと保護したいI/Oデバイスが関連付けられている。PPCレジスタ215は、CPU210が実行するタスク種類毎に応じて、I/Oデバイス毎のアクセス許可又は禁止を指定するアクセス保護情報を格納する周辺アクセス保護設定手段である。
タスク2の処理が発生した場合も、コード情報は、タスク1と同様に123が設定される。従って、タスク2の処理でも、タスク1と同様に、I/OデバイスA及びI/OデバイスBへのアクセス要求は許可されるが、I/OデバイスC及びI/OデバイスDへのアクセス要求は不許可となり保護される。
一方、CPU210からOSで管理されるタスク3の処理が発生した場合、PPCレジスタ215には456というコード情報が設定される。従って、I/OデバイスB及びI/OデバイスCへのアクセスは許可され、I/OデバイスA及びI/OデバイスDへのアクセス要求は不許可となる。同様に、タスク4の処理が発生した場合も、コード情報は、タスク3と同様に456が設定される。従って、タスク4の処理でも、タスク2と同様に、I/OデバイスB及びI/OデバイスCへのアクセス要求は許可されるが、I/OデバイスA及びI/OデバイスDへのアクセス要求は不許可となり、保護される。
更に、CPU210からOSで管理されるタスク5の処理が発生した場合、PPCレジスタ215には789というコード情報が設定される。従って、I/OデバイスA及びI/OデバイスDへのアクセスは許可され、I/OデバイスB及びI/OデバイスCへのアクセス要求は不許可となる。このように、123等のコード情報は、CPU210が実行するタスクの種類と、そのタスクからのアクセスが保護されるI/Oデバイスの保護内容とが互いに関連付けられたアクセス保護情報である。
表1で示されるコード情報は、ビットの配列によって示される。コード情報は、保護したいI/Oデバイスの組み合わせに応じて、別の配列を設定することも可能である。表1では、2つのI/Oデバイスの組み合わせに対して保護していたが、保護するI/Oデバイスの数は2つに限らず、他の組み合わせを設定できることはもちろんである。
図3は、コード情報のバリエーションを示したものである。設定例Aでは、I/Oデバイス毎にリード許可する許可ビット(R許可)及びライト許可する許可ビット(W許可)が設定される。許可する場合は"1"が設定され、不許可の場合は"0"が設定される。例えば、I/OデバイスAのリードのみ許可され、その他のI/Oデバイスが不許可である場合、コード情報には"10000000"を示す許可ビットが設定される。更に、設定例Aの別の形態として、リード/ライト双方を許可するR/W許可ビットを追加することも可能である。
設定例Bでは、I/Oデバイス毎にCPUからのアクセス許可する許可ビット(アクセス許可)が設定される。設定例Aと同様に、許可する場合は"1"が設定され、不許可の場合は"0"が設定される。例えば、I/OデバイスAへのアクセスのみ許可され、その他のI/Oデバイスが不許可である場合、コード情報には、"1000" 示す許可ビットが設定される。
設定例Cでは、表1に示すように、ビットの配列によるコード情報が設定されている。このコード情報は、CPU210が実行するタスクの種類と、そのタスクから保護したいI/Oデバイスのアクセス保護情報とを互いに関連付けたものである。保護したいI/Oデバイスや、その組み合わせに応じて、各々コード情報を設定する。なお、表1では、コード情報は"123"等の10進数で表現するが、PPCレジスタ215には10進数に対応したバイナリコードが設定されている。また、コード情報には、タスク番号そのものをバイナリコードとして用いることも可能である。また、設定例Dとして、一部に設定例Cで示したコード情報を持ち、残りを設定例A、Bで示したI/Oデバイス毎の許可ビットを設定することも可能である。
第1の実施形態では、CPU210からのアクセス要求に対しI/Oデバイスを保護する場合、I/OデバイスのアドレスではなくI/Oデバイスを指定するコード情報によって保護領域を設定することに特徴を有している。アクセス保護領域を示すコード情報を設定するレジスタがPPCレジスタ215である。従って、従来技術にようにアドレス毎に保護されているか否かを判断する必要がなくなり、アドレス毎に設けられたH/Wを削減することができる。
なお、メモリ保護ユニット211には、周辺保護違反レジスタ216が備えられている。周辺保護違反レジスタ216は、アクセス保護情報に基づいてCPU210のアクセスから保護されているI/Oデバイスへのアクセス要求が発生した場合(以降、アクセス違反と称す)、アクセス違反があったことを示すビットを格納するレジスタである。つまり、周辺保護違反レジスタ216は、アクセス違反設定手段を有している。
また、周辺アクセスバス240は、PPCレジスタ215からの許可情報を出力するバス241と、CPU210からアクセス要求するI/Oデバイスのアドレス情報を出力するバス242を有している。即ち、周辺アクセスバス240は、バス241とバス242の両方を合わせて示すものである。バスラインは、各I/Oデバイス個別に複数接続したり、スター状に接続することも可能である。更に、周辺アクセスバス240とCPU210との間には、バスブリッジを介する構成とすることも可能であるが、図が煩雑となるため図示しない。
次に、I/Oデバイス220、230の各要素について説明する。代表してI/Oデバイス220について説明するが、I/Oデバイス230についても同様の機能を有している。なお、リソース224、234の説明は、前述しているので省略する。I/Oデバイス220は、保護情報判別部221、アクセス検出部222、デコーダ223、I/F226、及びリソース224を有している。また、保護情報判別部221、アクセス検出部222、及びデコーダ223によって、アクセス制御回路225が構成されている。なお、説明簡略化のため図示しないが、リソース224はI/Oデバイス220に複数備えられていることも可能である。この複数のリソース224とI/F226とは、I/Oデバイス内部バス(不図示)を介して信号の入出力が行われる。
保護情報判別部221は、PPCレジスタ215に設定されたコード情報に基づき、CPU210からのアクセス要求が許可されているか否かを判定する。アクセス要求が許可されている場合は、デコーダ223に許可情報を出力する。また、アクセス要求が不許可の場合は、デコーダ223には、不許可情報が出力される。
アクセス検出部222へは、CPU210がアクセスしようとしているI/Oデバイスのアドレス情報を有する信号が入力される。アドレス情報を検出することにより、I/Oデバイス220は、自分に対するアクセス要求か否かを検出する。
デコーダ223へは、保護情報判別部221及びアクセス検出部222で検出された情報が入力される。即ち、デコーダ223には、保護情報判別部221の情報によりCPU210からのアクセスが許可されている信号かどうか、及びアクセス検出部222の情報により自分へのアクセスであるかどうかの情報が入力される。デコーダ223は、入力された情報に基づいて、リソース224に対するデータのリードやライトの制御信号を出力するか否かを判定する判定手段である。
デコーダ223では、CPU210からのアクセス要求が自分へのアクセスであり、アクセス許可されていると判別した場合、リソース224へのアクセスが許可される。CPU210からのアクセス要求が自分へのアクセスでない場合、又はアクセス許可されていない信号であると判別した場合のいずれか又は両方の場合、リソース224へのアクセス要求は許可されない。
なお、リソース224への信号は、I/F226を介して出力される。I/F226へは、デコーダ223でリソース224へのアクセスが許可された時のみ、リード/ライト信号等の必要な信号が入力される。I/Oデバイス230についても、I/Oデバイス220と同様の処理が行われる。CPU210がI/Oデバイス220、230にアクセスする場合の具体的動作については後述する。
上述したように、アクセス制御回路225は、保護情報判別部221、アクセス検出部222、及びデコーダ223によって構成されている。従って、アクセス制御回路225は、コード情報と関連付けられたアクセス保護情報と、アクセス要求されているI/Oデバイスのアドレス情報に基づき、CPU210によるI/Oデバイスへのアクセスを制御するアクセス制御手段である。また、アクセス制御回路225によって、I/Oデバイス220のリソース224に対するCPU210からのアクセスが制御される。
ここで、アクセスすべきでないI/Oデバイスにアクセス要求が発生した場合、アクセス制御回路225は、アクセス保護違反があったことを検出し、周辺保護違反レジスタ216に通知する。具体的には、保護情報判別部221が、PPCレジスタ215のコード情報によってCPU210からのアクセス要求が不許可であると判定した場合、デコーダ223に不許可情報が出力される。デコーダ223は、アクセス保護違反があったことを示す信号を周辺保護違反レジスタ216へ出力する。その結果、周辺保護違反レジスタ216には、I/Oデバイス220へアクセス保護違反があったことを示す情報(例えば"1"を示すビット)が格納される。I/Oデバイスが複数ある場合は、周辺保護違反レジスタ216は、I/Oデバイスに対応した複数のビットから構成され、アクセス保護違反があったI/Oデバイス毎にアクセス違反情報が格納される。
次に、情報処理装置200において、CPU210がI/Oデバイス220、230にアクセスする場合の動作について説明する。説明には、図4及び図5を用いるが、必要に応じて図2及び図6を併用する。図4及び図5は、CPU210がI/Oデバイス220にアクセス要求する時のタイミングチャートを示している。図4を用いて、CPU210からのアクセス要求が許可される場合の動作について説明する。図5を用いてCPU210からのアクセス要求が不許可される場合の動作について説明する。また、図6を用いてCPU210がI/Oデバイス220にアクセスする場合について例示的に説明する。図6は、図2に示したI/Oデバイス220とその信号入出力経路を更に詳しく示したブロック図である。図2では説明簡略化のため図示しなかったが、リソース224は図6に示すようにI/Oデバイス220に複数備えられていることが可能である。この複数のリソース224とI/F226とは、I/Oデバイス内部バス227を介して信号の入出力が行われる。なお、以下において、アクセス要求が許可された場合とは、アクセス要求から保護されていない状況と同義である。また、アクセス要求が不許可の場合とは、アクセス要求から保護されている状況と同義である。
図4にて、CPU210からI/Oデバイス220へのアクセス要求信号(a)が発生すると、リード/ライト信号(b)と、アクセスしようとするI/Oデバイスのアドレス信号(c)が、周辺アクセスバス240を介してI/Oデバイスに出力される。具体的には、図6に示すように、アクセス要求信号(a)及びアドレス信号(c)は、CPU210からバス242を介してアクセス検出部222に出力される。リード/ライト信号(b)は、CPU210からバス242を介してI/F226に入力される。一方、メモリ保護ユニット211(図2参照)では、アクセス要求されたI/Oデバイスのアドレス情報がPPAレジスタ212に登録されているか、又はCPU210のモードがユーザモードであるか判定器214によって判定される。判定結果に応じて、PPCレジスタ215にてタスク毎に関連付けられたコード情報を示す信号(d)が、図6に示すバス241を介して保護情報判別部221へ出力される。従って、アクセス要求信号(a)の出力と同時に、PPCレジスタ215の信号(d)や、リード/ライト信号(b)、アドレス信号(c)が、周辺アクセスバス240を介して全てのI/Oデバイス220、230に出力される。
各I/Oデバイス220、230の保護情報判別部221、231では、PPCレジスタ215から出力された信号(d)によって、アクセス要求が許可されているか否かを検出する。同時に、I/Oデバイス220、230のアクセス検出部222、232は、アドレス信号(c)によって、自分へのアクセスであるか検出する。そして、各々のデコーダ223、233によって、CPU210からのアクセス要求をリソース224、234へ出力するか判断する。
図4及び図6では、CPU210からI/Oデバイス220へのリードアクセス要求に対し、アクセス許可される場合について例示的に説明する。従って、アクセス許可されているI/Oデバイス220には、アクセス要求信号(a)と同時に、CPU210から出力されたアドレス信号(c)が、アクセス検出部222に入力される。CPU210から出力されたリード信号(b)は、I/F226に入力される。アクセス検出部222では、自分へのアクセスであることを検出した信号をデコーダ223に出力する。また、PPCレジスタ215から出力された信号(d)が、保護情報判別部221に入力される。保護情報判別部221では、アクセスが許可されていることを検出した信号をデコーダ223に出力する。その結果、デコーダ223から、リードイネーブル信号(h)が出力される。一方、I/F226からは、CPU210がアクセス要求するI/Oリソース224のアドレス信号(f)、及びリード信号(g)がI/Oデバイス内部バス227を介してI/Oリソース224へ出力されている。従って、リードイネーブル信号(h)に応じて、アクセスされたI/Oリソースからリードデータ(i)がCPU210に出力される。
次に、図5を用いて、CPU210からI/Oデバイス220へのリードアクセス要求に対し、アクセスが不許可となる場合について例示的に説明する。CPU210からI/Oデバイスへのアクセス要求信号(a)が発生すると、リード信号(b)と共に、アクセスしようとするI/Oデバイスのアドレス信号(c)が周辺アクセスバス240を介してI/Oデバイスに出力される。具体的には、図6に示すように、アクセス要求信号(a)及びアドレス信号(c)は、CPU210からバス242を介してアクセス検出部222に出力される。リード信号(b)は、CPU210からバス242を介してI/F226に入力される。一方、図2に示すメモリ保護ユニット211では、アクセス要求されたI/Oデバイスのアドレス情報がPPAレジスタ212に登録されているか、又はCPU210のモードがユーザモードであるか判定器214によって判定される。判定結果に応じて、PPCレジスタ215にて、タスク毎に関連付けられたコード情報を示す信号(d)が図6に示すバス241を介して保護情報判別部221へ出力される。従って、アクセス要求信号(a)の出力と同時に、PPCレジスタ215の信号(d)やアドレス信号(c)が、周辺アクセスバス240を介して全てのI/Oデバイス220、230に出力される。ここまでは、図4のアクセス要求が許可される場合と同様である。
各I/Oデバイス220、230の保護情報判別部221、231では、PPCレジスタ215から出力された信号(d)を取得する。アクセス要求が許可されているか否かを検出する。同時に、I/Oデバイス220、230のアクセス検出部222、232は、アドレス信号(c)によって、自分へのアクセスであるか検出する。そして、各々のデコーダ223、233によって、CPU210からのアクセス要求をリソース224、234へ出力するか判断する。
図5では、アクセスが不許可の場合について説明する。従って、アクセス許可されていないI/Oデバイスのアクセス検出部に、CPU210から出力されたアドレス信号(c)が入力される。アクセス検出部では、自分へのアクセスであることを検出した信号をデコーダに出力する。また、PPCレジスタ215から出力された信号(d)が、保護情報判別部221に入力される。保護情報判別部221では、アクセスが不許可であることを検出した信号をデコーダに出力する。従って、デコーダからリードイネーブル信号は出力されず、CPU210からリソースへはアクセスされない。
なお、図5のように、CPU210からのアクセス要求に対して保護されているI/Oデバイスへのアクセス要求が発生した場合、アクセス保護違反信号(j)が検出される。これは、保護すべき対象にアクセス要求が発生した場合、アクセス保護違反が生じたことを示す。アクセス保護違反信号(j)は、デコーダ223、233から出力され、周辺保護違反レジスタ216のI/Oデバイス220に対応したビットに、アクセス保護違反があったことを示すビット情報(例えば"1")が設定される。即ち、周辺保護違反レジスタ216は、アクセス保護違反が生じたことを示す情報を設定するアクセス違反設定手段である。周辺保護違反レジスタ216内にアクセス保護違反情報が設定されるとCPU210に対して割り込み通知がなされ、特権モードへ移行してOSにより例外処理が実行される。OSは例外処理の中で、アクセス保護違反が発生したI/Oデバイスの確認のために周辺保護違反レジスタ216を参照したり、アクセス保護違反が発生したアドレス情報の退避等、必要な処理を行った後に該当ビットを初期化(クリア)する。
周辺保護違反レジスタ216内にアクセス保護違反情報が設定された場合、I/OデバイスはCPU210からの情報(PPCレジスタ215に設定されている情報等)を受け取って、I/Oデバイス自身がアクセスを中止する。なお、周辺保護違反レジスタ216に、アクセス保護違反があったことを示すビットがセットされている間、該当するI/Oデバイスへアクセスする処理が中止される。そして、OSが周辺保護違反レジスタ216を参照し、アクセス要求を中止しているI/Oデバイスへのタスクに係るコード情報をPPCレジスタ215において再設定する。
PPCレジスタ215の再設定は、処理するタスク毎に更新するようにOSで制御することが可能である。また、アクセス保護違反が発生したことで、モードレジスタ213はユーザモードから特権モードに移行する。
第1の実施形態における効果を以下に述べる。以上のように、CPU210からのアクセスを保護するI/Oデバイスに関連付けたコード情報を設定するPPCレジスタ215を設けることにより、従来のようにアドレス毎に保護されているか否かの設定をアドレス毎に設定する必要がなくなる。従って、アドレス毎に設けられたH/Wを削減することができる。
例えば、図1のメモリマップドI/O100に配置されるINTC制御レジスタ領域104、105は複数アドレスに点在して配置され、各々が数多くのアドレスを有している。第1の実施形態では、INTC制御レジスタ領域104、105に関連付けたコード情報をPPCレジスタ215に設定するだけで、対象範囲を一括して保護することが可能である。その結果、多くのアドレスを有すI/OデバイスをH/Wの制限なしに設定することが可能となる。これにより、情報処理装置の回路構成を簡単にする他、アドレス設定に係るコストや、処理時間を削減することが可能となる。
また、INTC制御レジスタ領域104、105のように論理的にまとまりのあるI/Oデバイスが複数アドレスに点在した場合、対象範囲を一括して保護することができるため、アドレスを誤設定することがなくなる。
また、I/Oデバイスが多量のアドレスに点在するような複雑な配置においてアクセス保護違反が発生した場合、例外処理ハンドラ中で多量のアドレスに点在したI/Oデバイスについて例外処理を行わなければならなかったので、例外処理に時間がかかるという欠点が生じていた。第1の実施形態では、周辺保護違反レジスタ216を所望の値に設定するということで、例外処理ハンドラ中で多量のアドレスに点在したI/Oデバイスについて例外処理を行う必要はなく、例外処理時間を短縮できるという利点がある。
また、第1の実施形態では、周辺保護違反レジスタ216におけるアクセス保護違反があったことを示すビットがリセットされるまで、該当するI/Oデバイスへのアクセスが中止される。従って、リセットが実行されるまでの間に、別の原因によるアクセス保護違反が発生しない。その結果、例外処理が発生したときのメモリマップドレジスタの値を保持することが可能である。
発明の実施の形態2.
次に、本発明の第2の実施形態について説明する。第2の実施形態においても、LSI等の半導体素子に1チップ形成した情報処理装置として例示的に説明するが、1チップ形成した情報処理装置に限るものでないことは第1の実施形態と同様である。また、第2の実施形態でも、CPUからメモリマップドI/Oへのアクセスを保護する例として説明することは第1の実施形態と同様である。情報処理装置の構成要素や動作等、第1の実施形態と同様のものは省略する。
図7を用いて、第2の実施形態に係るアクセス保護機能について説明する。図7は、第2の実施形態に係る情報処理装置のブロック図である。情報処理装置300は、CPU210、2つのI/Oデバイス320、330、周辺アクセスバス340、及び周辺保護ユニット350を有している。CPU210は、メモリ保護ユニット211を有し、メモリ保護ユニット211の構成及び機能は、第1の実施形態と同様である。
I/Oデバイス320、330は、各々アクセス検出部322、332、デコーダ323、333、I/F326、336、及びリソース324、334を有している。I/Oデバイスが2つに限らず形成できることは、第1の実施形態と同様である。また、CPU210とI/Oデバイス320、330との信号の入出力は、周辺アクセスバス340を介して行われる。周辺アクセスバス340は、PPCレジスタ215からの許可情報を周辺保護ユニット350を介してI/Oデバイスに出力するバス341と、CPU210からアクセス要求の発生するI/Oデバイスのアドレス情報を出力するバス342を有している。
第2の実施形態では、PPCレジスタ215とバス341との間に、周辺保護ユニット350を設けることに特徴を有している。周辺保護ユニット350は、保護情報判別部351を有している。この保護情報判別部351は、図2に示す各々のI/Oデバイスに配設されていた保護情報判別部221、231を集約したものであり、機能及び動作については第1の実施形態と同様である。即ち、図7に示す保護情報判別部351は、図2に示す保護情報判別部221、231の回路構成と同じものが複数配設されている。従って、周辺保護ユニット350は、複数の保護情報判別部が備えられた集約ユニットである。一方、図7に示すI/Oデバイス320、330は、図2に示すI/Oデバイス220、230と比べて、保護情報判別部221、231が除かれた構成となっている。なお、PPCレジスタ215からの信号は、周辺保護ユニット350からバス341を介してI/Oデバイス320、330に出力される。バスラインが、各I/Oデバイス個別に複数接続したり、スター状に接続することも可能であることは第1の実施形態と同様である。周辺アクセスバス340とCPU210との間には、バスブリッジを介する構成とすることも可能である。
CPU210からアクセス要求が発生すると、PPCレジスタ215は、アクセス要求されるI/Oデバイスに応じたコード情報を設定し、周辺保護ユニット350の保護情報判別部351に出力する。保護情報判別部351は、CPU210からのアクセス要求が許可されているか否かを判定し、I/Oデバイスに出力する。従って、周辺保護ユニット350では、PPCレジスタ215からの情報に基づき、CPU210からのアクセスが許可されているか否かの判断を集中管理している。そして、CPU210からのアクセスが許可されているI/OデバイスにI/Oデバイス選択信号が出力される。以降の動作は第1の実施形態と同様である。
以上のような構成により、図2のように各々のI/Oデバイスに保護情報判別部を設ける必要がなくなる。従って、CPU210からのアクセス要求が発生する度に、各I/Oデバイスにてアクセス保護するか否か判定する処理がなくなる。その結果、バス341や、I/Oデバイス320、330に負担をかけないため、情報処理装置の処理効率が向上するという効果が得られる。
発明の実施の形態3.
次に、本発明の第3の実施形態について説明する。第3の実施形態においても、LSI等の半導体素子に1チップ形成した情報処理装置として例示的に説明するが、1チップ形成した情報処理装置に限るものでないことは第1の実施形態と同様である。また、第3の実施形態では、CPUからメモリマップドI/Oへのアクセスを保護する例として説明することは第1の実施形態と同様である。情報処理装置の構成要素や動作等、前述した実施形態と同様のものは省略する。
図8を用いて、第3の実施形態に係るアクセス保護機能について説明する。図8は、第3の実施形態に係る情報処理装置のブロック図である。情報処理装置400は、CPU210、2つのI/Oデバイス420、430、周辺アクセスバス440、及び周辺保護ユニット450を有している。CPU210はメモリ保護ユニット211を有し、その構成及び機能は第1の実施形態と同様である。
I/Oデバイス420、430は、各々アクセス検出部422、432、デコーダ423、433、I/F426、436、及びリソース424、434を有している。I/Oデバイスが2つに限らず形成できることは、第1の実施形態と同様である。CPU210とI/Oデバイス420、430との信号の入出力は、周辺アクセスバス440を介して行われる。周辺アクセスバス440は、PPCレジスタ215からの許可情報を周辺保護ユニット450を介してI/Oデバイスに出力するバス441と、CPU210からアクセス要求の発生するI/Oデバイスのアドレス情報を出力するバス442を有している。
第3の実施形態では、周辺保護ユニット450にメモリ453を設けることに特徴を有している。メモリ453は、書き換え可能な記憶素子であり、RAM(Random Access Memory)や不揮発性メモリ等を用いることが可能である。メモリ453には、PPCレジスタ215に設定されるコード情報と関連付けられたアクセス保護情報を示す対応テーブルが格納されている。例えば、タスクが発生しコード情報に123が設定された場合、I/OデバイスA及びBのアクセスが許可されるという情報(表1参照)がメモリ453の対応テーブルに格納される。
CPU210からのアクセス要求が発生すると、PPCレジスタ215はメモリ453にアクセスする。周辺保護ユニット450は、メモリ453に格納されている対応テーブルに従ってアクセス許可/不許可情報を各I/Oデバイスに出力する。例えば、PPCレジスタ215に123の値が設定された場合、I/OデバイスA及びB(図8においては、I/Oデバイス420及び430)のアクセスを許可する信号が各I/Oデバイスに出力される(表1参照)。即ち、メモリ453は、第1、及び第2の実施形態における保護情報判別部と同様の機能を有している。以降の動作については、第1の実施形態と同様である。各I/Oデバイス420、430では、周辺保護ユニット450からの情報と、アクセス検出部422、433の情報によって、リソース424、434に出力するか否かをデコーダ423、433で判定する。
なお、周辺保護ユニット450において、メモリ453に格納されている対応テーブルを用いて、どのI/Oデバイスが保護されているかデコードすることも可能である。その場合、デコード済みの情報がアクセス許可されたI/OデバイスにI/Oデバイス選択信号として出力される。
以上のような構成により、第3の実施形態においては、H/Wによる保護情報判別部を設ける必要がなくなる。即ち、回路構成を簡単にすることが可能となる。従って、H/Wの制限によって、アクセス保護を行うI/Oデバイスの数が制限されるという問題に対し、更に効果が得られる。
発明の実施の形態4.
次に、本発明の第4の実施形態について説明する。第4の実施形態においても、LSI等の半導体素子に1チップ形成した情報処理装置として例示的に説明するが、1チップ形成した情報処理装置に限るものでないことは第1の実施形態と同様である。また、第4の実施形態では、CPUからメモリマップドI/Oへのアクセスを保護する例として説明することは第1の実施形態と同様である。情報処理装置の構成要素や動作等、前述した実施形態と同様のものは省略する。
図9を用いて、第4の実施形態に係るアクセス保護機能について説明する。図9は、第4の実施形態に係る情報処理装置のブロック図である。情報処理装置500は、CPU210、2つのI/Oデバイス520、530、周辺アクセスバス540、及び周辺保護ユニット550を有している。CPU210はメモリ保護ユニット211を有し、その構成及び機能は第1の実施形態と同様である。
I/Oデバイス520、530は、各々アクセス検出部522、532、デコーダ523、533、I/F526、536、及びリソース524、534を有している。I/Oデバイスが2つに限らず形成できることは、第1の実施形態と同様である。CPU210とI/Oデバイス520、530との信号の入出力は、周辺アクセスバス540を介して行われる。周辺アクセスバス540は、PPCレジスタ215からの許可情報を周辺保護ユニット550を介してI/Oデバイスに出力するバス541と、CPU210からアクセス要求の発生するI/Oデバイスのアドレス情報を出力するバス542を有している。
周辺保護ユニット550は、保護情報判別部551及び周辺保護レジスタ554を有している。第4の実施形態では、周辺保護ユニット550に周辺保護レジスタ554を設けることに特徴を有している。周辺保護レジスタ554は、CPU210のアクセスから保護するI/Oデバイスを設定するレジスタである。即ち、PPCレジスタ215に設定される情報と同じ情報を有している。第4の実施形態では、周辺保護レジスタ554によって、CPU210内のPPCレジスタ215で指定した保護内容を更に拡張することを可能にするためのものであるが、詳細は後述する。
周辺保護レジスタ554の各ビットで表される保護情報は、I/Oデバイスの変更に応じて、CPU210のH/W修正とI/OデバイスのH/W修正を必要とすることなく、保護情報の設定を変更することが可能である。CPU210とI/Oデバイスは個別に設計されることが多く、途中から或いは設計完了した後に該当部分に対して設計変更を行うことが困難な場合が多い。このような場合、周辺保護レジスタ554を用いることにより、簡易に保護情報の設定を変更することができる。第4の実施形態では、周辺保護レジスタ554及びPPCレジスタ215の有す情報を論理和で判定し、CPU210からのアクセスに対し、CPU210のアクセスから保護されるI/Oデバイスが決定する。
CPU210からのアクセス要求が発生すると、PPCレジスタ215と周辺保護レジスタ554の論理和情報に基づき、保護するI/Oデバイス情報を有す信号を保護情報判別部551が出力する。保護情報判別部551は、CPU210からのアクセスが許可されているか否かを示す情報をI/Oデバイス520或いは530のデコーダ523、533に出力する。以降の動作については、第1の実施形態と同様である。
このように、CPU210側で設定する保護情報(PPCレジスタ215)と周辺保護ユニット550側でI/Oデバイスにより設定される保護情報(周辺保護レジスタ554)とを分離することで、I/Oデバイスの変更に応じて保護情報を設定できる。即ち、どのレジスタを保護するかの設定は、CPUの設計時に決定されている必要はなく、I/Oデバイスの設計時やI/Oデバイスの変更時等において変更することが可能となる。特に、CPUが汎用CPUであり、どのようなI/Oデバイスを使用するか具体的に決まっていない場合等に有効である。
発明の実施の形態5.
次に、本発明の第5の実施形態について説明する。第5の実施形態においても、LSI等の半導体素子に1チップ形成した情報処理装置として例示的に説明するが、1チップ形成した情報処理装置に限るものでないことは第1の実施形態と同様である。また、第5の実施形態では、CPUからメモリマップドI/Oへのアクセスを保護する例として説明することは第1の実施形態と同様である。情報処理装置の構成要素や動作等、前述した実施形態と同様のものは省略する。
図10を用いて、第5の実施形態に係るアクセス保護機能について説明する。図10は、第5の実施形態に係る情報処理装置のブロック図である。情報処理装置600は、CPU210、2つのI/Oデバイス220、230、及び周辺アクセスバス240を有している。CPU210には、メモリ保護ユニット211が備えられる。これらの構成及び機能は第1の実施形態と同様である。
第5の実施形態では、メモリ保護ユニット211にTIDレジスタ(Task ID:タスク識別)617を設けることに特徴を有している。TIDレジスタは、保護すべきアドレスにアクセスする時のタスク識別番号が設定されている。従って、タスク個別に、保護するI/Oデバイスを設定することが可能となる。
CPU210からのアクセス要求が発生すると、I/Oデバイス220、230の保護情報判別部221、231には、PPCレジスタ215とTIDレジスタ617からの情報が入力される。従って、タスク毎に保護すべきI/Oデバイスが検出され、デコーダ223、233に出力される。以降の動作については、第1の実施形態と同様である。
以上のような構成により、タスクが複数有る場合においても、タスク個別に保護するI/Oデバイスを設定することが可能となる。従って、大規模なOSや複数のCPUによって複数のタスクが処理される場合等に更に細かい制御が可能となる。
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。例えば、本発明は、LSI等の半導体素子に1チップ形成した情報処理装置を例として説明したが、1チップ形成した情報処理装置に限らず、CPUやI/Oデバイスが別の素子に形成されていることも可能である。
100 メモリマップドI/O
101 タイマ制御レジスタ領域、 102 バス2設定・制御レジスタ領域、
103 バス1設定・制御レジスタ領域、
104、105 INTC制御レジスタ領域、
106、107 空き領域、
200 情報処理装置、
210 CPU、 211 メモリ保護ユニット、
212 PPAレジスタ、 213 モードレジスタ、
214 判定器、 215 PPCレジスタ、
216 周辺保護違反レジスタ、
220 I/OデバイスA、
221 保護情報判別部、 222 アクセス検出部、
223 デコーダ、 224 リソース、
225 アクセス制御回路、 226 I/F、
227 I/Oデバイス内部バス
230 I/OデバイスB、
231 保護情報判別部、 232 アクセス検出部、
233 デコーダ、 234 リソース、
235 アクセス制御回路、 236 I/F
240 周辺アクセスバス、
241、242 バス、
300 情報処理装置、
320 I/OデバイスA、
322 アクセス検出部、 323 デコーダ、
324 リソース、 326 I/F
330 I/OデバイスB、
332 アクセス検出部、 333 デコーダ、
334 リソース、 336 I/F、
340 周辺アクセスバス、
341、342 バス、
350 周辺保護ユニット、
351 保護情報判別部、
400 情報処理装置、
420 I/OデバイスA、
422 アクセス検出部、 423 デコーダ、
424 リソース、 426 I/F、
430 I/OデバイスB、
432 アクセス検出部、 433 デコーダ、
434 リソース、 436 I/F、
440 周辺アクセスバス、
441、442 バス、
450 周辺保護ユニット、
453 メモリ、
500 情報処理装置、
520 I/OデバイスA、
522 アクセス検出部、 523 デコーダ、
524 リソース、 526 I/F、
530 I/OデバイスB、
532 アクセス検出部、 533 デコーダ、
534 リソース、 536 I/F、
540 周辺アクセスバス、
541、542 バス、
550 周辺保護ユニット、
551 保護情報判別部、 554 周辺保護レジスタ、
600 情報処理装置、 617 TIDレジスタ

Claims (13)

  1. CPUと、前記CPUとバスを介して接続される複数の周辺装置とを備えた情報処理装置であって、
    前記CPUがユーザーモードで実行するタスクに対し、前記周辺装置が保護対象である場合に、使用者が該周辺装置毎のアクセス許可又は禁止をアクセス保護情報として設定する周辺アクセス保護設定手段を備え、
    前記アクセス保護情報と前記周辺装置のアドレス情報とに基づいて前記CPUから前記周辺装置へのアクセスが制御されることを特徴とする情報処理装置。
  2. 前記周辺装置は、
    前記アクセス保護情報と前記周辺装置のアドレス情報とに基づいて前記周辺装置へのアクセスが制御されるアクセス制御手段を有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記アクセス制御手段は、前記アクセス保護情報に基づいて前記CPUからのアクセスが許可されているか否かを判別する保護情報判別手段と、
    前記CPUが出力するアドレス情報に基づいてアクセス要求の有無を検出するアクセス検出手段と、
    前記保護情報判別手段と前記アクセス検出手段からの情報に基づき前記CPUからのアクセスを許可するか否かを判定する判定手段を有することを特徴とする請求項2に記載の情報処理装置。
  4. 前記アクセス制御手段によって、前記周辺装置内のリソースが前記CPUからアクセスされることを特徴とする請求項2に記載の情報処理装置。
  5. 前記CPUは、前記アクセス保護情報に基づいて保護されている周辺装置にアクセスしたことを検出した場合、アクセス違反が生じたことを示す情報を格納するアクセス違反設定手段を有することを特徴とする請求項1に記載の情報処理装置。
  6. 前記CPUは、アクセスを制御する周辺装置のアドレス範囲を設定した保護アドレス設定手段を有し、
    前記保護アドレス設定手段によって設定されたアドレス範囲に基づいて、前記CPUからアクセス要求するか否かが設定されることを特徴とする請求項1に記載の情報処理装置。
  7. 前記CPUから前記周辺装置へのアクセスを要求する信号と、前記アクセス制御手段への前記アクセス保護情報の信号出力とが、同時に行われることを特徴とする請求項2に記載の情報処理装置。
  8. 前記保護情報判別手段は、前記周辺装置に配設されていることを特徴とする請求項3に記載の情報処理装置。
  9. 前記保護情報判別手段は、複数の前記周辺装置に対する判別手段として1つに集約して構成され、前記CPUと前記周辺装置との間に設けられていることを特徴とする請求項3に記載の情報処理装置。
  10. 前記保護情報判別手段は、前記アクセス保護情報と関連付けられたアクセス保護内容を示す対応テーブルを格納した記憶素子を有することを特徴とする請求項3に記載の情報処理装置。
  11. 前記CPUは、該CPUから保護する周辺装置をタスク個別に設定するタスク識別手段を有することを特徴とする請求項1に記載の情報処理装置。
  12. CPUと、前記CPUとバスを介して接続される複数の周辺装置とのアクセス制御方法であって、
    前記CPUがユーザーモードで実行するタスクに対し、前記周辺装置が保護対象である場合に、使用者が該周辺装置毎のアクセス許可又は禁止を指定するアクセス保護情報を設定し、
    前記アクセス保護情報と前記周辺装置のアドレス情報とに基づいて前記CPUから前記周辺装置へのアクセスが制御されることを特徴とするアクセス制御方法。
  13. 前記周辺装置は、
    前記アクセス保護情報に基づいてアクセスが許可されているか否かを判別し、
    前記CPUが出力するアドレス情報に基づいてアクセス要求の有無を検出し、
    前記アクセス保護情報と前記アドレス情報に基づき前記CPUからのアクセスを許可するか否かを判定し、
    前記CPUから前記周辺装置へのアクセスが制御されることを特徴とする請求項12に記載のアクセス制御方法。
JP2012036476A 2012-02-22 2012-02-22 情報処理装置及びそのアクセス制御方法 Pending JP2012099154A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012036476A JP2012099154A (ja) 2012-02-22 2012-02-22 情報処理装置及びそのアクセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012036476A JP2012099154A (ja) 2012-02-22 2012-02-22 情報処理装置及びそのアクセス制御方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006162487A Division JP2007334432A (ja) 2006-06-12 2006-06-12 情報処理装置及びそのアクセス制御方法

Publications (1)

Publication Number Publication Date
JP2012099154A true JP2012099154A (ja) 2012-05-24

Family

ID=46390913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012036476A Pending JP2012099154A (ja) 2012-02-22 2012-02-22 情報処理装置及びそのアクセス制御方法

Country Status (1)

Country Link
JP (1) JP2012099154A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177266A1 (en) * 2003-03-07 2004-09-09 Moyer William C. Data processing system with peripheral access protection and method therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177266A1 (en) * 2003-03-07 2004-09-09 Moyer William C. Data processing system with peripheral access protection and method therefor

Similar Documents

Publication Publication Date Title
US10073986B2 (en) Regulating access to and protecting portions of applications of virtual machines
JP6753777B2 (ja) 割り込み処理の方法及び装置
US7506091B2 (en) Interrupt controller utilising programmable priority values
RU2513909C1 (ru) Ограничение областей памяти для считывания команд в зависимости от аппаратного режима и флага безопасности
JP2017505492A (ja) 目標メモリ・アドレスに対応するメモリ属性ユニットの領域を特定するための領域特定演算
JP2018538630A5 (ja)
WO2022116801A1 (en) Peripheral component interconnect express protection controller
JP2016516228A (ja) システムオンチップ内のスレーブユニットへの、コントロール下でのアクセス方法および回路装置
US20210124847A1 (en) Embedded system and method
JP2007334432A (ja) 情報処理装置及びそのアクセス制御方法
US11200345B2 (en) Firewall to determine access to a portion of memory
JP2010079765A (ja) 情報処理装置
US10437523B2 (en) Secure receive packet processing for network function virtualization applications
US11683310B2 (en) Protecting supervisor mode information
JP4533713B2 (ja) 情報処理装置およびデータ転送制御方法
US10754967B1 (en) Secure interrupt handling between security zones
JP5578698B2 (ja) 半導体データ処理装置及びデータ処理システム
EP3246821B1 (en) Semiconductor device and its memory access control method
JP2012099154A (ja) 情報処理装置及びそのアクセス制御方法
US20190042797A1 (en) Security Hardware Access Management
JP2005209178A (ja) メモリ保護装置、メモリ保護方法及びメモリ保護プログラム
US11003474B2 (en) Semiconductor device for providing a virtualization technique
JP2017208058A (ja) 情報処理装置
JP5856220B2 (ja) ナビゲーションシステム
JP6438381B2 (ja) 電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120807