Академический Документы
Профессиональный Документы
Культура Документы
M i n i v a c 6 0 1
S C IE N T IF IC r. j |
D EV ELO P M EN T .. .3 T ir S t S te p
__ ___ESP(i5Pi
f SLID E
S W IT C H E S .
.......................... * ............ . ......................... ............................ 18
Experiment 10: Slide Sw itch O p e ra tio n ........................19
'R O T A R Y S W IT C H ...................................................................................................................... 20
Experiment 11: Manual O peration of
Rotary Swi t c h ......................... 21
Motor D riv e .......................................................................................22
Resistors............................................................................................ 22
Decimal Inp ut-O utput........................................................... 22
Experiment 12: Basic Motor O p e ratio n .................... 23
Experiment 13: Motor Driven Rotary S w itch . • • • 23
Pulse G e n e ra to r......................................................................... 24
Programmer.................................................................................... 24
Experiment 14: Motor Reversing........................................ 24
8 ) M A T R IX ..................................................................................................................... 25
9 ) A U X IL IA R Y T E R M IN A L S ........................................................................................... 25
1 0 ) L O O K IN G A H EA D W ITH M IN IV A C 6 0 1 ................................................................................................................ 26
Summary: Book 1...................................................................... 26
Book II: What is a D igital C o m p u te r? .................... 26
Book III : How Computers
Make Logical D ecisions 26
Book IV : How Computers Do A rith m e tic ................. 27
Book V : How Computers Work for M an .................... 27
Book V I: M IN IV A C G am es................................................... 27
PROBLEM S FO R M IN IV A C 6 0 1 ........................... 28
to 32
The M ini vac Manual was prepared and edited by the staff of
EX LIBRIS ccapitalia.net
Copyright (c\ 1961 by S c ie n tific Development Corporation, 372 Main Street, W atertow n, Massachusetts
POWER SU PPLY
he power supply converts the 110-volt A C power obtained
from a standard e le c tric outlet in your home to a safe working
level of 12 volts D C . This low voltage DC is used to
power M IN IV A C and is connected to a ll terminals +
and - on the power p a n e l. Most toy e le c tric trains
use the same low -voltage power as M IN IV A C and
therefore working w ith the M IN IV A C is as safe as
operating an e le c tric tra in .
C A U T /o n :
Do N O T hold the c irc u it-
breaker button in if it
continues to "b lo w ." Turn N o w .. . .plug the POWER C O R D into
power o ff and determine the a standard 110-volt A C (N O T DC)
cause for drawing excessive o u tle t, and you are ready to
current before proceeding G E T A C Q U A IN T E D
w ith the experim ents. W ITH M IN IV A C 6 0 1 ...........
3
w
2 PROGRAMMING W IRES
C LO S E D C IR C U IT PR IN C IPLE
4
EXPERIMENT |
OF PROGRAMMING WIRES
his experim ent demonstrates the use of programming
wires to make connections on M IN IV A C 601 .
^ / S im il a r ly , connect terminal 1 B to
terminal 1 - w ith the second programming
w ire . These connections cause lamp 1
to light when the Power Sw itch is turned o n .
This simple c irc u it is discussed
further in Experiment 2 .
W IR IN G SH O RTH AN D
A W IR IN G SH O RTH AN D is used to in d icate connections w hich are to be
made on the computer by simply w riting the two terminal designations
w ith a slash in between. In Experiment 1 , terminal 1 + was connected
to terminal 1 A . This is w ritten in shorthand-------- — ■, /
A series of such shorthand w iring instructions w ill be given to ' / 1/^
describe the w iring of a complete c ir c u it .
5
< id entical lights Iabeled
"B in ary O utput" are used in
M IN IV A C 601 to show what is
happening in various parts of the
computer. A light w ill come on when
is connected in a closed c irc u it so
rrent flows through the lig h t.
l^o Co n n ectio n
When the circuit is
OPENED U §ht
off
fhe light is OFF
the lig/ntcomesON
*\V '
* \
—I
EXPERIMENT 2
7
PUSHBUTTONS
Each of the six binary input pushbuttons has three terminals located d ire c tly
above it on the computer p a n e l. Each terminal is connected under
the panel to a co n tact. The term inals are labeled X , Y and Z .
♦N
When the pushbutton is U P, an e le c tric a l
connection is made between terminals Y
and Z . When the pushbutton is D O W N ,
the e le c tric a l connection is switched to
terminals Y and X . Terminal Y is connected
to the "common" contact and is alw ays used when up= y/z Dowm= x/ y
the pushbutton is connected in a c irc u it .
PUSHBUTTON OPERATION
S t . .
I I his experiment uses a light to demonstrate the operation of a pushbutton
Both norm ally open and norm ally closed circu its are connected.
jl x
>) The normally open pushbutton-light 1+ -*—
circuit drawing looks like this:
Program this circuit by making
* ) the following connections: 1+/1Y, 1)(/1A, 1-/1B I -
Turn the power switch O N . Push DOWN on pushbutton 1. Light comes ON because the
3) circuit from + to - is closed through the pushbutton contacts and through light 1 .
Release the pushbutton and the light goes O FF. The light goes OFF because the circuit
from + to - is open (broken) by the pushbutton contacts. Turn the power switch O FF.
1Z
With a normally closed pushbutton-light added, ^ -
«)
the circuit drawing looks like this:
Program this by adding connections — 1Z/2A, 2B/2- ^
Turn the power switch O N . Light 2 comes on as soon as power IX
6) is turned O N . Light 2 lights because the circuit from + to -
is completed through the normally closed contact (Z) of pushbutton 1 .
This experiment demonstrates the two basic ways to use a pushbutton. The norm ally closed contact
( Y / Z ) may be used to complete a c irc u it when the pushbutton is U P , and the norm ally open
contact (X / Y ) may be used to complete a c irc u it when the pushbutton is D O W N .
SERIES CIRCUIT
I his experiment demonstrates the use of
two pushbuttons connected together in series
to form a c irc u it where both pushbuttons must be
pushed at the same time before the c irc u it is closed.
PARALLEL CIRCUIT
his experiment demonstrates the use of two
. I pushbuttons connected together in p arallel to
form a c irc u it where either pushbutton may be
pushed to complete the c ir c u it .
0
6 ) More than two pushbuttons may be connected in
p arallel to make a c irc u it where any one of the
pushbuttons may be pushed down to complete
the c ir c u it . To demonstrate this p rin c ip le , construct 2Z •IB
a p arallel c irc u it using three or more pushbuttons.
Draw the c irc u it diagram , and then connect the c irc u it
on the computer using the programming w ire s. 2*
Turn power O N .
Light 2 comes O N
1G IB
1 -
1A
13
5 Electrical Operation of the Relay
covfO
Switches ———
jm m .
j /
USHT % !?
~Jethr\in2ls Connected
Three terminals are located d ire c tly above
~hSwitches “
_ each re lay on the computer p a n e l. These
OO oO \ . . 7 i i i i
H J terminals are connected under the panel to
the re la y c o il. Two terminals are connected
A . d ire c tly to the re lay c o il, and the third
OO J terminal is connected to a light wired in
t- N / series w ith the re la y coil as shown.
—— When the re la y co il is energized
by connecting power to C and F ,
the light d ire c tly below the re la y comes
O N because the light is wired in series
with the re la y c o il. If the re la y coil is
energized by supplying power through contacts
E and F , the light beneath the re la y w ill N O T
come on because there is no current flowing through
the lig h t. The light below the re la y coil may be used to
show when the re la y is O N .
The c irc u it drawing for a re la y switch looks lik e this: m*00
The follow ing experiments demonstrate re lay operation
with pushbuttons and lights in simple computer circu its Switches A lw a Y S
Rfi-tay
operate together
EXPERIMENT
ELECTRICAL RELAY OPERATION
^ T h is experiment demonstrates the basic e le ctrica l
operation of a r e la y . Additions to the "manual
| re la y operation" c irc u it of Experiment 6 permit
-I the re la y to be operated e le c tric a lly
through a pushbutton.
0
12 The dotted lin e in this c irc u it indicates that
1+ iy IX 1C I9
E 00000 I Ff I- contacts 1 G , 1 H, and 1J are part of the re lay
switch controlled by the coil connected
—• -
between IE and I F .
P LA TE The re la y is made w ith a small electro-m agnet c o il. When current flows through
the c o il, a magnetic force is produced w hich pulls on the small metal plate attached
to the p lastic crossbar to switch the co ntacts. In this experim ent, we have seen the
operation of the electro-m agnet and have operated the re la y to control a set of lig h ts.
We have also seen the re la y indicator lamp light when the re lay was turned O N .
EXPERIMENT 8
2X
The two stable conditions of the re lay c irc u it
(O N and O F F ) are used by the computer in later
experiments to represent two numbers. When the 1Z
re lay is O F F , the number zero (0) is represented.
When the re la y is O N , the number one (1) is
0000 0
I-
represented. The re la y c irc u it thus remembers #
iy IX 1C 1£ IF
(stores) these binary numbers.
17
r
SLIDE SWITCHES
$ i x id e n tica l slide switches labeled "Secondary
Storage" are used by M IN IV A C 601 for manual
storage of data and for other computer switching
functions. Each switch has two sets of contacts
w hich open and close together.
4 » *
When the switch is pushed to the le ft, When the switch is pushed to the rig ht,
separate e le c tric a l connections are made separate e le c tric a l connections are made
between terminals S and R and between between terminals S and T and between
term inals V and U : terminals V and W :
R S V w R S T W
18
EXPERIMENT 10
/ ' J k
SLIDE SWITCH OPERATION
his experiment demonstrates the operation
of a slide switch controlling two lig hts.
1-/1B 2 -/2 B
1A /1R 2A / 1 W
1S/1+ 1V/1S
19
§ h e rotary sw itch , labeled
"D ecim al Input-O utput,
may be m anually rotated
or motor d riv e n . Connected
d ire c tly with the pointer
knob there is a w iper arm
underneath the computer
p an el. As the w iper arm and
the pointer knob move around th
c irc le of co ntacts, the w iper arm
momentarily connects with each set of
contacts on the rotary switch d ial in turn
D = Decim al Input-Output
8 = terminal number (1 to 19)
. . . for example D8
V IE W UAIDER P A N E L
20
EXPERIMENT II
I
RESISTO R S
The e le c tric a l resistors used with the current w hich flows through a relay c o il.
motor drive lim it the current w hich The resistors make it possible to connect a
flows through the c irc u it in the same short c irc u it across the STO P term inals to stop
way that the lights lim it the amount of the motor without over-loading the power supply.
DECIMAL INPUT-OUTPUT
The motor driven rotary switch is ca lle d au to m atically d e liv e r information to the
a Decimal Input-O utput because it has operator. The Decimal Input-Output is thus
positions w hich are designated by ordinary used by the operator to communicate w ith
decimal numbers. "Input-O utput" means the computer using decimal numbers.
that the rotary switch may be used by the
The follow ing experiments demonstrate the
operator to m anually d e liv e r information to
rotary switch and motor drive operation.
the computer or that the computer may
22
experim en t
Ba s ic m o to r , o p e r a t io n
f his experiment demonstrates the basic motor drive
operation. The c irc u it looks like th is:
6- D 18
—•-
Turn the power O N . Push pushbutton 5 .
This supplies power to the RUN terminals
(D17 and D18) and causes the pointer of the
rotary switch to rotate.
e x p e r im e n t 1 3 ' $ Release pushbutton 5 . The motor drive again stops, this time because
power is no longer connected to the motor c ir c u it .
J I Connect the motor to operate with Push pushbutton 5 . The motor rotates the
pushbutton control using the c irc u it of pointer knob as in Experiment 11. As
Experiment 12. the pointer knob turns, light 5 and light 6
^0 6
Connect lights 5 and to the rotary
flash O N in sequence. The rotary switch
is autom atically generating e le c tric a l
switch using the c irc u it of Experiment
pulses to flash the lig hts. F irst, light 5
11. The combined program from
flashes and then light 6 flashes, once each
Experiments 11 and 12 is:
revolution of the rotary sw itch .
6+/D16 D 1/5A 5 - /D 1 8
W hile holding pushbutton 5 down, push
D 2/6A 5B/6B 6 - / 6Y
pushbutton 6 . The pointer knob STOPS
6 - / 6B 6+ /5Y 6X/D 19
turning and the lights STO P flash in g .
5X/D17
23
7
(con+.j
PULSE GENERATOR.
The electrical pulses which are used to flash light 5 (or the pulses which flash
light 6) continue as long as the motor continues to run. Pulses like these
are used to automatical Iv operate MINIVAC 601 in future experiments.
Most automatic digital computers have a mechanical or electronic device,
similar in function to the rotary switch, to generate a continuous series of
electrical pulses. This is done to make the computer operate continuously
and automatically at speeds much faster than a human could operate a switch.
Continuous pulses, generated to operate a digital computer, are called "clock"
pulses. The use of "clock" pulses in MINIVAC 601 and other digital computers
is explained and demonstrated in future experiments.
PROGRAMMER.
As the motor turns the rotary switch light 5, and then light 6 , flashes. This occurs in the same
order (sequence), once each revolution of the switch. Other lights could be flashed, or
relays could be energized, in any desired sequence by using other rotary switch terminals.
Thus, it is possible to use the rotary switch to carry out a whole series of operations on the
computer. The particular connections which are made to accomplish a series of computer
operations are called a "program." A ll digital computers, including MINIVAC 601 must be
"programmed" to solve a specific problem. The use of the rotary switch for "programming"
is explained and demonstrated in future experiments.
“ I
1 experim ent 1 4 !
MOTOR REVERSING
This experiment shows how the direction of rotation
I of the motor may be changed by reversing the direction
of current flow through the motor.
IJ Connect power to the
rotary switch motor through 6 +
two sets of slide switch contacts
so that the direction of current
flow through the motor may be
1
6w
reversed through the sw itch . The
c irc u it looks lik e this: D17
2. J The program for this c irc u it is:
6+/ 6 R 6T / 6 U 6V /D 1 7
6+/ 6W 6S/D 18
6 - / 6T
3) Trace the direction of current flow from
I The a b ility of the motor to reverse \
6 + through the motor to 6- w ith the switch
direction g reatly increases the value
in the right position and then again w ith the
of the rotary switch as a programmer.
switch in the left position. The current
Many future experiments make use of
flow through the motor is reversed when
the basic fact that the direction of
the switch position is changed.
rotation may be reversed by reversing
4-) Turn power O N and notice the direction \ the current flow through the motor, j
of rotation.
9 AUXILIARY TERMINALS
A u x ilia ry term inals are provided
between the slide switches and the
relays for each of the six sections.
25
Book I - - "G ettin g Acquainted w ith M IN IV A C 601 " — has examined the operation
of each M IN IV A C 601 component. The symbols and shorthand of c irc u it drawings
have been introduced and basic computer programs were developed in the experim ents.
Now that you are com pletely fa m ilia r w ith the components of M IN IV A C 6 0 1 , you
are ready to explore the e xcitin g world of digital computers.
The components g en erally used in modern d ig ital computing equipment are discussed and
their operation is compared w ith the operation of analogous components in M IN IV A C 601 .
Book V also discusses how computers "read " printed m aterial and understand "computer lang uag es."
1 +/1 Y 2Y / 1 A
1Z/2X 1B/l -
1V 2 Z
ANSWER 3
—•
1 +/1 Y 1 V 2Z ZX zz 2X ZZ
ZY
1+
1 V 2X 2Y / 1 A ZY
1B/l - ZB 1-
1A —•
ANSWER 4 -• 2 Z
1+/1Y 1Z/2X
1X/2A 2Y/1A
2B/2- 1B/l - 1-
18
ANSWER 5
1+ /1S 1 V 'R
1S/1 Y 1 V IA
1Y/2Y 1B/l -
2X/1X
ANSWER 6
1+/1Y 2V2T
1V l R 2S/1A
1S/2Y 1-/1B
29
ANSWER. 7 1A
IX / 1Z
~L
2X 2Z
• 2- t l-
ANSW ER 8 1-
2F IF
3
0
1-/1B 1B IE
o2B 2 e <i
1V1R
1+/1S
1S/IV ©2A © 0
1A 2C l6<
1W/1C
1F/1-
lR lT W 1W
2-/2 B /
2A/1T
2-/2F lS
2C/1U IV
1*
1J
ANSW ER 9
1+/1G
1G/1X
1Y/1H
1H/1C
1F/1-
1F/2Y
1E/2X
2Z (not used)
1C IE IF
, toeoc ^ 1-
ANSW ER 10 0 «
1 + /1 Y
l/ lS
1R/l C
1R /
"IS
IT
2C
0
1T/2C
1F/1- / 1*2-
IX
2F/2- ,iy
1
ANSW ER U
1+/1H 1G/1R
1 H/l Y 1S/2S
1Y/2Y 2T/2J
1X/1C 2H/1A
IF / 1 - 1 B /2 -
2X/2C
2F/2-
30
ANSW ER 12 2A
IT 2 P. / lT US /~ 1J 2.G 2J
2-/2B
2A/1T
2+/2Y
2Y/1 Y (3) is
2S 1H 2H
1T/2R 1V i c 2B 12
2R/1J 1F/l —
1J/2G 2V2C iy
1+/1S 2F/2- QQ-*JUUUU>-
1S/2S 2-1 IX
1C jE IF
1-
2S/1 H .22
1H/2H
2+ • — 2 iV
2X a
2C
JtM i
2B 2F 2 -
ANSWER 13
6Y
6+/6Y
6 )/6 A 64-
6B
6B/6-
6V D 17
Dll
p is
D18/M- M-
6m
P19
ANSWER 14 5X 5Z 6X
6y
5Y
5+/5Y P17
5Z/6X D18
6Y/D17 5+ M -
M-/D18
D19
•----
a n sw er . 15 6*
6+/6X
6Y/D17
M-/D18
D18/5X
5Y/D19
ANSWER 16
5+/5Y
5Z/6X
6Y/6J
62/5 X
6Z/6C
6F/6-
6J/ 6K
6-/6G
6G/6N
6L/D18
6H/D17
ANSWER 17
6+/6J 6C/6L
6J/6K 6L/D18
6K/D6 6H/D17
6E/D16 6-/6N
6F/6- 6N/6G
6G/D1
ANSWER 18 6Z P17
6+/6Y 6x 5Z P IS
6X/DU 6Y
M-/D18
5Z/D18 6+ M-
5Y/DO
D16/D19 P lfe P l9
5Y po
M+ PJ.7
ANSWER 19 T 6^ 7 7b X / b ;Z
D1/1A 6+/6Y •------ •-> 1— •-------------------- -• D ie
* ,bY M
D2/2A 6>/D17
D3/3A M-/D18 M-
26 1 %& OgL
D4/4A M+/D16 v l/
D5/5A
6* 0*9
3“ 33 \ 3. A P3
D6/6A
1B/l —
2B/2- ( T ) I 4A P4
3B/3- 5“ 5B,
4B/4- i 5,A V*
O 1
5B/5-
6B/6- 6; 6B, 6A Pt>
a
ANSW ER 2 0
1 -/1 B 1 Y /1 +
1- / 1C 1V 1J
1A/1 E 1J/2H
1E/2G 2J/ 2E
1F/2F 2E/2A
1 H/1 F 2B/2-
1G /1 Y 2-/2C
3z
M IN IV A C 601 A N D THE M IN IV A C M A N U A L
S C IE N T IF IC D EV ELO P M EN T C O R P O R A T IO N
SCIENTIFIC
DEVELOPMENT W hat is a Digital Computer?
CORPORATION How Computers M ake Logical Decisions
Watertown How Computers do Arithm etic
Mass.
MINIVAC 601
S C IE N T IF IC D EV E LO P M E N T CO RP.
W A TE R TO W N , MASS.
T h e M in iva c M a n u a l was prepared and edited by the staff of
EX LIBRIS ccapitalia.net
C opyright ( c ) 1961 by S cie n tific Developm ent C orporation, 372 M a in Street, W atertow n, Massachusetts
CONTENTS
i
BOOK IV: HOW COMPUTERS DO ARITHMETIC
1. THE B IN A R Y NUM BER SYSTEM 67
How Num bers A re Represented in the B inary System 67
B uilding a Single Inp ut Flip-Flop w ith C arry 68
Experim ent 1: A T h ree-B it B inary Counter 71
Experim ent 2: C ounter A rith m e tic 73
Experim ent 3: Universal Counter A rith m e tic 73
2. B IN A R Y A D D IT IO N 74
Rules fo r B inary A d d itio n 74
Experim ent 4: A H a lf-A d d e r w ith C arry 75
Experim ent 5: A Full A dder 76
Experim ent 6: A T h ree-B it A dder 77
3. H O W COMPUTERS SUBTRACT 78
Tw o's C om plem ent A rith m e tic 78
Experim ent 7: A T hree-B it Subtractor 78
4. COMPUTER M U L T IP L IC A T IO N 79
B inary M u ltip lic a tio n 79
Experim ent 8: The S h iftin g O peration 80
M u ltip lic a tio n by Num bers O ther T han Powers o f Two 81
Experim ent 9: The A ccu m u la to r 81
5. D IV IS IO N ON A COMPUTER 82
B inary D ivision 82
Experim ent 10: D ivision 83
6. CONVERSIONS 84
Experim ent 11: Decim al to Binary Converter 84
Experim ent 12: Binary to Decimal Converter 85
APPEN D IX: A u to m a tic S h ift Register 86
T w o-B it A dder w ith A u to m a tic Decim al Conversion 87
BOOK II
PREFACE
This is the second in a series of books using M IN IV A C 601 to explore the w orld o f "e le c
tro n ic b ra in s". In w ritin g th is book, the authors have assumed th a t the reader is fa m ilia r w ith
the in fo rm a tio n contained in the firs t book o f th is series and understands the operation o f the
components o f M IN IV A C 601.
The basic question which th is book was w ritte n to answer is " W h a t is a d ig ita l com puter?"
In order to answer th is question it is necessary to exam ine the functions and form s o f modern
high-speed d ig ita l com puter systems. This book describes the m ajor characteristics o f modern
com puter systems and compares the functions perform ed by the components o f the M IN IV A C
601 w ith those perform ed by s im ila r parts in a large scale d ig ita l com puter.
I. IN TR O D U C TIO N
In order to fu n c tio n as a d ig ita l com puter a m achine or com bination o f machines m ust be
able to handle in fo rm a tio n or " d a ta " in an orderly manner. It m ust be able to receive in fo rm a
tio n as " in p u t " fro m the outside world. Once received, th is in fo rm a tio n m ust be "processed" by
the com puter, and the result o f the processing must be "rem em bered" or "s to re d " fo r fu tu re
use. A fte r an answer has been obtained, it m ust be com m unicated back to the outside world as
" o u tp u t." Thus a general purpose d ig ita l com puter is made up o f fo u r basic units:
The in p u t u n it
The processing u n it
The storage u n it
The o u tp u t unit.
Input Unit
In fo rm a tio n about a p a rtic u la r problem m ust be given to the com puter before any opera
tio n can be perform ed. Inpu t in fo rm a tio n m ay be o f two kinds.
(1) Data: The numbers or coded in fo rm a tio n to be used in calculation are called input data.
These numbers m ay represent physical measurements, m athem atical relationships, or
conditions o f a " lo g ic a l" decision-m aking problem.
(2) Instructions: The com puter must be instructed to perform specific operations in a d e f
in ite sequence. Inp ut in fo rm a tio n which directs the com puter to perform certain oper
ations and to handle the data in a specified way is called the instructions.
In p u t in fo rm a tio n is supplied to M IN IV A C 601 through the binary input pushbuttons and
the decim al in p u t-o u tp u t rotary switch. Instructions are com m unicated to M IN IV A C 601 by w ir
ing on the com puter console a "p ro g ra m " w hich instructs the com puter to perform certain oper
ations. The b in a ry in p u t pushbuttons are designed to com m unicate zeros and ones to the com
p u te r and the decim al in p u t-o u tp u t rotary switch is designed to com m unicate decim al numbers
to the com puter.
A large scale d ig ita l com puter, such as the IBM 7090 illustrated later in this section, may
receive in p u t in fo rm a tio n d ire c tly through pushbuttons s im ila r to those used on M IN IV A C 601
or it may receive in p u t in fo rm a tio n through punched cards or m agnetic tape. Some com put
ers receive inp ut in fo rm a tio n through punched paper tape; others receive direct in p u t in fo rm a tio n
through a typ e w rite r-like u n it called a "fle x o w rite r".
Later in this book, each type o f input u n it found on a large electronic data processing m a
chine w ill be discussed and compared w ith the input devices o f M IN IV A C 601.
Processing Unit
The processing u n it o f a d ig ita l com puter perform s fo u r m ajor functions:
(1) C ontrol: the processing u n it controls the operations o f the com puter system and in te r
connects the input, o u tp u t and storage units. A ll calculations, operations, and in fo rm a tio n trans
fe r are accom plished under " c o n tro l" o f the processing unit.
(2) D ecision-M aking: the processing u n it is able to perform comparisons which are the basis
o f a ll com puter decision-m aking. By com paring two numbers or symbols w ith each other and de
te rm in in g w hether or not they are equal, the com puter decides upon a course o f action.
(3) A rith m e tic : in the processing u n it o f a d ig ita l com puter a ll norm al a rith m e tic fu n c
tions are perform ed. These operations are actu a lly done in a p a rt o f a processing u n it known as
the "a rith m e tic u n it" which is designed to perform addition, subtraction, m u ltip lic a tio n and
division.
(4) Logic: the processing u n it o f most high-speed d ig ita l com puters is equipped to per
form various " lo g ic a l" operations through which conclusions o f a non-arithm etic type m ay be
reached. Just as a rith m e tic operations provide the steps by which the solution to a m athem atical
problem is reached, the logical operations provide the steps in a "re a s o n in g " process.
The th ird book in this series, How Computers Make Logical Decisions, describes the nature of
logical operations and decision-m aking functions through dem onstration on M IN IV A C 601. The
nature o f a rith m e tic operations perform ed in the processing u n it o f large com puters is demon
strated in d e tail in the Book IV: How Computers Do Arithmetic.
The processing u n it o f M IN IV A C 601 is made up o f six relays and the rotary switch. The
relays and the rotary switch are used to provide control, make decisions, and perform basic a rith
m etic and logical operations.
The processing units o f most large scale d ig ita l computers use advanced electronic com
ponents to perform the functions dem onstrated by the relays and rotary switch on the M IN IV A C
601. The circu its o f the processing u n it in these machines use germ anium or silicon transistors
and diodes w hich are designed to perform m illio n s o f operations in one second.
In this book the im p o rta n t features and operating characteristics o f the processing u n it o f a
modern electronic data processing m achine are described. The processing u n it o f the M IN IV A C
601 is exam ined as a basic illu s tra tio n o f the functions o f the processing u n it o f a modern d ig ita l
com puter.
2
The Storage Unit
In order to fu n c tio n e ffic ie n tly , a d ig ita l com puter m ust be able to " s to re " or "re m e m b e r"
data fo r use in processing and com putation. Input in fo rm a tio n is " re a d " into storage under con
tro l o f the processing u n it and called from storage as it is required fo r use by the processing unit.
In the course o f a norm al high-speed d ig ita l com puter program , the processing u n it o f the
com puter follow s a series o f instructions which are stored in the storage u n it using data which is also
stored in the storage u n it. In fo rm a tio n obtained d uring calculations perform ed is stored tem pora
rily in the storage u n it fo r use a t a later tim e.
A com puter uses a storage u n it in m uch the same way th a t we use a piece o f paper when solv
ing a long division problem . The p a rtia l answers to the long division problem are te m p o ra rily
stored (w ritten) on the paper u n til the com plete answer is obtained. S im ilarly, the p a rtia l answers
to the com puter's problem are held in storage u n til the com plete answer has been obtained. The
answer which is to be com m unicated by the com puter to the outside w orld as " o u tp u t" m ay also
be stored in the storage u n it u n til it is sent by the processing u n it fro m storage to the o utput
device.
Several d iffe re n t methods o f storage are used in modern com puter systems to enable the
m achine to "re m e m b e r" instructions, data, p a rtia l and fin a l results o f calculations, and o u tp u t in
fo rm a tion . In sm aller machines and the M IN I V A C 601, the processing u n it is also used fo r stor
age. The relays o f M IN IV A C 601 supply the m ajor source o f operating storage. These "m em ory
u n its " o f the M IN IV A C 601, although sm aller than those found in com m ercial computers, demon
strate the way in w hich in fo rm a tio n is stored in a d ig ita l computer.
The decim al in p u t-o u tp u t u n it also serves as a storage device d u rin g the operation o f some
programs. The rotary switch remains in a p a rtic u la r position u n til it is moved and thus enables
M IN IV A C 601 to "re m e m b e r" a decim al number.
Large scale d ig ita l com puters m ay use relays fo r storage and, in th is case, be identical to the
M IN IV A C 601. A m ong the most popular storage devices in use today are the coincident-current
m agnetic core, m agnetic drum , and m agnetic disc storage units. These storage systems are all
used fo r "o p e ra tin g sto ra ge "— tem porary data storage within the com puter w hile a program is be
ing " r u n " . O ther storage media are used to store data and instructions fo r longer periods of tim e
and to save data and instructions outside the computer. These "p e rm a n e n t" storage media include
m agnetic tape, paper tape and punched cards. Each o f these storage methods w ill be discussed
later in th is book and the relays and rotary switch o f the M IN IV A C 601 w ill be used to illu stra te
the theory and operation o f each type o f modern storage device.
Output Unit
O u tp u t in fo rm a tio n generated by a d ig ita l com puter is com m unicated to the outside w orld to
present the answer to a problem or to describe the operations o f the com puter. O utput media used
in modern d ig ita l com puter systems include m agnetic and paper tape, and punched cards. Some
a u x ilia ry ou tp u t units convert num erical o u tp u t obtained from the com puter to charts, graphs,
photographic displays, and numbers or letters on a printed page. The great diversity o f o u tp u t de
vices w hich have been developed fo r use w ith the modern high-speed d ig ita l com puter makes it
possible fo r in fo rm a tio n to be presented by the com puter in alm ost any fo rm in w hich it is desired.
The o u tp u t devices o f the M IN IV A C 601 are the binary ou tp u t lights and the decim al input-
o u tp u t rotary switch. W hen operated w ith the m otor, the rotary switch becomes an ou tp u t device,
since the m otor m ay be controlled by the processing u n it o f the M IN IV A C 601 and caused to stop
w ith the pointer ind ica tin g the num ber w hich is to be com m unicated as o u tp u t in fo rm a tio n . W hen
the b inary o u tp u t lights are used, o u tp u t in fo rm a tio n is com m unicated in a special b ina ry code
discussed in d e ta il in Book IV. M odern electronic data processing machines also have binary o u t
p u t lights fo r d ire c t com m unication o f in fo rm a tio n from the com puter using the same binary code
employed by M l N I V A C 601.
Large scale d ig ita l com puters em ploy o u tp u t units using media previously discussed in con
ju n ctio n w ith in p u t units. M edia employed fo r both in p u t and o u tp u t purposes include m agnetic
tape, paper tape, punched cards and data transm ission links.
V arious o u tp u t units are discussed in d e tail later in this book and the ou tp u t devices o f the
M IN IV A C 601 are used to illu s tra te the nature o f each type o f o u tp u t unit.
3
I N P U T -O U T P U T STORAGE IN P U T -O U T P U T
AND AND AND
SECONDARY STORAGE PROCESSING SECONDARY STORAGE
OUTPUT
IN P U T IN P U T
AND
OUTPUT
STORAGE
O U T PU T AND
PROCESSING
SECONDARY
STORAGE
IN P U T
IN P U T -O U T P U T
M IN IV A C 601
4
2. BASIC COMPUTER FUNCTIONS A N D M IN IV A C 601
The in p ut fu n c tio n can be considered in term s o f the a ctivities o f a hum an being who, having
no previous tra in in g in m athem atics, is asked to perform a division problem . Consider this person
s ittin g at a table w ith pencil and paper in hand. Input information is a ll in fo rm a tio n which must be
com m unicated to the person before he can perform the division problem.
First, he m ust be given two numbers— the data. He m ust be given the num ber which is to be
divided (the dividend) and the num ber by which the dividend is to be divided (the divisor). In ad d i
tio n to th is data input the person, since he knows nothing about a rith m e tic , m ust be to ld how to
proceed w ith the numbers which he has received as data in order to obtain the answer. In short, the
person m ust be given instructions on how to proceed to solve the problem. The instructions m ust be
very detailed. They must te ll him how to handle each num ber and how to proceed through each
step o f the process o f division.
A basic com puter which has not been equipped w ith any operating circu its is in much the
same position as the man who has never heard o f arith m e tic. Under such circum stances the com
puter, like the man, m ust be given very detailed in fo rm a tio n about how to proceed through the
problem . Fortunately, a d ig ita l com puter can be equipped w ith circuits which give it a s u ffic ie n t
"k n o w le d g e " o f the rules o f a rith m e tic so th a t given the divisor and the dividend, it can be told
sim ply " d iv id e " and it w ill proceed to obtain an answer.
Forms of Input
A s has already been noted, in put in fo rm a tio n m ay be o f two kinds: instructions and data.
Both kinds o f in fo rm a tio n may be com m unicated to the com puter in d iffe re n t ways. M ost large
com puters are equipped to receive in p u t in fo rm a tio n from several d iffe re n t media. For example,
the IBM 7090 com puter system is able to receive in fo rm a tio n from punched cards and from m ag
netic tape.
In fo rm a tio n presented in each o f the media m ay be com m unicated in several d iffe re n t codes.
D ata may be presented as decim al in fo rm a tio n using the characters 0, 1 ,2 , 3, 4, 5, 6, 7, 8, and 9.
In fo rm a tio n in th is form is com m unicated to M IN IV A C 601 w ith the rotary switch.
Both data and instructions m ay be com m unicated to the com puter using a " b in a r y " code
based on the two-valued (zero and one) code referred to in Book I. The bin a ry num ber system is
discussed in detail in Book IV. For the purposes o f discussion in this book we w ill only need remem
ber th a t bin ary codes involve only two characters, zero and one, w hile decim al codes use the ten
characters noted above.
In p u t in fo rm a tio n is com m unicated to M IN IV A C 601 through the two input devices located
on the console.
Binary in p u t is com m unicated using the six binary input pushbuttons according to the con
vention:
For exam ple, the bin ary num ber " 1 0 1 " (5) is com m unicated to M IN IV A C by pushing down push
buttons 4 and 6 w hile leaving pushbuttons 1, 2, 3, and 5 up. The largest binary num ber w hich can
be com m unicated to M IN IV A C 601 is 111111 (63).
Decim al in fo rm a tio n is com m unicated using the decim al input d ial and the pointer o f the
rotary switch. To give M IN IV A C a decim al num ber as input, the pointer is turned so th a t it points
a t the desired d ig it. The decim al input capabilitie s o f the M IN IV A C 601 are lim ite d to the numbers
fro m zero through fifte e n .
5
The fo llo w in g two experim ents illu s tra te com m unication to M IN IV A C in Binary and Deci
m al. Each experim ent uses the relays to store (remember) the in fo rm a tio n com m unicated to the
com puter.
EXPERIMENT t | B IN A R Y IN PU T
This experim ent uses M IN IV A C 601 to dem onstrate how a d ig ita l com puter receives binary
in p u t data and instructions. The bin a ry num ber " o n e " is given to the com puter by pushing a push
button down. The bin ary num ber " z e ro " is given to the com puter by leaving a pushbutton up. The
instruction to fo rg e t a ll previous data (to " c le a r " the memory) is given to the com puter by pushing
pushbutton 6.
The program and c irc u it draw ing fo r this experim ent are:
1- 2- 3- 4- 5-
1 X /2 X 6 Z /6 + 2 H /1 H 2 G /2C 4 Y /4 G
2 X /3 X 6 Y /5 H 1Y /1G 2 F /2 — 4 G /4C
3 X /4 X 5 H /4 H 1G /1 C 3 Y /3 G 4 F /4 —
4 X /5 X 4 H /3 H 1F / 1— 3 G /3C 5 Y /5 G
5 X /6 Y 3 H /2 H 2 Y /2 G 3F /3 — 5G /5C
1. T u rn power ON. Push pushbutton l and release. This transm its a "o n e " to section 1 o f M IN I
VAC . The "o n e " is remembered by relay 1. Relay lig h t 1 comes ON to indicate th a t a "o n e " is
being remembered (stored). Data has been communicated from the operator to M IN IV A C 601
by pushing B IN A R Y IN P U T pushbutton 1.
2. Do N O T push pushbutton 2. T his leaves a " z e ro " in section 2 o f M IN IV A C 601. The "z e ro "
continues to be remembered by relay 2. Relay lig h t 2 remains OFF to indicate th a t a " z e ro " is
being remembered (stored).
3. Do N O T push pushbutton 3. T his leaves a " z e ro " in section 3. Relay lig h t 3 remains OFF to
indicate th a t a " z e ro " is being remembered.
4. Push pushbutton 4 to tra n s m it a " o n e " to section 4. Relay lig h t 4 comes ON to indicate th a t
a "o n e " is being remembered by section 4.
5. Push pushbutton 5 to tra n s m it a " o n e " to section 5. Relay lig h t 5 comes ON to indicate th a t
a "o n e " is being remembered by section 5.
The bina ry num ber 10011 (19) has been com m unicated to M IN IV A C 601 by using the B IN A R Y
IN P U T pushbuttons. This in p u t data is now being remembered (stored) in the firs t five sections o f
the com puter.
6. Push pushbutton 6 and release. T his action instructs the com puter to fo rg e t all previous data.
A ll relay lights go OFF, and the previous num ber is forgotten ("c le a re d " fro m the memory).
6
7. The com puter is now ready to receive another binary num ber from the operator. M ake up an
other num ber yourself and com m unicate it to the com puter by using the B IN A R Y IN PU T
pushbuttons.
EXPERIMENT 2: D E C IM A L IN PU T
T his experim ent demonstrates how M IN IV A C 601 may receive decim al in p u t data and in
structions. A decim al num ber is com m unicated to the com puter by tu rn in g the D E C IM A L IN PU T-
O U TPU T knob to the desired num ber and pushing pushbutton 5 to in struct the com puter to re
member the selected num ber. A n other in struction— to forget a ll previous data— is given to the
com puter by pushing pushbutton 6.
The program and c irc u it diagram fo r this experim ent are:
1- 2- 3- 4- 5-
1 H /2 H 6 Z /6 + IF /1 — 3G /3C D 5/5G
2 H /3 H 6 Y /5 X D 2 /2 G 3 F /3 - 5G /5C
3 H /4 H 5 Y /D 1 6 2 G /2C D 4/4G 5 F /5 —
4 H /5 H D 1/1G 2F /2 — 4 G /4C
5H /6 Y 1 G /1 C D 3/3G 4 F /4 —
1. T u rn power ON. T urn the D E C IM A L IN PU T-O U TPU T knob to num ber 4 and push pushbutton
5. T his tra nsm its the num ber " f o u r " to the com puter. Relay lig h t 4 comes ON to indicate th a t
a " f o u r " is being stored. Data has been com m unicated from the operator to M IN IV A C 601 by
tu rn in g the D E C IM A L IN PU T-O U TPU T knob to the desired num ber and by in stru ctin g the
com puter to remember the selected num ber by pushing pushbutton 5.
W hen decimal data is remembered by the com puter, the relay lights have a d iffe re n t meaning
tha n when binary data is being remembered. W ith binary data, the lig h t ON represents a data
" o n e " and the lig h t OFF represents a data "z e ro ". W ith decim al data, the num ber being remem
bered corresponds w ith the section (1-6) which has a relay lig h t ON.
2. Push pushbutton 6 and release. T his action instructs the com puter to fo rg e t all previous data,
and relay lig h t 4 goes OFF. The com puter is now ready to receive another decim al num ber
(1-5) fro m the operator. Select another num ber yourself (between 1 and 5) and com m unicate
it to the com puter using the D E C IM A L INPU T-O UTPU T.
7
Internal storage, w hich is fo r our purposes the most im p o rta n t, is storage available in a storage
u n it connected d ire c tly to the processing u n it o f the com puter in such a way th a t the processing
u n it has "im m e d ia te access" to the in fo rm a tio n . Secondary storage refers to storage units in
which the in fo rm a tio n is available to the processing u n it but in which, due to the nature o f the
storage u n it, it is available only a fte r some delay. The difference between internal and secondary
storage in thus the diffe re nce between im m ediate and delayed access to inform ation.
External storage refers to storage in a media outside the com puter system. External storage
is thus accomplished by com m unicating the in fo rm a tio n to be stored out o f the com puter as " o u t
p u t" and then saving this in fo rm a tio n in "e x te rn a l storage" on the o u tp u t media.
M IN IV A C 601 Storage
M IN IV A C 601 is equipped w ith internal storage in the form o f the six relays which also
serve as a p a rt o f the processing u n it o f the com puter. The processing u n it o f M IN IV A C does not
have direct access to external storage. The hum an operator can supply external storage by w rit
ing in fo rm a tio n down on a sheet o f paper when it is com m unicated to him through the ou tp u t de
vices o f M IN IV A C and later return th is in fo rm a tio n to the com puter through the in p u t devices as
it is required.
Before exam ining the storage units o f M IN IV A C 601 and larger d ig ita l computers in more
d e ta il, it is necessary to consider the general form in which in fo rm a tio n is stored in a d ig ita l
com puter.
8
each box id e n tifie d by a num ber in d ica tin g its location in the series o f boxes, w ith each box just
the rig h t size to hold a specified num ber o f bits o f data. The actual form o f these storage registers
varies w ith the machine.
1S 1T
1. T u rn power ON. M ove slide switch to the left. L ig h t l comes ON to indicate th a t a "o n e "
(binary data) is being stored in SECONDARY STORAGE, Section 1. The SECONDARY STOR
AGE slide switch continues to remember "o n e " u n til it is instructed to remember a " z e ro " by
the operator.
2. M ove slide switch 1 to the right. L ig h t 1 goes OFF to indicate th a t a "z e ro " (binary data) is
now being stored in SECONDARY STORAGE, Section 1.
M ost large d ig ita l com puters a u to m a tica lly transfer data a t very high speeds to secondary stor
age. M odern com puters m ay use punched cards, punched paper tape, m agnetic tape, and other
special devices fo r secondary storage.
Secondary and external storage are required by d ig ita l computers because there is not enough ca
pacity in the storage-processing u n it to store a ll the in fo rm a tio n required by some problems. Ex
cess in fo rm a tio n which is not required im m ediately is transferred to secondary or external stor
age. External storage fo r a d ig ita l com puter is s im ila r to the file cabinet which some people keep
in the basement. Some papers m ay be throw n away, but there is not room enough in the desk up
stairs to keep a ll items which m ust be file d . " A c tiv e " info rm a tio n , which is used frequently, is
kept close at hand in the desk and "d e a d " in fo rm a tio n , which is used in frequen tly, is kept in a
file cabinet in the basement. Secondary storage in th is case would be in fo rm a tio n required only oc
casionally, but im p o rta n t enough to be kept close by. This in fo rm a tio n m ig h t be kept in the back
o f a desk drawer, or perhaps in a cabinet several steps from the desk.
9
In the case o f M IN IV A C 601 it w ill not be necessary to consider this problem o f m em ory location
id e n tific a tio n , since we are dealing w ith only one storage register.
W ith the exception o f the distin ctions noted above, the basic fu n c tio n in g o f the storage
system in M IN IV A C 601 exactly duplicates the fu n c tio n in g o f the storage system in a larger
com puter. Thus, the larger com puter m ay be th o u g h t o f as sim ply an extension o f m any M IN I
V A C 6 0 1's lined up in a row and interconnected. To d uplicate the storage capacity o f the IBM
7090 com puter system, fo r instance, w ould require 192,000 M IN IV A C 601 Computers in com
bination.
In the discussion o f the operation o f the relay in Book I, the relay was used as a switch op
erated by a pushbutton. It was noted th a t the relay could be used to indicate the two-valued binary
code by considering the relay OFF to be storing or rem em bering a ' 0 ' w hile the relay ON was th ough t
o f as rem em bering '1 '. The relay lig h t could be used to indicate when the relay was storing a M '
(lig h t on) or a '0 ' (lig h t o ff). T his sim ple c irc u it m ay be th o u g h t o f as a m anual memory: as long
as the pushbutton is being held D O W N , the relay remembers a one. W hen the pushbutton is re
leased, the relay forgets the one and starts rem em bering a zero. The relay in th is c irc u it is a
memory element controlled by the pushbutton.
1 + /1 Y
1 + /1 H
1 X /1 C
1— / I F
1 G /1A
1 B/T —
M A N U A L RELAY M EM O RY C IR C U IT
A more e ffic ie n t m em ory u n it would be achieved if it were possible to m ake the relay remain
in the D O W N or 1 position once it was signaled to go to th is position by the pushbutton. Such a
c irc u it would enable the relay to remember a 1 once it had been signaled by pushing the pushbut
ton to " fo rg e t 0 and s ta rt rem em bering 1".
The m anual m em ory relay c irc u it above can be easily m odified to achieve this by using one
o f the switches o f the relay to continue to supply current to the coil o f the relay a fte r the pushbutton
has been released. M a k in g use o f this relay switch, the pushbutton w ill in itia lly supply current to
the relay. Once c urre nt is supplied to the relay coil, the relay w ill close and a second path fo r the
c u rre n t w ill be supplied through the norm ally open switch o f the relay. W ith this c irc u it wired, the
relay becomes "s e lf-lo c k in g " in the 1 position.
7- f - / l V
74-/1H
1 X /1 C
1— / I F
1G /1A
IB /1 —
1 C /1A
SELF-LOCKING RELAY M EM O R Y C IR C U IT
10
The evident d iffic u lty w ith th is self-locking relay m em ory c irc u it is th a t, although the relay
w ill now remember a 1 once it is told to remember 1, it cannot forget 1 unless the current to the
com puter is turned o ff. The next step in bu ild in g a usable m emory u n it is obviously to m o d ify the
c irc u it so th a t the relay can fo rg e t 1 and sta rt rem em bering 0 again.
As an in itia l step in the direction o f program m ing such a c irc u it, a second pushbutton m ay be
used to supply a means o f disconnecting power from the relay c irc u it. Using th is c irc u it, push
b utton 1 w ill be used as in the self-locking m emory c irc u it to supply cu rre n t to the relay coil and to
cause the relay to stop rem em bering 0 and sta rt rem em bering 1.
Pushbutton 2 w ill be used to cause the relay to stop rem em bering 1 and begin rem embering
0. As indicated below, this program uses the norm ally closed contacts o f pushbutton 2 and the
n o rm a lly open contacts o f pushbutton 1. The self-locking connection used in the previous c irc u it is
retained.
T W O -B U TTO N RELAY M EM O R Y C IR C U IT
The tw o-button or "tw o in p u t" m em ory c irc u it provides a workable m em ory elem ent which
satisfies the condition th a t it be able to remember a 1 or a 0 on signal. The weakness in this c irc u it
is th a t a d iffe re n t signal is required to te ll the m em ory c irc u it to forget 0 and to begin rem ember
ing 1 than is used to te ll it to fo rg et rem em bering 1 and recommence rem em bering 0. Pushbutton 1
serves as the "fo rg e t 0 remember 1 " signal and pushbutton 2 provides the "fo rg e t 1 remember 0 "
signal.
It w ould be p a rtic u la rly desirable if we could obtain a memory c irc u it which would respond to
a single signal such th a t, if the c irc u it were rem em bering 1, it would forget 1 and s ta rt rem ember
ing 0. In short, it would be desirable to have a "s in g le -in p u t memory c irc u it" .
In Book IV, the single in p u t flip -flo p w ill be used to provide the m em ory necessary to enable
the com puter to count and to perform various m athem atical operations. For the purposes o f this
discussion o f com puter storage, it is necessary only to note th a t this single in p u t flip -flo p has the
characteristics o f the basic elem ent o f a com puter m emory system. It is able to remember a 1 or a
0 and to “ change its m in d " when signaled to do so.
Human Processing
The fu n c tio n o f the processing u n it can be visualized in term s o f the division problem dis
cussed earlier. Once the hum an operator has the divisor and dividend w ritte n on paper and has
been given the list o f instructions fo r perform ing the division, his actions are analogous to those
o f a processing unit. He w ill fo llo w the instructions, a ctin g upon his data, u n til he reaches the
fin a l answer.
The processing u n it o f a com puter acts just like the hum an operator ju st m entioned after re
ceiving both instructions and data. In a sense then, the processing u n it is the w ork center o f the
com puter.
M IN IV A C 601 Processing
Processing in M IN IV A C 601 is accomplished using logical circu its to d uplicate a rith m e tic
and decision functions. Relays are used as sw itching devices and th e ir operation is controlled by
instructions com m unicated to M IN IV A C by means o f the program wired on the com puter console.
D uring the "e x e c u tio n " o f a program , the processing section o f M IN IV A C 601 controls the opera
tio n o f the com puter. The program w ired on the com puter console indicates to the processing sec
tio n w hat operation it is to perform and the processing section controls the other units o f the com
12
puter— o b ta inin g in fo rm a tio n when it is required from in p u t sources and com m unicating the fin a l
answer to the o u tp u t units.
The fo llo w in g experim ents illu s tra te some of the basic functions which a com puter can per
form , using the processing u n it in various ways.
EXPERIMENT 4: CONTROL
T his experim ent uses M IN IV A C 601 to dem onstrate how the processing u n it controls the
com puter's operations. The rotary switch is controlled by the Processing U nit.
5 + /5 Y
5 X /5 C
5 F /5 -
5 + /5 H
5G /6C
6 F /6—
6 + /6 H
6G /D 17
D 1 8 /M -
T u rn power ON. Push pushbutton 5. T his energizes relay 5 (turns it O N) and causes current
to flow through the switch contacts o f relay 5 to relay 6. Pushbutton 5 controls relay 5. Relay 5 in
tu rn controls relay 6. Relay 6 controls the operation o f the motor.
The m otor is controlled by relay 6 w hich is p a rt o f the Processing U nit. Relay 6 is controlled by
relay 5 o f the Processing U nit. Relay 5 is controlled by Binary In p u t pushbutton 5. The operator
supplies the Input by pushing pushbutton 5. The program w ired on the com puter console gives the
instruction:
If pushbutton 5 is D O W N , tu rn relay 5 ON.
If relay 5 is O N , tu rn relay 6 ON.
If relay 6 is O N , tu rn m otor ON.
In a more com plicated program , the relay could be controlled by other relays or switches as
the result o f some ca lcu la tio n or series o f events.
This a b ility o f a d ig ita l com puter to control its own operations perm its the com puter to auto
m a tic a lly m ake a whole series o f calculations a t high speed w ith o u t d ire ct operator command.
EXPERIMENT 5: DECISION M A K IN G
T his experim ent uses M IN IV A C 601 to dem onstrate how the Processing U n it o f a com puter
can m ake decisions based on rules given by the program m er. Two b inary num bers are compared
and the com puter decides w hether or not the numbers are equal.
1 + /1 H
1H /1 L
1L/1X
1 Y /1 C
IF /1 —
1 X /2 X
2 Y /2 C
2 F /2 —
1J/2H
2 J /2 K
1 K /2 L
2 K /3 C
3 F /3 —
13
1. T ra nsfer the decision rule to the com puter by w irin g the program onto the console. Pushbuttons
1 and 2 w ill represent the numbers to be compared. Relay 3 w ill indicate the com puter's decision.
If the numbers are equal, relay 3 w ill come ON. If the numbers are N O T equal, relay 3 w ill go OFF.
(N ote: a pushbutton UP represents zero; a pushbutton DO W N represents 1.)
2. T u rn power O N. Relay 3 comes ON because both numbers are zero.
3. Push pushbutton 1. Relay 3 goes OFF because the numbers are no longer equal. (The firs t
num ber is now 1; the second num ber is 0. )
4. Push pushbutton 2 w hile holding down pushbutton 1. Once again the numbers are equal (both
are 1) and relay 3 comes ON.
5. Release pushbutton 1 w hile holding down pushbutton 2. Relay 3 goes OFF because the num
bers are not equal.
This decision rule can be program m ed w ith o u t using relays 1 and 2, in which case the push
button contacts perform the processing fu n ctio n . Since the relays have tw ice as m any contacts as
the pushbuttons and can be e le ctrica lly operated, they are considerably more versatile than the
pushbutton contacts. For this reason, relays are used to perform the processing fu n ctio n in a ll but
the sim plest programs.
EXPERIMENT 6: A R IT H M E T IC
This experim ent demonstrates how the Processing U n it o f a d ig ita l com puter m ay be used to
perform a rith m e tic calculations. Two numbers (0 or 1) are added together and the answer is in d i
cated by the Binary O u tp u t lights.
1 + /1 H
1H /1 L
1L/1Y
1 Y /2 Y
2 Z /2 C
2 F /2 -
1X /1C
IF /1 —
1G /2 G
2 H /2 A
2 B /2 —
1N / 2 K
1 K /2 N
2 L /1 A
IB /1 —
1. T ran sfe r the rules o f a ddition to the com puter by w irin g the program onto the console. Push
buttons 1 and 2 w ill represent the numbers to be added. L ig h t 1 ON w ill represent an answer o f 1;
lig h t 2 ON w ill represent an answer o f 2; NO lights on w ill represent an answer o f 0.
(N ote: a pushbutton UP represents 0; a pushbutton D O W N represents 1)
2. T u rn power O N. No lights come on because the in p u t numbers are both zero: 0 + 0 = 0
3. Push pushbutton 1. L ig h t 1 comes ON: 1 + 0 = 1
4. Push pushbutton 2 w hile holding pushbutton 1 down. L ig h t 2 comes ON: 1 + 1 = 2
5. Release pushbutton 1 w hile holding pushbutton 2 down. L ig h t 1 comes O N: 0 + 1 = 1.
14
The Basic Output Function
The ou tp u t fu n c tio n is basically the com m unication of the processing un it's results to the
outside world. T hrough the o u tp u t u n it, in fo rm a tio n about the problem or the operation o f the
com puter is obtained from the com puter.
EXPERIMENT 7: D E C IM AL OUTPUT
T his experim ent demonstrates how a com puter delivers decim al ou tp u t in fo rm a tio n to the
operator. The rotary switch (Decimal O utput) is controlled through the slide switches (Secondary
Storage) to com m unicate to the operator the contents o f Secondary Storage.
6Z
1R / D l 3 S /4 S 6 R /D 6 6 Y /6 +
1S/2S 4 R /D 4 6S /D 19
2 R /D 2 4S/5S D 18/D 16
2 S /3 S 5 R /D 5 D 1 6 /M —
3 R /D 3 5 S /6 S D 1 7 /6 X
1. Set all slide switches in the RIGHT position. The slide switches w ill represent the num
bers 1 through 6. T o place a num ber in secondary storage, the appropriate slide switch w ill be
15
moved to the LEFT position. Pushbutton 6 w ill be used to give the com puter the instruction:
Indicate num ber in Secondary Storage using Decimal O u tp u t rotary switch.
2. T u rn power ON. Move slide switch 4 to the LEFT position. This places the num ber 4 in
Secondary Storage.
3. Push pushbutton 6. This instructs the com puter to com m unicate the contents o f Sec
ondary Storage to the operator. The rotary switch turns to 4 on the Decimal Input-O utp ut dial.
The num ber 4 is the Decim al O utput.
4. M ove slide switch 4 to the RIGHT position and select another num ber to be placed in
Secondary Storage. A g a in , push pushbutton 6 to instruct the com puter to com m unicate the con
tents o f Secondary Storage through Decim al O utput.
In the photograph o f the IBM 650 C om puter console below, the input switches w hich com
m unicate in p u t in fo rm a tio n in decim al rather than bin a ry form are indicated. The operation of
16
these switches is s im ila r to the operation o f the decim al input switch on the M IN IV A C 601 Con
sole. To com m unicate a decim al num ber to the IBM 650, the appropriate switches are turned so
th a t the desired decim al num ber is indicated by the switches.
In ad d itio n to d ire ct console in p u t in the bin a ry and decim al fo rm using the same coding
system employed w ith the M IN IV A C 601, large com m ercial com puters have several other form s
o f input. Basic in p u t media in a d dition to d ire ct console in p u t are: punched cards, punched tape,
and m agnetic tape.
17
Alpha-Numeric Card Code
The standard alpha-num eric code is sum m arized in the photograph below. The numbers zero
through nine are coded as a single punch in a vertical colum n. The alphabetic characters and
symbols are represented by two punches in a single vertical colum n.
C om m unication using the standard alpha-num eric in p u t card code is lim ite d to 80 characters
(numbers, letters, or special characters) per card. The use o f " b in a ry " codes g reatly increases the
am ount o f in fo rm a tio n w hich m ay be com m unicated using a single card.
As noted earlier, although the punch its e lf is a binary variable— a variable w hich can have
only two values, either 0 or 1— the use of the bin a ry punch in conjunction w ith the alpha-num eric
code creates a situa tion where on ly one variable value m ay be com m unicated in each vertical
colum n. In a sense, this is s im ila r to the lim ita tio n imposed by the decim al in p u t d ial on the
M IN IV A C 601. A lth o u g h a t any location the pointer is e ither p o in tin g a t the num ber or is not
p oin ting a t th a t num ber (corresponding to the punch e ither being in a p a rtic u la r location or not
being in th a t location) m eaningfu l in fo rm a tio n can only be com m unicated by considering a ll 16
locations in w hich the pointer might be. T his corresponds to considering a ll 12 positions in a given
vertical colum n on a card in w hich a punch might be located.
PRINTED PRINTED
BY THE 2 6 — — 0123456769 ABCDEFGHIJKLMNOPQRSTUVUXYZ IBM DATA PROCESSING tilpS o d - BY THE 26
PRINTING PRINTING
CARD PUNCH II II I II I I CARD PUNCH
M
III I III I
•I 000 O'fl ooooooooooooooo| ooooooq| | oooooo|
« 11 Mtt aaaaaaaaanaaMaaaaaanaaMaanaaaTinniin
11 11 n111ii11111111111111niii 11111 n i i
222 2 22 2 2 222222222222| 222222222222||22222222
3 3 3 3 | jj 33333 33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 31 3 3 3 3 31 3 3 3 3 3 3 3 3 3 3 3
A LP H A -N U M E R IC CARD SS
18
* ‘+ + | + + + ' + + + H - + + l + + + ] + + + | + + 4 j + + + 4 - + + j + + + [ f | + ( i | | | i + + | + + + M - + - H + + + l + + + j + + + | + + + | + + + J f + + f * - + + i + | ' t j + + 4 | ^ + + + + + + +
I I
I
j_ _ _ I I
_ J ______
j— — r | - | | -
g g f e j+ f l
lo o 0 o o!g o o|o o o!o o oio o o 0 0 0 0 0 0,0 0 o'o 0 010 I 0|0 I I 9 0 0 0 0 0,0 0 0|0 0 0|0 0 o'o 0 0 0 0 0
I I I 1 i i 1
0 0 0|0 0 o'o 0 0 0 1 0| 0 0 DOOOOOOO
it: 2 3 4 5 6 ' 7 3 9*3 0 II 12:13 14 13.16 17 19 19 20 21 22 23 24.23 26 27)26 29 30|31 32 33 34 35 36 32 39 39 40 41 42.43 44 45,44 47 46,49 50 5 lls 2 S3 54 55 54 57 54 59 50,51 42 43l«4 65 84 67 64 6 9 |7 0 71 72 13 74 7 5 7 4 7 7 7 4 7 9 8 0
| l 1 1 1 i'll l [ l 1 1 1 1 1,1 1 1 1 1 1 1 1 1 , 1 1 1 ji 1 i n | i ; i 1 1 | l 1 1 1 1'1 1 1,1 1 1,1 1111 1 1 1 1 1 1 1 i , i i i h 1 1 h 1 1 n 11 11111111
I I 1 I I i i i
* 2 2 2 2 212 2 212 2 2 '2I 2 212 2 2 2 2 2 22 2l2 2 2l2 2 2,2 21 ||| | 2 2 2 2 2 2l2 2 2 2 2 2l2 2 2,2 2 2 2 2 2 2 22,2 22122 2121 2|2 22 2 2 2 2 2 2 2 2
I I 1 . I 1 I I I
§ 3 3 3 3 313 3 3 3 3 3|3 3 3)3 3 3 3 3 3 3 3)3 3 3j3 3 3| 3 3 | j | 3 1 3 3 3 3 3 3i3 3 3>3 3 3|3 3 3 !3 3 3 3 3 3 3 3 3 3 33i3 3 3.3 3JH I 3 3 3 3 3 3 3 3
I ’ 1 , I 1
| « 4 4 4 4 ^ 4 4 I4 4 4t4 4 4>4 4 4 4 4 4 4 4 4 ^ 4 4?4 4 4<4 4 | I 4 1 1 14 4 4 4 4,4 4 414 4 4,4 4 414 4 4 4 4 4 4 4 4 J4 4 4 J4 4 4!4 4 1 ^ 4 4 4 4 4 4 4 4 4 4
1 I I 1 I
i s 5 5 5 5 5 5 5j5 9 5 j5 5 5|5 5 5 5 5 5 5 5 5 J5 5 5 I 5 5 5|5 5 |I5 5 1 5 5 5 5 5 515 5 515 5 515 5 5,5J | J 5 5 5 5 5 5 5 5 J5 5 5*5 5 5|5 5 1 ’5 1 5 5 5 5 5 5 5 5 5
T
I I I I I
1st 6 6 5'6 6 g |e 6 8'o 6 6 6 S 6 66 6 6 6 6<666|S6 66 6 G ||| 9 6 6 8 6 6 6 6 6 1 6 6 6 1 6 6 8'8 6 6 6 6 6 6 6 6'6 6 6'S 6 6'6 6 1'6 6 6 66686666
I I I I I I
1:7 7 7 7 7'7 7 7 7 7 7*7 7 7l7 7 7 7 7 7 7 7 7|7 7 7,7 7 7I7 7 7 | 7 1 7 7 7 7 7 7]7 7 7|7 7 7,7 7 7|7 7 7 7 7 7 7 7 7|7 7 717 7 7'7 7 7 j | | 77777777
I ' l l
88 I I o| u a U|0 88 8 ■8 8 8 8 8 8 8 8 8 8
0 9 9 9 9 919 9 919 9 9 9 9 9'9 9 9 9 9 9 9 9 919 9 919 9 9>9 9 9'9 9 | 9 9 9 9 9 9|9 9 9l9 9 919 9 919 8 9 9 9 9 9 9 919 9 9<9 9 9'9 9 9191 9 9 9 9 9 9 9 9 9
s 4 9 4 | 7 I I p * II 1 2 1131)4 15 |1 l i t 11 13 74 79 74 77 74 79 40
22 23 24(25 26 27 |2 8 29 3 0 p i 32 3 3 |M 39 36 p ? 38 39[40 41 42 |4 3 44 4 5 |4 6 47 4 6 |4 6 90 91)92 S3 5* 55 96 97|5 6 96 6 0 |6 t 62 63 |6 4 65 88|6 7 16 6 6 |7 0 71 72jl-------------------------------
ROW B IN A R Y CARD
In place o f punching b in a ry in fo rm a tio n in h o rizontal rows as in the row binary card code, in
fo rm a tio n m ay be punched along the vertical colum ns o f the card. Twelve binary dig its can be
punched in each ve rtica l colum n. Thus, in the case o f a 3 6 -d ig it word length, three ve rtica l col
umns are required using the colum n bin a ry code to com m unicate the in fo rm a tio n contained on
one above in row bin a ry form .
IBM L I I S 0 7 FO RM I 2 I - N - 2
C O LU M N B IN A R Y CARD
19
were b in a ry in fo rm a tio n and then interpreted " in b in a ry " so th a t the com puter can "u n d e rs ta n d "
the in fo rm a tion .
Since M IN IV A C 601 operates in the same m anner as a large com puter, it must also be given
in fo rm a tio n in b in ary form . This is the reason fo r the six binary input buttons on the M IN IV A C
console. W hen non-binary in fo rm a tio n is to be supplied to the com puter as, fo r exam ple, when
using the decim al in p u t d ia l, M IN IV A C 601 w ill be program m ed to in te rp re t this non-binary in
fo rm a tio n and to store and process the non-binary in fo rm a tio n in binary form .
In Book IV a program is given fo r conversion from decim al to binary. (See Decimal to Binary
Converter— Book IV.)
20
0123456789 AtCDEFGHIJK LMNOfOR STUVWXYZ % i§
Zone
Numerical
STORAGE M E D IA A N D CODES
'Bi-Stable" Elements
In the firs t section o f th is book we exam ined the m em ory elem ent o f the M IN IV A C 601. Now
we are ready to exam ine the way in w hich the same fu n ctio n is perform ed by d iffe re n t elem ents in
larger computers. In every case, the fu n c tio n in g o f the m em ory elem ent in a large com puter is iden
tic a l to the fu n c tio n in g o f a relay serving as a m em ory elem ent in the M IN IV A C 601. The m emory
elem ent is, in every case, capable o f m a in ta in in g one o f tw o positions u n til it is signaled to change
positions. Such a tw o-valued elem ent w hich can rem ain in e ither o f two positions u n til an action
outside the elem ent causes it to change to the other position is called a "b i-s ta b le " device. It is a
device w hich can stay (is stable) in e ither o f two positions (the p re fix " b i- " indicates two). The
photograph below illu stra te s several bi-stable devices discussed in this book.
MAGNETIC CORE
RELAY OR SWITCH
TUBE OR TRANSISTOR
ELECTRICAL PULSES
J 1
BI-STABLE ELEMENTS
21
Large Computer Storage
The actual form o f bi-stable elements which make up the storage register in large computers
varies w ith the machine. However, three basic types o f storage are presently in popular use. These
are:
22
Reading o f the contents o f a m agnetic core elem ent is accomplished by a "se n sin g " process.
One such sensing process works as follows:
The m agnetic core elem ent is forced into the zero direction by a current pulse. If the
elem ent is storing a one, the change in direction o f p o larization induces a pulse in a
"sensing w ire ." If the elem ent is storing a zero, there is no change in the direction of
p o larizatio n , so there is no pulse.
T his reading process, however, "d e stro ys" the in fo rm a tio n content o f the m agnetic core element.
If the in fo rm a tio n m ust be retained a fte r reading, a special device w hich w ill replace the in fo rm a
tio n as it is read must be used.
The preceding photograph shows a m a trix made up of many thousand m agnetic core elements
which together remember hundreds o f thousands o f binary bits in a large com puter.
23
Because transm ission o f in fo rm a tio n can occur only when a p a rtic u la r location is passing
under the recording or play back head, the tim e required to obtain in fo rm a tio n from the m agnetic
drum or to record in fo rm a tio n in a p a rtic u la r location on the drum is greater than th a t required to
obtain in fo rm a tio n from the m agnetic core.
External Storage
The storage media discussed above are a ll used fo r internal and secondary storage. External
storage involves media associated w ith the o u tp u t units and w ill be discussed in the next section.
A t th is tim e it is s u ffic ie n t to note th a t three m ajor types o f external storage are encountered in
the modern d ig ita l com puter system. These are m agnetic tape, punched cards and paper tape.
PROCESSING TECHNIQUES
24
o f a "stored p ro g ra m ." In one sense then, the M IN IV A C 601 or any other w ire-program m ed com
puter m ay be said to be operating under control o f a stored program . In the case o f the nu
m e rica lly coded instru ction m achine, the program is stored as numbers in the storage u n it w hile
in the case o f the w ire-program m ed m achine the instructions are stored in the connections
wired on the program m ing panel o f the com puter.
Electronic circu its used in the high-speed d ig ita l computers use components which are d iffe r
ent in fo rm fro m those used on the M IN IV A C 601. The functions w hich they perform , however, are
s im ila r to the operations o f the relays and rotary switch o f the M IN IV A C 601, and the M IN IV A C
components o ffe r the p a rtic u la r advantage o f being com pletely visible so th a t th e ir operation can
be easily viewed. It is easy to see the sw itching action o f a relay on the M IN IV A C 601 but impos
sible to see the s im ila r fu n c tio n in g o f a transistor or m agnetic core elem ent.
The processing u n it o f the com puter is the central control instrum ent o f the com puter system.
The processing u n it is usually associated w ith the "m a in fra m e " o f the com puter and d ire ct com
m unication w ith the processing u n it is provided fo r the operator through the switches and lights of
the com puter console.
Character BCD Code Char. BCD Code Char. BCD Code Char. BCD Code
blank 110 000 A 010 001 N 100 101 + 010 000
1 000 001 B 010 010 O 100 110 — 100 000
2 000 010 C 010 011 P 100 111 / 110 001
3 000 011 D 010 100 Q 101 000 = 001 011
4 000 100 E 010 101 R 101 001 - 001 100
5 000 101 F 010 110 S 110 010 011 011
6 000 110 G 010 111 T 110 011 ) 011 100
7 000 111 H 011 000 U 110 100 $ 101 011
1 011 001 V 110 101 * 101
8 001 000 100
9 001 001 J 100 001 w 110 110 111 011
0 000 000 K 100 010 X 110 111 ( 111 100
+0 011 010 L 100 011 Y 111 000
-0 101 010 M 100 100 z 111 001
In Book III o f th is series the decision-m aking fu n ctio n o f the processing u n it is discussed, and
examples o f the operation o f the processing u n it as a decision-m aking device are provided. Book
III also contains a detailed discussion o f the logical operations which enable the processing u n it
to fu n c tio n as a "R ea son in g " device. In Book III you w ill discover how M IN IV A C 601 is able to
d u plica te m any o f the functions o f hum an reason which are norm ally considered proof o f a hu
man being's a b ility to " t h in k . "
O U TPUT M E D IA A N D CODES
Direct Output
Just as bin a ry in fo rm a tio n may be given dire ctly to the com puter using in p u t buttons on the
com puter console, b in a ry o u tp u t m ay be obtained d ire c tly from the com puter through lights
s im ila r to the bin a ry ou tp u t lights o f the M IN IV A C 601. W hen binary o u tp u t lights are used, the
25
code already established fo r use w ith the M IN IV A C 601 is employed. A lig h t ON indicates a " 1 " ;
a lig h t OFF indicates a " 0 . "
A photograph below shows the direct o u tp u t lights on the console o f the IBM 7090 com puter.
You w ill notice th a t there are 37 lamps in the row o f o u tp u t lights o f the 7090 com puter. These
are used to display the contents o f the 36 binary " b its " in a 7090 storage register. The fa r le ft
lig h t indicates the sign o f the num ber when the lights are displaying a binary number. The "sign
in d ic a to r" lig h t ON represents m inus; the lig h t OFF represents plus.
26
a series o f dies are used to punch holes in the tape or card in the location corresponding to coded
in fo rm a tio n sent to the punch u n it from the processing u n it o f the com puter.
The cathode ray tube o utpu t u n it which is used to display o utput in a form which has no count
erpart in the inp u t sequence should be noted. T his television-like display u n it provides an "a n a lo g "
in the form o f a p ic to ria l representation o f inform ation. A photograph of a Cathode Ray Tube
ou tp u t u n it appears in the next section o f this book.
This section o f the book contains photographs o f equipm ent m anufactured by the In te r
nationa l Business M achine C orporation to perform each o f the fo u r m ajor com puter
functions. These photographs are included to enable you to become fa m ilia r w ith the
appearance o f units p erform ing the various functions which we have discussed.
The cards to be punched are placed in the hopper on the rig h t hand side of the 026 and fed
through the m achine to the punching station. The operator, using the keyboard of the machine,
punches the card in much the same way th a t he would type a letter using a typew riter. The space
bar a t the bottom o f the keyboard is used to move the card under the punch dies w ith o u t punching.
W hen a key is pressed, a hole is punched in the card in the p a rtic u la r colum n under the punch dies
a t the tim e the key is pushed. The 026 also prints above the colum n which has been punched the
27
I
num ber or le tte r represented by the punches. A n exam ple o f a card prepared by an 026 card
punch is shown below.
t1t|l111111l|l111111111111111111l|l11111111111111111111111111111l|l11l|l11111111
Z222|222ZZ222|2222222|222222Z22222|222222222222222222222222222222222222222222222
33333|33333333|3333333|333333333333|33333333333||||333333333333333|3333333333333
444444|44444444|4444444|444444444444|44444444444444||||44444|4444444444444444444
S555555|5S55555S|55S5555|555S55555S55|555555555S55S55S5555S555|5|555555S5555555S
66S66S6G|66666666|66GG66G|6G6666666666|6666G66666666666666666666G666|66666666GG6
777777777|77777777|7777777|777777777777|7777777777777777/77777777777777777777777
8888888888|88888888|8888888|8888B8888888|B88888||||||||888888888S8B888888888B888
99999999999|99999999|9999999|999999999999|.9 999999999999999999|9|9999999999999999
I 2 3 4 8 • 7 I t t 0 1 1 1 2 1 3 1 4 1 S tlt7 U 1 l20 21 22 232 48 2l 27 2l2l3031323334333l 37 3 in 4 0 4t 42 43 44 4S 46 47 4l4S90 91 9293MSSSB57MS9 80 61 82 63 64 65 K I76 l8 B T 0 71 72 73 74 7S7l 77 7l7SIO
________________ I»M8081
Once the in p u t in fo rm a tio n has been punched onto the card, the card can be read by the card
reader o f the com puter. The photograph below illustrates the IBM 7500 card reader used in con
ju n c tio n w ith a high-speed d ig ita l com puter. The m echanism o f the card reader includes two sets
o f "re a d in g " brushes. In fo rm a tio n fro m the card is read beginning w ith the firs t 36 locations in
the " n in e " or bottom row o f the card. A fte r the firs t 36 locations o f the " n in e " row have been
read, the next 36 locations are read. The last e ight locations (columns 73-80) are not norm ally
used fo r in p u t in fo rm a tio n but are reserved fo r sequencing in fo rm a tio n used to id e n tify a p a rtic u
lar card.
For a 72 colum n read cycle, each corresponding row sta rtin g w ith the " n in e " (bottom ) row
is divided into tw o 36 colum n "w o rd s ". Thus the m achine reads tw e n ty-fo u r 3 6 -d ig it bin a ry words
in the order indicated in the illu s tra tio n below.
Unused
C o lu m n s
/
/ © © 12-Row
© m 11-Row
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0© 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D0 G0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 @ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i i i i i i i i
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 <Ts) 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 0 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 0 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 66666666
7777777777 77 77 777 0 777 7777 77 777 77777 7777 7 777 77 7777 7770 7777777 77 7777 77 7777777777
28
Input-Output Units
The photographs below illu s tra te IBM card, tape, and p rin te r units.
W hen cards are read by the card reader, th e y are placed in the hopper at the fro n t o f the
reader. D uring the read cycle they pass under the read brushes and out into the hopper on top of
the unit.
The m agnetic tape u n it both reads and w rites on m agnetic tape. This u n it is thus a combined
in p u t-o u tp u t device.
The equipm ent used to read paper tape operates, as does the card reading equipm ent, by
in te rp re tin g the holes in the paper tape as b in a ry in fo rm a tio n . Once th is in fo rm a tio n is read it is
interpreted according to a program previously supplied to the machine. As in the punched cards, a
hole is read as a one and the absence o f a hole as a zero.
IBM 962 Tape Punch IBM 729 IV Magnetic Tape Unit IBM 1403 Prihter
IBM 382 Paper Tape Reader IBM 7500 Card Reader IBM 7550 Card Punch
29
Storage Units
U nits em ploying m agnetic core, m agnetic drum and m agnetic disc storage media are illu s
tra ted below.
5. COMPUTERS OF TOMORROW
A lth o u g h com puter technology has already reached levels o f perform ance beyond im agina
tio n only a decade ago, technological progress in the com ing years promises to open new horizons
fo r these am azing machines.
The capabilitie s o f these machines o f tom orrow can be forecast from the capacities o f the
most advanced com puter systems being operated today. A n example is the IB M "S tre tch System"
illu stra te d below. The " S tre tc h '" has an internal m em ory capacity o f more than 16 m illio n b i
nary bits. The speed o f this system is such th a t it requires only 2 micro-seconds fo r "S tre tc h " to
add two numbers and store the results.
The research laboratories o f com puter m anufacturers throughout the country are w orking
now on com puter systems w ith greater capacity, greater speed and more e ffic ie n t design. Every
day, the men and women involved in this new and e xciting fie ld put com puters to w ork on new
problems, in d iffe re n t areas. The developm ent o f the com puter is m aking possible the e ffic ie n t
h andling o f vast am ounts o f data and the solution o f problems in science, engineering and
business.
30
IBM 7030 STRETCH SYSTEM
APPENDIX
D IG ITA L A N D ANALOGUE COMPUTERS
T hrougho ut th is m anual, a ll discussion o f computers refers to digital computers. There are
in use, however, m any com puters whose basis of operation is com pletely d iffe re n t. These are ana
logue computers. Both types o f com puters are capable o f perform ing sim ila r types o f operations
and can serve s im ila r functions.
The differen ce between digital and analogue com puter systems is basically a difference in the
m ethod the system uses to handle in fo rm a tio n . The analogue com puter handles in fo rm a tio n as a
continuously varying signal w hile the d ig ita l com puter handles in fo rm a tio n in discreet form .
The follow in g sketch illustrates gra p h ica lly the difference between continuous and discreet
representation:
t
The solid line represents the value o f a fu n ctio n as it changes over tim e. This is a continuous
fu n c tio n ; th a t is, there is a value fo r the fu n ctio n at every p oint in tim e. This representation can
be handled by an analogue machine.
The vertical bars also represent the value of the fu n ctio n as it changes over tim e. However,
the fu n c tio n exists only a t the d is tin c t points in tim e represented by the bars; the fu n ctio n is not
defined between these points. As the points in tim e are chosen closer and closer together, a line
connecting the ends o f the bars w ill approach the continuous curve.
The reason fo r this d ifference in fo rm o f in fo rm a tio n is essentially because o f a difference
in the type o f components which go into the systems. The analogue com puter uses m echanical or
electrical components to represent relationships. A n analogue com puter m ight, fo r example use
a ro ta ting s h a ft w ith various sha ft positions corresponding to values o f a variable. Or, an ana
logue com puter could use an electric capacitor— which is capable o f storing electrons— w ith v a ri
ous levels o f charge on the capacitor corresponding to values o f a variable.
The d ig ita l com puter, on the other hand, uses various components to represent specific va l
ues o f a variable. The d ig ita l com puter can, fo r exam ple, use the two positions o f a relay (on
or o ff) to represent two d is tin c t values o f the variable.
As an exam ple o f how the two systems d iffe r in operation, consider the problem o f adding
tw o pounds o f salt plus three pounds o f salt:
T o solve this problem as an analogue m achine would, we would do the follow ing:
32
If we wished to do this on an analogue m achine, we would let amperes o f current represent pounds
o f salt. T h a t is, we would use numbers o f amps o f current as analogues o f the numbers o f pounds
o f salt. W e would then do the follow ing:
1. Set an am m eter to zero
2. Send 2 amps o f cu rren t through the am m eter
3. Send 3 more amps o f c u rrent through the am m eter
4. Read the fin a l result on the am m eter: 2 + 3 = 5
To solve the same problem as a d ig ita l m achine would, we would firs t have our salt in one-
pound blocks. W e would select 2 blocks, then 3 more blocks. Then we would observe th a t there
were a to ta l o f 5 blocks.
To solve th is problem on a d ig ita l machine, we would program the m achine to add and give
the m achine the numbers 2 and 3. The m achine would then give the answer 5.
The basic diffe re nce between the m achine can be sum m arized as follows:
A n analogue m achine accepts quantities
A d ig ita l m achine accepts numbers
33
BOOK III
1. BASIC OPERATIONS
As you have undoubtedly come to realize, the m odern-day com puter perform s p ra c tic a lly all
o f its operations using the zeros and ones o f a binary code. In Books I and II the reason fo r this
use o f b ina ry coding was explained w ith reference to the "b i-s ta b le " elem ents used fo r control,
processing and storage in large scale com puters and the M IN IV A C 601.
In the experim ents w hich you have already perform ed, the lights were interpreted as a 1
when they were ON and a 0 when they were OFF; the pushbuttons indicated a 0 when they were
UP and a 1 when D O W N ; the relays stored a 1 when they were ON and a 0 when OFF. Through
your experience w ith the lights, pushbuttons and relays, you should be well acquainted w ith the
o n -o ff (0-1) nature o f the d ig ita l com puter.
As indicated above, th is book explores the logical operations used by a d ig ita l com puter
and examines how com puters " t h in k " and make decisions. Logical operations, as a ll other com
p u te r functions, are perform ed using the 0's and 1's o f the binary code. The nature o f this " th in k
in g " process can best be dem onstrated w ith some sim ple examples.
35
Let us look a t the sentences again. There are three statem ents related in such a way th a t the
th ird statem ent can be arrived a t as a va lid conclusion, given the in fo rm a tio n supplied by the
firs t two sentences. To p u t it another way, if the firs t two statem ents are " tr u e " , then the rela
tionships between the firs t two sentences and the th ird sentence are such th a t the th ird sentence
must also be true. On the other hand, neither the firs t sentence nor the second sentence alone
leads to a logical conclusion.
In order to make this point obvious, we m ight restate the three statem ents above in the fo l
lowing form :
A. If it is tru e th a t
I go outdoors
AND
B. If it is tru e th a t
it is raining
TH EN
C. It w ill be tru e th a t
I w ill get wet.
If we now ignore the content o f the three sentences and look only a t the relationships which
exist between A, B, and C we can state the general condition th a t
If A is true
AND
If B is true
TH EN
C is true.
The relationship lin k in g statem ents A and B w ith statem ent C establishes an exclusive set
o f conditions which w ill be satisfied only when statem ent A and statem ent B are both true. It fo l
lows from the above th a t:
If A is false
AND
If B is true
TH EN
C is false
or,
If A is true
AND
If B is false
TH EN
C is false.
To relate the contents o f these logical statem ents to the binary coding system used by the
com puter, the fo llo w ing relationships may be defined.
1 = true
0 = false (not true)
Using this coding system and rem em bering th a t (a) pushing button DO W N indicates as 1,
leaving it UP indicates a 0, and th a t (b) a lig h t O N indicates a 1, a lig h t OFF indicates a 0, we can
program the com puter so th a t the tru e or false conditions fo r statements A and B can be given to
the com puter as inp ut and the com puter w ill give us the condition o f the th ird statem ent as true
or false output:
1 + /1 Y
1X /2Y
2 X /3 A
3 B /3 —
36
Using the c irc u it above, pushbutton 1 w ill be used to com m unicate the true or false condition
o f statem ent A and pushbutton 2 w ill be used to com m unicate the condition o f statem ent B. If
pushbutton 1 is D O W N and pushbutton 2 is UP, statem ent A w ill be true and statem ent B w ill
be false. W hen both pushbuttons are held down, both statem ents A and B w ill be indicated as
true. In sum m ary:
Using the c irc u it and representation indicated above, pushing both pushbutton 1 and push
button 2 indicates to the com puter th a t both statem ents A and B are tru e — it is true th a t I am go
ing outside and it is true th a t it is raining. The com puter then indicates th a t, given the in fo rm a
tio n w hich we have provided as input, it can in d ica te th a t statem ent C must also be tru e — it is
tru e th a t I w ill get wet.
This c irc u it is an example o f a basic relationship w hich w ill be found in com puter handling
o f m any logical problems. C ertain in fo rm a tio n about the relationships between the elements
(statements) in the logical problem is supplied to the com puter by a program . W e supplied this in
fo rm a tio n about the relationship between statem ent A, statem ent B, and statem ent C by w irin g the
c irc u it indicated onto the console o f the M IN IV A C . Once the com puter has this in fo rm a tio n —
once the com puter is "p ro g ra m m e d "— it is ready to use the in fo rm a tio n about statem ents A and
B to reach a conclusion about statem ent C. The program tells the com puter th a t both state
ments A and B m ust be true fo r statem ent C to be true. Therefore both pushbutton 1 and pushbut
ton 2 m ust be pushed before lig h t 3 comes ON.
T his simple com bination o f three statem ents demonstrates one o f the basic operations which
a com puter m ust be able to perform if it is to solve logical problems. This operation is called
" A N D " . Statements A and B m ust both be true fo r statem ent C to be true.
Just as symbols are used as a shorthand to represent the ideas in a rith m e tic ( " + " repre
sents the idea o f a ddition ) symbols are used to represent the operations involved in solving logi
cal problems. In the case o f the concept A N D the symbol X is used as a symbol:
X = AND
AX B= C
Using th is notation , in com bination w ith the d e fin itio n s o f 1 and 0 as true and false (not
true) respectively, the conditions expressing the relationships lin k in g the three statem ents
above can be expressed as:
1X1 = 1
0 X 1= 0
1X0 = 0
0X0 = 0
The equals sign ( = ) in these equations m ay be read as "T H E N " rather than as "e q u a ls ".
The relationships expressed by each o f the fo u r logical statem ents above are:
37
A. If 1 go out
AND
B. If it is raining (1 X 1 = 1)
C. 1w ill get wet.
A. If 1 do not go out
AND
B. If it is raining (O X 1 = 0)
THEN
C. 1w ill not get wet
A. If 1 go out
AND
B. If it is not raining ( 1 X 0 = 0)
TH EN
C. 1w ill not get wet.
In the program fo r the com puter representation o f the three statem ents, the condition " I go
o u t" is represented by pushbutton 1 and the statem ent " I t is ra in in g " is represented by pushbut
ton 2. The lig h t represents the statem ent " I w ill get w e t". Remembering th a t a 1 means th a t a
pushbutton is D O W N or a lig h t is ON and a 0 indicates th a t the pushbutton is in UP and th a t the
lig h t is OFF, we developed a com puter program based on the fo u r equations above.
Logical representation o f the relationships between these three statem ents may be sum m ar
ized using the symbol + to mean "O R ".
+ = OR
A + B= C
These relationships can be represented to the com puter using the fo llo w in g program :
38
1Z
1 + /1 Y
1 Y /2 Y
2 X /1 X
2 X /3 A
3 B /3 —
1 + /1 Y
1 Y /3 Y
IX /2 Y
2 X /3 X
3 X /4 A
4B /4 —
39
In the case o f " A N D " , we were concerned w ith things happening together. In the case of
" N O T " , we are concerned w ith the reverse o f the " A N D " situation. The " N O T " operation is used
to deal w ith the concept th a t som ething w ill happen if som ething else does not happen.
Returning to the fa m ilia r exam ple concerning the wetness o f rain, consider the follow ing
series o f statements;
A. If is it raining
AND
B. If I am N O T under cover
TH EN
C. I wi 11 get wet
The program and c irc u it representing th is set o f relationships is given below. Pushbutton 1 is used
to represent statem ent A , pushbutton 2 to represent statem ent B, and lig h t 3 to represent state
m ent C:
1 + /1 Y 1Z 2Z 3B 3-
IX /2 Y
2 Z /3 A
1+ 1Y 1X 2Y 2X
3 B /3 —
1—
|—/1 Y
1X /2 Y
2 X /3 Y
3 Z /5 A
1Y /4 Y
4 X /5 A
5 B /5 —
40
Sym bolically, the set o f relationships m ay be expressed as:
A X B X C + D = E
Note th a t the n orm a lly open contacts o f pushbuttons 1, 2 and 4 are used, w hile pushbutton
3 is wired using the norm ally closed contacts.
As we begin dealing w ith more com plicated circuits, it becomes desirable to express con
cepts which are somewhat more involved than the sim ple com binations o f " A N D " , "O R " and
" N O T " considered above. The "E ITH ER BUT N O T B O T H " concept provides an exam ple o f such
a case. The idea to be expressed in this concept can be illustrated w ith reference to our ever-pres
ent wetness problem :
C onverting this series o f statem ents into a program fo r the M IN IV A C , we have the follow ing
program and c irc u it:
1 + /1 Y
1 Z /2 X
IX /2 Z
2 Y /3 A
3 B /3 —
Pushbutton 1 is used to represent statem ent A, pushbutton 2 to represent statem ent B, and
lig h t 3 to represent statem ent C. The program uses the contacts so th a t if either pushbutton 1 or
pushbutton 2 is pushed, lig h t 3 w ill come ON. L ig h t 3 w ill NO T come on if both pushbuttons 1
and 2 are pushed.
Expressing these relationships sym bolically requires the use o f two statements, each express
ing a condition which m ig h t exist:
1. Statem ent A , but N O T statem ent B, may be true:
AXB
2. Statem ent B, but N O T statem ent A , may be true:
AX B
Since either o f the above is permissible, the entire set o f relationships may be stated as:
( A X B ) + ( A X B) = C
A Short Summary
It m ay be h e lp fu l to review b rie fly the fo u r logical operations which have been demonstrated
thus fa r using the pushbuttons and lights:
41
The concept "AND"
A B c
~A- B
(A X B ) + (A X B ) = C
42
The Relay A N D Circuit
The fo llow ing c irc u it and program represent the condition th a t if relay 1 is ON ( = 1 ) A N D
relay 2 is ON ( = 1 ) then lig h t 3 w ill be ON (— 1). Sym bolically, A X B = C:
1 + /1 Y
1X /1C
1 F /1 -
2 + /2 Y
2 X /2 C
2 F /2 —
1 + /1 H
2 + /2 H
2 G /3 A
3 B /3 —
THE RELAY A N D C IR C U IT
In this c irc u it, pushbutton 1 is used to control relay 1 and pushbutton 2 to control relay 2.
Pushing pushbutton 1 causes relay 1 to close by providing current to the coil o f relay 1. In a
s im ila r manner, pushbutton 2 controls the flo w o f current to the coil o f relay 2. The norm ally
open contacts o f the two relays are used to e ffe c t the " A N D " condition. L ig h t 3 indicates when
the " A N D " condition is met— both relay 1 and relay 2 are closed (ON).
1 + /1 Y
1 X /1 C
IF /1 —
2 + /2 Y
2 X /2 C
2 F /2 —
1 + /1 H
1G /3A
2 + /2 H
2 G /3 A
3 B /3 —
THE RELAY OR C IR C U IT
A = B
43
1-4-/1V
ix/ic
1 F /1 -
1 + /1 H
1J/2A
2 B /2 —
THE RELAY N O T C IR C U IT
(A X B) + (A X B) = C
1 + /1 Y
1 X /1 C
1 F /1 -
1 -4-/1H
1 J /2 G
1 G /2J
2 + /2 Y
2 X /2 C
2 F /2 —
2 H /3 A
3 B /3 —
44
c irc u it. For the purposes o f this m anual, the follow ing b rie f introduction to Boolean algebra is
s u ffic ie n t:
Basic concepts
The two-state system:
Boolean A lgebra requires th a t any variable have only two possible states. Thus:
a statem ent m ay be TRUE or FALSE,
a c irc u it m ay be CLOSED or OPEN
a switch m ay be ON or OFF.
Representation and N otation:
Let: 0 = false, OFF, OPEN
1 = true, O N, CLOSED
O n -o ff electrical circu its provide a graphic picture o f the basic concepts o f Boolean algebra.
Consider the fo llow ing c irc u it diagram :
Switch A is shown in the OPEN (no cu rre n t flow ing) position. In notational form then,
A = 0
means: switch A is OPEN. S im ilarly, B = 1 means "sw itch B is CLOSED" (th a t is, current is flo w
ing through switch B).
Basic Operations:
AND;
consider two switches— A and B— connected in series:
A B
For the entire system to be O N, cu rre n t must flo w through both switch A and switch B. Using
the no ta tion th a t:
X means A N D
and Z represents the entire system then,
AX B= Z
There are fo u r possible states fo r the system; these possible states m ay be listed in a truth table:
A B z
0 0 0
1 0 0
0 1 0
1 1 1
45
(it m ay be h e lp fu l a t this p oin t to refer back to the o rig in a l discussion o f the A N D c irc u it to see
a verbal representation o f the tru th table).
OR:
Consider two switches (— A and B— ) connected in parallel:
For the system to be O N, curre nt may flow through either switch A or switch B. Using the no
ta tio n th a t:
+ means OR
then,
A + B= Z
The tru th table fo r th is condition:
A B z
0 0 0
0 1 1
1 0 1
1 1 1
NOT:
This operation stands fo r the opposite state or condition. The notation is a line over the sym
bol. Thus:
T =0
0 = 1
The two negation relationships are known as the complementarity laws:
1) AX A = 0
A + A - I
g raphically:
a a
1) AXA = 0
46
2) A + A = 1
(A X B) + (A X C) = A X (B + C)
(The d istrib u tiv e law is p a rtic u la rly useful fo r c irc u it sim p lifica tio n ).
47
The firs t requirem ent— s u ffic ie n t capacity— can generally be met by using a com puter o f a
size appropriate to the problem. T h eo retically, a t least, any logical problem can eventually be
solved on a com puter if the com puter is large enough.
The second requirem ent— s u ffic ie n t in fo rm a tio n — must be met if the com puter is to produce
a solution to a logical problem . A com puter cannot guess. If a ll in fo rm a tio n about a p a rtic u la r
problem is not available, assumptions about the missing in fo rm a tio n m ust be made and pre
sented to the com puter. The com puter w ill then be able to solve the problem , basing its solution
on the facts and assumptions it has been given. W ith o u t s u ffic ie n t in fo rm a tio n — either in the form
o f fa cts or assumptions— a com puter cannot reach a solution to a problem. But then, neither can
a person.
For an exam ple o f a problem to be solved w ith in s u ffic ie n t in fo rm a tio n , let us return to the
problem o f ra inin g and wetness. Given only the fa c t th a t it is raining outside, we cannot reach a
conclusion as to w hether or not we are wet; nor can a com puter be program m ed to determ ine
w hether or not we are wet. The in fo rm a tio n is in su fficie n t.
However, if we assume th a t A) we are outside and B) we are not under cover, then we can con
clude th a t we are wet. On the other hand, if we assume th a t A ) we are inside or B) we are under
cover, then we can conclude th a t we are not wet. Therefore, if we do not have s u ffic ie n t in fo rm a
tio n , we can m ake assumptions about our problem and arrive a t a series o f conclusions. S im ilarly,
we can program a com puter w ith both the in fo rm a tio n and the assumption to yield conditional
answers.
Fact: It is ra ining outside.
1 am outside
AND 1am wet
1 am not under cover
1am inside
OR 1 am not wet
1am under cover
W hen analyzing a problem fo r com puter solution, the distin ctio n between fa c t and assump
tio n m ust always be kept in m ind. Otherwise, th e solution w ill be incorrect a n d /o r incomplete.
Simulation
Com plex problems fo r which a tria l-a n d -e rro r solution would be too costly or tim e-consum
ing are often simulated on a com puter. W hen a com puter sim ulation is used, the conditions of
the problem are presented to the com puter and a lte rn a tive solutions are tried. W hen the desired
sim ulated result is achieved, the m ethod o f solution or the actual sim ulated solution can be ap
plied to the real w orld situation.
For exam ple, com puter sim ulation is used e ffe c tiv e ly to test the strength o f a rocket design
under the conditions o f outer space— w ith o u t a ctu a lly b u ild in g the design or sending it into space.
The rocket design is program m ed onto a com puter as a series o f com plex m athem atical re la tio n
ships in term s o f geom etrical shape, resistance to fric tio n , reaction to pressure, and m any other
im p o rta n t details. Once th is in fo rm a tio n has been given to the com puter, the com puter is con
sidered to be a "s im u la te d rocke t".
To test the design, the engineers and scientists com m unicate varying conditions to the "s im
ulated ro c k e t", and the com puter com m unicates back the results o f the conditions. For instance,
the "s im u la te d ro c k e t" m ay be given a series o f accelerations; the results o f these accelerations
w ill be a series o f data which, when properly interpreted, w ill show w hat happened to the various
parts o f the rocket. S im ila rly, various m aterials can be tested under outer space conditions.
The result o f a sim u la tio n as involved as a rocket design is a vast am ount o f in fo rm a tio n
which m ust be c a re fu lly interpreted and analyzed before the fin a l answer can be achieved.
48
For a sim ple exam ple o f some o f the advantages and problems o f a com puter sim ulation, let
us return to the rainstorm . A nd, let us now assume th a t we are w earing a new suit. The problem
co n fro n tin g us is, o f course, to stay dry. W e could easily enough stay inside, but th a t would be im
practical. On the other hand, we could step outside— which would be fin e unless it is raining. Ob
viously, we do not w a nt to stay inside; but a t the same tim e, we do not w ant to risk ge ttin g our
new su it wet.
Using sim u la tio n , we can try various solutions to our problem w ith o u t risking ge ttin g wet.
Then we can analyze the results o f the sim ulation and fin d the best plan o f action.
Problem: I m ust not get wet
Possible Solutions:
A. I can stay inside
B. I can go outdoors
C. I can wear a raincoat
D. I can carry an um brella
W e m ust now fin d the results o f each possible solution:
A t this point, it is up to each o f us to decide on a best possible solution. A lte rn a tiv e B is not
the best possible solution, nor is a lte rn a tive C— each w ill probably cost us money. This leaves a
choice between A and D. If the a ppointm ent must be kept, then the only a lte rn a tive le ft is D. A l
though we w ill feel s illy carrying an um brella, th is is the best possible solution to our problem — a
solution w hich we have achieved w ith o u t ruining a suit in the process.
Real problems are, o f course, much more com plex than our sim ple exam ple. However, our
exam ple had the same advantage as a large-scale sim ulation: we tested various situations before
a c tu a lly try in g them out, and thus saved ourselves the expense o f replacing the item under test if
one o f our solutions was incorrect. T h a t is, we now know th a t we w ill not get the new suit wet when
we go outdoors because we w ill be carrying an um brella.
O f course, we had to have the possible solutions in m ind before we could try them out. T his is
one o f the d iffic u ltie s o f a sim u lation technique: to fin d the best possible solution, a ll possible so
lutions must be trie d . It is up to the persons involved in the problem to determ ine the alternatives.
The com puter w ill yield the results o f each a lte rn a tive , and then it is once again up to the per
sons involved to decide upon the best possible a lternative.
49
Does a com puter really " th in k " ? If by " t h in k " we mean does the com puter fo llo w a series
o f steps w hich are lo gica lly related and which lead the com puter to the solution o f a problem , our
answer m ust be yes. In this sense, the com puter d e fin ite ly does " th in k " .
If, on the other hand, we consider th in k in g in the sense o f creative hum an though t in which
ideas or thoughts are conceived, the com puter does not " th in k " . The com puter does not "k n o w "
w hat it is th in k in g . It has no consciousness. A com puter m ust (at least in itia lly ) be program m ed
to perform each step in the solution o f a problem . It can do only w hat the com puter operator or
program m er tells it to do. A lth o u g h we m ay not know the solution to a problem , we can decide
on the steps w hich should be taken to reach the solution and can com m unicate these steps to
the com puter.
The reason th a t the com puter can solve the problem which we m ay not be able to is th a t the
com puter remembers each step in d e ta il and does not become "co n fu se d ". W h ile we are ta lk in g
about the fo u rth step in a problem , we m ay have fo rgotten some detail o f the firs t step which is
necessary in order to arrive a t the correct solution. The com puter w ill not forget.
The p oint o f th is com m ent is th a t the com puter m ust be program m ed w ith absolute accu
racy. The com puter does not know w hat it is to do; it has no way o f ju d g in g when it has made a
m istake. It w ill sim ply fo llo w the instructions it is given (by program m ing) and arrive a t the con
clusion w hich is the result o f fo llo w in g these steps.
You m ay have noted the com m ent th a t the com puter must, at least initially, be to ld each
operation w hich it is to do. The word " in it ia lly " m ust be used because a com puter can be pro
gram m ed to program itself. T h a t is, a com puter can be given instructions fo r fo llo w in g a series
o f steps or operations w hich w ill enable it to generate more instructions which it can then per
form . A com puter, once it has been given such a series o f instructions and has been provided
w ith a d d itio n a l instructions which enable it to "e v a lu a te " the conclusions which it reaches
— to determ ine w hether the solutions reached meet previously supplied c rite ria — can begin to
" le a r n " concepts and relationships w hich the person o rig in a lly program m ing it did not know or,
a t least, did not com m unicate to it.
In m any ways, the process by w hich a com puter is educated— or ta u g h t to th in k — is
s im ila r to th a t used to teach a child. The com puter and ch ild must both be ta u g h t to gain in fo r
m ation fro m th e ir environm ent, to in te rp re t it, and to use the in fo rm a tio n in association w ith data
drawn fro m past experience to arrive a t conclusions about a given situ a tio n or the solution to
a p a rtic u la r problem .
As you consider the program s w hich m ust be given to M IN IV A C 601 to enable it to solve the
problems and riddles in the fo llo w in g section, consider the in fo rm a tio n you would have to give a
person who had never before solved a problem to enable him to duplicate the perform ance o f the
com puter.
A s hum an beings, we can do m any things; b u t we sometimes fo rg e t th a t m any people and
much experience have gone in to the teaching process through which we have received and stored
in our memories the data and instructions w hich enable us to deal w ith our environm ent.
50
C. Is the num ber odd?
The process follow ed in solving th is problem can be analyzed using a flow chart. T his ch a rt
indicates each step in the decision process and shows the sequence which leads to the fin a l result.
A flo w ch a rt fo r the solution o f th is problem appears below:
The flo w ch a rt shows th a t question A — is the num ber greater than 3— separates the possi
ble numbers in to two groups: those greater th a n 3 (4, 5, 6, 7) and those not greater than 3 (0,
1, 2, 3). Question B then separates each o f these groups into two groups, and question Cdeter
mines w hich num ber in the appropriate set is not excluded— in other words, determ ines the num
ber o f w hich the person was th in k in g .
The conditions fo r each o f the num bers can be expressed as logical operations as follows:
Let:
Using these d e fin itio n s, we can express the conditions fo r each o f the possible numbers as follows:
A X B XC_= 7 A X B X C = 3
A X BXC~= 6 A X B X C = 2
A X B X C = 5 A X B X C = 1
A X B X 'C 'r r 4 A X B X CT= 0
T o program the problem fo r solution on a com puter, each relationship is connected into a c ir
c u it representing the equation. Then these c irc u it representations o f the equations m ust be com
bined fo r a com plete program .
The circu its fo r the ind ivid ua l equations are sim ply com binations o f the A N D and N O T c ir
cuits. For example, the c irc u it representation fo r an answer o f 5 would be:
51
A X B X C = 5
C om bining the eight equations above into a single c irc u it w ill give the follow ing:
N otice th a t the c irc u it has the same fan-shaped appearance as did the flow chart. In essence,
th is c irc u it diagram is sim ply a c irc u it representation o f the flo w chart. Each " g a te " (switch) rep
resents an answer to one o f the questions.
However, if we exam ine th is c irc u it representation, we see th a t there are fo u r contacts to the
gate (switch) representing statem ent C, and th e re are two contacts to the gate representing state
m ent B. If we were to program this c irc u it onto a com puter then, we would have to have one gate
which was capable o f accepting fo u r separate inputs. This can be done on the M IN IV A C , and the
c irc u it could be program m ed d ire c tly from the above c irc u it representation.
It is possible, though, th a t we would w ant to program this problem onto a com puter which
had only three inp ut contacts fo r each gate. W h a t would we do in this case? Or sim ila rly, w hat
would we do if we wanted to keep a contact free fo r additions to the circu it?
The com m utative law o f Boolean A lgebra referred to in the previous section can be applied
to th is p a rtic u la r problem . The com m utative law states that:
A X B is the same as B X A
So, we can restate fo u r o f our equations as follow s:
A X B X C j= 3 becomes A X CX B= 3
A X J3X C T= 2 becomes A X ~C X J3 = 2
AXBXC =1 becomes AX C XB = 1
T x^
a x o becomes A X 'C X T r z O
The c irc u it representation fo r the eight equations now becomes:
52
T his is a sim ple exam ple o f the m a n ipulatio n o f circu its which professional program m ers do
to f i t a logical solution to the capa bilitie s o f a p a rtic u la r com puter. Some com plex logical prob
lems can be program m ed fo r com puter solution o n ly by m aking m axim um use o f the com puter's
capacity in this fashion.
W e shall use a program based on this la tte r c irc u it representation fo r solving the problem on
M IN IV A C 601. The slide switches w ill be used fo r data in p u t and data storage; the relays w ill be
used fo r processing and operating storage; the rotary switch w ill be used fo r output. A pushbutton
w ill be used fo r the instru ction : move fin a l answer from operating storage (relays) to ou tp u t (ro
tary switch).
In sum m ary then, the rules fo r using the " M in d Reading P rogram " are:
Let:
A slide switch LEFT indicates a YES answer; a slide switch RIGHT indicates a NO answer. The
questions are:
A fte r the answer to each question has been com m unicated to the com puter through the slide
switches, pushing pushbutton 6 w ill in struct the com puter to indicate the fin a l answer on the deci
mal in p u t-o u tp u t dial.
53
5 V /4 S 5 U /5 C 6 T /5 L D6/5K
4 R /4 A 5 F /6 F M + /6 Y D7/5G
4 B /4 - 6 F /6 - 6 X /D 1 7
5 C /5 A M —/D 1 8 D 1 6 /D 1 9
5 B /5 - D 1 8 /4 V D 0 /6 N
6 C /6 A 4 U /6 S D 1 /6 K
6 B /6 - 4 W /5 S D 2 /6 J
6 X /6 V 5 R /6 H D 3 /6 G
6 V /5 V 5 T /6 L D 4 /5 N
6 U /6 C 6 R /5 H D 5 /5 J
Book V I— M IN IV A C GAMES— includes a v a ria tio n on this " M in d Reading P rogram " which
uses names in place o f numbers.
Quantity Recognition
As a fu rth e r exam ple o f the use o f logical operations, let us consider how a com puter could
be program m ed to recognize quantities. The problem w ill be to instruct the com puter to deter
m ine the num ber o f slide switches w hich are O N (in the LEFT position) regardless o f which slide
switches are used.
Q u a n tity recognition circu its have m any a p plicatio ns in com puter logic. They can be used,
fo r instance, to perform additions, to indicate the results o f a game or a vote (win, lose, draw) or
to give d ire ct count fo r a q u a lity control system. Q u a n tity recognition circuits of th is type are
based on w hat m athem aticians call a "sym m e tric fu n ctio n la ttic e ". For our purposes, we may
consider the c irc u it as a series o f "y e s -n o " decisions.
Slide switches 2 through 6 w ill be used to provide input: a slide switch LEFT is O N , a slide
switch RIGHT is OFF. Lights 1 through 6 w ill be used fo r o u tp u t according to the follow ing conven
tion:
L ig h t 1 ON indicates th a t 1 switch is ON
L ig h t 2 ON indicates th a t 2 switches are ON
L ig h t 3 ON indicates th a t 3 switches are ON
L ig h t 4 ON indicates th a t 4 switches are ON
L ig h t 5 ON indicates th a t 5 switches are ON
L ig h t 6 ON indicates th a t No switches are ON.
To program the com puter fo r q u a n tity recognition, we w ill firs t describe the possible condi
tions as a series o f logical expressions:
54
Let:
A = the condition th a t slide switch 2 is ON
B = the condition th a t slide switch 3 is ON
C = the condition th a t slide switch 4 is ON
D = the condition th a t slide switch 5 is ON
E = the condition th a t slide switch 6 is ON
A X B X C X D X f = light 6 ON
However, the possibilities fo r lig h t 1 com ing ON— in d ica tin g th a t one switch is O N — m ust be
stated as five separate expressions:
A X B X C X D X T = light 1 ON
A X B ^ X C " X D X F = light 1 ON
A X fX C ^ X D X E _ = light 1 ON
A X F X £ X D X F = light 1 ON
A X B X C X D X E —: light 1 ON
S im ila rly, there w ill be ten separate expressions fo r the possible conditions fo r lig h t 2 to come
O N — in d ica tin g th a t two switches are O N, ten expressions fo r lig h t 3, five expressions fo r lig h t 4
and the single expression
A X B X C X D X E = lig h t 5 ON
The program and c irc u it fo r the com plete solution must f i t a ll o f the conditions o f the prob
lem as stated in the 32 logical expressions o f a ll possible cases. The fu ll c irc u it m ay be repre
sented as follows:
55
A
You w ill notice th a t this representational c irc u it has a lattice shape. M oreover, it is ele c tric
a lly symmetrical about the low er-left to upper-right diagonal. Hence the m athem atical phrase
"sym m e tric fu n c tio n la ttic e " referred to earlier. This c irc u it representation shows the conditions
A and A , etc., as separate switches. In the a ctu a l program , o f course, both conditions fo r a given
switch w ill be wired onto a single switch using the norm ally-open and norm ally-closed contacts fo r
the A and A etc., conditions respectively.
56
Program for Quantity Recognition:
1B / l — 6 F /6 - 5 A /2 G 5 R /6 H 5 K /4 N
2 B /2 — 6 + /6 S 4 A /2 K 5 W /6 L 5 G /4J
3 B /3 — 6 S /4 V 3 A /2 N 4 T /6 K 4 N /3 H
4 B /4 — 4 V /3 V 2 A /2 T 4R /6 J 4 J /2 L
5 B /5 — 3 V /2 V 1 A /3 J 6 N /5 L 4 G /2 H
6 B /6 — 2 U /2 C 6 A /3 N 6 J /5 H 4 K /2 S
2 F /3 F 2 C /3 C 6 T /5 V 6 G /4 H 3 J /3 K
3 F /4 F 3 U /4 C 6R /5S 6 K /4 L 3 G /2 T
4 F /5 F 4 C /5 C 5 U /5 T 5 J /4 K 2 J /2 K
5 F /6 F 4 U /6 C 5 U /4 S 5 N /3 L 2 N /2 R
1. Set slide switches 2 through 6 to the RIG HT (the slide switches are now OFF).
2. T u rn power ON. L ig h t 6 w ill come ON in d ica tin g th a t NO switches are ON.
3. Set any two o f the slide switches 2 through 6 to the LEFT. L ig h t 2 w ill come ON in d ica tin g th a t
two switches are ON.
4. Set a ll switches to the RIGHT again. Once again, lig h t 6 w ill come ON in d ica tin g th a t NO
switches are ON.
5. Select various com binations o f switches and note th a t in each case the o u tp u t lights in d i
cate how m any switches are ON (to the LEFT). There are 120 possible com binations o f switches,
and in each case M IN IV A C 601 w ill recognize how m any switches are O N, regardless o f which
switches are used.
57
the com puter, only the correct result w ill be perm itted and this result w ill be com m unicated to
the operator. W e shall refer to this method as the "autom atic" method o f solution.
The basic diffe re nce between the two methods can be compared w ith the d ifference between
a therm om eter and a therm ostat. A therm om eter (the analogy o f the "B o o le a n " solution) w ill de
term ine the tem perature and indicate w hat it is. A therm ostat (the analogy o f the "a u to m a tic "
solution) w ill not only determ ine the tem perature, b u t w ill also a tte m p t to "c o rre c t" the tem per
ature to m atch the tem perature w hich has been "p ro g ra m m e d " into it. For instance, if the tem
perature were 65°F and we had set a therm ostat fo r 6 8 °, the fo llo w in g would occur fo r a th e r
m om eter and a therm ostat:
1. The therm om eter w ould indicate th a t the tem perature was 65°F. It would be up to us to do
som ething about the fa c t th a t it was 3 ° cooler th a n w hat we wanted.
2. The therm ostat would determ ine th a t the tem perature was 65°F and would a u to m a tica lly
tu rn up the furnace u n til the tem perature reached 68°F.
Essentially then, the "B o o le a n " m ethod o f solution indicates tru th or error; the " a u to m a tic " m eth
od o f solution determines the correct solution and indicates a fin a l result.
R eturning now to the problem o f the three g irls, we w ill firs t represent the problem conditions
as logical expressions, since both methods require this step. W e w ill then develop program s fo r
solution by each o f the two methods.
From the conditions o f the problem , we can see th a t there are only two possible situations
fo r each g irl:
W hatever other conditions m ay exist, we can be sure th a t there are only two possible conditions fo r
each g irl.
W e can therefore represent the possible conditions fo r each g irl by the fo llo w in g convention:
C _ = C a m ille could
c =C am ille could not
s_=Sara should
s =Sara should not
w =W anda would
W - W anda w ould not
There are two ways to set up the logical expressions fo r each problem condition. W e can set
up e ithe r a " tr u th s ta te m e n t" or an "e rro r sta te m e n t". A " tr u th s ta te m e n t" describes the per
missible conditions; an "e rro r s ta te m e n t" describes the conditions which are not permissible.
The two statem ents are, o f course, com plem entary.
The problem conditions can be stated as:
S X W = error or S + W = tru th
It is impossible th a t the statem ents "S ara sh o u ld " and "C a m ille could n o t" can both be true:
C X S = error or C + S = tru th
If W anda w ould ,then Sara should and C a m ille could:
W X (S + C) = error or W - f (C X S) = tru th
58
"Boolean solution"
Because it is sim pler in this case, we w ill set up a program fo r the "B o o le a n " solution fro m the
three "erro r" expressions above. Slide switches 1, 2 and 3 w ill be used to provide the contacts fo r
C am illa, Sara and W anda respectively. L ig h t 3 w ill be used as the error indicator. Since there are
three error conditions and only two contacts fo r lig h t 3, we w ill use the "C o m m o n " term inals to
provide the necessary extra contacts. (The notation fo r a connection to a common te rm in a l is
"1 co m ", " 2 c o m ," etc.)
The c irc u it diagram and program fo r the "B o o le a n " solution o f the problem appear below.
Each o f the logical expressions fo r the problem conditions can easily be traced on the c irc u it d ia
gram.
Slide switch 1 represents C am ille
Slide switch 2 represents Sara
Slide switch 3 represents W anda
A slide switch LEFT indicates the positive condition: C am ille could, Sara should, W anda would.
A slide switch RIG HT indicates the negative condition : C am ille could not, Sara should not, W a n
da would not.
L ig h t 3 ON represents an error.
1 + /2 S
2 S /3 V
2T /3 S
3 T / 3 com
2R /1S
I T / 3 com
3 U /2 V
2 V /1 V
1W/2W
2 W / 3 com
3 A / 3 com
3 B /3 —
59
Since there is a possibility o f more than one correct solution, pushbuttons 1, 2 and 3 are
w ired in so th a t a d d itio n a l in fo rm a tio n may be entered.
Pushbutton 1 represents C am ille
Pushbutton 2 represents Sara
Pushbutton 3 represents W anda
A pushbutton UP transm its no additio n al in fo rm a tio n to the com puter. A pushbutton DO W N,
however, supplies the positive condition (C am ille could, Sara should, W anda would).
W hen the power is turned O N , a correct solution w ill im m ediately appear in the relay indica
to r lights. By pushing a pushbutton, we m ay enter a d d ition al positive in fo rm a tio n about a girl.
The relay in dica to r lights w ill then indicate the correct solution to the problem w ith the added
inform a tion .
14 - / 1 V
1Y /2Y
2 Y /3 Y
1 X /1 C
2X /2C
3X /3C
2 K /1 X
2L /2 +
2 N /3 C
3 G /1 H
1H /1 C
1G/2C
3 H /3 +
1F/2F
2F /3F
3 F /3 -
60
To solve the farm e r's problem on the M IN I VA C , we w ill state the problem as a series o f logi
cal expressions. These relationships w ill then be converted to c irc u it representations and the
conditions of the problem w ill be program m ed onto the com puter fo r solution.
The Basic C onditions:
The farm er's problem can be stated as three basic conditions:
A. The goose and the w o lf cannot be le ft alone w ith o u t the farm er.
B. The goose and the corn cannot be le ft alone w ith o u t the farm er.
C. The boat w ill hold only one object in ad d itio n to the farm er.
The firs t two conditions— A and B— can be expressed as logical statem ents as follows:
Let:
F represent the presence o f the farm er
F~ represent the absence o f the farm er
G represent the presence o f the goose
G represent the absence o f the goose
W represent the presence o f the w olf
W represent the absence o f the w olf
C represent the presence o f the corn
C represent the absence o f the corn
E represent an error (loss o f one o f the farm er's possessions)
Then:
C ondition A (the goose and the w o lf cannot be le ft alone) can be expressed as:
GXWXF + GXWXF = E
C ondition B (the goose and the corn cannot be le ft alone) can be expressed as:
GX CX F+ GX CX F= E
C ondition C (the size lim ita tio n o f the boat) need not be stated as a logical expression. The
fin a l program w ill include appropriate c irc u itry so th a t if the boat is overloaded, only one object
w ill be recognized as being in the boat w ith the farm er.
P rogram m ing the S im ulation:
F X G X ( W + C) + F X G X ( W + C) = E
C IR C U IT REPRESENTATION
61
However, th is c irc u it represents only the processing and ou tp u t portions o f this program . W e
m ust also provide means o f in p u t and storage fo r the various solutions which we w ill a ttem pt. By
w irin g in the slide switches and pushbuttons fo r in p u t and storage, and using the relays fo r proc
essing and the lights fo r ou tp u t, we w ill be able to program the entire problem fo r com puter solu
tion.
W e shall use the fo llo w ing conventions in the program :
A n ou tp u t lig h t ON represents an object at home.
A relay ind icato r lig h t ON represents an object across the river.
A slide switch LEFT represents an object in the boat.
A slide switch RIG HT represents an object not in the boat.
L ig h t 5 ON represents the condition: " W o lf eats goose".
L ig h t 6 O N represents the condition: "Goose eats co rn ".
Pushbutton 6 represents m oving the boat towards home.
Pushbutton 1 represents m oving the boat from home.
The fo llo w in g components w ill be used to represent the objects in the problem :
Farmer 1 1 1
Goose 2 2 2
W o lf 3 3 3
Corn 4 4 4
1. T u rn power ON. M a n u a lly push relays 1 through 4 to the LEFT. The relay indicator lights
w ill come ON to indicate th a t a ll objects are across the river. Move slide switches 1 through
4 to the RIGHT.
2. Place the fa rm e r in the boat by m oving slide switch 1 to the LEFT. (The fa rm e r m ust be
in the boat or the boat w ill not move)
3. Choose another object and place it in th e boat by pushing the appropriate slide switch
to the LEFT.
4. M ove the boat across the river by pushing pushbutton 6. If lights 5 and 6 rem ain OFF,
no error has been made.
5. C ontinue m oving the boat back and fo rth across the river w ith the d iffe re n t objects u n til
a ll fo u r objects are a t home (output lights 1 through 4 are O N .) Do not fo rg e t to remove
objects from the boat when they have reached the other side (by m oving the slide switch
to the RIGHT)
62
6. If an error is made, reset the com puter by setting slide switches 1 through 4 to the RIGHT
and m a n u a lly setting relays 1 through 4 to the LEFT.
W h o is w atching television?
T his problem provides an excellent example o f a problem which is com plicated enough to be
confusing to a person a tte m p tin g to solve it. T h e problem conditions and the details o f the rela
tionships are d iffic u lt to remember. Because o f its confusion-proof memory, the com puter can
easily handle a problem o f th is type.
To solve th is problem , we w ill state the problem conditions as logical expressions and devel
op the appropriate c irc u it fo r a "B o o le a n " solution using a " t r u t h " lig h t to te ll us when we have
arrived a t the correct solution. This w ill, o f course, be a sim ulation technique since we w ill not
have to a c tu a lly drop in on the fa m ily to fin d out who is w atching television.
"B + C = T
E+ F= T
C X D + C X D = T
4. Edward and David are either both w atching or both not w atching television:
E X D + IX D = T
5. If Francis is w atching television, then Barry and Edward are also w atching television:
T + ( BXE) = T
Each o f these expressions can be represented as logical circuits in the follow ing manner:
63
1. B+ C= T
T ---------------------•
2. E+ F= T
3. CXD + CXD = T
4. EXD + EXD = T
5. F + ( BXE) = T
64
The Program fo r a "B o o le a n " Solution:
T o convert the representational circu its to a program , we w ill use the fo llo w in g convention:
Let:
Slide switch 1 represent Barry
Slide switch 2 represent C lara
Slide switch 3 represent David
Slide switch 4 represent Edward
Slide switch 5 represent Francis
A slide switch LEFT indicates th a t the person is w atching television; a slide switch RIG HT indicates
th a t the person is N O T w atching television.
L ig h t 4 w ill indicate the correct solution: lig h t 4 O N indicates th a t the solution represented by the
slide switches is CORRECT; lig h t 4 OFF indicates th a t the solution is N O T CORRECT.
The com plete program fo r the "B o o le a n " Solution is:
1U /1S 2 W /3 U 4 B /4 -
1S/2S 3 R /4 R 4 U /5 V
1 T /2 R 3 S /3 V 4 U /1 V
2 R /2 V 3 T /4 T 4 V /4 +
2 U /3 W 4 A /4 S 5 W /1 U
65
BOOK IV
In the previous books, we have fre q u e n tly made use o f the two-valued binary code. W e have
seen th a t this is a convenient representation fo r the o n -o ff nature o f the com puter's components.
Let us now consider the binary number system which is basic to the fu n ctio n in g o f a com puter system.
A ll o f us have been ta u g h t to th in k in the decimal number system. The decim al system has ten
d iffe re n t symbols— zero through nine— which can be used alone and in com bination to represent
num erical concepts. The binary system, however, uses only two d iffe re n t symbols— zero and one
— to represent the same num erical concepts.
Let us consider a th re e -d ig it decim al number: fo r example, 547. W e know th a t th is a ctu a lly
means 500 plus 40 plus 7— or 5 tim es 100 plus 4 tim es 10 plus 7 tim es 1. In other words, we
know th a t the right-m ost d ig it represents the num ber of l's (units) in a num ber, the next d ig it to
the le ft represents the num ber o f 10's in the number, the next d ig it to the le ft represents the num
ber o f 100's in the num ber, and so on.
Now let us see why this is so. Suppose we s ta rt counting from 0. W e go 0, 1, 2, 3, 4, 5, 6, 7,
8, 9. Now we have used up a ll o f the symbols available in the decim al system. To continue, we
m ust invent a m ethod fo r handling numbers greater than 9. W e do th is by placing a 1 to the le ft
and a 0 in the fa r rig h t position (called the "lo w order p o s itio n ") so th a t we now have " 1 0 " which
represents one ten and no ones. S im ilarly, if we reach 99— which represents 9 tens and 9 ones—
and then add one more we m ust invent a m ethod fo r handling numbers larger than 99. W e do
this by placing a 1 to the le ft and 0's in the two low order positions, giving 100— 1 tim es 100 plus
0 tim es 10 plus 0 tim es 1.
So we have a sim ple rule fo r fo rm in g any num ber system: when we run out of symbols in the
low order position, we place a 1 in the next higher position and return the low order position to 0.
N otice w hat this means: if we have 70 symbols, the low order position represents l's ; the next
high order position represents 10's; the next high order position represents 100's; and so on. Each
tim e we move one position to the le ft the "w e ig h tin g " o f th a t position is ten tim es as great as the
" w e ig h tin g " o f the position to the right.
Now notice th a t if we had only 5 symbols— 0, 1, 2, 3, 4,— to w rite the next higher num ber
(5) we w ould have to place a 1 in the le ft position and a 0 in the rig h t to represent one 5 and
no l's .
The bina ry system is a c tu a lly sim pler than the decim al system. W e count 0, 1 and then we
have run out o f symbols. So the next symbol (to represent 2) m ust be 10 representing one 2 and no
l's . Three is w ritte n 11, representing one tim es 2 plus one tim es 1. Once again, we have run out
o f symbols. To w rite 4 we must w rite 100, representing 1 tim es 4 plus 0 tim es 2 plus 0 tim es 1.
Thus the rule fo r fo rm in g numbers in the binary system is: the low-order d ig it represents l's ,
the next le ft d ig it represents 2's, the next le ft d ig it represents 4's, and so fo rth . Let us now count
fro m 0 to 10 in bina ry numbers:
67
:im a l B inary
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
N otice th a t each tim e we add 1 to a b inary num ber— every tim e we count from one num ber
to the next— the fa r rig h t position changes, either from a 0 to a 1, or fro m a 1 to a 0. A nd, if the
right-m ost position is a 1 and 1 is added, the right-m ost position changes from a 1 to a 0 and the
next le ft position also changes— e ither from a 1 to a 0 or fro m a 0 to a 1.
Since a com puter works in the bin a ry system, it m ust then be capable o f changing— either
from a 1 to a 0, or fro m a 0 to a 1, i f it is to perform a rith m e tic. W e have already become ac
quainted w ith a program w hich perm its the com puter to do just this— the single-inpu t flip -flo p
described in Book II.
5 + /5 H 6G /6 F
5 H /6 H 5 C /6 C
5 G /5 F 6 C /6 -
W e w ill now add to the program so th a t when pushbutton 6 is pushed, relay 6 w ill go to the
same state th a t relay 5 is in. T his w ill require the fo llo w in g addition al connections:
68
6H /6Y 5K/6F
6 X /5 L 5N/6E
A g a in we w ill add to the program so th a t when pushbutton 6 is released, relay 5 w ill go to the
opposite state from relay 6:
6 Z /6 L
6 K /5 E
6 N /5 F
A n d fin a lly , we w ill add an in d ica to r lig h t to show w hat state the flip -flo p is in:
6 G /6 A 6 B /6 -
W e now have a s in g le -in p u t-flip -flo p program m ed on M IN IV A C . The c irc u it diagram fo r this
is:
However, our sin gle-inp u t flip -flo p s till cannot be used fo r a rith m e tic : it does not provide a
" c a rry s ig n a l". T h a t is, it does not n o tify us when it has changed from 1 to zero. A nd, since all
contacts on both relays are used, we cannot arrange fo r a carry signal by m erely adding connec
tions.
The solution to th is d iffic u lty is to b u ild a d iffe re n t version of the single-inpu t flip -flo p — one
which leaves contacts free fo r the program m ing of a carry signal. The version o f the flip -flo p which
we w ill use d iffe rs fro m the previous one in another respect as well. The stable states o f the flip -
flo p when the pushbutton is up are either both relays ON or both relays OFF. For this program , lig h t
5 is used to indicate the state o f the flip -flo p . L ig h t 6 is used only to provide a path fo r current when
relay 6 is "s h o rte d -o u t" (OFF); lig h t 6 is not used as an in d ica to r in this program . The program
and c irc u it diagram fo r th is flip -flo p are:
69
S © -g .5 - 6, » © a — .s -
Program:
5 + /5 G 6J/6E
5 H /5 F 6E /6A
5 F/6F 6 B /6 —
5 C /6C 5 H /5 A
6 C /6 — 5B /5 —
5 J /6H 6 + /6 Y
6G /5E 6 X /6 H
W e now have a single-inpu t flip -flo p w ith contacts free fo r a carry signal. W ith the power
OFF, program this flip -flo p on your M IN IV A C 601. Then:
1. T u rn power ON. N otice th a t both relays 5 and 6 are OFF.
2. Push and release pushbutton 6. N otice th a t both relays 5 and 6 are now ON.
3. Push pushbutton 6, but do not release. N otice th a t relay 5 is OFF; relay 6 is ON. W e w ant a
carry signal to occur N O W .
To add the carry signal, we w ill add the connections:
5 G /5 N 6 K /4 A
5 L /6 L 4 B /4 -
L ig h t 4 w ill now indicate th a t a carry is ta k in g place.
W e now have a basic com puter a rith m e tic device— the single-input flip -flo p w ith carry. The
c irc u it diagram looks like this:
-•6 -
6 + *~ 6Y 6X
70
W e can use single-input flip -flo p s as "b u ild in g blo cks" fo r more com plex a rith m e tic devices.
For exam ple, three flip -flo p s can be wired together on your M IN IV A C to produce a counter which
operates as follows:
I 1 J pushbutton
6
FLIP-FLOP carry FLIP-FLOP carry FLIP- F .OP
•
A B to A B C to B C
As pushbutton 6 is pushed and released again and again, this device w ill store in binary code the
num ber o f tim es the pushbutton has been pushed. The follow ing ch a rt shows w hat happens to
each stage o f the counter as the pushbutton is pushed and released, pushed and released: (the
ch a rt is read from rig h t to left).
0 NO 0 NO 0 UP 0
0 NO 0 NO 1 DOWN
0 NO 0 NO 1 UP 1
0 NO 1 YES 1 DOW N
0 NO 1 NO UP 2
0 NO 1 NO 1 DOWN
0 NO 1 NO 1 UP 3
1 YES 1 YES 1 DOWN
1 NO 0 NO UP 4
1 NO 0 NO 1 DOW N
1 NO 1 NO 1 UP 5
1 NO 1 YES 1 DOWN
1 NO 1 NO UP 6
1 NO 1 NO 1 DOWN
1 NO 1 NO 1 UP 7
1 YES 1 YES 1 DOW N
0 NO 0 NO 0 UP 0 or 8
T his counter, shown in the preceding block diagram , can be b u ilt on the M IN IV A C as the
fo llo w ing experim ent demonstrates:
71
w ill be able to b u ild a th re e -b it counter (using tw o relays fo r each flip -flo p ). T his counter w ill allow
us to count fro m 0 to 8.
The c irc u it diagram w hich follow s is fo r the m iddle b it (or " 2 " b it) o f the counter. The "h ig h
o rd e r" and "lo w o rd e r" bits (th a t is, the " A " b it and the " 1 " bit) are identical except th a t no "c a rry
o u t" is required fo r the high order b it and the "c a rry in " to the low order b it is supplied through
pushbutton 6. The program fo r the entire counter is given below w ith the c irc u it diagram fo r the
m iddle stage:
1A /2E 2 C /3 C 3 J /6K 5F /5 H
IB /1 — 2E/2J 3L/4 L 5 G /5 +
1C /2C 2 F /4 A 3N /4 H 5 J /6H
1 E/2 G 3A /6E 4 B /4 — 5 J /6 X
1F/2F 3B /3 — 4 C /5 C 5 L /6 L
1F/1H 3 C /4 C 4 E /4 J 5 N /6 H
1G /1 + 3E /4G 4F /5 A 6 A /6 F
1J/2H 3 F /3 H 5 B /5 — 6 B /6 —
1J/4K 3 F /4F 5 C /6 C 6 C /6 —
2 A /4 E 3G /3 + 5E /6G 6 E /6 J
2B /2 — 3 J /4 H 5F/6 F 6 Y /6 +
Procedure:
1. T u rn power ON. Push pushbutton 6 and release. B inary ou tp u t lights 4, 5 and 6 w ill read OFF,
OFF, ON or 001. The B inary C ounter is displaying a 1.
2. Push pushbutton 6 again and release. Binary o u tp u t lights 4, 5 and 6 w ill now read OFF, O N,
OFF or 010. The B inary C ounter is now displaying a 2.
3. Push and release pushbutton 6 several times. Each tim e a fte r releasing the pushbutton, note
the b in a ry num ber displayed in lights 4, 5 and 6. Compare your num bers w ith the table o f binary
numbers on page 66.
Y ou w ill notice th a t the counter repeats a fte r it has reached 7. T his is a result o f the fa c t th a t
the counter is made up o f 3 flip -flo p s . Each flip -flo p has 2 stable states (0 or 1), so the com bination
o f 3 flip -flo p s has 23 or 8 stable states. These 8 stable states represent the binary numbers 0
through 7.
As you push pushbutton 6 several tim es, notice th a t the low order flip -flo p (represented by
lig h t 6) changes each tim e the pushbutton is pushed and released. The low order flip -flo p repre
sents 1's (units). The next flip -flo p to the le ft (represented by lig h t 5) changes every other tim e the
pushbutton is pushed and released. T his flip -flo p represents 2's. A nd o f course, the high order
72
flip -flo p (represented by lig h t 4) changes every fo u rth tim e the pushbutton is pushed and released;
the high order flip -flo p thus represents 4's.
You w ill notice th a t the m iddle flip -flo p changes on a regular basis; it changes every tim e the
low order flip -flo p changes fro m 1 to 0. The high order flip -flo p behaves s im ila rly— it changes
every tim e the m iddle flip -flo p changes from 1 to 0.
R eferring again to the table o f bin a ry numbers, we can see th a t this is a characteristic o f
bina ry numbers: adding 1 to a b inary num ber changes the low order b it— either fro m 0 to 1 or
from 1 to 0. A ll other, higher order, bits change i f and only if the b it to the rig h t is changing from
1 to 0.
Leave the B inary C ounter on the M IN IV A C fo r Experim ent 2.
Procedure:
1. B uild the counter or, if you have the counter from experim ents 1 and 2 program m ed, make
the necessary m odifications. If slide switch 6 is LEFT, the counter w ill count UP; if slide switch 6
is RIGHT, the counter w ill count DOW N.
2. Subtract 4 fro m 7 as follows:
a. M ove slide switch 6 to the LEFT.
b. Enter the larger num ber (7) by pushing pushbutton 6 the correct num ber o f tim es. The
counter is now displaying the larger number.
73
c. M ove slide switch 6 to the RIGHT.
d. Enter the sm aller num ber (4) by pushing pushbutton 6. The counter is now displaying the
answer: 7 — 4 = 3.
Note: a d dition is carried o u t exa ctly as in experim ent 2 when slide switch 6 is LEFT.
2. B IN A R Y A D D IT IO N
11010
11100
0 0 1 1
+0 +_]_ +0 -M
0 1 1 10
The problem above illustrates how a b in a ry adder fo r a com puter must work. Each b it of
the adder m ust be able to accept three inputs:
a. the firs t num ber to be added
b. the second num ber to be added.
c. a carry fro m the b it to the righ t.
Each b it o f the adder m ust also be able to yield tw o outputs:
a. the sum
b. the carry.
Let us call the three inputs " A " , " B " , and "c a rry in " ; and let us call the two outputs "s u m "
and "c a rry o u t". N otice th a t the sum w ill equal 1 if and only if either one or three o f the inputs is
1. Carry out w ill equal 1 if and only if e ither two or three o f the inputs are 1.
If we restrict the in p u t to only A and B, we can b u ild the follow ing table showing inputs and
outputs o f an adder:
00 0 0
0 1 0 1
1 0 0 1
1 1 1 0
74
The c irc u it w hich a c tu a lly perform s this operation is called a "h a lf-a d d e r w ith c a rry ". A h a lf
adder w ith ca rry is a device w ith two inputs and tw o outputs such th a t the sum w ill equal 1 if and
only if one and only one o f the inputs is 1. In other words, the sum c irc u it is an EITHER BUT N O T
BOTH c irc u it. The fo llo w in g experim ent illustrates the operation of a half-adder w ith carry.
Experiment 4: A Half-Adder with Carry
In th is experim ent we w ill b u ild and test a sim ple h a lf-adde r w ith carry. The c irc u it and pro
gram are:
Program:
5 A /6 U 6 R /6 Z
5 B /5 - 6 T /6 X
6A /6S 6 T /6 V
6 B /6 - 6 Y /6 +
The entire program requires one pushbutton, one slide switch and two lights. The slide switch rep
resents in p u t A ; the pushbutton represents in p u t B. The lights represent the tw o outputs: lig h t 6
represents the sum; lig h t 5 represents carry out.
Procedure:
1. T u rn power O N. M ove slide switch 6 to the R IG H T : in p u t A is now 0. Donot push pushbutton
6: in p u t B is 0. L ig h t 5 and 6 are OFF: sum is 0 and carry out is 0.
2; Push pushbutton 6 and hold it down. In p u t B is now 1. L ig h t 6 comes O N , in d ica tin g th a t the
sum is I , T his is equivalent to the m athem atical statem ent: 0 + 1 = 1.
3. Release pushbutton 6 and move slide switch 6 to the LEFT. Input A is now 1; in p u t B is 0.
L ig h t 6 comes O N , in d ica tin g th a t the sum is 1:1 + 0 = 1 .
4. W ith the slide switch LEFT, push pushbutton 6. L ig h t 6 goesOFF and lig h t 5 comes ON.
This represents the m a them atical statem ent: 1 + 1 = 0 and ca rry 1.
I f we now have three inputs (A, B, and ca rry in) and two outputs, the table o f values looks
like this:
Carry In Carry Out Sum
75
The c irc u it w hich a c tu a lly perform s th is operation is called a " f u ll adder w ith c a rry ", and is
made up o f two half-adders as follows:
SUM
Like the single-inpu t flip -flo p w ith carry, the half-adder w ith carry is a basic com puter c ir
cu it. H alf-adders can be used as "b u ild in g b lo cks" fo r more com plex a rith m e tic devices— an ex
am ple o f w hich is the fu ll adder.
5 A /6 U
5 B /5 —
5C/6S
5 F /5 —
5G/6J
5 H /5 +
5J/6G
6 A /6 H
6 B /6 —
6 J /6 L
6 K /6 U
6 R /6 Z
6 T /6X
6 T /6V
6 Y /6 +
76
Relay 6 represents a ca rry in from a previous stage. Relay 5 represents the sum o f inputs A and
B; this sum w ill be added to the carry in to give the sum fo r the fu ll adder. N otice th a t a carry
signal m ay come from either o f two places: either from the half-adder representing the slide
switch and pushbutton (inp ut A and input B), or from the half-adder representing the carry in (re
lay 6) and the sum o f the inp u t (relay 5). Either half-adde r can produce a carry signal.
Procedure:
1. T u rn power ON. M ove slide switch 6 to the RIGHT; Input A is 0. Do not push pushbutton 6; in
put B is 0. Relay 6 is OFF; carry in is 0. Lights 5 and 6 are OFF. This is equivalent to the m athem at
ical expression: 0 + 0 + 0 = 0.
2. M ove slide switch 6 to the LEFT; input A is now 1. L ig h t 6 comes O N: 1 + 0 + 0 = 1 .
3. M a n u a lly move relay 6 to the le ft to indicate th a t carry in is 1. L ig h t 6 goes OFF and lig h t 5
comes O N : 1 + 0 + 1 = 0 and ca rry 1.
4. T ry other com binations o f inputs by moving slide switch 6, pushing pushbutton 6, a n d /o r
m a nu a lly m oving relay 6.
W e have now seen how two half-adders can be combined to produce a fu ll adder. Full adders
can in tu rn be used as b u ildin g blocks fo r adders capable o f accepting greater inputs and yie ld
ing greater outputs. The follow in g experim ent illustrates the com bination o f three fu ll adders to
produce a "th re e -b it adder".
2 C /3G 3L /4 X 5K /6 W
2 F/3F 4 A /4 V 5 L /6 A
2G /4S 4 B /4 — 5 N /6 U
2 H /4 Y 4E /5F 5 R /6 T
2 K /4 W 4F/5S 5T /6 R
2 L /2 + 4 G /5 U 5 T /5 V
2 N /4 U 4 H /4 N 5 Y /6 V
3 A /M 1 0 4 K /5 Z 6B /6—
3B /3 — 4 L /5 A 6E /6—
3 C /4G 4 N /5 X 6 G /6R
3F/4E 4 Y /5 Y 6 H /6 X
3 G /3 N 5 B /5 — 6J/6K
3 H /4 Z 5C /6K 6 L /6 Z
3J /4T 5F/6E 6 N /6 T
3K /4R 5G /6S 6 V /6 Y
3 K /M 1 0 5 H /5 + 6 Y /6 +
The three fu ll adders which m ake up th is c irc u it are very much like the single adder o f ex
perim ent 5. However, the c irc u it has been m odified s lig h tly so th a t three adders use only five re
lays. The high order stage o f the adder is wired so th a t the carry from it is displayed by lig h t 3.
T his allows us to display a 4 -b it result w ith a 3 -b it adder.
Procedure:
1. T u rn power ON. Enter a binary num ber in the adder using slide switches 4, 5 and 6. For ex
am ple, to enter bin a ry 4 (100) set slide switch 4 LEFT, slide switch 5 RIG HT and slide switch 6
RIGHT.
2. Enter another b ina ry num ber using pushbuttons 4, 5 and 6. For exam ple, to enter binary 5
(101) push button 4 and 6; do not push pushbutton 5.
3. The answer w ill be displayed in bin a ry o u tp u t lights 3, 4, 5 and 6. For example, if lights 3
and 6 are ON and ligh ts 4 and 5 are OFF, the answer is 1001 (9).
77
3. H O W COMPUTERS SUBTRACT
W e have now discussed two methods o f com puter addition. The firs t method was a counter
which was dependent upon the num ber o f tim es an in p u t button had been pushed. The second
m ethod used three fu ll adders w ith ca rry which allowed us to enter two 3 -b it numbers sim ultane
ously.
13 1101 ^ 1101
-4 -0 1 0 0 1011
W e now add in the usual bin ary m anner except th a t if a carry occurs o u t o f the high order b it,
we w ill add it to the low order b it:
1 1 0 1
1 0 1 1
J_ 0
1 0
1 0
© 1
1 0 0 1
A great advantage o f two's com plem ent a rith e m e tic is the fa c t th a t there is an autom atic
bookkeeping m ethod fo r in d ica tin g the sign o f the result. If a ca rry occurs out o f the high order
position, the subtraction has resulted in a positive number. On the other hand, if the ca rry does
not occur, the result is a negative number.
The experim ent w hich follows illu strates the operation o f two's com plem ent subtraction on
the M IN IV A C .
78
REMOVE these connections:
3 A / M 10 4 K /5 Z
3 L /4 X 6 H /6 X
3 H /4 Z 6 L /6 Z
4 N /5 X
4. COMPUTER M U L T IP L IC A T IO N
Binary Multiplication
In the decim al num ber system we can m u ltip ly by ten m erely by placing a zero to the rig h t
o f the number. S im ila rly, in the b in a ry system we can m u ltip ly by two by placing a zero to the rig h t
o f the num ber.
To m u ltip ly in the bin ary system, we need o n ly rem ember th a t:
0 X 0 = 0 0 X 1 = 0
1X 0=0 1X1=1
and:
10 (2) X 1 = 1 0 (2 )
100 (4) X 1 = 100 (4)
1000 (8) X 1 = 1000 (8), etc.
In order to m u ltip ly in the b in a ry system on a com puter we w ill need a device known as a
shift register. A s h ift register shifts each b it o f a num ber one space to the le ft which, o f course, rep-
79
resents m u ltip lic a tio n by two. M u ltip lic a tio n by 4 is accomplished by s h iftin g le ft tw ice; m u lti
p lic a tio n by 8 is accom plished by s h iftin g le ft three tim es, and so on.
The fo llo w in g experim ent dem onstrates how a com puter can m u ltip ly using a m anual shift
register.
1A / I S 2 H /4 Y 3T /4 R 5L /6 A
1B / 1— 2K /4 W 4 A /4 V 5 N /6 U
1C /3U 2 L /2 + 4 B /4 — 5R /6 T
1 F /2 F 2L/2S 4E /5F 5 T /6 R
1G /2 W 2 N /4 U 4F/5S 5 T /5 V
1 H /2 A 2 S /2 V 4 G /5 U 5 Y /6 V
1J/2U 3A /3S 4 H /4 N 6 B /6 -
1K /1T 3 B /3 — 4 K /5 Z 6 C /M 1 0
1L/2R 3C /4G 4 L /5 A 6E /6—
1 N /1 R 3F /4E 4 N /5 X 6G /6R
1 N /2 T 3 G /3 N 4 Y /5 Y 6 H /6 X
1U / M 1 0 3 H /4 Z 5B /5 — 6J /6K
1V /1 T 3J /3R 5C /6K 6 L /6 Z
2 B /2 — 3 J /4T 5F/6E 6 N /6 T
2 C /3G 3 K /4 R 5G /6S 6 V /6 Y
2F/3 F 3L /4 X 5 H /5 + 6 Y /6 +
2G /4S 3 V /3 T 5K /6 W
80
Multiplication by Numbers other than Powers of Two
M u ltip lic a tio n in the bina ry system can be done exactly as it is in the decim al system by m u l
tip ly in g by each b it o f the m u ltip lie r and adding. For exam ple:
1011
l_l
1011
1011
100001
This same operation can also be done in a s lig h tly d iffe re n t m anner. For instance, let us m u ltip ly
111 ( 7 ) X 110 (6)
Let:
1 1 1 = M u ltip lic a n d
110 = M u ltip lie r
Then: 111 X 110 = ?
First, we m u ltip ly the m u ltip lic a n d by the left-most b it o f the m u ltip lie r:
1 1 1 X 1 = 111
1110
To this, we add the product o f the m u ltip lic a n d and the second left-m ost b it o f the m u ltip lie r:
1110
1 1 1 X 1 = 111
10101
101010
111X0= 000
101010
111 X 1 1 0 = 1 0 1 0 1 0 o r 7 X 6 = 42
M u ltip lic a tio n on a com puter is carried out in ju st th is fashion, using an accumulator. The accu
m u la to r acts just like a piece o f paper on which we record the steps which were illu stra te d above.
The fo llo w in g experim ent demonstrates m u ltip lic a tio n on a com puter using an accum ulator.
81
The accumulator, w hich is wired on the console from experim ent 8, is a device which is capable o f
p erform in g both additions and shifts.
The left-m ost b it o f the m u ltip lie r is 1, so we w ill enter into the accum ulator:
110 X 1 or 110.
W e w ill do this by pushing the appropriate pushbuttons (in this case, pushbuttons 4 and 5.)
The slide switches should a ll be RIGHT.
As we push the pushbuttons, the o u tp u t lights display the num ber— 000110. Record this
num ber on a piece o f paper and release the pushbuttons.
Enter the num ber w hich you recorded in th e slide switches and perform a le ft s h ift one b it
as described in experim ent 8. The o u tp u t lights w ill now read 001100.
The next left-m ost b it o f the m u ltip lie r is 0. W e w ill add nothing to the accum ulator, but
w ill s h ift le ft one b it. The o u tp u t lights now show 011000.
The next left-m ost b it o f the m u ltip lie r is 1, so we w ill add— through the pushbuttons:
1 1 0 X 1 or 110
The ou tp u t lights now show 011110. Record th is num ber on a piece o f paper and release
the pushbuttons. Enter the num ber which you just recorded in the slide switches and s h ift
le ft one bit. The o u tp u t lights now show 11100.
The low order b it o f the m u ltip lie r is 0, so it is not necessary to add anything more into the
accum ulator. The bina ry o u tp u t lights now show the fin a l result: 11100 or 60.
Select other numbers and m u ltip ly them on the accum ulator. The lim it o f this accum ulator is
111111 (63).
5. D IV IS IO N ON A COMPUTER
Binary Division
D ivision in the bin ary system is perform ed exactly as in the decim al system. For example, to
divide 11011 (27) by 101 (5):
W
101 | 11011
101
111
101
10
82
Perform ing th is sequence o f operations on a com puter can, however, be d iffic u lt. In fa ct,
m any com puters have no provision fo r a u to m a tic division. For such a com puter, a subroutine is
w ritte n so th a t the com puter can carry out the individual steps o f a division. T h a t is, the com
puter is given a program of instructions which, when followed, pe rm it the com puter to divide.
The follo w in g experim ent demonstrates the steps involved in certain types o f com puter d iv i
sion. The actual program required is a com bination s h ift register and subtractor.
1 A /1 V 2F/3F 3 G /3 N 4 H /4 N
1B / l — 2 L /2 + 3 K /M 1 0 4S /4 +
1R /3K 2R /3 T 3 R /6G 5 A /5 R
1S/2G 2S/4F 3S/5G 5 B /5 -
1 T /3 J 2T /3 R 3 T /6 N 5 C /6 K
1 U /2 N 2 T /2 V 3 U /5 N 5F/6E
1W /2K 2 U /4 G 3 V /3 Y 5 H /5 +
1 X /3 H 2 X /4 K 3 W /5 K 5 S /5 +
1 Y /2H 2 Y /6 S 3 X /6 L 6 A /6 R
1 Y /2 Y 2 Z /4 N 3 Y /3 + 6B /6 —
1 Z/3 L 3A /5 L 3 Z /6 H 6E /6—
2 A /4 L 3 B /3 — 4A /4 R 6 F /M 1 0
2 B /2 — 3 C /4G 4 B /4 — 6 J /6K
2C /3G 3F /4E 4E /5F 6 S /6 +
011 O il
101
Place the dividend on the slide switches. The dividend is now displayed in the o u tp u t lights
as 011011.
The divisor is greater than the left-m ost three bits o f the dividend. Therefore, s h ift le ft one
bit.
W e now have:
110 110
101
Subtract the divisor from the dividend by entering the divisor on pushbuttons 1, 2 and 3. The
result w ill appear in the o u tp u t lights:
110 110
101
001 110
Place this result in the slide switches. Since the subtraction proceeded properly, we w ill add
1 to the low order b it and place this new result in the slide switches:
83
001
To go on to the next step, s h ift le ft one b it and again w rite the divisor below the left-m ost
three bits:
O il 110
101
The divisor is greater th an the le ft-m ost three bits. Therefore, we w ill s h ift le ft one bit:
111 100
101
W e can now subtract by entering the divisor in pushbuttons 1, 2 and 3 and entering the re
sult on the slide switches:
111 100
101
010 100
Since the subtraction proceeded properly, we w ill add 1 to the low order b it to yield:
010 101
The division has now been com pleted: There have been as m any shifts le ft as there were bits
to the rig h t o f the ve rtical line. The answer is to the rig h t o f the vertical line; the rem ainder is
to the le ft o f the ve rtical line:
6. CONVERSIONS
Since com puters w ork in the b in a ry system and we generally w ork in the decim al system,
an im p o rta n t fu n c tio n o f a com puter is conversion between the two systems. The fo llo w in g experi
ments give the program s fo r conversions between the bin a ry and decim al systems.
84
A card is fed through a card reader a t a constant rate o f speed. W hen the edge o f the card is
detected in the reader, the counter in the com puter comes on. W hen a punch in the card is de
tected, the counter goes o ff and a b inary num ber corresponding to the decim al num ber
punched on the card is displayed in the counter. This method depends on the tim e lapse be
tween the card edge and the punch.
It is possible to b uild a converter o f this type fo r the M IN IV A C , using the rotary switch to
actuate a counter. Since you are fa m ilia r w ith the rotary switch m echanism and a counter, you
w ill be able to b u ild such a device yourself.
The second method fo r conversion fro m decim al to binary is essentially a decoding scheme. In
this method, the com puter is program m ed to recognize a decim al num ber by the location o f the in
p u t pulse; a series o f d ire ct contacts then convert th is pulse to the appropriate binary number.
The follow in g program mechanizes such a method. Setting the rotary switch to any num ber
from 0 through 10 w ill cause the equivalent binary num ber to appear in the ou tp u t lights.
Program fo r Decimal to Binary Converter:
1 E /D 1 0 3 B /3 — 4 H /4 L 6 B /6 —
1 F /2 F 3 E /D 7 4 H /5 H 6 E /D 3
1G /3com 3 F /4 F 4 K /4 c o m 6 F /6 —
1 H /1 L 3 G /6 E 5 A /5 c o m 6G /6co m
1 K /6 K 3 H /3 L 5 B /5 — 6 H /6 L
1 L /2 L 3 K /4 K 5 E /D 5 6 H /6 +
2 E /D 9 3 L /4 L 5 F /6 F 6 K /5 c o m
2 F /3 F 4 A /4 c o m 5 G /6 G D 1/ 6com
2 G /5 G 4 B /4 — 5 H /5 L D 2 /5 c o m
2 H /2 L 4 E /D 6 5 K /4 c o m D 4 /4 c o m
2 H /3 H 4 F /5 F 5 L /6 L D 8 /3 c o m
2 K /3 c o m 4 G /5 co m 6 A /6 c o m D 1 6 /M +
3 A /3 c o m
85
A PPENDIX
1 A /1 X 3 A /3 X 5 A /5 X
1B / l — 3B /3 — 5 B /5 —
1C /2C 3 C /4 C 5 C /6C
1E/2N 3 E /4N 5 E /6 N
1 F /1 G 3F/3G 5F/5G
1F/2K 3 F /4 K 5F/6K
1 G /1X 3 G /3 X 5 G /5 X
1 H /2 H 3 H /4 H 5 H /6 H
1L/D1 3L /D 3 5 L /D 5
1 Y /2 Y 3 Y /4 Y 5 Y /6 Y
2 A /2 X 4 A /4 X 6 A /6 X
2 B /2 — 4 B /4 — 6 B /6 —
2C /3C 4C /5C 6 C /6 —
2 E /3 N 4E /5N 6E /D 7
2 F/2G 4F/4G 6F/6G
2F /3 K 4 F /5 K 6 G /6 X
2 G /2 X 4 G /4 X 6 H /6 +
2 H /3 H 4 H /5 H 6L /D 6
2 L /D 2 4L /D 4 6Y /D 1 6
2 Y /3 Y 4 Y /5 Y D 1 6 /M +
86
To use the automatic shift register:
Enter a bina ry num ber in the s h ift register by pushing and releasing the appropriate pushbut
tons. The num ber w ill appear in the o u tp u t lights.
S h ift LEFT one b it by slowly tu rn in g the ro ta ry switch d ial one com plete revolution. The shifted
b in a ry num ber w ill now appear in the o u tp u t lights.
To s h ift le ft more tha n one b it sim ply tu rn th e rotary switch dial the desired num ber o f revo
lutions.
1C /4H 3J/D 3 5 U /5 Z
1 F /2 F 3 K /D 6 5 W /5 X
1 G /3H 3 N /D 2 5 Y /6 V
1H /6G 4 A /5 R 6 A /6 C
1 J/2H 4 A /4 K 6B /6—
1K /3L 4B /4 — 6C /6 V
1 L/6J 4 C /5 V 6 F /6 —
1N /2L 4 F/5 F 6 H /5 —
2 C /4 K 4G /5J 6S /6 W
2C /3C 4 H /5 A 6 U /6 Z
2 F/3 F 4J/5G 6 W /6 X
2 G /D 5 4L/4J 6 Y /6 +
2 J /D 1 5 B /5 - D 16/D 19
2 K /D 4 5 C /6R D 1 7 /M +
2 N /D O 5F/6F D 1 8 /M —
3 F/4 F 5 H /5 +
3 G /D 7 5 S /5 W
87
M IN IV A C 601 A N D THE M IN IV A C M ANU AL
CORPORATION
Copyright (c ) 1961
by
S C IE N T IF IC
D EV ELO P M EN T
How Computers Work for Man
C O R P O R A T IO N
BOOKS V-VI
EX LIBRIS ccapitalia.net
Copyright ( c ) 1961 by Scientific Development Corporation, 372 M ain Street, Watertown, Massachusetts
CONTENTS
iii
4.C O M PU TER A P P LIC A T IO N S IN T H E SO C IA L A N D P O L IT IC A L SC IEN C ES 36
Vote Registering Machines 36
Computers and Election Predictions 36
Language Translation 37
Symbols and Meaning 37
Translation of Symbolic Combinations 37
Simple Translations between English and German 38
Job Selection 40
Mate Selection 42
Behavioral Simulations 44
Associative Memory 44
A Simulated M aze Solver 44
A P P E N D IX : Programming Languages 46
Preface 51
T; M IN IV A C AS AN O PPO N EN T 51
The Secret Code 51
The Combination Lock 52
The Electronic Maze 53
The Match Game 54
Tic-Tac-Toe 55
2. M IN IV A C AS A REFEREE 56
The Philosophic Tug of W ar 56
The Mind Reading T ric k 57
The Fortune Teller 58
The Random Number Generator 59
Scissors, Paper or Stone 59
Reaction Tim e Tester 60
iv
BOOK V
PREFACE
The previous books in this series have examined various functions performed by modern
high-speed digital computers. In this book, M IN IV A C 601 is used to demonstrate how these func
tions are combined in various situations to enable the digital computer to do a specific job. Ex
amples of computer applications are examined in five major sections.
The first section— Simple Computer-like Devices Encountered Every Day— presents a number
of fam iliar basic switching circuit devices. These applications involve relatively simple, special-
purpose machines which are not "com puters" in the general sense in which computers were de
fined in Book II, although they perform computer-like functions.
The second section— Computer Applications in Business and Industry— contains a description of
some general applications which computer systems find in business and industry. Included in this
section is a discussion of how computers "re a d " printed material in processing bank checks. Indus
trial systems used to provide automatic process control and checking of production are also in
cluded in this section.
Section three— Computer Applications in Science and the Military— contains examples of prob
lem-solving and control applications in which large computers are now being used. In addition to
illustration of the kinds of problems which computers are helping scientists to solve, this section
contains experiments demonstrating how computers are utilized in radar tracking, automatic
coding systems, and missile check-out procedures.
Section four— Computer Applications in the Social Sciences— examines the potentials of com
puters in such areas of election prediction, language translation, and simulation of human learn
ing functions.
Although the first four sections of this book provide a summary of the many areas in which
high-speed computers are finding applications, there is one computer application which cannot
reasonably be considered under any of the four headings discussed above. Although this fifth area
is probably the least important of all computer applications, it may well be the only application
with which your friends are really fam iliar. Section five— Computer Application in Science Fiction
Films— is included to insure that you will be able to use M IN IV A C 601 to demonstrate how com
puters are used on the movie and T V screen.
Much work has recently been done in the development of "compiler programs" which permit
programmers to communicate instructions to computers using a language sim ilar to that used to
communicate mathematical problems to men. The compiler program converts the symbols of
mathematical and/or logical expressions into binary codes which can be processed by the com
puter. In the appendix to this book— Computer Programming Languages— commonly used program
ming languages are discussed.
1
the capacity or flexib ility of the more generalized high-speed digital computers discussed in later
sections of this book. These simple machines, however, provide excellent examples of specialized
computer functions used to perform some basic jobs for man.
2
C IR C U IT D IA G RA M — B U R G LA R A LA R M
3
C IR C U IT D IA G RA M — M ETRONO M E
C IR C U IT D IA G RA M — T R A F F IC LIG H T
4
Program for traffic light:
4 A /4 + D1/D2 D8/D9 D15/D0
4B/D11 D2/D3 D9/D10 D16/M—
5 A /5 + D3/D4 D1I/D12 D17/M—
5B/D7 D4/D5 D12/D13 D18/M +
6 A /6 + D5/D6 D13/D14
6B/D1 D7/D8 D14/D15
5
To use the program:
Turn power on. The "re d " light (light 4) comes ON. To cross the street: push pushbutton
5 until the "re d " light (light 4) goes OFF and the "green light" (light 6) comes ON. A fte r the
light has turned green, it will go to amber (light 5) and return to red again.
In actual practice, this tra ffic light would be tied to a complementary light facing the flow
of tra ffic . Th is tra ffic light, facing the pedestrian, would normally be red, the complementary
light would normally be green. Since the two lights are connected, changing the pedestrian's light
by pushing a button would autom atically change the complementary light.
Experiment 6: The Automobile Speed Timer
A s an example of a computer-like device encountered, we hope, not every day, consider the
device used by police who post the warning: "Speed Electrically T im e d ." The mechanism used
to determine the speed of passing cars depends essentially on a device which measures the time
which lapses as a car passes between two given points.
The actual devices use a variety of mechanisms (radar beam, switches on the road, etc.) to
indicate when a car has passed the two selected points. However, we can simulate the action of
the timing mechanism by pushing pushbuttons to indicate when a car passes the check points.
The signal that a car is passing the first check point will be indicated by pushing pushbut
ton 6; the signal that the car is passing the second check point will be indicated by pushing push
button 5. Pushing pushbutton 6 starts the timing motor (in this case the rotary switch); pushing
pushbutton 5 stops the motor. As the rotary switch turns, M IN IV A C will count its revolutions.
A fter the motor has stopped, we will be able to calculate the speed of the passing car.
6
The simplest way to calculate automobile speeds with the above program is to make up a
dial plate to cover the regular input-output dial. To make such a dial plate, follow these steps:
For example: assume that the checkpoints are 50 yards apart, and that the rotary switch
turns 45 full revolutions per minute. Then:
50
50 yards = ------ = .029 miles
1760
16
45 X — = 48 revolutions per minute
15
And if a car were to pass from the first checkpoint to the second checkpoint while the rotary
switch dial moved from 0 to 15, its speed would be:
To find the car's speed if the dial turned through two revolutions— from 0 to 15 and then from
15 to 14— we will divide the last figure by 2:
83.52
= 41.76 miles per hour.
Sim ilarly, if the dial turns through three revolutions— from 0 to 15, then from 15 to 14, then
from 14 to 13— the speed of the car is:
83.52
---------- = 27.64 miles per hour.
The dial plate will thus have a sequence of speeds depending upon the number of revolu
tions the rotary switch makes as the car passes between the check points. Since the program is
such that the relay indicator lights count the number of revolutions of the rotary switch, we will
know which speed to read by observing which relay lights are on.
The dial plate for the example above would look like this:
7
READ SPEED IN MPH FROM THIS
BAND IF:
RELAY LIGHT 5 IS ON
RELAY LIGHT 4 IS ON
RELAY LIGHT 3 IS ON
RELAY LIGHT 2 IS ON
RELAY LIGHT 1 IS ON
D IA L P LA T E— A U TO M O BILE SPEED T IM E R
8
For demonstration purposes, we can assume that there are only three switch locations: one
each on either side of the crossing, and one in the middle of the crossing. The switch in the mid
dle of the crossing must be so designed that cars passing over it will not close the gate.
The circuit diagram and program for a train gate control system are:
Program:
4C/5C 5F/5K 6J/D17
4F/4X 5G/6F 6 L /6 +
4F/4K 5H /5+ 6L/6Y
4G/5G 5L/5X 6N/D18
4H/5H 5Y/6Y D0/M +
4L/5L 6C/6— D7/M—
4 Y /5Y 6G/6N D16/D19
5C/6C 6H/6—
5F/6X 6J/6K
9
Pushbutton 4 Pushbutton 5 Pushbutton 6
0 0 0
1 0 0
1 1 0
0 1 0
0 1 1
0 0 1
0 0 0
Notice that the gate closes (the pointer knob moves to the "gate closed" position— 7) as
soon as the first switch is activated and remains closed until none of the switches is activated
The same will be true for a train moving from left through the crossing, or for a train which en
ters the crossing, stops and backs out again.
Push pushbutton 5. This represents a car passing over the center of the crossing. Notice that
the gate does not close.
10
The program is:
5A/6C 5G/6E 6 F/6- 6N/D18
5B /5 - 5L/5X 6G/6N 6Y/D1
5B/6B 5N/6E 6H /6+ D1/M +
5C/5— 5Y/6Y 6J/6K D7/M—
5C/5H 6A/6K 6 L/6 - D16/D19
5F/6X 6C/6G 6J/D17
11
To use the program:
Set the "elevator” at the first floor by setting the pointer knob at DO. Turn power on. Out
put light 1 will come on indicating the location of the "elevato r". To call the "elevato r" to the
third floor, push pushbutton 3. To direct the "elevator" to the second floor, push pushbutton 2.
Notice that, even with the relatively complex circuit above, the system is still not able to
accept more than one command at once. Much more capacity is required for a control system
which will remember successive commands and select the appropriate next move.
12
Deposit 10<? in toll:
to deposit one dime, push pushbutton 4
to deposit two nickels, push pushbutton 5 twice
to deposit one nickel and five pennies:
push pushbutton 5 once; then set the rotary switch dial to 5 and push pushbutton 6
to deposit ten pennies:
set the rotary switch dial to 10 and push pushbutton 6.
When 10P has been deposited, output light 1 will come on indicating "T h a n k You— Go
A head ."
Push pushbutton 3 to "D rive A w a y."
The toll collector will re-set.
If you try to drive away without depositing enough money, the alarm will sound. To turn off
the alarm , deposit 10P. If you deposit more than 1OP, the automatic toll collector will accept the
extra money and do nothing about it.
Experiment' 11: The Telephone Dialing System
The telephone dialing system is an excellent example of a highly specialized computer sys
tem capable of handling a particular type of complex problem. The entire dialing system is far
too complicated for this discussion. However, we can examine one small segment of the prob
lem: the conversion of a dialed number into a type of binary code which can be understood by
the circuits of the telephone exchange.
The telephone dialing system uses a special binary code known as the Gray Code. This code
is binary in nature; that is, it uses only the digits 0 and 1. However, it does not follow the usual
rules for the development of a number system. The system is so designed that when moving from
any number to the next highest number there is a change of only one bit.
For this experiment, we will use a three-bit Gray Code which will allow us to count from 1
through 7. W e will use the Gray Code equivalent of zero for 8 so that we can represent the num
bers 1 through 8:
Decimal Number Three-Bit Gray Code
001
2 O il
3 010
4 110
5 111
6 101
7 100
8 000
The program which follows is in essence a conversion program from decimal to Gray Code.
The decimal number "d ialed " will be displayed in Gray Code on output lights 4, 5, and 6. This
represents only the first step in the handling of dialed numbers in a telephone system: the con
version of the dialed number to a form which can be processed at the telephone exchange.
The program is:
IC / 1 - 2N/6G 4E/5E 6L/6W
1C/1H 3A/6E 4F/5F 6R/6U
IF/DO 3B /3- 4H/6N 6S/D1
1G/4B 3C/4C 5A/5K 6U/D18
2C/3C 3E/4J 5B/6B 6V/D2
2E/3E 3F/4G 5C/6C D1/D3
2F/3F 3G/4A 5F/5K D2/D4
2F/3G 3 H /3 + 5H/6T D3/D5
2G/2N 3K/4E 5L/6H D4/D6
2H/5G 3L/6K 6A/6F D5/D7
2J/2K 3N/4F 6C/6— D6/D8
2J/6E 4B/5B 6F/6G D16/M +
2L/5J 4C/5C 6H /6+ D17/M—
13
To use the program:
W ith power off, set slide switch 6 R IG H T. Set the rotary switch dial at 0. Turn power on.
Slowly turn the rotary switch dial to the number you wish to "d ia l” . (Be sure that the pointer
knob is pointing directly at the number.)
Set slide switch 6 LE FT .
The rotary switch will return to 0 and the number "d ialed " will appear in Gray Code on out
put lights 4, 5, and 6.
(Note: output light 3 should be ignored.)
To " d ia l" another number, set slide switch 6 R IG H T and re-set the system by turning power
off and on again.
In the preceding experiments, various devices which exhibit certain computer-like charac
teristics have been examined. These devices share one common characteristic: they are designed
to perform a specialized and routine function. None is capable of performing all of the major
computer functions discussed in Book II. Moreover, none is capable of performing generalized
problem-solving functions.
In each case, though, a large-scale generalized computer could easily be programmed to
solve the specific problem. It is just not practical to have a full computer system to, for exam
ple, control the lights in a home. Therefore, simple computer-like devices are designed to per
form these specific tasks. Technically, any of these simple, highly specialized devices could be
called a computer since it can receive input, can process and/or store the input, and can yield
output. More accurately though, these devices should be called "com puter-like" because of their
extremely limited capabilities.
The computer systems discussed in Book II were general computers. T h at is, their input and
output capabilities allow them to handle a wide range of communication, and their processing and
storage units are such that various types of problems can be handled. These general computers
are used prim arily in situations where there is likely to be a great deal of variety in the type of
problem to be solved. A research organization, for example, would require the versatility of the
general computer if it were using the computer for "one-shot" problems (problems which would
only be programmed onto the computer once).
For routine problem-solving— for example, making out a weekly payroll— an organization
may find a special-purpose computer most practical. A special-purpose computer is just what its
name implies: a computer designed to handle a lim ited number of problems in a particular fash
ion.
Special-purpose computers are often made to order, in which case computer "building-
blocks" are frequently used. Computer building-blocks are simply generalized logical units which
perform particular tasks. A building-block might be a half-adder, or one bit of an accumulator,
or a single flip-flop. A ny number of building-blocks can be combined to produce a special-pur
pose computer to handle a specific problem.
When a special-purpose computer is in the design stage, the phrase "b la ck box" is often
used. This is just a convenient, if amusing, method of expressing the particular problem at hand.
When dealing with a black box, the designers are not concerned with how the system will actually
go about solving the particular problem; they are concerned rather with what the system must
do. The black box is essentially the processing section of a particular part of the problem-solving
unit. The inputs and outputs are specified; later in the design stage, building-blocks will be used
to carry out the requirements of the black box.
14
The system will have three inputs (A , B and C) and one output. Each of two inputs (A and
B) is a series of electrical pulses of different rates. The third input (C) is a re-set input. Inside
the computer are two counters: one counter counts the number of pulses from input A ; the sec
ond counter counts the number of pulses from input B. If at any time the contents of counter A
equal the contents of counter B, but do not equal zero, both counters will stop and a pulse will
appear as output. Input C will then set counters A and B to zero and the system will begin count
ing inputs A and B again.
The first step in the design of this special-purpose computer will be to "block diagram " the
problem; that is, we will represent the problem graphically so that we can see just what will be re
quired. The block diagram of our problem looks like this:
In this diagram, the black boxes are represented by the rectangles; the building blocks are
represented by the circles. The building blocks a re simply basic logical units which perform a defi
nite function. The black boxes, however, are specified only as far as input and output; the method
for arriving at the output as a function of the input is not defined. When we use a black box to
represent some part of our computer we are saying only "insert some circuitry which will do the
necessary job".
A t a later stage in the design of our computer, we can take each black box apart and select
the appropriate building blocks which are required. In actual practice, this job would probably be
done by the design department of the firm from which we were buying our special-purpose
computer.
A s an example of taking a black box to the building block stage, the "T est for Zero" black
box might look like this:
15
When the actual computer is built, the appropriate components will be wired together ex
actly as indicated in our sketches. Notice that when completed, our special-purpose computer is
actually only a particular combination of the basic logical units which we examined in Book III.
A general purpose computer, on the other hand, is a large number of basic logical units com
bined in such a way that particular combinations of them can be autom atically effected by in
ternal programming.
16
importance of this simple fact is often overlooked, sometimes with disastrous results. The basic
requirement of sufficient information leads to a list of jobs which a computer should not be
called upon to perform:
Non-repetitive calculations on small amounts of data.
Problem-solving where inadequate data is available.
Problem-solving where the exact procedure to be followed can not be specified.
Decision-making in situations where qualitative factors must be considered.
17
1) A comparison instruction is used to determine whether the man receives his guaranteed
rate or a job rate.
2) The appropriate rate is multiplied by the number of hours in regular and overtime ac
tivity and the appropriate amounts are stored in the reserved location.
3) A record of total hours on each job is accumulated and this information is stored in the
appropriate register.
4) A fte r total earnings have been determined, deductions are processed and final pay rec
ords and labor costs records are supplied as output. The following flow chart summar
izes the operation of this program:
18
T h is flow chart illustrates a relatively comprehensive job done by a computer using only
the simplest of operations. The only logical operation used to perform the job outlined above is a
"com parison" operation which is simply a logical A N D . In performing the comparison the com
puter compares each bit of the register containing the identification number for a particular man
with each bit of the register containing the identification number on the job record. If each bit of
the man's identification number register AND each bit of the register containing identification
number from the job record are the same, the comparison is satisfied and the computer proceeds
with the program.
The flow chart shows graphically one of the advantages of a computerized payroll system—
the ability to perform more than one job at one time. Notice that, in the same operation, the pay
roll is processed and the cost distribution is calculated. This is a valuable trait, particularly to a
large firm which has many operations, each of which must be correctly accounted for.
NEW
M ASTER
a
MASTER
o
TA P E TA P E
Dally Processing
19
Notice that of the five output card types two are "w arning" cards. Both the expedite and
exception cards alert management to the fact that some part of the system requires attention. As
in the payroll problem, cost distributions are built up as the inventory processing is done.
Check Processing
The use of computers to facilitate the physical handling of printed m aterials is effectively
illustrated in the computerized processing of bank checks. The actual job to be done is a book
keeping procedure and, as such, the instructions and procedures are not unlike those of the pay
roll problem.
The distinguishing aspect of the bank check problem is that the "in p u t" is a printed paper
(a check) rather than a punched card. In order to handle the problem then, the computer must be
able to "re a d " the printing. (This ability of a computer to "re a d " printing also arises in the proc
essing of credit billings.)
Previously, we have discussed how a computer "understands" information fed to it by recog
nizing the presence or absence of holes in a card, magnetic marks, etc. at particular locations.
The problem in "reading" printed characters is basically the same: the computer must be pro
grammed to recognize and interpret a "code" which identifies the input symbols. The "code" in
this case is the standard alphabet or standard arabic numbers.
The first step in communicating information to a computer as input in printed form is to
position the printing so that the computer can observe it. This is directly analogous to placing
punched cards in a reader, or loading magnetic tape on a magnetic tape reader. A variety of "read
ing" systems for printed material are used, and most require placing the printed material in a
device which either holds it or moves it to a light source or magnetic sensing device.
Once the material is positioned in front of the sensing equipment, these specialized input de
vices communicate to the computer the presence or absence of a magnetic or ink spot at a par
ticular location in a m atrix of light or of magnetic sensing elements. The process by which the
computer recognizes the symbols positioned against the m atrix can be demonstrated on M IN I-
V A C 's game m atrix.
For sim plicity, consider a m atrix composed of four sensing points: M l, M 3, M5 and M7.
Using this m atrix, M IN IV A C can be programmed to recognize simple geometric shapes. The pos
sible geometric shapes which M IN IV A C can recognize are:
POINTS
M1 M3
x X •
X X
M5 M7
L IN E S
M1 M3 M1 M3 M1 M3
M7 M7 M5 M5 M5 M7
T R IA N G LES
Ml M1 M3 M3 Ml M3
M7 M5 M5 M7 M5 M7
SQUARES
d
M1 M3
M7 M5
20
These various forms would be communicated to a commercial computer as information re
garding the presence or absence of spots of ink or magnetic material at the "sensing points" of
the m atrix. The "sensing points" of M IN IV A C 's m atrix respond to electricity rather than light
or magnetic ink. Therefore we will supply current to the various sensing points of the m atrix to
simulate the effect produced by the sensing elements in a printed character reader.
M lO / M lt
M 10/M 3 t
M 10/M 5t M5
This program for the recognition of geometric shapes is sim ilar in function to the Quantity
Recognition circuit discussed in Book III. A large computer would determine how many points in
its m atrix of sensing elements were being activated by the presence of ink or magnetic m aterial.
W ith the limited size of the m atrix used in the above example, a properly programmed computer
can recognize a particular geometric form.
To recognize printed characters requires an expanded m atrix— one large enough so that
each possible character can be uniquely defined. W e can uniquely define the numbers 0 through
9 using the full game m atrix on the M IN IV A C . The result will be ten forms, each with a unique
recognition code.
21
FORM CODE FORM CODE
269 235 6 7 8 9
1 26 7 8 9 24689
2345679 24569
12379 23679
23459 2 46 8
C H A R A C T E R FORMS A N D CODES
Notice that not only the form, but also the position of the characters is important. For ex
ample, the character 1 must be centered in the block of sensing elements.
The experiment which follows uses a more complex variation of the quantity recognition
circuit to recognize arabic numerals which are "draw n" on the game m atrix.
Experiment 12: Arabic Numeral Recognition
In this experiment we will program M IN IV A C to recognize arabic numerals which are
"d raw n " on the m atrix. The nine terminal locations of the m atrix will provide the sensing ele
ments for the computer. The program will allow M IN IV A C to recognize numerals according to
the code represented above.
The program for the recognition of arabic numerals is:
1C/2C 3C/4C 4H/5J 6H/6—
1F/M9t 3F/M6t 4L/5K 6X/M10
lG/6com 3G/D6 5C/6C 6X/D17
1H/4K 3H/4N 5F/M4t 6 Y /6 +
1J/D0 3J/D9 5G/D5 6com/D4
2C/3C 3K/D8 5H/6G M10/M1 1
2F/M5t 3L/4J 5L/6J D16/D19
2G/D2 3N/D7 5N/D1 D18/M—
2H/4G 4C/5C 6 C /6 -
2J/D3 4F/M8t 6F/M7t
22
Now connect four short programming wires to M 10, leaving one end of each free. Also, connect
four short programming wires to M l 1, leaving one end of each free.
To use the program:
Turn power on. Select a number from 0 to 10. "D raw " this number on the top terminals of
the m atrix with the free wires from M l 0 and M l 1, using the arabic numeral code previously
presented. Push pushbutton 6. The pointer knob of the rotary switch will turn to the number
"d raw n " on the m atrix.
To try another number, be sure that all eight wires to M10 and M l 1 are free. Then "d raw "
the new number on the top terminals of the m atrix and proceed as above.
You have undoubtedly noticed that some of the numbers used in the above experiment are
peculiarly shaped. For instance, the " 8 " is a bit lop-sided. However, for the computer to recog
nize the numerals, each character must be presented according to the code which the machine
is programmed to understand. This is true of any device designed to "rea d " printing: the device
will read only the particular type face which it is designed to understand.
Since each character must be unique, the type faces which are designed to be machine-read
do not look exactly like the numerals with which we are generally fam iliar. An example of a
specially-designed type face for use in a print-reader is that now used by many banks. In the
illustration below, the characters are printed with a special magnetic ink for sensing by the
reader:
1 -9 8 7
YOUR N A T IO N A L BANK 210
.DOLLARS
vo \ 5 ^ — A . B . D e p o s it o r
k W M a r y F . D e p o s it o r
B A N K C H EC K SH O W IN G S P EC IA L T Y P E FA C E FOR M A C H IN E R EAD IN G
23
The "in d u strial" applications which follow deal prim arily with computerized control systems for
production problems.
Experiment 13: Multiple Point Control
A n expansion of the simple "Lig h t on the S ta irs" circuit (see Experiment 1) is used in indus
trial situations which require control from a number of points. An example of such a situation
would be the problem of handling radioactive materials without approaching them. Intricate sys
tems have been designed for this particular process; these systems consist of a great number of
complex mechanical devices which allow an operator to handle these dangerous m aterials from
behind safety shields.
V ital to such a remote control operation are, of course, a great number of safety devices—
for instance, emergency cut-off switches as well as emergency "o n " switches for certain safety
mechanisms. For added safety, duplicate emergency switches are generally placed at various
locations— at the actual equipment location, in the safety engineer's office, in the central
power plant, etc. Thus, in case of an emergency, safety devices can be turned on or dangerous
equipment can be turned off from the most accessible location and with the least possible danger
to the employees.
This experiment demonstrates a basic control circuit which permits a single light (which
could represent any safety device) to be turned on or off from twelve different "locations".
The program for a multiple point control system is:
1V/1Y 4A/6K 5E/6G 6A/6E
1W/2V 4B/4— 5F/6F 6 B /6 -
1Z/2Y 4W /5V 5F/5H 6C/6—
2W /3V 4Z/5Y 5G /5+ 6E/6J
2Z/3Y 5A/5E 5J/6H 6H/6W
3W/4V 5 B /5 - 5W/6V 6L/6Z
3Z/4Y 5C/6C 5Z/6Y 6 Z /6 +
To use the program:
Set all slide switches to the R IG H T. Turn power on. Light 4 may be turned on or off by push
ing any pushbutton or by moving any slide switch to the L E F T and then back to the R IG H T. In ac
tual practice, these twelve switches would be located at various control points, rather than being
grouped in one place. (Note: lights 5 and 6 are wired into the control circuit.)
Experiment 14: Sequence Control With Manual Operation
Another form of a control system used in an industrial process is one which insures that a pre
determined sequence of operations is executed in the proper order. This type of system finds
application, for instance, in a situation which calls for the combination of chemical compounds in
a specified order— particularly when an error in the sequence would prove dangerous.
The program below provides constant control as would be required in the situation just out
lined. The control circuit provides that the first step in the process be taken before the second can
be begun, and so on through twelve consecutive steps. This particular circuit will not permit an
error in sequence to be made. The system will not recognize a step taken out of order. Only the
correct steps given in the correct sequence will be accepted as input. When all twelve steps in the
operation have been completed, light 1 will come on indicating the end of the operation.
The program for a control system with manual operation is:
1A/1G 2F/2G 3H/4G 4com/5L 5S/5X
1B /1— 2F/3K 3N/4N 4R/3com 5T/6T
1C/2C 2H/3G 3com/4L 4S/4X 5Y/6Y
1F/1G 2N/3N 3R/4com 4T/5T 6A/6J
1F/2K 2com / 3 L 3S/3X 4 Y /5 Y 6B/6—
1H/2G 2R/5com 3T/4T 5C/6C 6C/6—
1com/2L 2S/2X 3Y/4Y 5F/5G 6F/6G
1R/6com 2T/3T 4C/5C 5F/6K 6F/6com
1S/1X 2 Y/3Y 4F/5G 5H/6G 6H/6 +
1T/2T 3C/4C 4F/5K 5N/6N 6 R / 1com
1Y/2Y 3F/3G 4H/5G 5com/6L 6S/6X
2C/3C 3F/4K 4N/5N 5R/2com 6Y/6 +
24
To use this program:
Set all six slide switches to the R IG H T and turn power on.
Carry out the twelve steps in the operation by setting the slide switches and pushing the
pushbuttons in this order:
Set slide switch 1 LE FT
Push pushbutton 1
Set slide switch 2 LE FT
Push pushbutton 2
Set slide switch 3 L E F T
Push pushbutton 3
and so on, through pushbutton 6.
W hen you have completed all twelve steps, light 1 will come on indicating "operation com
plete."
If you attempt to carry out a step in the wrong order, nothing will happen. The system accepts as
input only the proper steps.
To re-set the system, set all slide switches to the R IG H T and turn power off, then on again.
25
This would be the case if, for example, a specific ingredient were to be added to a chemical com
pound when the compound had reached a certain temperature.
Control in which information from the process determines execution of successive steps is
known as "control with feedback." Information from the process is "fed back" to the control
mechanism to modify successive operations, or to activate successive operations.
As in the sequence control systems, control systems with feedback can be completely auto
mated or can be m anually operated. W e can demonstrate a manual control system with feed
back using the "two-floor elevator control" circuit from Experiment 8. W e will assume that the
process to be controlled is dependent upon the continued oscillation of the rotary switch between
1 and 7.
To start the system, we will set the pointer knob at 1 and push pushbutton 6. This moves
the pointer knob to 7, and light 6 will come on to indicate that the system is now at 7. Light 6 is,
in this case, a "feedback indicator." A s soon as light 6 comes on we must push pushbutton 5
to return the pointer knob to 1. When the pointer knob is at 1, light 5— another "feedback in
dicator"— comes on, telling us that pushbutton 6 must be pushed to turn the pointer knob to
7 again.
In an industrial situation, lights 5 and 6— the feedback indicators— would have special
meaning:
Light 6 on would indicate that the first of two steps had been executed and pushbut
ton 5 must be pushed to continue the process.
Light 5 on would indicate that the second of two steps had been executed and push
button 6 must be pushed to continue the process.
Notice that in this manual control system with feedback, the system indicates to the operator that
an operation has been executed. The operator must then carry out the next operation on the basis
of this information which has been "fed back" to him.
Industrial processes which require split-second reaction to a particular signal are often de
signed so that the signal will autom atically set off the appropriate next operation. In the illustra
tion above, this can be done by a program which will autom atically sense the position of the
pointer knob and immediately act to change its position. An example of such a program is the
metronome in experiment 3. The metronome circuit provides constant oscillation between two
points on the rotary switch dial. The operator can change the period of oscillation by moving the
slide switches, but the system autom atically reacts to its own operation.
26
would be unnecessary to pay for the additional size of a machine capable of producing figures ac
curate to twenty significant digits.
In general, the larger the capacity of a computer system, the more it will cost. The capa
city requirements must be accurately determined if the system is to be a practical one. And it
should always be kept in mind that either in sufficient or excess capacity will be expensive.
The second factor— speed— is one which must be considered from two aspects: actual proc
essing speed and input-output speed. Computer systems can be designed with high speed input-
output units connected to high-speed processing units. For a firm which plans to enter large quan
tities of input, perform a large number of calculations on its data input, and which will require
output immediately, a high-speed system would probably do the job most economically.
However, in an application where a great deal of calculation is to be done on a limited
amount of input, with a limited amount of output, the high-speed input-output units would not
be practical. To determine the required speed of the system— and hence the required speeds of
the individual units of the system— the following should be accurately determined:
1. How much work must be performed in a given amount of time?
2. How quickly must output be received?
3. W hat is the ratio of calculations to communications?
4. Is the limiting factor in the operation calculating speed or communication speed?
When these questions have been answered, the speeds of the system's functional parts will
be known and a complete system can be determined. W ith an efficient computer system, there
should not be delays while one segment of the system catches up with another segment— such de
lays cost money.
The appropriate input-output devices can often determine the ultimate practicality of a com
puter system. For a great number of operations, punched cards are completely adequate. How
ever, operations which require feeding large amounts of information into a master file of some
type may find the added expense of magnetic tape well worth the cost. Certain specialized cases
— where information is to be obtained directly from an operating process, or communicated over
telephone lines from distant points— will require specially designed input-output devices which,
although expensive, will be worth their cost through time saved.
The form of the output is particularly important since it must present the results of the
computer's work to those who will make use of it. The permanency, accessibility and comprehen
siveness of the output must be determined before final selection of the correct unit can be made.
Deciding upon the best system for a given operation— or set of operations— is just as im
portant as the decision to computerize the operation in the first place. Whether the best system
is to be simply a few small units or a complex combination of many high-speed, specialized units
can only be determined on the basis of the job to be accomplished. When correctly selected, a
computer system can be a valuable asset to a business organization. When incorrectly selected, a
computer system can be expensive and time-wasting.
Introduction
A s in business and industry, computers find wide applications in basic problem-solving opera
tions for science and the m ilitary. And, the characteristics of computer problem-solving which
influence the decision to use or not to use a computer in the business situation are equally applic
able in the m ilitary or scientific situation. T h at is, computer problem-solving is normally most ef
fective when it can be applied to a repetitive process to obtain solutions of a consistent type
using relatively large amounts of data.
However, in the areas of science and the m ilitary computers find particularly valuable ap
plication in the solution of unique problems. The simulation technique discussed in Book III is
frequently used, for instance, in the solution of single problems which would otherwise require
many months— even years— of tedious calculation by mathematicians and scientists. Because of
the specialized nature of the problems to be solved, computers are often used by scientists and
27
members of the m ilitary for projects which would be uneconomical in the business world. A prob
lem involving a defense project, for example, cannot be evaluated in terms of cost alone; pro
gramming a unique m ilitary problem for computer solution may be well worth the expense if the
results will affect the progress of the national defense effort.
A characteristic of computers which is particularly useful in scientific and m ilitary work is
their ability to perform extremely rapid calculations with absolute accuracy. This means that a
properly programmed computer can, in a matter of minutes, examine and analyze hundreds of
alternative solutions to a given problem. For situations in research where the only reasonable ap
proach is a "trial-and error" method, the computer's capabilities are making possible the solution
of previously "im possible" problems.
28
icist may find it necessary to develop a special technique to handle a problem; and this technique
may well be one which can be effectively used by a chemist or a metallurgist. On the other hand,
an electrical engineer may develop a technique which proves valuable to a biologist.
A s a basic scientific instrument, computers have only begun to prove their value. A s scien
tists and engineers use this new tool, they will make it even more valuable by expanding its ca
pabilities and finding new uses for it.
Signal Systems:
W e have mentioned the use of a computer to signal a human operator when an operation
has been completed, or to notify the operator of an unusual processing situation. In these cases,
though, the signal is only an indication that something has occurred: the signal is important
only in that it alerts the operators to the occurrence. In a m ilitary situation, however, the signal
itself becomes important. Systems are often required which w ill, upon receipt of a specific input,
produce a particular continuous signal.
The complexity of a computerized signal system is a function, basically, of the required in
puts and outputs. The actual input unit may be as simple as a button to be pushed when the
system is to be started— as, for example, an automatic SOS transm itter. On the other hand, the
input unit can be a sophisticated radar system which produces a particular input when an object
passes into its scope. In any case, the actual processing unit of a signal system is designed to:
Once the signal system has begun its cycle, it will continue to transm it the signal until it
reaches "end transm ission" command— which can be pre-programmed into the system or can be
given by a human operator. The output from an automatic signal system can vary in complexity
from a simple blinking light to a coded message directed to distant points.
The three experiments which follow provide examples of the programming necessary to
processing units used in automatic signal systems.
The program and circuit diagram for the automatic CQ transm itter are:
29
C IR C U IT D IA G RA M — A U T O M A T IC CQ T R A N S M IT T E R
Program:
5A/D3 6B/6— 6H /6+ D6/D10
5B /5- 6C/6— 6H/6Y D8/D9
5X/6E 6F/6G D3/D5 D9/D11
5Y/6Y 6F/D17 D4/D6 D16/D17
6A/D4 6G/6X D5/D8 D18/M—
H : -----
N: — •
30
The program for this automatic transm itter is:
3C/4C 4F/5N 5L/D0 6H /6+
3F/4G 4H/5H 5X/6E 6H/6Y
3G/3K 4K/5F 5Y/6Y 6com/D2
3G/5com 4L/D15 5com/Dl 1 D3/D4
3H/D12 4N/5E 6A/6com D4/D5
3J/6com 5A/5com 6B/6— D5/D12
3L/D13 5B/6B 6C/6— D16/D17
4C/5C 5C/6C 6F/6G D18/M—
4E/5K 5F/5G 6F/6X
4F/4G 5 H /5 + 6G/D17
31
ing more than one code, a technique known as "table-lookup" is often used. W ith "table-look-
u p", the computer holds the various codes in storage until directed to use a particular one. To
translate, it "looks up" the appropriate substitution for each letter. The advantage of a compu
terized system for routine code translation is, of course, the speed with which the translations
are carried out.
Translation of "unknow n" codes— that is, "b reaking " codes— can often be effectively
handled by a computer system. If the "unknow n" code was generated by a computer, another
computer system will be required to break that code.
If the "unknow n" code was originally man-made, the computer attempting to break the
code will use a trial-and-error method based on the frequencies of appearance of the letters in the
coded message. One type of code which a computer cannot break is one which does not use sub
stitution of letters, but depends instead on phrases with special meaning only to the receiver for
whom they were intended. Breaking codes of this type requires "inside inform ation" which a
computer cannot provide.
A n example of a man-made code which a computer could easily break would be a substitu
tion code based on a simple three-letter shift. T h a t is, A is D, B is E, C is F, etc. An example of
a man-made code which a computer could not break would be the following set of messages which
would be known only to the transm itter and the receiver:
The ability of computer systems to generate codes requires that computer systems be used
in any attempts to break those codes. Codes generated by computer system are usually the result
of the computer's ability to generate pseudo-random numbers. Breaking a computer-generated
code is accomplished through sophisticated statistical techniques, using as a basis the fact that
no computer can actually generate completely random numbers.
The two experiments which follow provide examples of simple coding and decoding programs
for the international Morse Code.
A •— N— •
B — • •• O ------------
C — •— • P • ------- •
D — •• Q --------—
E • R •— •
F •• — • S •••
G • T —
H U ••—
I •• V • • •—
J • w • -----
K — •— X — •—
Y — • -------
M Z -------- • •
The program which follows will autom atically display the Morse Code representation of any
letter entered on the rotary switch. Output lights 3 through 6 will be the display lights.
32
The program for an Encoder is:
2C/3B 3G/D8 4com/5G 6F/D3
2C/3C 3H/3L 5A/5com 6G/6com
2F/D15 3L/4L 5B/6B 6H/6L
2G/4F 4A/4com 5C/6C 6H /6+
2H/2L 4B/5B 5F/D13 6com/D1
2H/3H 4C/5C 5H/5L D1/D9
2K/5F 4F/D14 5H/6L D2/D10
3A/3K 4G/4com 5K/6com D3/D11
3B/4B 4H/4L 5com/6K D4/D12
3C/4C 4H/5U 5com/D2 D5/D13
3E/D0 4K/5com 6A/6com D6/D14
3F/3G 4com/Dl 2 6C/6— D7/D15
D16/M +
To use this program most easily, the rotary switch dial should be fitted with a dial plate
made by tracing the illustration below on a piece of paper.
33
To use the program:
Set the rotary switch dial to 0 and turn power on. Turn the rotary switch clockwise until the
pointer knob is pointing at the letter you wish to code. Read the Morse Code representation of
the letter starting with output light 3. If the letter you wish to code is in band 1 of the dial plate,
read only light 3. If the letter is in band 2, read lights 3 and 4. If the letter is in band 3, read lights
3, 4, 5. If the letter is in band 4, read lights 3, 4, 5 and 6.
W ith the dial plate from experiment 19 in place, turn power on. Set slide switches 1 and 2 to
indicate in binary the number of Morse Code characters (dots and dashes) in the letter you wish
to decode:
Starting with slide switch 3, enter the dots and dashes according to the convention:
Push pushbutton 6: this gives the computer the instruction "read out." The rotary switch will
turn to the correct spot on the dial. Read the alphabetic letter from the dial plate as follows.
34
Experiment 21: "Search and Track" Radar
In the previous section of this book the industrial uses of feedback were discussed. The im
portance of feedback in enabling a machine to deal directly with its environment makes it es
pecially useful in m ilitary applications. An excellent example of the use of feedback in a m ilitary
situation is provided in the basic operation of a "search and tra c k " radar system used to detect
and follow missiles and satellites.
A "search and tra c k " radar system operates in two distinct modes: the "sea rch " mode and
the "tra c k " mode. When operating in the search mode, the system constantly scans its environ
ment, signalling the operator when it senses an object in the path of its scan. When an object
is sensed, the system can be set in the track mode. Operating in the track mode, the system will
find the object and continue to follow it if it moves.
W hile in the search mode, the radar system is a simple signalling system. Once in the
track mode, the system utilizes feedback control to keep the desired object in "vie w ." The actual
operation of the system while in the track mode is as follows:
The system scans the horizon until it picks up the signal which tells it there is an object in
its path. It sweeps past the "object sig nal" until it has lost it and then reverses its direction,
returning to the object signal. It again sweeps past, reverses and continues in this fashion
until given other instructions or until the object signal is out of range.
The feedback in this case is information about the presence or absence of the object signal. The
control action initiated by a computer system is to reverse the direction of scan immediately
when the object signal is lost.
The program below illustrates a system which operates in two modes: a search mode and a
track mode. The command to change mode must be given m anually with this program; real
search-and-track systems are often equipped to change modes autom atically.
* Connection can be made between M + and any point on the rotary switch dial.
Set slide switch 6 R IG H T and turn power on. The system is now operating in the search
mode. Light 3 will flash on whenever the system detects an object signal (a connection on the
rotary switch dial). You may move the object signal by changing the connection on the rotary
switch dial.
35
Set slide switch 6 LE FT . The system is now operating in the track mode. Notice that the
rotary switch oscillates about the object signal. If you now move the object signal, the system
will continue to search until it finds the new location and will then resume tracking it.
Countdown Control:
One of the most highly publicized applications of specialized computer circuitry is the count
down used so dram atically on rocket test flights. The countdown is carried out not for effect, but
because of the complexity of the equipment under test— as well as the complexity of the total
test operation.
A n actual countdown begins many months before "zero hour", and it is only at the final
stages that specialized computer circuits are used for control. A computerized countdown con
trol system is in essence a sequence control circuit, (see experiment 14) The inputs are the
results of final checks; the output is either an "O K — step X " signal or an "E R R O R " signal which
immediately alerts the operators to the error and may, if further steps depend directly on the
step in error, stop the countdown. The firing button is so programmed that it will not send the
command " fir e " until every step is correct.
Totally computerized check-out systems are built in to real quick-fire missiles. A s soon as
the " fir e " command is given, the computer system begins to check out the individual parts of
the missile, matching the check results against the pre-programmed requirements. If the com
puterized control system finds an error in the missile system, it autom atically stops the firing pro
cedure and signals an alert to the operators informing them of the location and nature of the
error. The speed with which such control systems function makes it possible to reduce the count
down time on operational missiles to a few minutes.
The basis of any control system of this type is the simple A N D circuit. Only after each in
dividual switch is closed, through receipt of the correct input, will the " fire " command be executed.
36
come. When a computer produces a predicted result of this type, it is always very important to
note the degree of confidence associated with that result. As the computer receives more and
more information, its predicted results will have increasing degrees of confidence. The 100%
degree of confidence is reached as a lim it when the computer is given all the information— that is,
when all returns are in.
The accuracy of the computer's predictions is a direct function of the program used to arrive
at that prediction. The programs to predict the outcome of national elections are extremely in
volved mathematical statements designed to take into account as many factors as possible. Built
into these programs is a vast amount of information about the social, economic and political
status of samples of the key precincts and sim ilar information about the country as a whole. In
formation about the candidates and their parties is also part of the total program, as well as
information from previous elections concerning the vote-attracting characteristics of candidates
and parties in various sections of the country.
Since a computer will accept only quantitative information, the hundreds of qualitative fac
tors influencing a national election must be correctly stated in quantitative terms for inclusion in
the total program. The analysis of these qualitative factors is in itself valuable work which is fre
quently made easier and/or speeded up by the use of computers. The knowledge gained from an
attempt at one election prediction is not limited solely to knowledge of whether or not the pro
gram gave the correct result. Knowledge of indicative factors, changes in voting habits, shifts in
attitudes towards national issues— all are valuable parts of the results of an election prediction
program.
Language Translation
W e have already examined a particular type of translation by a computer— the translation
of messages into code. In terms of the circuitry involved in translation with a pre-determined
code, this is merely a Ietter-by-letter substitution scheme. Translation between languages, how
ever, requires that the computer be programmed to perform symbol-to-symbol substitution and,
in addition, be capable of performing shifts in word order whenever necessary.
37
2. Translation of a pictorial symbol as performed through the circuitry of the A rabic
Numeral Recognition program.
The third and most complex form of machine translation is that required for language trans
lation: translation of one set of symbolic combinations into another. A t this stage, the combination
of symbols becomes important. The basic problem of interpretation between two symbolic sets
is complicated by the "environm ent" of the symbols. T h a t is, a given symbol may have different
meanings depending upon the other symbols associated with it.
Perhaps the easiest way to see some of the problems inherent in machine language transla
tion is to develop a few simple translation programs. W e will do this using English and German.
EN G LISH GERM AN
Pete Piet
and und
Eve Eva
play spielen
plays spielt
with mit
his seinem
her ihrem
their ihrem
ball Ball
Each English word or symbol has a German word or symbol corresponding to it and indicat
ing the same idea or concept. In the simplest case, translation would involve merely a series of
direct substitutions. W e could program this elementary case by wiring pushbuttons to lights and
letting the pushbuttons represent English words and the corresponding lights represent the cor
responding German word. W e could then translate from English to German by entering English
input (pushing pushbuttons) and reading the German output from the lights.
However, we could not simply reverse the process to translate from German to English.
Notice that the German "ih rem " translates as either"h e r" or"th e ir." The simple program out
lined above will not produce an adequate translation; we must add to the program a rule for
selecting the appropriate English translation of "ih re m ."
The basic rule which we must teach the computer is: a plural subject requires the use of
"th e ir" as an adjective; a singular feminine subject requires the use of "h e r" as an adjective.
T his can be stated logically as:
P X E = their and E X P = her
If we now let the pushbuttons and lights represent words as follows, we will be able to pro
gram the rule for proper selection of an adjective, given the subject of the sentence.
38
" t h e ir " "h er" " P e te " "E ve"
To further complicate matters, consider the expansion of our limited vocabulary to include
the past perfect as well as the present tense of the verb. Direct translation of the past perfect
tense is:
39
The translation program is:
1A/2V 1S/2S 2S/3S 3F/6A
IB / IE 1T/2V 2T/3L 3F/3R
IB/2B 2A/3G 2W/4A 3S/3 +
1C/2U 2B/3B 3A/3N 4B/5B
1C/4C 2C/3K 3B/4B 5A/5 +
1E/2E 2E/3E 3C/3J 5B/6B
1R/2U 2R/3H 3E/4E 6B/6—
Job Selection
Computers' ability to perform high-speed comparisons has led to their application in per
sonnel work, matching the qualifications of individuals with the requirements of specific jobs.
In applications of this type, the results of computer comparisons are generally used to assist
the personnel staffs of very large firm s who find it necessary to process many job applications
in order to select people to fill specific jobs. Seldom, if ever, are the computer's results taken as
the final word on who is to be hired. The true value of the computer in this application is to point
out those best qualified for a particular job— in essence, a narrowing-down procedure.
A computerized selection program requires two inputs for comparison:
1. The requirements of the specific job
2. The qualifications of the individual applicant
40
The job requirements are supplied by the personnel department. The applicant's qualifications
are provided by asking the applicant to fill out a specially designed questionnaire. Such a
questionnaire might look like this.
PERSO N AL Q U A L IF IC A T IO N FORM
Check only one
1. W hich would you rather do: for each question
a. Add a column of numbers a.
b. Count the number of items in a row b.
2. W hich would you rather do:
a. W rite a short story a.
b. Paint a bookcase b.
3. W hich would you rather do:
a. Be responsible for selling 100 items by yourself a.
b. Be responsible for selling 500 items with four other
people b.
4. W hich would you rather do:
a. Set type for a printing press by hand a.
b. Correct and rewrite articles for a newspaper b.
5. W hich would you rather do:
a. M ake final decisions and be responsible for the conse
quences a.
b. Make recommendations to the person above you b.
6. W hich would you rather do:
a. Be responsible for hiring and firing close business as
sociates a.
b. Be responsible for preparing the payroll for a company b.
The job requirements information is generally in standardized form, with certain key fa c
tors specified. Some organizations use a standard job evaluation form, an example of which
appears below:
JOB EV A LU A T IO N FORM
check only one
1. Does the job require more: for each question
a. Accuracy and attention to detail a.
b. Speed with minimum accuracy b. ---------
2. Does the job require more:
a. Creativity a.
b. Routine performance b.
3. Is job performance more dependent upon:
a. M anual dexterity a.
b. Working cooperatively with others b.
4. Does the job require more:
a. Direct supervisory activity a.
b. Mental effort b. ---------
5. Does the job require:
a. M ajor responsibility for policy decisions a.
b. Minor responsibility for policy decisions b.
6. Does the job require:
a. Direct supervisory activity a.
b. Little or no supervisory activity b.
41
Using the two forms above, we can write a comparison program designed to match individual
qualifications with job requirements. The questionnaires above are, of course, much simpler than
any in actual use.
The program makes a direct comparison between questions on the two forms. When an ap
plicant's answer is consistent with a particular job's requirements, a light will come on. The best-
qualified applicants for the job will be those for whom the most lights come on.
From a completed Job Evaluation form, enter the job requirements as follows:
To check an applicant's qualifications, enter his replies to the Personal Qualifications form as
follows:
Push the pushbutton corresponding to the question number for each question which was
answer " a " . If the question is answered " b " do not push the corresponding pushbutton.
A s the answer to each Personal Q ualification question is communicated to the machine
note whether the corresponding light goes on or off. (Note: some of the output lights will be
on when only the job evaluation information has been indicated. Record these lights only if
they do not go off when the applicant's replies are entered.) A fter the replies to all six ques
tions have been tested, record the total number of lights that went or stayed on while the ap
plicant's qualifications were tested.
Those persons most highly qualified for the specific job will be those with the greatest
number of positive comparisons with the job requirements as indicated by the number of lights
recorded.)
Mate Selection
The job selection technique has been used on one well-known television program and in some
social science situations to provide a means of comparing the interests and orientations of a
number of couples to determine their compatibilities. The assumption in this case is that com
patibility will determine m arital happiness.
The job selection program can be used to test the compatibility of a couple by changing the
questionnaires. When used as a mate selection program, the replies of one individual are entered
on the slide switches and the replies of the second individual are checked against the first indi
vidual's replies using the pushbuttons. The number of lights recorded as on will give an indication
of compatibility. (Total compatibility is indicated by all lights recorded as on.)
Two questionnaires are presented below as examples of the characteristics which are com
pared in this type of program. The replies to questionnaire A are first compared, then the replies
to questionnaire B. The total compatibility figure is reached by adding the results of A and B.
42
Q U ESTIO N N A IRE A
check only one
for each question
1. Which is more important to you:
a. A person's level of education a.
b. A person's physical appearance b. ---------
2. Do you feel that you have:
a. A liberal political orientation a.
b. A conservative political orientation b. ---------
3. Would you prefer to have:
a. A large fam ily a.
b. A small fam ily b.
4. Would you prefer to live in:
a. An urban area a.
b. A suburban or rural area b.
5. Do you think a wife should be:
a. Career-oriented a.
b. Family-oriented b.
6. Do you feel that you have:
a. A fundamentalist religious orientation a.
b. A liberal religious orientation b.
Q U ESTIO N N A IRE B
Indicate whether or not you like: YES NO
1. Outdoor activities a. b.
2. Music and art a. b.
3. Sports a. b.
4. Political activity a. b.
5. The theater a. b.
6. Reading a. --------- b. ---------
43
Behavioral Simulations
Some research is being done in the use of computers to simulate various behavioral phe
nomena normally associated with intelligent beings. T h is work raises interesting questions about
the ability of a computer to exhibit certain kinds of intelligent behavior. For the purposes of
this discussion, we will consider only two specific examples of machine simulation of intelli
gent behavior.
Associative Memory
The psychological process of conditioning can be simulated by M IN IV A C through the pro
gram which follows. This program enables the computer to associate a stimulus and a response
once the two elements have been presented together.
M IN IV A C is programmed so that if pushbuttons 1, 2 or 3 are pushed separately lights 1,
2 or 3 respectively will come on. However, if two or three pushbuttons are pushed simultane
ously, the computer will remember them in association. Once any combination of pushbuttons
has been pushed, the computer will turn on all associated lights whenever any one of the associ
ated pushbuttons is pushed. M IN IV A C will remember the association until instructed to forget it.
This is analogous to the famous experiments carried out with dogs by the psychologist Pav
lov. Like Pavlov's dog, the computer "le a rn s" to associate stimulus and response. If two stimuli
are presented simultaneously, the computer "learn s" to associate the two responses originally
associated with each of the two stim uli. Thereafter, the computer will execute both responses
whenever either stimulus is presented. Unlike Pavlov's dog, the computer can be instructed to
remember or forget various stimuli at w ill.
The program for an associative memory circuit is:
Turn power on. Push pushbutton 1, 2 and 3 individually. Notice that each pushbutton turns
on the single light associated with it. Now push two pushbuttons simultaneously— for exam
ple, pushbuttons 2 and 3. From now on, pushing either of the associated pushbuttons will
turn on both of the associated lights.
Push all three pushbuttons simultaneously. Now pushing any one of the pushbuttons will
turn on all three lights. To instruct the computer to forget the associations, push the "fo r
get" button— pushbutton 6. The computer is once again ready to "le a rn " associations.
The program which follows permits the computer to "le a rn " which of three possible paths
is the correct path to a goal, and to "rem em ber" the correct path until instructed to "fo rg et" it.
This is analogous to experiments in which an animal learns by trial and error the correct path to
a goal through a maze.
The "m a ze " will consist of a start position and three possible "p a th s." The start position
will be the " 1 " setting on the rotary switch dial. The possible "p ath s" will be:
44
The computer will be allowed to "exp lore" the possible paths. Then one path will be indicated as
the correct path. The computer will find this correct path and will then always take that path
until it is instructed to forget it.
Science fiction fans seem always to be entranced by equipment which flashes lights and
makes peculiar sounds. To satisfy these fans, the film industry has designed a great variety of
"com puters" for leading roles in science fiction film s. Computers are well-adapted for such roles
since it is possible to produce flashing lights and peculiar noises while operating a real computer.
However, the latest computers are made up of solid-state elements which operate silently;
and output is more likely to be a reel of magnetic tape than a series of blinking lights, blips on
a monitor screen and wierd choking and whirring noises.
Lest your friends— or you yourself— be disappointed at the relative quiet and tranquility
of the preceding programs, the following two programs are presented. Neither program per
forms a useful function, but both provide the elements of science fiction machines.
This program provides a maximum number of flashing lights. W ith this circuit programmed
on M IN IV A C , turn the power on. M IN IV A C will perform as a blinking light machine.
45
The "Super" Circuit
This program is presented for those who are not satisfied with the quiet operation of the
previous program. Like the program above, this one does absolutely nothing constructive, a l
though it appears to be diligently operating to solve the problems of the world. Program this cir
cuit on M IN IV A C and enjoy the ultimate in science fiction machines.
APPENDIX
PROGRAMMING LANGUAGES
In the discussions of programming in this series we have examined instructions which are
communicated to a computer as part of its program. It has been emphasized that a computer
must be given complete instructions for each step which it is to perform in solving a problem.
In Book II, three types of programs commonly used by electronic data processing machines
were discussed: W ired programs, Coded programs, and Stored programs.
W e have not yet commented on the various coding systems developed to permit instructions
to be communicated to a computer in other than the l's and 0's of a binary code. It is important
to remember that once communicated to the computer, all instructions will eventually be reduced
to 1's and 0's which will be interpreted by the computer as on-off switches. The computer cannot
directly "understand" the meaning of the word "a d d ." However, it can interpret the letters
"A D D " as 3 binary coded decimal or "B C D " characters according to the BCD code presented in
Book II. A computer programmed to understand BCD can translate the three letters of the word
"A D D " into a combination of 0's and 1's.
Once the word "A D D " has been converted into binary information using the BCD code, the
BCD equivalent of the word "A D D " may be stored in a storage register of the computer. An in
terpretive program may then translate the BCD into a binary operating code which the com
puter interprets as an instruction directing it to utilize certain pre-programmed circuits in a speci
fied way.
There are as many different interpretive routines as there are different computers. Most
large computers have interpretive programs written for them so that they are able to receive in
structions in the form of letters such as the "ad d " combination above and translate these letters
into binary bits using BCD. Through the interpretive program, the computer can then translate the
coded binary bits into a single instruction code which the computer interprets as an instruction
46
directing it to use certain logical or arithm etic circuits which have been pre-programmed into the
computer. Once the interpretive program has reduced the letters into a simple instruction code,
the large computer is operating with a basic input signal such that a 0 in the instruction code is
comparable to a pushbutton in the up position on M IN IV A C and a 1 in the instruction code is
comparable to a pushbutton in the down position on M IN IV A C .
The interpretive program converts information communicated to it in letters which the hu
man operator can understand into simple 0 and 1 signals which the machine can interpret as
basic instructions. These basic instructions determine which pre-programmed circuits will be used,
to effect the action which the human operator desires.
Some examples from the basic language routine used in conjunction with the IBM 7090
computer will be used to demonstrate the functions of an interpretive program. The combina
tions of letters below are a portion of a program prepared for communication to the 7090 using
the alphabetically coded language which is translated by the interpretive program prepared for
operation on that computer.
CAL A
SUB B
STO C
A PTH
B PTW
C PZE
The letters on each line of the program are punched on a single input card. A s the cards
are read into the computer, each of the letters is translated into a BCD representation which is
stored in the computer. A decoding program then interprets the BCD code and establishes the
meaning for each of the instructions explained below.
CAL A This instruction is interpreted by the computer as: define one register in storage as
register " A " . Clear the processing register (set all of the bits of the processing register to zero)
and add the contents of storage register " A " to the processing register. If we consider the push
buttons of M IN IV A C to be register " A " , this is equivalent to telling the 7090 to select a circuit
comparable to one which will permit the contents of the pushbuttons to be entered in the proc
essing relays.
SUB B This instruction is interpreted by the computer as: define a single register of storage
as register " B " . Then subtract the contents of storage register " B " from the contents of the proc
essing register. If we consider the pushbuttons of M IN IV A C to be storage register " B " , this in
struction is equivalent to telling the large computer to perform that operation wherein the contents
of the pushbuttons are subtracted from the contents previously stored in the processing relays.
STO C This instruction is interpreted by the 7090 as: define a single storage register as reg
ister " C " . Then transfer the contents of the processing register to storage register " C " . If the
binary output lights of M IN IV A C are defined as storage register " C " , this is equivalent to di
recting M IN IV A C to display the contents of the processing relays on the binary output lights.
The last three instructions in the program indicated above are used to direct the 7090 to
store specific numerical values in the registers which it has defined as A , B, and C, respectively.
PTH Indicates that binary 3 is to be stored in the register defined as storage register " A " .
PTW indicates that a binary 2 is to be stored in the register defined as storage register " B " .
PZE d irects the 7090 to make the initial contents of storage register C equivalent to a positive
0.
M any instructions in addition to those indicated in the example above may be used to com
municate programming ideas to the 7090. In each case the instruction is first converted to the
BCD code so that it may be stored in binary form in the computer. The BCD code is then trans
47
lated by the interpretive routine into a simple binary instruction which can be performed by the
computer.
The binary instruction signals the large computer just as pushing a pushbutton on M IN I-
V A C signals it to select certain pre-programmed circuitry and perform the operations which the
program is prepared to execute.
Coding languages may be used to communicate logical as well as arithm etic instructions to a
computer. The first sequence of instructions below is interpreted by the interpretive program of
the 7090— and a series of binary instructions are generated. These instructions cause the 7090
to perform an "A N D " operation with the contents of storage register " C " set equal to the con
tents of storage register " B " AND the contents of storage register " A " . The second program causes
the computer to store the contents of storage register " B " combined according to the rules of
the "O R " function with the contents of storage register " A " in storage register " C " .
Program 1: Program 2:
CAL A CAL A
ANA B ORA B
STO C STO C
C = A —B
The "Fo rtra n " statement which is punched on a single input card is a mathematical state
ment of the relationship which the computer is to represent by the steps in its program. The For
tran compiler first reads the alphabetic and special characters punched on the card and inter
prets them using BCD into a series of 0's and l's which can be stored in the registers of the
computer. The compiler program then interprets each of the special characters (in the example
above the " —" sign and the " = " sign) as directions to establish a series of instructions equiva
lent to the S C A T coded 7090 program instructions.
Once a series of instructions equivalent to the S C A T coded instructions are established by
the compiler, an interpretive routine directly equivalent to that used to interpret the S C A T coded
program is employed to establish the equivalent instructions which are then executed by the
computer.
The examples above are simple ones. The capabilities of the various programming languages
developed for use with large scale machines are quite comprehensive. Although these languages
solve some problems by making it unnecessary to communicate to the machine directly in binary
language which the machine can understand, they create others by making it necessary to com
ply with a number of conventions in a specific manner. These conventions are necessary in order
to insure that the interpretive routine will interpert the letters given to it on the punch cards in
exactly the manner in which the programmer wishes to have them interpreted.
The important point to remember in considering the variety of machine coding systems
which exist is that they are not read or executed by the computer in the form in which they are
communicated to it. Compiling and interpretive routines are used to translate the information
presented to the computer into the basic 0 and 1 codes which the computer is able to use as a basis
for its operation.
48
The example below provides a summary of the basic steps performed by a compiler and
interpretive routine in translating a single card containing a Fortran statement into instructions
which the 7090 is able to perform.
C = (A + B) * D + F /(E - A)
C LA E C LA A
FSB A FAD B
STO Temp XCA
C LA F FM P D
FDP Temp FAD Temp
STO Temp STO C
Once this series has been generated, each instruction is assigned to a storage register in
which the binary code representing that instruction will be stored. The binary code is not the BCD
coding of the letters of the instruction but a code representing the BCD instruction. For example,
C L A E which is BCD coded by the machine as 010 01 1 100 011 011 001 010 101 is coded by the
interpretive routine as 000 000 111— 101 000 000— 000 000 001 where storage register 001 has
been assigned to Variable " E " and the instruction " C L A E " has been assigned storage register
111. The code 101 000 000 is the operation code derived from " C L A " which indicates to the ma
chine "select the pre-programmed circuitry designed to place the contents of the indicated data
register in the processing register (Accum ulator)."
This machine language representation of the program is the only form of the program which
the computer can actually execute. Until this form is derived the computer— in running the com
piler and interpretive programs used to reduce the FO RTRA N statement given above to the M a
chine language— is simply translating BCD data and coding this data in accordance with a series
of procedures which it has been previously programmed to follow. Once it has produced the ma
chine language program above it can be given this new program and directed to execute the in
dicated instructions.
49
BOOK VI
PREFACE
This book contains examples of several types of games which can be played using M IN I-
V A C 601. Once you have become acquainted with these games you will discover that many d if
ferent games can be developed using the gaming capabilities of the M IN IV A C . Realizing that
hundreds of games have been designed using the 52 cards of a deck of playing cards, you can
imagine the number of games which can be developed using the hundreds of contact points on
the M IN IV A C 601. Each of the games appearing in this book demonstrates a principle of com
puter gaming which may be expanded to produce additional games.
Most of the games with and against M IN IV A C depend either on the players' skill (as in the
"reaction time tester" or "philosophic tug of w a r") or M IN IV A C 's " s k ill" (as in the "M atch
Gam e" or "T ic-Tac-To e"). Some games depend on chance and make use of M IN IV A C as a source
of random numbers (as in the "Fortune T e lle r" program).
1. M IN IVAC AS AN OPPONENT
51
* These connections may be interchanged for new codes. Be sure though, that there are connec
tions to each of the six common terminals.
W ire the basic circuit onto the M IN IV A C ; then add the connections directly above. Pro
gram a code by setting the slide switches in various positions. For example, with the above pro
gram and all six slide switches to the right, the code is solved by pushing the pushbuttons in
sequence from 6 through 1. When the code has been correctly solved, light 1 comes on indicat
ing "code Solved." If light 6 comes on, an error has been made and M IN IV A C will autom atically
re-set for the next attempt.
Once you have set the code by moving the slide switches, you can challenge your friends
to "b reak the code." They can then try to find the correct sequence of pushing the six pushbut
tons to break the code. W hen your code is broken, you can change it by moving the slide switches.
If you want to create more new codes, you can interchange the starred connections to the
common terminals. For example, by changing:
2 T /1 com to 2T/2com
and
6W /2com to 6 W / 1com
you will be able to generate 63 different codes.
(This is the same basic circuit as was used in the previous game)
Now add the connection D16/M-j-
Combination Connections
left to 13 D13/6com
right to 2 D2/5com
left to 10 D 1 l/4co m
D10/3com
right to 6 D6/2com
left to 9 D 9 /lco m
D 8/6E*
* Th is last connection is optional; it will cause the machine to indicate an error if 8 is passed at
any point.
52
When you are designing a combination, you must not include any connection which will
touch off a connection further along. Also, you must make connections to each of the six common
terminals in order.
Once you have designed a combination and programmed it onto M IN IV A C , you can chal
lenge your friends to attempt to solve the combination. Light 1 will come on when the combina
tion is successfully solved; light 6 will come on to indicate an error, and the player must start
over again.
You may wish to add dummy connections to the rotary switch dial so that the pertinent con
nections will not be obvious.
53
The player now takes the free end of the "p la y w ire" which is connected to M-f- and touches
it to the top terminals of the game m atrix squares. (The wire need not be plugged into the ter
m inal; touching the terminal will make the contact.) You may tell the player his S T A R T and
G O AL points; if you wish to make the game more d ifficu lt, however, you need not give him this
information.
Since connections are made only to those squares which are a part of the path, you may
wish to add dummy connections to those not involved in the actual maze. For example, in the
above program, you could add:
M 3t/6 R
M 4t/6S
M 7 t/6 T
This will not affect the maze, but conceals the fact that squares 3, 4 and 7 are not part of
the path.
If you wish to program a path which has less than six steps, connect this path to the lower
common terminals and m anually push the remaining relays to the left before beginning play. For
example, consider the following path:
from 8 to 9 to 4:
from 8 M 8t/3com
to 9 M 9t/2com
to 4 M 4 t/lco m
Before beginning the play, m anually push relays 4, 5 and 6 to the left. Whenever an error is
made, relays 4, 5 and 6 must be pushed to the left before play is resumed.
54
The program for the M atch Game is:
3A/3E 4 Y /5 Y 6Y/&+
3B/3— 5C/6C D1/D4
3E/3G 5E/D13 D2/D5
3F/3— 5F/5X D3/D6
3G/D0 5F/5G D4/D7
3H/3Z 5H/6H D5/D8
3Y/4Y 5K/6K D6/D9
4C/5C 5L/6L D7/D10
4E/D14 5Y/6Y D8/D11
4F/4X 6 C /6 - D9/D12
4F/4G 6E/D15 D10/D13
4H/4L 6F/6X D11/D14
4H/5H 6F/6G D12/D15
4K/5K 6H /6+ D16/M +
4L/5L 6K/D18 D17/M—
Light 3 is the "w in " indicator. The last player to move before light 3 comes on wins the game.
Push the re-set button (pushbutton 3). The rotary switch dial will turn to 15, indicating
that there are 15 matches in the pile.
Player makes the first move and indicates:
removing 1 match by pushing pushbutton 4
or
removing 2 matches by pushing pushbutton 5
A fte r the player indicates his move, the rotary switch dial will indicate the number of
matches remaining.
M IN IV A C moves next: player must push pushbutton 6; the rotary switch will turn to the
number of matches remaining after the machine's move.
Play continues as above, with the player and M IN IV A C removing matches in turn.
Light 3 will come on after the last move has been made. The last player to move before light
3 comes on wins the game.
To start another game, push the re-set button (pushbutton 3).
Tic-Tae-Toe
M IN IV A C can be programmed to play tic-tac-toe against a human opponent. A warning
though: with this program, M IN IV A C can not lose. The human opponent may tie the game, but
he can never win. Th is is because of the decision rules which are the basis of the program.
The M IN IV A C is so programmed that the machine will move 5 squares to the right of its
own last move if and only if the human opponent has blocked that last move by moving 4 squares
to the right of the machine's last move. If the human player did not move 4 squares to the right
of the machine's last move, M IN IV A C will move into that square and indicate a win. If the hu
man player consistently follows the "move 4 to the right" rule, every game will end in a tie.
Th is program requires that M IN IV A C make the first move; the machine's first move will
always be to the center of the game m atrix. A program which would allow the human opponent
to move first would require more storage and processing capacity than is available on M IN IV A C
601. Such a program would, of course, be much more complex than the program which permits
the machine to move first.
55
The program forTic-Tac-Toe is:
2. M INIVAC AS A REFEREE
56
The program for the Philosophic Tug of W a r is:
To play:
To start:
Push pushbutton 4; this is the re-set button. Release pushbutton 4 as the rotary switch knob
starts to turn. A s soon as the knob starts to turn, each player tries to control its direction
using his pushbutton. Player 1 will win if the knob reaches 9; player 2 will win if the knob
reaches 7.
The game continues with player 1 trying to match his pushbutton position to that of player
2, while player 2 is trying to keep his pushbutton position different from that of player 1.
The game ends when the pointer knob stops— either at 9 (player 1 wins) or at 7 (player 2
wins).
To start another game, push the re-set button (pushbutton 4).
A sk a friend to think of a number between 0 and 7. A sk your friend to answer "ye s" or
"n o " to the following questions about the number:
A fte r the replies to the questions have been indicated, push pushbutton 6. The pointer knob
of the rotary switch will turn to the number your friend had in mind.
57
A variation:
The same program can be used substituting names for numbers as follows:
0= Karen
1= David
2 = Catherine
3= Robert
4= Peggy
5= Andy
6 = Dorothy
7= Hartley
A sk a friend to mentally select one of the above names, and then ask him to answer the following
questions:
Indicate the replies to the questions exactly as before. Push pushbutton 6. The pointer knob will
turn to the number corresponding to the name which your friend selected.
A sk M IN IV A C a yes-or-no question.
Push the "contem plate" button (pushbutton 2). Hold the "contem plate" button down while
M IN IV A C considers the question. When you feel that M IN IV A C has had sufficient time to con
sider the question, release the "contem plate" button and push the "answ er" button (pushbutton
4).
M IN IV A C 's answer will appear in the lights as indicated above. (You may wish to label the
lights by placing a piece of paper with the appropriate indication above the lights).
58
The Random Number Generator
The program for the Fortune Teller can also be used for any game which requires generating
a random number from 1 through 4. Using the preceding program as a random number generator
is just the same as throwing a four-sided die, or spinning a dial with four possible stops.
To generate a random number:
Program M IN IV A C as for the Fortune T e lle r program. Push pushbutton 2 to allow M IN I
V A C to generate a random number. Release pushbutton 2 and push pushbutton 4 to allow M IN I
V A C to display the number it has generated. (Light 1 indicates " 1 " , light 2 indicates " 2 " , light
3 indicates " 3 " and light 4 indicates " 4 " .)
Player 1 Player 2
A fte r both players have indicated their moves, M IN IV A C will indicate that:
To Play:
Each player decides upon a move (scissors, paper or stone) and indicates it by pushing his
appropriate pushbutton. Player 1 should move ju st before player 2 moves since the relays will move
after player 2 indicates his move. M IN IV A C w ill indicate a win or a tie on the lights.
You may find it convenient to fix a tall piece of cardboard between pushbuttons 3 and 4 to
keep players from observing their opponent's move in advance.
59
Reaction Time Tester
This game uses M IN IV A C to judge which of two players has the faster reaction time. When
lights 3 and 4 come on, each player tries to push his pushbutton down first. M IN IV A C will indi
cate a winner, and will also indicate a foul— that is, when a player moves before the signal lights
(3 and 4) come on.
Player 1 uses pushbutton 1
Player 2 uses pushbutton 6
Pushbutton 3 is the re-set button
Light 1 indicates that player 1 wins.
Light 2 indicates that player 1 has fouled.
Light 5 indicates that player 2 has fouled.
Light 6 indicates that player 2 wins.
Lights 3 and 4 give the signal " S T A R T " .
The program for the Reaction Tim e Tester is:
1A/3F 2B/2— 3G/5G 5 B /5 -
I B/) — 2E/3E 3H/4H 5E/6G
1E/2E 2F/2G 3J/6Y 5F/5—
1E/1—- 2F/5A 3K/4K 5L/6X
1F/2A 2G/5N 3L/4L 6B/6—
1F/1G 2H/3H 3 Y /3 + 6E/6G
1G/5J 2K/3K 3Z/6H 6E/D2
1H/2H 2L/3L 4B/4— 6 F/6-
IH /3Z 3A/6K 4F/6A 6 L /6 +
1K/2K 3A/4A 4F/4G 6L/D17
1L/2L 3B/4B 4G/5K D16/D17
1X/5H 3E/4E 4K/D19 D18/M—
1Y/4J 3F/3G 4L/4—
To play:
Each player should be ready at his pushbutton.
Push the re-set button (pushbutton 3).
A s soon as lights 3 and 4 come on, each player tries to be the first to push his pushbutton.
M IN IV A C will indicate the winner on the lights.
If either player pushes his pushbutton before lights 3 and 4 come on, M IN IV A C will indi
cate who has fouled and the game must be begun again.
To start another game push the re-set button and proceed as above.
60
1
J
M IN IV A C 601 A N D THE M IN IV A C M A N U A L
C O R P O R A T IO N
maintenance
manual
SC IEN TIFIC DEVELOPMENT CORP.
3 7 2 M a in S t r e e t , W a t e r t o w n , M a s s a c h u s e t t s
M INIVAC 601 has been carefully designed to give consis
tent and reliable operation. Like any large-scale computer,
M INIVAC requires routine maintenance to keep it in top operat
ing condition. This routine maintenance is easy to perform and
takes little time. Conscientious maintenance w ill insure that
M INIVAC is always ready for operation.
ROUTINE MAINTENANCE
Oiling: The rotary switch shaft and the motor shaft w ill require
oiling once or twice a year. Remove the bottom panel from the
computer by unscrewing the screws from the rubber feet.- Place
one or two drops of a high-grade, lightweight machine oil (not
a heavy household oil) on the motor bearings at each end of the
motor shaft. Replace the bottom panel.
Remove the pointer knob of the rotary switch and put two or
three drops of oil on the bearing. Work the oil into the bearing
by turning the shaft back and forth a fe w times.
Replace the pointer knob and realign it by connecting a light
through one of the switch contacts on the rotary switch dial.
Adjust the position of the knob on the shaft so the light comes
on when the knob is pointing at the connected switch position.
2
gram w ire connections to the power supply terminals.
5
Program Wires:
The program wires are made to last for the life of the com
puter if they are properly used. When removing program
wires from the computer console, do not pull them out by the
w ire. Grasp the taper pin and remove it from the terminal.
Be sure to keep the wires free from kinks and knots.
If program wires become lost or damaged, new sets may
be purchased from Scientific Development Corporation.
(See spare parts list).
Lights:
Check the binary lights and the relay indicator lights by
connecting them to the 4- and — power supply terminals.
The lights are conservatively operated and should not re
quire replacement for at least a year. To replace a light,
cut the leads % inch from the terminal and remove the
defective light from the panel. Insert a new light assembly
and solder the new leads in place.
Pushbuttons:
Check a pushbutton by connecting it in series with two
lights as indicated:
6
Turn power on. Light 1 should come on. Push the push
button. Light 1 should go off and light 2 should come on.
To replace a defective pushbutton switch:
Pull the red plastic button off the pushbutton; unscrew
the exposed mounting screw. Cut the pushbutton switch
leads (located underneath the console) and remove the
unit. Insert a new pushbutton switch, screwing it into
place. Solder the new leads in place. Replace the red
plastic button on the switch shaft.
Relays;
Check a relay by connecting the coil with power through a
pushbutton as indicated:
Turn power on. Lights 1 and 3 should come on. Push the
pushbutton. Lights 1 and 3 should go off and lights 2 and 4
should come on.
If a relay snaps on and off but does not make proper con
7
nection through the relay contacts, the contacts may need
cleaning (see routine maintenance). If the switch arms are
not meeting the contacts with proper pressure, gently bend
the switch arm to increase the contact pressure. The switch
arm should engage the normally open and normally closed
contacts and should push them slightly as they meet.
To replace a defective relay, disconnect the eight connec
tions to the relay and remove the unit by unscrewing the
relay mounting screws. Insert a new relay and replace the
eight connectors. To assure proper connection, compare
the connections on the new relay with another relay's.
Slide Switches:
Check a slide switch by connecting binary output lights to
the terminals as indicated:
3A 4B 4-
OX 3B 4A,
•+
z
•+
Set the slide switch RIGHT. Turn power on. Lights 1 and 3
should come on. Move the slide switch to the LEFT. Lights
1 and 3 should go off and lights 2 and 4 should come on.
8
To replace a defective slide switch:
Cut all six connections to the slide switch. Drill out the
rivets which hold the unit in place.
Install a new switch with machine screws and nuts.
Solder all connections in place, using other slide switch
units as guides.
Rotary Switch:
The circuit diagram for the rotary switch motor drive is:
9
gaging the drive wheel. Check the rotary switch by con
necting D16 (the switch arm) to + and connecting output
lights through the rotary switch contacts, DO through D15
Check the knob alignment to be sure that the knob has not
turned on the drive shaft. If proper contacts are not being
made, check the assembly under the panel: the rotary
switch contacts may require cleaning.
The rotary switch mechanism is accessible when the bottom
panel of the computed is removed. If the motor does not
turn the rotary switch:
10
MINIVAC 601 - SPARE PARTS
€ 1- 3- ^
31 °
6 "V7 S
11