「シミュレーション」の版間の差分

削除された内容 追加された内容
S-alfeyev (会話 | 投稿記録)
曖昧さ回避ページへのリンクを除去
タグ: 2017年版ソースエディター
59行目:
少し理論的でないが、興味深いコンピュータ・シミュレーションの応用は、コンピュータを使ったコンピュータのシミュレートである。[[コンピュータ・アーキテクチャ]]では、一般に[[エミュレータ (コンピュータ)|エミュレータ]]と呼ばれるシミュレータを、しばしば実機で走らせるのがめんどう(たとえば、新しく設計されたコンピュータでまだ構築されていないとか、過去のコンピュータで既に存在しないとか)なプログラムを実行するのに使う。また、緊密に制御されたテスト環境でプログラムを実行するのに使う([[仮想化]]も参照のこと)。たとえば、[[マイクロプログラム]]やアプリケーションプログラムを、実機に送り込む前に[[デバッグ]]するのに使う。コンピュータの動作がシミュレートなので、コンピュータの動作の全ての情報をプログラマが直接的に利用でき、速度を変えたりステップ実行したりなど好きなようにできる。一方でいわゆる「ゲートレベル」の完全なエミュレーションは現実的でないことが多く、また普通はそこまで厳密にエミュレーションする必要はないことも多いが、例えばエミュレートしきれない部分の実機にバグがある場合のデバッグはできない。性能が必要な場合は、[[FPGA]]などといったプログラマブルなハードウェアを利用して、エミュレーションないしシミュレーションを行うこともある。
 
シミュレータを使って[[フォルトツリー解析]]を行うこともある。[[マイクロプロセッサ]]などといった高度に複雑なディジタルLSIの論理設計も、実際に製造に入る前にシミュレータでテストされる。シンボリックシミュレーションでは、[[変数]]を、未知の[[]]を表すのに使う。
 
[[最適化問題]]の分野では、物理プロセスのシミュレーションが[[進化的計算]]と共に使われ、制御戦略の最適化を行う。