4 ms·
Waaay back in uni I was taught that eventually computing will have to go reversible because of the mentioned “von Neumann–Landauer limit”. So, your program wil
by corysama 6y ago
Waaay back in uni I was taught that eventually computing will have to go reversible because of the mentioned “von Neumann–Landauer limit”. So, your program will run each instruction forward, then again as the stack rewinds (instead of stack pops). But, this 2X penalty will enable a >2X clock rate increase due to lower thermals.
Rewinding code also has the side effect of automatic garbage collection. The challenge becomes copying out end results before rewinding without re-introducing thermal waste.
In the meantime chips are utilizing partial measures against it like sending excess bits to recycling pools. So, A|B results in 2 bits in, 1 bit out as a useful result and 1 bit shuttled off for recycling.
Backing this up, I recently learned that quantum computer programs must be reversible if they are to function.
- rhn_mk1 6y agoThe way I understand it is that you don't necessarily actually have to rewind anything, just that destroying information is what causes the extra energy need and is therefore not allowed. The principle is already in use in areas like differential signalling, where a single bit is transmitted on 2 lines at the same time: 0 as (0,1), 1 as (1,0), so that the total charge in the circuit never changes. In simple signalling like SPI, there is only one line, and the system has a different charge depending on the transmitted value, so the charge has to be fed into and removed from the system all the time. As for quantum computing, reversibility is coming as a direct consequence of the inability to either destroy or copy quantum states (which ends up being two aspects of the same thing). https://en.wikipedia.org/wiki/No-cloning_theorem https://en.wikipedia.org/wiki/No-cloning_theorem
- tlb 6y agoYou eventually have to rewind, if you ever want to run a second program on your reversible computer. Ideally you break things into small chunks of computation where you run it forward, copy the result (at some energy cost), then rewind it. Then you're only paying per bit of result.
- smallnamespace 6y agoJust to offer a slightly different rewording that may be more intuitive: Under quantum mechanics, information may not be destroyed, only moved around (this is implied by the fancy physics/math term 'unitarity'). When you 'destroy' a bit in your (sub-)system, you’re actually transferring that bit into the surrounding environment, which shows up as heat. Reversible computing avoids that heat generation by keeping all relevant state within your subsystem. The terminology around 'destroying information' can be confusing because the particular system under discussion isn’t always clear.
- ravi-delia 6y agoAlthough there are justifications outside of quantum mechanics if you, for example, already believe in the laws of thermodynamics. If computation didn't create entropy, you could reverse entropy. Of course, now it goes the other way. Since the universe runs on quantum mechanics 'below' thermodynamics, entropy can't be reversed because doing so would imply computation without entropy.
- zozbot234 6y agoCharge-recovery logic has become a lot less interesting with modern fabrication nodes since dynamic power draw (the part that's due to actual charging and discharging within the circuit) is now a relatively minor part of power dissipation, whereas leakage power has become a lot more important. The main way of lowering leakage power is to simply power off unused areas of the chip, but that doesn't help if you actually have to perform logic. So the whole idea of reversible computing has become a bit of a red herring.
- gnramires 6y agoThe way I see it, current circuits are running in high temperature thermal equilibrium; there's no chance of operational reversibility at the physical level. That's only possible with near 0K computers probably using superconductors and such. So indeed reversibility should only be relevant in this regime when you're operating near the ultimate energetic limits of computation (and quantum computers of course), not high temperature "thermalized" devices.
- mannerheim 6y agoYou still typically perform a measurement at the end of a quantum algorithm, which is irreversible.