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

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

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


当前回答

简单的解释。

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

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

(or)

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

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

其他回答

用比较正常的说法来说:如果你的软件能做被模仿系统能做的所有事情,那么它就是一个模拟器。如果它只是近似于系统(it或其他)的结果,那么它就是一个模拟器。

模拟是一种行为类似于其他事物,但以完全不同的方式实现的系统。它提供了系统的基本行为,但不一定遵守被模拟系统的所有规则。它的存在是为了让你了解事物是如何工作的。

模拟是一种行为完全类似于其他系统的系统,并且遵守所模拟系统的所有规则。它实际上是另一个系统的完全复制,甚至与仿真系统的输入和输出二进制兼容,但在与原始仿真系统的环境不同的环境中运行。规则是固定的,不能更改,否则系统会失败。

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

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

这两个术语之间的区别有点模糊。来自一个“模拟器”是允许您调试嵌入式系统的硬件的世界。记住那些允许你拥有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的更高级功能。(即更好的混合和平滑纹理。)

这个问题最好的答案可能是看一看历史实践。

在过去,我曾在PlayStation和SEGA的PC上看到过游戏主机模拟器。

模拟器是指那些试图模拟现实生活行为的软件,比如驾驶或飞行。《Gran Turismo》和《微软飞行模拟器》都是模拟游戏的经典例子。

就语言差异而言,模仿通常指的是模仿某人(或某事)值得称赞的特征或行为。仿真与模仿是不同的,模仿是为了嘲弄而复制一个人。

动词“simulation”在语言学上的意思基本上是假装或模仿某人或某事。