What term do you think they'd use, and why?
What term do you think they'd use, and why?
If you ask a Sun employee: "Enemy #1."
Less sarcastically: "slightly above average."
x86_64 is a nightmare, and we're a decade behind where we could be because it was what the industry settled for.
Unfortunately, I think a much more likely situation is that x86 (/64) is only slightly hobbling things, and Intel are easily able to push past that with technical craftiness. As in many other cases, implementation trumps theoretical design.
A new architecture can offer that much advantage; x86_64 wasn't even the third most-performant implemented ISA when it was released, and every other ISA makes gains far faster than it. SPARC and POWER are still competitive with it despite having 1/1,000,000th the amount invested in them, and in just a few years and with comparatively nothing invested into it, RISC-V is starting to rival a portion of the chips (though not the upper line of them yet).
It "won" because of backwards compatibility, nothing more.
The evidence is that architectures are just not as important as all that. x86 is clearly pretty bad in many ways, but clever tricks and microcoding have been able to overcome those issues.
This is a complete misinterpretation of the above comment.
The issue was chipsets and peripherals, not POWER performance (which generally always beat x86 at the same point).
The problem was that the entire ecosystem was built around communicating with an x86. So, you couldn't get a Northbridge or Southbridge equivalent that was even remotely close in performance or power consumption to those in x86 space.
Unless you decided that you were going to take on everything in chip design, you couldn't compete. And Apple didn't decide to take on everything until Intel told Apple to pound sand and pissed Jobs off.
The 601 based PowerPC's were the first to be able to do 3D graphics on the microprocessor well.
The G4 based titanium Powerbooks were sufficiently better that they became iconic at a time that Apple wasn't regarded that well.
Sure, the G5 and up were disastrous, but the writing was on the wall well before that. Chipsets on the G3 and G4-based systems used more power than the processor and that only became untrue because the G5 was quite so poor.
Do you have a source for this? First time I've seen anyone claim that the G5 was competitive with contemporary Intel CPUs.
Those were different times for Apple. The ship was noticeably turned, but the storm not over yet.
X86_64 is genius because it is the perfect example of the art of the possible.
It drove SPARC into irrelevance, forced Intel to adopt it instead of Itanium and drove PowerPC out of consumer computers. I'd love to have a nightmare like that on my resume.
https://news.ycombinator.com/item?id=276418
There's plenty of criticism of CISC in general, but that gets into flamewar status.
A lot of modern abstraction, vulnerabilities and inefficiency can be summed up with "x86_64 sucks to write for, so let's build a new (or recreate an old) abstract machine!"
In its quest to maintain fifty years of (near) compatibility with an architecture originally used in a calculator, the industry created a monster.
There's a reason Apple (and Sun and MIPS before it) was able to get competitive with Intel's chips despite only getting a silicon team like half a decade ago and using an architecture generally seen as low-performance: they ruthlessly removed cruft, cutting ties with backwards compatibility in the process.
Backwards compatibility is a scourge unto innovation and ease of use, as even Intel saw (IA64, for all of its faults, was better than x86_64 in virtually every way).
I have a lot more criticism of x86_64, and can get a lot more technical in that criticism, but this comment is already getting a bit on the heavy side.
Modern superscalar OoO is pretty much like that, except there is a piece of hardware internally that does it, almost like a hardware jitter. This freedom both means the magical compiler doesn’t have to exist but also it allows processors to have varying amount of execution units. See that you could actually use one more int alu? Just add it and even older software is able to automatically get the benefit.
in summary: x86 is ugly (and below is why I think so) but we don't care because compilers enable us to just forget about what ISA we're using. This is a good thing. This is the way it should be. But it's also an example of what the OP was talking about -- bad hardware design (in this case the x86 ISA; the actual hardware is quite good) not mattering because software is sufficiently good