我目前正在用c构建一个小型虚拟机,以对一个旧的16位CPU进行建模,该CPU以超慢的时钟速度(几百Khz)运行。如何限制虚拟机对操作码等的处理速度?还是我想要?

最佳答案

正如我在评论中所说,我建议使用某种计时器机制

如果您想匹配某个速度,请按以下步骤操作:

1 kHz   1000 Hz    1/s
----- * ------- * ----- therefore  1 kHz = 1000/s
  1      1 kHz     1 Hz


这意味着每隔一秒钟执行1000次操作,因此请倒数来计算两次操作之间的时间,即1/1000 s或1 ms

因此,假设您要匹配125 kHz

125 kHz   1000 Hz    1/s
------- * ------- * ----- therefore  125 kHz = 125000/s
  1      1 kHz       1 Hz


所以1/125000 s或.008 ms或8000 ns

希望这可以帮助!

关于c - 控制虚拟CPU的时钟速度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13968236/

10-11 08:29