Deep reasons for power consumption difference between ARM and X86

Source: Internet
Author: User

Deep reasons for power consumption difference between ARM and X86

The difference between ARM and X86 power consumption has always been a hot topic. ARM can do very low, even less than 1 watt. the X86 server chip can reach-watts, even the embedded processor Atom series also need several watts. many people say this is the relationship between instruction sets. ARM uses a simplified instruction set and X86 uses a complex instruction set. The former has simple functions and consumes less power. in the latter, each command is complex, and the power consumption of a single command is high. however, this explanation is vague. if everyone does the same thing and completes a major function, there will be a lot of instructions to streamline the instruction set, while the Complex Instruction Set requires fewer instructions. In addition, who consumes more power. in addition, micro-commands are widely used in processors, and large commands will be split into smaller commands to achieve higher pipeline efficiency. A single microinstruction in a simple instruction set is more complex than a single microinstruction in a complex instruction set. I have no specific data on the comparison, but at least the explanations on power consumption and instruction sets listed above are not very convincing.

I met a senior person and finally found a reasonable explanation.

First, power consumption is related to the process. ARM processors, no matter which one, are mainly produced by professional manufacturers such as TSMC. intel is made in its own factory. generally, the latter is one generation ahead of the former technology, that is, two to three years. if the same design is used, the processor is more compact by Intel, such as 22nm and 28nm, and the function is certainly less power consumption by 22nm.

Why does ARM consume much less power than X86? This is related to another factor, that is, design.

The design is divided into front-end and back-end designs. The front-end design reflects the framework of the processor. The difference between a simplified instruction set and a complex instruction set is embodied in the front-end design. the backend design processes voltage, clock, and other problems, and is a direct factor in power consumption.

Let's talk about how the backend affects power consumption. we have learned that there are two main reasons for transistor power consumption: Dynamic Power Consumption and leakage power consumption. dynamic Power Consumption refers to the power consumption produced by the transistor during input voltage switching. The 0/1 switching of all logic functions is ultimately a switching of clock signals. if the clock signal remains unchanged, the power consumption of this part is 0. this is the so-called Clock Gating ). however, Power loss can be controlled by turning off the Power of a module
Gating ). of course, either of these will make the clock and power module unable to work. the difference between them is that the clock recovery time is short, while the power supply control time is long. in addition, if a single command uses the functions of multiple modules, it is not the slowest time for the module to restore the function, but may be the time for adding several modules, this involves a power sequence problem, that is, there is a sequence between the modules during the recovery operation. If the order is not followed, it cannot be restored. in this order, the total recovery time will be long. therefore, in the backend, we can draw a conclusion that to save power, we can disable some temporarily unused processor modules. however, it cannot be easily disabled. Otherwise, the restoration will take a long time to complete a command, and the overall performance will be obviously reduced. in addition, the sub-module clock and power switch are usually determined by the design of the circuit, the operating system is transparent, and cannot be optimized through software.

Let's look at the front-end. arm's processor has a characteristic that the execution capability in disorder is not as good as x86. in other words, when a user uses a computer, his operations are random and unpredictable, the command cannot be predicted. x86 enhances the execution of out-of-order commands to enhance the processing capability in this case. in addition, x86 also enhances the single-core multithreading capability. the disadvantage of doing so is that the processor sub-modules cannot be effectively closed and restored, because once disabled, the recovery will be slow, resulting in low performance. to maintain high performance, you have to enable most modules,
And the clock remains switched. the direct consequence of this operation is high power consumption. however, arm commands are executed in a certain order and rely on multiple cores instead of single-core multithreading. in this way, it is easy to keep the sub-module and clock signal off, which obviously saves power.

In addition, at the operating system level, many threads are usually enabled on PCs, while the mobile platform usually performs optimization to keep only necessary threads. this further increases the power consumption gap. of course, if x86 is used on mobile platforms, it will certainly save power because there are few threads. atom optimized these features to reduce the processing capability of out-of-order execution and multithreading to a certain extent, thus saving power.

In addition, mobile processors are all on-chip system (SoC) structures, that is, graphics, videos, audios, networks, and other functions outside the processor are all in one chip. the opening and closing of these modules are much more predictable and can be controlled through software. in this way, the overall power consumption is more dependent on the software and manufacturing process rather than the processor structure. in this regard, the X86 processor is dominant, because Intel's process has a great advantage, and software optimization can be done as long as it is done.

I think the above reasons better explain the power consumption difference between ARM and X86.

Now let's look at the trend.

Intel is now actively promoting innovative Transistor Technology and simplifying front-end design, so the power consumption disadvantage will be gradually reduced. furthermore, with the further development of the technology, the main power consumption of mobile devices will be transferred to external devices rather than processors. for example, memory, display screen, and communication module. in this way, performance becomes more and more important. however, there is an insurmountable gap between Intel, that is, the cost. To maintain high profits, even if it can be reduced, it will not be willing to decrease. by the time the cost has to be reduced to survive, it means that the technical advantages no longer exist, and the company is moving to the beginning. We can only rely on services and platforms to make money. refer to Cisco and Huawei's competitive history. bold predictions: if humans still exist after 2013, mobile processors will gradually be divided into two markets, low-end ARM control, high-end Intel exclusive.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.