JP5270330B2 - マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置 - Google Patents

マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置 Download PDF

Info

Publication number
JP5270330B2
JP5270330B2 JP2008332187A JP2008332187A JP5270330B2 JP 5270330 B2 JP5270330 B2 JP 5270330B2 JP 2008332187 A JP2008332187 A JP 2008332187A JP 2008332187 A JP2008332187 A JP 2008332187A JP 5270330 B2 JP5270330 B2 JP 5270330B2
Authority
JP
Japan
Prior art keywords
core
model
controller
microcomputer system
controller model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008332187A
Other languages
English (en)
Other versions
JP2010015534A (ja
Inventor
康夫 勝
ジェイ マッキューン ドナルド
ファタック スジット
サイカリス ジョージ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2010015534A publication Critical patent/JP2010015534A/ja
Application granted granted Critical
Publication of JP5270330B2 publication Critical patent/JP5270330B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/10Processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明はマルチコアマイコンシステムの開発方法および開発装置に関する。
多くのアプリケーションがマイクロコンピュータ(マイコン)を用いたコントローラを有しており、マイコンは装置と呼ばれるデバイスを制御するために用いられる。例えば、自動車産業においてはマイコンはエンジンスロットルの駆動制御に用いられる。この場合、エンジンスロットルが装置を構成する。
そのようなマイコン制御システムの開発を容易にするために、従来用いられてきたのがシミュレーションプログラムや開発プログラムであり、これは制御システムの動作をシミュレートする。これらの既知のプログラムは実際のコントローラを実際の装置で用いる。プログラム制御によりコントローラは制御信号を装置に送り、所定の動作を実行させる。
マルチコアマイコンシステムの開発の一部として常に必要なのは、コントローラで実行するプログラムのデバッグと微調整である。これは従来コントローラのプログラムコードにブレークポイント(強制実行停止コード)を設けて行ってきた。コントローラ内でブレークポイントに行き当たるとプログラムの実行が停止し、プログラマはコントローラモデルと装置モデルの種々のパラメータをチェックできる。これらパラメータは内部レジスタ値、入出力信号状態、インターラプト状態、パラメータ値等を含む。
システムの所望の動作が得られればブレークポイントは一般に除去され、さらにコントローラ及び装置のデバッグと微調整が反復して実施される。例えば、コントローラプログラムの特定部分が微調整及びデバッグされブレークポイントが削除されたとき、全プログラムの所望の装置モデル動作が完成するようデバッグ及び微調整されるまで、ブレークポイントをコントローラプログラムの他の部分に挿入することが必要となる。
上記のコントローラ及び装置を開発する従来方法の主な欠点は、少なくとも一つのブレークポイントのコントローラプログラムへの挿入は、コントローラのプログラミングの変更を要するため障害になるということである。すなわち、そのようなコントローラプログラミングの変更は、一方で所望せず予期しない動作変更をコントローラや装置に引き起こすことがある。そのような所望せず予期しない動作変更は、追加のデバッグ及び微調整をマイコン制御システム全体に要求する。
従来の装置制御用マイコンでは、一般的に単一のコア(CPU)を備えていた。しかし最近のマイコンは複数のコアを備えている。例えば、デュアルコアマイコンは2つの独立したコアを有し、各々が独立かつ同時に各々のコンピュータプログラムを実行する。マルチコアマイコンはシングルコアマイコンに比べ動作速度が優れており、そのプログラミング及びデバッグは新しい課題を提示している。例えば、特許文献1には、プロセッサにマルチコアを用いたマルチコアモデルのシミュレーション方法が開示され、コアモデル処理とコアモデル間の通信処理を並列に行う例が開示されている。
例えば、適切なマルチコアマイコンシステムのプログラミングとデバッグには、所定時間内に実行される命令の数がほぼ同じであることが非常に望ましい。そうでなければ、マルチコアマイコンシステムの全体的な効率が損なわれる。
特開2007-122602号公報
従来知られていたマルチコアマイコンシステムのデバッグを正確に行う開発装置は、マルチコアマイコンシステムの実行を正確に反映していた。その場合、マルチコアマイコンシステムの開発は、シングルコアマイコン制御システム用の開発システムをマルチコアマイコンの各々のコアに適用していた。しかしながら、これはマイコンの各コア間に存在する相互作用を考慮しておらず、マルチコアマイコンシステムのデバッグに不正確さをもたらした。
本発明は、マルチコアマイコンシステムの開発方法及び開発装置であって、上述した従来方法及び装置の欠点を解決するものを提供する。
要するに、本発明の方法は、少なくとも一つのパラメータを持つコントローラモデルと少なくとも一つのパラメータを持ち前記コントローラモデルで制御される装置モデルをシミュレートする。これらのパラメータは、コントローラモデルのマルチコアのレジスタ値を含み、コントローラモデル及び装置モデルの入出力状態を含み、各コアの内部パラメータ値とシステムの全状態を示す他のファクタを含む。
コントローラモデルと装置モデルのコアパラメータにアクセスするユーザインターフェイスが用いられる。シミュレーションの間、ユーザインターフェイスは、トリガーイベントに応じてコントローラモデルと装置モデルの実行を保留する。トリガーイベントは、装置モデルまたはコントローラモデルの条件、割り当て時間でもよく、ユーザインターフェイス経由で与えられても良い。
コントローラモデルと装置モデルの実行を保留する間、ユーザインターフェイスは、コントローラモデルパラメータまたは装置モデルパラメータのいずれも変更することなく、コントローラモデルのマルチコアのパラメータ及び装置モデルパラメータを決定する。
コントローラモデルと装置モデルのプログラム実行の保留は目立たずに行われ、言い換えればブレークポイントのコントローラモデルプログラムへの挿入によるコントローラプログラムの変更がないため、そのようなブレークポイントの導入により生じうる所望せず予期しないエラーの導入が回避できる。
コントローラモデルのマルチコアおよび装置モデルのための多種パラメータの値は、ユーザインターフェイスによりメモリに記憶され、選択的にディスプレイに表示される。多種パラメータの値に加えて、他の値、例えばマルチコアマイコンシステムの各コアの負荷値も同様に保存され、表示される。
このように、マルチコアマイコンの各コアのプログラムは、マイコンの各コアの負荷をバランスさせ、各コアの負荷がほぼ同じになるように実行される。
本発明は上記のように、一旦トリガーイベントが生じたとき、ブレークポイントをコントローラモデルのコア用プログラムコードへ挿入せずにシミュレーションの保留または停止が発生し、コントローラモデルまたは装置モデルのいかなるパラメータ値への影響も与えない。さらにコントローラモデルのマルチコアのコンピュータコードデバック量を最小にする。
さらに、優先度が低く通常優先度のプログラムにインパクトを与えないアイドル動作の負荷率が各カテゴリーのプロセッサ占有度によって計算され、最も高いアイドル負荷率を持つコアに指示された新しいタスクを得て、プロセッサの効率化を実現することが可能となる。
図1は、本発明の好適な実施例における、マルチコアマイコンシステムの開発装置10のブロック図を示す。マルチコアマイコンから構成されるコントローラモデル12はプログラム制御下で作動し、少なくとも一つの制御ライン16により装置モデル14の動作を制御する。装置モデル14はマイコン制御のどの対象でもよく、自動車産業における装置モデルは電子制御スロットル弁でもよい。そのその装置モデルにおいて、コントローラモデル12は動作制御すなわちスロットル弁の開閉制御を行う。
図2は、コントローラモデル12のブロック図を示す。コントローラモデル12は少なくとも二つ乃至N個のコア18を有し、各コア18はCPUを構成する。各コア18はさらにバス20を介して少なくとも一つの周辺モジュール22と交信する。バス20はインターラプトコントローラ24と交信しても良く、入出力ポート26と交信しても良い。
マルチコア18を有するマルチコアマイコンシステムからなるコントローラモデル12において、各コア18は独立に各々のコンピュータプログラムを他のコア18と同時に実行する。全てのコアは共通データバス20を共有しており、二つ以上のコア18が同時にデータバス20にアクセス要求した場合は、データバス20が再びアイドル状態のコア18からデータを受ける自由状態に戻るまで一つまたはそれ以上のコア18がアイドル状態に入る。
図3は、電子スロットル制御としての装置モデル14のブロック図を示す。そのような装置モデル14は、ライン44に示すモータ電流とトルクのようなパラメータを持つシミュレートされたモータ40を有する。装置モデル14はまたシミュレートされたセンサ46を有し、スロットルプレートの角度を示すシミュレートされた出力48を有する。ライン44、48の値は装置モデル14のパラメータを構成し、これはコントローラモデル12の命令に応じて変化する。
図1において、プロセッサを有するユーザインターフェイス30はコントローラモデル12と入出力ライン32を介して通信する。同時に、ユーザインターフェイス30は入出力ライン34を介して装置モデル14と通信する。ユーザインターフェイス30はまた、ビデオモニタ、プリンタ、データ記憶装置等の出力装置36と通信し、システムオペレータがコントローラ12と装置モデル14の間の全システムシミュレーションの結果を分析することを可能とする。同時に、マウス、キーボード等の入力装置38もまた、ユーザインターフェイス30と通信し、システムオペレータに全システムシミュレーションの実行を制御させる。
ユーザインターフェイス30とコントローラ12、装置モデル14を結ぶ通信ライン32、34は、ユーザインターフェイス30を介してシステムオペレータにコントローラ12、装置モデル14の種々のパラメータへのアクセスを可能とする。加えて、通信ライン32、34はユーザインターフェイス30に、コントローラモデル12、装置モデル14のどのパラメータ値も変えずに、コントローラモデル12と装置モデル14の実行を保留させることができる。
さらに、シミュレートされたコントローラモデル12と装置モデル14の実行保留の間、システムオペレータは図2に示すコントローラモデル12内の各コア18の種々のパラメータ、または図3に示す装置モデル14の種々のパラメータを、これらパラメータの値を変えずに取り出すことができる。従って、各コア18のためのコントローラプログラムシミュレーションの実行再開において、コントローラモデル12は、コントローラモデル12と装置モデル14の実行保留によりシステムのシミュレーションに影響を与えることなく、実行を継続することができる。
図1のブロック図において、コントローラモデル12と装置モデル14を有するシミュレータおよびユーザインターフェイス30は、コントローラモデル12と装置モデル14およびユーザインターフェイス30用の個別のデータプロセッサ1、2、3を用いて実行される。
しかし、コントローラモデル12と装置モデル14およびユーザインターフェイス30はかならずしも個別のプロセッサを用いる必要は無い。代わりに、図4に示すように、単一のデータプロセッサのコンピュータシステムが、コントローラモデル12や装置モデル14、インターフェイス30の実行のために用いられても良い。
図5A〜Dにおいて、全システムのシミュレーション出力の例が図示され、図1に示すビデオディスプレイ等の出力装置36に表示される。例えば図5Aにおいてテーブル100はコントローラモデル12の各コアのために表示され、ここで各テーブル100はコントローラの特定コアに関連する種々のパラメータと算出値を含む。
上記テーブル100は、コア18の一つで実行される実行コードを示すTASK、IDLE、OS等のカテゴリー名を有する。テーブル100はまた、各カテゴリーのコール回数や、命令数、消費されたサイクル数、負荷率を含む。例えばコントローラ12の第1コア(CPU#1)に示すように、カテゴリー「タスク」は第1コア時間の55%を消費し、「IDLE」には5000コールがあり第1コア時間の35%を消費する等である。
図5B〜5Dは、出力デバイス36の全マルチコアマイコンシステムのシミュレーションの他の例示出力を示す。例えば、図5Bはコントローラモデル12または装置モデル14のコアの一つにおけるパラメータ値を示すグラフである。図5Cはコントローラ12のコアの一つのレジスタ値テーブルを示す。図5Dはコントローラ12のコア18で現在実行中のアセンブリコードテーブルを示す。
例えば、図5Dで、アドレス000000はコード0F9Aをストアし、レジスタR0、R1を図5Cのテーブル中でADDする。アドレス000002はコードC003をストアし、レジスタR1の値をテーブル中でメモリのR3に移動する。アドレス000004はコード28DBをストアし、テーブル中でレジスタR2とR3の値を掛ける。アドレス000006はコードF35Eをストアし、テーブル中でレジスタのR4にジャンプする。
テーブル100の負荷率は計算値であり、一方テーブル100の他の情報はコントローラモデルの種々のパラメータに関係する。また、他の異なるテーブル100がコントローラ12の各コアについて生成され、この複数のテーブル100は必要に応じ同時に表示される。他のタイプの表示たとえばグラフもインターフェイス30で表示可能である。
図6に示すフローチャートには、コントローラ12の各コア18のテーブル100の生成に関する本実施例の動作が記載される。プログラムはステップ110でスタートし、すぐにステップ112に進む。ステップ112ではプログラムは、コアがファンクションコール命令を実行中か否かを決定する。もし実行していない場合はステップ112はステップ114に分岐する。
もしステップ112でコアがファンクションコール命令を実行している場合は、ステップ112はステップ116に進みファンクションコールIDまたはアドレスが決定される。次いでステップ116はステップ114に進む。
ステップ114において、インターフェイス30はコントローラモデルの一つのコア18のサイクル数と命令数を計算し、ステップ115に進む。
ステップ115で、インターフェイス30は、コントローラモデルのコア18で処理される各カテゴリーの命令および機能名の負荷率を計算する。ステップ115は次いでステップ118に進み、値が例えば表示装置に表示されまたはメモリに保存される。ステップ118は次いでステップ120に進み、コントローラモデルのコア18のための次の命令がステップ112に戻って処理され、上記ステップが次の命令のために反復される。
図6のフローチャートは、当然ながらコントローラモデル12の各コア18につき反復される。この方法で図5に示すテーブル100がコントローラモデル12の各コア18につき生成され表示装置に表示されても良い。
これはプログラマがコントローラモデル12の種々のコア18に対しプログラミングを調整し、これにより全てのコア18への負荷率をほぼ同一にすることを可能にする。この方法によりコントローラモデル12の種々のコア18の計算能力は、コントローラモデルの効率的動作とほぼ同一となる。
図7において、図6のフローチャートの変形例が示されている。図7のフローチャートは、シミュレーションの最後におけるコントローラモデル12の全てのコア18の種々のファクタとパラメータの総計を示す。
更に詳細に言えば、プログラムはステップ115の負荷率計算の後でステップ140に進み、命令のカテゴリー名を決定する。カテゴリー名を決定するためにいずれかの公知の手段、例えばルックアップテーブルが用いられても良い。
ステップ142で、プログラムはシミュレーションが終了したか決定する。もし終了していなければ、ステップ142はステップ112に戻り、ステップ112で開始された処理が各コア18の次の命令のために反復される。
反対に、シミュレーションが終了したと仮定した場合、ステップ142は代わりにステップ144に進み、コントローラモデル12の各コア18の負荷率を含む種々の演算カテゴリーの全体の値が決定される。ステップ144は次いでステップ118に進み、それらの値を表示し、ステップ146に進み、シミュレーションが終了する。
動作中に、シミュレーションはユーザインターフェイス30の制御の下に実行される。シミュレーションの間、シミュレーション速度はユーザインターフェイス30により例えばクロック信号速度を変更する等で制御される。
シミュレーションはトリガーイベントが検出されるまで継続する。トリガーイベントはユーザによりユーザインターフェイス30を介して起動され、またはコア18の一つの特定レジスタ値が所定条件になったとき等に、ユーザインターフェイス30により起動される。
トリガーイベントが発生するいずれのイベントでも、インターフェイス30はコントローラモデル12および装置モデル14へのクロック信号を停止してシステムシミュレーションを保留する。このとき、図6及び図7に記載されたプログラムが実行され、コントローラモデル12の種々のコア18の種々のパラメータ及び装置モデル14のパラメータが表示装置に表示される。
言うまでもなくコントローラ及び装置モデルシミュレーション動作の保留に多数の異なるタイプのトリガーイベントを用いることができ、コントローラモデル及び装置モデルの種々のパラメータが表示装置に表示される。
例えば、このトリガーイベントは、装置モデルまたはコントローラモデルの少なくとも一つのレジスタの所定値とすることができる。同様に、コントローラモデルのインターラプト状態もトリガーイベントを構成できる。同様に、装置モデルまたはコントローラの種々のパラメータがトリガーイベントを構成できる。
本実施例の重要な長所は、一旦トリガーイベントが生じたとき、ブレークポイントをコントローラモデル12のコア18用プログラムコードへ挿入せずにシミュレーションの保留または停止が発生し、コントローラモデルまたは装置モデルのいかなるパラメータ値への影響も与えないことである。これは、同様にコントローラモデル12のコア18のためのコンピュータコードデバック量を最小にする。
図8はマルチコアマイコンの各コア(CPU#1、#2、…#N)のテーブル100における表示を示す。マルチコアマイコンの一つのコアを選択して新しいタスクを処理させるには、各カテゴリー(TASK:タスク、ISR:インターラプトルーチン、OS:オペレーションシステム、IDLE:アイドル)の負荷率が各コアにつき計算される。
優先度が低く通常優先度のプログラムにインパクトを与えないアイドル動作、たとえばOSスケジューラによりジョブのない時に負荷されたアイドルタスク、の負荷率が各カテゴリーのプロセッサ占有度によって計算される。アイドル動作で最も高い負荷率を持つコアがマルチコアのいずれにも指定されていない新しいタスク処理能力を持つことになる。
マルチコアマイコン処理プロセスは、対称マルチ処理(SMP)と非対称マルチ処理(AMP)に分けられる。SMPでは単一のOSが全てのCPUを同時に管理しアプリケーションはどのCPUにもフロート可能である。一方、AMPは個別にOSを各コアで動かし、各アプリケーションは特定コアに固定されている。
上記SMPは非決定的システムであり重要なソフトウェア機能を保証応答時間内に実行することが保証されず、保証応答時間を要求する自動車産業のシステムには適当でない。従って本実施例では、各コアの実行情報はAMPプロセスを持つマルチコアを用いて計算される。
開発者は、設計段階で最高のパフォーマンスをあげるためにいくつかのタスクを固定プロセッサリソースに指定する必要がある。AMPの使用は各コア情報を用いた計算を必要とするが、レガシーコードの使用が容易であり、ソフトウェアのメモリやインターラプト等のシステムリソースの利用につき完全な制御を保証する。
本実施例において各コアでの実行情報、例えばサイクル、命令、コール等の数は、各コアに指示する前に得られる。従って各コアのアイドル負荷率が計算され比較される。これにより、最も高いアイドル負荷率を持つコアに指示された新しいタスクを得ることが可能である。従って、図8においてアイドル負荷率80%を持つ第2コア(CPU#2)が選択される。この選択はユーザのディスプレイによる選択か、あるいは自動的にプログラムが設定しマルチコアの一つに保存したルールによって可能である。
上述のように、本発明は、マルチコアマイコンシステムの開発装置と方法を提供し、それは、シミュレーションにおいてマルチコアマイコンコントローラおよび装置の全てのコアの種々のパラメータ状態を目立たずにモニター可能であることが明らかである。
さらに、各コアへの種々のソフトウェアの負荷などの種々の計算値もまたプログラマに表示され、プログラマがコントローラの最適効率のためにコアプログラミングを調整することを可能にする。
以上のように本発明を説明したが、当業者に自明な多くの変形例が本発明の主旨に含まれクレーム内に含まれる。
シミュレーション装置を示すブロック図である。 本発明実施例のコントローラモデルの詳細を示すブロック図である。 本発明実施例の装置モデルの詳細を示すブロック図である。 図1のシミュレーション装置の変形例を示すブロック図である。 本発明実施例の出力ディスプレイの例示画面である。 本発明実施例の出力ディスプレイの例示画面である。 本発明実施例の出力ディスプレイの例示画面である。 本発明実施例の出力ディスプレイの例示画面である。 本発明実施例のシミュレーション方法を示すフローチャートである。 図6の変形例を示すフローチャートである。 各コアのパラメータを示すテーブルである。
符号の説明
12:コントローラモデル
14:装置モデル
18:コア
30:ユーザインターフェイス
36:出力装置
38:入力装置

Claims (19)

  1. マルチコアマイコンを有するコントローラモデルにおいて、少なくとも一つのパラメータを有する前記コントローラモデルの各コアをシミュレートするステップと、
    少なくとも一つのパラメータを有し前記コントローラモデルに制御される装置モデルをシミュレートするステップと、
    前記コントローラモデルの各コアおよび装置モデルのパラメータにアクセスするユーザインターフェイスをシミュレートするステップと、
    トリガーイベントに応じて前記ユーザインターフェイスを介してコントローラモデルの各コアおよび装置モデルの実行を保留するステップと、
    前記コントローラモデルの2つ以上の各コアのパラメータのそれぞれの状態を、前記コントローラモデル及び装置モデルのパラメータを変更することなく、前記ユーザインターフェイスを介して前記保留ステップの間に決定するステップと、
    各コアのアイドル負荷率を計算して比較し、最も高いアイドル負荷率を持つコアに指示された新しいタスクを与えるステップを有する
    ことを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  2. 請求項1に記載のマルチコアマイコンシステムのシミュレーション方法において、前記トリガーイベントは前記装置モデルの選択されたパラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  3. 請求項1に記載のマルチコアマイコンシステムのシミュレーション方法において、前記トリガーイベントは前記コントローラモデルの選択されたコアの選択された出力パラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  4. 請求項1に記載のマルチコアマイコンシステムのシミュレーション方法において、前記トリガーイベントは前記コントローラモデルの選択された内部パラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  5. 請求項1に記載のマルチコアマイコンシステムのシミュレーション方法において、前記トリガーイベントは前記ユーザインターフェイスにセットされた条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  6. 請求項1に記載のマルチコアマイコンシステムのシミュレーション方法において、さらに前記ユーザインターフェイスを介してコントローラモデルおよび装置モデルの各コアの実行速度を制御するステップを有することを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  7. 請求項1に記載のマルチコアマイコンシステムのシミュレーション方法において、さらに前記コントローラモデルの各コアのパラメータ又は装置のモデルパラメータの少なくとも一つを表示するステップを有することを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  8. 請求項1に記載のマルチコアマイコンシステムのシミュレーション方法において、さらに値を計算し、計算された値を表示装置に表示するステップを有することを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  9. 請求項に記載のマルチコアマイコンシステムのシミュレーション方法において、計算された前記の値は少なくとも一つの前記コアの負荷を含むことを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  10. 請求項に記載のマルチコアマイコンシステムのシミュレーション方法において、計算された前記の値は前記コアのソフトウェアコンポーネントの負荷を含むことを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  11. 請求項に記載のマルチコアマイコンシステムのシミュレーション方法において、ソフトウェアコンポーネントは、アイドル動作に関するアイドルコンポーネントを含み、前記アイドルコンポーネントの負荷は新しい仕事を指定した場合に比較されることを特徴とするマルチコアマイコンシステムのシミュレーション方法。
  12. マルチコアマイコンを有するコントローラモデルにおいて、少なくとも一つのパラメータを有する前記コントローラモデルの各コアをシミュレートする手段と、少なくとも一つのパラメータを有し前記コントローラモデルに制御される装置モデルをシミュレートする手段と、前記コントローラモデル及び前記装置モデルのパラメータにアクセスするユーザインターフェイスをシミュレートする手段と、トリガーイベントに応じて前記ユーザインターフェイスを介してコントローラモデルの各コアおよび装置モデルの実行を保留する手段と、前記コントローラモデルの2つ以上の各コアのパラメータのそれぞれの状態を、前記コントローラモデル及び装置モデルのパラメータを変更することなく前記ユーザインターフェイスを介して前記保留ステップの間に決定する手段と、各コアのアイドル負荷率を計算して比較し、最も高いアイドル負荷率を持つコアに指示された新しいタスクを与える手段を有することを有することを特徴とするマルチコアマイコンシステムのシミュレーション装置。
  13. 請求項12に記載のマルチコアマイコンシステムのシミュレーション装置において、前記トリガーイベントは前記装置モデルの選択されたパラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション装置。
  14. 請求項12に記載のマルチコアマイコンシステムのシミュレーション装置において、前記トリガーイベントは前記コントローラモデルの選択された出力パラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション装置。
  15. 請求項12に記載のマルチコアマイコンシステムのシミュレーション装置において、前記トリガーイベントは前記コントローラモデルの選択された内部パラメータ条件からなることを特徴とするマルチコアマイコンシステムのシミュレーション装置。
  16. 請求項12に記載のマルチコアマイコンシステムのシミュレーション装置において、さらに前記ユーザインターフェイスにおける前記トリガーイベントをセットする手段を有することを特徴とするマルチコアマイコンシステムのシミュレーション装置。
  17. 請求項12に記載のマルチコアマイコンシステムのシミュレーション装置において、さらに前記コントローラモデルの各コアのパラメータ又は装置モデルのパラメータの少なくとも一つを表示する手段を有することを特徴とするマルチコアマイコンシステムのシミュレーション装置。
  18. 請求項12に記載のマルチコアマイコンシステムのシミュレーション装置において、さらに値を計算する手段と、計算された値を表示装置に表示する手段を有することを特徴とするマルチコアマイコンシステムのシミュレーション装置。
  19. 請求項18に記載のマルチコアマイコンシステムのシミュレーション装置において、計算された前記の値は少なくとも一つの前記コアの負荷を含むことを特徴とするマルチコアマイコンシステムのシミュレーション装置。
JP2008332187A 2008-06-30 2008-12-26 マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置 Expired - Fee Related JP5270330B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/164,178 US7987075B2 (en) 2008-06-30 2008-06-30 Apparatus and method to develop multi-core microcomputer-based systems
US12/164,178 2008-06-30

Publications (2)

Publication Number Publication Date
JP2010015534A JP2010015534A (ja) 2010-01-21
JP5270330B2 true JP5270330B2 (ja) 2013-08-21

Family

ID=41449154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008332187A Expired - Fee Related JP5270330B2 (ja) 2008-06-30 2008-12-26 マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置

Country Status (2)

Country Link
US (1) US7987075B2 (ja)
JP (1) JP5270330B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620548B (zh) * 2008-07-04 2013-03-27 菲尼克斯电气公司 用于计算机模拟设备或者机器的方法和计算机***
WO2012146406A1 (en) * 2011-04-23 2012-11-01 Deubzer Michael Method for the design evaluation of a system
KR101504137B1 (ko) 2011-06-16 2015-03-24 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 멀티 코어 환경에서의 프로세스 관리
WO2013008325A1 (ja) * 2011-07-13 2013-01-17 富士通株式会社 マルチコアプロセッサシステム、および制御方法
US9965279B2 (en) * 2013-11-29 2018-05-08 The Regents Of The University Of Michigan Recording performance metrics to predict future execution of large instruction sequences on either high or low performance execution circuitry
US9870226B2 (en) 2014-07-03 2018-01-16 The Regents Of The University Of Michigan Control of switching between executed mechanisms
CN105988872B (zh) * 2015-02-03 2020-02-18 阿里巴巴集团控股有限公司 一种cpu资源分配的方法、装置及电子设备
US10038744B1 (en) * 2015-06-29 2018-07-31 EMC IP Holding Company LLC Intelligent core assignment
US11314907B2 (en) 2016-08-26 2022-04-26 Hitachi, Ltd. Simulation including multiple simulators
US10613980B2 (en) * 2017-12-19 2020-04-07 International Business Machines Corporation Coherence protocol providing speculative coherence response to directory probe
CN110554912B (zh) * 2018-05-31 2022-05-20 杭州海康威视数字技术股份有限公司 调度设备执行任务的方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05313946A (ja) * 1992-05-06 1993-11-26 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサシステムのデバグ支援装置
US6081885A (en) 1996-12-20 2000-06-27 Texas Instruments Incorporated Method and apparatus for halting a processor and providing state visibility on a pipeline phase basis
US6065106A (en) 1996-12-20 2000-05-16 Texas Instruments Incorporated Resuming normal execution by restoring without refetching instructions in multi-word instruction register interrupted by debug instructions loading and processing
US6016555A (en) 1997-11-19 2000-01-18 Texas Instruments Incorporated Non-intrusive software breakpoints in a processor instruction execution pipeline
US6643803B1 (en) 1999-02-19 2003-11-04 Texas Instruments Incorporated Emulation suspend mode with instruction jamming
US6553513B1 (en) 1999-02-19 2003-04-22 Texas Instruments Incorporated Emulation suspend mode with differing response to differing classes of interrupts
JP2003281112A (ja) * 2002-03-25 2003-10-03 Fujitsu Ltd マルチプロセッサシステム
JP4717492B2 (ja) * 2005-04-12 2011-07-06 富士通株式会社 マルチコアモデルシミュレータ
US7778806B2 (en) * 2006-03-29 2010-08-17 Hitachi, Ltd Method and apparatus for simulating microcomputer-based systems
US20090106001A1 (en) * 2007-10-17 2009-04-23 Atomic Energy Council - Institute Of Nuclear Energy Research Digital I&C software failure simulation test facility

Also Published As

Publication number Publication date
US20090327944A1 (en) 2009-12-31
US7987075B2 (en) 2011-07-26
JP2010015534A (ja) 2010-01-21

Similar Documents

Publication Publication Date Title
JP5270330B2 (ja) マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置
US8903703B2 (en) Dynamically adjusting speed versus accuracy of computer platform simulation
US8793115B2 (en) Interface converter for unified view of multiple computer system simulations
JP2004086910A (ja) コンピュータ・プログラムをデバックするための方法、システムおよびソフトウェア・プロダクト
JP2003131902A (ja) ソフトウェアデバッガ、システムレベルデバッガ、デバッグ方法、及びデバッグプログラム
US8108840B2 (en) Method for enhancing debugger performance of hardware assisted breakpoints
US20080082802A1 (en) Microcomputer debugging system
US7016826B2 (en) Apparatus and method of developing software for a multi-processor chip
JP5542643B2 (ja) シミュレーション装置及びシミュレーションプログラム
CN109800166B (zh) 一种嵌入式实时操作***的调试方法及装置
AU2017438670B2 (en) Simulation device, simulation method, and simulation program
US8914274B1 (en) Method and system for instruction set simulation with concurrent attachment of multiple debuggers
JP2010244376A (ja) ソフトウェア開発装置、及び、ソフトウェア開発装置を用いたデバッグ方法
KR100952762B1 (ko) 디지털 시그널 프로세서의 실시간 디버깅 방법
WO2006091785A1 (en) Interface converter for unified view of multiple computer system simulations
US9830174B2 (en) Dynamic host code generation from architecture description for fast simulation
KR20240009786A (ko) 차량용 소프트웨어 플랫폼의 시뮬레이션을 위한 os 가상화 장치 및 방법
TWI566179B (zh) 用於基本輸入輸出系統之除錯訊息輸出方法及電腦程序產品
JP2002366378A (ja) プログラムのデバッグ装置及びデバッグ方法、並びに記憶媒体
JPH05250221A (ja) シミュレータ実行方式
Hölscher Nested Preemption Fixed-Priority Scheduler for EV3OSEK
KR20240009773A (ko) 차량용 소프트웨어 플랫폼의 시뮬레이션을 위한 포트 가상화 장치 및 방법
KR20240009779A (ko) 차량용 소프트웨어 플랫폼의 시뮬레이션을 위한 디바이스 드라이버 가상화 장치 및 방법
KR100658485B1 (ko) 마이크로프로세서 개발시스템
JPH11296408A (ja) 組み込み機器用ソフトウエア論理シミュレータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120827

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130321

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130509

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5270330

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees