先问是不是,再问为什么。
为啥当年x86 on IA64(安腾)确没有弄出来?有,但是性能实在没眼看。
最早的安腾是直接在片上集成了解码器用于处理x86指令(右上角区域)
但是这部分的晶体管数非常少,性能更是拉中拉,667MHz的安腾,性能和N年前0.1GHz的老奔腾有来有回 [1]
后面为了挽救颓势,又加入了软件模拟层
[2]
,性能比以前强了不少
然而性能还是感人至深,2006年90nm制程的1.4GHz安腾2,开一个核心,转译后性能还不如臭名昭著的第一代Atom——要知道06年王炸级的酷睿架构已经有了,哪怕是老的Netburst架构至强,因为频率够高,性能也比安腾强。
而且安腾CPU的价格也没有优势,x86-64的胜利更是势不可挡
最后,安腾的超长指令路线从思路上就有一个问题。
理论上把多个短指令合并成一个长指令执行,并行效率可以达到很高。
但这种放弃JIT全部采用AOT的方法显然不现实——一些指令的执行应当如何做优化排序,编译阶段并不能获知,只有在运行时才能获知。所以再怎么优化,安腾的实际性能也就这样了,被淘汰是一点不冤。
参考
- ^https://tweakers.net/reviews/204/8/intel-itanium-sneak-preview-benchmarks-rc5-chess-en-stream.html
- ^https://www.intel.sg/content/dam/www/public/us/en/documents/reference-guides/itanium-ia-32-execution-layer-reference-guide.pdf