One of the problems that designers of CPUs, GPUs, and even specialized logic are dealing with today is the issue of power consumption. One of the most used techniques is the partial deactivation of its complex internal circuitry, which consists of turning off parts of the processor. How does it work and what causes force to implement it?
Unless we like to waste money or we are very clueless people who usually leave the lights on, nobody likes to waste energy and the same can be said of other basic elements of daily consumption. In the case of processors, on the other hand, this does not come from the economic and environmental awareness of the designers, but rather as a result of the laws of physics and especially in how electricity is transmitted.
We cannot forget that a processor today is nothing more than an electrical circuit miniaturized to the maximum. Expressed in another way, we are talking today about billions of transistors, where each of these has to be powered independently and simultaneously with the rest.
The most complex part when designing a new CPU or GPU today is not to achieve an architecture that achieves a certain power on paper, but rather that its physical and real implementation is capable of reaching the expected performance in a specific consumption . One of the tricks to achieve this is the partial deactivation of the processor, that is, that parts of it are turned off while the others remain on and that this capacity can be carried out on the fly and, therefore, with the CPU or GPU fully working.
power consumption of a processor
The formula for the power consumption of each of the transistors in a processor is as follows:
Power = Q*C*F*Vtwo
- Q is the percentage of time that the transistor is active.
- C is the electronic capacitance, and therefore the level of charge that a semiconductor can sustain.
- F is the frequency or clock speed
- V is the voltage
Until 2005 the rules in the design of a processor were the same in terms of energy consumption per area. The idea is that if the area of a processor was reduced by half then the scaling ratio “S” behaved in a similar way, which was calculated with the following formula: S = √2
With this we can already understand the following table:
In the Dennard scaling era the voltage consumed by each transistor decreased with each fabrication node, but the point was reached where the voltage stopped decreasing. The result was that energy consumption skyrocketed and not only this, and this is where the problem comes in: the amount of energy lost converted into heat increased. Suddenly it was no longer possible to raise the clock speed of processors to increase performance, forcing the creation of multi-core systems. As for the graph, it is the consequence of the end of Dennard scaling.
What is partial deactivation?
Okay, we already know that processors have the problem that power consumption after a certain point went through the roof and became impossible to scale. The consequences of this were the so-called dark silicon, which is based on the fact that there are parts of the processor that are turned off when performing certain operations to maintain a constant energy budget. Due to the phenomenon that we discussed in the previous section, the area assigned as dark silicon has been increasing over time.
Partial deactivation, on the other hand, despite being similar in terms of concept, is different, since it is based on the deactivation of entire and one hundred percent functional blocks of a processor and not specific parts. For example, when a GPU is not decoding video through its hardware codec, it disables the hardware, or when a CPU is idle but not fully powered off, all it does is disable all but one of the cores.
Partial deactivation is thus the processor equivalent of turning off the lights in a room if no one is using it, or leaving the water taps turned off. Although it is not only in the face of voltage, but also the heat generated by the active parts. If an element next to another receives energy, it consequently produces heat and can thermally drown the components next to it. That is why in the face of overclocking or increasing the clock in a CPU, entire cores are often deactivated.
How is partial deactivation implemented?
Here we enter the concept of the so-called Power or Voltage Islands, whose implementation is carried out in the design period of any processor. This idea is to design the circuitry of different parts of the processor at different frequencies and voltages that are independent of each other.
The idea of having different voltages in each of the parts of a processor makes sense because they do not all need the same energy power to work and it ends up causing greater consumption in areas where it is not necessary. Well, partial deactivation is based on a very simple concept: make it possible to vary the voltage in each of those Power Islands until it is zero. In the same way this allows the CPU to raise and lower its voltage to do the same with the clock speed if necessary.
When we access the BIOS to activate or deactivate parts of the processor, keep in mind that this is partial activation and deactivation of the processor, which today we can do in flight and without having to turn off the processor. At the manufacturing level, many processors are partially disabled compared to models with the same architecture, in which case what is done is to disable the circuitry that powers that part, which causes it to stop working.
This is easy to see on Ryzen processors with their Ryzen Master software and now with Intel Alder Lake it happens too.