Professional Documents
Culture Documents
1961 Minivac601 Book2,3&4
1961 Minivac601 Book2,3&4
I I .I I I .I V
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