Hacker News new | ask | show | jobs
by imtringued 295 days ago
>In fact, every individual transistor has to erase the previous state on basically every clock cycle.

This is incorrect in both directions.

Only transistors whose inputs are changing have to discharge their capacitance.

This means that if the inputs don't change nothing happens, but if the inputs change then the changes propagate through the circuit to the next flip flop, possibly creating a cascade of changes.

Consider this pathological scenario: The first input changes, then a delay happens, then the second input changes so that the output remains the same. This is known as a "glitch". Even though the output hasn't changed, the downstream transistors see their input switch twice. Glitches propagate through transistors and not only that, if another unfortunate timing event happens, you can end up with accumulating multiple glitches. A single transistor may switch multiple times in a clock cycle.

Switching transistors costs energy, which means you end up with "parasitic" power consumption that doesn't contribute to the calculated output.

1 comments

My apologies if I wasn’t clear enough. I was only intending to make a statistical statement that the number of erasures is of similar order to the number of transistors, not that every single transistor changes its state exactly once per cycle. Some don't change their state this cycle, others end up changing multiple times before settling. In fact, some are completely powered off! (Because you’re not using the built–in GPU right now, or you’re not doing AVX512 right now, etc, etc.)

Note also that discharging the internal capacitance of a transistor, and the heat generated by current through the transistor’s internal resistance, are both costs over and above the fundamental cost of erasing a bit. Transistors can be made more efficient by reducing those additional costs, but Landauer discovered that nothing can reduce the fundamental cost of erasing a bit.