Live data from Hacker News

Ask HN: Why hasn't x86 caught up with Apple M series?

news.ycombinator.com

491–500 of 640 posts

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#491
post #364

Earlier quoted context omitted.

A huge reason for the low power usage is the iPhone. Apple spent years incrementally improving efficiency and performance of their chips for phones. Intel and AMD were more desktop based so power efficiency wasnt the goal. When Apple's chips got so good they could transition into laptops, x86 wasn't in the same ballpark. Also the iPhone is the most lucrative product of all time (I think) and Apple poured a tonne of t…

> A huge reason for the low power usage is the iPhone. No, the main reason for better battery life is the RISC architecture. PC on ARM architecture has the same gains.

Any downvoters care to actually leave me a reply telling me why?

Im not wrong!

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#492
post #92

A lot of insightful comments already, but there are two other tricks I think Apple is using: (1) the laptops can get really hot before the fans turn on audibly and (2) the fans are engineered to be super quiet. So even if they run on low RPM, you won't hear them. This makes the M-series seem even more efficient than they are. Also, especially the MacBook Pros have really large batteries, on average larger than the co…

The macbook air doesn't even have a fan. I don't think you could built a fan-less x86 laptop.

It can consume almost 20W sustained, which is quite a lot. Competitors will definitely have fans roaring at this power draw. I think the all metal design makes a huge difference from a cooling perspective. The entire case is basically a heatsink.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#493
post #4

RISC vs CISC. Why you think a mainframe is so fast? ARM is great. Those M are the only thing I could buy used and put Linux on it.

I thought people stopped believing this around 2005 when Apple users finally had to admit that PPC was behind x86. Even though this was the case for the most part during the entire history of PPC Macs (I owned two during these years) https://chipsandcheese.com/p/arm-or-x86-isa-doesnt-matter

Cheese and Chips makes some bad arguments in that article.

Their claim that ARM decoders are just as complex wasn't true then and is even less true now. ARM reduced decoder size 75% from A710 to A715 by dropping legacy 32-bit stuff. Considering that x86 is way more complex than 32-bit ARM, the difference between an x86 and ARM decoder implementation is absolutely massive.

They abuse the decoder power paper (and that paper also draws a conclusion its own data doesn't support). The data shows that for integers/ALU, some 22% of total core power is used by the decoder for integer/ALU workloads. As 89% of all instructions in the entire Ubuntu repos are just 12 integer/ALU instructions, we can infer that the power cost of the decoder is significant (I'd consider nearly a quarter of the total power budget to be significant anyway).

The x86 decoder situation has gotten worse with Golden Cove (with 6 decoders) being infamous for its power draw and AMD fearing power draw so much that they opted for a super-complex dual 4-wide decoder setup. If the decoder power didn't matter, they'd be doing 10-wide decoders like the ARM designers.

The claim that ARM uses uops too is somewhere between a red herring and false equivalency. ARM uops are certainly less complex to create (otherwise they'd have kept around the uop cache) and ARM instructions being inherently less complex means that uop encoding is also going to be more simple for a given uarch compared to x86.

They then have an argument that proves too much when they say ARM has bloat too. If bloat doesn't matter, why did ARM make an entirely new ISA that ditches backward compatibility? Why take any risk to their ecosystem if there's no reward?

They also skip over the fact that objectively bad design exists. NOBODY out there defends branch delay slots. They are universally considered an active impediment to high-performance designs with ISAs like MIPS going so far as to create duplicate instructions without branch delay slots in order to speed things up. You can't argue that ISA definitely matters here, but also argue that ISA never makes any difference at all.

The "all ISAs get bloated over time" is sheer ignorance. x86 has roots going back to the early 1970s before we'd figured out computing. All the basics of CPU design are now stable and haven't really changed in 30+ years. x86 has x87 which has 80-bits because IEEE 754 didn't exist yet. Modern ISAs aren't repeating that mistake. x86 having 8 registers isn't a mistake they are going to make. Neither is 15 different 128-bit SIMD extensions or any of the many other bloated mess-ups x86 has made over the last 50+ years. There may be mistakes, but they are almost certainly going to be on fringe things. In the meantime, the core instructions will continue to be superior to x86 forever.

They also fail to address implementation complexity. Some of the weirdness of x86 like tighter memory timing gets dragged through the entire system complicating things. If this results in just 10% higher cost and 10% longer development time, that means a RISC company could develop a chip for $5.4B over 4.5 years instead of $6B over 5 years which represents a massive savings and a much lower opportunity cost while giving a compounding head-start on their x86 competitor that can be used to either hit the market sooner or make even larger performance jumps each generation.

Finally, optimizing something like RISC-V code is inherently easier/faster than optimizing x86 code because there is less weirdness to work around. RISC-V basically just has one way to do something and it'll always be optimized while x86 often has different ways to do the same thing and each has different tradeoffs that make sense in various scenarios.

As to PPC, Apple didn't sell enough laptops to pay for Motorola to put enough money into the designs to stay competitive.

Today, Apple macbooks + phones move nearly 220M chips per year. For comparison, total laptop sales last year were around 260M. If Apple had Motorola make a chip today, Motorola would have the money to build a PPC chip that could compete with and surpass what x86 offers.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#494
post #322

Earlier quoted context omitted.

It actually doesn't make much difference: https://chipsandcheese.com/i/138977378/decoder-differences-a...

I had not realized that Apple did not implement any of the 32-bit ARM environment, but that cuts the legs out of this argument in the article: "In Anandtech’s interview, Jim Keller noted that both x86 and ARM both added features over time as software demands evolved. Both got cleaned up a bit when they went 64-bit, but remain old instruction sets that have seen years of iteration." I still say that x86 must run two F…

> I still say that x86 must run two FPUs all the time, and that has to cost some power (AMD must run three - it also has 3dNow).

Legacy floating-point and SIMD instructions exposed by the ISA (and extensions to it) don't have any bearing on how the hardware works internally.

Additionally, AMD processors haven't supported 3DNow! in over a decade -- K10 was the last processor family to support it.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#496
post #489
post #464

Earlier quoted context omitted.

Yes, for a while that was the only "serious" option for Windows

Yes, and Logic Pro was generally looked at as 'My first DAW' in most studios I have been in. Also Protools was available on Windows from 1997 and was used in many PC based studios.

I remember Logic Pro becoming quite popular after version 8, even though veterans who knew protools backwards had no reason to switch, a lot of the newer studios used logic.

You're right about protools on Windows. I got confused about protools not requiring the use of their own interfaces

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#497

> might be my Linux setup being inefficient Given that videos spin up those coolers, there is actually a problem with your GPU setup on Linux, and I expect there'd be an improvement if you managed to fix it. Another thing is that Chrome on Linux tends to consume exorbitant amount of power with all the background processes, inefficient rendering and disk IO, so updating it to one of the latest versions and enabling "m…

> x86 is inherently inefficient

Nothing in x86 prohibits you from an implementation less efficient than what you could do with ARM instead.

x86 and ARM have historically served very different markets. I think the pattern of efficiency differences of past implementations is better explained by market forces rather than ISA specifics.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#498
post #348

There’s a number of reasons, all of which in concert create the appearance of a performance gap between the two: * Apple has had decades optimizing its software and hardware stacks to the demands of its majority users, whereas Intel and AMD have to optimize for a much broader scope of use cases. * Apple was willing to throw out legacy support on a regular basis. Intel and AMD, by comparison, are still expected to run…

It’s a bit unfair to say apple threw out backwards compatibility. Each time they had a pretty good emulation story to keep most stuff (certainly popular stuff) working through a multi-year transition period. IMO, this is better then carrying around 40 years of cruft.

This was absolutely not the case for 32-bit iOS apps, which they dropped from one year to the next like a hot potato. I still mourn the loss of some of the apps.

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#499

Well, there is a major architectural reason why the entire M-series appears to be "so fast" and that is the unified memory, which completely eliminates the buffer-to-buffer data copying that is probably over half of what a non-unified memory architecture chip is doing at any given time. M-series chips have an architecture that completely eliminates data copying, just reference the data where it is, and you're done.

Is that what game consoles have done for years?

Re: Ask HN: Why hasn't x86 caught up with Apple M series?

#500
post #420

Earlier quoted context omitted.

It's more than that. They have an unlimited license to arm designs, and can change them as they see fit, since they were an early investors (or something along those lines). Other manufacturers can't get these terms, or if they can, it will be prohibtly expensive

Apple has an architectural license that lets them build their own ARM cores: https://www.electronicsweekly.com/news/business/finance/arm-... It is very unlikely Apple uses anything from ARM’s core designs, since that would require paying an additional license fee and Apple was able to design superior cores using its architectural license.

Yep, Apple was a significant early investor in ARM. https://appleinsider.com/articles/23/09/05/apple-arm-have-be...
Post reply on HN