EPIC failure (to cancel the project when it was first failing)
EPIC failure (to cancel the project when it was first failing)
Posted Nov 11, 2023 17:01 UTC (Sat) by joib (subscriber, #8541)In reply to: EPIC failure (to cancel the project when it was first failing) by pizza
Parent article: The push to save Itanium
Unclear whether Intel profited more from Itanium compared to the alternative scenario where they would have introduced x86-64 earlier.
Posted Nov 12, 2023 9:02 UTC (Sun)
by ianmcc (subscriber, #88379)
[Link] (3 responses)
Posted Nov 13, 2023 12:41 UTC (Mon)
by farnz (subscriber, #17727)
[Link] (2 responses)
They'd have gone in one of two directions:
It'd be interesting to see what could have been if 1995 Intel had redesigned IA-64 around OoOE instead of EPIC; they'd still want compiler assistance in this case, because the goal of the ISA changes from "the compiler schedules everything, and we have a software-visible ALAT and speculation" to "the compiler stops us from being trapped when we're out of non-speculative work to do".
Posted Dec 1, 2023 12:20 UTC (Fri)
by sammythesnake (guest, #17693)
[Link] (1 responses)
Although I'm sure the cost of a from-scratch design would have been prohibitive in itself for AMD, I think the decision probably had at least as much to do with a very pragmatic desire for backward compatibility with the already near-universal x86 ISA.
History seems to suggest that (through wisdom or luck) that was the right call, even with technical debt going back to the 4004 ISA which is now over half a century old(!) (https://en.m.wikipedia.org/wiki/Intel_4004)
Posted Dec 1, 2023 13:17 UTC (Fri)
by farnz (subscriber, #17727)
[Link]
There's a lot about AMD64 that is done purely to reuse existing x86 decoders, rather than because they're trying to have backwards compatibility with x86 at the assembly level. They don't have backwards compatibility at the machine code level between AMD64 and x86, and they could have re-encoded AMD64 in a new format, while having the same instructions as they chose to implement.
That's what I mean by "not having the money"; if they wanted assembly-level backwards compatibility, but weren't short on cash to implement the new design, they could have changed instruction encodings so that (e.g.) we didn't retain special encodings for "move to/from AL" (which exist for ease of porting to the 8086 from the 8085). Instead AMD reused the existing x86 encoding, with some small tweaks.
EPIC failure (to cancel the project when it was first failing)
EPIC failure (to cancel the project when it was first failing)
EPIC failure (to cancel the project when it was first failing)
EPIC failure (to cancel the project when it was first failing)