(57)【要約】【課題】マルチコアマイコンシステムの開発方法及び開発装置において、少なくとも一つのパラメータを有するマルチコアを有するコントローラモデルがシミュレートされ、同時に少なくとも一つのパラメータを有し前記コントローラモデルにより制御される装置モデルがシミュレートされる。【解決手段】ユーザインターフェイスがコントローラモデルおよび装置モデルのパラメータにアクセスし、トリガーイベントに応じて選択的にコントローラモデルおよび装置モデルの実行を保留する。ユーザインターフェイスは、トリガー時にコントローラモデルおよび装置モデルのパラメータを変更することなく、コントローラモデルの各コアの種々のパラメータ及び装置モデルのパラメータの状態を決定し、決定された両コアのパラメータは表示装置に表示される。【選択図】図１
2010015534.tif 000002
【特許請求の範囲】
【請求項１】
マルチコアマイコンを有するコントローラモデルにおいて、少なくとも一つのパラメータを有する前記コントローラモデルの各コアをシミュレートするステップと、
少なくとも一つのパラメータを有し前記コントローラモデルに制御される装置モデルをシミュレートするステップと、
前記コントローラモデルの各コアおよび装置モデルのパラメータにアクセスするユーザインターフェイスをシミュレートするステップと、
トリガーイベントに応じて前記ユーザインターフェイスを介してコントローラモデルの各コアおよび装置モデルの実行を保留するステップと、
前記コントローラモデルの各コアのパラメータ又は装置モデルのパラメータの少なくとも一つの状態を、前記コントローラモデル及び装置モデルのパラメータを変更することなく、前記ユーザインターフェイスを介して前記保留ステップの間に決定するステップと
からなることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項２】
請求項１に記載のマルチコアマイコンシステムのシミュレーション方法において、前記トリガーイベントは前記装置モデルの選択されたパラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項３】
請求項１に記載のマルチコアマイコンシステムのシミュレーション方法において、前記トリガーイベントは前記コントローラモデルの選択されたコアの選択された出力パラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項４】
請求項１に記載のマルチコアマイコンシステムのシミュレーション方法において、前記トリガーイベントは前記コントローラモデルの選択された内部パラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項５】
請求項１に記載のマルチコアマイコンシステムのシミュレーション方法において、前記トリガーイベントは前記ユーザインターフェイスにセットされた条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項６】
請求項１に記載のマルチコアマイコンシステムのシミュレーション方法において、さらに前記ユーザインターフェイスを介してコントローラモデルおよび装置モデルの各コアの実行速度を制御するステップを有することを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項７】
請求項１に記載のマルチコアマイコンシステムのシミュレーション方法において、さらに前記コントローラモデルの各コアのパラメータ又は装置のモデルパラメータの少なくとも一つを表示するステップを有することを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項８】
請求項１に記載のマルチコアマイコンシステムのシミュレーション方法において、さらに値を計算し、計算された値を表示装置に表示するステップを有することを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項９】
請求項８に記載のマルチコアマイコンシステムのシミュレーション方法において、計算された前記の値は少なくとも一つの前記コアの負荷を含むことを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項１０】
請求項８に記載のマルチコアマイコンシステムのシミュレーション方法において、計算された前記の値は前記コアのソフトウェアコンポーネントの負荷を含むことを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項１１】
請求項８に記載のマルチコアマイコンシステムのシミュレーション方法において、前記ソフトウェアコンポーネントは、アイドル動作に関するアイドルコンポーネントを含み、前記アイドルコンポーネントの負荷は新しい仕事を指定した場合に比較されることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
【請求項１２】
マルチコアマイコンを有するコントローラモデルにおいて、少なくとも一つのパラメータを有する前記コントローラモデルの各コアをシミュレートする手段と、少なくとも一つのパラメータを有し前記コントローラモデルに制御される装置モデルをシミュレートする手段と、前記コントローラモデル及び前記装置モデルのパラメータにアクセスするユーザインターフェイスをシミュレートする手段と、トリガーイベントに応じて前記ユーザインターフェイスを介してコントローラモデルの各コアおよび装置モデルの実行を保留する手段と、前記コントローラモデルの各コアのパラメータ又は装置モデルのパラメータの少なくとも一つの状態を、前記コントローラモデル及び装置モデルのパラメータを変更することなく前記ユーザインターフェイスを介して前記保留ステップの間に決定する手段とを有することを特徴とするマルチコアマイコンシステムのシミュレーション装置。
【請求項１３】
請求項１２に記載のマルチコアマイコンシステムのシミュレーション装置において、前記トリガーイベントは前記装置モデルの選択されたパラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション装置。
【請求項１４】
請求項１２に記載のマルチコアマイコンシステムのシミュレーション装置において、前記トリガーイベントは前記コントローラモデルの選択された出力パラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション装置。
【請求項１５】
請求項１２に記載のマルチコアマイコンシステムのシミュレーション装置において、前記トリガーイベントは前記コントローラモデルの選択された内部パラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション装置。
【請求項１６】
請求項１２に記載のマルチコアマイコンシステムのシミュレーション装置において、さらに前記ユーザインターフェイスにおける前記トリガーイベントをセットする手段を有することを特徴とするマルチコアマイコンシステムのシミュレーション装置。
【請求項１７】
請求項１２に記載のマルチコアマイコンシステムのシミュレーション装置において、さらに前記コントローラモデルの各コアのパラメータ又は装置モデルのパラメータの少なくとも一つを表示する手段を有することを特徴とするマルチコアマイコンシステムのシミュレーション装置。
【請求項１８】
請求項１２に記載のマルチコアマイコンシステムのシミュレーション装置において、さらに値を計算する手段と、計算された値を表示装置に表示する手段を有することを特徴とするマルチコアマイコンシステムのシミュレーション装置。
【請求項１９】
請求項１８に記載のマルチコアマイコンシステムのシミュレーション装置において、計算された前記の値は少なくとも一つの前記コアの負荷を含むことを特徴とするマルチコアマイコンシステムのシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチコアマイコンシステムの開発方法および開発装置に関する。
【背景技術】
【０００２】
多くのアプリケーションがマイクロコンピュータ（マイコン）を用いたコントローラを有しており、マイコンは装置と呼ばれるデバイスを制御するために用いられる。例えば、自動車産業においてはマイコンはエンジンスロットルの駆動制御に用いられる。この場合、エンジンスロットルが装置を構成する。
【０００３】
そのようなマイコン制御システムの開発を容易にするために、従来用いられてきたのがシミュレーションプログラムや開発プログラムであり、これは制御システムの動作をシミュレートする。これらの既知のプログラムは実際のコントローラを実際の装置で用いる。プログラム制御によりコントローラは制御信号を装置に送り、所定の動作を実行させる。
【０００４】
マルチコアマイコンシステムの開発の一部として常に必要なのは、コントローラで実行するプログラムのデバッグと微調整である。これは従来コントローラのプログラムコードにブレークポイント（強制実行停止コード）を設けて行ってきた。コントローラ内でブレークポイントに行き当たるとプログラムの実行が停止し、プログラマはコントローラモデルと装置モデルの種々のパラメータをチェックできる。これらパラメータは内部レジスタ値、入出力信号状態、インターラプト状態、パラメータ値等を含む。
【０００５】
システムの所望の動作が得られればブレークポイントは一般に除去され、さらにコントローラ及び装置のデバッグと微調整が反復して実施される。例えば、コントローラプログラムの特定部分が微調整及びデバッグされブレークポイントが削除されたとき、全プログラムの所望の装置モデル動作が完成するようデバッグ及び微調整されるまで、ブレークポイントをコントローラプログラムの他の部分に挿入することが必要となる。
【０００６】
上記のコントローラ及び装置を開発する従来方法の主な欠点は、少なくとも一つのブレークポイントのコントローラプログラムへの挿入は、コントローラのプログラミングの変更を要するため障害になるということである。すなわち、そのようなコントローラプログラミングの変更は、一方で所望せず予期しない動作変更をコントローラや装置に引き起こすことがある。そのような所望せず予期しない動作変更は、追加のデバッグ及び微調整をマイコン制御システム全体に要求する。
【０００７】
従来の装置制御用マイコンでは、一般的に単一のコア（ＣＰＵ）を備えていた。しかし最近のマイコンは複数のコアを備えている。例えば、デュアルコアマイコンは２つの独立したコアを有し、各々が独立かつ同時に各々のコンピュータプログラムを実行する。マルチコアマイコンはシングルコアマイコンに比べ動作速度が優れており、そのプログラミング及びデバッグは新しい課題を提示している。例えば、特許文献１には、プロセッサにマルチコアを用いたマルチコアモデルのシミュレーション方法が開示され、コアモデル処理とコアモデル間の通信処理を並列に行う例が開示されている。
【０００８】
例えば、適切なマルチコアマイコンシステムのプログラミングとデバッグには、所定時間内に実行される命令の数がほぼ同じであることが非常に望ましい。そうでなければ、マルチコアマイコンシステムの全体的な効率が損なわれる。
【０００９】
【特許文献１】特開2007-122602号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来知られていたマルチコアマイコンシステムのデバッグを正確に行う開発装置は、マルチコアマイコンシステムの実行を正確に反映していた。その場合、マルチコアマイコンシステムの開発は、シングルコアマイコン制御システム用の開発システムをマルチコアマイコンの各々のコアに適用していた。しかしながら、これはマイコンの各コア間に存在する相互作用を考慮しておらず、マルチコアマイコンシステムのデバッグに不正確さをもたらした。
【課題を解決するための手段】
【００１１】
本発明は、マルチコアマイコンシステムの開発方法及び開発装置であって、上述した従来方法及び装置の欠点を解決するものを提供する。
【００１２】
要するに、本発明の方法は、少なくとも一つのパラメータを持つコントローラモデルと少なくとも一つのパラメータを持ち前記コントローラモデルで制御される装置モデルをシミュレートする。これらのパラメータは、コントローラモデルのマルチコアのレジスタ値を含み、コントローラモデル及び装置モデルの入出力状態を含み、各コアの内部パラメータ値とシステムの全状態を示す他のファクタを含む。
【００１３】
コントローラモデルと装置モデルのコアパラメータにアクセスするユーザインターフェイスが用いられる。シミュレーションの間、ユーザインターフェイスは、トリガーイベントに応じてコントローラモデルと装置モデルの実行を保留する。トリガーイベントは、装置モデルまたはコントローラモデルの条件、割り当て時間でもよく、ユーザインターフェイス経由で与えられても良い。
【００１４】
コントローラモデルと装置モデルの実行を保留する間、ユーザインターフェイスは、コントローラモデルパラメータまたは装置モデルパラメータのいずれも変更することなく、コントローラモデルのマルチコアのパラメータ及び装置モデルパラメータを決定する。
【００１５】
コントローラモデルと装置モデルのプログラム実行の保留は目立たずに行われ、言い換えればブレークポイントのコントローラモデルプログラムへの挿入によるコントローラプログラムの変更がないため、そのようなブレークポイントの導入により生じうる所望せず予期しないエラーの導入が回避できる。
【００１６】
コントローラモデルのマルチコアおよび装置モデルのための多種パラメータの値は、ユーザインターフェイスによりメモリに記憶され、選択的にディスプレイに表示される。多種パラメータの値に加えて、他の値、例えばマルチコアマイコンシステムの各コアの負荷値も同様に保存され、表示される。
【００１７】
このように、マルチコアマイコンの各コアのプログラムは、マイコンの各コアの負荷をバランスさせ、各コアの負荷がほぼ同じになるように実行される。
【発明の効果】
【００１８】
本発明は上記のように、一旦トリガーイベントが生じたとき、ブレークポイントをコントローラモデルのコア用プログラムコードへ挿入せずにシミュレーションの保留または停止が発生し、コントローラモデルまたは装置モデルのいかなるパラメータ値への影響も与えない。さらにコントローラモデルのマルチコアのコンピュータコードデバック量を最小にする。
【００１９】
さらに、各コアへの種々のソフトウェアの負荷などの種々の計算値もまたプログラマに表示され、プログラマがコントローラの最適効率のためにコアプログラミングを調整することを可能にする。
【発明を実施するための最良の形態】
【００２０】
図１は、本発明の好適な実施例における、マルチコアマイコンシステムの開発装置１０のブロック図を示す。マルチコアマイコンから構成されるコントローラモデル１２はプログラム制御下で作動し、少なくとも一つの制御ライン１６により装置モデル１４の動作を制御する。装置モデル１４はマイコン制御のどの対象でもよく、自動車産業における装置モデルは電子制御スロットル弁でもよい。そのその装置モデルにおいて、コントローラモデル１２は動作制御すなわちスロットル弁の開閉制御を行う。
【００２１】
図２は、コントローラモデル１２のブロック図を示す。コントローラモデル１２は少なくとも二つ乃至Ｎ個のコア１８を有し、各コア１８はＣＰＵを構成する。各コア１８はさらにバス２０を介して少なくとも一つの周辺モジュール２２と交信する。バス２０はインターラプトコントローラ２４と交信しても良く、入出力ポート２６と交信しても良い。
【００２２】
マルチコア１８を有するマルチコアマイコンシステムからなるコントローラモデル１２において、各コア１８は独立に各々のコンピュータプログラムを他のコア１８と同時に実行する。全てのコアは共通データバス２０を共有しており、二つ以上のコア１８が同時にデータバス２０にアクセス要求した場合は、データバス２０が再びアイドル状態のコア１８からデータを受ける自由状態に戻るまで一つまたはそれ以上のコア１８がアイドル状態に入る。
【００２３】
図３は、電子スロットル制御としての装置モデル１４のブロック図を示す。そのような装置モデル１４は、ライン４４に示すモータ電流とトルクのようなパラメータを持つシミュレートされたモータ４０を有する。装置モデル１４はまたシミュレートされたセンサ４６を有し、スロットルプレートの角度を示すシミュレートされた出力４８を有する。ライン４４、４８の値は装置モデル１４のパラメータを構成し、これはコントローラモデル１２の命令に応じて変化する。
【００２４】
図１において、プロセッサを有するユーザインターフェイス３０はコントローラモデル１２と入出力ライン３２を介して通信する。同時に、ユーザインターフェイス３０は入出力ライン３４を介して装置モデル１４と通信する。ユーザインターフェイス３０はまた、ビデオモニタ、プリンタ、データ記憶装置等の出力装置３６と通信し、システムオペレータがコントローラ１２と装置モデル１４の間の全システムシミュレーションの結果を分析することを可能とする。同時に、マウス、キーボード等の入力装置３８もまた、ユーザインターフェイス３０と通信し、システムオペレータに全システムシミュレーションの実行を制御させる。
【００２５】
ユーザインターフェイス３０とコントローラ１２、装置モデル１４を結ぶ通信ライン３２、３４は、ユーザインターフェイス３０を介してシステムオペレータにコントローラ１２、装置モデル１４の種々のパラメータへのアクセスを可能とする。加えて、通信ライン３２、３４はユーザインターフェイス３０に、コントローラモデル１２、装置モデル１４のどのパラメータ値も変えずに、コントローラモデル１２と装置モデル１４の実行を保留させることができる。
【００２６】
さらに、シミュレートされたコントローラモデル１２と装置モデル１４の実行保留の間、システムオペレータは図２に示すコントローラモデル１２内の各コア１８の種々のパラメータ、または図３に示す装置モデル１４の種々のパラメータを、これらパラメータの値を変えずに取り出すことができる。従って、各コア１８のためのコントローラプログラムシミュレーションの実行再開において、コントローラモデル１２は、コントローラモデル１２と装置モデル１４の実行保留によりシステムのシミュレーションに影響を与えることなく、実行を継続することができる。
【００２７】
図１のブロック図において、コントローラモデル１２と装置モデル１４を有するシミュレータおよびユーザインターフェイス３０は、コントローラモデル１２と装置モデル１４およびユーザインターフェイス３０用の個別のデータプロセッサ１、２、３を用いて実行される。
【００２８】
しかし、コントローラモデル１２と装置モデル１４およびユーザインターフェイス３０はかならずしも個別のプロセッサを用いる必要は無い。代わりに、図４に示すように、単一のデータプロセッサのコンピュータシステムが、コントローラモデル１２や装置モデル１４、インターフェイス３０の実行のために用いられても良い。
【００２９】
図５Ａ〜Ｄにおいて、全システムのシミュレーション出力の例が図示され、図１に示すビデオディスプレイ等の出力装置３６に表示される。例えば図５Ａにおいてテーブル１００はコントローラモデル１２の各コアのために表示され、ここで各テーブル１００はコントローラの特定コアに関連する種々のパラメータと算出値を含む。
【００３０】
上記テーブル１００は、コア１８の一つで実行される実行コードを示すＴＡＳＫ、ＩＤＬＥ、ＯＳ等のカテゴリー名を有する。テーブル１００はまた、各カテゴリーのコール回数や、命令数、消費されたサイクル数、負荷率を含む。例えばコントローラ１２の第１コア（ＣＰＵ＃１）に示すように、カテゴリー「タスク」は第１コア時間の５５％を消費し、「ＩＤＬＥ」には５０００コールがあり第１コア時間の３５％を消費する等である。
【００３１】
図５Ｂ〜５Ｄは、出力デバイス３６の全マルチコアマイコンシステムのシミュレーションの他の例示出力を示す。例えば、図５Ｂはコントローラモデル１２または装置モデル１４のコアの一つにおけるパラメータ値を示すグラフである。図５Ｃはコントローラ１２のコアの一つのレジスタ値テーブルを示す。図５Ｄはコントローラ１２のコア１８で現在実行中のアセンブリコードテーブルを示す。
【００３２】
例えば、図５Ｄで、アドレス００００００はコード０Ｆ９Ａをストアし、レジスタＲ０、Ｒ１を図５Ｃのテーブル中でＡＤＤする。アドレス０００００２はコードＣ００３をストアし、レジスタＲ１の値をテーブル中でメモリのＲ３に移動する。アドレス０００００４はコード２８ＤＢをストアし、テーブル中でレジスタＲ２とＲ３の値を掛ける。アドレス０００００６はコードＦ３５Ｅをストアし、テーブル中でレジスタのＲ４にジャンプする。
【００３３】
テーブル１００の負荷率は計算値であり、一方テーブル１００の他の情報はコントローラモデルの種々のパラメータに関係する。また、他の異なるテーブル１００がコントローラ１２の各コアについて生成され、この複数のテーブル１００は必要に応じ同時に表示される。他のタイプの表示たとえばグラフもインターフェイス３０で表示可能である。
【００３４】
図６に示すフローチャートには、コントローラ１２の各コア１８のテーブル１００の生成に関する本実施例の動作が記載される。プログラムはステップ１１０でスタートし、すぐにステップ１１２に進む。ステップ１１２ではプログラムは、コアがファンクションコール命令を実行中か否かを決定する。もし実行していない場合はステップ１１２はステップ１１４に分岐する。
【００３５】
もしステップ１１２でコアがファンクションコール命令を実行している場合は、ステップ１１２はステップ１１６に進みファンクションコールＩＤまたはアドレスが決定される。次いでステップ１１６はステップ１１４に進む。
【００３６】
ステップ１１４において、インターフェイス３０はコントローラモデルの一つのコア１８のサイクル数と命令数を計算し、ステップ１１５に進む。
【００３７】
ステップ１１５で、インターフェイス３０は、コントローラモデルのコア１８で処理される各カテゴリーの命令および機能名の負荷率を計算する。ステップ１１５は次いでステップ１１８に進み、値が例えば表示装置に表示されまたはメモリに保存される。ステップ１１８は次いでステップ１２０に進み、コントローラモデルのコア１８のための次の命令がステップ１１２に戻って処理され、上記ステップが次の命令のために反復される。
【００３８】
図６のフローチャートは、当然ながらコントローラモデル１２の各コア１８につき反復される。この方法で図５に示すテーブル１００がコントローラモデル１２の各コア１８につき生成され表示装置に表示されても良い。
【００３９】
これはプログラマがコントローラモデル１２の種々のコア１８に対しプログラミングを調整し、これにより全てのコア１８への負荷率をほぼ同一にすることを可能にする。この方法によりコントローラモデル１２の種々のコア１８の計算能力は、コントローラモデルの効率的動作とほぼ同一となる。
【００４０】
図７において、図６のフローチャートの変形例が示されている。図７のフローチャートは、シミュレーションの最後におけるコントローラモデル１２の全てのコア１８の種々のファクタとパラメータの総計を示す。
【００４１】
更に詳細に言えば、プログラムはステップ１１５の負荷率計算の後でステップ１４０に進み、命令のカテゴリー名を決定する。カテゴリー名を決定するためにいずれかの公知の手段、例えばルックアップテーブルが用いられても良い。
【００４２】
ステップ１４２で、プログラムはシミュレーションが終了したか決定する。もし終了していなければ、ステップ１４２はステップ１１２に戻り、ステップ１１２で開始された処理が各コア１８の次の命令のために反復される。
【００４３】
反対に、シミュレーションが終了したと仮定した場合、ステップ１４２は代わりにステップ１４４に進み、コントローラモデル１２の各コア１８の負荷率を含む種々の演算カテゴリーの全体の値が決定される。ステップ１４４は次いでステップ１１８に進み、それらの値を表示し、ステップ１４６に進み、シミュレーションが終了する。
【００４４】
動作中に、シミュレーションはユーザインターフェイス３０の制御の下に実行される。シミュレーションの間、シミュレーション速度はユーザインターフェイス３０により例えばクロック信号速度を変更する等で制御される。
【００４５】
シミュレーションはトリガーイベントが検出されるまで継続する。トリガーイベントはユーザによりユーザインターフェイス３０を介して起動され、またはコア１８の一つの特定レジスタ値が所定条件になったとき等に、ユーザインターフェイス３０により起動される。
【００４６】
トリガーイベントが発生するいずれのイベントでも、インターフェイス３０はコントローラモデル１２および装置モデル１４へのクロック信号を停止してシステムシミュレーションを保留する。このとき、図６及び図７に記載されたプログラムが実行され、コントローラモデル１２の種々のコア１８の種々のパラメータ及び装置モデル１４のパラメータが表示装置に表示される。
【００４７】
言うまでもなくコントローラ及び装置モデルシミュレーション動作の保留に多数の異なるタイプのトリガーイベントを用いることができ、コントローラモデル及び装置モデルの種々のパラメータが表示装置に表示される。
【００４８】
例えば、このトリガーイベントは、装置モデルまたはコントローラモデルの少なくとも一つのレジスタの所定値とすることができる。同様に、コントローラモデルのインターラプト状態もトリガーイベントを構成できる。同様に、装置モデルまたはコントローラの種々のパラメータがトリガーイベントを構成できる。
【００４９】
本実施例の重要な長所は、一旦トリガーイベントが生じたとき、ブレークポイントをコントローラモデル１２のコア１８用プログラムコードへ挿入せずにシミュレーションの保留または停止が発生し、コントローラモデルまたは装置モデルのいかなるパラメータ値への影響も与えないことである。これは、同様にコントローラモデル１２のコア１８のためのコンピュータコードデバック量を最小にする。
【００５０】
図８はマルチコアマイコンの各コア（ＣＰＵ＃１、＃２、…＃Ｎ）のテーブル１００における表示を示す。マルチコアマイコンの一つのコアを選択して新しいタスクを処理させるには、各カテゴリー（ＴＡＳＫ：タスク、ＩＳＲ：インターラプトルーチン、ＯＳ：オペレーションシステム、ＩＤＬＥ：アイドル）の負荷率が各コアにつき計算される。
【００５１】
優先度が低く通常優先度のプログラムにインパクトを与えないアイドル動作、たとえばＯＳスケジューラによりジョブのない時に負荷されたアイドルタスク、の負荷率が各カテゴリーのプロセッサ占有度によって計算される。アイドル動作で最も高い負荷率を持つコアがマルチコアのいずれにも指定されていない新しいタスク処理能力を持つことになる。
【００５２】
マルチコアマイコン処理プロセスは、対称マルチ処理（ＳＭＰ）と非対称マルチ処理（ＡＭＰ）に分けられる。ＳＭＰでは単一のＯＳが全てのＣＰＵを同時に管理しアプリケーションはどのＣＰＵにもフロート可能である。一方、ＡＭＰは個別にＯＳを各コアで動かし、各アプリケーションは特定コアに固定されている。
【００５３】
上記ＳＭＰは非決定的システムであり重要なソフトウェア機能を保証応答時間内に実行することが保証されず、保証応答時間を要求する自動車産業のシステムには適当でない。従って本実施例では、各コアの実行情報はＡＭＰプロセスを持つマルチコアを用いて計算される。
【００５４】
開発者は、設計段階で最高のパフォーマンスをあげるためにいくつかのタスクを固定プロセッサリソースに指定する必要がある。ＡＭＰの使用は各コア情報を用いた計算を必要とするが、レガシーコードの使用が容易であり、ソフトウェアのメモリやインターラプト等のシステムリソースの利用につき完全な制御を保証する。
【００５５】
本実施例において各コアでの実行情報、例えばサイクル、命令、コール等の数は、各コアに指示する前に得られる。従って各コアのアイドル負荷率が計算され比較される。これにより、最も高いアイドル負荷率を持つコアに指示された新しいタスクを得ることが可能である。従って、図８においてアイドル負荷率８０％を持つ第２コア（ＣＰＵ＃２）が選択される。この選択はユーザのディスプレイによる選択か、あるいは自動的にプログラムが設定しマルチコアの一つに保存したルールによって可能である。
【００５６】
上述のように、本発明は、マルチコアマイコンシステムの開発装置と方法を提供し、それは、シミュレーションにおいてマルチコアマイコンコントローラおよび装置の全てのコアの種々のパラメータ状態を目立たずにモニター可能であることが明らかである。
【００５７】
さらに、各コアへの種々のソフトウェアの負荷などの種々の計算値もまたプログラマに表示され、プログラマがコントローラの最適効率のためにコアプログラミングを調整することを可能にする。
【００５８】
以上のように本発明を説明したが、当業者に自明な多くの変形例が本発明の主旨に含まれクレーム内に含まれる。
【図面の簡単な説明】
【００５９】
【図１】シミュレーション装置を示すブロック図である。
【図２】本発明実施例のコントローラモデルの詳細を示すブロック図である。
【図３】本発明実施例の装置モデルの詳細を示すブロック図である。
【図４】図１のシミュレーション装置の変形例を示すブロック図である。
【図５Ａ】本発明実施例の出力ディスプレイの例示画面である。
【図５Ｂ】本発明実施例の出力ディスプレイの例示画面である。
【図５Ｃ】本発明実施例の出力ディスプレイの例示画面である。
【図５Ｄ】本発明実施例の出力ディスプレイの例示画面である。
【図６】本発明実施例のシミュレーション方法を示すフローチャートである。
【図７】図６の変形例を示すフローチャートである。
【図８】各コアのパラメータを示すテーブルである。
【符号の説明】
【００６０】
１２：コントローラモデル
１４：装置モデル
１８：コア
３０：ユーザインターフェイス
３６：出力装置
３８：入力装置
【図１】
2010015534.tif 000003
【図２】
2010015534.tif 000004
【図３】
2010015534.tif 000005
【図４】
2010015534.tif 000006
【図５Ａ】
2010015534.tif 000007
【図５Ｂ】
2010015534.tif 000008
【図５Ｃ】
2010015534.tif 000009
【図５Ｄ】
2010015534.tif 000010
【図６】
2010015534.tif 000011
【図７】
2010015534.tif 000012
【図８】
2010015534.tif 000013