12 ms·
Why do people ascribe broader ARM implications to the M1? Apple uses the ARM instruction set to make an amazing CPU. It could probably make one with the x86 set
by webwielder2 6y ago
Why do people ascribe broader ARM implications to the M1? Apple uses the ARM instruction set to make an amazing CPU. It could probably make one with the x86 set too. It doesn’t mean everyone else making ARM processors will suddenly get much better. Not to mention that Apple’s very similar A series has already been around for years.
- johnbender 6y agoWorth noting that the ISA is more than a set of instructions it’s also a semantics for those instructions. For example the concurrent semantics of ARM processors permits a much larger array of optimizations on the per thread level which is good for performance.
- cpuguy83 6y agoThey can't make an x86 one because Intel holds the rights on it and only AMD has a license to do this (there is a history here). Also I wouldn't be surprised if one actually could not build anything like M1 (at that power usage) w/ x86.... Intel certainly hasn't been able to.
- RuggedPineapple 6y agoThe history is actually pretty simple. Originally it was because the US government requires a second source for any components and so Intel had to license it to somebody to supply the US government. Then later AMD's 64 bit instructions became the standard, so Intel needed the license for the 64 bit extensions and AMD needed the x86 base and so they just decided to cross-license and call it good.
- gonzo 6y agoYou seem to have not mentioned the lawsuit and clean room effort.
- RuggedPineapple 6y agoWhich lawsuit? The mid-late 2000's one after all this history? Or the 1991 one that was about intel seeking ways to squeeze out AMD from it's license? The first one isn't really relevant to this and the second one could have been more direct but AMD having a license and then getting another later as part of the deal on x86-64 does allude to behind the scenes shenanigans.
- puetzk 6y agoThere's actually a 3rd x86 license, that has changed hands quite a few times (Cyrix -> National Semiconductor -> Centaur(IDT) -> VIA -> Zhaoxin, I think, unless I missed a few transitions?) There's also the https://opencores.org/projects/ao486 https://opencores.org/projects/ao486 - the relevant patents on a 486-era design would have expired
- Taniwha 6y agoand at least 2-3 other attempts at cloning I know of including Linus's Transmeta and the one I worked on
- userbinator 6y agoThe Pentium patents have expired too, and if we go by the usual 20-year expiry, then that would mean everything up to the Pentium III (1999) would be in the public domain. IANAL.
- garmaine 6y agoPatents have expired. That doesn't make it public domain.
- jecel 6y agoIsn't the point of patents that instead of ideas being kept secret (and often vanishing when their inventors die) they are published in exchange for a limited time monopoly on their use? In that case when a patent expires it does indeed become public domain.
- wmf 6y ago"ARM is killing x86" is a cooler narrative than "Macs are now crazy-fast but they're still Macs so few people will switch".
- danellis 6y agoFew people will switch, but those people may still end up running Windows on ARM.
- deleted 6y ago[deleted]
- alwillis 6y ago"Macs are now crazy-fast but they're still Macs so few people will switch". Anecdotally there have been a bunch of posts on HN since the M1 Macs shipped by people who've either stopped using Macs years ago or who've never bought a Mac previously who are happy M1 Mac owners. The M1 Mac mini retails at $699, but I've already seen it as low as $625. There's certainly nothing in that price range that's better. And even before the M1 Macs shipped in November, Mac revenue hit an all-time high of $9 billion in the quarter that ended September 26, 2020 [1]. Apple often highlights that about 50% of Mac customers are new to the Mac, a trend that's likely to accelerate. [1]: https://www.apple.com/newsroom/2020/10/apple-reports-fourth-quarter-results/ https://www.apple.com/newsroom/2020/10/apple-reports-fourth-...
- novaRom 6y ago>> There's certainly nothing in that price range that's better. You can buy very good AMD based PC nowdays for way below $700. All modern Linux kernels fully support AMD GPUs.
- AntiImperialist 6y ago>Anecdotally there have been a bunch of posts on HN since the M1 Macs shipped by people who've either stopped using Macs years ago or who've never bought a Mac previously who are happy M1 Mac owners. Yeah, HN users. This is a very specific group of users who buy the 4th laptop because "it's cool". Most people buy the next laptop because their current one broke and it's not worth fixing this time around. If they had Macbook before, they'll most likely buy a Macbook. If they had a Windows laptop, they'll most likely buy a Windows laptop.
- scoopertrooper 6y agoThere was an article posted not long ago that suggested the variable length instruction set in x86 chips prevented some of M1's most important design innovations being replicated by Intel and AMD. https://debugger.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2 https://debugger.medium.com/why-is-apples-m1-chip-so-fast-32...
- amelius 6y agoYes, it seems that CISC is at a dead end. But perhaps Intel/AMD can surprise us with a dynamic allocator that runs in the reorder buffer. Or perhaps they can still push the limit one more time with more transistors. Another option would be to implement a fast-path for small instructions, so in effect they would be moving from CISC to RISC but only for parts of the code that need the extra performance.
- tanilama 6y agoNew to the hardware land, so the core argument here is that CISC instructions are not fixed in length, so decoding becomes less efficient?
- stingraycharles 6y agoIt’s mostly that you can only pull instructions off the queue from the front, whereas with ARM since the size is fixed you can just pull them off anywhere. I think with x86 Intel and AMD are basically brute forcing this by just pulling instructions off a random position and hoping it’s a correct offset, but it’s very inefficient.
- userbinator 6y agoI doubt that --- modern x86 (everything since the original Pentium) breaks instructions into uops anyway and caches those, so if anything I'd say the M1 is impressive despite having relatively large fixed-length instructions. There's some more discussion in here about the source of the M1's performance, and it largely seems to come down to the smaller process size that enabled Apple to scale up a lot of the structures in the uarch: https://news.ycombinator.com/item?id=25394301 https://news.ycombinator.com/item?id=25394301
- sliken 6y agoWell the perception was that AMD and Intel had a unassailable lead. That even with a power and clock speed disadvantage that the M1 can be quite competitive with several other serious mobile chips, like the Intel I9. Now apple has proved that a cool running chip that sips power can run a wide variety of intensive applications well. People were quite dubious of apple's chances on a competitive desktop chip and have just received a wake up call with a relatively conservative M1 chip (3.2 GHz and 4 fast cores).
- webwielder2 6y agoBut they had no reason to be skeptical, given the A series. To only take a processor seriously once it’s housed in a case with a keyboard attached is ridiculous.
- sliken 6y agoWell, I kind of agreed with them. It's easy to assume that phone apps written for a few GB ram would not be representative of high end use like compiling large projects, editing 4k video, manipulating large datasets, etc. But as it turns out the M1 does quite well at quite a few real world aggressive desktop applications.
- mrtksn 6y agoI was on the other side: Bits are bits, loops are loops. Why there’s a distinction between phone app and desktop app? Isn’t it that the difference is only the UI input method? At least for the last 5 years an iPhone and a desktop would handle the exact same images, videos, spreadsheets and websites with any desktop and often with better performance. Why would anyone think that these are fundamentally different?
- Retric 6y agoRAM latency for one thing. Phones have a huge advantage in that area which translates very well to most tasks as long as they have enough memory. OS differences also favor phones in many ways.
- Macha 6y agoIt's not even clear that the M1's big leap is due to ARM vs x86 rather than say 5nm vs 7nm (amd) or 14nm (Intel), or design ideas such as big/little cores and more specialized accelerators (which is ironically against the risc idea which people are claiming as the reason why arm vs x86 so the reason m1 does well)
- Gibbon1 6y agoI'm out of my league here but I've seen references to 8 bit cores that can run at a couple of giga instructions a second. It's hard to understate the performance vs power cores like that are cable of. Also sub nanosecond interrupt latency. Think a small coprocessor with local memory that's pulling commands out of a queue and managing an io controller. Couple of wins, lower power consumption, fewer context switches, and cache pressure.
- mlyle 6y agoSpecialized accelerators doesn't explain it, because we're measuring a lot of general purpose CPU tasks for the most part. Big/little is good for power consumption, not so much for performance which is still good. There's a lot of microarchitectural goodness here beyond ARM, though. Apple's got lots of little details right, and fat connection to memory helps, too. It doesn't hurt to be on leading fab, too.
- enos_feedler 6y agoThe top level things like process node, ISA and memory controller are big. But a lot of boils down to being able to shape the entire chip design exclusively around system level traces of real mac workloads. Intel needs to factor so many different kinds of traces into their chip design. Even windows vs apple makes a huge difference.
- tsimionescu 6y agoSo your prediction is that the chip will be bad at running Linux and windows? To me it seems a priori quite unlikely that the patterns of MacOS, windows and Linux are so different that this would be a major win. There may be a few specific things, but any CPU that prioritizes to much for some particular os would have big problems running CPU-intensive user-space-only workloads.
- jackcodes 6y agoIt’s slightly tangential, but I’m managing an engineering team of 28-30 and we’re currently considering a wholesale change to ARM CPUs across the board. MacBooks are our de facto development laptop and all our services use skaffold for local development, Docker basically. If we consider the perhaps likely outcome that MacBooks will one day be ARM-only, that Docker will not offer cross-arch emulation, and that our development environment will be ARM only, it then becomes likely that we’ll migrate our UAT and PROD to ARM based instances. If we go that route it’ll mean more money to the AWS Graviton programme and likely further development of ARM chips. I can’t see this affecting RISC-V but the M1 switch could very well benefit the wider ARM ecosystem.
- zapita 6y agoDoesn’t Docker already support cross-arch emulation?
- jackcodes 6y agoCross-arch images are supported, but you can only virtualise the arch you’re on. No running x86 on ARM for example. Edit; see replies, I got this wrong
- tempay 6y agoThis isn’t true, there is a --platform flag which can be used to emulate another arch: https://docs.docker.com/docker-for-mac/apple-m1/ https://docs.docker.com/docker-for-mac/apple-m1/
- bboreham 6y agoIt’s fairly straightforward to configure QEMU to do the emulation. And the Docker preview released a few days ago does that without even asking.
- thawaway1837 6y agoI don’t get this. You’re basically locking yourself to a single development eco system, and a highly limited deployment eco system. It’s not clear what the benefits of either are either. I get that the MacBook gets great performance for battery life but the majority of work is gonna be done in desktop settings, so simply using more/equally powerful x86 chips is only gonna cost you a few dollars a developer per year in electricity costs. And all that despite the fact that your development is on Docker which doesn’t even have a working solution for the workflow you’re considering at the moment.
- socialdemocrat 6y agoThat is like saying, why do people use C++ to make fast compilers, couldn't they just add a fast compiler for Python and everybody is happy? You interface whether a programming language, library API or and ISA has strong implications for what optimization and implementer than do. The ARM ISA has many advantages over x86: 1) Fixed sized instructions, which make it easier to add more instruction decoders. Discussed here: https://debugger.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2 https://debugger.medium.com/why-is-apples-m1-chip-so-fast-32... 2) More registers. ARM64 has 32 general purpose registers and 32 registers for SIMD stuff. x86 has fewer registers which are also wasted on all sorts of legacy junk. 3) More lax restrictions on memory-write back. It is easier to optimize the Out-of-Order execution on ARM, as you don't need to write back everything in order to memory. As for everybody else. ARM designs from ARM Ltd. is showing rapid performance increases and gradually closing the gap to x86. It really is inevitable as there is NOTHING special about the x86 ISA that gives it higher performance. Nothing prevents other ARM makers from catching up: https://medium.com/swlh/is-it-game-over-for-the-x86-isa-and-intel-5ce1b00fbd1 https://medium.com/swlh/is-it-game-over-for-the-x86-isa-and-...
- iridium_core 6y agoWith all of these advantages why don't the PS5 and XboxSeriesX use ARM? Do they have plans to for the next generation?
- ksec 6y ago1. They want some level of backward compatibility, and they were on x86 before. 2. Most of the Tools and Library they used are on x86. Not only from MS & Sony, but also Game developers. It is going to take some courage to change all of that. 3. When the design of PS5 and Xbox X started, none of the ARM CPU IP design, ( In fact even as of today and next year, or may be even 2022 ) has a Single Core Performance that rivals AMD's Zen 2, and certainly not Apple's M1. 4. GPU IP, both are from AMD. Which may actually be more important that the CPU IP from a gaming perspective. 5. In case you ask why not Nvidia then since they made ARM SoC like those in Nintendo. Nvidia's pricing for latest Gen IP is way out of touch. Hence that is why you only see non-leading edge tech used in Switch. ( Nvidia is not a player that wants to sacrifice Margin for Market Share, which is actually a fair point )