3 ms·
A while back Linus said something to the effect that x86 was the default for servers because that's what people used on their desktops. I personally find this n
by andrewla 6y ago
A while back Linus said something to the effect that x86 was the default for servers because that's what people used on their desktops. I personally find this news very exciting because the x86 architecture is just so messy and filled with cruft from ages ago.
If ARM becomes the standard on the desktop for a significant portion of machines, then I think that we'll probably start to see more ARM processors making inroads in the server and workstation market, which I think will be a huge win.
- qubex 6y agoThis is directly addressed in the post and Linus is directly quoted. Haven’t you read it?
- andrewla 6y agoI completely missed that section in my excitement. I skimmed the "Implications of ARM section" when the article started talking about the fact that Apple can tune the architecture, which I found irrelevant and uninteresting. Saves me the trouble of digging up Linus's statement.
- jeffbee 6y agoIt seems a bit silly to discuss servers based on Apple's architecture before they reveal something with several cores. Mainstream x86 processors have 64 cores per socket. These are the top contenders in SPEC performance-per-watt benchmarks. Notably, nobody has ever even bothered submitting a SPEC result for an ARM server, in particular not Ampere, whose product "provides industry leading power efficiency/core" even though there is no evidence to back this claim.
- sergeykish 6y agoIt is a lucrative market, they have money and followers. I would not believe they could design smartphone processor but here we are. Lets check in five years.
- clarry 6y agoTo 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)?