计算机组成原理——CPI相关

程序的CPI(cycle per instruction)为什么与编程语言和编译器有关?
不同的编程语言最后不都是被编译成机器码吗?
不同的编译器编译同一个程序的结果难道还会不同?

编程语言只是语法规则
不同编译器如何实现这个语法规则,底层原理有可能是不同的
甚至不同IDE具体实现之后,优先级都不太一样
而编程语言不同编译出来的东西不同就更好理解了
比如python的底层是java,java的底层是c++
那么python一句代码,换成c++可能就上百行代码

不同的编译同一个程序,输出的结果肯定是不一样的。
比如X86架构、ARM架构、MIPS架构、powerpc架构等芯片的编译器都是不一样的,编译出来的可执行程序也是不能在其他架构平台使用的。