Originally posted by: dmens
Originally posted by: taltamir
true, it is unlike that MOST code uses the entirety of the CPU effectively. The architecture is just horribly inefficient, this is part of why we need to do away with x86 already.
what does this have to do with x86? latencies exist in all machines. if you cache (better do), you have misses. if you rename, the table can only hold so many aliases. out-of-order dispatch will put a bottleneck on a scheduler, as will out-of-order load/stores. these problems are not unique to x86.
modern x86 cores use proprietary microcode which bears little resemblance to x86. if x86 as an ISA is inefficient, you'd see the translation front-end as the major throughput bottleneck. but that is obviously not the case.
sure it may a little more energy per operation compared to some dedicated ISA's, but how many of those can be as flexible? for example, there were no from-scratch core redesigns to accommodate SIMD extensions, x86-64, or the upcoming AVX.
lastly, x86 is evolutionary. legacy features can and will be disabled with time to enhance future performance.