(57)【要約】【課題】高性能のＭＣＵを用いることなく必要な性能を確保すると共にリアルタイム性能の向上を図ること。【解決手段】本発明は、複数のＭＣＵ１０−４０を備えるマルチプロセッサシステム１，２において、一のＭＣＵ１０に搭載されるＣＰＵ１１が、他のＭＣＵ２０に搭載される周辺機能２３，２７，２９の少なくとも一部を占有して使用するように構成され、他のＭＣＵにおける一のＭＣＵ１０により占有された周辺機能２９から一のＭＣＵ１０への割り込み要求の通知は、他のＭＣＵ２０のシリアルインターフェース２２及び一のＭＣＵのシリアルインターフェース１４を介して実行されることを特徴とする。【選択図】図２
2011180822.tif 000002
【特許請求の範囲】
【請求項１】
複数のＭＣＵを備えるマルチプロセッサシステムにおいて、
一のＭＣＵに搭載されるＣＰＵが、他のＭＣＵに搭載される周辺機能の少なくとも一部を占有して使用するように構成され、
前記他のＭＣＵにおける前記一のＭＣＵにより占有された周辺機能から前記一のＭＣＵへの割り込み要求の通知は、前記他のＭＣＵのシリアルインターフェース及び前記一のＭＣＵのシリアルインターフェースを介して実行されることを特徴とする、マルチプロセッサシステム。
【請求項２】
前記割り込み要求に係る処理が完了した際の前記一のＭＣＵから前記他のＭＣＵへの割り込み要求クリアの通知は、前記一のＭＣＵのシリアルインターフェース及び前記他のＭＣＵのシリアルインターフェースを介して実行される、請求項１に記載のマルチプロセッサシステム。
【請求項３】
前記他のＭＣＵのシリアルインターフェースがマスタとなり、前記一のＭＣＵのシリアルインターフェースがスレーブとなり、前記割り込み要求の通知が実行される、請求項１に記載のマルチプロセッサシステム。
【請求項４】
前記一のＭＣＵのシリアルインターフェースがマスタとなり、前記他のＭＣＵのシリアルインターフェースがスレーブとなり、前記割り込み要求クリアの通知が実行される、請求項２に記載のマルチプロセッサシステム。
【請求項５】
前記一のＭＣＵに搭載されるＣＰＵは、前記他のＭＣＵに搭載されるＣＰＵを介さずに前記周辺機能の少なくとも一部を占有する、請求項１に記載のマルチプロセッサシステム。
【請求項６】
前記一のＭＣＵに搭載されるＣＰＵは、前記他のＭＣＵに搭載されるＣＰＵを介して前記周辺機能の少なくとも一部を占有する、請求項１に記載のマルチプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＭＣＵを備えるマルチプロセッサシステムに関する。
【背景技術】
【０００２】
従来から、複数のＣＰＵからアクセス可能なメモリシステムにおいて、パラレルインターフェース又はシリアルインターフェースからＦＩＦＯを介してメモリにアクセスし、メモリの一部に割り込み要求を書き込むと、これをトリガとして割り込みを起動する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−４７０１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、共通メモリを介した上述の特許文献１に開示されるようなマルチプロセッサシステムでは、メモリへのアクセス後に割り込みを起動しているため、遅延時間が大きく、車両制御等にとって重要なリアルタイム性能が劣化するという課題がある。即ち、この種のマルチプロセッサシステムは、主にデータ処理性能の向上を目的として、共有メモリによる制御を中心として発展してきたため、割り込み処理も共有メモリの更新後に初めて起動される。その結果、端子数でメリットのあるシリアルインターフェースを介するシステムでは、割り込み処理機能の遅延時間が大きく、リアルタイム性能の向上を制約してしまう。
【０００５】
他方、例えば車載制御では、リアルタイム性能のみならず、動力性能向上、安全性能向上、燃費性能向上、快適性能向上等といった各種の性能向上のため、マイクロコントローラ（以下、ＭＣＵと称する）への要求性能は年々高くなってきている。
【０００６】
しかしながら、最大の動力性能、安全性能、快適性能等を要求する車種は生産台数が限られるため、最高性能を必要とするＭＣＵの必要数量は、限定されてしまう。このため、開発費用が少量の高性能のＭＣＵに割り掛けられ、コストを大幅に増加させる。また、半導体生産における量産効果も得難い。これらの結果、高性能のＭＣＵはコストが高くなり、それを用いたシステム（例えば車載制御システム）のコストが高くなるという課題が存在する。
【０００７】
そこで、本発明は、高性能のＭＣＵを用いることなく必要な性能を確保すると共にリアルタイム性能の向上を図ることができるマルチプロセッサシステムの提供を目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一局面によれば、複数のＭＣＵを備えるマルチプロセッサシステムにおいて、
一のＭＣＵに搭載されるＣＰＵが、他のＭＣＵに搭載される周辺機能の少なくとも一部を占有して使用するように構成され、
前記他のＭＣＵにおける前記一のＭＣＵにより占有された周辺機能から前記一のＭＣＵへの割り込み要求の通知は、前記他のＭＣＵのシリアルインターフェース及び前記一のＭＣＵのシリアルインターフェースを介して実行されることを特徴とする、マルチプロセッサシステムが提供される。
【発明の効果】
【０００９】
本発明によれば、高性能のＭＣＵを用いることなく必要な性能を確保すると共にリアルタイム性能の向上を図ることができるマルチプロセッサシステムが得られる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例（実施例１）によるマルチプロセッサシステム１の主要構成の一例を示すシステム図である。
【図２】図１のマルチプロセッサシステム１において統合制御機能を実現する際の接続関係を示す図である。
【図３】図１のマルチプロセッサシステム１においてアクチュエータ制御機能を実現する際の接続関係を示す図である。
【図４】図１のマルチプロセッサシステム１においてセンサ制御機能を実現する際の接続関係を示す図である。
【図５】図２に示した統合制御機能の作動例を示すフローチャートである。
【図６】図３に示したアクチュエータ制御機能の作動例を示すフローチャートである。
【図７】図４に示したセンサ制御機能の作動例を示すフローチャートである。
【図８】本実施例のＭＣＵ１０の構成の一例を示す図である。
【図９】マルチプロセッサシステム１においてアクチュエータ制御を実施する際のタイミングチャートである。
【図１０】本発明のその他の一実施例（実施例２）によるマルチプロセッサシステム２の主要構成の一例を示すシステム図である。
【図１１】本実施例２のマルチプロセッサシステム２のＭＣＵ１０により実行される制御フローの一例を示す図である。
【図１２】本実施例２のマルチプロセッサシステム２のＭＣＵ２０−４０により実行されるＣＰＵ制御フローの一例を示す図である。
【図１３】本実施例２のマルチプロセッサシステム２のＭＣＵ２０−４０により実行される周辺制御フローの一例を示す図である。
【図１４】その他の実施例によるＭＣＵ１０Ａの構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明を実施するための最良の形態の説明を行う。
【００１２】
図１は、本発明の一実施例（実施例１）によるマルチプロセッサシステム１の主要構成の一例を示すシステム図である。本実施例のマルチプロセッサシステム１は、高いリアルタイム性能と共に、動力性能、安全性能等の高い性能が要求される車載制御用に使用されるのが好適である。以下では、マルチプロセッサシステム１は、車載制御用マルチプロセッサシステムとして構成される場合について代表的に説明する。但し、マルチプロセッサシステム１は、車載制御用以外の用途に使用することは可能である。
【００１３】
マルチプロセッサシステム１は、同様の構造を有する４つのＭＣＵ（マイクロコントローラ）１０，２０，３０，４０を備える。
【００１４】
ＭＣＵ１０，２０，３０，４０は、それぞれ、ＣＰＵ１１，２１，３１，４１、ＡＤコンバータ（ＡＤＣ）１３，２３，３３，４３、ＤＭＡコントローラ１５，２５，３５，４５、タイマ１７，２７，３７，４７、及び，４つのＳＩＯ（Serial  Communication  Interface）１２，１４，１６，１８；２２，２４，２６，２８；３２，３４，３６，３８；４２，４４，４６，４８を備える。
【００１５】
以下では、一例として、マルチプロセッサシステム１に、統合制御機能、アクチュエータ制御機能、センサ制御機能の３つの機能を集積し、並列処理を実行させる場合を説明する。
【００１６】
統合制御機能は、マルチプロセッサシステム１の全体を統合的に制御する機能であり、例えばマルチプロセッサシステム１がエンジン制御を担う場合、統合制御機能は、アクチュエータ制御やセンサ制御から得られる各種情報に基づいて、エンジン回転数や噴射量等を判断・決定するメイン処理を行う機能である。他言すると、統合制御機能は、ＣＰＵ負荷が大きく、高い通信帯域を必要とする機能である。
【００１７】
アクチュエータ制御機能は、アクチュエータ（例えば、エンジン制御に必要な各種アクチュエータ）を駆動制御する機能である。アクチュエータ制御機能は、駆動するハードウェア（アクチュエータ）が多くなると、それだけタイマを多く使用する機能となる。
【００１８】
センサ制御機能は、センサを制御する機能である。センサ制御機能は、駆動するハードウェア（センサ）が多くなると、センサ情報が増加し、それだけＡＤコンバータを多く使用する機能となる。
【００１９】
図２は、図１のマルチプロセッサシステム１において統合制御機能を実現する際の接続関係を示す図である。図２では、統合制御機能に使用するハードウェアリソースが点線で示されている。
【００２０】
上述の如く、統合制御機能は、ＣＰＵ負荷が大きく、高い通信帯域を必要とする。従って、図２に示す例では、一例として、ＭＣＵ１０のＣＰＵ１１及びＭＣＵ２０のＣＰＵ２１の２つのＣＰＵを用いて単体ＭＣＵの２倍までのＣＰＵ性能を確保しつつ、各ＭＣＵ１０，２０，３０，４０の通信機能１９，２９，３９，４９を使用することで、単体ＭＣＵの４倍までの通信帯域を使用することを可能としている。
【００２１】
具体的には、ＭＣＵ１０のＣＰＵ１１は、図２に示すように、上辺のＳＩＯ１２を介してＭＣＵ２０，３０，４０のＳＩＯ２２，３２，４２と接続しており、各ＭＣＵ１０−４０のＳＩＯ１２−４２は、ＤＭＡコントローラ１５−４５を介して各ＭＣＵ１０−４０の通信機能１９−４９と接続している。また、ＭＣＵ１０のＣＰＵ１１は、ＭＣＵ１０の左辺のＳＩＯ１４及びＭＣＵ２０の左辺のＳＩＯ２４を介してＭＣＵ２０のＣＰＵ２１と接続し、ＣＰＵ性能の負荷分散を実現している。
【００２２】
図３は、図１のマルチプロセッサシステム１においてアクチュエータ制御機能を実現する際の接続関係を示す図である。図３では、アクチュエータ制御機能に使用するハードウェアリソースが点線で示されている。
【００２３】
上述の如く、アクチュエータ制御機能は、駆動するハードウェアが多くなると、それだけタイマを多く使用する必要がある。従って、図３に示す例では、一例として、アクチュエータ制御機能には、ＭＣＵ３０のＣＰＵ３１のみを割り当てるが、各ＭＣＵ１０−４０のタイマ１７−４７を用いて単体ＭＣＵの４倍までのタイマを使用することを可能としている。
【００２４】
具体的には、ＭＣＵ３０のＣＰＵ３１は、下辺のＳＩＯ３８を介してＭＣＵ１０，２０，４０のＳＩＯ１８，２８，４８と接続しており、各ＭＣＵ１０−４０のＳＩＯ１８−４８は、ＤＭＡコントローラ１５−４５を介して各ＭＣＵ１０−４０のタイマ１７−４７と接続している。
【００２５】
図４は、図１のマルチプロセッサシステム１においてセンサ制御機能を実現する際の接続関係を示す図である。図４では、センサ制御機能に使用するハードウェアリソースが点線で示されている。
【００２６】
上述の如く、センサ制御機能は、駆動するハードウェアが多くなると、センサ情報が増加し、それだけＡＤコンバータを多く使用する必要がある。従って、図４に示す例では、一例として、センサ制御機能には、ＭＣＵ４０のＣＰＵ４１のみを割り当てるが、各ＭＣＵ１０−４０のＡＤコンバータ１３−４３を用いて単体ＭＣＵの４倍までのＡＤコンバータを使用することを可能としている。
【００２７】
具体的には、ＭＣＵ４０のＣＰＵ４１は、右辺のＳＩＯ４６を介してＭＣＵ１０，２０，３０のＳＩＯ１６，２６，３６と接続しており、各ＭＣＵ１０−４０のＳＩＯ１６−４６は、ＤＭＡコントローラ１５−４５を介して各ＭＣＵ１０−４０のＡＤコンバータ１３−４３と接続している。
【００２８】
尚、図２乃至図４は、それぞれ別々に説明したが、図１のマルチプロセッサシステム１は、図２乃至図４に示した構成を同時に備える。この場合、統合制御機能、アクチュエータ制御機能及びセンサ制御機能は、それぞれ独立して同時に実行されうる。
【００２９】
図５は、図２に示した統合制御機能の作動例を示すフローチャートである。
【００３０】
先ず、ＭＣＵ１０のＣＰＵ１１は、統合制御の実行を開始する（ステップ５００）。次に、ＭＣＵ１０のＣＰＵ１１は、制御負荷に応じて、ＭＣＵ１０の左辺のＳＩＯ１４を介してＭＣＵ２０のＣＰＵ２１にも統合制御タスクを実行させて、負荷分散を行う（ステップ５０２）。各ＭＣＵ３０−４０の通信機能３９−４９で何らかの割り込み要求が発生した場合（ステップ５０４のＹＥＳ）、当該通信機能３９−４９は、上辺のＳＩＯ３２−４２を介して割り込み要求をＭＣＵ１０のＣＰＵ１１に通知する。これを受けて、ＭＣＵ１０のＣＰＵ１１は、割り込み要求に対応した処理（通信機能の割り込み処理）を実行する（ステップ５０６）。また、ＭＣＵ２０のＣＰＵ２１が実行中の統合制御タスクに係る割り込み要求が発生すると（ステップ５０８のＹＥＳ）、ＭＣＵ２０のＣＰＵ２１は、左辺のＳＩＯ２４を介してＭＣＵ１０に割り込み要求を通知し、ＭＣＵ１０のＣＰＵ１１は、左辺のＳＩＯ１４を介してＭＣＵ２０のＣＰＵ２１に次のタスク指示を通知して（ステップ５１０）、統合制御タスクを継続する。尚、ＭＣＵ２０の通信機能２９からの割り込み要求は、ＭＣＵ２０のＣＰＵ２１により処理され（ステップ５０２）、ＭＣＵ１０の通信機能１９からの割り込み要求は、ＭＣＵ１０のＣＰＵ１１により処理される（ステップ５００）。
【００３１】
図６は、図３に示したアクチュエータ制御機能の作動例を示すフローチャートである。
【００３２】
先ず、ＭＣＵ３０のＣＰＵ３１は、アクチュエータ制御機能を開始する（ステップ６００）。各ＭＣＵ１０，２０，４０のタイマ機能で何らかの割り込み要求が発生した場合（ステップ６０２のＹＥＳ）、各ＭＣＵ１０，２０，４０のタイマ１７，２７，４７は、下辺のＳＩＯ１８，２８，４８を介して、割り込み要求をＭＣＵ３０のＣＰＵ３１に通知する。このとき、ＭＣＵ３０のＣＰＵ３１は、タイマの割り込み処理を実行する（ステップ６０４）。尚、ＭＣＵ３０のタイマ３７からの割り込み要求は、ＭＣＵ３０のＣＰＵ３１により処理される（ステップ６００）。
【００３３】
図７は、図４に示したセンサ制御機能の作動例を示すフローチャートである。
【００３４】
先ず、ＭＣＵ４０のＣＰＵ４１は、センサ制御機能を開始する（ステップ７００）。各ＭＣＵ１０−３０のＡＤコンバータ機能で何らかの割り込み要求が発生した場合（ステップ７０２のＹＥＳ）、各ＭＣＵ１０−３０のＡＤコンバータ１３−３３は、右辺のＳＩＯ１６−３６を介して、割り込み要求をＭＣＵ４０のＣＰＵ４１に通知する。このとき、ＭＣＵ４０のＣＰＵ４１は、ＡＤコンバータの割り込み処理を実行する（ステップ７０４）。尚、ＭＣＵ４０のＡＤコンバータ４３からの割り込み要求は、ＭＣＵ４０のＣＰＵ４１により処理される（ステップ７００）。
【００３５】
図８は、本実施例のＭＣＵ１０の構成の一例を示す図である。尚、他のＭＣＵ２０−４０についても同様であってよい。
【００３６】
ＭＣＵ１０は、図８に示すように、ＣＰＵ１１と、複数のＳＩＯ１２，１４，１６，１８と、複数の周辺機能と、各周辺機能からの割り込み要求とＳＩＯ１２，１４，１６，１８からの割り込み要求を受け付ける割り込みコントローラ（ＩＮＴＣ）１１ｂと、ＳＩＯ１２，１４，１６，１８と各周辺機能との間又はＳＩＯ１２，１４，１６，１８とＣＰＵ１１との間でデータの転送を行うＤＭＡコントローラ１５と、ＣＰＵ１１，ＤＭＡコントローラ１５、各周辺機能及び各ＳＩＯ１２，１４，１６，１８を接続するバス５０とを備える。周辺機能としては、ＡＤコンバータ１３、タイマ１７及び通信機能１９等の機能が搭載される。各ＳＩＯ１２，１４，１６，１８は、それぞれ同様の構成を有する。ここでは、代表例としてＳＩＯ１２の構成について説明すると、ＳＩＯ１２は、シリアルインターフェース１２ａと、各周辺機能からの割り込み要求情報をシリアルインターフェース１２ａに通知して保持する手段１２ｂと、シリアルインターフェース１２ａの受信データに基づいて、割り込み要求情報の一部若しくは全部をクリアする手段１２ｃとを備える。
【００３７】
図９は、図８に示したＭＣＵ１０及びそれと同様の構成の他のＭＣＵ２０−４０により構成したマルチプロセッサシステム１においてアクチュエータ制御（図３及び図６参照）を実施する際のタイミングチャートを示す。
【００３８】
図９に示すように、ＭＣＵ１０，２０，４０のいずれかでタイマ機能の周辺機能（タイマ１７，２７，４７）から割り込み要求が発生すると、割り込みが発生したＭＣＵのシリアルインターフェース（ＳＩＯ１８，２８，４８）がマスタとなってシリアル通信を起動し、割り込み要因情報をＭＣＵ３０のシリアルインターフェースに送信する。送信が完了すると、割り込みが発生したＭＣＵのシリアルインターフェースは、スレーブとして待ち受け状態となる。
【００３９】
ＭＣＵ３０のシリアルインターフェース（ＳＩＯ３８）は、スレーブとして割り込み要因情報を受信すると、受信完了の割り込み要求をＩＮＴＣ３１ｂを介してＣＰＵ３１に通知する。このとき、ＭＣＵ３０のＣＰＵ３１は、シリアルインターフェースの割り込みを受け付け、受信データを解読する。そして、ＭＣＵ３０のＣＰＵ３１は、該当するタイマ機能の割り込み要因を特定し、タイマに必要な割り込み処理を実行する。必要なタイマ割り込み処理が完了すると、ＭＣＵ３０のシリアルインターフェース（ＳＩＯ３８）をマスタとし、割り込み要因情報をクリアするコマンドを、シリアルインターフェースから送信する。上述の割り込みが発生したＭＣＵのシリアルインターフェース（ＳＩＯ１８，２８，４８）は、スレーブとして、割り込み要因情報をクリアするコマンドを受信すると、割り込み要因情報（割り込み要求情報）をクリアする。
【００４０】
以上説明した本実施例１のマルチプロセッサシステム１によれば、とりわけ、以下のような優れた効果が奏される。
【００４１】
本実施例のマルチプロセッサシステム１は、ＣＰＵ性能と周辺機能のバランスが取れた安価なＭＣＵを用いて構成できるため、システムコストを低減することができる。
【００４２】
また、本実施例のマルチプロセッサシステム１は、内蔵するシリアルインターフェースが、割り込み要求送信時及び割り込み要因情報クリアコマンドの送信時にマスタとなって通信を起動することにより、周辺機能からの割り込み起動とＣＰＵからの割り込み要求情報のクリアとを、最少の遅延時間によって実行することができる。これにより、車載制御に求められる高いリアルタイム性能を実現することができる。
【００４３】
また、１つのシリアルインターフェースで割り込み要求の送信と割り込み要因情報クリアコマンドの受信を兼用することができると共に、割り込み要求の受信と割り込み要因情報クリアコマンドの送信を兼用することができるので、チップ間通信（ＭＣＵ間通信）に必要な端子数を最小限に抑えることができる。
【００４４】
また、安価なＭＣＵの搭載数を変更することで（上述の例では搭載数は４つ）、フレキシブルに性能や機能を変更することができ、単体ＭＣＵシステムから高性能マルチプロセッサシステムまで実現することができる。そのため、ロウエンドからハイエンドまでソフトウェアリソースを再利用することが可能であり、ソフトウェア開発費用の低減を図ることができる。
【００４５】
図１０は、本発明のその他の一実施例（実施例２）によるマルチプロセッサシステム２の主要構成の一例を示すシステム図である。尚、図１に示したマルチプロセッサシステム１と同一のハードウェアについて同一の参照符号を付している。
【００４６】
本実施例２のマルチプロセッサシステム２は、上述の実施例１によるマルチプロセッサシステム１に対して、ＭＣＵ１０−４０間の接続方法が異なる。上述の実施例１では、統合制御機能、アクチュエータ制御機能、センサ制御機能等のような実現する機能毎にシリアルインターフェース（ＳＩＯで図示）を割り当てていたのに対して、本実施例２では、ＭＣＵ毎に周辺機能を制御するシリアルインターフェースを割り当て、更に、ＣＰＵに共通のシリアルインターフェースを割り当てている。
【００４７】
具体的には、各ＭＣＵ２０−４０の周辺機能をアクセスするため、ＭＣＵ１０を中心に、ＭＣＵ２０−４０毎にシリアルインターフェースを割り当てる。即ち、ＭＣＵ１０は、右辺のＳＩＯ１６を介してＭＣＵ２０の各周辺機能（ＡＤコンバータ２３，タイマ２７及び通信機能２９）と接続し、左辺のＳＩＯ１４を介してＭＣＵ３０の各周辺機能（ＡＤコンバータ３３，タイマ３７及び通信機能３９）と接続し、下辺のＳＩＯ１８を介してＭＣＵ４０の各周辺機能（ＡＤコンバータ４３，タイマ４７及び通信機能４９）と接続している。更に、ＭＣＵ１０は、上辺のＳＩＯ１２を介してＭＣＵ２０−４０のＣＰＵ２１−４１と接続している。ＭＣＵ２０−４０は、それぞれ、上辺のＳＩＯ２２−４２をＤＭＡコントローラ２５−４５を介してＣＰＵ２１−４１と接続すると共に、それぞれ、左辺のＳＩＯ２４−４４をＤＭＡコントローラ２５−４５を介して各周辺機能（ＡＤコンバータ２３−４３，タイマ２７−４７及び通信機能２９−４９）と接続している。
【００４８】
図１１は、本実施例２のマルチプロセッサシステム２のＭＣＵ１０により実行される制御フローの一例を示す。
【００４９】
先ず、ＭＣＵ１０は、システム全体の制御を開始する（ステップ１１００）。次に、ＭＣＵ１０のＣＰＵ１１の負荷に応じて、上辺のＳＩＯ１２を介してＭＣＵ２０−４０の各ＣＰＵ２１−４１に対して、各機能（例えば、統合制御機能、アクチュエータ制御機能、センサ制御機能等）の処理を分散的に実行させる（ステップ１１０２）。ＭＣＵ１０は、各ＣＰＵ２１−４１からタスク完了などの割り込み要求があると（ステップ１１０４のＹＥＳ）、対応するＣＰＵに対して上辺のＳＩＯ１２を介して次のタスク指示を実行する（ステップ１１０６）。また、ＭＣＵ１０は、ＭＣＵ１０の周辺機能（ＡＤコンバータ１３，タイマ１７及び通信機能１９）から割り込み要求があると（ステップ１１０８のＹＥＳ）、対応する割り込み処理を実行し（ステップ１１１０）、他のＭＣＵ２０−４０の各周辺機能（ＡＤコンバータ２３−４３，タイマ２７−４７及び通信機能２９−４９）からそれぞれ対応するＳＩＯ２４−４４を介して割り込み要求があると（ステップ１１０８のＹＥＳ）、それぞれに対応する割り込み処理を実行する（ステップ１１１０）。
【００５０】
図１２は、本実施例２のマルチプロセッサシステム２のＭＣＵ２０−４０により実行されるＣＰＵ制御フローの一例を示す。
【００５１】
ＭＣＵ２０−４０の上辺のＳＩＯ２２−４２を介してＭＣＵ１０からＭＣＵ２０−４０の各ＣＰＵ２１−４１にタスク指示があると（ステップ１２０２のＹＥＳ）、各ＣＰＵ２１−４１は、それぞれのタスクを実行する（ステップ１２０４）。各ＣＰＵ２１−４１は、タスクを完了すると（ステップ１２０６のＹＥＳ）、上辺のＳＩＯ２２−４２を介してＭＣＵ１０にタスクの完了を通知し（ステップ１２０８）、次のタスクの指示を待つ。
【００５２】
図１３は、本実施例２のマルチプロセッサシステム２のＭＣＵ２０−４０により実行される周辺制御フローの一例を示す。
【００５３】
ＭＣＵ２０−４０の左辺のＳＩＯ２４−４４を介してＭＣＵ１０からＭＣＵ２０−４０の各周辺機能（ＡＤコンバータ２３−４３，タイマ２７−４７及び通信機能２９−４９）に対する制御指示があると（ステップ１３０２のＹＥＳ）、左辺のＳＩＯ２４−４４は、ＤＭＡコントローラ２５−４５を介して各周辺機能（ＡＤコンバータ２３−４３，タイマ２７−４７及び通信機能２９−４９）を制御する（ステップ１３０４）。また、各周辺機能（ＡＤコンバータ２３−４３，タイマ２７−４７及び通信機能２９−４９）から割り込み要求があると（ステップ１３０６のＹＥＳ）、左辺のＳＩＯ２４−４４を介してＭＣＵ１０に割り込み要求を通知する（ステップ１３０８）。
【００５４】
尚、ＭＣＵ１０−４０の構造の詳細及びタイミングチャートは、上述の実施例１と同様であってよい（図８，９参照）。
【００５５】
以上説明した本実施例２のマルチプロセッサシステム２によれば、上述の実施例１のマルチプロセッサシステム１と同様の効果に加えて、とりわけ、以下のような優れた効果が奏される。
【００５６】
上述の如く、ＭＣＵ２０−４０の各ＣＰＵ２１−４１と各周辺機能（ＡＤコンバータ２３−４３，タイマ２７−４７及び通信機能２９−４９）とを分離して制御し、ＭＣＵ１０がシステム全体を制御し、且つ、ＭＣＵ２０−４０毎に周辺機能を制御するシリアルインターフェース（ＳＩＯ１４，３４；１６，２４；１８，４４）を割り当てることで、ＭＣＵ２０−４０の制御構造を統一することができる。この結果、ソフトウェア開発やメインテナンスの効率の更なる向上を図ることができる。
【００５７】
次に、上述の実施例１，２におけるＭＣＵ１０−４０が取りうるその他の構成について説明する。
【００５８】
図１４は、上述の実施例１，２におけるＭＣＵ１０として使用されてもよいＭＣＵ１０Ａの構成を示す図である。尚、図示のＭＣＵ１０Ａの構成は、上述の実施例１，２における他のＭＣＵ２０−４０にも同様に採用されてよい。尚、上述の如く量産効果等の観点からは、全てのＭＣＵ１０−４０が互いに同一の構造であることが好ましい。
【００５９】
ＭＣＵ１０Ａは、図１４に示すように、ＣＰＵ１１と、複数のＳＩＯ１２，１４，１６，１８と、複数の周辺機能と、各周辺機能からの割り込み要求とＳＩＯ１２，１４，１６，１８からの割り込み要求を受け付ける割り込みコントローラ（ＩＮＴＣ）１１ｂと、ＣＰＵ１１，ＤＭＡコントローラ１５、各周辺機能及び各ＳＩＯ１２，１４，１６，１８を接続するバス５０とを備える。周辺機能としては、ＡＤコンバータ１３、タイマ１７及び通信機能１９等の機能が搭載される。各ＳＩＯ１２，１４，１６，１８は、それぞれ同様の構成を有する。ここでは、代表例としてＳＩＯ１２の構成について説明すると、ＳＩＯ１２は、シリアルインターフェース１２ａと、各周辺機能からの割り込み要求情報をシリアルインターフェース１２ａに通知して保持する手段１２ｂと、シリアルインターフェース１２ａの受信データに基づいて、割り込み要求情報の一部若しくは全部をクリアする手段１２ｃとを備える。
【００６０】
ＭＣＵ１０Ａは、図８に示したＭＣＵ１０の構成との主なる相違点として、各ＳＩＯ１２，１４，１６，１８に対応して複数のＤＭＡコントローラ１５Ａ−１５Ｄを有する。即ち、ＳＩＯ１２に対してＤＭＡコントローラ１５Ａが設けられ、ＳＩＯ１４に対してＤＭＡコントローラ１５Ｂが設けられ、ＳＩＯ１６に対してＤＭＡコントローラ１５Ｃが設けられ、ＳＩＯ１８に対してＤＭＡコントローラ１５Ｄが設けられる。また、ＭＣＵ１０Ａは、図８に示したＭＣＵ１０の構成との主なる相違点として、周辺機能が発生する割り込み要求を各ＳＩＯ１２，１４，１６，１８に選択的に通知する割り込み選択回路５２を有する。
【００６１】
ＤＭＡコントローラ１５Ａ−１５Ｄは、対応するＳＩＯ１２，１４，１６，１８からの指示に基づいて、ＳＩＯ１２，１４，１６，１８と各周辺機能との間、又は、ＳＩＯ１２，１４，１６，１８とＣＰＵ１１との間でデータの転送を行う。
【００６２】
割り込み選択回路５２は、ＭＣＵ１０Ａ内の各周辺機能から発生する割り込み要求のうち、他のＭＣＵ２０−４０で割り込み処理を実施すべき要求のみを選択して、対応するＳＩＯ１２，１４，１６，１８に供給する。また、割り込み選択回路５２は、ＩＮＴＣ１１ｂに対して、ＭＣＵ１０Ａ内の各周辺機能から発生する割り込み要求のうち、他のＭＣＵ２０−４０で割り込み処理を実施すべき要求を除いて供給する。即ち、割り込み選択回路５２は、ＭＣＵ１０Ａ内の各周辺機能から発生する割り込み要求のうち、ＭＣＵ１０Ａで割り込み処理を実施すべき要求のみを選択して、ＩＮＴＣ１１ｂに供給する。
【００６３】
尚、ＭＣＵ１０Ａのタイミングチャートは、上述の実施例１と同様であってよい（図９参照）。但し、図１４に示す例によれば、上述の如く他のＭＣＵ２０−４０で実行すべき割り込み要求情報のみがＳＩＯ１２，１４，１６，１８で通信されるので、無駄な通信が発生しない。また、ＳＩＯ１２，１４，１６，１８毎に１つずつＤＭＡコントローラ１５Ａ−１５Ｄを有するので、ＭＣＵ１０Ａに搭載する各周辺機能を他のＭＣＵ２０−４０から制御する場合の制御が容易になる。
【００６４】
以上説明したＭＣＵ１０Ａの構成をＭＣＵ２０−４０として採用するマルチプロセッサシステムによれば、上述の実施例１のマルチプロセッサシステム１と同様の効果に加えて、とりわけ、以下のような優れた効果が奏される。
【００６５】
上述の如く、ＳＩＯ１２，１４，１６，１８毎に１つずつＤＭＡコントローラ１５Ａ−１５Ｄを有するので、他のＭＣＵ２０−４０から各周辺機能を制御することが容易になる。また、他のＭＣＵ２０−４０で処理すべき割り込み要求のみが通信され、無駄な通信を防ぐことができる。
【００６６】
また、ＳＩＯ１２，１４，１６，１８毎に１つずつＤＭＡコントローラ１５Ａ−１５Ｄを有すると共に、割り込み選択回路５２によって割り込み要求をＩＮＴＣ１１ｂと各ＳＩＯ１２，１４，１６，１８とに選択的に通知することができる。これにより、ＳＩＯ１２，１４，１６，１８に関連する周辺機能とＤＭＡコントローラ１５Ａ−１５Ｄとを、実現すべき機能毎に分離することが可能となり、機能相互の干渉を効果的に防止することができる。
【００６７】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施例に種々の変形及び置換を加えることができる。
【００６８】
例えば、上述した各実施例のマルチプロセッサシステム１，２では、４つのＭＣＵ１０−４０を用いているが、ＭＣＵの数は任意であり、２つ以上であればよい。また、マルチプロセッサシステム１，２におけるＭＣＵ１０−４０の搭載位置は任意であり、互いに近接した位置に配置されてもよいし、比較的離れた位置に配置されてもよい。前者の場合として、４つのＭＣＵ１０−４０は、同一のＥＣＵユニット内に組み込まれてもよい。また、後者の場合として、例えば、ＭＣＵ１０−３０が車両のインストルメントパネル内に配置され、ＭＣＵ４０が車両の後部に配置されてもよい。
【００６９】
また、上述した各実施例のマルチプロセッサシステム１，２では、１つのＭＣＵが４つのＳＩＯを有していたが、ＳＩＯの数は、４つに限定されず、上述の接続態様が実現できる必要数があればよい。
【符号の説明】
【００７０】
１，２    マルチプロセッサシステム
１０，２０，３０，４０    ＭＣＵ
１１    ＣＰＵ
１１ｂ    割り込みコントローラ
１２    ＳＩＯ
１２ａ    シリアルインターフェース
１３    ＡＤコンバータ
１４    ＳＩＯ
１５    ＤＭＡコントローラ
１６    ＳＩＯ
１７    タイマ
１８    ＳＩＯ
１９    通信機能
２１，３１，４１    ＣＰＵ
２２，３２，４２    ＳＩＯ
２３，３３，４３    ＡＤコンバータ
２４，３４，４４    ＳＩＯ
２５，３５，４５    ＤＭＡコントローラ
２６，３６，４６    ＳＩＯ
２７，３７，４７    タイマ
２８，３８，４８    ＳＩＯ
２９，３９，４９    通信機能
５０    バス
５２    割り込み選択回路
【図１】
2011180822.tif 000003
【図２】
2011180822.tif 000004
【図３】
2011180822.tif 000005
【図４】
2011180822.tif 000006
【図５】
2011180822.tif 000007
【図６】
2011180822.tif 000008
【図７】
2011180822.tif 000009
【図８】
2011180822.tif 000010
【図９】
2011180822.tif 000011
【図１０】
2011180822.tif 000012
【図１１】
2011180822.tif 000013
【図１２】
2011180822.tif 000014
【図１３】
2011180822.tif 000015
【図１４】
2011180822.tif 000016