June 1951 Radio-Electronics
[Table of Contents]
Wax nostalgic about and learn from the history of early electronics.
See articles from Radio-Electronics,
published 1930-1988. All copyrights hereby acknowledged.
|
This is another example of
a multi-part article of which I happen to have only one (now two) of
the installments
- Part 9. As is often the case, each article is pretty much stand-alone and does
not require that you have already seen the previous sections. In 1951, computers
were still mostly analog; digital circuits were just beginning to get serious research
thanks to the recent advent of solid state devices.
Boolean algebra,
truth tables, and
combinational logic
were just beginning to be taught in engineering courses.
ENIAC (Electronic Numerical Integrator
and Computer), first used in 1945 at the end of World War II, was the world's
first general purpose digital computer, and its active elements were vacuum tubes
- about 20,000 of them (along with 7,200 crystal diodes). As you might expect, there
was a lot of excitement in the electronics, scientific, and finance world about
digital computers that would be inexpensive enough that individual corporations
and institutions could afford. The time saved and errors avoided more than justified
the cost. Magazines like Popular Electronics and Radio-Electronics
were filled with articles to teach interested readers about the new technology.
See Part IV -
Long Division with Relays and
Part IX - Some
Electronic Circuits for Computers.
Part IX - Some electronic circuits for computers and how they
are used for adding and subtracting
By Edmund C. Berkely and Robert A. Jensen
Fig. 1 - Pulses are used in electronic computers to represent
information. A positive pulse may mean +1, a negative pulse -1, and no pulse 0.
Other pulse combinations are sometimes also used.
Fig. 2- A phase inventor circuit for computers. Part a is the
circuit, b its symbol for block diagrams, and c is a function table for this circuit.
Fig. 3 - A logical AND circuit, or gate. Output pulse appears
at C only when inputs appear simultaneously at A and B.
Fig. 4 - Logical OR circuit, or buffer.
Fig. 5 - A logical EXCEPT circuit. The pulse input at A
appears at output C except if there is a pulse at input B.
Fig. 6 - Electrical delay line as used in computers. The 3 in
the block symbol denotes a delay of three pulse times.
Fig. 7 - This half-adder circuit gives the result of adding two
binary digits.
Fig. 8 - An adder circuit is made up of two half-adders and a
one pulse delay.
Fig. 9 - The numbers on this adder show how 0101 is added
to 1011 to get 10000.
Fig. 10 - Diagram of a subtracter. This one is taking 101 from
1011 to get 110.
In the previous article we began the discussion of an electric brain to be built
around electronic tubes instead of relays. We discussed the storage information
in the form of the state of a flip-flop, or pulses circulating in a delay line,
or magnetized spots on a magnetic surface, or charges on the screen of an electrostatic
storage tube.
But how do we compute? As soon as we have arranged to read, write, and erase
information at electronic speeds, we need to consider how to compute with electronic
elements. For computing purposes, a unit of information is represented as a pulse,
either a rise and fall of an otherwise constant voltage, or else a fall followed
by a rise. We will call the first kind a positive pulse or a 1, the second kind
a negative pulse or a -1, and the absence of a pulse a 0. See Fig. 1.
In a computer, the pulses are usually of a standard duration, and may be for
example 1/5 of a microsecond long and spaced 4/5 of a microsecond apart. In this
case the pulse repetition rate would be 1 megacycle per second. In some computers,
1 and -1 pulses are both treated as the presence of information, the binary digit
1, the logical truth value 1, or "yes"; while 0 is treated as the absence of information,
the binary digit 0, the logical truth value 0, or "no."
Phase Inverter
The first computing element we need to consider is a phase inverter. In computer
work, a phase inverter changes a positive pulse to a negative one, or a negative
pulse to a positive one, that is, "inverts" the pulse. See Fig. 2. In this figure,
and in Figs. 3 to 8, part a is the circuit diagram; b is its block diagram representation
which we use for convenience; and c is a function table that indicates what the
circuit does. Any grid-controlled electronic tube can act as a phase inverter.
Logical AND Circuit
The next computing element we need to consider is called a logical AND circuit."
This is one of the meanings of the electronic term "gate." See Fig. 3. In this circuit,
a pulse appears on the output line if, and only if, two pulses come in simultaneously
on two input lines.
A tube with two grids, normally cut off with either one or no pulses, is one
of the forms which a logical AND circuit can take. The reason for the word "and"
is that we have a pulse on output line C if and only if we have a pulse on input
line A and on input line B. This (with emphasis on the idea "both") is the regular
meaning for "and" in logic. This type of circuit may take many forms with and without
electronic tubes.
Logical OR Circuit
Another computing element is called a "logical OR circuit", sometimes called
"buffer." It allows a pulse on the output line if a pulse comes in on either one
or both of the two input lines. See Fig. 4.
A tube with two grids, which is normally conducting, is one of the forms which
a logical OR circuit may have, although there are others. The reason for the word
"or" is that a pulse is on output line C if a pulse is on input line A or if a pulse
is on input line B, or both. This nonexclusive meaning of the word "or" is its regular
meaning in logic.
Logical EXCEPT Circuit
Another computing element is called a "logical EXCEPT circuit," or inhibitory
gate. In this a pulse is allowed out on the output line if a pulse comes in on a
specified one of the two input lines except if a pulse comes in at the same time
on the other input line. See Fig. 5.
The circuit shown in Fig. 5 will act as a logical EXCEPT circuit. Its constants
are chosen so that when A is not pulsed, whether or not B is pulsed, still there
is no output on line C. If A is pulsed and B is pulsed, the two pulses coinciding
in time and of opposite phase eliminate the pulse on line C. If A is pulsed and
B is not pulsed, then the pulse goes on through. Other circuits besides that shown
in Fig. 5 are of course possible.
Electrical Delay Lines
The computing section of an electronic computer also uses an electric delay line
of very short delay, such as one pulse time, or a few pulse times. A circuit that
does this appears in Fig. 6. These are different from the long sonic delay lines
such as the mercury tanks described in the previous article, because the purpose
of the short delay line is not storage but computation. Short delay lines are important
because pulses sent into the various parts of an electronic computer must arrive
at the various points just when they are needed. For example, in the Bureau of Standards
Eastern automatic computer, delay times are figured to hundredths of microseconds
and pulses are timed to be safely within the planned intervals.
Half-Adder
Now how do we take these various computing elements and begin to do computing
with them?
The first thing is to assemble these elements so that we can add two binary digits.
Suppose there are two input lines A and B, and either one may bring in a binary
digit that may be 1 or 0. Suppose that we have two output lines, one of them S,
that will give us the sum without carry, and the other C, that will give us the
carry. The function that we want to express is the result of adding two binary digits:
A + B = C, S, where 0 + 0 = 00, 0 + 1 = 01, 1 + 0 = 01, and 1 + 1 = 10. See Fig.
7.
To make a half-adder circuit, one logical AND circuit, one logical OR circuit,
and one logical EXCEPT circuit, combined as shown in Fig. 7-a, are sufficient.
Adder
But we are not finished, because a previous addition may have given a carry that
has to be taken into account. The circuit which will perform complete binary addition
is called an adder. See Fig.8.
Now let us trace through the adder circuit with some numbers and see what actually
happens in the sequences of pulses on the several lines in the circuit.
The digit 1 will represent a pulse (assumed to be positive or negative as the
circuit requires), and the digit 0 will mean absence of a pulse at the proper time.
At the same time the digits 1 and 0 will represent information that we desire to
compute with.
Suppose we write a binary number (or more generally any set of binary digits)
in the ordinary way (with the smallest ranking digit at the right) on any circuit
line where the pulses are traveling from left to right. Then the binary number will
be attended to as a pattern of pulses by the circuit in just the sequence from right
to left that we ordinarily deal with in arithmetic. At the same time the number
will show the sequence of pulses in the order that they are handled in the circuit.
As an example of using the adder, let us add 101 (one 4, no 2 and one 1 in binary,
or 5 in decimal) and 1011 (one 8, no 4, one 2, and one 1 in binary, or 11 in decimal).
We write the two numbers on the input lines A and B (See Fig. 9) and now we set
out to see what happens.
At the first pulse-time, the pulse (the 1) on the A line and the 1 (another pulse)
on the B line go into half-adder No.1, and give rise to no pulse on the S line (sum
without carry) and a pulse on the Cline (carry). The 0 on the S1 line goes into
the second half-adder without delay; but the 1 on the C1 line goes into the one-pulse
delay and so it is held back one pulse-time. As a result, at the first pulse-time,
0 and 0 go into the second half-adder; and so its output is 0 for the first digit
of the true sum, and 0 for the carry. The 0 for the carry circles round the loop
and comes up to the entrance of the one-pulse delay.
At the second pulse-time, 0 and 1 go into the first half-adder, and give rise
to a 1 on the S1 line and a 0 on the C1 line. The 1 on the S1 line goes into the
second half-adder without delay. Now the delayed previous carry (with no conflict
from the absence of pulse that came around the loop) now issues from the one-pulse
delay. So 1 and 1 now enter half-adder No.2, and from it issues a 0 on the sum line
S2 and a 1 on the carry line C2 which circulates around the loop, and enters the
one-pulse delay so it will be ready for the next pulse time.
At the third, fourth, and fifth pulse-times, each of the proper operations takes
place similarly, and so we get out of the second half-adder exactly the sum that
we desire.
Subtracter
Now how do we manage to subtract? A circuit that will subtract is shown in Fig
10, using the constituents of an adder, and a logical EXCEPT circuit. The word "minuend"
means "the number to be diminished." The word "subtrahend" means "the number to
be subtracted."
Let us test this circuit by subtracting five from eleven, or in binary subtracting
101 from 1011. The pulses appear in succession on each of the lines in the diagram,
as shown. By following through the circuit, remembering what each stage does, we
see that exactly the right answer, 0110 or six, appears on the output line marked
"difference."
Acknowledgement is made to Henry W. Schrimpf for a number of the circuits and
ideas in this article.
In the next article we shall take up the multiplication and division of binary
numbers using electronic circuits and begin the discussion of the control of an
electronic computer.
(continued next month)
Posted June 2, 2020
|