3 ms·
To be fair, ARM has a ton of cruft too.
by clarry 6y ago
To be fair, ARM has a ton of cruft too.
- andrewla 6y agoCan you elaborate? x86 boot protocols are ... arcane at best; making 16 -> 32 -> 32 protected -> 64 transitions, etc. Not to mention tons of instructions that are basically never used because they made sense once but don't any more. What is the ARM cruft? I think there's a processor mode transition, but I don't know the architectural details. The worst thing about ARM (as in any RISC processor) is that the instructions are devoid of semantics -- there's no "call" that is just a plain instruction, there's a "jump with flags saying to put the current instruction pointer in the location pointed to by another register and increment that register". This is kind of interesting as it allows all sorts of crazy non-tree-like call patterns, but practically speaking the scope of what compilers can generate is limited, so the implementations of the architecture will tend towards supporting certain usage patterns, which will mean seemingly equivalent instructions will have different performance characteristics, etc. Are there other specific cruftiness about ARM that you can point to (either here or referring to other posts or blogs)?