(57)【特許請求の範囲】
【請求項１】
自身の不正アクセスを検知し遮断する機能を有さない第１バスマスタデバイスと、
自身の不正アクセスを検知し遮断する機能を有さない第２バスマスタデバイスと、
自身の不正アクセスを検知し遮断する機能を有するＣＰＵコアを含む第３バスマスタデバイスと、
スレーブデバイスと、
前記第１バスマスタデバイス、前記第２バスマスタデバイスおよび前記第３バスマスタデバイスが接続される内部バスと、
前記スレーブデバイスが接続される周辺バスと、
前記内部バスと前記周辺バスとに接続され、不正アクセス遮断回路を含むバスステートコントローラとを備える半導体装置であって、
前記不正アクセス遮断回路は、前記スレーブデバイスに対するアクセスを許可するアドレス範囲を指定するためのレジスタを有し、
前記第１バスマスタデバイスから前記内部バスを介して前記スレーブデバイスへのアクセスを受けたとき、前記第１バスマスタデバイスから出力された前記スレーブデバイスに対するアクセスアドレスと前記レジスタに設定されたアドレス範囲とを比較することにより、そのアクセスが正常か又は不正であるかを検知し、正常であるときは前記第１バスマスタデバイスから前記スレーブデバイスへアクセスを可能にし、不正であるときは前記第１バスマスタデバイスから前記スレーブデバイスへのアクセスを遮断し、前記第２バスマスタデバイスから前記バスを介して前記スレーブデバイスへのアクセスを受けたとき、前記第２バスマスタデバイスから出力された前記スレーブデバイスに対するアクセスアドレスと前記レジスタに設定されたアドレス範囲とを比較することにより、そのアクセスが正常か又は不正であるかを検知し、正常であるときは前記第２バスマスタデバイスから前記スレーブデバイスへのアクセスを可能にし、不正であるときは前記第２バスマスタデバイスから前記スレーブデバイスへのアクセスを遮断することを特徴とする半導体装置。
【請求項２】
請求項１に記載の半導体装置であって、
前記第１バスマスタデバイスは、ダイレクトメモリアクセスコントローラであることを特徴とする半導体装置。
【請求項３】
請求項１に記載の半導体装置であって、
さらに、ダイレクトメモリアクセスコントローラを有し、
前記不正アクセス遮断回路は、前記ダイレクトメモリアクセスコントローラから前記スレーブデバイスへのアクセスが正常か又は不正であるかを検知し、正常であるときは前ダイレクトメモリアクセスコントローラから前記スレーブデバイスへのアクセスを可能にし、不正であるときは前記ダイレクトメモリアクセスコントローラから前記スレーブデバイスへのアクセスを遮断することを特徴とする半導体装置。
【請求項４】
請求項１又は請求項３に記載の半導体装置であって、
前記第１バスマスタデバイスは画像処理ＩＰ、前記第２バスマスタデバイスは音声処理ＩＰであることを特徴とする半導体装置。
【請求項５】
請求項１乃至４に記載の半導体装置であって、
前記スレーブデバイスはメモリであることを特徴とする半導体装置。
【請求項６】
前記スレーブデバイスを複数含み、
前記不正アクセス遮断回路は、前記スレーブデバイスのアクセスを許可するアドレス範囲を指定するための前記レジスタを、前記複数のスレーブデバイスに対応付けて備え、
前記不正アクセス遮断回路は、前記第１及び第２バスマスタデバイスから出力された前記スレーブデバイスに対するアクセスアドレスと当該スレーブデバイスに対応する前記レジスタに設定されたアドレス範囲とを比較することにより、当該スレーブデバイスに対するアクセスを遮断するか否かを、前記スレーブデバイス毎に決定する、請求項１に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関するものであり、特に計算機の中央処理装置に用いられるプロセッサに関するものである。
【背景技術】
【０００２】
今日のプロセッサ、特に組み込み機器用途のマイコンでは、汎用的処理を行うＣＰＵコアと、特定処理向けの複数の周辺ＩＰを１チップに構成し、１チップのプロセッサとしてシステムを構成する手法が用いられている。このようなシステムでは、プロセッサ内のバスに対して、複数のＣＰＵや周辺ＩＰなどのデバイスが接続される構成が一般的であり、特に、バスに対してアクセスリクエストを発行する側である、バスマスタデバイスが複数存在するシステムとなる。
【０００３】
プロセッサ内の、ＣＰＵを含めたバスマスタデバイスからは、（１）ソフトウェアバグ、（２）ハードウェアバグ、（３）一時的なハード障害（α線によるソフトエラー等）によって本来意図しないアクセスをバスに対して発生することがある。このようなアクセスを、不正アドレスアクセスと呼ぶこととする。特に組み込み機器用途では、ソフトウェアバグによる製品の不良が問題となることが多い。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下に、本願発明者が本願発明をするにあたって考慮した複数のバスマスタが存在するシステムにおいて、不正アドレスアクセスが発生する場合の例として、画像入力、処理を行うシステムを示す。図１０はシステムの構成を示したものである。８１０は画像入力部であり、８３０はメモリである。８１０、８３０はともにシステムバス８００に接続しており、８１０は、例えばカメラなどからの画像を取り込み、バスマスタ動作をすることにより、そのデータを８３０に格納する。８５０はこの動作におけるデータの流れである。
【０００５】
また、８２０は画像処理部であり、例えば色調補正やノイズ除去などの処理を行うものである。８２０はメモリ８３０から画像データを読み込み、処理結果を書き戻す。８５１、８５２はそれぞれデータの流れである。
【０００６】
ここで、画像入力部８１０からのメモリ書き込み８５０と、画像処理部８２０からのメモリ書き込み８５２は並列に行われる必要があるため、両者がアクセスするメモリ領域に衝突が無いように切り替える必要がある。
【０００７】
図１１は、図１０に示したシステムにおけるメモリマップである。９１０に示す部分がメモリ８３０の領域である。画像入力部８１０と画像処理部８３０を並列に動作させるために、ある期間Ｔの間は画像入力部８１０が領域９１０内の領域９２１に書き込みをし、画像処理部８３０が領域９２０に書き込みを行うことで、メモリ領域の衝突を回避する。同様に、期間Ｔ＋１ではそれぞれ９２２と９２１、期間Ｔ＋２では９２０と９２２といった具合である。
【０００８】
上記に示した、領域切り替えによるメモリ領域衝突の回避は、特に複数のバスマスタが存在するシステムでは重要となる。例えば、制御ソフトウェアのバグなどにより不正アクセスが発生し、メモリ領域の衝突が起こると、画像データが正しく処理されないといった問題が発生する。
【０００９】
バスマスタデバイスの代表であるＣＰＵコアでは、ＭＭＵ（メモリ  マネージメント  ユニット）と呼ばれる機構を有するものが存在し、不正アドレスアクセスを検知、遮断する能力を持ち合わせている。しかし、一般的には周辺ＩＰは、ＭＭＵを搭載していない。ここで周辺ＩＰに一般的なＭＭＵを適用するとＭＭＵは、ＣＰＵコア内の仮想アドレスから物理アドレスへの変換も行っているため、不正アドレスアクセス遮断の目的に対しては、回路量のオーバーヘッドや、それを扱うためのソフトウェアオーバーヘッドが大きい。従って、周辺ＩＰからの不正アドレスアクセス検知、遮断を目的としてのＭＭＵの適用は困難であることがわかった。
【００１０】
本発明の一つの目的は、回路量のオーバーヘッドが少ない不正アドレスアクセス検知、遮断回路を提供することにある。
【００１１】
本発明の前記又はその他の目的と新規な特徴は、本願明細書の記述及び図面から明らかになるだろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。すなわち、第１バスマスタデバイスと、第１スレーブデバイスと、前記第１バスマスタデバイス及び前記第１スレーブデバイスに接続されるバスとを具備する情報処理装置であって、前記第１バスマスタデバイスは、前記第１スレーブデバイスにアクセスする際に、前記第１バスマスタデバイスのアクセスが不正であることを検出し遮断する第１不正アドレスアクセス遮断回路を有する。
【００１３】
更に望ましくは、前記第１不正アドレスアクセス遮断回路は、アクセス禁止範囲を設定する範囲設定レジスタを有する。
【００１４】
更に望ましくは、前記範囲設定レジスタは、前記第１スレーブデバイスに割り当てられたアドレスの上限のアドレスを保持する第１レジスタと、下限のアドレスを保持する第２レジスタとを有し、前記第１不正アドレスアクセス遮断回路は、前記第１バスマスタデバイスが出力するアドレスが前記第１レジスタ及び第２レジスタで示されるアドレス範囲に含まれているかを比較する比較回路を更に有する。
【発明の効果】
【００１５】
本発明によると、少ない回路量で信頼性の高い情報処理装置を実現できる。
【図面の簡単な説明】
【００１６】
【図１】実施例１でのシステム構成。
【図２】実施例１でのバス構成およびデバイス接続。
【図３】実施例１での不正アドレスアクセス遮断機構。
【図４】不正アドレスアクセス遮断機構の動作。
【図５】実施例２でのシステム構成。
【図６】実施例２でのバス構成およびデバイス接続。
【図７】実施例２での不正アドレスアクセス遮断機構。
【図８】不正アドレス遮断回路を適用したプロセッサの実施例。
【図９】不正アドレス遮断回路を適用したプロセッサの第２の実施例。
【図１０】複数のバスマスタが存在するシステム。
【図１１】図１０に示したシステムにおけるメモリマップ。
【発明を実施するための形態】
【００１７】
以下、本発明に係る情報処理装置の好適な実施の形態について、添付図面を参照しながら説明する。特に制限されないが、実施例の各ブロックを構成する回路素子は、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）やバイポーラトランジスタ等の半導体集積回路技術によって、単結晶シリコンのような１個の半導体基板上に形成される。
【００１８】
（実施例１）
図１から図３は、本発明の一つの実施例を示したものである。本実施例は、システムバスの構造として、制御線、データ線、アドレス線を複数のデバイスで共有するバス形式を用いた場合のものである。
【００１９】
図１は、本実施例でのシステム全体の構成を簡単に示しており、特に制限されないが、各構成要素は、１個の半導体基板上に形成されている。１００は、プロセッサ内のシステムバスであり、制御線、データ線、アドレス線を複数のデバイスで共有する構成をとる。１１０、および１２０は、他のデバイスに対してシステムバス１００を介してアクセスするバスマスタデバイスであり、１３０は、マスターデバイス１１０、１２０のシステムバス１００を介したリクエストを受け付けて、システムバス１００に応答を返す、スレーブデバイスである。
【００２０】
このようなシステム構成の例を挙げると、例えば音声処理用ＩＰと画像処理用ＩＰの２個のバスマスタデバイスを備え、それぞれの処理結果を、スレーブデバイスであるシリアルインターフェースに書き出すようなシステムが考えられる。
【００２１】
また、本実施例ではバスマスタデバイス２個とスレーブデバイス１個のシステムを想定しているが、本発明の方式はこれらデバイスの種類や個数に制約を与えるものではない。
【００２２】
１１１、および１２１はそれぞれ、バスマスタデバイスの主回路である。１１３、および１２３が本発明の不正アドレスアクセス遮断回路であり、１１２、１２２の接続線を通じてバスマスタデバイスの主回路１１１、１１３と、また、１１４、１２４の接続線を通じて、システムバス１００と接続している。スレーブデバイス１３０は、接続線１３１を通じて、システムバス１００と接続している。
【００２３】
後に詳述するが、不正アドレスアクセス遮断回路１１３、１２３は、バスマスタデバイスがスレーブデバイスにアクセスする際に、バスマスタデバイスのアクセスが不正であることを検出し遮断する機能を有する。
【００２４】
図２は、システムバス１００自体と、システムバス１００と接続線１１４、１２４、１３１との接続関係について示したものである。
【００２５】
バスマスタデバイス１１０とシステムバス１００を接続する接続線１１４は、２１０のリクエスト制御線、２１１のリードライト指定制御線、２１２のアドレス線、２１３のライトデータ線、および２１４のリードデータ線で構成される。
【００２６】
リクエスト制御線２１０は、特に制限されないが、ここでは“Ｈ”がリクエスト要求有りを、“Ｌ”が要求無しを示す。また、リクエスト制御線２１０が“Ｈ”の時に、リードライト指定制御線２１１は、“Ｈ”がリードリクエストを、“Ｌ”がライトリクエストを示し、アドレス線２１２はその対象となるアドレスを示す。ライトリクエストの際には、ライトデータ線２１３から書き込むデータを出力する。また、リードリクエストの際には、リードデータ線２１４からデータを入力する。バスマスタデバイス１２０とシステムバス１００とを接続する接続線１２４は、接続線１１４と同様の構成である。２１０〜２１４がそれぞれ、２２０〜２２４に対応する。
【００２７】
スレーブデバイス１３０とシステムバス１００とを接続する接続線１３１は、２３０のリクエスト制御線、２３１のリードライト指定制御線、２３２のアドレス線、２３３のライトデータ線、２３４のリードデータ線で構成され、例えば、リクエスト制御線２１０からの出力が、リクエスト制御線２３０に伝わる。接続線１３１を通じて、スレーブデバイスは、ライトデータ線２３３からデータを入力、もしくは、リードデータ線２３４に対してデータを出力する。
【００２８】
図３は、本発明のバスマスタデバイス１１０に含まれる不正アドレスアクセス遮断回路１１３の内部構成を示している。なお、バスマスタデバイス１２０に含まれる不正アドレスアドレス遮断回路１２３についても同様である。
【００２９】
信号線３１０〜３１４は、接続線１１２を構成するものであり、バスとの接続線である１１４を構成する信号線２１０〜２１４にそれぞれ対応している。
【００３０】
３２０は不正アドレスアクセス検知部である。レジスタ３２１と３２２とでバスマスタデバイス１１０がスレーブデバイス１２０にアクセスするアドレス範囲を設定する範囲設定レジスタとを有する。レジスタ３２１には、バスマスタデバイス１１０に対してアクセスを許可するアドレス範囲の上限を、レジスタ３２２には下限のアドレス値を格納する。なお、図中明記はしていないが、これらのレジスタの設定は信号線１１２を通じて行うことができる。また、上記レジスタへの設定は、電源投入時のソフトウェア処理で設定しても良いし、電源が投入されたことを検出して自動的に設定される構成としても良い。
【００３１】
３２３と３２４はそれぞれ比較器であり、比較器３２３は、アドレス線３１２の値とレジスタ３２１の値を比較し、アドレス線３１２の値の方が大きい場合に、信号線３２５に“Ｈ”を出力する。同様に、比較器３２４は、アドレス線３１２の値とレジスタ３２２の値を比較し、アドレス線３１２の値の方が小さい場合に、信号線３２６に“Ｈ”を出力する。したがって、信号線３２５と信号線３２６の論理積である信号線３２７は、アドレス線３１２の値が、レジスタ３２１とレジスタ３２２に指定された範囲内である場合に、“Ｈ”の出力となる。
【００３２】
３３０は不正アドレスアクセス遮断部である。信号線３２７の出力が“Ｈ”、すなわち、アドレス線３１２の値が、レジスタ３２１とレジスタ３２２に指定された範囲内にある場合には、リクエスト制御線３１０の出力が、そのままリクエスト制御線２１０に出力される。逆に、信号線３２７の出力が“Ｌ”、すなわち、アクセス許可範囲を逸脱している場合には、リクエスト制御線３１０の出力が“Ｈ”であっても、リクエスト制御線２１０の出力が“Ｌ”となり、不正アドレスアクセスが遮断される。また、信号線３２７はそのまま信号線３１５として出力され、遮断されたことをバスマスタデバイス主回路１１１に通知する。このようにして不正アクセスを遮断することができる。なお、本実施例では、レジスタ３２１、３２２及び比較器３２３、３２６を一組のみ有しているが、スレーブデバイスが多数ある場合には、その数に応じて設けることにより本発明を実現できることは言うまでもない。また、レジスタ３２１、３２２に格納するアドレスは、アドレスを示すビット全てを格納する構成としてもいいし、その一部のみを格納する構成としてもよい。即ち、アクセス制御を行いたい範囲を指定することができればよい。例えば、対応するスレーブデバイスのアドレス空間のうちＨ’０８００００００〜Ｈ’０ＢＦＦＦＦＦＦの範囲において上述の不正アドレス検出を行いたい場合は、上位８ビットを設定できるようにすればよい。この場合、レジスタ３２１、３２２及び比較器３２３、３２６を小さくすることができ小面積で実現できる。また、レジスタ３２１、３２２に３２ビット設定可能とする構成としてもよい。この場合、より細かく不正アドレス検出をする範囲を設定することが可能となり、アドレス範囲の大きさが異なる複数のスレーブデバイスへの適用が容易となる。
【００３３】
図４に、不正アドレスアクセス遮断機能を数するプロセッサにおいて、正常アドレスへのアクセス、および不正アドレスへのアクセスが発生した場合動作を示す。７００、および７１０は１クロック期間を示しており、この期間でのリクエスト制御信号３１０、２１０、アドレス線３１２、および不正アドレスアクセス遮断機構３２０の内部信号３２５、３２６、３２７の遷移を示す。
【００３４】
期間７００では、アドレス線３１２の値７０１が、レジスタ３２１、３２２に設定された範囲内である。このとき、信号３２５、３２６の出力は“Ｈ”となり、信号３２７の出力も“Ｈ”となる。したがって、リクエスト制御信号３１０と等しい“Ｈ”が、リクエスト制御信号２１０にも出力される。
【００３５】
期間７０１では、値７０２がレジスタ３２２に設定された下限値よりも大きい値となっている。このとき、信号３２６の出力が“Ｌ”となることで、信号３２７の出力も“Ｌ”となる。したがって、リクエスト制御信号３１０が“Ｈ”であるのに対して、リクエスト制御信号２１０が“Ｌ”となり、不正アドレスアクセスが遮断される。なお、不正アドレスアクセスとされた場合は、特に限定されないが、例えば、割り込みを通知する信号線をマスターデバイス１１０に引き込み、マスターデバイス側で例外処理を行うか、又は、割り込みをソフトウェアで検出することで例外処理が行われる。
【００３６】
このように構成することにより、１個の周辺ＩＰなどのバスマスタデバイスに対して、最少の構成では２個のレジスタと２個の比較器、および２個のＡＮＤゲートと、少ない回路量で不正アドレスアクセス遮断機構を実現でき、ソフトウェアのバグ等による製品不良の防止、早期発見を期待できる。
【００３７】
（実施例２）
図５から図７は本発明の他の実施例である。本実施例では、システムバスの構造として、スイッチ形式（相互結合網型バス）を用いた場合のものである。スイッチ形式（相互結合網型バス）のバス構造とは、例えばバスマスタデバイスとスレーブデバイスとの接続関係をセレクタにより制御する構造である。この構成を採用することにより、より高速にシステムバスを動作させることが可能となる。以下、主に実施例１と異なる点について説明するが、実施例１で説明した事項を適宜実施例２に適用できることは言うまでもない。
【００３８】
図５は、本願発明を適用した場合のシステム全体を簡単に示した構成である。４００は、プロセッサ内のスイッチ形式のシステムバス（相互結合網型バス）である。４１０、および４２０はバスマスタデバイスであり、４３０は、スレーブデバイスである。バスマスタデバイス４１０、４２０、およびスレーブデバイス４３０はそれぞれ、接続線４１１、４２１、４３１でシステムバス４００と接続している。なお、実施例１と同様、本方式は接続するデバイスの種類や個数に制限を与えるものではない。
【００３９】
図６は、システムバス４００自体と、システムバス４００と接続線４１１、４２１、４３１との接続関係について示したものである。バスマスタデバイス４１０とシステムバス４００とを接続する接続線４１１は、５１０のリクエスト制御線、５１１のリードライト指定制御線、５１２のアドレス線、５１３のライトデータ線、５１４のリードデータ線、５１５のリクエスト受理通知線で構成されており、各信号線５１０〜５１４の意味は、実施例１の２１０〜２１４に対応する。信号線５１５は、リクエスト制御線５１０のリクエストが受理されたか否かを示す。バスマスタデバイス４２０とシステムバス４００とを接続する接続線４２１も、接続線４１１と同様の構成である。
【００４０】
スレーブデバイス４３０とシステムバス４００とを接続する接続線４３１は、５３０のリクエスト制御線、５３１のリードライト指定制御線、５３２のアドレス線、５３３のライトデータ線、５３４のリードデータ線で構成され、各信号線の意味は、実施例１の２３０〜２３４に対応する。
【００４１】
５４０は、リクエスト信号セレクタ（スイッチ）制御回路である。リクエスト制御線５１０、５２０、およびアドレス線５１２、５２２が入力され、セレクタ制御信号である５４１、５４２、５４３と、リクエスト制御線５３０が出力されている。制御回路５４０が出力するセレクタ制御信号５４３が“Ｌ”の場合には、リードライト指定制御線５３１には、リードライト指定制御線５１１が出力される。反対に、セレクタ制御信号５４３が“Ｈ”の場合には、制御線５３１には制御線５２１が出力される。
【００４２】
同様にして、セレクタ制御信号５４２にしたがって、アドレス線５３２には５１２、もしくは５２２が、セレクタ制御信号５４１にしたがって、データ線５３３には、５１３、５２３が、それぞれ出力される。このようにしてバスマスタデバイス４１０、４２０とスレーブデバイス４３０との接続を切換える。このように構成することによりシステムバス４００を高速に動作させることが可能となる。
【００４３】
図７は、制御回路５４０の内部構成を示した図である。６００はデコーダであり、アドレス線５２２の値がスレーブデバイス４３０を指している場合に信号線６０１に“Ｈ”を出力する。したがって、制御信号５４１、５４２、５４３には、バスマスタデバイス４２０からのリクエストが、スレーブデバイス４３０に対して発行されている場合に、セレクタが４２０側の制御信号を出力する。
【００４４】
また、デコーダ６００は、アドレス先５２２の値がスレーブデバイス４３０を指していない場合には、信号線６０２に“Ｈ”、信号線５２５に“Ｌ”を出力し、逆の場合は信号線６０２に“Ｌ”、信号線５２５に“Ｈ”を出力する。
【００４５】
６１０は、不正アドレスアクセス検知部である。６１１と６１２はそれぞれレジスタであり、６１３、および６１４は比較器である。この不正アドレスアクセス検出部の回路は、実施例１の３２０と同等であり、信号線６１７は、アドレス線５１２の値が、レジスタ６１１とレジスタ６１２に指定された範囲内である場合に、“Ｈ”となる。また、レジスタ６１１と６１２は、信号線４１１を通じて読み書きが可能である。
【００４６】
６２０は不正アドレスアクセス遮断部であり、実施例１の３３０と同等であり、信号線６１７の出力が“Ｌ”である場合に、リクエスト制御線５１０をマスクする。これにより、バスマスタデバイス４１０からの不正アドレスアクセスを遮断できる。また、信号線６１７の出力によって信号線６０２をマスクすることにより、不正アドレスアクセスを遮断したことをバスマスタデバイス４１０に通知する。バスマスタデバイス４１０は、当該通知を受けて例外処理等を行う。
【００４７】
このように、バスマスタデバイス４１０、４２０は、必ずシステムバス４００のセレクタを介してスレーブデバイスにアクセスされるため、本発明の不正アドレス遮断回路は、セレクタ制御回路に設けるのみでよく、面積を小さくすることができる。
【００４８】
図８は、本願発明を適用した具体的なプロセッサＰＣの一実施例である。プロセッサＰＣは、プロセッサＰＣの全体を制御する中央処理装置ＣＰＵを備える。中央処理装置ＣＰＵ内に含まれるＭＭＵは、ＣＰＵコア内の仮想アドレスから物理アドレスへの変換を行うと共に不正アドレスアクセスを遮断する機能を有する。本実施例におけるプロセッサＰＣにおいて中央処理装置ＣＰＵ、ダイレクトメモリアクセスコントローラＤＭＡＣ、及び画像処理専用ＩＰ（デバイス）ＭＰＥＧ４、音声専用処理ＩＰ（デバイス）ＭＰ３がバスマスタデバイスを構成する。プロセッサＰＣによる外部アクセスは、内部バスＩＢＵＳを介して前記バスステートコントローラ５に接続された外部バスインタフェース回路ＥＸＩＦで行う。外部バスインタフェース回路ＥＸＩＦは外部メモリＭＥＭに接続される。また、バスステートコントローラＢＳＣからは、外部に設けられるところのメモリＭＥＭに対するストローブ信号ＲＡＳ、ＣＡＳ及びライトイネーブル信号ＷＥ等が出力される。
【００４９】
プロセッサＰＣは、内部バスＩＢＵＳに接続された内蔵周辺回路として、クロックパルスジェネレータＣＰＧ、割り込み制御回路ＩＮＴＣ、シリアルコミュニケーションインタフェースコントローラＳＣＩ、リアルタイムクロック回路ＲＴＣ及びタイマＴＭＵを有する。それら周辺回路は前記内部バスＩＢＵＳを介して中央処理装置ＣＰＵ又はダイレクトメモリアクセスコントローラＤＭＡＣ、画像専用処理デバイスＭＰＥＧ４、音声専用処理デバイスＭＰ３によってアクセスされる。また、前記クロックパルスジェネレータＣＰＧからは、システムクロックに同期したクロック信号が出力される。このプロセッサＰＣは、このシステムクロック信号に同期して、例えば外部からデータを取り込む等の動作を行う。
【００５０】
前記バスステートコントローラＢＳＣは、中央処理装置ＣＰＵやダイレクトメモリアクセスコントローラＤＭＡＣによるアクセス対象回路（アクセス対象とされるアドレスエリア）に応じて、アクセスデータサイズ、アクセスタイム、ウェイトステートを決定し、外部メモリＭＥＭに対するバスアクセスを制御する。更にバスステートコントローラＢＳＣは、ダイレクトメモリアクセスコントローラＤＭＡＣ及び外部からのバス使用要求の競合を調停する。
【００５１】
ここで、内部バスＩＢＵＳは、バス形式である。従って、バスマスタデバイスである中央処理装置ＣＰＵ及び画像専用処理デバイスＭＰＥＧ４、音声専用処理デバイスＭＰ３及びダイレクトメモリアクセスコントローラＤＭＡＣには、本発明である不正アクセス遮断回路ＩＡＢＵが設けられる。これにより少ない回路量で不正アドレスアクセスの遮断を実現でき、ソフトウェアのバグ等による製品不良の防止、早期発見を期待できる。なお、内部バスＩＢＵＳをスイッチ形式にした場合、内部バスＩＢＵＳに不正アクセス遮断回路を設けることで不正アクセスを防止でき、ダイレクトアクセスメモリコントローラＤＭＡＣ等には不正アクセス遮断回路を設ける必要はなく、更に面積を小さくすることが出来る。
【００５２】
また、近年の回路設計では、各デバイス（ＣＰＵやＤＭＡＣ等）を予め回路設計してＩＰとして設計ツールに登録しておき、回路設計時に登録されたデバイスのうち製品として必要なデバイスを設計ツール上で組み合わせることで一つのＬＳＩの回路を設計している。この場合、本願発明の不正アドレス遮断回路を一つのＩＰとして設計ツール等に登録しておき、各デバイスとシステムバスとの間に登録した不正アドレス遮断回路を接続することで容易に実現することができる。
【００５３】
図９は、本願発明を適用したプロセッサの第２の実施例である。図８と異なることは、内部バスＩＢＵＳと分離して周辺回路が接続される周辺バスＰＢＵＳを設けたことである。内部バスＩＢＵＳと周辺ＢＵＳは、バスステートコントローラＢＳＣを介して接続される。このように構成することにより、スレーブデバイスである周辺回路は、ダイレクトメモリアクセスコントローラＤＭＡＣを含むバスステートコンローラＢＳＣを介してバスマスタデバイスに接続されている。図８におけるプロセッサＰＣでは、内部バスＩＢＵＳを介して直接周辺回路にアクセスする構成となっているため、不正アクセス遮断回路は、夫々のバスマスタデバイスの中にスレーブデバイス毎に設ける必要があるが、本実施例では、周辺回路がバスステートコントローラを介してバスマスタデバイスと接続されているため、不正アクセス遮断回路をバスステートコントローラ内に集約することができ、図８に対してプロセッサＰＣの面積を小さくすることが可能となる。
【００５４】
以上、実施例に基づいて本願発明を説明してきたが、本願の目的の範囲を外れない範囲で種々の変更が可能である。例えば、アドレス範囲を指定するレジスタを設けずにハードワイヤードで構成しても良い。
【符号の説明】
【００５５】
１００…システムバス
１１０、１２０…バスマスタデバイス
１３０…スレーブデバイス
１１３、１２３…不正アドレスアクセス遮断機構
３２０…不正アドレスアクセス検知部
３３０…不正アドレスアクセス遮断部
３２１、３２２…アクセス許可範囲設定レジスタ
３２３、３２４…比較器
４００…システムバス
４１０、４２０…バスマスタデバイス
４３０…スレーブデバイス
５４０…リクエスト信号セレクタ制御回路
６００…アドレスデコーダ
６１０…不正アドレスアクセス検知部
６２０…不正アドレスアクセス遮断部
６１１、６１２…アクセス許可範囲設定レジスタ
６１３、６１４…比較器
ＣＰＵ…中央処理装置
ＭＰＥＧ１、２…画像専用処理装置
ＢＳＣ…バスステートコントローラ
ＤＭＡＣ…ダイレクトメモリアクセスコントローラ
ＷＤＴ…ウォッチドックタイマ
ＩＮＴＣ…割り込み制御回路、
ＳＣＩ、ＳＣＩＦ…シリアルインターフェースコミュニケーションコントローラ
ＴＭＵ…タイマ
ＲＴＣ…リアルタイムクロック
ＣＰＧ…クロックパルスジェネレータ
ＥＸＩＦ…外部メモリインターフェース
ＭＥＭ…外部メモリ
ＭＭＵ…メモリマネジメントユニット
ＩＡＢＵ…不正アドレスアクセス遮断回路
ＩＢＵＳ…内部バス
ＰＢＵＳ…周辺バス
【図１】
0005630886.tif 000002
【図２】
0005630886.tif 000003
【図３】
0005630886.tif 000004
【図４】
0005630886.tif 000005
【図５】
0005630886.tif 000006
【図６】
0005630886.tif 000007
【図７】
0005630886.tif 000008
【図８】
0005630886.tif 000009
【図９】
0005630886.tif 000010
【図１０】
0005630886.tif 000011
【図１１】
0005630886.tif 000012