説明

マイクロコンピュータ

【課題】第1の処理手段が第2の処理手段によって記憶手段に書き込まれたデータを用いて所定の処理を行うようになっているマイコンにおいて、処理効率を向上させると共に、第1の処理手段が上記データを誤って書き替えてしまうことを防止する。
【解決手段】2つのPE(プロセッサエレメント)1,2を備えるマイコン40では、PE2からPE1へ、記憶手段としてのRAM41を介してデータが供給されるが、そのRAM41は、PE1とPE2との各々から別々にアクセスされる2つのバンクを有した2バンク構成のRAMであり、更に、そのRAM41では、PE1からアクセスされるバンクとPE2からアクセスされるバンクとが、PE1からの選択信号によって切り替わるようになっていると共に、各バンクとも、PE1からはリードアクセスのみ可能で、PE2からはライトアクセス及びリードアクセスが可能になっている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マイクロコンピュータに関するものである。
【背景技術】
【0002】
マイクロコンピュータ(以下、マイコンとも言う)としては、処理能力を向上させるために、複数のプロセッサを備えたマルチプロセッサマイコンが実用化されている。
そして、マルチプロセッサマイコンにおいては、プロセッサ毎に別々の処理を割り当て、何れかのプロセッサが、他のプロセッサによる処理結果を用いて、自身に割り当てられた処理を行うようにすることが考えられる。つまり、プロセッサ間でデータの授受を行う。
【0003】
ここで、そのようなマルチプロセッサマイコンの構成例について、図5を用いて説明する。
図5(a)に例示するマイコン100は、2つのプロセッサエレメント(以下、PEとも記す)1,2と、メモリ11と、複数(この例では3つ)のペリフェラル(Peripheral:周辺機器)21,22,23と、PE1とメモリ11とを接続するバス(複数のデータ線、アドレス線、及び制御線かなる配線群)31と、PE2とペリフェラル21,22,23とを接続するバス32と、PE1,2からの要求に従って、メモリ11とペリフェラル21,22,23間やメモリ11における記憶領域間等でのデータ転送処理を行うDMA(Direct Memory Access)コントローラ33と、を備えている。
【0004】
メモリ11は、RAMであり、ペリフェラル21,22,23の各々は、例えば、マイコン100の外部から入力される情報を当該マイコン100内に取り込むための、信号入力装置やAD変換器や通信装置である。また、各ペリフェラル21,22,23は、各々にアドレスが付与された記憶装置(例えばレジスタ)を有しており、アクセスする側から見れば、メモリ11と同様に、アドレスが付与された記憶装置であり記憶領域でもある。尚、図5において、ペリフェラル(A),(B),(C)の各々は、ペリフェラル21,22,23のことであり、このことは、後述する他の図においても同様である。
【0005】
そして、図5(b)に示すように、PE2は、ペリフェラル21,22,23の各々について、そのペリフェラルからメモリ11の所定領域であるデータ授受用領域にデータを転送するためのモニタ処理を、定期的に行う。この図5の例では、PE2は、DMAコントローラ33に対して、データの転送元と転送先とを示すDMA要求を出すことにより、その転送元から転送先へとデータを転送(DMA転送)させる。
【0006】
また、PE1は、例えば定期的に、メモリ11の上記データ授受用領域からデータ(即ち、PE2によって書き込まれたペリフェラル21〜23からの各データ)を読み出すと共に、そのデータを用いて所定の演算処理を行う。尚、図5(b)及び以下のマイコン100に関する説明において、「PE1側処理」とは、メモリ11のデータ授受用領域からデータを読み出す処理と、その読み出したデータを用いた所定の演算処理とを含む処理のことである。
【0007】
そして、このような手順により、PE2側からPE1側へ、PE1側での処理に必要なデータが供給される。
ところで、図5のマイコン100において、例えばPE1がメモリ11のデータ授受用領域に誤ってライトアクセスしてしまうと、そのデータ授受用領域のデータ(PE2から供給されたデータ)が上書きされて破壊されるため、PE1側の演算処理を正しく行うことができなくなる。尚、こうした誤アクセス(意図せぬアクセス)は、例えばアドレスバスへのアクセス先情報(具体的にはアドレス値)がノイズ等で変化してしまった場合に起こり得る。
【0008】
そこで、図5のマイコン100では、このような誤アクセスによるデータ破壊を防ぐためのメモリ管理装置として、MPU(Memory Protection Unit)35が設けられている。
【0009】
MPU35には、メモリ11における複数の各アドレス範囲に対して、どのPEがどのような種類のアクセス権限(リードかライトか等)を持っているかを示すアクセス権限情報が記憶されている。そして、MPU35は、PE1,2の何れかからメモリ11へのアクセス要求があると、そのアクセス要求を発したPEと、要求内容と、アクセス先のアドレスとを特定して、その特定したPEによる上記特定したアドレスへの上記要求内容のアクセスが許可されているか否かを、上記アクセス権限情報に基づき判定し、許可されていないと判定したならば、アクセス要求を無効にするようになっている。このため、例えば、PE1がメモリ11の上記データ授受用領域にデータを書き込もうとしても、その書き込みのためのライトアクセスはMPU35によって無効化される。尚、このようなメモリ管理装置については、例えば特許文献1に記載されている。
【0010】
次に、マルチプロセッサマイコンの他の構成例について、図6を用いて説明する。尚、図6において、図5と同じ構成要素については同一の符号を付しているため、説明を省略する。
【0011】
図6(a)に例示するマイコン102は、DMAコントローラ33の代わりに、PE1とPE2とで共有される共有RAM39を備えている。
そして、このマイコン102においては、図6(b)に示すように、PE2が、ペリフェラル21,22,23の各々について、そのペリフェラルから共有RAM39の所定領域であるデータ授受用領域にデータを転送するためのモニタ処理を、定期的に行う。具体的には、PE2は、ペリフェラル21〜23の各々からデータを読み出し、そのデータを共有RAM39のデータ授受用領域に書き込む。
【0012】
また、共有RAM39は、PE1からもアクセス可能である。そして、PE1は、例えば定期的に、共有RAM39のデータ授受用領域からデータ(即ち、PE2によって書き込まれたペリフェラル21〜23からの各データ)を読み出すと共に、そのデータを用いて所定の演算処理を行う。尚、図6(b)及び以下のマイコン102に関する説明において、「PE1側処理」とは、共有RAM39のデータ授受用領域からデータを読み出す処理と、その読み出したデータを用いた所定の演算処理とを含む処理のことである。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2008−123031号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
図5のマイコン100において、PE2によりDMAコントローラ33を介してメモリ11のデータ授受用領域にデータを転送している間は、PE1側のバス31が占有されるため、PE1は、メモリ11からデータを読み出すことができず、延いては、PE2から供給されるデータを用いた処理を開始することができない。
【0015】
このため、図5のマイコン100では、PE1側処理の実行タイミングを、PE2によるメモリ11へのデータ転送期間を避けて設定しなければならず、そのPE1側処理の実行タイミングに制約が生じることとなり、処理効率を十分に上げることができないという問題がある。そして、この問題は、データ転送に要する時間が長い場合ほど顕著になる。
【0016】
また、前述したMPU35のようなメモリ管理装置には、DMAコントローラからのアクセスに対する制限機能(データ保護機能)はないため、DMAコントローラを介した誤アクセスによるデータ破壊は防止することができない。例えば、図5のマイコン100において、ノイズ等の影響により、誤って、PE1からDMAコントローラ33に、メモリ11のデータ授受用領域へのデータ転送を指示するDMA要求が出てしまうと、DMAコントローラ33は、そのデータ授受用領域にライトアクセスすることとなるが、そのような誤ったライトアクセス(DMAコントローラ33を介した誤アクセス)は許可されてしまう。
【0017】
一方、図6のマイコン102においても、PE2が共有RAM39のデータ授受用領域にデータを書き込んでいる間は、PE1は、その共有RAM39のデータ授受用領域からデータを読み出すことができず、延いては、PE2から供給されるデータを用いた処理を開始することができない。このため、図5のマイコン100と同様に、PE1側処理の実行タイミングに制約が生じることとなり、処理効率を十分に上げることができない。
【0018】
また、図6のマイコン102において、共有RAM39は、そもそもPE1,2の各々から同じようにアクセスされることを想定したものであるため、誤アクセスによるデータ破壊を防ぐことができない。つまり、共有RAM39のデータ授受用領域にPE1が誤ってライトアクセスしてしまうと、PE2からPE1に供給されたデータを破壊してしまうこととなる。
【0019】
本発明は、こうした問題に鑑みなされたものであり、第1の処理手段が第2の処理手段によって記憶手段に書き込まれたデータを用いて所定の処理を行うようになっているマイコンにおいて、処理効率を向上させると共に、第1の処理手段が上記データを誤って書き替えてしまうことを防止すること、を目的としている。
【課題を解決するための手段】
【0020】
請求項1のマイクロコンピュータは、各々が複数の各プログラムを実行することで別々の処理を行う第1の処理手段及び第2の処理手段と、第2の処理手段によって所定のデータが書き込まれるデータ授受用の記憶手段と、を備えている。そして、第1の処理手段は、前記記憶手段から前記所定のデータを読み出し、その読み出したデータを用いて所定の処理を行う。
【0021】
そして特に、このマイクロコンピュータにおいて、データ授受用の記憶手段は、第1の処理手段と第2の処理手段との各々から別々にアクセスされる2つのバンクを有した2バンク構成のメモリであって、第1の処理手段からアクセスされるバンクと第2の処理手段からアクセスされるバンクとが、第1の処理手段又は第2の処理手段からの指示によって切り替わるようになっていると共に、各バンクとも、第1の処理手段からはリードアクセスのみ可能で、第2の処理手段からは少なくともライトアクセスが可能なメモリ(以下、2バンクメモリという)である。尚、リードアクセスのみ可能とは、リードアクセスとライトアクセスとのうちで、リードアクセスだけが可能(ライトアクセスは不能)ということである。
【0022】
この構成によれば、第2の処理手段は、2バンクメモリに所定のデータを書き込む処理を行えば、その所定のデータは、2バンクメモリの各バンクのうちで、そのとき(書き込み処理の実施時)に当該第2の処理手段からアクセス可能となっている方のバンクに書き込まれることとなり、その書き込まれたデータが、最新のデータとなる。
【0023】
そして、第2の処理手段が2バンクメモリにデータを書き込んでいる最中以外のタイミングにて、第1の処理手段又は第2の処理手段が2バンクメモリのバンク切り替え(即ち、第1の処理手段からアクセスされるバンクと第2の処理手段からアクセスされるバンクとを切り替えること)を行うようにすれば、第1の処理手段は、そのバンク切り替えのタイミングとは異なる任意のタイミングで2バンクメモリから所定のデータを読み出す処理を行うことにより、各バンクのうち当該第1の処理手段からアクセス可能な方のバンクから、第2の処理手段により書き込まれたデータ(バンク切り替えが行われた時点での最新データ)を読み出すことができる。
【0024】
よって、このようなマイクロコンピュータによれば、第1の処理手段は、第2の処理手段が2バンクメモリの一方のバンクにデータを書き込んでいる最中であっても、2バンクメモリの他方のバンクから、書き込み済みの最新データを読み込んで、そのデータを用いた所定の処理を行うことができる。このため、例えば、第1の処理手段における所定の処理を、第2の処理手段によるデータ書き込みが完了するまで待ってから開始させる、といった処置をする必要がなくなり、処理効率を向上させることができる。
【0025】
しかも、第1の処理手段は、2バンクメモリに対してはリードアクセスしかできないため、第2の処理手段が2バンクメモリに書き込んだ所定のデータを第1の処理手段が誤って書き替えてしまうことを、確実に防止することができる。よって、処理の信頼性を確保することができる。
【0026】
ところで、2バンクメモリのバンク切り替えが第1の処理手段からの指示によって行われるように構成した場合には、請求項2に記載のように、第1の処理手段は、前記所定の処理を開始する前に、当該第1の処理手段からアクセスされるバンクと第2の処理手段からアクセスされるバンクとを切り替えて(即ちバンク切り替えを行って)、各バンクのうち当該第1の処理手段からアクセス可能な方のバンクから、前記データを読み出すように構成することができる。そして、このようにすれば、第1の処理手段は、第2の処理手段が書き込んだ最新のデータを用いて所定の処理を行うことができるようになる。
【0027】
また、2バンクメモリのバンク切り替えが第2の処理手段からの指示によって行われるように構成した場合には、請求項3に記載のように、第2の処理手段は、記憶手段(2バンクメモリ)へのデータの書き込みを完了すると、第1の処理手段からアクセスされるバンクと当該第2の処理手段からアクセスされるバンクとを切り替える(即ちバンク切り替えを行う)ように構成することができる。そして、このようにしても、第1の処理手段は、第2の処理手段が書き込んだ最新のデータを用いて所定の処理を行うことができるようになる。
【0028】
尚、第1と第2の各処理手段としては、ハードウェア的に別々に設けられた2つの各CPU(プロセッサ)であっても良いし、1つのCPUが複数の各プログラムを切り替えて実行することで実現される機能手段であっても良い。後者の場合には、実行されるプログラムを切り替える機構を備えると共に、各プログラムの実行(演算)に必要なレジスタを複数組備えることで、1つのCPUにより複数の各プログラムを仮想的に並列実行するマルチタスクの手法により、各処理手段を実現することができる。
【0029】
また、請求項4に記載のように、第2の処理手段は、当該マイクロコンピュータの外部から取り込んだ情報を示すデータを、記憶手段(2バンクメモリ)の各バンクのうち当該第2の処理手段からアクセス可能な方のバンクに書き込む処理を行うように構成することができ、第1の処理手段は、前記所定の処理として、所定の制御対象を制御するための処理を行うように構成することができる。そして、この構成によれば、第1の処理手段は、当該マイクロコンピュータの外部から取り込んだ情報を示すデータを用いて、所定の制御対象を制御するための処理を、確実に行うことができるようになる。
【図面の簡単な説明】
【0030】
【図1】実施形態のマイコンの構成及び作用を説明する説明図である。
【図2】2バンク構成のRAMを説明する説明図である。
【図3】PE(プロセッサエレメント)が行うバンク切替の処理を表すフローチャートである。
【図4】他の実施形態を説明する説明図である。
【図5】従来技術を説明する第1の説明図である。
【図6】従来技術を説明する第2の説明図である。
【発明を実施するための形態】
【0031】
以下に、本発明が適用された実施形態のマイコン(マイクロコンピュータ)について説明する。
図1(a)に示すように、本実施形態のマイコン40は、図6に示したマイコン102と比較すると、ハードウェアとしては、共有RAM39に代えて、後述する2バンク構成のRAM(データ授受用の記憶手段及び前述の2バンクメモリに相当し、以下、2バンクRAMという)41を備えている点が異なっている。
【0032】
尚、本実施形態のマイコン40においても、図6のマイコン102と同様に、図5に示したMPU35は設けられていない。メモリ11は、PE2側からPE1側へのデータ授受用としては用いられず、PE1だけがアクセスするメモリとなっているからである。そして、メモリ11には、PE1による演算結果やPE1が処理に用いる初期値データ等が記憶される。
【0033】
また、本実施形態のマイコン40も、図6のマイコン102と同様に、マルチプロセッサマイコンであり、PE1,2の各々は、別々のCPUからなるプロセッサエレメントである。
【0034】
そして、このマイコン40は、ハイブリッド車両に搭載される電子制御装置に実装されるものであり、PE1は、図示しないROMに記憶されているアプリケーションプログラム(本実施形態では、例えば、エンジン制御用プログラム、メータ制御用プログラム、パワーマネジメント制御用プログラム)を実行することで、ハイブリッド車両のエンジンを制御するための処理や、メータを制御するための処理や、パワーマネジメント制御のための処理(モータとエンジンの出力を決定したり、モータ/ジェネレータを制御したりする処理)を行う。
【0035】
また、ペリフェラル21は、例えば、当該マイコン40の外部から入力されるエンジン回転数のデータを、当該マイコン40の内部に取り込むための入力装置である。また、ペリフェラル22は、例えば、当該マイコン40の外部から入力されるアナログ信号をAD変換するAD変換器であり、マイコン40へは、そのペリフェラル23を介して、例えばエンジンの冷却水温などのデータが入力される。また、ペリフェラル23は、例えば、マイコン40の外部装置と通信するための通信装置であり、マイコン40へは、そのペリフェラル23を介して、例えばバッテリの充電状態などを表すデータが入力される。
【0036】
そして、PE2は、図示しないROMに記憶されているプログラムを実行することにより、ペリフェラル21〜23の各々についてのモニタ処理を行う。そのモニタ処理とは、ペリフェラルからデータを読み出して2バンクRAM41に書き込む処理である(図1(b)参照)。
【0037】
ここで、2バンクRAM41は、PE1,2の各々から別々にアクセスされる2つのバンクであって、同じアドレス空間の2つのバンクを有している。更に、2バンクRAM41では、PE1からアクセスされるバンクとPE2からアクセスされるバンクとが、PE1からの選択信号による指示に応じて切り替わるようになっていると共に、各バンクとも、PE1からはリードアクセスのみ可能で、PE2からは少なくともライトアクセスが可能(本実施形態では、リードアクセスも可能)となっている。尚、以下の説明では、2バンクRAM41の2つのバンクのうち、一方をバンク(1)と記載し、他方をバンク(2)と記載する。
【0038】
そして、PE1には、PE2がペリフェラル21〜23から読み出したデータが、2バンクRAM41を経由して供給され、PE1は、前述した各制御のための処理のうちの一部である所定の処理を、PE2から供給されたデータを用いて行う。
【0039】
具体的に説明すると、図1(b)に示すように、PE2は、ペリフェラル21,22,23の各々についてのモニタ処理であって、そのペリフェラルからデータを読み出して該データを2バンクRAM41に書き込むモニタ処理を、逐次かつ定期的に行う。すると、ペリフェラル21〜23から読み出された各データは、2バンクRAM41のバンク(1),(2)のうち、モニタ処理の実施時(詳しくはデータ書き込み時)においてPE2からアクセス可能となっている方のバンクに書き込まれることとなる。
【0040】
そして、図1(b)に示すように、PE1は、PE2から供給されるデータを取得しようとする場合であって、そのデータを用いる所定の処理を開始する前に、2バンクRAM41への選択信号を操作して、該2バンクRAM41のバンク切り替え(即ち、PE1からアクセスされるバンクとPE2からアクセスされるバンクとを切り替えること)を行い、その切り替え実施後に、2バンクRAM41からデータを読み出す処理を行う。
【0041】
すると、PE1は、2バンクRAM41のバンク(1),(2)のうち、当該PE1からアクセス可能となった方のバンクから、PE2が書き込んだ最新のデータを読み出すこととなる。
【0042】
図1(b)の例では、バンク切り替えの実施以前にPE2がデータを書き込んでいたバンク(2)が、バンク切り替えによって、PE1からのリードオンリー(Read Only)RAMに切り替わり、PE1は、そのバンク(2)からデータを読み出すこととなる。そして、PE1は、その読み出したデータを用いて所定の処理を行う。
【0043】
尚、PE1によるバンク切り替えの実施タイミングは、PE2が2バンクRAM41にデータを書き込んでいる最中とならないように設定されている。また、図1(b)において、「PE1側処理」とは、2バンクRAM41からデータを読み出す処理と、その読み出したデータを用いた所定の処理とを含む処理のことである。
【0044】
次に、このようなバンク切り替えの動作を実現するための、2バンクRAM41の構成について、図2を用い説明する。
図2(a)に示すように、2バンクRAM41は、バンク(1)を成すRAM41aと、バンク(2)を成すRAM41bと、2つのセレクタ43a,43bと、PE1からの選択信号を論理反転して出力する反転回路(インバータ)45と、2つのバス分岐部47a,47bとを備えている。尚、図2において、セレクタ(1)とは、セレクタ43aのことであり、セレクタ(2)とは、セレクタ43bのことである。
【0045】
そして、この2バンクRAM41においては、RAM41a(バンク(1))から伸びたバスであって、該RAM41aにアクセスするためのバス49aが、バス分岐部47aにて、2系統のバス51aとバス52aとに分岐しており、同様に、RAM41b(バンク(2))から伸びたバスであって、該RAM41bにアクセスするためのバス49bは、バス分岐部47bにて、2系統のバス51bとバス52bとに分岐している。
【0046】
また、セレクタ43aには、PE1からの選択信号が、動作を決める設定信号として入力され、セレクタ43bには、反転回路45の出力信号(即ち、選択信号の反転信号)が、設定信号として入力される。
【0047】
そして、セレクタ43aは、入力される設定信号の論理レベルに応じて、PE1から伸びているバス31の接続先をRAM41a,41bの何れかに切り替えると共に、RAM41aへのR/W(リード/ライト)信号線53aの状態及び接続先を制御する。同様に、セレクタ43bも、入力される設定信号の論理レベルに応じて、PE2から伸びているバス32の接続先をRAM41a,41bの何れかに切り替えると共に、RAM41bへのR/W信号線53bの状態及び接続先を制御する。尚、R/W信号線は、アクセスの種類がリードなのかライトなのかを指示する制御線である。
【0048】
具体的に説明すると、まず、セレクタ43aは、入力される設定信号が論理0の場合には、PE1から伸びているバス31を、バス51aとバス52bとのうち、バス51aの方に接続することで、PE1のバス31とRAM41aのバス49aとを接続し(つまり、PE1のバス31をRAM41aに接続し)、更に、RAM41aへのR/W信号線53aを、PE1,2の各々から伸びるR/W信号線(図示省略)から切り離して、そのR/W信号線53aの論理レベルを、リード側の論理レベルに固定する。
【0049】
また、セレクタ43aは、入力される設定信号が論理1の場合には、PE1から伸びているバス31を、バス51aとバス52bとのうち、バス52bの方に接続することで、PE1のバス31とRAM41bのバス49bとを接続し(つまり、PE1のバス31をRAM41bに接続し)、更に、RAM41aへのR/W信号線53aを、PE2から伸びるR/W信号線(図示省略)に接続する。
【0050】
一方、セレクタ43bは、入力される設定信号が論理0の場合には、PE2から伸びているバス32を、バス52aとバス51bとのうち、バス52aの方に接続することで、PE2のバス32とRAM41aのバス49aとを接続し(つまり、PE2のバス32をRAM41aに接続し)、更に、RAM41bへのR/W信号線53bを、PE1,2の各々から伸びるR/W信号線(図示省略)から切り離して、そのR/W信号線53bの論理レベルを、リード側の論理レベルに固定する。
【0051】
また、セレクタ43bは、入力される設定信号が論理1の場合には、PE2から伸びているバス32を、バス52aとバス51bとのうち、バス51bの方に接続することで、PE2のバス32とRAM41bのバス49bとを接続し(つまり、PE2のバス32をRAM41bに接続し)、更に、RAM41bへのR/W信号線53bを、PE2から伸びるR/W信号線(図示省略)に接続する。
【0052】
このため、図2(b)に示すように、PE1からの選択信号が論理0ならば、PE1は、バンク(1)としてのRAM41aに対してリードアクセスのみ可能となり、PE2は、バンク(2)としてのRAM41bに対してリードアクセスとライトアクセスとの両方が可能となる。また、PE1からの選択信号が論理1ならば、PE1は、バンク(2)としてのRAM41bに対してリードアクセスのみ可能となり、PE2は、バンク(1)としてのRAM41aに対してリードアクセスとライトアクセスとの両方が可能となる。
【0053】
よって、PE1は、2バンクRAM41への選択信号の論理レベルを反転させることにより、前述のバンク切り替えを行う。
具体的には、図3に示すように、PE1は、PE2から供給されるデータを取得したいタイミングであって、そのPE2からのデータを用いた処理を行う前のタイミング(但し、前述したように、このタイミングは、PE2が2バンクRAM41にデータを書き込んでいる最中とならないように設定されている)になると、バンク切り替えタイミングが到来したと判定して(S110:YES)、2バンクRAM41への選択信号の論理レベルを反転させることにより、前述のバンク切り替えを行う(S120)。そして、PE1は、そのバンク切り替え後に、2バンクRAM41においてPE1からリードアクセス可能な方のバンクからデータを読み出して、そのデータを用いた処理を行う。
【0054】
尚、PE1による2バンクRAM41からのデータ読み出しは、PE2が2バンクRAM41の他方のバンクにデータを書き込んでいる最中でも実施できる。
また、PE1において、PE2からのデータを取得したいタイミング(延いては、バンク切り替えを行うタイミング)は、PE1側のアプリケーションプログラムに依存する。
【0055】
例えば、PE1側で実行されるエンジン制御用プログラムの処理が、ペリフェラル21によって入力される情報であるエンジン回転数のデータを使用する場合の動きを例に挙げて説明すると、PE2は、一定の周期で、ペリフェラル21からエンジン回転数のデータを読み出すと共に、そのデータを2バンクRAM41においてアクセス可能になっている方のバンクに書き込む。そして、PE1で実行されるエンジン制御用プログラムでは、エンジン回転数のデータを入手したいタイミングで、2バンクRAM41のバンク切り替えを行い、アクセス可能となった方のバンクからエンジン回転数のデータを読み出して、そのデータを、制御対象としてのエンジンを制御するための処理(例えば、エンジン回転数からインジェクタの駆動時間を算出する演算処理等)に使用する。
【0056】
以上のようなマイコン40によれば、図1(b)に例示しているように、PE1は、PE2が2バンクRAM41の一方のバンクにデータを書き込んでいる最中であっても、2バンクRAM41の他方のバンクから、書き込み済みの最新データを読み込んで、そのデータを用いた処理を行うことができる。このため、処理の開始待ちをしなくても良くなり、処理効率を向上させることができる。
【0057】
しかも、PE1は、2バンクRAM41に対してはリードアクセスしかできないため、PE2が2バンクRAM41に書き込んだデータをPE1が誤って書き替えてしまうことを、確実に防止することができ、処理の信頼性を確保することができる。そして、この効果を、前述したMPU35のようなメモリ管理装置を設けなくても達成できる。
【0058】
尚、本実施形態では、PE1が第1の処理手段に相当し、PE2が、第2の処理手段に相当している。そして、既述したように、2バンクRAM41がデータ授受用の記憶手段に相当している。
【0059】
一方、他の実施形態(変形例)として、バンク切り替えのための選択信号は、図4(a)に示すように、PE2が出力するように構成しても良い。
具体的には、図4(b)に示すように、PE2から選択信号が出力されるようにし、更に、そのPE2からの選択信号が、セレクタ43a,43bのうちの一方(図4の例ではセレクタ43a)に設定信号として入力されると共に、その選択信号を反転回路45で反転させた信号が、セレクタ43a,43bのうちの他方(図4の例ではセレクタ43b)に設定信号として入力されるように構成しても良い。そして、その場合、例えば、PE2は、2バンクRAM41へのデータ書き込みを完了したタイミングにて、選択信号の論理レベルを反転させてバンク切り替えを行えば良く、PE1は、そのバンク切り替えのタイミングとは異なる任意のタイミングにて、2バンクRAM41からデータを読み出して所定の処理を行えば良い。
【0060】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【0061】
例えば、2バンクRAM41の各バンクは、PE2からはライトアクセスだけが可能になっていても良い。
また、PE1,2の各々は、1つのCPUが複数の各プログラムを切り替えて実行することで実現される機能手段であっても良い。
【0062】
また、マイコン40は、車載電子制御装置に限らず、他の用途の電子制御装置に搭載されても良い。
【符号の説明】
【0063】
1,2…プロセッサエレメント(PE)、11…メモリ
21,22,23…ペリフェラル、40…マイコン
41…2バンクRAM(2バンク構成のRAM)
31,32,49a,49b,51a,51b,52a,52b…バス
43a,43b…セレクタ、45…反転回路、47a,47b…バス分岐部
53a,53b…R/W信号線

【特許請求の範囲】
【請求項1】
各々が複数の各プログラムを実行することで別々の処理を行う第1の処理手段及び第2の処理手段と、
前記第2の処理手段によって所定のデータが書き込まれるデータ授受用の記憶手段と、を備え、
前記第1の処理手段は、前記記憶手段から前記データを読み出し、該読み出したデータを用いて所定の処理を行う、ようになっているマイクロコンピュータであって、
前記記憶手段は、
前記第1の処理手段と前記第2の処理手段との各々から別々にアクセスされる2つのバンクを有した2バンク構成のメモリであって、前記第1の処理手段からアクセスされるバンクと前記第2の処理手段からアクセスされるバンクとが、前記第1の処理手段又は前記第2の処理手段からの指示によって切り替わるようになっていると共に、前記各バンクとも、前記第1の処理手段からはリードアクセスのみ可能で、前記第2の処理手段からは少なくともライトアクセスが可能なメモリであること、
を特徴とするマイクロコンピュータ。
【請求項2】
請求項1に記載のマイクロコンピュータにおいて、
前記記憶手段は、前記第1の処理手段からアクセスされるバンクと前記第2の処理手段からアクセスされるバンクとが、前記第1の処理手段からの指示によって切り替わるようになっており、
前記第1の処理手段は、前記所定の処理を開始する前に、当該第1の処理手段からアクセスされるバンクと前記第2の処理手段からアクセスされるバンクとを切り替えて、前記各バンクのうち当該第1の処理手段からアクセス可能な方のバンクから、前記データを読み出すこと、
を特徴とするマイクロコンピュータ。
【請求項3】
請求項1に記載のマイクロコンピュータにおいて、
前記記憶手段は、前記第1の処理手段からアクセスされるバンクと前記第2の処理手段からアクセスされるバンクとが、前記第2の処理手段からの指示によって切り替わるようになっており、
前記第2の処理手段は、前記記憶手段への前記データの書き込みを完了すると、前記第1の処理手段からアクセスされるバンクと当該第2の処理手段からアクセスされるバンクとを切り替えること、
を特徴とするマイクロコンピュータ。
【請求項4】
請求項1ないし請求項3の何れか1項に記載のマイクロコンピュータにおいて、
前記第2の処理手段は、当該マイクロコンピュータの外部から取り込んだ情報を示すデータを、前記記憶手段の各バンクのうち当該第2の処理手段からアクセス可能な方のバンクに書き込む処理を行い、
前記第1の処理手段は、前記所定の処理として、所定の制御対象を制御するための処理を行うこと、
を特徴とするマイクロコンピュータ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate