Actually, I’m not the first one to do this. It’s been done dozens of times before, and quite frankly, to higher levels. So, why do I make my own kernel overclocked? Well, I do think there is one difference in my kernel overclocking than the others. I don’t increase the voltage while adding faster processing power.
Typically, in my kernels I try to focus on battery over performance. However, I like getting the most bang for the buck, too. So, in my kernel, I increased the frequency by 3%, but did not increase the voltage any. This allows the maximum benefit for the same amount of voltage, which equals an increase in performance, without an extra drain on the battery.
Okay, at least not a noticeable drain on the battery. Ohms law is still true, so the Resistance will drop slightly as the frequency went up, because of slightly higher heat, microscopically decreasing the resistance and changing the formula. However, when you increase the voltage, the Power formula changes dramatically.
For example, some fictitious numbers for conceptualization:
Power = Current x Voltage Let’s say, (P) 12 = (I) 2 x (E) 6.
If we increase the Voltage, the change is drastic: (P) 14 = (I) 2 x (E) 7.
If we don’t increase the voltage, the change is microscopic, only because the change in frequency will ultimately increase the heat (very slightly). In ohm’s law, that is I=E/R, so our formula looks like this: Power = Voltage/Resistance x Voltage, or (P) 12 = ([E] 6 / [R] 3) x (E) 6. So if the heat rises microscopically, then the semiconductor resistance lowers microscopically*, then the power will only change microscopically. So, our new fictitious formula looks like this: (P) 12.04 = ([E] 6 / [R] 2.99) x (E) 6.
Either way, you can check out the commit here:
Linux – keep it simple.
*Normally, in wire, heat increases cause the resistance to increase. However:
“In a semi-conductor, there is an energy gap between the (filled) valence and the (empty) conduction band. At zero temperature, no charges are in the conduction band and the resistance should be infinite as the system behaves basically like an insulator. If you turn on the temperature, some electrons will start to occupy the conduction band and thus contribute to conduction, lowering the [resistance].” https://physics.stackexchange.com/users/661/lagerbaer
Congrats on your kernel! Do you have any results about your efforts?
I think your arguments about the temperature are unfortunately wrong though. The band gap for valence electrons in an undoped semiconductor is way too large to have a noticable influence. That is why silicon (band gap ~1.1 eV -> ~10^4 °C) for example is still a very bad conductor at room temperatures. The reason why your ICs work nevertheless is because the semiconductors are doped where they are supposed to conduct, so you have additional charges which can be excited much easier. Easier means that basically all of these additional charges are already excited at room temperature. So if you crank up the heat (in a realistic way, let’s say from 50 to 80°C), basically nothing will happen to the charge carrier concentration in your conduction band because the increase due to the valence band excitations is completely negligible. So all which is left are effects similar to what you also have in a normal metal; namely you decrease the mobility of charge carriers by increasing all kinds of scattering effects.
On the other hand, your ICs are far from just being plain semiconductors. There are a lot of metal structures on top of the wafer. This is basically what you see when you look at pictures of a cpu for example.
That beeing said, the discussion about losses and performance in complex RF circuits such as a CPU is a quite complicated topic, as the dc conductivity is not the only relevant figure. Typically, it is probably safe to assume that everything get’s worse at elevated temperatures… 😉
You sound more knowledgeable about this than I. The results of the kernel so far mainly correlate with my original statement. We have more performance for no notable battery drain, which is great! Love the discussion, and your thorough, knowledgeable response! 😉 Be sure to drop in and comment anytime!