什么是模拟器?

17 Mar 2025 | 4 分钟阅读

在计算中,模拟器是允许一台计算机系统(宿主)充当另一台计算机系统(客体)的软件或硬件。通常,它允许宿主机器运行客体系统设计的软件或使用客体系统设计的周边设备。

仿真被称为计算机程序在电子设备中复制(或模仿)另一个程序或系统的能力。例如,许多打印机被设计成模仿 HP LaserJet 打印机,因为为HP 打印机编写了大量的软件。

如果一个非品牌打印机模仿一个品牌打印机,那么该非品牌打印机的模仿功能也可以运行为真实品牌打印机编写的任何程序,甚至可以生成等效的打印输出。

为了玩那些曾经建立游戏产业市场的经典或被遗忘的街机游戏。自 20 世纪 90 年代以来,许多电子游戏爱好者一直在使用模拟器。在 1980 年之前,当前时代的设备会解释游戏的原版计算机代码和数据,并模拟旧的视频游戏控制台。

然而,在实践中,这可能非常困难,特别是当要模拟的设备的确切行为未被记录下来,并且必须通过逆向工程来推断时。

在保存方面

在数字保存过程中,仿真是一种克服过时的方法。主要重点在于重现原始计算机环境,这是因为其真正希望与数字对象的真实性保持更紧密的关系。此外,这可能耗时且难以完成,但它最终被证明非常有价值。

仿真过程解决了数字对象的原始硬件问题。

实际上,当某个特定应用程序的新版本发布时,应用程序模拟器可以被创建出来,以便访问先前版本中创建的所有数字对象,而无需修复兼容性问题和迁移。

模拟器的优势

它当然有一些非常主要的优点。这些点并非全部,但肯定能说明问题。通过考虑以下几点,我们可以轻松了解模拟器的好处。

使用模拟器的一些好处包括:

  • 比原始硬件的图形输出可能更好。
  • 初始硬件没有添加功能。
  • 模拟器保留了数字对象的原始外观、感觉和行为,这与数字数据本身几乎同等重要。
  • 由于预存储的库,它有助于减少工作时间。
  • 模拟器是通过开源环境开发和发布的。因此,模拟器通常属于通用公共许可证(General Public License),缩写为 GPL。
  • 许可证允许进行大规模协作。
  • 模拟器使得可以在一台设备上使用另一台设备独有的软件。

模拟器的障碍

万物皆有益弊,成功的背后也总有一些阻碍。开发者需要特别关注这些方面才能使产品更好。目前的一些障碍包括:

  • 知识产权 - 在程序开发过程中,许多技术供应商引入了非标准功能来确立其市场地位,同时不断更新以保持竞争力。
  • 版权保护使得模拟器的设计更加困难,因为它们必须足够精确以避免触发保护,而其后果可能并不明显。
  • 模拟器比原始设置需要更好的硬件。

模拟器在媒体中的应用及其益处

由于主要使用数字格式,新媒体艺术在很大程度上依赖仿真作为一种保存技术。艺术家如 Cory Arcangel 在其艺术作品中专门致力于复兴过时的技术,并认识到去中心化和去制度化的数字文化保存机制的价值。

在某些方面,新媒体艺术仿真的目的是维护数字格式,使其能够永久存储并无误地复制,而不依赖于老化和过时的硬件。

但其中也存在一个悖论,即仿真器和模拟器必须能在未来的计算机上工作。

未来系统设计

在设计和实施新技术时,仿真技术被广泛应用。即使在系统实际设计之前,它也能够识别、恢复和修复设计缺陷,从而简化开发过程。

大多数模拟器仅模仿硬件架构,如果所需的软件需要操作系统固件或软件支持(并且这些本身也可能被模拟),则还必须支持这些。

除了解释模拟二进制机器语言的解释器外,还必须以虚拟形式提供任何其他硬件;例如,写入特定内存位置可能会影响计算机上显示的内容,这就需要进行模拟。

嵌入式机器软件开发者或视频游戏控制台通常在实际硬件上测试其软件之前,在称为模拟器的精确模拟器上构建他们的软件。

在许多情况下,模拟器是由提供硬件的公司开发的,理论上这可以提高其准确性。

如果 CPU 没有安装或存在数学协处理器,当 CPU 执行某些协处理器指令时,它会引发一个特定的中断(协处理器不可用),从而调用数学模拟器的例程。

模拟器结构

模拟器通常分为与被模拟计算机的子系统大致对应的模块。最重要 parts 是:

  • 用于存储应用程序的内存单元
  • CPU 模拟器或 CPU 仿真器
  • 输入/输出 (I/O) 设备模拟器

总线通常不被模拟,无论是出于性能原因还是便利性原因,CPU 或内存子系统直接与虚拟外围设备交互。