and of course microsoft haven't built the foundation to encourage an ecosystem that supports both x86/arm (universal binaries)
that's in part what makes this plan plan completely useless, and Apple got it right from the beginning back from when they announced Mac Catalyst + their decade old Rosetta tech
microsoft is such a joke, glad i am no longer dependent on windows
Is anyone shipping Universal Binaries for Mac? I thought most are shipping 2 versions, or just letting Rosetta handle things. Additionally, I don't think this iteration of Rosetta is a "decade old", but rather, is a new product with the same name.
I think the breakdown is with native/non-native apps and specific build systems.
Pretty much all the native apps that get updated for M1 are universal binaries. Xcode is (all things being relative) pretty good at making this work semi-transparently.
The only instances where I see separate builds for x86/M1 is with non native apps, a good example that I saw just yesterday being Postman. I would guess either their build system is the culprit, or some libraries that they rely on. It's not systematic though so this is particular to those vendors, it could also be that they chose to do separate builds for other reasons, though it's not what Apple suggests developers do.
Teams and Discord both have universal builds and are non-native, as counter examples to Postman. Another good example is that while VS Code [1] is universal, VS Codium [2] makes separate builds (those seem to have been posted in the last 12 hours, yay !), and this is mostly due to their build system [3].
This site is also a good resource that tells you what has native M1 support, and what still runs under Rosetta : https://isapplesiliconready.com/
The _vast_ majority of 3rd party apps on my M1 Mac are Universal? Ableton, Alfred, Affinity Photo, 1password, Backblaze, Capture One, CLion, FastRawViewer, Firefox, Irident, Postico, SublimeText/Merge.
The only notable non-Universal binaries are: Calibre (Intel-only) and Podman Desktop (Apple Silicon specific build)
Microsoft targets slower moving enterprises, where breaking old software has a much higher cost. The problem here for Microsoft is that now finally remote work is getting embraced by knowledge workers, and they don't accept non-remote always-in-office jobs anymore. And for remote / mobile work hardware efficiency and long battery life matters much more than for in office work.
You should tell that to corp IT where I work. My macbook fans have been running non-stop all week with the machine doing God only knows what while all I have open is webex, outlook, and a few VTE windows.
IMO Microsoft has put much more effort into a thoughtful x86 -> ARM transition than Apple did.
For one thing, a lot of code on Windows uses the .Net runtime and is JIT-compiled to the target platform. Those programs in general don't need to be ported at all.
For transitioning native x86 programs — and there are a lot of those on Windows, of course — Microsoft created a new ABI that lets you mix ARM and emulated x86 code seamlessly:
This is great for something like an audio or video app that uses a lot of third party plugins. The host app can be ported to ARM, but it can still load those x86 plugin binaries. Apple has no solution for this: their Rosetta works on a process level. If you have a Final Cut Pro plugin that hasn't been ported by the developer to ARM, your only option is to run all of FCP in Rosetta emulation.
> your only option is to run all of FCP in Rosetta emulation.
Apple has out of process plugins nowadays for that use case, through the XPC infrastructure. It's more 3rd-party SW that doesn't use XPC out of process plugins that are affected.
Yes, good point. Let's replace FCP with After Effects, which is a popular plugin host and doesn't use XPC (AFAIK). Rearchitecting native plugins to run out of process is a lot of work, and isn't something Adobe can quickly mandate on their developers.
It's funny, I honestly doubt Qualcomm can compete at this point. Intel intends to be on the same node as Apple by EOY 23, so honestly Qualcomm would have to make a pretty competitive chip to have a chance at playing in the big leagues. Look at it this way: Qualcomm needs to have CPU performance that can beat Intel and iGPU performance that can compete with Ryzen chips, that's the entry-level requirement to start convincing people that ARM is the future on PC. Of course, this is not going to happen, especially if they're on some podunk 7nm Samsung lithography or something of that vain.
I can see this unfolding one of two ways, neither of which are good for Qualcomm:
1. Intel takes back the performance crown and recoups their efficiency losses over the next 2 or 3 generations. They double or triple their density, start aggressively buying up TSCM silicon to supplement their own fabs, and go back to being the de-facto PC CPU manufacturer.
2. AMD pushes hard on their efficiency, 3D cache and iGPU technologies, muscling Intel out of the competition and making an indisputable case for their dominance in the mobile/laptop category. Everyone except long-time Intel contractors switch their main products for Ryzen chips, and eventually they get the leverage they need to take over the professional/business sector too.
Notice how nowhere I said "Qualcomm, a company with little to no history in the field of PC manufacturing, designs a chip that will likely be slower than it's x86 counterparts, has no means of emulating the x86 software people buy Windows machines for, and magically finds it's way into hundreds of consumer machines." That's because it's a pipe dream, and with the nature of PC computing, you simply can't transition architectures in the same way Apple did. I reckon x86 is going to stay relevant for at least another 5-10 years on the Windows/Linux side of things, and by the time people are sick and tired of it, I think we'll be eyeing RISC-V chips by then. ARM is starting to get long in the tooth, and it's advantages as an architecture have pretty substantially diminished over the last 20 years. It also still hasn't solved big problems like SIMD execution or ISA modularity yet; there's a real chance for another architecture to eat it's lunch in the distant future.
Why would Qualcomm design their silicon for an 8nm Samsung process? They have a working relationship with TSMC and definitely have enough volume to access risk production nodes.
I don't have extremely high confidence in Qualcomm as a company either, but there are many different paths to Qualcomm becoming competitive, with the right management of the Nuvia team. They can (and should) manufacture on the Intel (TDM 2) or TSMC nodes to stay competitive, and Microsoft is clearly willing to partner on the software side to make the x86-to-ARM transition possible.
I suspect Samsung might actually get there first since they are more similar to Apple and have long produced good (if not top-of-class) phone chips and are integrating AMD's RDNA2 into their Exynos chips.
Still, it's clear Apple is a good couple of years ahead, I don't expect 2023 Qualcomm or Samsung platforms to be competitive with M1, let alone M2.
Samsung is irrelevant in this discussion as long as their process/node issues aren't resolved and there's no indication that they're anywhere close to doing so. Previous performance doesn't matter if they're unable to make new, competitive nodes work.
I'm wondering if we are eventually going to get hybrid chips that have X86 big cores and ARM "little" efficiency cores. Is it not possible to have an OS that can run services on both simultaneously?
Not really, at least with how it currently works. Most OSes will redirect threads to the different cores based on their resource usage, which is impossible if each core was running a different architecture. No amount of magic will make it work elegantly, I'm afraid.
What would be the advantage? Apple have shown that ARM cores can compete at the high power end, and Intel's little cores aren't that far off at the low power end.
Why do you think the market inevitably becomes a monopoly?
In the last 20 years we had generations when AMD CPUs were better (Athlon XP, Athlon 64, Zen 2, Zen 3) and generations when Intel CPUs were better (Core 2 Duo, Sandy Bridge, Haswell, Skylake).
That competition pushed performance to the awesome levels we have now, when high-end desktop CPUs exceed 1 TFlops FP32. As a consumer, I find the trend awesome and I hope it continues in the future.
X86 is dying. It is my understanding that Intel/AMD will have a hard time making x86 chips have a competitive performance-per-watt with ARM chips. This is because x86 has a large instruction set, and those instructions must be physically implemented in the silicon. It's why you never had an x86-powered smartphone.
Efficiency is a killer app for laptops. It lets manufactures design thinner lighter computers with all-day or longer battery life. This is more valuable to most consumers than support for every legacy app that doesn't get ported to run natively on ARM.
Most recent software written in C#, Java, or Electron can be trivially recompiled to target ARM architectures. There's a chicken-and-egg situation here, but Apple's M1 launch is likely to push Microsoft off the fence and get them to seriously support Windows-for-arm. Microsoft's x86 emulation is currently bad, but if they can make it half-decent, the corpus of software that can't or won't be ARM-native will be usable -- if slow -- so this won't substantially impair adoption of ARM PCs.
There will still be some niche users who need run software that's optimized for x86, in the same way there are niche users who still need to use parallel ports or PCI cards. The industry will support those users, but because they are a niche, volumes will be low and prices high.
Also important here, is that besides competing with Macs, Windows PCs are also competing with Chromebooks. Chromebooks have already dominated the large education market, and companies are beginning to make premium Chromebooks because there's a whole generation of young adults that grew up using them and it's the computer platform they're most comfortable with. There are already ARM-based Chromebooks, so this is a platform where backwards compatibility with x86 is largely a non-issue. This will further push Microsoft to support ARM chips to avoid becoming an also ran.
I'm not saying this is how it's going to be. But your take is pretty maximalist on x86. There's a similar story where x86 becomes basically irrelevant in 5 years or less.
I understand where you're coming from, but I don't think you have the entire story;
x86 is old and massive. You're correct, it has hundreds upon hundreds of instructions, many of which require hardware accommodations that can be fairly expensive to implement on-die. On top of that, it has a bevvy of ISA extensions like SSE and AVX that require even more hardware, and can drive complexity even further.
The issue is that ARM is getting to the same point. ARM is no longer RISC; it's instruction set is anything but reduced. Much like x86, it has hardware-specific instructions that correlate to esoteric software features like Javascript execution or OS sandboxing. It also has lots of extensions like NEON, as well as Apple-specific ones that cannot be open sourced or replicated by third parties that want to also adopt ARM. The push to "modularize" ARM has failed, so much so that we update the spec with new versions requiring specific extensions to qualify. ARM from a hardware implementation perspective has become a mess, arguably moreso than x86 has. On top of that, it's extensions are fairly disappointing when compared to x86 ones. NEON gets smoked by AVX by 2 orders of magnitude. Floating point math is utterly lethargic without hardware extensions. Extended precision on ARM is simply not very well-supported. All of these things come back to bite it when considering as a desktop architecture, and ultimately represent a conflict of interests with it's application; ARM was split between running on $1 microcontrollers and $1,000 iPhones. There was no good solution that would please everyone, so they tacked on complexity until both sides were happy.
And that leads us to where we are today, with two bloated architectures fighting it out for superiority on completely separate terms. x86 is by no means a perfect architecture, but ARM also suffers a lot of the same issues. They're both old, they're both extremely specific in implementation and require lots of licensing to produce. The advantages of switching to ARM are controversial and marginal, much like the case for moving away from x86. On top of that, it's not like 5 watt x86 chips don't exist; they simply aren't comparable to the M1 or other high-performance ARM chips because they're manufactured on silicon that's 2-3x less dense. On paper, x86 has a lot of efficiency it can recoup by moving to more recent lithography, and until Apple is fighting x86 manufacturers on equal footing (which should kick up around EOY '23), I think it's too early to say who's "won" the desktop market. We simply don't know, but counting x86 out of the game is a pretty hype-driven musing in my opinion.
I think a lot of the x86 performance per watt issues are really Intel issues. Intel has spent the last half decade increasing max power consumption to its limits to eek out just a bit more performance to justify launching a new generation.
It's clear that they're turning a corner but even the just released 10nm big.little Alder Lake chips fall behind AMDs several year old TSMC 7nm chips in performance per watt.
I mean, you're right. But that's not really a surprise considering that transistor density directly correlates with power efficency. You can have the best engineers in the world designing your chips, but it won't really matter if your competitor can undercut you on node size.
Conversely, you can have the most efficient silicon but it won't always give you the performance crown. Considering how "bad" Intel's chips should be on paper, it's still fairly impressive to see the kind of single-thread performance they dish out.
There's probably also something to be said for process efficiency too. Sure Apple's 5nm silicon isn't power hungry, but getting those chips into mass production is a hugely wasteful effort. 5nm's yield was awful for those first few years, and you could definitely tell Apple was feeling it with some of their binned chip options. Kinda makes me wonder how much water, silicon, neon and power was wasted manufacturing all those busted dies that never made the cut.
Sorry, this is a complete misrepresentation of the whole Arm architecture in 2022.
The idea that ARM64 running on M1 or any other desktop or server is hobbled by the fact that you have a completely different ISA running on a $1 microcontroller is just wrong.
I'm far more bullish on Qualcomm here. I just think they're in a great strategic long term position. The writing is on the wall when it comes to x86 for mobility, x86 is crap for mobility, ARM is fast enough to emulate legacy x86 apps, so for me the question isn't "Is ARM viable" it's "Can Qualcomm beat AMD/Intel's/Apple's non-ARM architectures"?
In that respect, I see Qualcomm's strategic positioning as being great because they power Android. I can only see them coming after Intel's Celeron line with a vengeance in the medium term, and I don't think they really be more than in the ballpark when it comes to performance, I think Qualcomm needs to compete on cost and power efficiency.
I don't really see RISC-V being a thing any time soon because smartphones run ARM, they don't run RISC-V.
I don't really get your argument here, hopefully you can clear some stuff up for me.
> The writing is on the wall when it comes to x86 for mobility, x86 is crap for mobility
Is it? Or are legacy manufacturers just bad at staying up-to-date with the latest node advancements. The only reason Apple has made a consistent case for ARM is because they're using lithography that's more than twice as dense as Intel and ~50% more dense than AMD. When you map out their power efficiency, I think most of it tracks. If Apple built the M1 on x86, I'd wager it would have the same battery life, +/-10%.
> ARM is fast enough to emulate legacy x86 apps
Nitpicking, but Rosetta isn't an emulator so much as it is a dynamic recompiler. The code you're running is translated, not interpreted, which is why it can even run at near-native speeds in the first place.
> In that respect, I see Qualcomm's strategic positioning as being great because they power Android. I can only see them coming after Intel's Celeron line with a vengeance in the medium term, and I don't think they really be more than in the ballpark when it comes to performance, I think Qualcomm needs to compete on cost and power efficiency.
This much I can understand, and I think you're spot on with how they're going to compete with the Celeron line. Now that Alder lake is rolling out though, I think things are going to get really heated. Intel can now compete on power efficiency, and it's only going to get better as they focus on density and pushing heterogeneous architectures. Qualcomm is going to have a hard time competing with TSMC 5nm 8c16t Ryzen chips and 4e/4p big.LITTLE Intel chips, since both of them should have pretty good power efficiency. That leaves you with cost, which I reckon AMD will struggle with, but Intel should be able to price pretty competitively courtesy of their more mature silicon. Time will tell, I guess.
> I don't really see RISC-V being a thing any time soon because smartphones run ARM, they don't run RISC-V.
I mean, yeah. RISC-V didn't even exist when ARM was being considered for smartphones, but that hasn't held it back. Android runs just fine on RISC-V today, the big reason it's not being used is because there are no major manufacturers who produce RISC-V chips, leaving them fairly expensive and out-of-reach for phone companies. That price is expected to nosedive over the next few years though, especially with the insane level of investment from countries like China. Since there's no licensing involved with making RISC-V chips, manufacturers will have to compete directly on performance and pricing merits alone. It's whataboutism to be sure, but things are looking really good for RISC-V usurping ARM in the next 5-10 years.
Interesting insights here, I didn't realise rosetta was a dynamic recompiler.
I do think from what I've seen from both Apple silicon but also Qualcomm's chips that they can post impressive battery life so I do think ARM is a bit more competitive on battery life, even if the node differences are making Apples to Apples comparison difficult. Lenovo is claiming 28 hour battery for their x13s https://www.windowscentral.com/lenovo-thinkpad-x13s-announce...
It will be interesting to see how RISC-V does and if China can push it to supremacy. I wouldn't be shocked to see multiple architectures in use concurrently for awhile.
Agreed, though to add, there's also other ARM chip companies that will undoubtedly challenge Qualcomm: Mediatek, Samsung, Altra, etc. Even if the incumbent x86 duopoly of Intel/AMD loses, Qualcomm's track record doesn't inspire confidence.
One notable example is their former Kryo custom CPU cores. For a time ~2016, it seems like it gave Qualcomm a distinct advantage to own their destiny and move away from reliance on ARM for their CPU core designs (e.g. SD888 is all X1, A78, A55 cores). But it ended up flopping for various reasons and just like their competitors, Qualcomm was back to using ARM designs. This Nuvia acquisition is akin to having another go - but will it be better than ARM's X* lineup?
At the same time, there's 2 additional trends that seem to further erode Qualcomm's attempt:
1. Major Android manufacturers are increasingly moving away from Qualcomm's chips, e.g. Google's Tensor, Samsung's Exynos, Huawei's HiSilicon. This means less revenue for Qualcomm and conversely less money they can throw at R&D.
2. Extreme correlation with chip fabrication technology, aka TSMC. At this point, performance is heavily tied into whether you can secure production on TSMC's latest nodes. No one can outbid Apple.
With the Microsoft-Qualcomm ARM exclusivity deal ending very soon, Microsoft could make Windows 11 available for Apple Silicon platforms. This would benefit both Apple and Microsoft at the expense of Qualcomm (who would need to compete directly with Apple's pace of ARM development).
Apple and Microsoft have cooperated for years to bring Bootcamp on the x86 platform. Apple, no matter the OS, still makes a ton of margin on the hardware.
>On Microsoft's homepage (e.g. for a primary consumer focus), they list Windows behind Office 365 and behind the Xbox and Surface.
Windows consumer revenue comes from preinstalled licenses, they don't need to advertise it directly. M1 Windows port would be admitting defeat and kill Surface. For Office, they already have MacOS version of it.
If they enable something like Boot Camp, those OEM licences would just be replaced by consumer ones, I am not sure it’d be much worse in terms of bottom line. Their Surface line has already tons of of competition from all the Wintel manufacturers anyway.
The platform lock-in strategy being no longer viable seems like a reason Windows wouldn't be ported, after all it IS the platform. Things like Office are already available for macOS and Apple isn't going to sell MS the M1 for Surface laptops.
First of all, why would the Mac be a competitor platform? MS always has supported the Mac with their software.
Then, it could be strategic. Consider the scenario in which the ARM based chips maintain a steady advantage vs. the x86-based chips. Microsoft then certainly wants to have a share of that market on Windows and not leave it exclusively to Mac OS. Considering how that depends on the availabilty of native ARM in software, they probably want to run on the one nice ARM implementation available on the desktop right now.
MS isn't a serious hardware company. They're a software and services company, and they make money when people use their software. Putting software on more devices is in their interest.
Heck even with Xbox, I would point to GamePass as just further evidence of this. Microsoft wants you to purchase and use software/games for a Microsoft platform, not Microsoft hardware (the hardware is just there to facilitate the platform).
It isn't just about ARM. Either Apple or Microsoft would have to write all the M1 drivers specifically for Windows or else we wont see Windows 11 bootcamp working on ARM Macs.
Edit: OK I will bite, will Apple be writing their Direct X drivers for their GPU to work on Windows 11?
Apple continues to maintain Apple-signed Bootcamp drivers for the custom hardware in and around their Intel Macs, most recently adding support for their new external display when used on a Bootcamp Mac, so that’s certainly a plausible possibility. It’s somewhat likely they already have them completed and ready to ship.
At minimum they could officially release Windows 11 for ARM so it can officially be used in a VM. That already works well. And if they really wanted, writing the drivers shouldn't be an obstacle that can't be overcome, just looking at the progress of Asahi Linux.
>Either Apple or Microsoft would have to write all the M1 drivers
If Microsoft is selling Linux in a virtual machine as an acceptable solution for *nix software compatibility on Windows, why wouldn't running Windows ARM in a virtual machine be acceptable solution for Windows software compatibility on the Mac?
M1 class? Does that mean it'll be proprietary without the ability to upgrade parts or assume compatibility with common hardware standards in order to squeeze out every bit of performance possible?
"M1 class" means the performance class. There is a lot more to performance than just the node generation as has been proven time and time again, just look at Bulldozer vs Sandy Bridge as both were 32 nm. It'd also make no sense to acquire Nuvia if all they needed was 5nm production as Nuvia is not a fab.
Commercial customers in the field. But this is also a market segment with basically zero Mac users. And small enough of a market that it's way off Apple's radar.
As someone with a spotty internet connection and who likes to work at coffee shops with annoying login prompts, I'd really appreciate a product like that. I can get a data-only sim from Google Fi for free so it'd be an easy purchase for me.
(I have no idea why my internet connection is so bad. I pay for 20Mb/s, and half the time it's like 200Mb/s and the other half I don't have internet at all.)
On the other hand, from a user's perspective only one SIM card and data allotment is needed. I much prefer two devices that I would own anyway over two SIM cards with (in most cases) separate monthly subscriptions or data packs.
People won't stop buying phones because their laptops are 5G enabled. The laptop's eSIM would be on the same plan as the phone. It would help carriers to push more expensive plans with much bigger data caps, which is easy with 5G. To the point of eating some home broadband market share- I imagine some people canceling their home broadband like they've cancelled their phone landlines, which initially seemed unthinkable.
Qualcomm modem license is relatively expensive for a laptop. I suspect that, once Apple is ready to launch their own modem, they will include that in their laptops, too.
On Android tethering can be enabled with just a few taps.
I wonder whether this could be automated, e.g. you click on the macOS toolbar and a macOS app communicates with an Android app and the apps do the needed actions in the respective operating systems (enable tethering on Android, connect to the WiFi network from macOS).
It disconnects whenever the laptop enters sleep mode, it causes the phone to run very hot and consume lots of battery and, yes, it requires manual intervention before it can be used.
I agree that overall these are probably small issues, but built-in mobile network access would have usability benefits
With a MacBook internal modem would you then have to purchase another 5G plan and a sim or pay extra for including that in your phone plan? I would imagine it’s not cheap
In my country there are plans that allow for multiple additional devices to be linked to an account.
I wouldn’t have to pay anything extra for a 5G MacBook.
Which of course makes total sense technically. Because for my mobile operator there’s no difference (bandwidth wise. And given the packet switched nature of LTE and later, that’s all that matters) whether I’m tethering or connecting multiple devices.
Qualcomm charges you a device price tax for each modem you install in a device. So Apple is understandably uninterested in paying Qualcomm that much. When Apple moves to its own modems, expect to see them appear in Macbooks.
I think Qualcomm's strength in cellular is what's killing them in laptops. Force-bundling a 5G modem with a weak CPU results in unbalanced laptops that are too expensive for their performance.
They did, but late 2023 is still a very short timeframe (less than 3 years) to get a custom arm64 CPU architecture, ready to ship.
Pre armv8, Qualcomm had strong custom cores, but Krait (their armv8 custom implementation) didn't exactly perform well compared to basic Cortexes from ARM (a problem that wasn't unique to Qualcomm, to be fair), and Qualcomm moved to using those generic ARM cores on most of their lineup.
Qualcomm reportedly did get some TMSC volume at 5/6nm that would correspond to that timeframe, but the timing would be extremely optimistic considering how long of a lead time you need, even if the Nuvia acquisition solved all their problems.
Slight correction: Krait was the name for the excellent ARMv7 core design. The underwhelming ARMv8 replacement was named Kryo. Confusingly, they (at least for a while) kept the Kryo branding even after they switched to lightly-customized versions of cores designed by ARM.
The renaming part btw was quite awful of them, they had a hard time acknowledging that they went back to Cortex based cores and I remember their press release trying to imply they didn't.
They were quite hammering the fact they had a custom arch pre v8, and the turnaround was difficult for them to admit.
Do you think they have the resources to take on the big established companies? It seems like recent startups that have tried this like PA Semi and Nuvia have only found success through acquisition...
On its last iteration of cores, SiFive had shrunk the gap to being only within 2 years of ARM's best processors.
Yet catching up simply couldn't be done before because RISC-V was lacking functionality. As of December's 15 new ratified extensions, this is no longer the case.
Several companies are currently working on high performance implementations.
One of them is Tenstorrent, where there's a team led by Jim Keller working on this. It is supposed to enter the market near the end of this year.
I do suspect it is going to take less than 5 years to see RISC-V take the performance crown.
The problem is "ARM's best processors" are still significantly behind "the best ARM64 processors"/"apple's best processors". ARM is just making crappy smartphone reference designs, Apple is significantly ahead in the performance processor segment.
On one hand that’s a bit late (hopefully Apple will have something better than the M1 by then). On the other hand it’ll take them a couple of iterations and not all of them will be stellar, as mistakes are made and the architecture is adjusted. I am afraid their next couple of designs will be disappointing.
It took Apple a decade and a couple of near-perfect iterations to go where they are, building on the people from Intrinsity and PA-Semi (amongst many other smaller acquisitions). Surely, Qualcomm can benefit from some of that experience through Nuvia, but that won’t be everything.
For me, anything that runs Linux is a yes. Anything that does not run Linux, is a no. I won’t use anything non-Linux for computational purposes. If it’s better hardware-wise, it won’t matter to me.
You're a niche. But if linux fixes the 10^10^10^10 different distros problem and gets an awesome desktop environment that large companies can confidently program against knowing that all linux users will be covered, then everything else will pretty much disappear overnight.
I ran Ubuntu desktop as a server with NVIDIA GPUs, that sits next to my desk. I access it with my MacBook Pro, mostly through PyCharm or CLion remote runtimes, so nothing runs on my Mac. The latency is single ms, so you don’t feel it at all. I get the benefits of nice Mac UI and standard Linux server runtimes for both Python and C++.
Im shocked Qualcomm has done basically nothing with their existing "laptop class" chip, like the 7c and 8c, announced end of 2018, based off the a76 announced that spring. I was skeptical & the initial chips landed at my low expecation level, but I at least thought they'd get better.
Tacking on another hundred mhz to nearly the same chip every now and then... thay is not what i expected. From thr outside perspective this looks like baffling non-delivery, utter unwillingness to try to compete. Three years latter & the offering is effectively unchanged.
By compare, MediaTek started slow, but was cheap, and they've gotten faster & faster. Respectable bottom up disruption.
They had a Windows emulation exclusivity contract and squandered it for so long that now it’s expired other tech companies like Apple could emulate Windows on their devices.
The 8cx gen 3 is finally not garbage but it's probably still too expensive. I am also surprised by Qualcomm's self-own here; if they had so little faith in the laptop market they could have just not entered it.
And although linux has been running comfortably with a lot of software on ARM for more than a decade while windows lacked long behind, it looks like another opportunity to increase its popularity will be lost.
Yes, like does android, servers, routers, smart tv's... many of these devices are running linux inside. And it does benefit from time to time like gaining mind share, fixing some bugs in the kernel or system tools, implementing drivers... but for any ground being gained on the desktop the benefits have been very small and slow.
I tested Qualcomm’s first Windows on Arm computer (a HP Envy 2) in June 2018: it was very underwhelming but seemed promising. Yet here we are 4 years later…
Qualcomm and Microsoft have been working on this at least as long as Apple, I would say.
The difference in outcomes is insane, and I think it speaks broadly not about how bad Qualcomm and Microsoft are at this (they’re not) but rather how insanely good Apple’s Silicon team is. And of course it speaks volumes about the power of hardware-software integration under the same roof.
I also came to the conclusion that Qualcomm, Microsoft, and all their OEM partners have broadly underestimated what Apple would be capable of off the bat with its first and second gen silicon.
I think a lot of it is about commitment. Apple has a lot to lose whenever it changes the CPU architecture for Mac, especially if it gets stuck with two for longer than expected. For Qualcomm and similar, a foray in Notebooks is just something interesting. For Microsoft such a foray is always limited by its x86 ecosystem losses.
Microsoft has been known to do things half-heartily on both h/w and s/w: phone OS, Windows RT, UWP, app store, etc. Even the Internet Explorer to Edge transition was long overdue, but not too late.
The way MS works is very much like Google where they have their cash cows and everything else seems like a diversion until they miss the boat on a new thing and it's too late.
Remember that Windows NT originally supported x86, MIPS, Alpha but haven't taken it further. They also make entire toolchains that could make building for multi-targets as seamless as they choose save final validation.
Perhaps a dumb question about the competitiveness of the industry from somebody who doesn't follow it too closely.
Is Apple's large pile of cash a factor in how things play out here? It seems like they'll be able to perpetually afford to get first in line for advances in technology and smaller and smaller chips. How much of an impact does this have?
Apple is ruthless with backward compatibility to help with future endeavours. For example, [they cut off 32-bit apps in 2018](https://support.apple.com/en-us/HT208436). I think they deprecated OpenGL because they didn't want to port it to ARM; it ended up making the jump nonetheless.
Windows just got rid of 32-bit versions with Windows 11, and there must be so many difficult edge cases to emulate in Windows. MacOS is much cleaner; it went through a transition already, its sibling iOS has been on ARM for very long, and they even implemented behaviours in the M1 family to help with emulation.
Apple is holding a better hand at the game of emulation.
124 comments
[ 0.26 ms ] story [ 214 ms ] threadthat's in part what makes this plan plan completely useless, and Apple got it right from the beginning back from when they announced Mac Catalyst + their decade old Rosetta tech
microsoft is such a joke, glad i am no longer dependent on windows
/Applications/1Password 7.app/Contents/MacOS/1Password 7: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64 - Mach-O 64-bit executable x86_64] [arm64]
/Applications/1Password 7.app/Contents/MacOS/1Password 7 (for architecture x86_64): Mach-O 64-bit executable x86_64
/Applications/1Password 7.app/Contents/MacOS/1Password 7 (for architecture arm64): Mach-O 64-bit executable arm64
Pretty much all the native apps that get updated for M1 are universal binaries. Xcode is (all things being relative) pretty good at making this work semi-transparently.
The only instances where I see separate builds for x86/M1 is with non native apps, a good example that I saw just yesterday being Postman. I would guess either their build system is the culprit, or some libraries that they rely on. It's not systematic though so this is particular to those vendors, it could also be that they chose to do separate builds for other reasons, though it's not what Apple suggests developers do.
Teams and Discord both have universal builds and are non-native, as counter examples to Postman. Another good example is that while VS Code [1] is universal, VS Codium [2] makes separate builds (those seem to have been posted in the last 12 hours, yay !), and this is mostly due to their build system [3].
This site is also a good resource that tells you what has native M1 support, and what still runs under Rosetta : https://isapplesiliconready.com/
[1]: https://code.visualstudio.com/Download
[2]: https://github.com/VSCodium/vscodium/releases
[3]: https://github.com/VSCodium/vscodium/issues/597#issuecomment...
The only notable non-Universal binaries are: Calibre (Intel-only) and Podman Desktop (Apple Silicon specific build)
For one thing, a lot of code on Windows uses the .Net runtime and is JIT-compiled to the target platform. Those programs in general don't need to be ported at all.
For transitioning native x86 programs — and there are a lot of those on Windows, of course — Microsoft created a new ABI that lets you mix ARM and emulated x86 code seamlessly:
https://blogs.windows.com/windowsdeveloper/2021/06/28/announ...
This is great for something like an audio or video app that uses a lot of third party plugins. The host app can be ported to ARM, but it can still load those x86 plugin binaries. Apple has no solution for this: their Rosetta works on a process level. If you have a Final Cut Pro plugin that hasn't been ported by the developer to ARM, your only option is to run all of FCP in Rosetta emulation.
Apple has out of process plugins nowadays for that use case, through the XPC infrastructure. It's more 3rd-party SW that doesn't use XPC out of process plugins that are affected.
Given that the Surface Pro X didn't support 64 bit x86 Windows applications at all, I'm not sure how you can think so.
Even after developer channel support was added, it was unlikely to work.
>How did Microsoft screw this up? - Surface Pro X (SQ2) vs M1 Macbook Air
https://www.youtube.com/watch?v=OhESSZIXvCA
I can see this unfolding one of two ways, neither of which are good for Qualcomm:
1. Intel takes back the performance crown and recoups their efficiency losses over the next 2 or 3 generations. They double or triple their density, start aggressively buying up TSCM silicon to supplement their own fabs, and go back to being the de-facto PC CPU manufacturer.
2. AMD pushes hard on their efficiency, 3D cache and iGPU technologies, muscling Intel out of the competition and making an indisputable case for their dominance in the mobile/laptop category. Everyone except long-time Intel contractors switch their main products for Ryzen chips, and eventually they get the leverage they need to take over the professional/business sector too.
Notice how nowhere I said "Qualcomm, a company with little to no history in the field of PC manufacturing, designs a chip that will likely be slower than it's x86 counterparts, has no means of emulating the x86 software people buy Windows machines for, and magically finds it's way into hundreds of consumer machines." That's because it's a pipe dream, and with the nature of PC computing, you simply can't transition architectures in the same way Apple did. I reckon x86 is going to stay relevant for at least another 5-10 years on the Windows/Linux side of things, and by the time people are sick and tired of it, I think we'll be eyeing RISC-V chips by then. ARM is starting to get long in the tooth, and it's advantages as an architecture have pretty substantially diminished over the last 20 years. It also still hasn't solved big problems like SIMD execution or ISA modularity yet; there's a real chance for another architecture to eat it's lunch in the distant future.
I suspect Samsung might actually get there first since they are more similar to Apple and have long produced good (if not top-of-class) phone chips and are integrating AMD's RDNA2 into their Exynos chips.
Still, it's clear Apple is a good couple of years ahead, I don't expect 2023 Qualcomm or Samsung platforms to be competitive with M1, let alone M2.
That’s Arm v8 that was announced in 2011?
In the last 20 years we had generations when AMD CPUs were better (Athlon XP, Athlon 64, Zen 2, Zen 3) and generations when Intel CPUs were better (Core 2 Duo, Sandy Bridge, Haswell, Skylake).
That competition pushed performance to the awesome levels we have now, when high-end desktop CPUs exceed 1 TFlops FP32. As a consumer, I find the trend awesome and I hope it continues in the future.
X86 is dying. It is my understanding that Intel/AMD will have a hard time making x86 chips have a competitive performance-per-watt with ARM chips. This is because x86 has a large instruction set, and those instructions must be physically implemented in the silicon. It's why you never had an x86-powered smartphone.
Efficiency is a killer app for laptops. It lets manufactures design thinner lighter computers with all-day or longer battery life. This is more valuable to most consumers than support for every legacy app that doesn't get ported to run natively on ARM.
Most recent software written in C#, Java, or Electron can be trivially recompiled to target ARM architectures. There's a chicken-and-egg situation here, but Apple's M1 launch is likely to push Microsoft off the fence and get them to seriously support Windows-for-arm. Microsoft's x86 emulation is currently bad, but if they can make it half-decent, the corpus of software that can't or won't be ARM-native will be usable -- if slow -- so this won't substantially impair adoption of ARM PCs.
There will still be some niche users who need run software that's optimized for x86, in the same way there are niche users who still need to use parallel ports or PCI cards. The industry will support those users, but because they are a niche, volumes will be low and prices high.
Also important here, is that besides competing with Macs, Windows PCs are also competing with Chromebooks. Chromebooks have already dominated the large education market, and companies are beginning to make premium Chromebooks because there's a whole generation of young adults that grew up using them and it's the computer platform they're most comfortable with. There are already ARM-based Chromebooks, so this is a platform where backwards compatibility with x86 is largely a non-issue. This will further push Microsoft to support ARM chips to avoid becoming an also ran.
I'm not saying this is how it's going to be. But your take is pretty maximalist on x86. There's a similar story where x86 becomes basically irrelevant in 5 years or less.
x86 is old and massive. You're correct, it has hundreds upon hundreds of instructions, many of which require hardware accommodations that can be fairly expensive to implement on-die. On top of that, it has a bevvy of ISA extensions like SSE and AVX that require even more hardware, and can drive complexity even further.
The issue is that ARM is getting to the same point. ARM is no longer RISC; it's instruction set is anything but reduced. Much like x86, it has hardware-specific instructions that correlate to esoteric software features like Javascript execution or OS sandboxing. It also has lots of extensions like NEON, as well as Apple-specific ones that cannot be open sourced or replicated by third parties that want to also adopt ARM. The push to "modularize" ARM has failed, so much so that we update the spec with new versions requiring specific extensions to qualify. ARM from a hardware implementation perspective has become a mess, arguably moreso than x86 has. On top of that, it's extensions are fairly disappointing when compared to x86 ones. NEON gets smoked by AVX by 2 orders of magnitude. Floating point math is utterly lethargic without hardware extensions. Extended precision on ARM is simply not very well-supported. All of these things come back to bite it when considering as a desktop architecture, and ultimately represent a conflict of interests with it's application; ARM was split between running on $1 microcontrollers and $1,000 iPhones. There was no good solution that would please everyone, so they tacked on complexity until both sides were happy.
And that leads us to where we are today, with two bloated architectures fighting it out for superiority on completely separate terms. x86 is by no means a perfect architecture, but ARM also suffers a lot of the same issues. They're both old, they're both extremely specific in implementation and require lots of licensing to produce. The advantages of switching to ARM are controversial and marginal, much like the case for moving away from x86. On top of that, it's not like 5 watt x86 chips don't exist; they simply aren't comparable to the M1 or other high-performance ARM chips because they're manufactured on silicon that's 2-3x less dense. On paper, x86 has a lot of efficiency it can recoup by moving to more recent lithography, and until Apple is fighting x86 manufacturers on equal footing (which should kick up around EOY '23), I think it's too early to say who's "won" the desktop market. We simply don't know, but counting x86 out of the game is a pretty hype-driven musing in my opinion.
It's clear that they're turning a corner but even the just released 10nm big.little Alder Lake chips fall behind AMDs several year old TSMC 7nm chips in performance per watt.
Conversely, you can have the most efficient silicon but it won't always give you the performance crown. Considering how "bad" Intel's chips should be on paper, it's still fairly impressive to see the kind of single-thread performance they dish out.
There's probably also something to be said for process efficiency too. Sure Apple's 5nm silicon isn't power hungry, but getting those chips into mass production is a hugely wasteful effort. 5nm's yield was awful for those first few years, and you could definitely tell Apple was feeling it with some of their binned chip options. Kinda makes me wonder how much water, silicon, neon and power was wasted manufacturing all those busted dies that never made the cut.
The idea that ARM64 running on M1 or any other desktop or server is hobbled by the fact that you have a completely different ISA running on a $1 microcontroller is just wrong.
In that respect, I see Qualcomm's strategic positioning as being great because they power Android. I can only see them coming after Intel's Celeron line with a vengeance in the medium term, and I don't think they really be more than in the ballpark when it comes to performance, I think Qualcomm needs to compete on cost and power efficiency.
I don't really see RISC-V being a thing any time soon because smartphones run ARM, they don't run RISC-V.
> The writing is on the wall when it comes to x86 for mobility, x86 is crap for mobility
Is it? Or are legacy manufacturers just bad at staying up-to-date with the latest node advancements. The only reason Apple has made a consistent case for ARM is because they're using lithography that's more than twice as dense as Intel and ~50% more dense than AMD. When you map out their power efficiency, I think most of it tracks. If Apple built the M1 on x86, I'd wager it would have the same battery life, +/-10%.
> ARM is fast enough to emulate legacy x86 apps
Nitpicking, but Rosetta isn't an emulator so much as it is a dynamic recompiler. The code you're running is translated, not interpreted, which is why it can even run at near-native speeds in the first place.
> In that respect, I see Qualcomm's strategic positioning as being great because they power Android. I can only see them coming after Intel's Celeron line with a vengeance in the medium term, and I don't think they really be more than in the ballpark when it comes to performance, I think Qualcomm needs to compete on cost and power efficiency.
This much I can understand, and I think you're spot on with how they're going to compete with the Celeron line. Now that Alder lake is rolling out though, I think things are going to get really heated. Intel can now compete on power efficiency, and it's only going to get better as they focus on density and pushing heterogeneous architectures. Qualcomm is going to have a hard time competing with TSMC 5nm 8c16t Ryzen chips and 4e/4p big.LITTLE Intel chips, since both of them should have pretty good power efficiency. That leaves you with cost, which I reckon AMD will struggle with, but Intel should be able to price pretty competitively courtesy of their more mature silicon. Time will tell, I guess.
> I don't really see RISC-V being a thing any time soon because smartphones run ARM, they don't run RISC-V.
I mean, yeah. RISC-V didn't even exist when ARM was being considered for smartphones, but that hasn't held it back. Android runs just fine on RISC-V today, the big reason it's not being used is because there are no major manufacturers who produce RISC-V chips, leaving them fairly expensive and out-of-reach for phone companies. That price is expected to nosedive over the next few years though, especially with the insane level of investment from countries like China. Since there's no licensing involved with making RISC-V chips, manufacturers will have to compete directly on performance and pricing merits alone. It's whataboutism to be sure, but things are looking really good for RISC-V usurping ARM in the next 5-10 years.
I do think from what I've seen from both Apple silicon but also Qualcomm's chips that they can post impressive battery life so I do think ARM is a bit more competitive on battery life, even if the node differences are making Apples to Apples comparison difficult. Lenovo is claiming 28 hour battery for their x13s https://www.windowscentral.com/lenovo-thinkpad-x13s-announce...
It will be interesting to see how RISC-V does and if China can push it to supremacy. I wouldn't be shocked to see multiple architectures in use concurrently for awhile.
One notable example is their former Kryo custom CPU cores. For a time ~2016, it seems like it gave Qualcomm a distinct advantage to own their destiny and move away from reliance on ARM for their CPU core designs (e.g. SD888 is all X1, A78, A55 cores). But it ended up flopping for various reasons and just like their competitors, Qualcomm was back to using ARM designs. This Nuvia acquisition is akin to having another go - but will it be better than ARM's X* lineup?
At the same time, there's 2 additional trends that seem to further erode Qualcomm's attempt:
1. Major Android manufacturers are increasingly moving away from Qualcomm's chips, e.g. Google's Tensor, Samsung's Exynos, Huawei's HiSilicon. This means less revenue for Qualcomm and conversely less money they can throw at R&D.
2. Extreme correlation with chip fabrication technology, aka TSMC. At this point, performance is heavily tied into whether you can secure production on TSMC's latest nodes. No one can outbid Apple.
For corporate use, they are pushing seats for O365 and other hosted services as well as selling Azure-based hosting.
The loss of the mobile phone market and hits to the low end by Chrome OS means that pursuing a platform lock-in strategy is no longer viable.
Windows consumer revenue comes from preinstalled licenses, they don't need to advertise it directly. M1 Windows port would be admitting defeat and kill Surface. For Office, they already have MacOS version of it.
Kill is a strong word.
Then, it could be strategic. Consider the scenario in which the ARM based chips maintain a steady advantage vs. the x86-based chips. Microsoft then certainly wants to have a share of that market on Windows and not leave it exclusively to Mac OS. Considering how that depends on the availabilty of native ARM in software, they probably want to run on the one nice ARM implementation available on the desktop right now.
You will need to be logged in with a "Windows Insider" account, which if I recall was fairly easy to sign up for.
https://www.microsoft.com/en-us/software-download/windowsins...
Edit: OK I will bite, will Apple be writing their Direct X drivers for their GPU to work on Windows 11?
If Microsoft is selling Linux in a virtual machine as an acceptable solution for *nix software compatibility on Windows, why wouldn't running Windows ARM in a virtual machine be acceptable solution for Windows software compatibility on the Mac?
My understanding is that existing Qualcomm chips are like this already (except with fairly mediocre performance), so presumably yes.
Those with early access to a new node will always have the wow-factor, but they are not necessarily better than the rest.
Upgrading parts of a CPU hasn’t been a thing for quite a while now. When was the last time one could add a module of cache or a FPU?
We’re talking about SoCs here, not devices.
> or assume compatibility with common hardware standards
There is basically no hardware standard in ARM-land
> in order to squeeze out every bit of performance possible?
Since when is it a bad thing?
Will they be playing catch-up with apple’s CPUs? Maybe.
But maybe there’s a connectivity/ communications and Qualcomm can play to its strengths - e.g. laptops with 5G? Laptops running android? I don’t know.
https://www.qualcomm.com/news/releases/2021/03/16/qualcomm-c...
(I have no idea why my internet connection is so bad. I pay for 20Mb/s, and half the time it's like 200Mb/s and the other half I don't have internet at all.)
Are you paying for 20MB/s or for up to 20MB/s?
I wonder whether this could be automated, e.g. you click on the macOS toolbar and a macOS app communicates with an Android app and the apps do the needed actions in the respective operating systems (enable tethering on Android, connect to the WiFi network from macOS).
I agree that overall these are probably small issues, but built-in mobile network access would have usability benefits
I wouldn’t have to pay anything extra for a 5G MacBook.
Which of course makes total sense technically. Because for my mobile operator there’s no difference (bandwidth wise. And given the packet switched nature of LTE and later, that’s all that matters) whether I’m tethering or connecting multiple devices.
Pre armv8, Qualcomm had strong custom cores, but Krait (their armv8 custom implementation) didn't exactly perform well compared to basic Cortexes from ARM (a problem that wasn't unique to Qualcomm, to be fair), and Qualcomm moved to using those generic ARM cores on most of their lineup.
Qualcomm reportedly did get some TMSC volume at 5/6nm that would correspond to that timeframe, but the timing would be extremely optimistic considering how long of a lead time you need, even if the Nuvia acquisition solved all their problems.
The renaming part btw was quite awful of them, they had a hard time acknowledging that they went back to Cortex based cores and I remember their press release trying to imply they didn't.
They were quite hammering the fact they had a custom arch pre v8, and the turnaround was difficult for them to admit.
Yet catching up simply couldn't be done before because RISC-V was lacking functionality. As of December's 15 new ratified extensions, this is no longer the case.
Several companies are currently working on high performance implementations.
One of them is Tenstorrent, where there's a team led by Jim Keller working on this. It is supposed to enter the market near the end of this year.
I do suspect it is going to take less than 5 years to see RISC-V take the performance crown.
Cortex-A78 and X2 are strong.
It took Apple a decade and a couple of near-perfect iterations to go where they are, building on the people from Intrinsity and PA-Semi (amongst many other smaller acquisitions). Surely, Qualcomm can benefit from some of that experience through Nuvia, but that won’t be everything.
Tacking on another hundred mhz to nearly the same chip every now and then... thay is not what i expected. From thr outside perspective this looks like baffling non-delivery, utter unwillingness to try to compete. Three years latter & the offering is effectively unchanged.
By compare, MediaTek started slow, but was cheap, and they've gotten faster & faster. Respectable bottom up disruption.
The way MS works is very much like Google where they have their cash cows and everything else seems like a diversion until they miss the boat on a new thing and it's too late.
Remember that Windows NT originally supported x86, MIPS, Alpha but haven't taken it further. They also make entire toolchains that could make building for multi-targets as seamless as they choose save final validation.
Is Apple's large pile of cash a factor in how things play out here? It seems like they'll be able to perpetually afford to get first in line for advances in technology and smaller and smaller chips. How much of an impact does this have?
If they have a fast/stable emulator, it would catch up with M1 more quickly.
Windows just got rid of 32-bit versions with Windows 11, and there must be so many difficult edge cases to emulate in Windows. MacOS is much cleaner; it went through a transition already, its sibling iOS has been on ARM for very long, and they even implemented behaviours in the M1 family to help with emulation.
Apple is holding a better hand at the game of emulation.