【问题标题】:Understanding QEMU clocks了解 QEMU 时钟
【发布时间】:2020-05-01 15:55:18
【问题描述】:

我正在尝试了解 QEMU 时钟。有几个可用的参考时钟。最重要的是:

  • QEMU_CLOCK_REALTIME 实际上是主机操作系统特定函数的包装器,例如 QueryPerformanceCounter() 或 clock_gettime(),然后转换为 ns 单位
  • QEMU_CLOCK_VIRTUAL 仅在仿真期间运行。在 icount 模式下,虚拟时钟值是根据执行的指令数计算的。

貌似默认使用的是QEMU_CLOCK_VIRTUAL。

因此我想知道 QEMU_CLOCK_VIRTUAL 是否与实时时钟同步?换句话说,从指令计数器获得的虚拟纳秒与实际纳秒之间的关系如何,以便用户可以在速度方面将模拟硬件感知为原始硬件?

谁能给我一个提示? 提前谢谢!

【问题讨论】:

    标签: clock qemu


    【解决方案1】:

    也就是说,虚拟纳秒是如何从指令中获得的 计数器与实际纳秒有关

    仅当 QEMU 使用-icount 选项运行时,虚拟时间才与指令计数器相关。在这种情况下,它与实时不匹配,其推进速度取决于主机 CPU 运行客户指令的速度。

    -icount 未指定时,虚拟时间与实时同步。如果您尝试从客人内部测量客人指令的时间,结果可能不切实际。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-07
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多