虽然我理解模拟和模拟的一般含义,但我几乎总是对它们感到困惑。假设我创建了一个模仿现有硬件/软件的软件,我应该如何称呼它?模拟器还是模拟器?

有人能从编程的角度来解释一下吗?

福利:这两个词在英语中有什么区别?(对不起,我的母语不是英语:))


当前回答

竞争就像 最后。 它展示了它的能力。 示例:汽车驾驶仿真。

模拟就像 封装。 它展示了它的能力 例:汽车发动机内部活动。

其他回答

模拟器:类似于解释器。 也就是说,它实际上逐行执行真实的代码来模拟行为

模拟器:类似于可执行文件。 也就是说,它接受编译后的代码并执行它。

简单的解释。

如果你想把你的电脑(运行Windows)转换成Mac,你可以做以下任何一项:

你可以简单地在你的Windows上安装一个Mac主题。所以,你的电脑感觉上更像Mac,但实际上你不能运行任何Mac程序。(模拟)

(or)

(2)你可以把你的电脑编程成像Mac一样运行(我不确定这是否可能:P)。现在你甚至可以成功地运行Mac程序,并期望得到与Mac上相同的输出。

在第一种情况下,你可以体验Mac,但你不能期待与Mac相同的输出。 在第二种情况下,你可以期待与Mac上相同的输出,但事实仍然是它只是一台PC。

模拟器是一个比模拟器更广泛的东西,似乎这个术语的双重性在上面的帖子中被过度考虑了。

模拟器

人们决定在“计算机世界”中使用一个新词模拟,当他们开始以直接的方式替换现有系统的一些硬件部分时——模仿它们的行为,并依赖于计算性质,以确保不会破坏某些东西,并使所有东西都处于等效状态。所以我们模拟了这个部分!(整个系统仍然像以前一样工作)

模拟器通常在数字领域的狭义上用于替代和虚拟化——以数字形式作为一个软件——以前已知和存在的东西(虚拟芯片、电路板、电子设备)。因此,当世界变得更加数字化,并将模拟器这个词带给大众时,大众也为它增加了不确定性(或额外的原因)。

模拟器

首先,我看到许多关于模拟器可以代替真实的东西的评论,但是模拟器不能。

但是飞行模拟器是用来做真实的事情的——它训练飞行员,提高他们的技能和知识,它取代了昂贵的真实飞机,节省了很多钱。我们不能只是说一个飞机模拟器,因为我们有内心的感觉,这远远不止于此,所以我们叫它模拟器:)飞机模拟器可以包含模拟雷达或应答器,这是真的。

相反,模拟器用于分析和研究(模拟器用于真实的东西),但这种分析和研究并不比模拟GSM板更真实(在我们生活的信息时代更是如此)。分析为业务增加了价值,降低了成本或指出了不低于替换(模拟)硬件的利润。

模拟器类似于对我们由于某些原因(成本、技术、物理不可能性)而无法获得的东西进行建模。它通常是模拟一些新的、无形的、复杂的或者我们不太了解的东西,比如市场、天气、燃烧、用户。这就是飞行,黑洞,股票交易,模拟。

最后:

模拟器比模拟器更广泛 模拟器倾向于模拟/建模更多的全局过程/事物,并具有缩小模仿范围的能力(例如,带有代表一些已知模型的预置的电容器模拟器) 模拟器倾向于模仿具有特定规格、已知特征和属性的特定硬件设备(例如SNES模拟器、Intel 8087或Roland TB-303)

至于词源

它们都来自拉丁语,意思是:

“仿效”是“平等”(看起来更有侵略性和更直接-竞争) 模拟是“相似”(看起来更狡猾和狡猾-模仿)

虚拟PC试图从程序员的角度模拟计算机,但同时,它也从电气工程师的角度模拟计算机。

这两个术语之间的区别有点模糊。来自一个“模拟器”是允许您调试嵌入式系统的硬件的世界。记住那些允许你拥有ICE (In Circuit Emulation)功能来调试PC平台的产品,我发现术语“仿真”的使用对于模拟一块硬件行为的软件来说有点不恰当。

我对当前使用“仿真”一词的理由是,它可以“增强”功能,并且只与系统行为的“合理”近似有关。

ICE: (In Circuit Emulation) A piece of hardware that is plugged into a board in place of the actual processor. It allows you to run the system as if the actual processor was present. Typically these have a variant of the processor on them to actually execute the software with glue logic to allow the user to break executation and single step under hardware control. Some would also provide logging capability. Most modern processors development systems have replace ICE type emulation with JTAG Emulation, where the JTAG just talks to the processor via a special purpose serial link and all execution is perform by the processor mounted on the board.

软件模拟器: 0x86仿真器只关心是否能够执行0x86汇编语言,而不提供特定0x86处理器的精确的每周期行为模型。Bochs就是一个例子。QEMU做到了这一点,但也允许使用特殊的内核模块进行“虚拟化”。

模拟器: 德州仪器为软件开发提供了一个处理器的CYCLE ACCURATE行为模型,该模型旨在精确模拟特定处理器核心的行为,供开发人员在拥有工作硬件之前使用。

软件模拟器增强功能: BLEEM不仅允许你运行Playstation软件,还允许显示器输出比Playstation能够提供的分辨率更高的分辨率,并且还利用了可用的gpu的更高级功能。(即更好的混合和平滑纹理。)