4 ms·
The surface-level argument is that the instruction set is simpler and more efficient. Certainly the floor for the complexity and size of an ARM processor is lo
by bri3d 4y ago
The surface-level argument is that the instruction set is simpler and more efficient.
Certainly the floor for the complexity and size of an ARM processor is lower than for x86 - the ISA is smaller, easier to decode, and suffers from fewer silly legacy baggage items.
However, the reality is that all modern out-of-order microarchitectures are fiendishly complex and that at the "top of the game," implementation details at every level of implementation matter more than the fundamental ISA at play. With x86 there's a certain die size and complexity "tax" in terms of instruction decoding and support that majorly affects small designs. For example, an x86 microcontroller would be a bad idea compared to an ARM one, full stop. But, once you've paid that top-line x86 tax and you're building a huge out-of-order microarchitecture, the differences are minimal and how well you build the rest of the CPU's machinery matters much more than the ISA you started with.
- dontlaugh 4y agoFor the most part, yes. One difference is having constant instruction length, which allows highly parallel decoding and a wider machine in general. This is part of what makes Apple's CPUs faster and cannot be replicated by x86-64, ARM32 or RISC-V with compressed instructions.