网络上是否有任何地方可以让我了解处理器(Core i7和Core 2)周期中各种编程语言语法的含义?在大学时,我学习了ARM汇编语言,我们可以映射执行减法运算符所需的周期数。我只是想知道是否可以在Core i7或Core 2上使用更高级别的语言进行此操作?
答案 0 :(得分:8)
没有。这完全取决于您使用的编译器,以及您使用的优化设置等。
您可以使用自己喜欢的编译器和设置来生成汇编代码,并从汇编代码中进行这些预测。
但是,请记住,在现代架构中,内存延迟和寄存器重命名等因素对速度有很大影响,即使检查汇编代码,这些影响也不明显。
答案 1 :(得分:2)
通常,在高级语言中,单个语句不能完全映射到特定的机器代码指令序列。编译器通常会优化事物,这将涉及指令的各种变换,安排甚至消除。因此,引用像“for
表达式需要20个周期”这样的指标通常没有意义。
答案 2 :(得分:2)