我曾经使用过QEMU模拟的PowerPC芯片,目前正在使用Xilinx Virtex II pro来执行PowerPC指令。
在这两个平台上,我都运行了一个自定义的RTOS,并测量了一个任务所花费的时间。任务的内容在不同的实现中没有不同,但它所花费的时间有相当大的差距。
在QEMU上花费的时间大约是200微秒,而在Xilinx芯片上花费的时间大约是2000微秒。
为什么会发生这种情况?直接在硬件上运行RTOS不是应该比模拟更快吗?
编辑:两者的速度都是300 MHz
发布于 2019-05-13 06:08:06
在一些主机上运行的QEMU可能比其他一些特定的真实硬件执行得更好,这并不是不可想象的。用模糊的营销术语来说,QEMU的PowerPC JIT could get into mid-hundreds-of-MIPS on (unspecified) systems in 2010的性能可以与低数百兆赫的PowerPC 405 (Xilnix Virtex II Pro Datasheet,PowerPC 405 Core Product Overview)相媲美。
无论你运行的是什么,QEMU和你的PowerPC 405内核之间的性能差异是否足以解释你在它上运行的任何东西所看到的测量时间差,这是另一个问题,没有更多信息就不清楚。
https://stackoverflow.com/questions/23990472
复制相似问题