各种操作的近似CPU周期数

col*_*dot 10 reference cpu-cycles citations

我试图找到大约每个操作需要多少CPU周期的参考.

我不需要确切的数字(因为这会在CPU之间有所不同),但我想要一些相对可信的东西,这可以提供我可以引用与朋友讨论的数据.

作为一个例子,我们都知道浮点除法比做位移更多的CPU周期.

我猜不同之处在于,除法是大约100个周期,其中一个班次是1,但我正在寻找一些东西来引导它.

任何人都可以推荐这样的资源?

dan*_*ben 1

这将取决于硬件。最好的办法是在您想要测试的特定硬件上运行一些基准测试。

基准测试大致如下:

  • 运行原始操作一百万次(例如,添加两个整数)
  • 记录运行所花费的时间(例如,以秒为单位)
  • 乘以机器每秒执行的周期数 - 这将得出所花费的周期总数。
  • 将 1000000 除以上一步的数字 - 这将得出每个周期的指令数。请记住,对于管道,该值可能小于 1。