(57)【要約】【課題】１つのＤＭＡコントローラが複数の処理手段に共用されるようになっているマイクロコンピュータにおいて、異なる処理手段に割り当てられた記憶領域同士の間でＤＭＡ転送が行われてしまう誤アクセスを防止する。【解決手段】１つのＤＭＡコントローラ３７が２つのプロセッサエレメント（ＰＥ）１，２に共用されるマイコン４０には、記憶領域のうち、どの記憶領域がどのＰＥに割り当てられているかを示す割当テーブルを記憶するレジスタ４１が設けられている。そして、ＤＭＡコントローラ３７は、ＤＭＡ要求を受けると、その要求が示すデータ転送元の記憶領域が割り当てられているＰＥと、その要求が示すデータ転送先の記憶領域が割り当てられているＰＥとを、上記割当テーブルから特定して、その特定した両方のＰＥが一致していないと判定した場合には、データの転送処理（ＤＭＡ転送）を実施しないようになっている。【選択図】図１
2012164253.tif 000002
【特許請求の範囲】
【請求項１】
各々が複数の各プログラムを実行することで別々の処理を行う複数の処理手段と、
データが記憶される記憶領域を複数有するデータ記憶手段と、
データ転送元の記憶領域とデータ転送先の記憶領域とを示すデータ転送要求が、前記各処理手段の何れかによって出されると、前記データ記憶手段の記憶領域のうち、前記データ転送要求が示すデータ転送元の記憶領域から、前記データ転送要求が示すデータ転送先の記憶領域へ、データを転送するＤＭＡコントローラと、
を備えたマイクロコンピュータであって、
前記データ記憶手段の記憶領域のうち、どの記憶領域がどの処理手段に割り当てられているかを示す割当情報を記憶する割当情報記憶手段を備え、
前記ＤＭＡコントローラが、前記割当情報記憶手段に記憶されている前記割当情報を読み取り可能となっていること、
を特徴とするマイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータにおいて、
前記ＤＭＡコントローラは、
前記データ転送要求が前記各処理手段の何れかによって出されると、当該データ転送要求が示すデータ転送元の記憶領域が割り当てられている処理手段と、当該データ転送要求が示すデータ転送先の記憶領域が割り当てられている処理手段とを、前記割当情報から特定して、その特定した両方の処理手段が一致しているか否かを判定し、その両方の処理手段が一致していないと判定した場合には、データの転送処理を行わないこと、
を特徴とするマイクロコンピュータ。
【請求項３】
請求項２に記載のマイクロコンピュータにおいて、
前記ＤＭＡコントローラは、
前記両方の処理手段が一致していないと判定した場合には、前記データ転送要求を出した処理手段へ、エラーの通知を行うこと、
を特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータに関するものである。
【背景技術】
【０００２】
マイクロコンピュータ（以下、マイコンとも言う）としては、処理能力を向上させるために、複数のプロセッサを備えたマルチプロセッサマイコンが実用化されている。
そして、マルチプロセッサマイコンにおいては、各プロセッサが記憶装置に直接アクセスする際に、他のプロセッサに割り当てられているデータ領域に上書きしてしまう（延いては、他のプロセッサが使用するデータを破壊してしまう）、というプロセッサ間のデータ干渉が起こらないようにするための、メモリ管理装置を設けることが提案されている（例えば、特許文献１参照）。
【０００３】
ここで、そのようなメモリ管理装置を備えたマルチプロセッサマイコンの構成例について、図３を用いて説明する。
図３に例示するマイコン１００は、２つのプロセッサエレメント（以下、ＰＥとも記す）１，２と、２つのＰＥ１，２が共用するメモリ１０と、複数のペリフェラル（Ｐｅｒｉｐｈｅｒａｌ：周辺機器）２１，２２，…と、それらを相互に接続するバス３１とを備えている。
【０００４】
メモリ１０はＲＡＭであり、そのメモリ１０の記憶領域としては、ＰＥ１だけに割り当てられた記憶領域１１と、ＰＥ２だけに割り当てられた記憶領域１２とがある。つまり、記憶領域１１へのアクセスはＰＥ１だけが許されており、記憶領域１２へのアクセスはＰＥ２だけが許されている。
【０００５】
ペリフェラル２１，２２，…は、例えば通信装置やＡＤ変換器やタイマ装置といった、ＰＥ１，２からみた周辺機器である。そして、各ペリフェラル２１，２２，…は、各々にアドレスが付与された記憶装置（この例ではレジスタ）を有しており、ＰＥ１，２から見れば、メモリ１０と同様に、アドレスが付与された記憶装置であり記憶領域でもある。
【０００６】
例えば、ペリフェラル２１が、マイコン１００の外部装置（例えばＩＣ）と通信するための通信装置であるとすると、そのペリフェラル２１は、送信データが格納される送信データ用レジスタと、受信データが格納される受信データ用レジスタとを有する。そして、ＰＥ１，２の何れかが、そのペリフェラル２１の送信データ用レジスタにデータを書き込めば、そのデータが当該マイコン１００の外部装置へ送信されることとなり、ＰＥ１，２の何れかは、ペリフェラル２１の受信データ用レジスタから、外部装置からの受信データを読み込むことができる。また例えば、ペリフェラル２２が、ＡＤ変換器であるとすると、そのペリフェラル２２は、ＡＤ変換結果のデータが格納されるレジスタを有する。そして、ＰＥ１，２の何れかは、そのペリフェラル２２のレジスタからデータを読み込むことで、ＡＤ変換結果を取得することができる。
【０００７】
そして、この例のマイコン１００において、ペリフェラル２１はＰＥ１に割り当てられており、ペリフェラル２２はＰＥ２に割り当てられている。換言すれば、ペリフェラル２１へのアクセス（詳しくは、ペリフェラル２１のレジスタへのアクセス）は、ＰＥ１だけが許されており、ペリフェラル２２へのアクセス（詳しくは、ペリフェラル２２のレジスタへのアクセス）は、ＰＥ２だけが許されている。
【０００８】
ここで、ＰＥ１が、ＰＥ２に割り当てられたメモリ１０の記憶領域１２やペリフェラル２２にライトアクセスしてしまうと、ＰＥ２が処理に使用するデータが、ＰＥ１によって上書きされて破壊されるため、ＰＥ２側の処理を正しく行うことができなくなる。同様に、ＰＥ２が、ＰＥ１に割り当てられたメモリ１０の記憶領域１１やペリフェラル２１にライトアクセスしてしまうと、ＰＥ１が処理に使用するデータが、ＰＥ２によって上書きされて破壊されるため、ＰＥ１側の処理を正しく行うことができなくなる。
【０００９】
尚、こうした誤アクセスは、例えばアドレスバスへのアクセス先情報（具体的にはアドレス値）がノイズ等で変化してしまった場合に起こり得る。また、ペリフェラルに対するアクセスは、実際には、ペリフェラル毎に設けられたペリフェラルＩ／Ｏを介して行われるが、そのペリフェラルＩ／Ｏの図示は省略している。
【００１０】
そこで、図３のマイコン１００では、このような誤アクセスによるデータ破壊を防ぐためのメモリ管理装置として、ＭＰＵ（Ｍｅｍｏｒｙ  Ｐｒｏｔｅｃｔｉｏｎ  Ｕｎｉｔ）３３と、ＰＰＵ（Ｐｅｒｉｐｈｅｒａｌ  Ｐｒｏｔｅｃｔｉｏｎ  Ｕｎｉｔ）３５とが設けられている。
【００１１】
ＭＰＵ３３には、メモリ１０における複数の各アドレス範囲に対して、どのＰＥがアクセス権限を持っているか（換言すれば、どのＰＥからのアクセスが許可されているか）を示すアクセス権限情報が記憶されている。そして、ＭＰＵ３３は、ＰＥ１，２の何れかからメモリ１０の何れかのアドレスへのアクセス要求があると、そのアクセス要求を発したＰＥと、アクセス先のアドレスとを特定して、その特定したＰＥによる上記特定したアドレスへのアクセスが許可されているか否かを、当該ＭＰＵ３３に記憶されている上記アクセス権限情報に基づき判定し、許可されていないと判定したならば、アクセス要求を無効にするようになっている。
【００１２】
同様に、ＰＰＵ３５には、ペリフェラル２１，２２，…に付与されている各アドレスに対して、どのＰＥがアクセス権限を持っているかを示すアクセス権限情報が記憶されている。そして、ＰＰＵ３５は、ＰＥ１，２の何れかからペリフェラル２１，２２，…の何れかへのアクセス要求があると、そのアクセス要求を発したＰＥと、アクセス先のアドレス（ペリフェラル）とを特定して、その特定したＰＥによる上記特定したアドレス（ペリフェラル）へのアクセスが許可されているか否かを、当該ＰＰＵ３５に記憶されている上記アクセス権限情報に基づき判定し、許可されていないと判定したならば、アクセス要求を無効にするようになっている。
【００１３】
一方、マイコンにおいては、プロセッサからのデータ転送要求に従って、プロセッサの処理を介すことなく記憶装置へのアクセス処理を行うＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラを設けることにより、処理の効率を向上させることがある（例えば、特許文献２参照）。
【００１４】
そして、マルチプロセッサマイコンにおいて、ＤＭＡの機構を適用する場合、一般には、回路規模及びコストを抑える観点から、プロセッサ毎にＤＭＡコントローラを用意することは考えにくく、図３に示すように、１つのＤＭＡコントローラ３７によって、複数のプロセッサ（ＰＥ１，２）の記憶領域に対するデータ転送処理（ＤＭＡ転送）を行うように構成することとなる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００８−１２３０３１号公報
【特許文献２】特開２００８−１３５８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
ここで、マルチプロセッサマイコンにおいて、１つのＤＭＡコントローラが複数のプロセッサに共用される構成の場合、たとえ、前述のＭＰＵやＰＰＵといったメモリ管理装置が設けられていても、それらには、ＤＭＡコントローラからのアクセスに対する制限機能（データ保護機能）はないため、ＤＭＡコントローラによる意図せぬアクセスによるデータ破壊は防止することができない。
【００１７】
例えば、図３に例示したマイコン１００において、ノイズ等の影響により誤ってＰＥ２が、ＰＥ１に割り当てられたペリフェラル２１に直接アクセスしようとすると、そのアクセスはＰＰＵ３５が防止することとなるが、ＰＥ２がＤＭＡコントローラ３７を介して誤ってペリフェラル２１にアクセスしてしまうと、そのアクセスが行われてしまう。
【００１８】
つまり、各ＰＥ１，２は、本当ならば、自身に割り当てられている記憶領域同士の間でＤＭＡ転送が行われるように、ＤＭＡコントローラ３７に対するＤＭＡ要求として、その要求を成す転送元アドレスと転送先アドレスとの両方が、自身に割り当てられている記憶領域のアドレスとなるＤＭＡ要求を出すはずであるが、ノイズ等の影響により、ＤＭＡコントローラ３７に取得された転送先アドレスが、他のＰＥに割り当てられた記憶領域のアドレスに化けてしまったとすると、異なるＰＥに割り当てられた記憶領域同士の間でデータ転送（ＤＭＡ転送）が行われることととなり、ＰＥ１，２間のデータ干渉を生じさせてしまう。
【００１９】
すると、各ＰＥ１，２の処理の独立性が確保されなくなり、各ＰＥ１，２の処理を正しく行うことができなくなってしまう。特に、各ＰＥ１，２が、何等かの制御対象を制御するための処理を行う場合には、その制御対象を正しく制御することができなくなる。
【００２０】
例えば、ＰＥ１に割り当てられた記憶領域から、ＰＥ２に割り当てられた記憶領域にデータが転送されてしまうと、ＰＥ２が処理に用いるデータが破壊されてしまい、そのＰＥ２側の処理を正しく行うことができなくなる。逆に、ＰＥ２に割り当てられた記憶領域から、ＰＥ１に割り当てられた記憶領域にデータが転送されてしまうと、ＰＥ１が処理に用いるデータが破壊されてしまい、そのＰＥ１側の処理を正しく行うことができなくなる。
【００２１】
本発明は、こうした問題に鑑みなされたものであり、１つのＤＭＡコントローラが複数の処理手段に共用されるようになっているマイクロコンピュータにおいて、異なる処理手段に割り当てられた記憶領域同士の間でＤＭＡ転送が行われてしまう誤アクセスを防止することを目的としている。
【課題を解決するための手段】
【００２２】
請求項１のマイクロコンピュータは、各々が複数の各プログラムを実行することで別々の処理を行う複数の処理手段と、データが記憶される記憶領域を複数有するデータ記憶手段と、複数の処理手段に共用されるＤＭＡコントローラとを備えている。
【００２３】
ＤＭＡコントローラは、データ転送元の記憶領域とデータ転送先の記憶領域とを示すデータ転送要求が、各処理手段の何れかによって出されると、データ記憶手段の記憶領域のうち、データ転送要求が示すデータ転送元の記憶領域から、データ転送要求が示すデータ転送先の記憶領域へ、データを転送する。
【００２４】
そして、このマイクロコンピュータには、データ記憶手段の記憶領域のうち、どの記憶領域がどの処理手段に割り当てられているかを示す割当情報を記憶する割当情報記憶手段が備えられており、ＤＭＡコントローラは、その割当情報記憶手段に記憶されている割当情報を読み取り可能となっている。
【００２５】
このため、ＤＭＡコントローラは、データ転送要求が出された場合に、割当情報記憶手段に記憶されている割当情報を参照することで、データ転送要求が示すデータ転送元の記憶領域が割り当てられている処理手段と、当該データ転送要求が示すデータ転送先の記憶領域が割り当てられている処理手段とが、一致しているか否かを判定することができ、その両方の処理手段が一致していることを確認した上で、データ転送要求を処理する（即ち、データの転送処理を行う）ことで、ＤＭＡ転送による各処理手段間のデータ干渉を防止することができる。つまり、異なる処理手段に割り当てられた記憶領域同士の間でＤＭＡ転送が行われてしまう誤アクセスを防止することができる。
【００２６】
具体的には、請求項２に記載のように、ＤＭＡコントローラは、データ転送要求が各処理手段の何れかによって出されると、当該データ転送要求が示すデータ転送元の記憶領域が割り当てられている処理手段と、当該データ転送要求が示すデータ転送先の記憶領域が割り当てられている処理手段とを、前記割当情報から特定して、その特定した両方の処理手段が一致しているか否かを判定し、その両方の処理手段が一致していないと判定した場合には、データの転送処理を行わないように構成すれば良い。そして、このように構成すれば、１つのＤＭＡコントローラが複数の処理手段に共用されるマイクロコンピュータにおいて、ＤＭＡ転送による各処理手段間のデータ干渉を防いで、各処理手段の処理の独立性を確保することができる。
【００２７】
尚、データ記憶手段は、物理的に１つの記憶装置（例えば複数のアドレスを持つメモリ）であっても良いし、複数の記憶装置からなっていても良い。つまり、トータルで複数の記憶領域を有していれば、物理的な形態としては１つでも複数でも何れでも良い。
【００２８】
また、複数の各処理手段としては、ハードウェア的に別々に設けられた複数の各ＣＰＵ（プロセッサ）であっても良いし、１つのＣＰＵが複数の各プログラムを切り替えて実行することで実現される機能手段であっても良い。後者の場合には、実行されるプログラムを切り替える機構を備えると共に、各プログラムの実行（演算）に必要なレジスタを複数組備えることで、１つのＣＰＵにより複数の各プログラムを仮想的に並列実行するマルチタスクの手法により、各処理手段を実現することができる。
【００２９】
次に、請求項３のマイクロコンピュータでは、請求項２のマイクロコンピュータにおいて、ＤＭＡコントローラは、前記両方の処理手段が一致していないと判定した場合には、データ転送要求を出した処理手段へ、エラーの通知を行うようになっている。
【００３０】
この構成によれば、処理手段は、そのエラー通知により、データ転送要求が拒否されたこと（データ転送が行われなかったこと）を知ることができるため、例えば、データ転送要求を出し直したり、他のエラー発生時用の処理を行ったりすることができる。よって、プログラム処理の信頼性を上げることができる。
【００３１】
ところで、１つのマイコンに複数の制御を実装する場合、各制御処理の保障すべき信頼性レベルは、制御の内容によって異なると考えられる。しかし、各処理手段間のデータ干渉があると、各処理手段が行う処理の独立性が不十分となるため、全ての制御処理の信頼性レベルを、マイコンに実装する制御の中で最高の信頼性レベルが必要なものと同じレベルで保障しなければならない。これに対して、本発明によれば、各処理手段間のデータ干渉を防ぐことができるようになるため、保障すべき信頼性レベル毎に制御を複数の各処理手段に割り振ることにより、処理手段毎に制御処理の信頼性レベルを必要最低限で保障できれば良いようにすることができる。よって、信頼性を保障するためのプログラムの工夫を、必要最低限の簡単なものにすることができる。
【図面の簡単な説明】
【００３２】
【図１】実施形態のマイコンの構成を説明する説明図である。
【図２】ＤＭＡコントローラが行う処理を表すフローチャートである。
【図３】従来技術を説明する説明図である。
【発明を実施するための形態】
【００３３】
以下に、本発明が適用された実施形態のマイコン（マイクロコンピュータ）について説明する。
図１（Ａ）に示すように、実施形態のマイコン４０は、図３に示したマイコン１００と比較すると、下記［１］，［２］の点が異なっている。
【００３４】
尚、本実施形態のマイコン４０も、図３のマイコン１００と同様に、マルチプロセッサマイコンであり、ＰＥ１，２の各々は、別々のＣＰＵからなるプロセッサエレメントである。そして、例えば、ＰＥ１は、図示しないＲＯＭに記憶されているエンジン制御用のプログラムを実行することでハイブリッド車両（ＨＶ）のエンジンを制御するための処理を行う。また、例えば、ＰＥ２は、上記ＲＯＭあるいはそのＲＯＭとは別のＲＯＭに記憶されているパワーマネジメント制御用のプログラムを実行することでハイブリッド車両のパワーマネジメント制御の処理（モータとエンジンの出力を決定したり、モータ／ジェネレータを制御したりする処理）を行う。更に、本実施形態のマイコン４０においても、前述したように、ペリフェラル２１は、マイコン４０の外部装置と通信するための通信装置（更に具体的には、例えば同期シリアル通信装置）であって、ＰＥ１に割り当てられたものであり、ペリフェラル２２は、マイコン４０の外部から入力されるアナログ信号をＡＤ変換するＡＤ変換器であって、ＰＥ２に割り当てられたものである。但し、ＰＥ１，２の制御処理内容やペリフェラルの種類は一例である。
【００３５】
［１］本実施形態のマイコン４０は、レジスタ４１を備えており、そのレジスタ４１の記憶内容は、ＤＭＡコントローラ３７が読み取り可能となっている。尚、レジスタ４１は、ＤＭＡコントローラ３７の外部と内部との何れに設けられても良い。
【００３６】
そして、レジスタ４１には、当該マイコン４０におけるデータ記憶手段の記憶領域のうち、どの記憶領域がどのＰＥに割り当てられているかを示す割当テーブル（割当情報に相当）が記憶されている。
【００３７】
ここで、本実施形態においては、メモリ１０とペリフェラル２１，２２，…が、データ記憶手段に相当しており、メモリ１０の記憶領域と、ペリフェラル２１，２２，…に備えられた記憶装置（レジスタやＲＡＭ等）の記憶領域とが、データ記憶手段の記憶領域に相当している。また、その各記憶領域のうち、バス３１を介してアクセス（ライトアクセス又はリードアクセス）される記憶領域は、バス３１のうちのアドレスバスに出力するアドレスデータによって指定されるようになっている。
【００３８】
そして、レジスタ４１に記憶される割当テーブルは、図１（Ｂ）に示すように、各記憶領域のアドレスと、そのアドレス（詳しくは、そのアドレスが示す記憶領域）が割り当てられているＰＥの識別情報（本実施形態ではＰＥの番号であり、以下、ＰＥ番号とも言う）とを、対応付けて記述したものとなっている。
【００３９】
尚、本実施形態では、ＰＥがＰＥ１とＰＥ２との２つであるため、ＰＥ番号は、“１”又は“２”であるが、図１（Ｂ）及び以下の説明では、分かりやすくするために、ＰＥ番号を、“ＰＥ１”、“ＰＥ２”と記載している。また、図１（Ｂ）において、アドレスを示す文字列の先頭２文字の０ｘは、それより左側の１文字ずつが１６進数を示す文字（０〜Ｆ）であることを意味している。
【００４０】
また更に、本実施形態では、例えば、０ｘ００００から０ｘＥＦＦＦまでのアドレスが、メモリ１０の各記憶領域のアドレスであり、０ｘＦ０００から０ｘＦＦＦＦまでのアドレスのうちの何れかが、ペリフェラル２１，２２，…のアドレスとなっている。そして、図１（Ｂ）において、例えば、「アドレスａ」は、ペリフェラル２１の送信データ用レジスタのアドレスであり、「アドレスｂ」は、ペリフェラル２１の受信データ用レジスタのアドレスであり、「アドレスｃ」は、ペリフェラル２２のアドレス（詳しくは、ＡＤ変換結果が格納されるレジスタのアドレス）であり、「アドレスｄ」は、他のペリフェラルのアドレスである。
【００４１】
一方、割当テーブルは、ＲＯＭへのプログラム書き込み時（最初の書き込み時あるいは書き替え時）や、当該マイコン４０の起動時（リセットスタート時）において、レジスタ４１へ書き込むように構成することができる。
【００４２】
そして、前者の場合には、ＲＯＭにプログラムを書き込むための外部装置から、割当テーブルのデータを送信することで、その割当テーブルがレジスタ４１に書き込まれるように構成することができる。また、後者の場合には、ＭＰＵ３３とＰＰＵ３５とに記憶されている前述のアクセス権限情報から、割当テーブルを作成してレジスタ４１に書き込むように構成することができる。また例えば、マイコン４０の起動要因によって、ＰＥ１，２の各々に割り当てられる記憶領域が変わるのであれば、マイコン４０の起動時において、その時の起動要因に応じた割当テーブルを作成してレジスタ４１に記憶するように構成すれば良い。
【００４３】
［２］ＤＭＡコントローラ３７は、ＰＥ１，２の何れかからＤＭＡ要求（データ転送要求に相当）が出されると、図２の処理を行う。尚、本実施形態において、ＤＭＡ要求は、ＤＭＡ転送を要求する信号であるＤＭＡ要求通知と、データの転送元アドレス（データ転送元の記憶領域のアドレス）と、データの転送先アドレス（データ転送先の記憶領域のアドレス）とからなるが、それらは、同時に出力される形態でも、順次出力される形態でも、何れでも良い。
【００４４】
図２に示すように、ＤＭＡコントローラ３７は、ＤＭＡ要求が出されると（ＤＭＡ要求通知を受け取ると）、そのＤＭＡ要求が示す転送元アドレスと転送先アドレスとを取得する。そして、転送元アドレスの記憶領域が割り当てられているＰＥの番号と、転送先アドレスの記憶領域が割り当てられているＰＥの番号とを、レジスタ４１内の割当テーブルから検索して取得する（Ｓ１１０）。この処理により、転送元アドレスの記憶領域が割り当てられているＰＥと、転送先アドレスの記憶領域が割り当てられているＰＥとが、特定されることとなる。
【００４５】
更に、ＤＭＡコントローラ３７は、上記取得した２つのＰＥ番号が同一か否かを、例えばコンパレータにより判定し（Ｓ１２０）、２つのＰＥ番号が同一であれば（Ｓ１２０：ＹＥＳ）、データ干渉を起こさないと判断して、ＤＭＡ転送を実施する（Ｓ１３０）。つまり、ＤＭＡ要求が示す転送元アドレスから転送先アドレスへとデータを転送する。
【００４６】
また、ＤＭＡコントローラ３７は、上記取得した２つのＰＥ番号が同一でない（一致していない）と判定した場合には（Ｓ１２０：ＮＯ）、そのままＤＭＡ転送してしまうと、異なるＰＥに割り当てられた記憶領域同士の間でデータ転送してしまい、転送先アドレスのデータを破壊してしまうため、ＤＭＡ転送（データの転送処理）を実施することなく、ＤＭＡ要求の出力元へエラー通知を行う（Ｓ１４０）。すると、ＤＭＡ要求の出力元は、そのエラー通知により、ＤＭＡ要求が拒否されたこと（即ち、ＤＭＡ転送が行われなかったこと）を知ることとなり、例えば、ＤＭＡ要求を出し直したり、他のエラー発生時用の処理を行ったりする。
【００４７】
次に、このようなマイコン４０の作用について、具体例を挙げて説明する。
この具体例では、ＰＥ１から、ペリフェラル２１（同期シリアル通信装置）で受信されたデータであって、前述の「アドレスｂ」に格納されているデータを、メモリ１０のアドレスのうち、ＰＥ１に割り当てられている記憶領域１１の「アドレスＢ」にＤＭＡ転送する、というＤＭＡ要求が出されたとする。
【００４８】
すると、ＤＭＡコントローラ３７は、そのＰＥ１からのＤＭＡ要求を受け取って、そのＤＭＡ要求が示す転送元アドレスと転送先アドレスとを取得する。
そして、ＤＭＡコントローラ３７は、レジスタ４１に格納されている割当テーブルを参照して、転送元アドレス（正常ならばアドレスｂ）の記憶領域が割り当てられているＰＥの番号（正常ならば“ＰＥ１”であり、ここではＰＥＮｏ＿Ｘであるとする）と、転送先アドレス（正常ならばアドレスＢ）の記憶領域が割り当てられているＰＥの番号（正常ならば“ＰＥ１”であり、ここではＰＥＮｏ＿Ｙであるとする）とを取得する。
【００４９】
そして更に、ＤＭＡコントローラ３７は、その取得した２つのＰＥ番号ＰＥＮｏ＿Ｘ，ＰＥＮｏ＿Ｙを比較し、両方のＰＥ番号ＰＥＮｏ＿Ｘ，ＰＥＮｏ＿Ｙが一致していれば、アドレスｂからアドレスＢへのＤＭＡ転送を行う。つまり、アドレスｂからデータを読み出して、そのデータをアドレスＢに書き込む。
【００５０】
また、ＤＭＡコントローラ３７が取得した転送元アドレスと転送先アドレスとの何れかが、ノイズ等の影響により、ＰＥ２に割り当てられた記憶領域のアドレスに化けてしまった場合には、上記２つのＰＥ番号ＰＥＮｏ＿Ｘ，ＰＥＮｏ＿Ｙは一致しなくなる。すると、その場合、ＤＭＡコントローラ３７は、ＤＭＡ転送を実施せずに、ＰＥ１に対してエラー通知を行うこととなる。
【００５１】
よって、ＰＥ１がエンジン制御に用いるデータを、ＰＥ２に割り当てられた記憶領域に上書きしてしまい、ＰＥ２がパワーマネジメント制御に用いるデータを破壊してしまうことや、逆に、ＰＥ２がパワーマネジメント制御に用いるデータを、ＰＥ１に割り当てられた記憶領域に上書きしてしまい、ＰＥ１がエンジン制御に用いるデータを破壊してしまうことを防止することができる。
【００５２】
そして、以上のようなマイコン４０によれば、異なるＰＥに割り当てられた記憶領域同士の間でＤＭＡ転送が行われてしまう誤アクセス（換言すれば、ＤＭＡ転送によるＰＥ間のデータ干渉）を防止して、各ＰＥの制御処理の独立性を確保することができる。
【００５３】
尚、本実施形態では、ＰＥ１，ＰＥ２の各々が処理手段に相当し、また、既述したように、メモリ１０とペリフェラル２１，２２，…がデータ記憶手段に相当している。そして、レジスタ４１が割当情報記憶手段に相当し、割当テーブルが割当情報に相当している。
【００５４】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【００５５】
例えば、ＰＥ１，２の各々が、メモリ１０とペリフェラル２１，２２，…に直接アクセス（ＤＭＡコントローラ３７を介さずにアクセス）しないのであれば、ＭＰＵ３３とＰＰＵ３５は設けなくても良い。
【００５６】
また、割当テーブルを記憶する記憶手段としては、レジスタ４１に限らず、例えばＲＡＭや書き替え可能なＲＯＭや書き替え不能なＲＯＭを用いても良い。
また、ＰＥ１，２の各々は、１つのＣＰＵが複数の各プログラムを切り替えて実行することで実現される機能手段であっても良い。
【００５７】
また、ＰＥの数は３つ以上でも良い。
【符号の説明】
【００５８】
１，２…プロセッサエレメント（ＰＥ）、１０…メモリ、２１，２２…ペリフェラル
３１…バス、３３…ＭＰＵ（Ｍｅｍｏｒｙ  Ｐｒｏｔｅｃｔｉｏｎ  Ｕｎｉｔ）
３５…ＰＰＵ（Ｐｅｒｉｐｈｅｒａｌ  Ｐｒｏｔｅｃｔｉｏｎ  Ｕｎｉｔ）
３７…ＤＭＡコントローラ、４０…マイコン、４１…レジスタ
【図１】
2012164253.tif 000003
【図２】
2012164253.tif 000004
【図３】
2012164253.tif 000005