4 ms·
Technically, yes, "resistance causes the heat" - but why? Well - because in a CPU, voltages are being manipulated. Those voltages represent binary values. Usua
by cr0sh 7y ago
Technically, yes, "resistance causes the heat" - but why? Well - because in a CPU, voltages are being manipulated.
Those voltages represent binary values. Usually a positive voltage is designated as a binary "1" and a zero voltage as a binary "0". Putting a "1" into a register (or whatever) is easy - just add the appropriate voltage. But how do you change that "1" into a "0"?
You do so by "grounding" the circuit - that is, a circuit is made where the voltage level representing the "1" is connected to the reference voltage level that represents "0". Since that voltage level is "0 volts" (usually - but not always - but it is usually lower than the voltage level representing "1"); that change in voltage happens to occur across a conductor, and that conductor has some resistance, and that ultimately is what generates the heat.
ASIDE: It is possible to reverse all of this - that is, use a negative or zero voltage to represent a "1" and a positive voltage to represent a "0", and so on - I'm not sure, though, that this is done in common practice, but I am certain it has been done somewhere at least once.
So - what does that mean? Well - it means that in a CPU, just by the fact that it is manipulating voltages that represent the binary symbols "1" and "0" - it is going to end up generating some amount of heat. The fasting these changes occur, the more heat that is output. The larger the voltages involved, the more heat is output (note how this explains why, as CPUs have gotten faster, their operating voltages have become lower).
How do you combat this? Well - it ain't easy - but what if you could, instead of grounding a voltage representing a "1" to make it a "0" - you instead used it elsewhere (in some manner) to generate a "1". That is, instead of wasting that voltage and energy as heat due to resistance, you used it instead to perform the opposite function elsewhere in the CPU?
Well - you can - though it ain't easy from what I understand. It's called:
https://en.wikipedia.org/wiki/Reversible_computing https://en.wikipedia.org/wiki/Reversible_computing
- hwillis 7y agoTo vastly simplify: Since one signal is zero resistance (zero loss) and one signal is infinite resistance (zero loss), switching between the two requires a finite time spent at a resistance between the two (nonzero loss). Every change requires a change in entropy to represent it. This is also known as Landauer's principle: https://en.wikipedia.org/wiki/Landauer%27s_principle https://en.wikipedia.org/wiki/Landauer%27s_principle > How do you combat this? Well - it ain't easy - but what if you could, instead of grounding a voltage representing a "1" to make it a "0" - you instead used it elsewhere (in some manner) to generate a "1". That is, instead of wasting that voltage and energy as heat due to resistance, you used it instead to perform the opposite function elsewhere in the CPU? That's different and wouldn't really apply to a concept like resistance. It also doesn't need to be the opposite function, just... something.
- DoctorOetker 7y ago>>but what if you could, instead of grounding a voltage representing a "1" to make it a "0" - you instead used it elsewhere (in some manner) to generate a "1" that leans towards reversible computation, which would need a reversible computer (getting close to unitary transformations in QM)