説明

情報処理装置

【課題】実行されている命令コードの格納箇所を、命令実行中のCPU等以外の機器が監視することが可能な情報処理装置を提供すること。
【解決手段】命令実行部は、メモリから命令コードを取得する際のプログラムカウンタを保持しておき、実行する命令コードがバス転送を伴う場合には、物理アドレスの形式で表現された当該命令コードのプログラムカウンタを、バス転送の対象であるアクセス情報と併せて内部バスインターフェース部に転送し、内部バスインターフェース部は、命令実行部から転送された物理アドレス形式のプログラムカウンタを組み込んだプロトコルでバス転送サイクルを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バスを介して情報の授受を行なう情報処理装置に関する。
【背景技術】
【0002】
従来、プログラムカウンタの内容をアドレスとしてプログラムメモリからの命令を解読実行するCPUを複数個備えた、マルチCPUのデータ受け渡し装置についての発明が開示されている(例えば、特許文献1参照)。この装置では、メインCPUとサブCPUとの間のデータ授受を、サブCPUに接続されたバスバッファを介して行なうものとしている。また、いずれかのCPUの命令により制御装置が他のCPUに割り込み要求を発し、共有メモリの支配権を移転させるものとしている。
【特許文献1】特開昭63−279359号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、CPUが保持するプログラムカウンタは、論理アドレスの形式であるのが通常である。この場合、バス転送を伴うプログラムが実行された際に、当該プログラムを実行するCPU以外の機器(他のCPU、システム監視機構等)が、共有メモリのどの領域に格納されたプログラムが実行されているのかを判別できない。従って、システムのセキュリティを適切に確保することができない場合が生じる。
【0004】
本発明はこのような課題を解決するためのものであり、実行されている命令コードの格納箇所を、命令実行中のCPU等以外の機器が監視することが可能な情報処理装置を提供することを、主たる目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するための本発明の一態様は、
メモリから命令コードを取得して実行する命令実行部と、内部バスとのインターフェースとなる内部バスインターフェース部と、を有する情報処理装置であって、
前記命令実行部は、
前記メモリから命令コードを取得する際のプログラムカウンタを該命令実行部で保持しておき、
実行する命令コードがバス転送を伴う場合には、物理アドレスの形式で表現された当該命令コードのプログラムカウンタを、バス転送の対象であるアクセス情報と併せて前記内部バスインターフェース部に転送し、
前記内部バスインターフェース部は、前記命令実行部から転送された物理アドレス形式のプログラムカウンタを組み込んだプロトコルでバス転送サイクルを生成する、
ことを特徴とする情報処理装置である。
【0006】
この本発明の一態様によれば、バス転送を伴う命令コードを実行する場合に、物理アドレスの形式で表現された当該命令コードのプログラムカウンタを、バス転送の対象であるアクセス情報と併せて内部バスインターフェース部に転送するため、実行されている命令コードの格納箇所を、命令実行中のCPU等以外の機器が監視することができる。なお、「論理アドレス」は、「仮想アドレス」と換言できる。
【0007】
本発明の一態様において、
前記命令実行部は、
前記メモリから取得した命令コードのプログラムカウンタを論理アドレスの形式で保持し、
前記内部バスインターフェース部に転送する際に、前記論理アドレスの形式で表現されたプログラムカウンタを物理アドレスの形式に変換する変換部を有するものとしてもよい。
【0008】
また、本発明の一態様において、
前記命令実行部が取得する命令コードを記憶したメモリを更に備え、
該メモリにおいて、命令コードの信頼性に基づいて、命令コードが格納されるアドレスが区分けされていることを特徴とするものとしてもよい。
【0009】
また、本発明の一態様において、
前記命令実行部以外の機能部であって、バスマスターとして機能するバスマスターデバイスを備え、
該バスマスターデバイスは、
前記命令実行部がバス転送を行なった際に転送されたプログラムカウンタの情報、及び命令元デバイスIDを制御用レジスタに保持し、
前記命令実行部からの指示内容に基づき、バスマスターとなってバス転送を実行する際に、前記保持したプログラムカウンタの情報、及び命令元デバイスIDを前記アクセス情報に付与してバス転送サイクルを生成することを特徴とするものとしてもよい。
【0010】
また、本発明の一態様において、
前記メモリ及び/又はスレーブ回路を保護するための保護機能部を備え、
該保護機能部は、
前記命令実行部を含む、バスに接続されたバスマスターのそれぞれに固有のデバイスIDを設定すると共に、前記メモリのメモリマップが分割されたメモリエリア、及び/又はスレーブ回路毎に前記各デバイスIDからのアクセスの許可又は不許可を規定した保護エリア許可を保持しており、
前記命令実行部を含む、バスに接続されたバスマスターが前記メモリエリア及び/又はスレーブ回路にアクセスする際に、前記保護エリア許可テーブルを参照して該アクセスが許可されたものかどうかを判定し、許可されたアクセスである場合にバス転送を実行し、許可されていないアクセスである場合にバス転送の実行を中止してエラー通知を行うことを特徴とするものとしてもよい。
【0011】
この場合、
前記保護エリア許可テーブルは、外部指示により所定のセキュリティチェックを前提に、更新可能に構成されるものとしてもよい。
【0012】
また、本発明の一態様において、
外部バスとのインターフェースとなる外部バスインターフェース部を備え、
前記命令実行部からの指示内容に基づき、外部バスへのバス転送を実行する際に、プログラムカウンタの情報、及び命令元デバイスIDを付与してバス転送サイクルを生成することを特徴とするものとしてもよい。
【発明の効果】
【0013】
本発明によれば、実行されている命令コードの格納箇所を、命令実行中のCPU等以外の機器が監視することが実行されている命令コードの格納箇所を、命令実行中のCPU等以外の機器が監視することができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明を実施するための最良の形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【0015】
[全体構成]
以下、本発明の一実施例に係る情報処理装置1について説明する。図1は、情報処理装置1の全体構成を概念的に示す図である。情報処理装置1は、主要な構成として、マイコン10と、メインメモリ70と、外部バス80と、を備える。マイコン10は、マルチコア20と、DMA(Direct Memory Access)コントローラ30と、メモリコントローラ40と、外部バスインターフェース部50と、が内部バス60により相互に通信可能に接続された構成となっている。メインメモリ70は、例えばROM(Read Only Memory)やRAM(Random Access Memory)を含む概念である。なお、情報処理装置1は、図示しない種々のスレーブ回路等を含んでよい。
【0016】
マルチコア20は、それぞれが内部バス60に接続された複数のCPU(Central Processing Unit)#0、#1、#2、#3…(個数の如何を問わない)を有する。マルチコア20は、上記各CPUのうちいずれかがマスターCPUとして機能することにより(或いは命令コード実行中のCPUが自ら機能することにより)、プログラムカウンタ付与機能(図中、PC付与機能と表記した)を有する。
【0017】
[CPUについて]
図2は、上記各CPUの内部構成の一例を示す図である。図示する如く、各CPUは、ALU(論理演算ユニット)や制御装置、レジスタ、クロックジェネレータ等から構成されるCPUコア200と、例えば内蔵するフラッシュメモリに記憶された変換テーブルを参照することにより論理アドレスを物理アドレスに変換可能なMMU(Memory Management Unit)202と、内部バスインターフェース部204と、を有する。なお、CPUコア200及びMMU202が、特許請求の範囲における「命令実行部」に相当する。
【0018】
図3は、各CPUが命令コードを実行する際に、当該命令コードの実行と併せて行なう処理の流れを示すフローチャートである。本フローは、例えば命令コードの1単位を実行する度に行なわれる。
【0019】
なお、本フローを開始するのに先立って、CPUコア200は、メインメモリ70から、命令コードを取得する際に該当コードの格納先を示しているプログラムカウンタ(論理アドレス)を保持しておく。
【0020】
CPUコア200は、実行する1単位の命令コードがバス転送を伴う命令か否かを判定する(S100)。ここで、「バス転送を伴う命令」とは、例えば、mov命令、store命令、load命令である。バス転送を伴う命令でない場合は、何も処理を行なわずに本フローの1ルーチンを終了し、次の1単位の命令コードを対象として本フローを開始する。
【0021】
バス転送を伴う命令である場合は、プログラムカウンタ及びアクセス先論理アドレスをMMU202に、デバイスIDを内部バスインターフェース部204に、それぞれ出力する(S102)。
【0022】
ここで、デバイスIDは、内部バス60に接続されたバスマスター(本装置の場合、各CPU、及びDMAコントローラ30をいう;以下同じ)のそれぞれに対して予め割り当てられている。デバイスIDの割り当ては、例えばシステム構築時に行なわれる。
【0023】
MMU202は、入力されたプログラムカウンタ及びアクセス先論理アドレスを、論理アドレスから物理アドレスに変換する(S104)。
【0024】
内部バスインターフェース部204は、アクセス先アドレス及び命令元アドレスを多重化して内部バス用タイミングを生成し(S106)、これを通常サイクルの情報転送と併せて内部バス60に出力する(S108)。すなわち、CPUコア200及びMMU202から転送された物理アドレス形式のプログラムカウンタを組み込んだプロトコルで、バス転送サイクルを生成する。
【0025】
図4は、内部バスインターフェース部204が生成するバス転送サイクルを模式的に示す図である。図示する如く、内部バス60はIDバス、アドレスバス、データバスを転送する子バスが集合した多重通信バスとして構成される。
【0026】
係る構成及び処理によって、上記命令コードを実行したCPU以外のCPUや、DMAコントローラ30、メモリコントローラ40その他の機器は、内部バス60に流れる情報を参照して、バス転送を発生させた命令コードがメインメモリ70上のどのアドレスに配置されたプログラムコードのものかを容易に識別することができる。これにより、バス転送を発生させたブログラムの性質を識別することができ、例えばメインメモリ70に対して許可されていないアクセスがなされているか否かを監視することも可能となる。従って、システムのセキュリティを適切に確保することができる。
【0027】
[DMAコントローラ等のバスマスターデバイスについて]
DMAコントローラ30は、特許請求の範囲における「バスマスターデバイス」に相当し、CPU以外の各機器とメインメモリ70等のメモリとの間でデータ転送を行なう際に、通信の制御を行なう専用装置である。図5は、DMAコントローラ30の内部構成の一例を示す図である。図示する如く、DMAコントローラ30は、制御装置として機能するシーケンサ31と、入力側セレクタ32と、出力側セレクタ33と、データバッファ34と、アドレスデコーダ35と、制御レジスタ36と、を備える。なお、図5において、両セレクタをSELと表記した。
【0028】
図6は、DMAコントローラ30により実行される処理の流れを示すフローチャートである。
【0029】
まず、CPUコア200からDMAに必要なパラメータ(転送元アドレス、転送先アドレス、転送サイズ、開始トリガーを含む)が制御レジスタ36に書き込まれ、シーケンサ31が、当該CPUコア200の命令元論理アドレス(物理アドレス形式のプログラムカウンタ)及びデバイスIDを制御レジスタ36に保持する(S120)。より具体的には、制御レジスタ36(図5中、下半分の領域)に書き込みが行なわれる際に、内部バス60に出力されているプログラムカウンタとデバイスIDを、制御レジスタ36にアクセスした命令元アドレス及び命令元IDを保持する領域(図5中、上半分の領域)に保持する。
【0030】
そして、DMA起動指令がなされたか否かを判定する(S122)。DMA起動指令がなされると、シーケンサ31が内部バスタイミングを生成する(S124)。この際に、シーケンサ31は、アクセス先アドレス、データ、転送モードと共に、S120において保持した命令元アドレス及び命令元IDを付与したバスサイクルを内部バス60に出力する。より具体的には、制御レジスタ36内で保有するアクセスアドレスと、データバッファ34内に保持したDMA転送用データと、バスプロトコルを制御するシーケンサ31が生成する制御線を合わせたバス転送を実行する際に、S120において保持した命令元アドレス及び命令元IDを付与したバスサイクルを内部バス60に出力する。
【0031】
続いて、DMAが完了したか否かを判定し(S126)、DMAが完了したときに1サイクルを終了する。
【0032】
係る構成及び処理によって、DMAコントローラ30のバス転送プロトコルに付与したデバイスIDと物理アドレス形式のブログラムカウンタにより、メモリ上のどのアドレスに配置されたプログラムからの指示でバスマスターデバイスがバス転送を実行しているかを識別することができる。
【0033】
また、CPUのプログラムの性質(機能、セキュリティ要求、デバイス制御権など)により、プログラムコードを配置するメモリ上のアドレスエリアを区分けすることで、バスに接続されたスレーブ回路や監視回路は、バスマスターデバイスにバス転送を実行させたブログラムの性質を識別することが可能となる。
【0034】
[メモリコントローラについて]
メモリコントローラ40は、特許請求の範囲における「保護機能部」に相当する。図7は、メモリコントローラ40の内部構成の一例を示す図である。図示する如く、DMAコントローラ40は、制御装置として機能するシーケンサ41と、入力側セレクタ42と、メインメモリ70とのインターフェースとなるメモリインターフェース43と、データバッファ44と、アドレスデコーダ45と、制御レジスタ46と、を備える。また、フラッシュメモリ上等において、保護エリア許可テーブル47を保持している。なお、図7において、入力側セレクタ42をSELと表記した。
【0035】
保護エリア許可テーブル47は、メインメモリ70のメモリマップをいくつかのエリアに区分けし、区分けしたエリア毎に、どのデバイスIDからのアクセスを許可するか、どのエリアに配置したブログラムからのアクセスを許可するのかを規定している。保護エリア許可テーブル47は、システム構築時に固定的に決定した内容でハードウエア回路として実現されてもよいし、フラッシュメモリ上等に配置されたテーブルデータを読み込む等の手法により、システム稼働後にユーザーによって指定・変更されてもよいが、後者の場合、指定・変更のためのパスワード等を設定してセキュリティ性を確保することが望ましい。なお、後述する図9及び図10において、保護エリア許可テーブル47のデータ例を示している。
【0036】
図8は、メモリコントローラ40により実行される処理の流れを示すフローチャートである。
【0037】
まず、メモリコントローラ40は、バスマスターから送信されたデバイスID及び命令元アドレスを制御レジスタ46に保持する(S140)。
【0038】
そして、入力側セレクタ42からアドレスデコーダ45に入力されたアクセス先のアドレス(制御レジスタアドレス)によって、アクセス先が保護領域か否かを判定する(S142)。アクセス先が保護領域でない場合は、通常アクセスを行なう(S148)。
【0039】
アクセス先が保護領域である場合は、バスマスターのデバイスID、命令元アドレスを用いて保護エリア許可テーブル47を検索し(S144)、デバイスID及び命令元アドレスが許可されたものか否かを判定する(S146)。
【0040】
デバイスID及び命令元アドレスが許可されたものである場合は、通常アクセスを行なう(S148)。一方、デバイスID及び命令元アドレスが許可されたものでない場合は、アクセスを拒否して、アクセスを行なったバスマスターにエラー通知を行なう(S150)。
【0041】
図9は、CPU#2からのアクセスが不許可とされる様子を概念的に示す図である。図示する如く、CPU#2はProgramCを実行しようとしているが、保護エリア許可テーブル47では、CPU#2によって起動されたProgramCに対して、(0000 1000)番地から(0000 F000)番地までのアクセスを禁止している。従って、この場合、メモリコントローラ40がCPU#2に対してエラー通知を行なう。図10に、保護エリア許可テーブル47の詳細例について示す。
【0042】
係る構成及び処理によって、セキュリティ要求に違反した不正アクセスによるデータ破壊やデータ漏洩を防止することができる。また、ブログラムの不具合によるデータ破壊を防止することができる。
【0043】
また、デバイスIDによってCPUを識別することにより、例えば特定のCPUで実行されるプログラムにのみアクセスの権限を与えることができる。
【0044】
また、DMAコントローラ30等のバスマスターデバイスのデバイスIDを識別することにより、アクセス権のないデバイスからのアクセスを禁止することができる。
【0045】
また、メモリ上のどのアドレスに配置されたプログラムコードにより実行されたバス転送かをプログラムカウンタにより識別することで、特定のプログラムにアクセス権を与えることができる。同様に、特定のプログラムで制御されたバスマスターデバイスにもアクセス権を与えることができる。
【0046】
[外部バスインターフェース部について]
外部バスインターフェース部50は、マイコン10と外部機器とのインターフェースとなる装置であり、外部バス80に接続される。外部バスインターフェース部50は、アクセス元のデバイスIDや物理アドレスで表現されたプログラムカウンタを伝達する処理を、外部バス80まで拡張するためのものである。
【0047】
図11は、外部バスインターフェース部50の内部構成の一例を示す図である。図示する如く、外部バスインターフェース部50は、制御装置として機能するシーケンサ51と、入力側セレクタ52と、出力側セレクタ53と、データバッファ54、55と、暗号化を行なうエンコーダ56と、復号化を行なうデコーダ57と、暗号キーテーブル58と、を備える。なお、図11において、両セレクタをSELと表記した。
【0048】
外部バスインターフェース部50は、マイコン10の外部バス80にデバイスIDや物理アドレスで表現されたプログラムカウンタをそのまま出力するスルーモードと、デバイスIDや物理アドレスで表現されプログラムカウンタを出力する際に、暗号化してから出力する暗号化モードとを切替えることが可能である。スルーモードと暗号化モードはシステム起動時に静的に指定して選択することができる。
【0049】
外部バス80に接続された外部機器では、暗号化モードで情報が出力された場合には、暗号化されたデバイスIDやプログラムカウンタを復号化してから使用する。スルーモードで情報が出力された場合には、複合化を行なわずそのままの情報として使用する。
【0050】
図12は、マイコン10内部から外部機器に情報を出力する際に外部バスインターフェース部50により実行される処理の流れを示すフローチャートである。
【0051】
まず、現在選択されている制御モードが暗号化モードであるか否かを判定する(S160)。
【0052】
暗号化モードでない場合は、外部バス80との調停後、デバイスIDや物理アドレスで表現されたプログラムカウンタを含む情報を出力する(S164)。この際に使用する生成サイクルは、一般的な外部バスプロトコルに準拠する。
【0053】
暗号化モードである場合は、暗号キーテーブル58を用いてデバイスIDや物理アドレスで表現されたプログラムカウンタを暗号化し(S162)、外部バス80との調停後、デバイスIDや物理アドレスで表現されたプログラムカウンタを含む情報を出力する(S164)。
【0054】
図13は、外部機器からマイコン10内部に情報が入力された際の処理に外部バスインターフェース部50により実行される流れを示すフローチャートである。
【0055】
まず、現在選択されている制御モードが暗号化モードであるか否かを判定する(S180)。
【0056】
暗号化モードでない場合は、内部バス60との調停後、デバイスIDや物理アドレスで表現されたプログラムカウンタを含む情報を出力する(S184)。この際に使用する生成サイクルは、一般的な内部バスプロトコルに準拠する。
【0057】
暗号化モードである場合は、暗号キーテーブル58を用いてデバイスIDや物理アドレスで表現されたプログラムカウンタを復号化し(S182)、内部バス60との調停後、デバイスIDや物理アドレスで表現されたプログラムカウンタを含む情報を出力する(S184)。
【0058】
図14は、内部バス60から外部バス80に情報を転送する際に暗号化を行なう様子を模式的に示す図である。また、図15は、外部バス80から内部バス60に情報を転送する際に暗号化を行なう様子を模式的に示す図である。
【0059】
係る構成及び処理によって、外部バス80に情報が転送された際に付与されたプログラムカウンタの情報を計測器などでモニタリングすることで、マイコンシステムの耐タンパ性が低下する問題を解決することができる。すなわち、内部解析(リバース・エンジニアリング)や改変に対する防護力を高めることができる。
【0060】
また、製品システムを暗号化モードで動作させることにより、悪意を持った者がバス転送に含まれるデバイスIDやプログラムカウンタを元にマイコンシステムの動作メカニズムを解析して流用や製品の改造をすることを防止できる。
【0061】
また、製品開発時にはスルーモードで動作させることにより、プログラムの動作状況の把握や不具合解析を効率的に行うための開発ツールに使用することができる。
【0062】
また、外部バスに計測器を接続することで、バス転送がどのプログラムを実行した結果なのかという情報を取得することができる。
【0063】
[全体処理]
図16は、情報処理装置1全体の処理の流れを示すフローチャートである。図中の符号は、前述した情報処理装置1の各構成要素がそれぞれ実行する特徴的な処理を示す。各ステップの処理については、既に各構成要素のフローチャートの処理として説明したものの概略であるため、説明を省略する。
【0064】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【産業上の利用可能性】
【0065】
本発明は、自動車製造業や自動車部品製造業等に利用可能である。
【図面の簡単な説明】
【0066】
【図1】情報処理装置1の全体構成を概念的に示す図である。
【図2】各CPUの内部構成の一例を示す図である。
【図3】各CPUが命令コードを実行する際に、当該命令コードの実行と併せて行なう処理の流れを示すフローチャートである。
【図4】内部バスインターフェース部204が生成するバス転送サイクルを模式的に示す図である。
【図5】DMAコントローラ30の内部構成の一例を示す図である。
【図6】DMAコントローラ30により実行される処理の流れを示すフローチャートである。
【図7】メモリコントローラ40の内部構成の一例を示す図である。
【図8】メモリコントローラ40により実行される処理の流れを示すフローチャートである。
【図9】CPU#2からのアクセスが不許可とされる様子を概念的に示す図である。
【図10】保護エリア許可テーブル47のデータ例を示す図である。
【図11】外部バスインターフェース部50の内部構成の一例を示す図である。
【図12】マイコン10内部から外部機器に情報を出力する際に外部バスインターフェース部50により実行される処理の流れを示すフローチャートである。
【図13】外部機器からマイコン10内部に情報が入力された際に外部バスインターフェース部50により実行される処理の流れを示すフローチャートである。
【図14】内部バス60から外部バス80に情報を転送する際に暗号化を行なう様子を模式的に示す図である。
【図15】外部バス80から内部バス60に情報を転送する際に暗号化を行なう様子を模式的に示す図である。
【図16】情報処理装置1全体の処理の流れを示すフローチャートである。
【符号の説明】
【0067】
1 情報処理装置
10 マイコン
20 マルチコア
30 DMA
40 メモリコントローラ
47 保護エリア許可テーブル
50 外部バスインターフェース部
60 内部バス
70 メインメモリ
80 外部バス
200 CPUコア
202 MMU
204 内部バスインターフェース部

【特許請求の範囲】
【請求項1】
メモリから命令コードを取得して実行する命令実行部と、内部バスとのインターフェースとなる内部バスインターフェース部と、を有する情報処理装置であって、
前記命令実行部は、
前記メモリから命令コードを取得する際のプログラムカウンタを該命令実行部で保持しておき、
実行する命令コードがバス転送を伴う場合には、物理アドレスの形式で表現された当該命令コードのプログラムカウンタを、バス転送の対象であるアクセス情報と併せて前記内部バスインターフェース部に転送し、
前記内部バスインターフェース部は、前記命令実行部から転送された物理アドレス形式のプログラムカウンタを組み込んだプロトコルでバス転送サイクルを生成する、
ことを特徴とする情報処理装置。
【請求項2】
前記命令実行部は、
前記メモリから取得した命令コードのプログラムカウンタを論理アドレスの形式で保持し、
前記内部バスインターフェース部に転送する際に、前記論理アドレスの形式で表現されたプログラムカウンタを物理アドレスの形式に変換する変換部を有する、
請求項1に記載の情報処理装置。
【請求項3】
前記命令実行部が取得する命令コードを記憶したメモリを更に備え、
該メモリにおいて、命令コードの信頼性に基づいて、命令コードが格納されるアドレスが区分けされていることを特徴とする、請求項1又は2に記載の情報処理装置。
【請求項4】
前記命令実行部以外の機能部であって、バスマスターとして機能するバスマスターデバイスを備え、
該バスマスターデバイスは、
前記命令実行部がバス転送を行なった際に転送されたプログラムカウンタの情報、及び命令元デバイスIDを制御用レジスタに保持し、
前記命令実行部からの指示内容に基づき、バスマスターとなってバス転送を実行する際に、前記保持したプログラムカウンタの情報、及び命令元デバイスIDを前記アクセス情報に付与してバス転送サイクルを生成することを特徴とする、
請求項1ないし3のいずれか1項に記載の情報処理装置。
【請求項5】
前記メモリ及び/又はスレーブ回路を保護するための保護機能部を備え、
該保護機能部は、
前記命令実行部を含む、バスに接続されたバスマスターのそれぞれに固有のデバイスIDを設定すると共に、前記メモリのメモリマップが分割されたメモリエリア、及び/又はスレーブ回路毎に前記各デバイスIDからのアクセスの許可又は不許可を規定した保護エリア許可を保持しており、
前記命令実行部を含む、バスに接続されたバスマスターが前記メモリエリア及び/又はスレーブ回路にアクセスする際に、前記保護エリア許可テーブルを参照して該アクセスが許可されたものかどうかを判定し、許可されたアクセスである場合にバス転送を実行し、許可されていないアクセスである場合にバス転送の実行を中止してエラー通知を行うことを特徴とする、
請求項1ないし4のいずれかに記載の情報処理装置。
【請求項6】
前記保護エリア許可テーブルは、外部指示により所定のセキュリティチェックを前提に、更新可能に構成される、
請求項5に記載の情報処理装置。
【請求項7】
外部バスとのインターフェースとなる外部バスインターフェース部を備え、
前記命令実行部からの指示内容に基づき、外部バスへのバス転送を実行する際に、プログラムカウンタの情報、及び命令元デバイスIDを付与してバス転送サイクルを生成することを特徴とする、
請求項1ないし6のいずれか1項に記載の情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2009−169511(P2009−169511A)
【公開日】平成21年7月30日(2009.7.30)
【国際特許分類】
【出願番号】特願2008−4308(P2008−4308)
【出願日】平成20年1月11日(2008.1.11)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】