12 ms·
Apple M1 – a seriously fast x86 competitor
- neilsense 6y agoHave been waiting for years for an ARM-based laptop, I wouldn't have ever thought that the x86 emulation would be this good though. Apple seriously deserves huge credit for this, after both Microsoft and Google were screwing around on arm for years doing nothing useful. I do hope both Microsoft and Google come out with competitors, though, because it'll help the market massively.
- Rillen 6y agoWhat specifically made you wish for ARM? Is there something specific with ARM which is not possible in X86? I personally looking for factors like: low Power, high Performance, snappiness and 4k display support. I have no real wish for ARM because it doesn't matter what architecture i use if it is compatible to what i need. If Apple would have brought out M1 x86, it would also have helped the market.
- bayindirh 6y agoIt broadens people's mind. Especially software designers and low-level programmers. There's a lot of software (esp. low level libraries, scientific applications, etc.) which is optimized (sometimes hand-optimized) for a specific architecture. Not every software is released with "compile -> test -> release" cycle. Some resources on a CPU is extremely limited (e.g. dividers) and using them is expensive. Alternative architectures changing these balances or being more efficient in some workloads is game-changing. This is what GPUs did for AI, ML, Simulation and Maths domains. e.g.: Eigen's speed increases 300% when compiled with optimizations enabled. Especially its solvers show this performance shift. So, if ARM can change these balances and be more efficient under some workloads, it can carve a space for itself besides x86 and GPUs. This is why Apple's efforts and M1 is so important. When there's only one architecture (x86, CUDA, etc.), innovation stagnates, people's imagination shrinks.
- swiley 6y agoThe M1 mac isn't the first ARM based PC, and it's not the first popular one. Most Linux users have had plenty of ARM based PCs for a while now, often (at least for me) they've outnumbered the x86 based ones. Most distros and OSS have dealt with the issues on arm already.
- bayindirh 6y ago> The M1 mac isn't the first ARM based PC, and it's not the first popular one... However, it's the first popular and heavily backed ARM CPU which can compete with high end x86. > Most distros and OSS have dealt with the issues on arm already. I also use a lot of ARM based SBCs for a long time but, running a scientific application fast is not the same thing as booting Linux or making it reasonably performant/stable. My day job and personal research is involved with supercomputers a lot. So I live in parallel applications / architectures. There are certain scientific applications which run considerably faster in previous generation hardware when compared to current-gen ones, because they're heavily tuned for that generation's memory subsystem latencies and IPC characteristics (fetch, retire capacities and pipeline latencies to be exact). This sometimes implies that the code contains proper hints or hand-tuned asm for speed-critical sections. Eigen is a very good example of this optimization. It optimizes itself during compilation by compiling the architecture optimized paths with hints in the code and help of the compiler. So, having an ARM CPU which can surpass x86 will make these communities to take note of it. I'm not sure how Eigen performs on M1 for example (will see soon enough), or other software packages which are optimized for x86 extensively. These software packages will start to get optimizations for M1 or Apple silicon since it's pretty popular amongst scientists due to its POSIX nature and hardware quality. At the end of the day; yes, it's a glorified Raspberry Pi, but with looks and performance of a supercar, so it'll attract a different kind of user base and development effort.
- kube-system 6y agoThere's 'popular', and then there's mainstream. It looks like AS is set to become mainstream. A mainstream ARM desktop platform is going to be revolutionary in that it will force mainstream commercial developers to include ARM compatibility.
- socialdemocrat 6y agoI always wanted ARM too because x86 is of no interest to hobbyist using e.g. microcontrollers. I like learning low level stuff but never felt like it was worth the investment to properly learn the oddball x86 assembly code. I have an Amiga background where I did some assembly coding on Motorola 68000. I absolutely hated the x86 hardware platform when O switched over. It felt like everything was a kludge. Too few registers. Weird segment registers etc. ARM looks much nicer and you can use same instruction set on tiny micro Controllers.
- tachyonbeam 6y agox86-64 is much nicer to work with than 32-bit x86, but I agree. I hope that AMD comes out with an ARM offering. I would love to see ARM PCs.
- Rillen 6y agoSo the assembly code is different? Is it easier, more logical?
- socialdemocrat 6y agoIt is useful to differentiate between easy and hard as well as simple and complex. x86 has instructions which can make many thing “easy” But they are not simple. ARM is far more logically consistent. x86 is really messy and complex but often have lots of convenient instructions. So I would say ARM is easier to learn and it is easier to learn ARM code as everything by is more logical, regularized and consistent.
- jug 6y agoMicrosoft's x86 emulation on ARM is nothing like this, which is what is so surprising.
- m_mueller 6y agoNote: It's not emulation but ahead-of-time cross-compilation. This has some limitations, most notably x86 VMs are not possible. From my POV, the future of business laptops could be such powerful ARM macs around 1000-1300$ (i.e. quite low priced) coupled with cloud based Windows 10 instances to get all software running. This would then create some pressure on software developers to port over their software at least to Windows-on-ARM which could feasibly run in a local VM.
- varispeed 6y agoI wonder if this ahead-of-time cross-compilation is a way of avoiding licensing issues? It seems like one cannot just make x86 CPU without Intel's agreement, but I couldn't find a source explaining this well. I also can't see why someone cannot do a clean room implementation of the instruction set. Some people wrote to me that it may be to do with patents on some instructions, but I wonder how valid such patents are if they describe an obvious way to do a certain thing (I have not seen the patents, so this is my speculation only).
- justincormack 6y agoI think its just that it works better for most applications, where you run them multiple times. JIT is going to be slower under emulation anyway. Also note that Rosetta uses the native libraries where available, so as soon as you call into say graphics libraries that is running native, not emulating. (I believe most of the relevant patents just expired; they don't emulate the vector instructions that are newer).
- deleted 6y ago[deleted]
- Tagbert 6y agoRosetta 2 is not emulating an Intel CPU. It recompiles the binary to ARM when you run the app for the first time. It also does on-the-fly compilation of JITed code, too. Actual emulation would be much slower.
- samfisher83 6y ago
- perardi 6y ago“Binary translation” to be pedantic, but, I agree. I was an Adobe user through the PPC->Intel transition, and that worked OK, though my subjective remembered experience says non-x86 apps felt a bit pokey. (This was a while ago, and I could very well be wrong, but we had PPC and Intel iMacs at my college newspaper, and the G5 felt faster in my memory.) But that was also a transition to a dual-core Core 2 Duo machine, which was obviously unambiguously faster than a single-core G5, so there was computational room to spare to deal with the translation. It was not a done deal that x86->ARM would as smooth of a transition, as we figured ARM would be a bit faster, but not a generational leap. But here we are, Apple really managed to make binary translation work well this time, and Intel applications are plenty snappy. Which is impressive. (I also wonder how much of that is having a really fast SSD so the translation of the app is not as I/O bound.) And I don’t think legacy x86 apps will be as much of a thing this time around. Back in the PPC days, lots of applications were built using Metrowerks CodeWarrior toolchain, which didn’t come across the divide, so big applications had to scramble to get everything into Xcode. This time, if an application made it past the evolutionary bottleneck of needing to be 64-bit only for Catalina, it’s probably close to ready to go for ARM.
- spijdar 6y agoI wonder if this is actually new technology at all, or if it is literally Rosetta 2. QuickTransit, the technology behind Rosetta (1), was also licensed to many vendors for <x arch> -> <y arch> translation. The POWER version was called "PowerVM Lx86". It seems to have achieved similar performance to Rosetta 2, but was discontinued in the early 2010s. The wikipedia page for QuickTransit has, since at least 2015, had a totally unsubstantiated claim that "most" of the original QuickTransit team now works for Apple (and ARM)[0]. Makes me wonder. [0] https://en.wikipedia.org/w/index.php?title=QuickTransit&oldid=664532833 https://en.wikipedia.org/w/index.php?title=QuickTransit&oldi...
- Cu3PO42 6y agoThis time around it’s not a pure software solution. ARM has a significantly weaker memory model than x86, which makes translation generally difficult and/or slow. It appears the M1 natively supports the x86 memory model which makes the rest of the task substantially easier.
- spijdar 6y agoThis actually isn't new -- POWER processors have this exact same hardware support for emulating x86. It was even present until (the unreleased) POWER10. POWER chips up to and including 9 support "SAO", Strong Access Ordering mode. It is mentioned in exactly one sentence in the CPU manual: "The POWER9 core supports the SAO mode defined in Power ISA." This feature appears to solely have existed for QuickTransit's translation software, as POWER has a weaker memory model than x86. Linux briefly mentions this in the man (2) page for mprotect, stating: PROT_SAO (since Linux 2.6.26) The memory should have strong access ordering. This feature is specific to the PowerPC architecture (version 2.06 of the architecture specification adds the SAO CPU feature, and it is available on POWER 7 or PowerPC A2, for example).
- Causality1 6y agoIndeed. I'd happily buy an ARM based laptop but I just can't get go of my legacy software.
- bni 6y agoHow many years will it take before an Apple competitor can make an ARM ISA SoC that is anywhere near "x86-64 high end" performance? Is anyone trying currently?
- izacus 6y agoWhy does it have to be ARM? It seems way more likely that AMD will continue improving their Zen x86-64 cores to stay within the envelope. Their improvements have been very notable as well and the M1 doesn't humiliate Zen3s in the same way it does anything that Intel built.
- float4 6y agoAnd Zen3 doesn't even use TSMC's 5nm node whereas M1 does. Apple has payed a ridiculous amount of money to get all of the 5nm capacity for 2020, but it has definitely payed off when you look at all the hype.
- deeringc 6y agoYeah, this is what is jumping out at me. Not that the M1 isnt extremely impressive but a near future 5nm AMD will be a better "apples to apples" comparison. Intel is being left in the dust though.
- mlindner 6y agoBecause the amount of legacy baggage on x86-64 (naming continuing to allow x86 and even 16-bit instructions to run) is ridiculous.
- Veedrac 6y agoGive it a few months, since the Cortex X1 should be competitive in laptops.
- ptomato 6y agoARM claims X1 has about 30% better integer perf than the A77; given how the A77 performs in Snapdragon 865, that would mean the M1 is only about 45% faster single core than the X1.
- absolutelyrad 6y agoWhen intel manages to get fab process for 5nm ready, the performance (single core) will be significantly higher then ARM due to Intel's superior architecture. They're going to figure out a way, don't count them out yet. I'd long Intel, it is over sold.
- akmittal 6y agoIntel is not even ready for 7nm, Their 7nm is delayed till 2022. So fastest they can do 5nm is in 2023(Seems unlikely though when they couldn't even manage to do 7nm). ARM is not only threat to Intel. AMD caught up with Intel with Zen 2 and surpassed in Zen 3. Zen 4 5nm is planned for end 2021. If they can manage IPC gains same as Zen1-Zen2 or Zen2-Zen3, Intel is in serious trouble.
- absolutelyrad 6y agoThey'll catch up. Besides they can skip 7nm as soon as their 5nm is ready. Intel has access to most of the same machines TSMC has.
- akmittal 6y agoTSMC is shipping 7nm from mid 2018. When Intel ships 5nm, Apple/ARM is not going to stop development. M1 is their first laptop grade chip. Even if they get 10% IPC gain annually thats gonna make differece to big to catch up.
- perardi 6y agoIntel has access to most of the same machines TSMC has. OK, but, where’s the beef? Intel has been stuck for a long time now. Do we know the management and corporate culture can catch up?
- samfisher83 6y agoSandy Lake is an old architecture and with a lot of tweaks intel on single core it is still competitive. If they could fix their process or maybe just go with TSMC they should be able to become competitive. Its not like Intel hasn't been in this position before with Athlon 64. The one think they used to have was fab advantage.
- ekr 6y agoI'm personally both impressed and surprised by how well this M1 chip performs. But one thing most reviews omit to mention is that it has a fab process advantage compared to the competitors, especially against Intel. And going from TSMC 7nm (which is the latest line of AMD CPUs are using) to 5nm can bring a few tens of percentage points in power consumption and/or performance improvement. This of course doesn't take anything away from the design, as clearly Apple has had a hefty lead against other smartphone SoC designers in the smartphone space for years.
- lostmsu 6y agoExactly! This is why I am holding for the next generations of CPUs and GPUs, that should be 5nm.
- levesque 6y agoYou might be waiting a long time. Hope you have a decent setup already.
- cbozeman 6y agoOne year? AMD moves to 5nm in 2021 according to leaked memos.
- deleted 6y ago[deleted]
- levesque 6y agoWhat does moving to 5nm mean here? Starting to build stuff with 5 nm or releasing 5nm CPUs AND GPUs? Point is we don't know... and waiting for next gen is always an option -- what about next next gen?
- ksec 6y agoAt best It will be Late 2021 and widely available in 2022. AMD normally use High Performance Node and Mainstream Node Pricing. And that is assuming there will be that many capacity left, as far as I can tell, ASML hasn't been keeping up with their shipment numbers. Possibly one reason why rumours are pointing to Apple using 4nm instead of 3nm in 2022.
- overcast 6y agoJust need VM Fusion to catch up, a 16" MacBook Pro with more than 16GB of RAM, and I'm in!
- woahAcademia 6y agoHow does this work in practice? You wipe the OS and install Linux or Windows? I'm not really kidding, any steps into Apple's ecosystem is dangerous given their poor track record on Customer Service, Privacy, hardware costs, hardware quality, security, and I'm going to stop and get back to work. There are bigger problems to be solved, I don't think 1 expensive computer is going to change anything.
- akmittal 6y agoWith this I'm more excited about ARM on servers. Microsoft and Google already have ARM machines but were not much successful. I thinks Apples success would convince them to be more serious and put more resources on ARM. ARM on server would mean even cheaper cloud prices (or more performance for same price)
- xtracto 6y agoIIRC Amazon AWS is already offering ARM based MySQL and PostgreSQL databases, and they appear to perform pretty well.
- post_break 6y agoI ordered a MacBook Pro. I haven’t bought a Mac computer since 2012. This computer has the same feeling of the original core duo MacBook I got. Right during a transition and that thing was a work horse. I plan to use this machine just as much and I’m just as excited as I was getting that MacBook as my first Mac.
- ramijames 6y agoI would love to be a fly on the wall at Intel.
- craigkerstiens 6y agoWe ran some benchmarks for it on Postgres, and well the results seem pretty in line that it's some impressive performance - https://info.crunchydata.com/blog/postgresql-benchmarks-apple-arm-m1-macbook-pro-2020 https://info.crunchydata.com/blog/postgresql-benchmarks-appl...
- jeremycarter 6y agoSo all of the compared intel CPUs are mobile chips, yet the AMD CPUs are desktop? That's not very fair.