Historical Coprocessors of the Human Mind
General-purpose microprocessors are a fairly modern phenomenon, but the aid of specialized hardware for particular types of calculations is not.
Recently I have been writing about how Apple’s M1 microprocessor has all these specialized coprocessors and accelerators to do particular tasks very fast such as video encoding, encryption, and machine learning.
But it turns out that if you look at history humans themselves have played the role of a general-purpose CPU feeding data to specialized hardware. Let us have a look at some of these ancient and long-forgotten types of calculating hardware.
You may think that scientists before computers had to perform all their calculations using pen, paper, and mental arithmetic, but they did not. Instead, a multitude of peculiar devices existed for different types of calculations.
Can you guess what the peculiar device depicted below does? It is called a Planimeter and was first constructed by a Bavarian surveyor named Johann Martin Hermann in 1818.
Just as the CPU may have a coprocessor for doing graphics this is like a coprocessor for your brain to quickly calculate the area of arbitrary 2D shapes. You could simply trace a 2D area with the Planimeter and it will calculate the area through what is basically the integration of polar coordinates.
If you are not into math that may not be very informative. If you remember some high school math, you may remember having drawn functions. These are normally named
h and so on. For every given value
x along the x-axis, they have some corresponding value
y along the y-axis.
Integration is a mathematical process that finds the area under some function. The fundamental idea is to imagine the area under the graph as being made up of multiple bars of some fixed width. It is easy to find the area of each bar. You add up all the bars to get the total area under the graph. If you keep making the bars thinner and thinner you get a more accurate result. That is what integration is. You can derive equations to perform this.
You don’t have to literally measure and calculate a huge number of columns under the bar. However, sometimes it is very hard to figure out the mathematical equation for the integral of a function. In this case, you could cheat and use a planimeter.
Have a look at the next machine. This is called a differential analyzer. While far more complex, it has some relation to the humble planimeter mentioned earlier as it performs far more intricate integrations. It does so to solve what are called differential equations. If you are not a mathematician or physicist this may not sound all that interesting.
But solving differential equations is how we discover a lot of the important laws of physics. It is how we can find the laws of gravity, motion, and many other things.
Calculating things such as artillery trajectories, movements of space rockets, fuel usage in rocket engines, and many other complicated calculations can be done with a differential analyzer. One could call them a differential equation coprocessors. As long as humans can organize and set up a differential analyzer correctly, it can outperform any human brain on this particular task.
In the Soviet Union, they built several water integrators. There were made by Vladimir Sergeevich Lukyanov back in 1936.
Like a differential analyzer these could be used to solve various scientific and mathematical problems:
A water integrator was used in the design of the Karakum Canal in the 1940s, and the construction of the Baikal–Amur Mainline in the 1970s. Water analog computers were used in the Soviet Union until the 1980s for large-scale modelling. They were used in geology, mine construction, metallurgy, rocket production and other fields.
Monetary National Income Analogue Computer
Water can be used to represent a multitude of quantities being added together over time. This was utilized for the MONIAC computer which was used to simulate the UK economy. Each tank in the “computer” represented some different aspects of the UK economy. Water flowing through various pipes represented money flows.
Again to play with our coprocessor analogy. You could say this is overly specific hardware. It is an accelerator/coprocessor specifically for calculating the UK economy. This may also give you a clue as to why you generally don’t know about these kinds of computers. Since they are not general-purpose but tailor-made they were naturally expensive to build and did not exist in the abundance modern computers exist.
The Difference Engine
In 1849, British inventor Charles Babbage completed the design of the Difference Engine. However, it was too expensive to build so it took 150 years before it actually got built and tested. Unlike all previous computing devices, I have shown this was not Analog. So it means it was digital?
Nope, because it didn’t work on 1’s and 0’s. It did not use a binary number system but a decimal number system. Hence you could say it was a discrete calculating machine.
While many like to pass this off as a general-purpose computer, it wasn’t. It was more like a coprocessor. It did some very specific tasks well. Like a lot of these early computing devices, it can be hard to explain to a layperson exactly what it did because it wasn’t doing anything we can relate to today such as browsing the internet, doing word-processing, or spreadsheets.
This may start giving you a clue. Do you remember working with mathematical tables in school? Mathematicians have long used tables for logarithms, sine, and cosine to name some of the more common ones. But there are tons of these tables. Astronomers would have tables for the movement of different celestial bodies (moons, planets, and stars). The military would have tables for artillery trajectories and so on. Here is an example of an old logarithm table.
If you don’t have a general-purpose computer, you cannot calculate these kinds of functions on the fly, and calculating a logarithm, sine, or cosine with pen and paper is a long and tedious job. Thus mathematicians speed up their work by using tables. But making the tables themselves requires a ton of calculations.
That is what the Difference Engine was made to do. Say you needed to calculate a table for cosine. With the difference engine, you could calculate the first, second, and third derivative of cosine for a couple of cosine angles and feed this into the difference engine.
What is a derivative you ask? This is high school calculus. The derivative of a function is how much it slopes at a given point. You can plot this as another function. The slope of the derivative is the second derivative and so on.
By feeding this info into the Difference Engine and by cranking it, preferably with a steam engine, it would start spitting out the values for angles of cosine at some predetermined increments. Just like you want for a table. It was set up so it would imprint the results onto a metal sheet. Kind of like a printer.
The user of the difference engine could then take these plates to a printer and print the mathematical tables it produced.
Before there were databases and SQL we had tabulating machines. These could take numerous punched cards and add up the information in them. The US would use them for surveys. Companies would use them to keep track of inventories and sales.
An Arithmometer is basically the earliest form of a mechanical calculator. But no they could not do sine, cosine, square roots, and such as a modern electronic calculator. Basically, they could only add and subtract. This of course sound very limiting. In essence, an Arithmometer must be thought of as a mechanical abacus.
However, an Arithmometer had many advantages over an Abacus. There is no problem with you accidentally moving some beads wrong or forgetting to move some or performing carry from one rod to another.
And an Arithmometer is set up to aid you in more complex calculations so it allows you to keep count of how many times you have to perform an addition or subtraction. This is what allows you to perform multiplication or division. For E.g. if I want to multiply 21 by 4, I could simply add 21 four times. The Arithmometer has a counter which tells me how many times I have added 21 to what we call the accumulator. Secondly, it allows us to perform shifts. Thus if you need to multiply 21 by 42. You would simply add 21 twice. Then you would shift 21 to get 210 and add 210 four times to the accumulator to get the final result.
All important calculations had similar kinds of procedures which allowed you to perform them. There are procedures to perform square roots, multiplying multiple numbers, getting the square of a number, etc.
The Astrolabe goes far back into time. You could think of it as an analog coprocessor for astronomical calculations. You could use it to calculate what the date is or when the sun would set at a particular date. Basically, it had utility for anyone interested in keeping track of the seasons as well as for navigation at sea.
Voskhod Spacecraft Mechanical Navigation Device
It is not just medieval people who use mechanical devices for navigation. Even in fairly modern times, the Russian Voskhod Spacecraft used “Globus” a type of mechanical navigation calculator.
Napier’s bones is a manually-operated calculating device created by John Napier of Merchiston, Scotland. You can use this to speed up your multiplication. This video gives you a quick example of how Napier’s bones are used to perform multiplications.
Actually, I got a bit tired of making this list. I realize that there is just such an endless number of these specialized computing devices. I have not covered sliding rules, abacus, roman counting tables, etc.
If there is more interest in this I may consider expanding on this list and going into more depth about how these various devices actually work. I only gave each device a very shallow coverage here. Mostly I was interested in just showing the sheer breadth of different calculating devices that have existed through the ages.