我看到这样一句话“The most important disadvantage of the Intel compiler is that the compiled code may run with reduced speed or not at all on AMD and VIA processors.”
是说Intel编译器编译出来的代码,在AMD或VIA处理器上性能可能不佳。
我想知道,同样是x86架构,它们的指令集不是一样的吗?
被编译过的代码( compliled code )不是已经对应了汇编语言了吗?也就是每个指令都已经确定了,那是理解为同样的指令在不同的CPU上有不同的性能?有这样的例子吗?
------解决方案--------------------
Intel的编译器大概针对自己的CPU做了优化。
当年,同样的asm源程序,用Borland的TASM汇编连接生成的可执行程序通常会比用微软的MASM生成的要小。
------解决方案--------------------
可以说每种编译器支持的汇编语言形式不一样,但这些汇编语言的汇编器生成的操作码肯定是根据CPU来的,而CPU支持的指令集在手册中都明确写清楚了(Intel卷2不解释喽)。
------解决方案--------------------
同样的指令在不同的处理器上内部实现方法未必一样,性能当然也不能保证一样,象整数除法指令在Pentium4上的典型延迟是54个时钟周期,但是在core架构上已经减少到11个时钟周期,intel处理器和AMD处理器之间的差别就更大了,在intel处理器上执行很快的代码在AMD处理器上可能比较慢,反之也有可能。
------解决方案--------------------
不同的cpu的电路设计肯定有变化啊,不是的话要那么多型号来干什么啊