在某个地方列出了不同数学运算所需的周期数,对于像intel q6600这样的典型处理器,性能会因处理器之间的不同而有所不同,尽管拥有图表/列表会非常有用,有没有人看到一个人?
即:
math.sqr = 27 cycles
math.sin = 22 cycles
divide = 8 cycles
modulo = 4 cycles
compare a>b = 2 cycles
multiply = 1 cycles
那样的东西?
不同的比较使用了多少个周期?
答案 0 :(得分:4)
可以找到Kentsfield(包括Q6600)的完整列表here。
但是,这还不够。一系列指令所花费的时间并不(通常)只是其各部分的总和 - 一些事情通常可以同时执行,并确定它们需要付出一些努力。我建议您阅读Microarchitecture (by Agner Fog)的相关章节,您需要this才能看到说明可以转到哪些执行端口。如果您只是在寻找经验法则,那么它们就是(1c .33t意味着1个周期的延迟和.33的倒数吞吐量,即3个独立的吞吐量可以在一个周期内执行:
答案 1 :(得分:1)