|
Manage-Wise
Enter the universal machine
A
Programmable Machine, by its nature, can perform many processes, one for each
possible program. A Ropebot can travel as many paths as there are ways to wind
rope around its axle. As a result, a programmable machine has a greater degree
of flexibility than many other kinds of machines. A toaster toasts and a hammer
hammers; just try toasting bread with a hammer or driving nails with a toaster
if you think otherwise. For this reason, toasters and hammers are both special-purpose
machines.
Some devices, such as a combination TV-DVD-VCR or a Swiss Army Knife, can perform
multiple functions. But no matter how many ways you can slice and dice with
a Swiss Army Knife, you cant change its operation by programming it. Therefore,
a Swiss Army Knife is a multifunction machine, but not a programmable machine.
Not all programmable machines, however, are artificial invention genies. A Jacquard
Loom will never produce an invention no matter how cleverly you program it;
it will only produce a cloth with a new pattern, which we would not consider
to be an invention no matter how new it might be.
Computers going universal
A modern computer, unlike a Jacquard Loom, can be programmed to perform a nearly
infinite number of functions. In fact, you could program a single computer to
act as the guts of a Jacquard Loom and a Hollerith tabulator simultaneously.
You are familiar with the extreme flexibility of modern computers just from
using them. The computer I am using to write this book has software installed
on it for writing documents, browsing the World Wide Web, compressing and decompressing
files, playing music and video, and protecting itself against viruses, just
to name a few. Furthermore, I can install new software on the computer to enable
it to perform new functions whenever I please, even if the designers of the
computer itself never dreamed of those functions. I can even run multiple pieces
of software simultaneously on the same computer, as you know if you have ever
checked your email in one window while browsing the Web in another. Try doing
all of that with a Hollerith tabulator.
Modern computers are often called general-purpose machines or universal machines
as a result of this shape-shifting ability. Recall the analogy to drill and
drill bit, but now take it one step further. Attaching a sanding bit to a drill
doesnt just enable the drill to sand surfaces; it effectively transforms
the drill into a power sander. The same is true of a computer. A computer with
no software installed on it is a universal machine, a blank slate pregnant with
possibilities, none of which has yet been unlocked. Install word processing
software on the computer, however, and you effectively transform the general-purpose
computer into a special-purpose machine for writing documents.
Concept of universal machine
The term universal machine derives historically from Alan Turings use
of it in a seminal 1936 paper in which he demonstrated that a longstanding problem
in abstract mathematics posed by mathematician David Hilbert at the turn of
the 20th century could not be solved. Incredibly, in retrospect, Turing described
in principle how a universal machine could work merely for the purpose of proving
his primary mathematical conclusion. Turing, in other words, laid the theoretical
foundation for all modern computers as part of an intellectual detour.
Although Turings original concept of the universal machine was of an abstract
machine, not a physical one, it wasnt long before he and others recognized
that a real, physical, universal machine could be built. Although such pioneers
built a variety of machines with increasing degrees of programmability in the
years after Turings original paper was published, it was not until 1945,
when John von Neumann formulated a feasible way to implement a stored
program computer in a real machine, that the dream of building working
universal machines became a reality.
A computer designed according to von Neumanns stored program architecture
consists of a processor and a main memory connected by a bus. The
primary novelty of von Neumanns design lay in the fact that you could
store an entire computer program and the data on which it operates in a single
uniform memory. By comparison, recall the Hollerith tabulator with a plugboard,
in which the instructions were embodied in the wired plugboard, while the data
to be processed by the machine were embodied in a distinct set of punched cards.
Now consider a program with just a single line of code (Add 2 + 4)
in which Add is the instruction and the numbers 2 and 4 are the data. In a von
Neumann computer, such a program could be represented in a single sequence of
bits in memory, such as 011010100000001000000100.
Genies in hiding
One significant benefit of this design was that the program instructions and
data could be modified while the program was running, thereby opening the door
to much more flexible and powerful programs than were possible with previous
generations of computers. Furthermore, making it possible to program a computer
merely by storing software inside the computers memory eliminated the
need to engage in the tedious rewiring that was necessary to program early computers.
The von Neumann architecture has remained the basis of most modern computers
ever since; every computer you have ever used most likely has been a von Neumann
computer.
The universal machine, as pioneers such as Turing and von Neumann originally
envisioned it, was capable of performing any computation. It probably isnt
immediately obvious, however, how you could ever use such as souped-up calculator
to produce an invention no matter how cleverly you might program it. You can
perform computations using a handheld calculator until you are blue in the face
and it will never morph into a new automobile engine or cancer-curing drug.
Also, computers are the ultimate artificial chameleons. We use them every day
to mimic everything from old-fashioned typerwriters to wristwatches to stereo
systems. Although we now take the ubiquity and flexibility of computers for
granted, most early compurter engineers did not envision that computers would
ever be so broadly applicable.
Excerpt from The Genie In The Machine by Robert
Plotkin. Reproduced with permission © 2009, Penguin Portfolio. Price: Rs
599.
|