答案1
是的。一般来说,这种技术是存在的。软件模拟一直被使用,既可以在当前硬件上运行旧版操作系统和应用程序,也可以在硬件可用之前帮助编写操作系统和支持新硬件的代码。早在 Microsoft 团队拥有真正的 Itanium 进行测试之前,Windows 到 Itanium 的移植就已经在模拟器上启动并运行了。
有一个开源项目叫新加坡国立大学医学系。我现在正在运行它,我的 Windows 机器内运行 VMS 6.1 的 VAX。当然,它比原生 x86 代码慢得多,但它至少比它模拟的 VAX 快 20 倍。我没有看到他们有 x86/x64 实现,但其他地方可能有。
但请注意:模拟器不仅要模拟 CPU,还要模拟每个 I/O 设备的所有主机控制器接口。这需要大量实现。我非常怀疑您是否能找到一个 SIMH 软件包,它不仅包含 x86,还包含戴尔机器的特定外设和 BIOS。
答案2
只有当有人足够无聊,愿意从头开始建模所有硬件时,才会出现这种情况。现代虚拟机之所以成为抽象在许多方面都与真实机器相似,具有通用的模拟芯片组(通常是 440 bx irrc)、视频卡(通常是 cirrus logic 视频卡 - 想想你上次看到它的时候)和特定的 NIC。它们通常很旧、简单且完全了解。
如果你让他们对戴尔 Latitude 笔记本电脑上的每一个组件进行逆向工程,那当然可以。人们已经对游戏机做过这样的事情,而且没有什么可以模拟早期的 NES完美。这是一项正在进行的工作,也是一套专门的硬件组合,一事情。完全模拟特定系统以供一般使用的好处并不存在。