シミュレーターとエミュレーターの違いは何ですか? 質問する

シミュレーターとエミュレーターの違いは何ですか? 質問する

シミュレーションとエミュレーションが一般的に何を意味するかは理解していますが、ほとんどの場合、混乱してしまいます。既存のハードウェア/ソフトウェアを模倣するソフトウェアを作成すると仮定すると、それを何と呼ぶべきでしょうか? シミュレーターですか、それともエミュレーターですか?

プログラミングの観点からその違いを説明してくれる人はいますか?

ボーナス: 英語では、この 2 つの用語の違いは何でしょうか? (申し訳ありませんが、私はネイティブ スピーカーではありません :))

ベストアンサー1

エミュレーションは、既存のターゲットに一致するように、外部から観察可能な動作を模倣するプロセスです。エミュレーション メカニズムの内部状態は、エミュレートするターゲットの内部状態を正確に反映する必要はありません。

一方、シミュレーションでは、ターゲットの基本的な状態をモデル化します。優れたシミュレーションの最終結果は、シミュレーション モデルがシミュレートするターゲットをエミュレートすることです。

理想的には、シミュレーションを調べて、元のターゲットを調べた場合に表示されるプロパティを観察できる必要があります。実際には、パフォーマンス上の理由から、シミュレーションへのショートカットがいくつかある場合があります。つまり、シミュレーションの一部の内部側面は、実際にはエミュレーションである可能性があります。

MAME はアーケード ゲーム エミュレーターです。Hyperterm は (あまり良くない) ターミナル エミュレーターです。希望するエミュレートされた動作を得るために、アーケード マシンやターミナルを詳細にモデル化する必要はありません。

Flight Simulator はシミュレーターであり、SPICE は電子シミュレーターです。これらは、ターゲットの実際の動作を再現するために、ターゲットのあらゆる詳細を可能な限りモデル化します。

編集: 他の回答では、エミュレーションの目的は、エミュレートするオブジェクトを置き換えることができることであると指摘されています。これは重要な点です。シミュレーションの焦点は、ターゲットの内部状態のモデリングにあります。シミュレーションは、必ずしもエミュレーションにつながるわけではありません。特に、シミュレーションはリアルタイムよりもはるかに遅く実行される可能性があります。たとえば、SPICE は、実際の電子回路の代わりにはなりません (電気回路を SPICE シミュレーションに完全に接続できる魔法のデバイスがあると仮定しても)。シミュレーションは、必ずしもエミュレーションにつながるわけではありません。

おすすめ記事