Processor power dissipation
Processor power dissipation or processing unit power dissipation is the process in which computer processors consume electrical energy, and dissipate this energy in the form of heat due to the resistance in the electronic circuits.
Power management
Designing CPUs that perform tasks efficiently without overheating is a major consideration of nearly all CPU manufacturers to date. Historically, early CPUs implemented with vacuum tubes consumed power on the order of many kilowatts. Current CPUs in general-purpose personal computers, such as desktops and laptops, consume power in the order of tens to hundreds of watts. Some other CPU implementations use very little power; for example, the CPUs in mobile phones often use just a few watts of electricity, while some microcontrollers used in embedded systems may consume only a few milliwatts or even as little as a few microwatts.There are a number of engineering reasons for this pattern:
- For a given CPU core, energy usage will scale up as its clock rate increases. Reducing the clock rate or undervolting usually reduces energy consumption; it is also possible to undervolt the microprocessor while keeping the clock rate the same.
- New features generally require more transistors, each of which uses power. Turning unused areas off saves energy, such as through clock gating.
- As a processor model's design matures, smaller transistors, lower-voltage structures, and design experience may reduce energy consumption.
For example, the Pentium 4 2.8 GHz has a 68.4 W typical thermal power and 85 W maximum thermal power. When the CPU is idle, it will draw far less than the typical thermal power. Datasheets normally contain the thermal design power, which is the maximum amount of heat generated by the CPU, which the cooling system in a computer is required to dissipate. Both Intel and Advanced Micro Devices have defined TDP as the maximum heat generation for thermally significant periods, while running worst-case non-synthetic workloads; thus, TDP is not reflecting the actual maximum power of the processor. This ensures the computer will be able to handle essentially all applications without exceeding its thermal envelope, or requiring a cooling system for the maximum theoretical power.
In many applications, the CPU and other components are idle much of the time, so idle power contributes significantly to overall system power usage. When the CPU uses power management features to reduce energy use, other components, such as the motherboard and chipset, take up a larger proportion of the computer's energy. In applications where the computer is often heavily loaded, such as scientific computing, performance per watt becomes more significant.
CPUs typically use a significant portion of the power consumed by the computer. Other major uses include fast video cards, which contain graphics processing units, and power supplies. In laptops, the LCD's backlight also uses a significant portion of overall power. While energy-saving features have been instituted in personal computers for when they are idle, the overall consumption of today's high-performance CPUs is considerable. This is in strong contrast with the much lower energy consumption of CPUs designed for low-power devices.
Reduction
Power consumption can be reduced in several ways, including the following:- Voltage reduction – dual-voltage CPUs, dynamic voltage scaling, undervolting, etc.
- Frequency reduction – underclocking, dynamic frequency scaling, etc.
- Capacitance reduction – increasingly integrated circuits that replace PCB traces between two chips with relatively lower-capacitance on-chip metal interconnect between two sections of a single integrated chip; low-κ dielectric, etc.
- Power gating techniques such as clock gating and globally asynchronous locally synchronous, which can be thought of as reducing the capacitance switched on each clock tick, or can be thought of as locally reducing the clock frequency in some sections of the chip.
- Various techniques to reduce the switching activity – number of transitions the CPU drives into off-chip data buses, such as non-multiplexed address bus, bus encoding such as Gray code addressing, or value cache encoding such as power protocol. Sometimes an "activity factor" is put into the above equation to reflect activity.
- Sacrificing transistor density for higher frequencies.
- Layering heat-conduction zones within the CPU framework.
- Recycling at least some of that energy stored in the capacitors – adiabatic circuit, energy recovery logic, etc.
- Optimizing machine code - by implementing compiler optimizations that schedules clusters of instructions using common components, the CPU power used to run an application can be significantly reduced.
Clock frequencies and multi-core chip designs
Historically, processor manufacturers consistently delivered increases in clock rates and instruction-level parallelism, so that single-threaded code executed faster on newer processors with no modification. More recently, in order to manage CPU power dissipation, processor makers favor multi-core chip designs, thus software needs to be written in a multi-threaded or multi-process manner to take full advantage of such hardware. Many multi-threaded development paradigms introduce overhead, and will not see a linear increase in speed when compared to the number of processors. This is particularly true while accessing shared or dependent resources, due to lock contention. This effect becomes more noticeable as the number of processors increases.Recently, IBM has been exploring ways to distribute computing power more efficiently by mimicking the distributional properties of the human brain.