What differentiates computers from electronics?

297 views

For instance, I have a programmable watering system for outside. It has knobs for frequency and duration. Is it really computing anything, or is it full of non-computing electronics?

In: Engineering

A computer is a type of electronic device that is capable of performing mathematical operations. For the most part, they just do extremely simple stuff like basic arithmetic and move data between the CPU and RAM. Now, a theoretical computer can solve any solvable problem with the appropriate algorithm. (there are a few provably unsolvable problems). Every computer program in existence uses those extremely simple operations I mentioned earlier, so you can imagine how these extremely simple operations can be combined to form amazing computer software.

About your example – there is probably a computer in there, yes. Essentially, what you’re telling your irrigation system to do is: “Every x seconds, run the irrigation system for x seconds.” I use “seconds” here because that’s the unit of time computers use. That could, in and of itself, be a program. But we could also say: “Grab the user-specified frequency and duration from memory, and run the irrigation system according to the stored frequency and duration.”

If we go back 30 years ago, simple devices like your watering controller would not be computing devices. Those electronics would be made up of logic (AND, OR, XOR and Flip Flops) or analog devices. These can be used for very specific IF this THEN that type operations (IF a rain sensor detects rain THEN turn off the sprinklers). There might be also basic math done by analog or logic. Basic settings (time) might be stored. But it would be limited to the very specific tasks that a sprinkler controller needs to do.

A computer is much more flexible. If can perform basically any type of data manipulation. Much more complex tasks can be done. More things can be “remembered”. It’s program and behavior can be changed after the computer has been manufactured with a software update. That can’t be done with a non-computing electronic device.

Fast forward to today, “computer chips” have become so small and so cheap, that they are in virtually every electronic device. Rather than designing a complex circuit consisting of dozens of logic devices, it’s cheaper to just use tiny computer chip (or die embedded in a larger chip) and write software to do the logic operations required. That wasn’t always the case, but it is now.

Mathematicians and computer scientists have an abstract model of a computer called a Turing machine (TM for short). TMs are pretty simple machines. They have a line of memory cells, a read/write head that can read from and write to which ever cell it’s at, a state (basically a way to keep track of what its currently doing), and a table that tells it “If you’re in this state and reading that symbol from memory, overwrite the memory with this new symbol, move the head over to there, and put yourself in state yada-yada.”

It’s a lot simpler to describe than all of the components of a physical computer, but never-the-less it’s all that you need to compute anything that is computable. And what’s most significant is that you can design a universal Turing machine, which is a TM that will simulate the operation of any other TM if you put a description of the other machine into the universal machine’s memory. So not only can you design a particular TM that will compute something for you, you can design a TM that will compute anything that it is possible to compute for you, given the right input.

That’s the key difference between computers and other complex electronics. A proper computer can do anything (within its memory limits) that a TM can do; it can run arbitrary programs; it can even simulate other computers. Other circuits can’t do that. They generally only do 1 or 2 things, and can’t do anything beyond that.

There’s another distinction we can make. Any system – electronic, mechanical, or otherwise, that can simulate a TM can be considered a computer. Games like Magic the Gathering, Minecraft, and Conway’s Game of Life have been shown to be able to do this. A pencil and a sheet of paper can be used to simulate a TM. So, computers don’t even have to be electronic.

The term computer predates electronics but was really used the way that we now use the term calculator. The term has been applied to people who do math calculations (without the aid of an electronic computer). Charles Babbage completed a difference engine in 1822 and this is widely regarded as the first computer and used gears and wheels powered by a hand crank.

In current day language use the word computer almost exclusively refers to electronics.

They key feature of a computer is that it is *programmable*. You could come along with a CD, USB stick or internet connection and load entirely new software onto it, allowing it to do something new.

In contrast *embedded devices* or *electronics* basically just do one function. Maybe you could upgrade the software of your watering system, but it isn’t going to be able to show you a film, or run excel.

The physical hardware of an embedded device is optimised for that one job; your watering system will have just enough computing power to run a simple watering program, and it has the correct inputs and outputs (knobs, a small display) to do that task. In contrast a computer has much more general hardware which lets you do lots of different things (a big screen, mouse, plenty of RAM)

Some things sit right at the boundary, for example a programmable calculator can run lots of different programs (I have cartridges for astro-navigation, games etc), but it also has dedicated buttons for mathematical operations.

Computers are special in that they have general purpose processors that are capable of a large array of functions that allow them to do just about any sort of work. The downside is that they are more expensive and often not as fast as a more specialized processor what be at do a specialized task. You could straight program a computer to run your sprinkler system but ut would be overkill by a large margin.

Your programmable sprinkler system likely is using a much more rudimentary processor of some sort that is specialized for the task. The trade off being that it’s far cheaper then a general purpose processor but much more limited capability. You won’t be running a cyberpunk on this for example.

In some cases you can forgo a processor altogether and just use some cleverly designed circuits to get something done which would be even cheaper but also again even less flexible such circuits would only be good for exactly the thing they were designed for and nothing else.

So it’s a matter of how complex and capable you go.but all qualify as electronics. When you use electricity to drive some sort if circuitry you got electronics.