4 ms·
We probably will see the end of the von Neumann Style, but it won't be because programmers don't like it. It will because in it's modern incarnation it's horri
by rstuart4133 7y ago
We probably will see the end of the von Neumann Style, but it won't be because programmers don't like it. It will because in it's modern incarnation it's horribly inefficient.
This breakdown of power consumption of a 32 bit ADD by various bits of the CPU was taken from a Tesla presentation about their navigation computer, https://youtu.be/Ucp0TTmvqOE?t=5247 https://youtu.be/Ucp0TTmvqOE?t=5247
icache: 25.0 pJ, register file: 6.0 pJ, control: 39 pJ, ALU add: 0.1 pJ
(sometimes I curse HN limited formatting. it doesn't do much, and yet the little it does often manages to get in the way.)
The ADD takes 0.15% of the total energy consumption. His breakdown doesn't show it, but I'm guessing the rest could be divided up into three things: getting the data to the ALU, and decoding of the instruction stream (which can probably be better thought of as a form of decompression), and control overhead mostly devoted to extracting parallelism from a serial set of instructions.
0.15% is woeful, particularly so when you realise the main constraint on speed now is power, or more precisely getting rid of it. We already have architectures that do better than tvon Neumann (eg, GPU's, NPU's), but even those are orders of magnitude away from what the brain achieves in terms of MIP's/watt.
The main constraint here is not building it. IBM did build a computer that mimics how the brain does things. It was a neural network and so massively parallel, but just as importantly information was sent by varying the number of pulses sent in a unit of time. That's important because if no information is sent there are no pulses, so potentially bugger all power was used.
The main constraint is programming it. We can't do it, and we have no idea where to begin. This debate about FP vs statefull programming seems to be a never ending source of entertainment in our field, but it's beside the point as neither have much relevance to solving this problem.