(57)【要約】【課題】第１の処理手段が第２の処理手段によって記憶手段に書き込まれたデータを用いて所定の処理を行うようになっているマイコンにおいて、処理効率を向上させると共に、第１の処理手段が上記データを誤って書き替えてしまうことを防止する。【解決手段】２つのＰＥ（プロセッサエレメント）１，２を備えるマイコン４０では、ＰＥ２からＰＥ１へ、記憶手段としてのＲＡＭ４１を介してデータが供給されるが、そのＲＡＭ４１は、ＰＥ１とＰＥ２との各々から別々にアクセスされる２つのバンクを有した２バンク構成のＲＡＭであり、更に、そのＲＡＭ４１では、ＰＥ１からアクセスされるバンクとＰＥ２からアクセスされるバンクとが、ＰＥ１からの選択信号によって切り替わるようになっていると共に、各バンクとも、ＰＥ１からはリードアクセスのみ可能で、ＰＥ２からはライトアクセス及びリードアクセスが可能になっている。【選択図】図１
2012164144.tif 000002
【特許請求の範囲】
【請求項１】
各々が複数の各プログラムを実行することで別々の処理を行う第１の処理手段及び第２の処理手段と、
前記第２の処理手段によって所定のデータが書き込まれるデータ授受用の記憶手段と、を備え、
前記第１の処理手段は、前記記憶手段から前記データを読み出し、該読み出したデータを用いて所定の処理を行う、ようになっているマイクロコンピュータであって、
前記記憶手段は、
前記第１の処理手段と前記第２の処理手段との各々から別々にアクセスされる２つのバンクを有した２バンク構成のメモリであって、前記第１の処理手段からアクセスされるバンクと前記第２の処理手段からアクセスされるバンクとが、前記第１の処理手段又は前記第２の処理手段からの指示によって切り替わるようになっていると共に、前記各バンクとも、前記第１の処理手段からはリードアクセスのみ可能で、前記第２の処理手段からは少なくともライトアクセスが可能なメモリであること、
を特徴とするマイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータにおいて、
前記記憶手段は、前記第１の処理手段からアクセスされるバンクと前記第２の処理手段からアクセスされるバンクとが、前記第１の処理手段からの指示によって切り替わるようになっており、
前記第１の処理手段は、前記所定の処理を開始する前に、当該第１の処理手段からアクセスされるバンクと前記第２の処理手段からアクセスされるバンクとを切り替えて、前記各バンクのうち当該第１の処理手段からアクセス可能な方のバンクから、前記データを読み出すこと、
を特徴とするマイクロコンピュータ。
【請求項３】
請求項１に記載のマイクロコンピュータにおいて、
前記記憶手段は、前記第１の処理手段からアクセスされるバンクと前記第２の処理手段からアクセスされるバンクとが、前記第２の処理手段からの指示によって切り替わるようになっており、
前記第２の処理手段は、前記記憶手段への前記データの書き込みを完了すると、前記第１の処理手段からアクセスされるバンクと当該第２の処理手段からアクセスされるバンクとを切り替えること、
を特徴とするマイクロコンピュータ。
【請求項４】
請求項１ないし請求項３の何れか１項に記載のマイクロコンピュータにおいて、
前記第２の処理手段は、当該マイクロコンピュータの外部から取り込んだ情報を示すデータを、前記記憶手段の各バンクのうち当該第２の処理手段からアクセス可能な方のバンクに書き込む処理を行い、
前記第１の処理手段は、前記所定の処理として、所定の制御対象を制御するための処理を行うこと、
を特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータに関するものである。
【背景技術】
【０００２】
マイクロコンピュータ（以下、マイコンとも言う）としては、処理能力を向上させるために、複数のプロセッサを備えたマルチプロセッサマイコンが実用化されている。
そして、マルチプロセッサマイコンにおいては、プロセッサ毎に別々の処理を割り当て、何れかのプロセッサが、他のプロセッサによる処理結果を用いて、自身に割り当てられた処理を行うようにすることが考えられる。つまり、プロセッサ間でデータの授受を行う。
【０００３】
ここで、そのようなマルチプロセッサマイコンの構成例について、図５を用いて説明する。
図５（ａ）に例示するマイコン１００は、２つのプロセッサエレメント（以下、ＰＥとも記す）１，２と、メモリ１１と、複数（この例では３つ）のペリフェラル（Ｐｅｒｉｐｈｅｒａｌ：周辺機器）２１，２２，２３と、ＰＥ１とメモリ１１とを接続するバス（複数のデータ線、アドレス線、及び制御線かなる配線群）３１と、ＰＥ２とペリフェラル２１，２２，２３とを接続するバス３２と、ＰＥ１，２からの要求に従って、メモリ１１とペリフェラル２１，２２，２３間やメモリ１１における記憶領域間等でのデータ転送処理を行うＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ３３と、を備えている。
【０００４】
メモリ１１は、ＲＡＭであり、ペリフェラル２１，２２，２３の各々は、例えば、マイコン１００の外部から入力される情報を当該マイコン１００内に取り込むための、信号入力装置やＡＤ変換器や通信装置である。また、各ペリフェラル２１，２２，２３は、各々にアドレスが付与された記憶装置（例えばレジスタ）を有しており、アクセスする側から見れば、メモリ１１と同様に、アドレスが付与された記憶装置であり記憶領域でもある。尚、図５において、ペリフェラル（Ａ），（Ｂ），（Ｃ）の各々は、ペリフェラル２１，２２，２３のことであり、このことは、後述する他の図においても同様である。
【０００５】
そして、図５（ｂ）に示すように、ＰＥ２は、ペリフェラル２１，２２，２３の各々について、そのペリフェラルからメモリ１１の所定領域であるデータ授受用領域にデータを転送するためのモニタ処理を、定期的に行う。この図５の例では、ＰＥ２は、ＤＭＡコントローラ３３に対して、データの転送元と転送先とを示すＤＭＡ要求を出すことにより、その転送元から転送先へとデータを転送（ＤＭＡ転送）させる。
【０００６】
また、ＰＥ１は、例えば定期的に、メモリ１１の上記データ授受用領域からデータ（即ち、ＰＥ２によって書き込まれたペリフェラル２１〜２３からの各データ）を読み出すと共に、そのデータを用いて所定の演算処理を行う。尚、図５（ｂ）及び以下のマイコン１００に関する説明において、「ＰＥ１側処理」とは、メモリ１１のデータ授受用領域からデータを読み出す処理と、その読み出したデータを用いた所定の演算処理とを含む処理のことである。
【０００７】
そして、このような手順により、ＰＥ２側からＰＥ１側へ、ＰＥ１側での処理に必要なデータが供給される。
ところで、図５のマイコン１００において、例えばＰＥ１がメモリ１１のデータ授受用領域に誤ってライトアクセスしてしまうと、そのデータ授受用領域のデータ（ＰＥ２から供給されたデータ）が上書きされて破壊されるため、ＰＥ１側の演算処理を正しく行うことができなくなる。尚、こうした誤アクセス（意図せぬアクセス）は、例えばアドレスバスへのアクセス先情報（具体的にはアドレス値）がノイズ等で変化してしまった場合に起こり得る。
【０００８】
そこで、図５のマイコン１００では、このような誤アクセスによるデータ破壊を防ぐためのメモリ管理装置として、ＭＰＵ（Ｍｅｍｏｒｙ  Ｐｒｏｔｅｃｔｉｏｎ  Ｕｎｉｔ）３５が設けられている。
【０００９】
ＭＰＵ３５には、メモリ１１における複数の各アドレス範囲に対して、どのＰＥがどのような種類のアクセス権限（リードかライトか等）を持っているかを示すアクセス権限情報が記憶されている。そして、ＭＰＵ３５は、ＰＥ１，２の何れかからメモリ１１へのアクセス要求があると、そのアクセス要求を発したＰＥと、要求内容と、アクセス先のアドレスとを特定して、その特定したＰＥによる上記特定したアドレスへの上記要求内容のアクセスが許可されているか否かを、上記アクセス権限情報に基づき判定し、許可されていないと判定したならば、アクセス要求を無効にするようになっている。このため、例えば、ＰＥ１がメモリ１１の上記データ授受用領域にデータを書き込もうとしても、その書き込みのためのライトアクセスはＭＰＵ３５によって無効化される。尚、このようなメモリ管理装置については、例えば特許文献１に記載されている。
【００１０】
次に、マルチプロセッサマイコンの他の構成例について、図６を用いて説明する。尚、図６において、図５と同じ構成要素については同一の符号を付しているため、説明を省略する。
【００１１】
図６（ａ）に例示するマイコン１０２は、ＤＭＡコントローラ３３の代わりに、ＰＥ１とＰＥ２とで共有される共有ＲＡＭ３９を備えている。
そして、このマイコン１０２においては、図６（ｂ）に示すように、ＰＥ２が、ペリフェラル２１，２２，２３の各々について、そのペリフェラルから共有ＲＡＭ３９の所定領域であるデータ授受用領域にデータを転送するためのモニタ処理を、定期的に行う。具体的には、ＰＥ２は、ペリフェラル２１〜２３の各々からデータを読み出し、そのデータを共有ＲＡＭ３９のデータ授受用領域に書き込む。
【００１２】
また、共有ＲＡＭ３９は、ＰＥ１からもアクセス可能である。そして、ＰＥ１は、例えば定期的に、共有ＲＡＭ３９のデータ授受用領域からデータ（即ち、ＰＥ２によって書き込まれたペリフェラル２１〜２３からの各データ）を読み出すと共に、そのデータを用いて所定の演算処理を行う。尚、図６（ｂ）及び以下のマイコン１０２に関する説明において、「ＰＥ１側処理」とは、共有ＲＡＭ３９のデータ授受用領域からデータを読み出す処理と、その読み出したデータを用いた所定の演算処理とを含む処理のことである。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００８−１２３０３１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
図５のマイコン１００において、ＰＥ２によりＤＭＡコントローラ３３を介してメモリ１１のデータ授受用領域にデータを転送している間は、ＰＥ１側のバス３１が占有されるため、ＰＥ１は、メモリ１１からデータを読み出すことができず、延いては、ＰＥ２から供給されるデータを用いた処理を開始することができない。
【００１５】
このため、図５のマイコン１００では、ＰＥ１側処理の実行タイミングを、ＰＥ２によるメモリ１１へのデータ転送期間を避けて設定しなければならず、そのＰＥ１側処理の実行タイミングに制約が生じることとなり、処理効率を十分に上げることができないという問題がある。そして、この問題は、データ転送に要する時間が長い場合ほど顕著になる。
【００１６】
また、前述したＭＰＵ３５のようなメモリ管理装置には、ＤＭＡコントローラからのアクセスに対する制限機能（データ保護機能）はないため、ＤＭＡコントローラを介した誤アクセスによるデータ破壊は防止することができない。例えば、図５のマイコン１００において、ノイズ等の影響により、誤って、ＰＥ１からＤＭＡコントローラ３３に、メモリ１１のデータ授受用領域へのデータ転送を指示するＤＭＡ要求が出てしまうと、ＤＭＡコントローラ３３は、そのデータ授受用領域にライトアクセスすることとなるが、そのような誤ったライトアクセス（ＤＭＡコントローラ３３を介した誤アクセス）は許可されてしまう。
【００１７】
一方、図６のマイコン１０２においても、ＰＥ２が共有ＲＡＭ３９のデータ授受用領域にデータを書き込んでいる間は、ＰＥ１は、その共有ＲＡＭ３９のデータ授受用領域からデータを読み出すことができず、延いては、ＰＥ２から供給されるデータを用いた処理を開始することができない。このため、図５のマイコン１００と同様に、ＰＥ１側処理の実行タイミングに制約が生じることとなり、処理効率を十分に上げることができない。
【００１８】
また、図６のマイコン１０２において、共有ＲＡＭ３９は、そもそもＰＥ１，２の各々から同じようにアクセスされることを想定したものであるため、誤アクセスによるデータ破壊を防ぐことができない。つまり、共有ＲＡＭ３９のデータ授受用領域にＰＥ１が誤ってライトアクセスしてしまうと、ＰＥ２からＰＥ１に供給されたデータを破壊してしまうこととなる。
【００１９】
本発明は、こうした問題に鑑みなされたものであり、第１の処理手段が第２の処理手段によって記憶手段に書き込まれたデータを用いて所定の処理を行うようになっているマイコンにおいて、処理効率を向上させると共に、第１の処理手段が上記データを誤って書き替えてしまうことを防止すること、を目的としている。
【課題を解決するための手段】
【００２０】
請求項１のマイクロコンピュータは、各々が複数の各プログラムを実行することで別々の処理を行う第１の処理手段及び第２の処理手段と、第２の処理手段によって所定のデータが書き込まれるデータ授受用の記憶手段と、を備えている。そして、第１の処理手段は、前記記憶手段から前記所定のデータを読み出し、その読み出したデータを用いて所定の処理を行う。
【００２１】
そして特に、このマイクロコンピュータにおいて、データ授受用の記憶手段は、第１の処理手段と第２の処理手段との各々から別々にアクセスされる２つのバンクを有した２バンク構成のメモリであって、第１の処理手段からアクセスされるバンクと第２の処理手段からアクセスされるバンクとが、第１の処理手段又は第２の処理手段からの指示によって切り替わるようになっていると共に、各バンクとも、第１の処理手段からはリードアクセスのみ可能で、第２の処理手段からは少なくともライトアクセスが可能なメモリ（以下、２バンクメモリという）である。尚、リードアクセスのみ可能とは、リードアクセスとライトアクセスとのうちで、リードアクセスだけが可能（ライトアクセスは不能）ということである。
【００２２】
この構成によれば、第２の処理手段は、２バンクメモリに所定のデータを書き込む処理を行えば、その所定のデータは、２バンクメモリの各バンクのうちで、そのとき（書き込み処理の実施時）に当該第２の処理手段からアクセス可能となっている方のバンクに書き込まれることとなり、その書き込まれたデータが、最新のデータとなる。
【００２３】
そして、第２の処理手段が２バンクメモリにデータを書き込んでいる最中以外のタイミングにて、第１の処理手段又は第２の処理手段が２バンクメモリのバンク切り替え（即ち、第１の処理手段からアクセスされるバンクと第２の処理手段からアクセスされるバンクとを切り替えること）を行うようにすれば、第１の処理手段は、そのバンク切り替えのタイミングとは異なる任意のタイミングで２バンクメモリから所定のデータを読み出す処理を行うことにより、各バンクのうち当該第１の処理手段からアクセス可能な方のバンクから、第２の処理手段により書き込まれたデータ（バンク切り替えが行われた時点での最新データ）を読み出すことができる。
【００２４】
よって、このようなマイクロコンピュータによれば、第１の処理手段は、第２の処理手段が２バンクメモリの一方のバンクにデータを書き込んでいる最中であっても、２バンクメモリの他方のバンクから、書き込み済みの最新データを読み込んで、そのデータを用いた所定の処理を行うことができる。このため、例えば、第１の処理手段における所定の処理を、第２の処理手段によるデータ書き込みが完了するまで待ってから開始させる、といった処置をする必要がなくなり、処理効率を向上させることができる。
【００２５】
しかも、第１の処理手段は、２バンクメモリに対してはリードアクセスしかできないため、第２の処理手段が２バンクメモリに書き込んだ所定のデータを第１の処理手段が誤って書き替えてしまうことを、確実に防止することができる。よって、処理の信頼性を確保することができる。
【００２６】
ところで、２バンクメモリのバンク切り替えが第１の処理手段からの指示によって行われるように構成した場合には、請求項２に記載のように、第１の処理手段は、前記所定の処理を開始する前に、当該第１の処理手段からアクセスされるバンクと第２の処理手段からアクセスされるバンクとを切り替えて（即ちバンク切り替えを行って）、各バンクのうち当該第１の処理手段からアクセス可能な方のバンクから、前記データを読み出すように構成することができる。そして、このようにすれば、第１の処理手段は、第２の処理手段が書き込んだ最新のデータを用いて所定の処理を行うことができるようになる。
【００２７】
また、２バンクメモリのバンク切り替えが第２の処理手段からの指示によって行われるように構成した場合には、請求項３に記載のように、第２の処理手段は、記憶手段（２バンクメモリ）へのデータの書き込みを完了すると、第１の処理手段からアクセスされるバンクと当該第２の処理手段からアクセスされるバンクとを切り替える（即ちバンク切り替えを行う）ように構成することができる。そして、このようにしても、第１の処理手段は、第２の処理手段が書き込んだ最新のデータを用いて所定の処理を行うことができるようになる。
【００２８】
尚、第１と第２の各処理手段としては、ハードウェア的に別々に設けられた２つの各ＣＰＵ（プロセッサ）であっても良いし、１つのＣＰＵが複数の各プログラムを切り替えて実行することで実現される機能手段であっても良い。後者の場合には、実行されるプログラムを切り替える機構を備えると共に、各プログラムの実行（演算）に必要なレジスタを複数組備えることで、１つのＣＰＵにより複数の各プログラムを仮想的に並列実行するマルチタスクの手法により、各処理手段を実現することができる。
【００２９】
また、請求項４に記載のように、第２の処理手段は、当該マイクロコンピュータの外部から取り込んだ情報を示すデータを、記憶手段（２バンクメモリ）の各バンクのうち当該第２の処理手段からアクセス可能な方のバンクに書き込む処理を行うように構成することができ、第１の処理手段は、前記所定の処理として、所定の制御対象を制御するための処理を行うように構成することができる。そして、この構成によれば、第１の処理手段は、当該マイクロコンピュータの外部から取り込んだ情報を示すデータを用いて、所定の制御対象を制御するための処理を、確実に行うことができるようになる。
【図面の簡単な説明】
【００３０】
【図１】実施形態のマイコンの構成及び作用を説明する説明図である。
【図２】２バンク構成のＲＡＭを説明する説明図である。
【図３】ＰＥ（プロセッサエレメント）が行うバンク切替の処理を表すフローチャートである。
【図４】他の実施形態を説明する説明図である。
【図５】従来技術を説明する第１の説明図である。
【図６】従来技術を説明する第２の説明図である。
【発明を実施するための形態】
【００３１】
以下に、本発明が適用された実施形態のマイコン（マイクロコンピュータ）について説明する。
図１（ａ）に示すように、本実施形態のマイコン４０は、図６に示したマイコン１０２と比較すると、ハードウェアとしては、共有ＲＡＭ３９に代えて、後述する２バンク構成のＲＡＭ（データ授受用の記憶手段及び前述の２バンクメモリに相当し、以下、２バンクＲＡＭという）４１を備えている点が異なっている。
【００３２】
尚、本実施形態のマイコン４０においても、図６のマイコン１０２と同様に、図５に示したＭＰＵ３５は設けられていない。メモリ１１は、ＰＥ２側からＰＥ１側へのデータ授受用としては用いられず、ＰＥ１だけがアクセスするメモリとなっているからである。そして、メモリ１１には、ＰＥ１による演算結果やＰＥ１が処理に用いる初期値データ等が記憶される。
【００３３】
また、本実施形態のマイコン４０も、図６のマイコン１０２と同様に、マルチプロセッサマイコンであり、ＰＥ１，２の各々は、別々のＣＰＵからなるプロセッサエレメントである。
【００３４】
そして、このマイコン４０は、ハイブリッド車両に搭載される電子制御装置に実装されるものであり、ＰＥ１は、図示しないＲＯＭに記憶されているアプリケーションプログラム（本実施形態では、例えば、エンジン制御用プログラム、メータ制御用プログラム、パワーマネジメント制御用プログラム）を実行することで、ハイブリッド車両のエンジンを制御するための処理や、メータを制御するための処理や、パワーマネジメント制御のための処理（モータとエンジンの出力を決定したり、モータ／ジェネレータを制御したりする処理）を行う。
【００３５】
また、ペリフェラル２１は、例えば、当該マイコン４０の外部から入力されるエンジン回転数のデータを、当該マイコン４０の内部に取り込むための入力装置である。また、ペリフェラル２２は、例えば、当該マイコン４０の外部から入力されるアナログ信号をＡＤ変換するＡＤ変換器であり、マイコン４０へは、そのペリフェラル２３を介して、例えばエンジンの冷却水温などのデータが入力される。また、ペリフェラル２３は、例えば、マイコン４０の外部装置と通信するための通信装置であり、マイコン４０へは、そのペリフェラル２３を介して、例えばバッテリの充電状態などを表すデータが入力される。
【００３６】
そして、ＰＥ２は、図示しないＲＯＭに記憶されているプログラムを実行することにより、ペリフェラル２１〜２３の各々についてのモニタ処理を行う。そのモニタ処理とは、ペリフェラルからデータを読み出して２バンクＲＡＭ４１に書き込む処理である（図１（ｂ）参照）。
【００３７】
ここで、２バンクＲＡＭ４１は、ＰＥ１，２の各々から別々にアクセスされる２つのバンクであって、同じアドレス空間の２つのバンクを有している。更に、２バンクＲＡＭ４１では、ＰＥ１からアクセスされるバンクとＰＥ２からアクセスされるバンクとが、ＰＥ１からの選択信号による指示に応じて切り替わるようになっていると共に、各バンクとも、ＰＥ１からはリードアクセスのみ可能で、ＰＥ２からは少なくともライトアクセスが可能（本実施形態では、リードアクセスも可能）となっている。尚、以下の説明では、２バンクＲＡＭ４１の２つのバンクのうち、一方をバンク（１）と記載し、他方をバンク（２）と記載する。
【００３８】
そして、ＰＥ１には、ＰＥ２がペリフェラル２１〜２３から読み出したデータが、２バンクＲＡＭ４１を経由して供給され、ＰＥ１は、前述した各制御のための処理のうちの一部である所定の処理を、ＰＥ２から供給されたデータを用いて行う。
【００３９】
具体的に説明すると、図１（ｂ）に示すように、ＰＥ２は、ペリフェラル２１，２２，２３の各々についてのモニタ処理であって、そのペリフェラルからデータを読み出して該データを２バンクＲＡＭ４１に書き込むモニタ処理を、逐次かつ定期的に行う。すると、ペリフェラル２１〜２３から読み出された各データは、２バンクＲＡＭ４１のバンク（１），（２）のうち、モニタ処理の実施時（詳しくはデータ書き込み時）においてＰＥ２からアクセス可能となっている方のバンクに書き込まれることとなる。
【００４０】
そして、図１（ｂ）に示すように、ＰＥ１は、ＰＥ２から供給されるデータを取得しようとする場合であって、そのデータを用いる所定の処理を開始する前に、２バンクＲＡＭ４１への選択信号を操作して、該２バンクＲＡＭ４１のバンク切り替え（即ち、ＰＥ１からアクセスされるバンクとＰＥ２からアクセスされるバンクとを切り替えること）を行い、その切り替え実施後に、２バンクＲＡＭ４１からデータを読み出す処理を行う。
【００４１】
すると、ＰＥ１は、２バンクＲＡＭ４１のバンク（１），（２）のうち、当該ＰＥ１からアクセス可能となった方のバンクから、ＰＥ２が書き込んだ最新のデータを読み出すこととなる。
【００４２】
図１（ｂ）の例では、バンク切り替えの実施以前にＰＥ２がデータを書き込んでいたバンク（２）が、バンク切り替えによって、ＰＥ１からのリードオンリー（Ｒｅａｄ  Ｏｎｌｙ）ＲＡＭに切り替わり、ＰＥ１は、そのバンク（２）からデータを読み出すこととなる。そして、ＰＥ１は、その読み出したデータを用いて所定の処理を行う。
【００４３】
尚、ＰＥ１によるバンク切り替えの実施タイミングは、ＰＥ２が２バンクＲＡＭ４１にデータを書き込んでいる最中とならないように設定されている。また、図１（ｂ）において、「ＰＥ１側処理」とは、２バンクＲＡＭ４１からデータを読み出す処理と、その読み出したデータを用いた所定の処理とを含む処理のことである。
【００４４】
次に、このようなバンク切り替えの動作を実現するための、２バンクＲＡＭ４１の構成について、図２を用い説明する。
図２（ａ）に示すように、２バンクＲＡＭ４１は、バンク（１）を成すＲＡＭ４１ａと、バンク（２）を成すＲＡＭ４１ｂと、２つのセレクタ４３ａ，４３ｂと、ＰＥ１からの選択信号を論理反転して出力する反転回路（インバータ）４５と、２つのバス分岐部４７ａ，４７ｂとを備えている。尚、図２において、セレクタ（１）とは、セレクタ４３ａのことであり、セレクタ（２）とは、セレクタ４３ｂのことである。
【００４５】
そして、この２バンクＲＡＭ４１においては、ＲＡＭ４１ａ（バンク（１））から伸びたバスであって、該ＲＡＭ４１ａにアクセスするためのバス４９ａが、バス分岐部４７ａにて、２系統のバス５１ａとバス５２ａとに分岐しており、同様に、ＲＡＭ４１ｂ（バンク（２））から伸びたバスであって、該ＲＡＭ４１ｂにアクセスするためのバス４９ｂは、バス分岐部４７ｂにて、２系統のバス５１ｂとバス５２ｂとに分岐している。
【００４６】
また、セレクタ４３ａには、ＰＥ１からの選択信号が、動作を決める設定信号として入力され、セレクタ４３ｂには、反転回路４５の出力信号（即ち、選択信号の反転信号）が、設定信号として入力される。
【００４７】
そして、セレクタ４３ａは、入力される設定信号の論理レベルに応じて、ＰＥ１から伸びているバス３１の接続先をＲＡＭ４１ａ，４１ｂの何れかに切り替えると共に、ＲＡＭ４１ａへのＲ／Ｗ（リード／ライト）信号線５３ａの状態及び接続先を制御する。同様に、セレクタ４３ｂも、入力される設定信号の論理レベルに応じて、ＰＥ２から伸びているバス３２の接続先をＲＡＭ４１ａ，４１ｂの何れかに切り替えると共に、ＲＡＭ４１ｂへのＲ／Ｗ信号線５３ｂの状態及び接続先を制御する。尚、Ｒ／Ｗ信号線は、アクセスの種類がリードなのかライトなのかを指示する制御線である。
【００４８】
具体的に説明すると、まず、セレクタ４３ａは、入力される設定信号が論理０の場合には、ＰＥ１から伸びているバス３１を、バス５１ａとバス５２ｂとのうち、バス５１ａの方に接続することで、ＰＥ１のバス３１とＲＡＭ４１ａのバス４９ａとを接続し（つまり、ＰＥ１のバス３１をＲＡＭ４１ａに接続し）、更に、ＲＡＭ４１ａへのＲ／Ｗ信号線５３ａを、ＰＥ１，２の各々から伸びるＲ／Ｗ信号線（図示省略）から切り離して、そのＲ／Ｗ信号線５３ａの論理レベルを、リード側の論理レベルに固定する。
【００４９】
また、セレクタ４３ａは、入力される設定信号が論理１の場合には、ＰＥ１から伸びているバス３１を、バス５１ａとバス５２ｂとのうち、バス５２ｂの方に接続することで、ＰＥ１のバス３１とＲＡＭ４１ｂのバス４９ｂとを接続し（つまり、ＰＥ１のバス３１をＲＡＭ４１ｂに接続し）、更に、ＲＡＭ４１ａへのＲ／Ｗ信号線５３ａを、ＰＥ２から伸びるＲ／Ｗ信号線（図示省略）に接続する。
【００５０】
一方、セレクタ４３ｂは、入力される設定信号が論理０の場合には、ＰＥ２から伸びているバス３２を、バス５２ａとバス５１ｂとのうち、バス５２ａの方に接続することで、ＰＥ２のバス３２とＲＡＭ４１ａのバス４９ａとを接続し（つまり、ＰＥ２のバス３２をＲＡＭ４１ａに接続し）、更に、ＲＡＭ４１ｂへのＲ／Ｗ信号線５３ｂを、ＰＥ１，２の各々から伸びるＲ／Ｗ信号線（図示省略）から切り離して、そのＲ／Ｗ信号線５３ｂの論理レベルを、リード側の論理レベルに固定する。
【００５１】
また、セレクタ４３ｂは、入力される設定信号が論理１の場合には、ＰＥ２から伸びているバス３２を、バス５２ａとバス５１ｂとのうち、バス５１ｂの方に接続することで、ＰＥ２のバス３２とＲＡＭ４１ｂのバス４９ｂとを接続し（つまり、ＰＥ２のバス３２をＲＡＭ４１ｂに接続し）、更に、ＲＡＭ４１ｂへのＲ／Ｗ信号線５３ｂを、ＰＥ２から伸びるＲ／Ｗ信号線（図示省略）に接続する。
【００５２】
このため、図２（ｂ）に示すように、ＰＥ１からの選択信号が論理０ならば、ＰＥ１は、バンク（１）としてのＲＡＭ４１ａに対してリードアクセスのみ可能となり、ＰＥ２は、バンク（２）としてのＲＡＭ４１ｂに対してリードアクセスとライトアクセスとの両方が可能となる。また、ＰＥ１からの選択信号が論理１ならば、ＰＥ１は、バンク（２）としてのＲＡＭ４１ｂに対してリードアクセスのみ可能となり、ＰＥ２は、バンク（１）としてのＲＡＭ４１ａに対してリードアクセスとライトアクセスとの両方が可能となる。
【００５３】
よって、ＰＥ１は、２バンクＲＡＭ４１への選択信号の論理レベルを反転させることにより、前述のバンク切り替えを行う。
具体的には、図３に示すように、ＰＥ１は、ＰＥ２から供給されるデータを取得したいタイミングであって、そのＰＥ２からのデータを用いた処理を行う前のタイミング（但し、前述したように、このタイミングは、ＰＥ２が２バンクＲＡＭ４１にデータを書き込んでいる最中とならないように設定されている）になると、バンク切り替えタイミングが到来したと判定して（Ｓ１１０：ＹＥＳ）、２バンクＲＡＭ４１への選択信号の論理レベルを反転させることにより、前述のバンク切り替えを行う（Ｓ１２０）。そして、ＰＥ１は、そのバンク切り替え後に、２バンクＲＡＭ４１においてＰＥ１からリードアクセス可能な方のバンクからデータを読み出して、そのデータを用いた処理を行う。
【００５４】
尚、ＰＥ１による２バンクＲＡＭ４１からのデータ読み出しは、ＰＥ２が２バンクＲＡＭ４１の他方のバンクにデータを書き込んでいる最中でも実施できる。
また、ＰＥ１において、ＰＥ２からのデータを取得したいタイミング（延いては、バンク切り替えを行うタイミング）は、ＰＥ１側のアプリケーションプログラムに依存する。
【００５５】
例えば、ＰＥ１側で実行されるエンジン制御用プログラムの処理が、ペリフェラル２１によって入力される情報であるエンジン回転数のデータを使用する場合の動きを例に挙げて説明すると、ＰＥ２は、一定の周期で、ペリフェラル２１からエンジン回転数のデータを読み出すと共に、そのデータを２バンクＲＡＭ４１においてアクセス可能になっている方のバンクに書き込む。そして、ＰＥ１で実行されるエンジン制御用プログラムでは、エンジン回転数のデータを入手したいタイミングで、２バンクＲＡＭ４１のバンク切り替えを行い、アクセス可能となった方のバンクからエンジン回転数のデータを読み出して、そのデータを、制御対象としてのエンジンを制御するための処理（例えば、エンジン回転数からインジェクタの駆動時間を算出する演算処理等）に使用する。
【００５６】
以上のようなマイコン４０によれば、図１（ｂ）に例示しているように、ＰＥ１は、ＰＥ２が２バンクＲＡＭ４１の一方のバンクにデータを書き込んでいる最中であっても、２バンクＲＡＭ４１の他方のバンクから、書き込み済みの最新データを読み込んで、そのデータを用いた処理を行うことができる。このため、処理の開始待ちをしなくても良くなり、処理効率を向上させることができる。
【００５７】
しかも、ＰＥ１は、２バンクＲＡＭ４１に対してはリードアクセスしかできないため、ＰＥ２が２バンクＲＡＭ４１に書き込んだデータをＰＥ１が誤って書き替えてしまうことを、確実に防止することができ、処理の信頼性を確保することができる。そして、この効果を、前述したＭＰＵ３５のようなメモリ管理装置を設けなくても達成できる。
【００５８】
尚、本実施形態では、ＰＥ１が第１の処理手段に相当し、ＰＥ２が、第２の処理手段に相当している。そして、既述したように、２バンクＲＡＭ４１がデータ授受用の記憶手段に相当している。
【００５９】
一方、他の実施形態（変形例）として、バンク切り替えのための選択信号は、図４（ａ）に示すように、ＰＥ２が出力するように構成しても良い。
具体的には、図４（ｂ）に示すように、ＰＥ２から選択信号が出力されるようにし、更に、そのＰＥ２からの選択信号が、セレクタ４３ａ，４３ｂのうちの一方（図４の例ではセレクタ４３ａ）に設定信号として入力されると共に、その選択信号を反転回路４５で反転させた信号が、セレクタ４３ａ，４３ｂのうちの他方（図４の例ではセレクタ４３ｂ）に設定信号として入力されるように構成しても良い。そして、その場合、例えば、ＰＥ２は、２バンクＲＡＭ４１へのデータ書き込みを完了したタイミングにて、選択信号の論理レベルを反転させてバンク切り替えを行えば良く、ＰＥ１は、そのバンク切り替えのタイミングとは異なる任意のタイミングにて、２バンクＲＡＭ４１からデータを読み出して所定の処理を行えば良い。
【００６０】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【００６１】
例えば、２バンクＲＡＭ４１の各バンクは、ＰＥ２からはライトアクセスだけが可能になっていても良い。
また、ＰＥ１，２の各々は、１つのＣＰＵが複数の各プログラムを切り替えて実行することで実現される機能手段であっても良い。
【００６２】
また、マイコン４０は、車載電子制御装置に限らず、他の用途の電子制御装置に搭載されても良い。
【符号の説明】
【００６３】
１，２…プロセッサエレメント（ＰＥ）、１１…メモリ
２１，２２，２３…ペリフェラル、４０…マイコン
４１…２バンクＲＡＭ（２バンク構成のＲＡＭ）
３１，３２，４９ａ，４９ｂ，５１ａ，５１ｂ，５２ａ，５２ｂ…バス
４３ａ，４３ｂ…セレクタ、４５…反転回路、４７ａ，４７ｂ…バス分岐部
５３ａ，５３ｂ…Ｒ／Ｗ信号線
【図１】
2012164144.tif 000003
【図２】
2012164144.tif 000004
【図３】
2012164144.tif 000005
【図４】
2012164144.tif 000006
【図５】
2012164144.tif 000007
【図６】
2012164144.tif 000008