In the traditional concept, ARM is an architecture used for mobile platforms. Compared with desktop X86 chips, ARM chips are more energy efficient but have poor performance. This time, Apple’s MacBook switched to ARM, and macOS 11 is still compatible with software developed on X86 macOS in the past, which makes many friends confused-will the new MacBook run the current X86 software, will it get stuck?
Previously, the Surface tablet that used ARM chips did not run well with X86 software. Will the MacBook repeat the same mistakes?
This worry is justified. Prior to this, Microsoft has made attempts in this regard. Microsoft has launched the Surface Pro X tablet computer using ARM chips, compatible with X86 Win10 software. However, people find that the experience is not ideal, and traditional software runs slowly and sluggishly. Will there be such a problem when switching to an ARM chip MacBook? Let’s analyze it.
Are MacBook’s ARM chips strong enough?
Whether the new MacBook runs the old software slowly or not, the most critical factor is naturally the new M1 chip. It is generally believed that the performance level of ARM chips cannot be comparable to X86. After all, ARM is a simple instruction set RISC and X86 is a complex instruction set CISC. The complex instruction set is naturally much more powerful, but in fact, this is a misunderstanding.
With the development of CPU to this day, the boundary between RISC and CISC has actually been relatively blurred. In the current X86 processor, complex instructions will also be split into simple instructions for execution. In terms of scale, the ARM chip designed by Apple has caught up with X86. For example, the chip area of A14 is 88mm², with a total of 11.8 billion transistors, while the area of a CCD in AMD’s latest Zen3 processor is 80.7mm², with a total of 4.15 billion. A transistor. Taking into account that A14 also encapsulates AI modules, GPUs, etc., the A14 chip uses a 5nm process, while the 5800X uses a 7nm process. In fact, the scale of everyone’s CPU unit is already on par. After understanding the scale, let’s take a look at the actual performance measurement. Here we quote Anandtech’s data. Anandtech used the industry’s authoritative performance test suite SPEC 2006 to compare and test the performance of Apple A14, AMD Zen3, and Intel Tiger Lake. The results are as follows. The first is integer performance, you can see that A14 does not fall behind. Let’s look at floating-point performance again, A14 and Zen3 are clearly ahead of Tiger Lake. Anandtech also used the familiar Geekbench to test, and the results are as follows.
It can be seen that in terms of single-threaded performance, A14 can indeed catch up with the current top X86 processors. The M1 processor used in Apple’s MacBook this time has a similar architecture to the A14, but the specifications are higher, the transistor scale has reached 16 billion, and two large cores have been added, which is reassuring in terms of performance. In fact, here, it is not difficult for us to find out why Surface Pro X is running slowly. Surface Pro X uses Qualcomm SQ1/SQ2 processors, which are basically Snapdragon 855 vests. And even if it is Snapdragon 865+, compared with A14 and the latest X86 processor, the performance is still not enough. In this situation, coupled with the low instruction translation efficiency of Win10 on ARM, the experience of Surface Pro X running X86 software is not ideal. Yes, everyone should also be able to see that the ARM processor runs X86 software, and the other influencing factors besides its own performance are the instruction translation efficiency of the operating system.
Is macOS 11 instruction translation efficient?
X86 software wants to run on the ARM chip, it needs instruction translation. Although the ARM instruction set does not mean low performance, it is still different from X86 after all. The instructions need to be translated before the ARM chip can execute. At this year’s WWDC conference, Apple has announced a plan for instruction translation. Apple announced that it will smoothly transition from macOS to the ARMS platform and launch the Rosetta 2 intermediate conversion layer. If you are an old fruit fan, you must be familiar with the word Rosetta-the conversion layer used by Apple Mac computers from the IBM PowerPC architecture to the Intel X86 platform is Rosetta. Apple has done the Mac migration platform once. The compatibility layer of Mac migration from PPC to X86 was called “Rosetta”.
The function of Rosetta 2 is that through instruction translation, macOS on the ARM platform can directly run most of the X86 software. According to Apple’s introduction, the performance of Rosetta 2 is quite good. It does not translate instructions when the software is running but does the conversion when the software is installed. Of course, this is not to say that Rosetta 2 can achieve a completely lossless performance. It is not compatible with AVX instructions. If X86 software depends on AVX or even AVX2, then there will be a significant drop in operating efficiency on the ARM platform because there are no corresponding high-performance instructions. . Not all software will use the AVX instruction set. Overall, the performance of Rosetta 2 should be acceptable. This time the Mac is migrated from X86 to ARM, Rosetta 2 also plays a vital role in incompatibility with the old X86 software. As for the actual performance of Rosetta 2? We can measure it from two aspects.
The first is to refer to Rosetta. When Apple migrated from PowerPC to X86, it also used a similar solution. Not many people complained about the low performance of Rosetta. We can naturally also have expectations for Rosetta 2. The second is to refer to the actual measurement of the developer. In fact, Apple has already launched a Mac mini development machine based on the A12Z chip earlier. Developers have been able to get in touch with Rosetta 2 very early, but so far, there is no news about the low performance of Rosetta 2. It can be seen from Rosetta 2. The actual combat performance should be quite good. Before MacBook switched to ARM, ARM’s Mac mini development machine had already existed, and there was no negative news about performance. At this point, we can analyze why the performance of Surface Pro X is so bad. When running X86 software in Windows 10 on ARM of Surface Pro X, it runs while transcoding. Unlike Apple Rosetta 2, it does not need to transcode again during the installation. Coupled with the weaker SQ1/SQ2 processors, it makes sense that running X86 software slows down.
At this point, I believe everyone can draw conclusions. The performance of the M1 processor used by MacBook is very powerful, enough to compete with the top X86 processor; and Apple has prepared an efficient Rosetta 2 instruction translation solution in macOS 11. Therefore, as for whether the previous X86 software can run smoothly, everyone Doesn’t worry too much. According to Apple, the situation is more optimistic than the author’s analysis. Apple claims that the M1 has twice the performance of the X86 processor used in the previous MacBook, while power consumption is only 25%. From various angles, the new MacBook is very worth looking forward to. Let’s wait for the actual test on the market.