Hacker News new | ask | show | jobs
by kragen 912 days ago
as you are of course aware, analog 'computers' do not have the 'central control part' that you are arguing distinguishes 'computers' from 'arithmetic circuits alone'; the choice of which calculation to perform is determined by how the computer is built, or how its plugboard is wired. integrators in particular do have state that changes over time, so the output at a given time is not a function of the input at only that time, but of the entire past, and as is well known, such a system can have extremely complex behavior (sometimes called 'chaos', though in this context that term is likely to give rise to misunderstanding)

you can even include multiplexors in your analog 'computer', even with only adders and multipliers and constants; x · (1 + -1 · y) + z · y interpolates between x and z under the control of y, so that its output is conditionally either x or z (or some intermediate state). but once you start including feedback to push y out of that intermediate zone, you've built a flip-flop, and you're well on your way to building a digital control unit (one you could probably build more easily out of transistors rather than op-amps). and surely before long you can call it a digital computer, though one that is controlling precision linear analog circuitry

it is very commonly the case that analog computation is much, much faster than digital computation; even today, with microprocessors a hundred thousand times faster than an 8080 and fpgas that are faster still, if you're doing submillimeter computation you're going to have to do your front-end filtering, upconversion or downconversion, and probably even detection in the analog domain

1 comments

Most "analog computers" have been simple, and even if they usually provided the solution of a system of ordinary differential equations, that does not require a control part, making them no more closer to a complete computer than a music box that performs a fixed sequence.

I agree that this kind of "analog computers" does not deserve the name of "computer", because they are equivalent only with the "registers + ALU" (RALU) simple automaton that is a component of a CPU.

Nevertheless, there is no reason why a digital control part cannot be coupled with an analog arithmetic part and there have existed such "analog computers", even if they have been rarely used, due to high cost and complexity.

It is not completely unlikely that such "analog computers", consisting of a digital control part and an analog arithmetic part, could be revived with the purpose of implementing low-resolution high-speed machine learning inference.

Even now, in circuits like analog-digital converters, there may be analog computing circuits, like switched-capacitor filters, which are reconfigurable by the digital controller of the ADC, based on various criteria, which may depend on the digital output of the converter or on the outputs of some analog comparators (which may detect e.g. the range of the input).

You're describing a "hybrid computer". These were introduced in the late 1950s, combining a digital processor with analog computing units. I don't understand why you and kragen want to redefine standard terms; this seems like a pointless linguistic exercise.
because 'computer' has a meaning now that it didn't have 65 years ago, and people are continuously getting confused by thinking that 'analog computers' are computers, as they understand the term 'computers', which they aren't; they're a different thing that happens to have the same name due to a historical accident of how the advent of the algorithm happened

this is sort of like how biologists try to convince people to stop calling jellyfish 'jellyfish' and starfish 'starfish' because they aren't fish. the difference is that it's unlikely that someone will get confused about what a jellyfish is because they have so much information about jellyfish already

my quest to get people to call cellphones 'hand computers' is motivated by the same values but is probably much more doomed

"Hybrid computer" cannot be considered as a standard term, because it has been used ambiguously in the past.

Sometimes it has been applied to the kind of computers mentioned by me, with a digital control part and a completely analog arithmetic part.

However it has also been frequently used to describe what were hybrid arithmetic parts, e.g. which included both digital registers and digital adders and an analog section, for instance with analog integrators, which was used to implement signal processing filters or solving differential equations.

IMO, "hybrid computer" is appropriate only in the second sense, for hybrid arithmetic parts.

The control part of a CPU can be based only on a finite state automaton, so there is no need for any term to communicate this.

On the other hand, the arithmetic part can be digital, analog or hybrid, so it is useful to speak about digital computers, analog computers and hybrid computers, based on that.

i agree completely; thank you for clarifying despite my perhaps confrontational tone

in some sense almost any circuit in which a digital computer controls an analog multiplexer chip or a so-called digital potentiometer could qualify. and cypress's psoc line has a bit of analog circuitry that can be thus digitally reconfigured