私は、コンピューターとマイクロコントローラーのコンテキストでこの質問をしています。簡潔な答えが必要です。これらの言葉は混同されているようで、互換性があるかどうかはわかりませんが、そうではないような気がします。ありがとう。私の研究ではまだそれらの違いを見つけていないので、ここに質問を投稿します。
2 に答える
これがあなたにとって十分に簡潔であるかどうかはわかりませんが、私の理解はこれです:
エミュレーター-ハードウェアを模倣します。
シミュレーター-模倣ソフトウェア。
このトピックに関するまともな議論については、この投稿をご覧ください。
そして、これがこのウェブページからの引用です:
エミュレーションとシミュレーション
「エミュレーター」という言葉は、「ソフトウェア、マイクロコード、およびハードウェアの新しい組み合わせ」を使用して、NPL(IBM 360)製品ラインの開発中にIBM[12]で1963年に造られました。[13] 彼らは、ソフトウェアシミュレーションの代わりにマイクロコードハードウェアを使用して、以前のIBMコンピューター用に作成されたプログラムを実行すると、シミュレーションが劇的に高速化されることを発見しました。1957年の初め、IBMはIBM 709コンピューターにインタープリタープログラム(ソフトウェア)を提供し、IBM704用に作成されたレガシープログラムを実行してIBM709およびその後IBM7090で実行しました[14]。このシミュレーションプロセスをスピードアップするために、IBMのエンジニアは、概念を説明するために「エミュレーター」という用語を作り出しました。
最近、ソフトウェアのコンテキストで「エミュレート」という言葉を使用することが一般的になっています。ただし、1980年以前は、「エミュレーション」はハードウェアまたはマイクロコードアシストを使用したエミュレーションのみを指し、「シミュレーション」は純粋なソフトウェアエミュレーションを指していました。[15] たとえば、別のアーキテクチャ用に設計されたプログラムを実行するために特別に構築されたコンピュータはエミュレータです。対照的に、シミュレーターはPC上で実行されるプログラムである可能性があるため、古いAtariゲームをPC上でシミュレートできます。純粋主義者はこの区別を主張し続けていますが、現在「エミュレーション」という用語は、バイナリコードを実行するマシンの完全な模倣を意味することがよくあります。
エミュレーションとは、特に(おそらくマイクロコード化された)ハードウェア、そしておそらくソフトウェアが、エミュレートされているマイクロコントローラ/プロセッサが命令を処理する方法とまったく同じように各入力をステップスルーして処理することです。
シミュレーションは、特にソフトウェアが、おそらくハードウェアも入力を受け取り、さまざまなプロセスを通じて期待される出力を生成する場合です。
エミュレーションは内部操作の非常に正確なモデリングですが、シミュレーションは入出力のブラック ボックスの概念により重点を置いています。