Next: シミュレーションモデル, Previous: Top, Up: Top
開発の初期段階で,プロセッサやハードウェア構成の詳細が決まっていることは大変稀なことであり,一般には開発の初期段階で様々な仕様のハードウェアユニットを選別あるいは設計し,それらを組み合わせた上でのソフトウェアの動作を評価,検証する必要がある. しかし,従来のアーキテクチャの詳細な設計に基づくシミュレータや,プロセッサ毎に独立したシミュレータでは,仕様や構成を変更する度にシミュレーション環境やソフトウェアの開発環境を逐一構築することが必要であり,システムアーキテクチャ設計が大変困難かつ時間を要する作業となっている.
これを容易にするために,開発の初期段階で決定可能な情報であるプロセッサの実行サイクル数や,ハードウェアユニット間の通信サイクル数などによってソフトウェアの動作をシミュレートし,アプリケーションのボトルネックの検出や,変更による効果を検証や評価できるシステムアーキテクチャ設計のためのシミュレータが強く求められている.
MICSは,
同じ基底に基づいて実装された要素が可換であることから,(1)により,シミュレーション要素の組み合わせを容易に変更することが可能となる.また,(2)により,開発の段階に応じてユーザがシステムを構成する各要素のシミュレーション精度を任意に決定し,ソフトウェアを動作させることができる.サイクル数を求めるために,他のツール,例えばgdbやRTLシミュレータとの連携を行うことでシミュレータの再実装の手間を削減することもできる.