in

硬件仿真和软件仿真之间的区别是什么?

关键要点:

  • 仿真是重新创建一个环境的过程。我们可以使用计算机或其他可以运行原始操作系统和应用程序的设备来进行仿真。
  • 硬件仿真和软件仿真的主要区别在于硬件仿真模拟整个设备,而软件仿真仅模拟系统的软件部分。
  • 软件仿真是一种创建硬件设备模拟的方法。它是一个模拟设备功能的程序,允许您在新的计算机上运行旧的软件。
  • 硬件仿真使用一个或多个物理组件(如处理器或图形卡)来重新创建环境。
  • 游戏模拟器用于使旧游戏在现代设备上运行。这是使用软件模拟器的最常见原因。
  • 基于硬件的仿真器通常用于运行虚拟化软件(如vmware或virtualbox)的计算机中。

当人们谈论硬件和软件仿真时,他们通常将这两个术语互换使用。但它们虽然相关,实际上是两个完全不同的概念。

硬件仿真与软件仿真的主要区别在于前者模拟整个设备,而后者仅模拟该系统的软件部分。

在本文中,我们将解释什么是仿真以及它的工作原理。我们还将讨论使用仿真器的一些优点和缺点。

什么是仿真?

总结起来,一般的“仿真”是重新创建一个环境的过程。我们可以使用计算机或其他可以运行原始操作系统和应用程序的设备来进行仿真。

仿真用于保留系统的功能或行为。在视频游戏开发中,开发人员经常使用仿真器在不同平台和不同硬件配置上测试他们的游戏。在这种情况下,仿真器通常被称为“调试器”。

硬件仿真使用一个或多个物理组件(如处理器或图形卡)来重新创建环境。而软件仿真仅使用软件来进行仿真。

它们对于在旧硬件上测试新操作系统和应用程序并在生产环境中部署之前非常有用。仿真器也被一些公司使用,这些公司希望通过像steam这样的在线商店分发他们的产品,但没有足够的资源同时生产所有可能的平台。

应用虚拟化的插图©by egmason – own work, cc by-sa 3.0, https://commons.wikimedia.org/w/index.php?curid=12803004 – 许可证

什么是软件仿真?

软件仿真是一种创建硬件设备模拟的方法。它是一个模拟设备功能的程序,允许您在新的计算机上运行旧的软件。

想要玩尚未发布在他们选择的平台上的游戏的人也使用模拟器,还有那些想要在新硬件上无法运行的游戏上玩游戏的人。例如,有适用于在计算机(或移动设备)上玩gameboy advance游戏的任天堂gba模拟器。模拟器会“假装”自己实际上正在运行在原始gameboy控制台上。

软件模拟的例子:

最常见的模拟器类型是用于视频游戏机,但还有其他许多类型。

一些软件模拟的例子:

  • dos box是由dos box团队编写的dos模拟器,允许您在基于windows的计算机或笔记本电脑上运行旧的基于dos的游戏。
  • hyperspin是一个街机模拟器前端,允许用户从mame、neogeo和其他平台导入游戏到一台机器上,以便用一个控制器或键盘/鼠标组合同时玩所有游戏。
  • mgba是一个支持五种不同语言(英语、德语、法语、西班牙语和意大利语)的game boy advance模拟器。
  • 其他例子包括atari和任天堂等2000年以前的游戏机。

大多数游戏平台都可以进行模拟。重要的因素是运行模拟的硬件。

大多数游戏系统都可以进行模拟。

©irina zharkova31/shutterstock.com

3种主要的软件模拟类型:

有许多不同类型的软件模拟器,包括:

操作系统(os)模拟器。

这些程序模拟一个操作系统的硬件和软件,允许您在计算机上运行不同于安装在计算机上的操作系统。这通常是用于微软windows或linux等操作系统。

这些模拟器可以合法地被想要在不同操作系统上测试其软件的人使用。

然而,它们也可以被想要盗版游戏或使用盗版windows或linux的人非法使用。

兼容性模拟器

这些模拟器允许不支持彼此的计算机和其他设备相互通信并轻松交换数据。它们在许多行业中使用,包括医疗保健、交通运输和制造业。

游戏模拟器

这些模拟器用于使旧游戏在现代设备上运行。正如我们上面提到的,这是使用软件模拟器最广泛使用的原因。

什么是硬件模拟?

硬件模拟是一种创建硬件设备的精确副本的方法,包括其处理器和内存。基于硬件的模拟器最常见于运行虚拟化软件(如vmware或virtualbox)的计算机中。

虚拟机(vm)可以被视为操作系统内的操作系统。通过像vmware workstation player或oracle vm virtualbox这样的虚拟化软件,vm允许多台计算机平台通过共享一个物理机器来实现虚拟化。这种方法有很多好处:

  • 由于每个虚拟机在基础操作系统上运行自己的操作系统,您的资源使用效率更高。
  • 您可以轻松在一个物理机上安装多个版本的windows和linux,而无需为每个操作系统版本分区硬盘。

他们通过额外的代码来实现这个过程,该代码模仿原始系统的行为并将指令转换为目标平台的等效指令。

您可以在运行虚拟化软件(如vmware)的计算机上找到基于硬件的仿真器。

©videobcn/shutterstock.com

硬件仿真的示例:

硬件仿真的一个最著名的示例是用于windows的apple's mac iie仿真器。

bluestacks是另一个很好的例子,它允许您在mac或pc上使用android应用和游戏。

硬件和软件仿真的好处是什么?

仿真具有以下几个好处:

  • 首先,它可以降低购买硬件的成本。
  • 其次,它可以降低购买软件许可证的成本。
  • 第三,它降低了维护成本,因为开发机器不需要在不同位置之间来回运输。
  • 另一个好处是硬件仿真通过消除等待新零件带来的耗时延迟来提高开发速度。
  • 它还提高了开发灵活性,因为每个开发人员都可以在自己的计算机上工作并使用自己的操作系统。开发人员不再局限于具有固定安装工具集的单一环境,而是可以自由使用各种平台的工具。
  • 硬件仿真还提高了准确性和可靠性。您可以创建一个模拟器,其中每个位都可以独立于其他位进行控制。这样,在开发游戏时不会意外发生竞态条件或时序错误等问题。

哪个更好?硬件还是软件

软件仿真比硬件仿真慢,因为真实的cpu比基于仿真的cpu要快得多。

硬件仿真比软件仿真快,因为它模拟了与其仿真的相同类型的处理器,并且不需要任何翻译或模拟。它直接运行指令,没有额外的开销或速度或功能损失。

但是这可能会带来一些成本(字面上)。与软件仿真器相比,硬件仿真器可能相当昂贵。

如何创建一个仿真器?

如果您想编写一个n64模拟器,那么您需要了解n64具有的能力和资源。您需要知道它使用的处理器类型以及它所能访问的内存类型。以及像显卡、声卡等计算机的其他方面。

编写一个仿真器并不是一件容易的事。您必须编写代码来模拟您试图仿真的系统的整个硬件,并在其上运行原始操作系统。这意味着您必须了解每个硬件部件的工作原理,包括其所有的特殊特性和错误。

Written by