Back to articles
Processor Runs for Years on a Single AA Battery
by Nathan Theophanes   2 min read
Modern multi-core CPUs consume 10-30W per core when working. GPUs (graphics processors) are special-purpose and about 1000 times more efficient than CPUs, running at 20-30 milliWatts per core when working. The latest ULP MCUs (ultra-low-power microcontrollers) are 1000 times more efficient than GPUs, running at 20-30 microWatts.
One way to achieve excellent processor efficiency for certain operations is to use an approach called data flow architecture which separates computations based on their dependencies rather than using a program counter to execute instructions one by one. For instance, if you were going to add 1 to a number, multiply it by 7, and then add 3, a data flow system routes those operations to a group of smaller processing elements for parallel execution with other instructions. It is a producer/consumer model instead of a step-by-step model. To keep things fast at runtime, the compiler identifies these dependencies and determines how the instructions should be routed.
In the last decade, researchers at MIT and Carnegie Mellon have been working on these data-flow computing paradigms. MIT's Eyeriss architecture is a fixed-function approach which only does neural net computation, while Carnegie Mellon's approach is general-purpose, allowing arbitrary computation. The group from Carnegie Mellon has launched a practical chip and compiler implementation via the startup Efficient Computer.
Efficient Computer's processor and compiler let you take any C program and compile it to run on their data-flow processing elements (which they call the Fabric). So without using separate libraries or rewriting your code, you can take advantage of the extreme efficiency data-flow computation provides. You can build an IoT sensor that gathers data, analyzes it, and communicates the results, all running on a single AA battery for years! Amazing.