3 ms·
I wonder what the limit of computing power per joule is with current technology, assuming you were freely able to change the architecture. For example, perhaps
by nullc 3y ago
I wonder what the limit of computing power per joule is with current technology, assuming you were freely able to change the architecture.
For example, perhaps you wouldn't use an integer instruction pointer, because a full adder to increment it is expensive. Instead you could use a LFSR where each increment requires only a couple xor gates and some wires. But it would mean that your code would have to be scattered in memory in a funny order. No problem for a smart assembler.
How much computing power could you drive from a device powered by nothing other than ambient RF?
- dmitrygr 3y agoThe thing you describe about replacing PC with an LFSR has actually been done, to simplify the silicon. Some very cheap 4-bit micro controllers, often used for TV Remotes, in fact, do this.
- ddingus 3y agoI think of this too. And I break it down into ads and operations. An ad is simply summing two inputs of some kind. In operation, might be a change of state or an input coming online or going away. Something analogous to the bit operations and or not exclusive or and friends. With all the physics talk of information being fundamental, I suspect we will find both an upper bound and a lower bound. The upper bound will be something like compute power per volume divided by energy or some similar construct. Basically you can only pack so much information and so many operations into a given region of space and energy level possible for that energy for that region of space to contain. The lower bound might be something like the plank constant for computation. What's the smallest unit of space and energy level that can support an add, for example. It's interesting to think about. Sorry for the typos I used voice dictation on this one
- crotchfire 3y ago... and adding an integer to a pointer would be hellaciously expensive. If you have the foundry SPICE models you can calculate these kinds of lower-limit values. I did this for 45nm a long time ago and vaguely recall getting numbers down in the double-digit femtojoule range for 32-bit addition, measuring only transistor R+C. But the transistors don't really cost anything; all the CV^2 is in charging and discharging the wires. And the "C" is totally geometry-dependent. It's not like software -- at least not when you're pushing all the limits -- everything affects everything else.
- nullc 3y ago> ... and adding an integer to a pointer would be hellaciously expensive. Fair, though if it were only the PC and instruction memory that were permuted that isn't much of an issue. It's not that bad the circuit looks more like a multiplier rather than an adder. (search term would be LFSR fast-forward or jump-ahead). PC is updated presumably on every cycle, while adding an an integer to it is probably a rare operation (just don't use computed jumps...).
- crotchfire 3y agoit were only the PC and instruction memory that were permuted that isn't much of an issue This is a neat idea, but you still need PC-relative jump instructions in order to have Position Independent Executables.
- IIAOPSW 3y ago>I wonder what the limit of computing power per joule is Today you're going to learn that the universe puts a hard limit on this known as "Launder's principle". To derive it in short, the (information) entropy on the input side of a single traditional logic gate is 2 bits, but on the output side it is just 1 bit. This seems to imply that the (physical) entropy of the computer would go down after the computation, because your computer had more possible physical states it could be in at the time of input than it seems to have at the time of output. But this is impossible as it violates the 2nd law of thermodynamics. To resolve the contradiction, each logic gate must be putting the missing bit of entropy on an untracked non-computational degree of freedom within the physical system. In other words the untracked "missing" information is encoded as seemingly random waste heat, and dumped into the environment at room temperature. https://en.wikipedia.org/wiki/Landauer%27s_principle https://en.wikipedia.org/wiki/Landauer%27s_principle
- ComputerGuru 3y agoFrom the linked Wikipedia, as a more direct answer to GP’s question: > Modern computers use about a billion times as much energy per operation [than this theoretical minimum energy per bit of entropy “erased”]
- nullc 3y agowell aware, which is why I put the technology limit on it!