analog computing
Today's computers are digital: everything is represented as crisp 0s and 1s, discrete steps with nothing in between. Analog computing is older and stranger — it represents a number not as a pattern of bits but as a continuous physical quantity, like an exact voltage level or an amount of electric current. Instead of a number 3.7 stored as a binary pattern, you have a wire carrying 3.7 volts. And here is the trick: physics does some math for you for free. If two currents flow into the same wire, they add — Kirchhoff's law of circuits literally performs the addition with no arithmetic circuit at all, instantly and using almost no energy.
Why is anyone revisiting this old idea in the post-Moore era? Because of one specific, enormously important computation: the multiply-and-accumulate that dominates machine learning. Running a neural network is mostly multiplying many numbers by stored weights and summing the products, over and over. An analog memory array can do this remarkably efficiently: encode the weights as the electrical conductance of memory cells, apply the inputs as voltages, and by basic circuit physics the resulting currents are automatically the products, which sum together along each wire. A whole matrix-vector multiply — thousands of multiplies and adds — can happen in essentially one physical step, inside the memory, with tiny energy. This marries analog computing to processing-in-memory and to the data-movement theme of the whole field.
Now the unavoidable honesty. Analog is fundamentally imprecise: real voltages drift, components vary from one to the next, temperature and electrical noise blur the values, so analog computing is inherently approximate and cannot deliver the bit-exact, repeatable answers digital gives. It is therefore suited only to error-tolerant workloads — which is exactly why neural-network inference, which already tolerates approximation, is the killer application and almost the only one seriously pursued. Converting between the analog and digital worlds also costs energy and area, which can eat into the savings. Analog computing is a promising, still-experimental accelerator for one narrow but vital kind of work, not a general return to pre-digital machines.
An analog accelerator stores a neural network's weights as the conductances of a grid of memory cells. To multiply an input vector by the weight matrix, it applies the inputs as voltages along the rows; by Ohm's law each cell produces a current equal to voltage times conductance (a multiply), and the currents on each column add up (an accumulate). Thousands of multiply-adds finish in one physical step — but the result carries analog noise, so it is only used where small errors are fine.
Letting circuit physics do multiply-accumulate is fast and ultra-low-power, but inherently noisy and approximate.
Analog computing is inherently imprecise — voltages drift and components vary, so it cannot give the bit-exact, repeatable results digital does. Its realistic niche is error-tolerant work like neural-network inference, not general-purpose computing.