The v9 instruction set just announced by ARM may not have an impact on the mobile phone industry for the time being.

Editor’s note: This article is from the micro-channel public number “Three Easy Living” (ID: IT-3eLife), Author: Sany bacteria.

Discourses like “the most important innovation in 10 years” and “the foundation of 300 billion chips in the future”, when ARM officially released their ARM v9 instruction set in the early morning of March 31, 2021, they undoubtedly appeared to be Quite proud.

After all, ARM has not made major changes to the instruction set of its processors for ten years. The current ARM v8 instruction set was born when mobile processors just entered 64-bit, although they have been making minor repairs. , But it can be said that it is already an “old antique”. Therefore, no matter how security repairs and performance enhancements are made, those technical specifications that were set ten years ago may of course have now become constraints for the continued improvement of performance of ARM processors in the new era.

Not only that, looking back in history is not difficult to find that the evolution of the ARM instruction set in recent generations has led the revolution of mobile device experience almost every time. For example, the evolution from ARM v5 to ARM v6 enabled the realization of the earliest “multimedia mobile phones”, which also made Nokia and Motorola the most glorious time; after ARM v6 was replaced by ARM v7, it brought the classic Cortex-A8 architecture. , Really opened up the iPhone and Android touch-screen smartphone era; and the transition from ARM v7 to ARM v8 brought “64-bit computing” to mobile phones for the first time, paving the way for the prosperity of 5G, mobile games, and mobile phone photography. the way.

Then the question is, can the new ARM v9 instruction set also bring a revolution in smartphone performance experience this time? But at least judging from the current status of the industry and the new product information disclosed by ARM, we think there may be a little overhang.

First of all, the mobile phone industry today is a bit “lazy” in program adaptation.

Before explaining the possible impact of the ARM v9 instruction set on the mobile phone industry, we feel that we need to first explain what is “instruction set” and the relationship between “instruction set”, “architecture” and “CPU”.

For a simple analogy, if designing a CPU is a “writing essay”, then the architecture design is like a model essay. You (the manufacturer) can choose to copy it directly, or you can use it with minor modifications. At the same time, the “instruction set” is like a grammar book or a dictionary, which stipulates the most basic algorithms and functions, but as for how to design and implement the hardware, the instruction set will not give an answer. Manufacturers are required to build and design by themselves.

But the problem is that whether it is a CPU with a “public version” architecture or a CPU with a manufacturer’s own design architecture, if you want to truly exert the theoretical maximum performance, there is a major premise first. That is, the running software must be designed for the new instruction set, so that it can give full play to the advantages of the new architecture with the new instruction set, and sometimes it can even enable some specific computing units inside the CPU to obtain a complete calculation. force.

Look carefully at the logo in the lower left corner of the application icon, green is 64-bit, brown is 32-bit

However, looking at the smart phone ecosystem today, it is not difficult to find that although manufacturers are pursuing the continuous replacement of hardware, the underlying technology of many well-known software has long been in a state of unintended progress. For example, the familiar mobile phone QQ is still 32-bit until now, which means that even the ARM v8 instruction set released by ARM in 2011, and all the CPU performance based on ARM v8 can not perform well. And because it is compatible with the old ARM v7 32-bit instruction set, it is actually equivalent to running in a “compatibility mode” on modern processors.

What’s worse is that, judging from the details of the ARM v9 instruction set, it is actually not strictlyThe brand new design of “replacement”. Because ARM v9 still retains a large part for compatibility with the ARM v8 instruction set.

Apple’s iOS is quite resolute on applications that are not updated at the bottom, but Android is very laissez-faire

What does this mean? First of all, it will force some applications to replace the underlying code, because the current ARM v9 information does not mention whether it will be compatible with the 32-bit ARM v7 instruction set, so it may bring the popularity of pure 64-bit CPUs and eliminate a batch of them. 32-bit old mobile application.

From another point of view, due to the availability of ARM v9 instruction set CPUs and corresponding mobile phones, there will inevitably be a large number of old devices on the market, so developers will most likely modify the program to target the ARM v8 instruction set. Support the version. In this way, it can run on new models in the future, and can also be compatible with various old mobile phones at the time. Of course, this also means that it will not be able to give full play to the performance advantages of the ARM v9 instruction set.

Secondly, most of the improvements in ARM v9 are aimed at the field of supercomputing

Of course, we can say that the third-party application technology on smart phones is updated slowly, and it is difficult to optimize the latest processor instruction set and architecture in the first time. This is the current mobile phone hardware replacement is not fast enough, between generations The inevitable result of the performance gap is not huge enough. Imagine that if the performance of smart phone chips is directly doubled like PC graphics cards in each generation, and the new processors come out and the old platforms directly become the “fighting five scum”, then the software industry must be more diligent.

But the problem is that in this ARM v9 instruction set, we don’t see too many elements that are clearly designed for mobile phone performance. Or rather, most of the “new gadgets” in this brand new instruction set have nothing to do with mobile phones.

What new features are added to ARM v9 this time? Announced in the official releaseAs you can see in the schematic diagram, it mainly contains four new content, namely, enhanced security, enhanced vector processing capabilities, growth in machine learning performance, and specialized design for digital signal processing functions.

Among them, the new security features of the ARM v9 instruction set will indeed cause some images for future mobile phones. For example, it supports the creation of independent virtual machine environments for key applications, which may make the privacy protection function on future mobile phones stronger and better prevent some apps from stealing user privacy. But other than that, the rest has nothing to do with the mobile phone.

For example, ARM has high-profilely promoted the machine learning performance of the ARM v9 instruction set, as well as the substantial progress in vector computing capabilities, mainly due to its use of the new SVE2 floating-point extension instructions. This is derived from the SVE instruction jointly developed by ARM and Fujitsu of Japan and used on the supercomputer “Fuyake”. It is reported that this is a floating-point arithmetic acceleration instruction that can allow future processors to handle ultra-wide word length operations from 256 bits to 2048 bits

However, ARM v9 itself is still prepared for 64-bit processors, so have you thought of a solution to run 256-bit, 512-bit, or even 2048-bit operations on 64-bit processors? Yes, in fact, there are similar designs in the consumer-grade PC processors we are familiar with. For example, ordinary Intel Core and AMD Ryzen CPUs have AVX2 instructions that execute 256-bit codes, while workstations and server-level Xeon processors have AVX512 instructions that can execute 512-bit codes.

Compared with the 256-bit AVX2 instruction, the AVX512 instruction is only a little faster in 4K video encoding with heavy load

To put it simply, these instructions can indeed speed up the running speed of large multimedia programs, and can also improve the performance of the CPU in large AI computing projects, but its cost is very obvious. First of all, to use it, the CPU must have a dedicated 256-bit or 512-bit computing unit, and this computing unit will be very power-intensive, and even after it is turned on, it will directly affect the frequency stability of the CPU; secondly, for most of the current ones For PC programs, even if you want to use floating-point acceleration instructions, most of them only need 128-bit or 256-bit computing power. Only those extremely professional applications (such as movie rendering, game production, large-scale scientific simulation) will use it. 512-bit or above computing power.

So, do you think that our mobile phones will have such a large-scale professional productivity application in the future? Obviously not for the time being. Even in the future, mobile phone CPUs based on the ARM v9 instruction set will most likely not have a complete 2048-bit floating point acceleration unit. It is likely to be “castrated”, just like the NEON floating point acceleration unit in the ARM v7 instruction set. It was once abandoned by some early chips because the supported software was few and it was particularly power-consuming.

In addition, ARM v9 has some new content for microcontrollers

Some friends may want to say that although there will be no super-large multimedia rendering programs on mobile phones, the new floating-point acceleration design may not fully appear on mobile phones, but the ARM v9 instruction set does not also enhance the digital signal Processing power? Many functions on mobile phones use digital signal processing technology. Doesn’t this bring significant performance growth?

Not really. This is because although our mobile phones need to perform various processing on the corresponding digital signals when taking pictures, listening to songs, or even talking, butThese processing tasks were separated from the CPU very early and were handed over to various independent chips. For example, there is a dedicated ISP unit for taking pictures, dedicated DAC, ADC and DSP units for listening to songs, and mature baseband hardware for calls. The advantages of these dedicated digital processing chips are not only high performance and low power consumption. At the same time, this distributed processing architecture has another advantage, which is that it can greatly improve the overall stability of the mobile phone. The call was dropped.

What does this mean? This of course represents the part of the ARM v9 instruction set that enhances the digital signal processing capabilities, which actually does not play any role on the mobile phone.

Samsung’s self-developed SSD master, based on the ARM instruction set and CPU architecture

Since it doesn’t work, why did ARM design it? This is because in addition to mobile phone chips, there are many low-power small ARM processors that are indeed used for digital signal processing. For example, the power amplifier chips in audio players, such as the main control chips of SSDs and mechanical hard drives, will benefit from the performance enhancements brought by the ARM v9 instruction set.

And everyone should know that in these areas, other low-power processor solutions represented by RISC-V are also developing extremely fast, so ARM will naturally have such a demand, and specifically address these in the new generation of instruction sets. New functions have been added to the “small chip”.

ARM v9 is powerful, but it may not be magical on mobile

Yes, we have to admit that ARM v9 is essentially a meaningful design. It will help more manufacturers use ARM architecture processors to achieve better server and cloud computing performance, and it can also help ARM in The field of ultra-low power consumption miniature micro-control chip enhances competitiveness and responds to the impact from RISC-V.

But on the other hand, at least in the current ARM technologyFrom the data point of view, most of the “new gadgets” in the new instruction set do not have much meaning for the application scenarios of smart phones. Not only that, the ARM v9 instruction set is fully compatible with the design of the ARM v8 instruction set. It is also very likely that developers will deliberately fail to adapt to the new instruction set and new acceleration code in order to maintain compatibility with the old model. Will further make the performance of the new processor in the future not fully utilized in practical applications.

Of course, although this is not a good thing for the mobile phone industry, whether it is mobile phone manufacturers, developers, or upstream chip suppliers, it seems that there is still no good way to solve this problem.

[The picture in this article comes from the Internet]