4 ms·
So reversible computing requires less energy not more right? Last I heard it is damn hard to forget information.
by dkarapetyan 10y ago
So reversible computing requires less energy not more right? Last I heard it is damn hard to forget information.
- VLM 10y agoMuch less, in theory. At an imaginary hand waving level imagine the complete state of a cpu as passing charged capacitors around and occasionally charging new ones or discharging some. This is not all that far off of how they work... If you want to count to 7 reversibly there's an easy way involving hitting a 7 bit shift register, 7 times. In theory there's no reason to drain any capacitors per op or per the entire system, that same unit of charge just meanders down the line. Like a CCD sensor or old fashioned bubble memory kinda. The way chips are designed today that doesn't work, but insert a lot of kinda sorta in theory it could be done. On the other hand if you want to count to 7 using three full binary adders you're going to run into scenarios where two bits enter an adder (say, 001+001) and one bit leaves (result of 010), so at least one capacitors worth of charge got turned to heat. And that charging and discharging is basically wasting battery power for no good reason. And its not a lot of power for one capacitor, but you toggle a flip flop a couple billion times a second and then not-much adds up over time to a pretty hot CPU.
- abecedarius 10y agoThat last issue can be handled by encoding each logical bit as a pair of physical signals (like low/high for 0, high/low for 1). I don't think there's any reason you can't implement your reversible counter in binary.
- murbard2 10y agoIn theory yes, the catch is that you're not allowed to forget information. For instance, you cannot use an "AND" gate, because a result of 0 would be ambiguous, but you can use the Toffoli gate [1] which takes three inputs and produces three outputs, mapping (a,b,c) to (a,b,c^(a&b)). But what happens to the outputs you don't need? They do need to go somehere. A reversible circuit ends up having a lot of unused outputs which need to be erased if the circuit is to be reused. In essence, we have traded a heatsink for a bitsink, but they are essentially the same thing. I don't see reversible computing as categorically different from regular computing. It's regular computing, with careful and detailed heat management. [1] https://en.wikipedia.org/wiki/Toffoli_gate https://en.wikipedia.org/wiki/Toffoli_gate
- std_throwaway 10y agoCouldn't you just uncompute instead of erasing to restore the ground state before computing something else? To my understanding you just need energy to set the inputs, give it a little push and everything else runs on its own (forwards and backwards).
- murbard2 10y agoYou can uncompute, but in that case you need to erase the input to replace it with a new input.
- DonHopkins 10y agoThere's a Philip K Dick book about that. (For any sufficiently weird idea, there usually is.) Counter Clock World The most powerful -- and most feared -- organisation in the world is the Library, in charge of expunging the written records of events, which have no longer happened. https://en.wikipedia.org/wiki/Counter-Clock_World https://en.wikipedia.org/wiki/Counter-Clock_World The novel describes a future in which time has started to move in reverse, resulting in the dead reviving in their own graves ("old-birth"), living their lives in reverse, and eventually returning to the womb where they split into an egg and a sperm during copulation between a recipient woman and a man. The Hobart Phase The Hobart Phase is the new order of life where people rise from the dead and are rejuvenated. Time reversal apparently began in 1986. Other than aging, Hobart Phase resurrection has changed nutritional and excretion processes and associated social taboos. People do not eat, but instead consume "Sogum" anally through a pipe, and later "plop" out food orally, which is done in private, due to its 'shameful' nature. As for smoking, cigarettes are no longer smoked, but the smoke instead blown back into them, making them grow back to normal size (this also clears and freshens the air). "Goodbye" and "hello" have reversed their order within standard greetings, and "food" is used as a drop-in replacement for the expletive "shit". It is stated that Mars colonists do not have the Hobart Phase on their world, and it is limited to Earth, and presumably its lunar colonies as well.
- _0ffh 10y agoI wonder if the "bitsink instead of heatsink" problem might be somewhat mitigable. So, we are just pushing our 0s and 1s around, instead of permanently destroying and re-creating them. As reversible logic is as universal as, say, NAND logic - wouldn't it be possible to sort the unused output bits of any gates into two pools for 0s and 1s [1] and use these pools for any constant inputs that are needed in the logic? So that we would only have to "create" any new 0s and 1s when one of these two pools runs dry? [1] E.g. a sorting buffer with 0s at one end and 1s at the other. Or does sorting necessarily mean we are sorting unknown bits at the cost of mixing known bits (constant gate inputs)?