Supporting 64-bit ARM systems
Posted Jul 12, 2012 14:31 UTC (Thu) by khim
In reply to: Supporting 64-bit ARM systems
Parent article: Supporting 64-bit ARM systems
Is there ANYTHING that CPU silicon can do with an instruction stream that software cannot do? No, not really.
This is were you are wrong. Dead wrong as Itanic story showed. There is one thing software can not do - and sadly (for guys who dreamed up this still-born archtitecture) this is the only thing that matters. Software can not optimize your software for the CPU which does not even exist yet.
Most software improves quite a bit on any CPU when rebuilt with performance feedback optimizations. After profiling, true data is available for branch and memory predictions. CPU silicon without hints can only look a few steps ahead and make guesses.
This is classic case of the In theory, there is no difference between theory and practice. But, in practice, there is.
Theory: you can use PGO and produce nice and fast code. Itanium should kill all other CPUs!
Practice: Even if software is built in-house it's usually built once and used on system with different CPU generations (often from different vendors). COTS is used for decades without recompilation. Itanic is gigantic waste of the resources.
IA64 SMP works even better than Xeon's because Intel fixed some of x86's short-sighted memory ordering rules.
Not really. Compare obvious competitors: Itanium® Processor 9350 and Xeon® Processor E7-4860. Surely Itanium wins because of it's better architecture? Nope: if your task is SMP-capable then 10 cores of Xeon can easily beat 4 Itanium cores. And this is not an aberration: Xeon systems usually had 2x more cores (often difference was more then 2x) than identically priced Itanium systems. Even will all fixes in memory-ordering rules Itanium was never able to win such competition if task was able to use all the cores of Itanium and all the cores of Xeon.
to post comments)