模擬和模擬有什麼區別? (what is the difference between Emulate and Simulate?)


問題描述

模擬和模擬有什麼區別? (what is the difference between Emulate and Simulate?)

I am asking this question in the context of computers and microcontrollers. I need a concise answer. These words seems to get mixed up, I don't know if they are interchangangeable but have a feeling that they are not. Thanks.  I haven't found a distinction between them in my research yet and thus I post the question here.


參考解法

方法 1:

Not sure if this is concise enough for you, but my understanding is this:

Emulators - Mimic hardware. Simulators - Mimic software.

Take a look at this post for a decent discussion on the topic.

And here is a quote from this webpage:

  

Emulation versus simulation

     

The word "emulator" was coined in 1963 at IBM[12] during development   of the NPL (IBM 360) product line, using a "new combination of   software, microcode, and hardware".[13] They discovered that using   microcode hardware instead of software simulation, to execute programs   written for earlier IBM computers, dramatically speeded up simulation.   Earlier in 1957, IBM provided the IBM 709 computer with an interpreter   program (software) to execute legacy programs written for the IBM 704   to run on the IBM 709 and later on the IBM 7090[14] In 1963, when   microcode was first used to speed up this simulation process, IBM   engineers coined the term "emulator" to describe the concept.

     

It has recently become common to use the word "emulate" in the context   of software. However, before 1980, "emulation" referred only to   emulation with a hardware or microcode assist, while "simulation"   referred to pure software emulation.[15] For example, a computer   specially built for running programs designed for another architecture   is an emulator. In contrast, a simulator could be a program which runs   on a PC, so that old Atari games can be simulated on it. Purists   continue to insist on this distinction, but currently the term   "emulation" often means the complete imitation of a machine executing   binary code.

方法 2:

Emulation is when (possibly microcoded) hardware, especially, and perhaps software steps through and processes each input exactly how the microcontroller/processor being emulated would process the instruction.

Simulation is when the software, especially, but perhaps hardware also takes the input and through different processes produces the expected output.

Emulation is extremely precise modelling of the internal operations whereas Simulation is more focused on the input-output black box concept.

(by quantum231Jason DownTchiak)

參考文件

  1. what is the difference between Emulate and Simulate? (CC BY-SA 3.0/4.0)

#terminology #simulate #emulation






相關問題

抽象 ViewModel 在被繼承時是否被視為模型? (Is an abstract ViewModel considered a Model when it is inherited?)

什麼是 Lambda? (What is a Lambda?)

具體確定項目順序的排序的正確術語是什麼? (What is the proper term for an ordering where the order of items is concretely determined?)

在 Ruby 中,“接收者”指的是什麼? (In Ruby what does the "receiver" refer to?)

錯誤跟踪和問題跟踪系統有什麼區別? (What's the difference between a bug tracking and an issue tracking system?)

為什麼術語 API 和 SDK 似乎可以互換使用? (Why do the terms API and an SDK seem to be used interchangeably?)

Java 中的對等類是什麼? (What is a peer class in Java?)

模擬和模擬有什麼區別? (what is the difference between Emulate and Simulate?)

協議術語:消息與數據包 (Protocol Terminology: Message versus Packet)

表示“目錄”或“文件”的詞是什麼? (What is the word that means "directory" or "file"?)

C ++中復合語句和塊之間的區別? (Difference between a compound statement and a block in C++?)

gnu八度中gnu的含義? (Meaning of gnu in gnu octave?)







留言討論