Edison was illuminating the world and the same electrical power was

brightening the future of computing machines. As early as 1915 the Ford

Instrument Company was producing in quantity a device known as “Range

Keeper Mark I,” thought to be the first electrical-analog computer. In

1920, General Electric built a “short-circuit calculating board” that

was an analog or model of the real circuits being tested. Westinghouse

came up with an “alternating-current network analyzer” in 1933, and this

analog computer was found to be a powerful tool for mathematics.

[Illustration:

_International Business Machines Corp._

A vertical punched-card sorter used in 1908.

]

While scientists were putting the machines to work, writers continued to

prophesy doom when the mechanical man took over. Mary W. Shelley’s

_Frankenstein_ created a monster from a human body; a monster that in

time would take his master’s name and father a long horrid line of other

fictional monsters. Ambrose G. Bierce wrote of a diabolical

chess-playing machine that was human enough to throttle the man who beat

him at a game. But it remained for the Czech playwright Karel Čapek to

give the world the name that has stuck to the mechanical man. In Čapek’s

1921 play, _R.U.R._, for Rossum’s Universal Robots, we are introduced to

humanlike workers grown in vats of synthetic protoplasm. _Robota_ is a

Czech word meaning compulsory service, and apparently these mechanical

slaves did not take to servitude, turning on their masters and killing

them. Robot is generally accepted now to mean a mobile thinking machine

capable of action. Before the advent of the high-speed electronic

computer it had little likelihood of stepping out of the pages of a

novel or movie script.

As early as 1885, Allan Marquand had proposed an electrical logic

machine as an improvement over his simple mechanically operated model,

but it was 1936 before such a device was actually built. In that year

Benjamin Burack, a member of Chicago’s Roosevelt College psychology

department, built and demonstrated his “Electrical Logic Machine.” Able

to test all syllogisms, the Burack machine was unique in another

respect. It was the first of the portable electrical computers.

The compatibility of symbolic logic and electrical network theory was

becoming evident at about this time. The idea that yes-no corresponded

to on-off was beautifully simple, and in 1938 there appeared in one of

the learned journals what may fairly be called a historic paper.

Appearing in _Transactions of the American Institute of Electrical

Engineers_, “A Symbolic Analysis of Relay and Switching Circuits,” was

written by Claude Shannon and was based on his thesis for the M.S.

degree at the Massachusetts Institute of Technology a year earlier. One

of its important implications was that the programming of a computer was

more a logical than an arithmetical operation. Shannon had laid the

groundwork for logical computer design; his work made it possible to

teach the machine not only to add but also to think. Another monumental

piece of work by Shannon was that on information theory, which

revolutionized the science of communications. The author is now on the

staff of the electronics research laboratory at M.I.T.

Two enterprising Harvard undergraduates put Shannon’s ideas to work on

their problems in the symbolic logic class they were taking. Called a

Kalin-Burkhart machine for its builders, this electrical logic machine

did indeed work, solving the students’ homework assignments and saving

them much tedious paperwork. Interestingly, when certain logical

questions were posed for the machine, its circuits went into

oscillation, making “a hell of a racket” in its frustration. The

builders called this an example of “Russell’s paradox.” A typical

logical paradox is that of the barber who shaved all men who didn’t

shave themselves—who shaves the barber? Or of the condemned man

permitted to make a last statement. If the statement is true, he will be

beheaded; if false, he will hang. The man says, “I shall be hanged,” and

thus confounds his executioners as well as logic, since if he is hanged,

the statement is indeed true, and he should have been beheaded. If he is

beheaded, the statement is false, and he should have been hanged

instead.

World War II, with its pressingly complex technological problems,

spurred computer work mightily. Men like Vannevar Bush, then at Harvard,

produced analog computers called “differential analyzers” which were

useful in solving mathematics involved in design of aircraft and in

ballistics problems.

A computer built by General Electric for the gunsights on the World War

II B-29 bomber is typical of applications of analog devices for

computing and predicting, and is also an example of early airborne use

of computing devices. Most computers, however, were sizable affairs. One

early General Electric analog machine, described as a hundred feet long,

indicates the trend toward the “giant brain” concept.

Even with the sophistication attained, these computers were hardly more

than extensions of mechanical forerunners. In other words, gears and

cams properly proportioned and actuated gave the proper answers whether

they were turned by a manual crank or an electrical motor. The digital

computer, which had somehow been lost in the shuffle of interest in

computers, was now appearing on the scientific horizon, however, and in

this machine would flower all the gains in computers from the abacus to

electrical logic machines.

_The Modern Computer_

Many men worked on the digital concept. Aiken, who built the

electromechanical Mark I at Harvard, and Williams in England are

representative. But two scientists at the University of Pennsylvania get

the credit for the world’s first electronic digital computer, ENIAC, a

30-ton, 150-kilowatt machine using vacuum tubes and semiconductor diodes

and handling discrete numbers instead of continuous values as in the

analog machine. The modern computer dates from ENIAC, Electronic

Numerical Integrator And Computer.

[Illustration:

_Remington Rand UNIVAC_

ENIAC in operation. This was the first electronic digital computer.

]

Shannon’s work and the thinking of others in the field indicated the

power of the digital, yes-no, approach. A single switch can only be on

or off, but many such switches properly interconnected can do amazing

things. At first these switches were electromechanical; in the

Eckert-Mauchly ENIAC, completed for the government in 1946, vacuum tubes

in the Eccles-Jordan “flip-flop” circuit married electronics and the

computer. The progeny have been many, and their generations faster than

those of man. ENIAC has been followed by BINAC and MANIAC, and even

JOHNNIAC. UNIVAC and RECOMP and STRETCH and LARC and a whole host of

other machines have been produced. At the start of 1962 there were some

6,000 electronic digital computers in service; by year’s end there will

be 8,000. The golden age of the computer may be here, but as we have

seen, it did not come overnight. The revolution has been slow, gathering

early momentum with the golden wheels of Homer’s mechanical

information-seeking vehicles that brought the word from the gods. Where

it goes from here depends on us, and maybe on the computer itself.

------------------------------------------------------------------------

“_Theory is the guide to practice, and practice is the ratification

and life of theory._”

—John Weiss

3: How Computers Work

In the past decade or so, an amazing and confusing number of computing

machines have developed. To those of us unfamiliar with the beast, many

of them do not look at all like what we imagined computers to be; others

are even more awesome than the wildest science-fiction writer could

dream up. On the more complex, lights flash, tape reels spin dizzily,

and printers clatter at mile-a-minute speeds. We are aware, or perhaps

just take on faith, that the electronic marvel is doing its sums at so

many thousand or million per second, cranking out mathematical proofs

and processing data at a rate to make mere man seem like the dullest

slowpoke. Just how computers do this is pretty much of a mystery unless

we are of the breed that works with them. Actually, in spite of all the

blurring speed and seeming magic, the basic steps of computer operation

are quite simple and generally the same for all types of machines from

the modestly priced electromechanical do-it-yourself model to STRETCH,

MUSE, and other ten-million-dollar computers.

It might be well before we go farther to learn a few words in the

lexicon of the computer, words that are becoming more and more a part of

our everyday language. The following glossary is of course neither

complete nor technical but it will be helpful in following through the

mechanics of computer operation.

COMPUTER DICTIONARY

ACCESS TIME—Time required for computer to locate data and transfer it

from one computer element to another.

ADDER—Device for forming sums in the computer.

ADDRESS—Specific location of information in computer memory.

ANALOG COMPUTER—A physical or electrical simulator which produces an

analogy of the mathematical problem to be solved.

ARITHMETIC UNIT—Unit that performs arithmetical and logical operations.

BINARY CODE—Representation of numbers or other information using only

one and zero, to take advantage of open and closed circuits.

BIT—A binary digit, either one or zero; used to make binary numbers.

BLOCK—Group of words handled as a unit, particularly with reference to

input and output.

BUFFER—Storage device to compensate for difference in input and

operation rate.

CONTROL UNIT—Portion of the computer that controls arithmetic and

logical operations and transfer of information.

DELAY LINE—Memory device to store and later reinsert information; uses

physical, mechanical, or electrical techniques.

DIGITAL COMPUTER—A computer that uses discrete numbers to represent

information.

FLIP-FLOP—A circuit or device which remains in either of two states

until the application of a signal.

GATE—A circuit with more than one input, and an output dependent on

these inputs. An AND gate’s output is energized only when all inputs are

energized. An OR gate’s output is energized when one or more inputs are

energized. There are also NOT-AND gates, EXCLUSIVE-OR gates, etc.

LOGICAL OPERATION—A nonarithmetical operation, i.e., decision-making,

data-sorting, searching, etc.

MAGNETIC DRUM—Rotating cylinder storage device for memory unit; stores

data in coded form.

MATRIX—Circuitry for transformation of digital codes from one type to

another; uses wires, diodes, relays, etc.

MEMORY UNIT—That part of the computer that stores information in machine

language, using electrical or magnetic techniques.

MICROSECOND—One millionth of a second.

MILLISECOND—One thousandth of a second.

NANOSECOND—One billionth of a second.

PARALLEL OPERATION—Digital computer operation in which all digits are

handled simultaneously.

PROGRAMMING—Steps to be executed by computer to solve problem.

RANDOM ACCESS—A memory system that permits more nearly equal access time

to all memory locations than does a nonrandom system. Magnetic core

memory is a random type, compared with a tape reel memory.

REAL TIME—Computer operation simultaneous with input of information;

e.g., control of a guided missile or of an assembly line.

REGISTER—Storage device for small amount of information while, or until,

it is needed.

SERIAL OPERATION—Digital computer operation in which all digits are

handled serially.

STORAGE—Use of drums, tapes, cards, and so on to store data outside the

computer proper.

_The Computer’s Parts_

Looking at computers from a distance, we are vaguely aware that they are

given problems in the form of coded instructions and that through some

electronic metamorphosis this problem turns into an answer that is

produced at the readout end of the machine. There is an engineering

technique called the “black box” concept, in which we are concerned only

with input to this box and its output. We could extend this concept to

“black-magic box” and apply it to the computer, but breaking the system

down into its components is quite simple and much more informative.

There are five components that make up a computer: input, control,

arithmetic (or logic) unit, memory, and output. As machine intelligence

expert, Dr. W. Ross Ashby, points out, we can get no more out of a

brain—mechanical or human—than we put into it. So we must have an input.

The kind of input depends largely on the degree of sophistication of the

machine we are considering.

With the abacus we set in the problem mechanically, with our fingers.

Using a desk calculator we punch buttons: a more refined mechanical

input. Punched cards or perforated tapes are much used input methods. As

computers evolve rapidly, some of them can “read” for themselves and the

input is visual. There are also computers that understand verbal

commands.

Input should not be confused with the control portion of the computer’s

anatomy. We feed in data, but we must also tell the computer what to do

with the information. Shall it count the number of cards that fly

through it, or shall it add the numbers shown on the cards, record the

maximum and minimum, and print out an average? Control involves

programming, a computer term that was among the first to be assimilated

into ordinary language.

The arithmetic unit—that part of the computer that the pioneer Babbage

called his “mill”—is the nuts and bolts end of the business. Here are

the gears and shafts, the electromechanical relays, or the vacuum tubes,

transistors, and magnetic cores that do the addition, multiplication,

and other mathematical operations. Sometimes this is called the “logic”

unit, since often it manipulates the ANDS, ORS, NORS, and other

conjunctives in the logical algebra of Boole and his followers.

The memory unit is just that; a place where numbers, words, or other

data are stored and ready to be called into use whenever needed. There

are two broad types of memory, internal and external, and they parallel

the kind of memory we use ourselves. While our brain can store many,

many facts, it does have a practical limit. This is why we have phone

books, logarithm tables, strings around fingers, and so on. The computer

likewise has its external memory that may store thousands of times the

capacity of its internal memory. Babbage’s machine could remember a

thousand fifty-digit numbers; today’s large computers call on millions

of bits of data.

[Illustration:

Conversion of problem to machine program.

]

After we have dumped in the data and told the computer what to do with

them, and the arithmetic and memory have collaborated, it remains only

for the computer to display the result. This is the output of the

computer, and it can take many forms. If we are using a simple analog

computer such as a slide rule, the answer is found under the hairline on

the slide. An electronic computer in a bank prints out the results of

the day’s transactions in neat type at hundreds of lines a minute. The

SAGE defense computer system displays an invading bomber and plots the

correct course for interceptors on a scope; a computer in a playful mood

might type out its next move—King to Q7 and checkmate.

With this sketchy over-all description to get us started, let us study

each unit in a little more detail. It is interesting to compare these

operations with those of our human computer, our brain, as we go along.

[Illustration:

_Remington Rand UNIVAC_

A large computer, showing the different parts required.

]

_Input_

An early and still very popular method of getting data into the computer

is the punched card. Jacquard’s clever way of weaving a pattern got into

the computer business through Hollerith’s census counting machines.

Today the ubiquitous IBM card can do these tasks of nose counting and

weaving, and just about everything else in between. Jacquard used the

punched holes to permit certain pins to slide through. Hollerith

substituted the mercury electrical contact for the loom’s flying

needles. Today there are many other ways of “reading” the cards. Metal

base plate and springs, star wheels, even photoelectric cells are used

to detect the presence or absence of the coded holes. A human who knows

the code can visually extract the information; a blind man could do it

by the touch system. So with the computer, there are many ways of

transferring data.

[Illustration:

_Remington Rand_ UNIVAC

The Computer’s Basic Parts.

]

An obvious requirement of the punched card is that someone has to punch

the holes in the first place. This is done with manually operated

punches, power punches, and even automatic machines that handle more

than a hundred cards a minute. Punched cards, which fall into the

category called computer “software,” are cheap, flexible, and compatible

with many types of equipment.

Particularly with mathematical computations and scientific research,

another type of input has become popular, that of paper tape. This in

effect strings many cards together and puts them on an easily handled

roll. Thus a long series of data can be punched without changing cards,

and is conveniently stored for repeated use. Remember the old

player-piano rolls of music? These actually formed the input for one

kind of computer, a musical machine that converted coded holes to

musical sounds by means of pneumatic techniques. Later in this chapter

we will discuss some modern pneumatic computers.

More efficient than paper is magnetic tape, the same kind we use in our

home recording instruments. Anyone familiar with a tape recorder knows

how easy it is to edit or change something on a tape reel. This is a big

advantage over punched cards or paper tapes which are physically altered

by the data stored on them and cannot be corrected. Besides this,

magnetic tape can hold many more “bits” of information than paper and

also lends itself to very rapid movement through the reading head of the

computer. For example, standard computer tape holds seven tracks, each

with hundreds of bits of information per inch. Since there are thousands

of feet on a ten-inch reel, it is theoretically possible to pack 40

_million_ bits on this handful of tape!

Since the computer usually can operate at a much higher rate of speed

than we can put information onto tape, it is often the practice to have

a “buffer” in the input section. This receiving station collects and

stores information until it is full, then feeds it to the computer which

gobbles it up with lightning speed. Keeping a fast computer continuously

busy may require many different inputs.

Never satisfied, computer designers pondered the problem of all the lost

time entailed in laboriously preparing cards or tapes for the ravenous

electronic machine. The results of this brain-searching are interesting,

and they are evident in computers that actually read man-talk. Computers

used in the post office and elsewhere can optically read addresses as

well as stamps; banks have computers that electrically read the coded

magnetic ink numbers on our checks and process thousands of times as

many as human workers once did. This optical reading input is not

without its problems, of course. Many computers require a special type

face to be used, and the post office found that its stamp recognizer was

mistaking Christmas seals for foreign stamps. Improved read heads now

can read hand-printed material and will one day master our widely

differing human scrawls. This is of course a boon to the “programmer” of

lengthy equations who now has to translate the whole problem into

machine talk before the machine can accept it.

If a machine can read, why can’t it understand verbal input as well?

Lazy computer engineers have pushed this idea, and the simplest input

system of all is well on the way to success. Computers today can

recognize numbers and a few words, and the Japanese have a typewriter

that prints out the words spoken to it! These linguistic advances that

electronic computers are making are great for everyone, except perhaps

the glamorized programmer, a new breed of mathematical logician whose

services have been demanded in the last few years.

[Illustration:

Magnetic Tape - Paper Tape - IBM Card - Magnetic Ink Characters

]

_Control_

Before we feed the problem into the machine, or before we give it some

“raw” data to process, we had better tell our computer what we want it

to do. All the fantastic speed of our electrons will result in a

meaningless merry-go-round, or perhaps a glorious machine-stalling short

circuit unless the proper switches open and close at the right time.

This is the job of the control unit of the computer, a unit that

understands commands like “start,” “add,” “subtract,” “find the square

root,” “file in Bin B,” “stop,” and so on. The key to all the computer’s

parts working together in electronic harmony is its “clock.” This

timekeeper in effect snaps its fingers in perfect cadence, and the

switches jump at its bidding. Since the finger-snapping takes place at

rates of millions of snaps a second, the programmer must be sure he has

instructed the computer properly.

The ideal programmer is a rare type with a peculiarly keen brain that

sometimes takes seemingly illogical steps to be logical. Programmers are

likely to be men—or women, for there is no sex barrier in this new

profession—who revel in symbolic logic and heuristic or “hunch”

reasoning. Without a program, the computer is an impressively elaborate

and frighteningly expensive contraption which cannot tell one number

from another. The day may come when the mathematician can say to the

machine, “Prove Fermat’s last theorem for me, please,” or the engineer

simply wish aloud for a ceramic material that melts at 15,000° C. and

weighs slightly less than Styrofoam. Even then the human programmer will

not start drawing unemployment insurance, of course. If he is not

receiving his Social Security pension by then he will simply shift to

more creative work such as thinking up more problems for the machine to

solve.

Just as there are many jobs for the computer, so there are many kinds of

programs. On a very simple, special-purpose computer, the program may be

“wired-in,” or fixed, so that the computer can do that particular job

and no other. On a more flexible machine, the program may still be quite

simple, perhaps no more than a card entered in a desk unit by an airline

ticket agent to let the computer arrange a reservation for three tourist

seats on American Airlines jet flight from Phoenix to Chicago at 8:20

A.M. four days from now. On a general-purpose machine, capable of many

problems, the program may be unique, a one-of-a-kind highly complex set

of instructions that will make the computer tax its huge memory and do

all sorts of mental “nip-ups” before it reaches a solution.

A computer that understands about sixty commands has been compared to a

Siamese elephant used for teak logging; the animal has about that many

words in its vocabulary. Vocabulary is an indication of computer as well

as human sophistication. The trend is constantly toward

less-than-elephant size, and more-than-elephant vocabulary.

The programmer’s work can be divided into four basic phases: _analysis_

of the problem; _application_ or matching problem requirements with the

capabilities of the right computer; _flow charting_ the various

operations using symbolic diagrams; and finally, _coding_ or translating

the flow chart into language the computer knows.

Computers—the machines we think with · 第 3 / 19 段