4 ms·
The other answer was awesome but here’s another one: Number of registers. Of course internally the CPU has some huge number of registers. But it matters how ma
by pizlonator 4y ago
The other answer was awesome but here’s another one: Number of registers.
Of course internally the CPU has some huge number of registers. But it matters how many registers the machine code can speak of, and arm64 has 32 while x86 has 16. Consequently, x86 machine code has more cases of data flow obscured by spills to the stack. In a very sophisticated cpu, that might mean more decoding work to try to reconstruct the original data flow, or more likely (what’ll probably happen in most cpus), those spills will limit how wide the cpu can go.
I don’t know what limits you more in practice - the smaller number of registers or the variable length instructions. X86 throws at least one more limiter just for good measure: the TSO memory model, which causes memory effects to have dependencies between them in cases where they wouldn’t on arm.
- erichocean 4y ago> X86 throws at least one more limiter just for good measure: the TSO memory model, which causes memory effects to have dependencies between them in cases where they wouldn’t on arm. Apple's M1 supports TSO (on ARM, obviously).
- scheme271 4y agoIsn't that only used to support x86 emulation (i.e. apps for the older macs)?
- philistine 4y agoYea, and that emulation is fast as all hell !