I feel like x86 itself is kinda legacy tech. So while AMD has made advancements, they're somewhat in the same boat as Intel.
It seems like NVIDIA and Micron are the real "crown jewels" of US tech
I feel like x86 itself is kinda legacy tech. So while AMD has made advancements, they're somewhat in the same boat as Intel.
It seems like NVIDIA and Micron are the real "crown jewels" of US tech
Intel could make exciting RISC-V relatively quickly if they wanted to; what stops them and other companies like this is the strategic asset they perceive their existing ecosystem as.
https://www.computerenhance.com/p/an-interview-with-zen-chie...
It's like saying that programming language syntax/keywords are better than the other.
Everything is about compiler, lib, runtime, etc.
https://chipsandcheese.com/p/arm-or-x86-isa-doesnt-matter
Also some people say that RISC-V is the way to go
But let's be clear: Of course ISA matters. It's just as trivial to make a bad ISA as it is a bad syntax. But does the ISA of modern superscalar processors matter? Probably a bit, but certainly not a whole lot.
In this particular case: ia64 leaned hard into wide VLIW in an era where growing transistor budgets made it possible to decode and issue traditional instructions in parallel[1]. The Itaniums really were fine CPUs, they just weren't particularly advantageous relative to the P6 cores against which they were competing, so no one bought them.
[1] In some sense, VLIW won as a matter of pipeline architecture, it only lost as a design point in ISA specs. Your Macbook is issuing 10 arm64 instructions every cycle, and it doesn't need to futz with the instruction format to do it.
Isn't having fixed-size naturally-aligned instructions (like on 64-bit ARM) enough to get that advantage?
Really VLIW is a fine idea. It's just not that great an idea, and in practice it wasn't enough to save ia64. But it's not what killed it, either.
And by the way that's why open source makes such migrations much cheaper.
ld r1, [r2 + 10]
st [r3 + 4], r4
And then consider things like speculative execution.Either have a stupid ISA and do all the work ahead-of-time with way more compute time to optimize or don't optimize and have a higher level ISA, that also hs concepts like pointer provenance.
The current state seams like a local minima with both having ahead-of-time optimization, but the ISA does it's thing anyways and also the compiler throwing much of the information away with OoO analysis being time-critical.
Meanwhile the CPU probably can't do a loop invariant hoist in a reasonable way or understand high level semantics.
When people say "ISA doesn't matter", they mean that the "legacy cruft" in x86 doesn't matter (that much) and that x86 remains competitive with other similar ISAs. It doesn't mean that the difference between VLIW and traditional ISAs doesn't matter. ISA paradigm still matters, just not the "syntax".
The impact of ISA is overrated, it's much more important that the ISA continues to grow and adapt as CPUs get larger.
No, it's not. In modern high-speed CPUs, many instructions are decoded directly, without going through the microcode engine. In fact, on several modern Intel CPUs, only one of the instruction decoders can run microcode ("complex") instructions, while all the other decoders can only run non-microcode ("simple") instructions.
It would be more precise to say that it's at the "front-end" part of the core (where the decoders are) that the ISA lives, but even that's not quite true; many ISAs have peculiarities which affect beyond that, like flags on x86.