Some thoughts. I will continue to add small snippets as they come into my head.
Will it be possible to run Windows on M1 Macs?
We currently know that Parallels will be coming to the M1 Macs. We also know that the x86 version of Parallels cannot be emulated on Rosetta 2. The version of Parallels demoed at the Apple event was running an ARM version of Linux. Additionally, the ARM version of Windows will soon gain the capability to run x86 64-bit code through an emulator. Connecting these dots together, it should be technically possible to run the ARM version of Windows inside of Parallels, with 64-bit x86 code running under the emulator provided with Windows. Unfortunately, we also know that the current version of the x86 emulator on Windows runs several times slower than native code, unlike Rosetta 2 which can run translated code at 70% of the performance of native. Putting this all together, it seems like we should see Windows for ARM running on the Apple M1 Macs under Parallels. However, x86 code will run slowly and will not benefit from Rosetta 2. On the other hand, it should still be much faster than running x86 code on a Surface Pro X with an SQ2 processor, which clocks about 4x slower that the Apple M1 on Geekbench.
Will x86 Windows run in Rosetta 2?
The current information suggests no.
Will companies like Qualcomm, Samsung, Huawei, etc. develop ARM silicon on par with the Apple M1 in terms of performance?
No doubt, there will be some efforts made. However, it ultimately boils down to focus, which I suspect may be lacking. Unlike Apple, Microsoft is very unlikely to fully commit to the ARM architecture. They will always keep x86 around. This makes it much less likely that Microsoft will develop a translator as good as Rosetta 2. PC vendors like Dell, HP and Lenovo are also very unlikely to ever commit to converting their whole line-up to ARM, and will most likely continue to use x86 for the majority of their products. Given this situation, I predict that instead of somebody developing ARM silicon on par with the M1, it is much more likely that Intel will manage to develop a CPU that keeps the ARM manufacturers at bay.
So why was Apple able to pull this off?
I think the key is focus.
How does Vertical Integration play into this?
Apple is a vertically integrated company, and many people attribute the success of the M1 to this. However, it is important to note that for Apple to manufacture the M1, modularisation happened as well. For example, the ARM licensing scheme allowed the instruction set to be separated from chip design. Apple also chose not to own their own foundries unlike Intel which is vertically integrated in this dimension. This created a level of modularity compared to Intel, which made it possible for Apple to integrate chip design with their hardware and software. The level of integration across the value chain in total may not have changed much, and hence it is too simplistic to say that vertical integration is what enabled the performance of the Apple M1.
Will Apple sell the M1 to third parties?
This is very unlikely, but is interesting as a thought experiment. If Apple sold the M1 to Microsoft, for example, it should be possible to create a much better Surface Pro X. Looking at Geekbench scores, the M1 is several times faster than the SQ2 in the Surface Pro X. This means that the M1 is not a success because of vertical integration, and that it would probably be (almost) just as successful outside of Apple’s walled garden.
Would the Apple M1 have been possible without vertical integration?
For the Apple M1 to exist, both modularisation of the instruction set from the chip design and modularisation of the chip design from the foundries had to happen. In this sense, one could just as well say that modularisation had to happen as a prerequisite for the M1.
Then why can’t Qualcomm create silicon that is as fast as Apple’s?
This probably has more to do with scale than anything else. Apple can invest in creating the very best silicon from a performance perspective, with the knowledge that it can sell all that it can make. Qualcomm is not that fortunate. Android does not sell as well in the high-end as iPhones, and Qualcomm also has to sell a lot of chips for the mid- to low-tiers as well. It cannot put as much resources on the high-end because its high-end doesn’t have as much scale as Apple’s. This is similar to the situation with the S-series chips for Apple Watch. Apple can invest in silicon tailored to smartwatches because it can sell them at scale. Qualcomm can’t.
Is this disruption?
This is classical disruption. However, disruption is a long process and did not start with the M1 — M1 is where it (almost) ends. Disruption started with mobile, when mobile processors were toys compared to PCs. Mobile improved much faster than desktops until we reached the tipping point in the M1. The M1 is the beginning of the end.
Will x86 survive?
I believe, yes. If there is one thing that the history of computing and the resilience of mainframes and computing languages like COBOL teach us, it’s that legacy systems and programs live on far longer than we would ever imagine. The popularity of x86 programs and systems is so massive that the inertia is much too high for x86 to simply die out. I believe that Intel will quickly be able to improve x86 performance with a combination of better process technologies and also by stealing some of the architectural ideas in the Apple M1. This is after all, how Pentiums won over the RISC threat.
Who will be the ARM processor king for PCs?
Given that Apple is unlikely to sell the M1 for use by other vendors in their PCs, somebody else will need to fill that gap and manufacture good ARM silicon for the future generation of PCs. It could be Qualcomm, Samsung, MediaTek, AMD or somebody we have yet to hear of. This is very hard to predict, but I would put my money on MediaTek simply because I think they have the least to lose and the most to win. Of course, this depends on whether or not PCs actually do transition to ARM, which I’m not optimistic about.
Will this accelerate the transition of Windows to ARM?
I doubt that it will be that easy. I’ll try to break it down here. First of all, the Apple M1 chip seems to be about twice as fast as any ARM chip out there in single-core performance, if the results on Geekbench are any indication. Secondly, whereas Rosetta 2 only causes a 30% decrease in performance compared to native code, Windows x86 emulation on ARM is several times slower. Therefore, in order for a serious transition of Windows to ARM to begin, Windows x86 emulation on ARM must dramatically improve, or a large number of apps have to be modified to run natively on ARM, neither of which seems particularly likely. Even then, it is likely that Windows on ARM will still lag behind Windows on Intel simply because ARM chips are far behind the M1. So no, I don’t expect a transition of Windows to ARM in the foreseeable future. Instead, I think small improvements in x86 like moving to a 7nm process will be sufficient to keep Windows on ARM relatively unattractive.
What about the long-term?
Will Windows on ARM win over Windows on Intel in the long term? The answer is in business models. Intel has a very strong incentive to improve x86 chips to maintain dominance over PCs running Windows. The same can be said for AMD. It is better for AMD to invest in x86 and to split the market with Intel, rather than to compete with a large number of potential ARM manufacturers. Qualcomm, Samsung and MediaTek can focus on ARM since they, do not have any competing interests in CPUs for PCs, but need much more commitment from Microsoft on bringing Windows to ARM. Microsoft on the other hand doesn’t have a strong incentive to make Windows on ARM equal to or better than Windows on Intel, especially when the ARM chips aren’t there yet. It reminds me of the situation before Apple transitioned to Intel, when both IBM viewed PowerPC Mac laptops as not important enough to prioritise development, instead optimising for their own servers. Qualcomm, Samsung and MediaTek will prioritise smartphones running Android and not PCs running Windows. Microsoft in turn will prioritise PCs on Intel instead of ARM. Unless something even more drastic that the Apple M1 chip happens, I doubt that we will see a coordinated effort between hardware and software. In the meantime, I expect Intel to get back on its feet again and reinstate the old order, even if Windows on Intel may never achieve the efficiency of MacOS on Apple silicon.