1958 12_#14 12 #14

1958-12_#14 1958-12_%2314

User Manual: 1958-12_#14

Open the PDF directly: View PDF PDF.
Page Count: 186

Download1958-12_#14 1958-12 #14
Open PDF In BrowserView PDF
T-114

Proce.edings oJ the

EASTERN JOINT ·COMPU1ER CONFERENCE
Philadelphia, Pa.

THEME: MODERN COMPUTERS:
OBJECTIVES, DESIGNS, APPLICATIONS

..)ponsors:

AMERICAN INSTITUTE OF ELECTRICAL ENGINEERS
Committee on Computing Devices

THE ASSOCIATION FOR COMPUTING MACHINERY
THE INSTITUTE OF RADIO ENGINEERS
Professional Group on Electronic Computers

Published by the

AMERICAN INSTITUTE OF ELECTRICAL ENGINEERS
33 West 39th Street, New York 18, N. Y.

Printed in the United States of America

July 1959

Price 54.00

ADDITIONAL COPIES
Additional copies may be purchased from the sponsoring
societies listed below at $3.00 per copy. Checks should
be made payable to anyone of the following:

AMERICAN INSTITUTE OF ELECTRICAL
ENGINEERS
33 West 39 Street/ New York 18/ N. Y.

INSTITUTE OF RADIO ENGINEERS
1 East 79 Street/ New York 21/ N. Y.

ASSOCIATION FOR COMPUTING
MACHINERY
2 East 63 Street/ New York 21/ N. Y.

Proceedings of the
EASTERN JOINT COMPUTER CONFERENCE

Papers and Discussions Presented
at the Joint Computer Conference
Philadelphia, Pa., December 3-5, 1958

Theme: MODERN COMPUTERS: Objectives, Designs, Applications

Sponsors
AMERICAN INSTITUTE OF ELECTRICAL ENGINEERS
Committee on Computing Devices
THE ASSOCIATION OF COMPUTING MACHINERY
THE INSTITUTE OF RADIO ENGINEERS
Professional Group on Electronic Computers

Published by
American Institute of Electrical Engineers
33 West 39th Street, New York 18, N. Y.
for the
National Joint Computer Committee

COMMITTEE FOR THE 1958 EASTERN JOINT COMPUTER CONFERENCE
Conference Chairman
JOHN M. BROOMALL ................................... Burroughs Corporation, Paoli, Pa.

LOCAL ARRANGEMENTS COMMITTEE
Chairman
PETERE. RAFFA ...................... Technitrol Engineering Company, Philadelphia, Pa.

Secretary
ALICE KIRSCH ......................... Technitrol Engineering Company, Philadelphia, Pa.

Business Manager
BRUCE R. McFADDEN ......................... Remington Rand Univac, Philadelphia, Pa.

Registration
WILLIAM E. BRADLEy .............................. Phi1co Corporation, Philadelphia, Pa.

Publicity
NORMAN N. ALPERIN ................. : . Radio Corporation of America,

~loorestown,

N.

J.

Exhibits Liaison
JOSEPH REE ........................... Technitrol Engineering Company, Philadelphia, Pa.

Hotel
LESTER SPANDORFER ......................... Remington Rand Univac, Philadelphia, Pa.

Printing
JAlVIES A. LEES ........................ Technitrol Engineering Company, Philadelphia, Pa.

TECHNICAL PROGRAM COMMITTEE
Chairman
F. M. VERZUH .................... Massachusetts Institute of Technology, Cambridge, )'lass.
T. H. BONN ................................... Remington Rand Univac, Philadelphia, Pa.
WESLEY A. CLARK ................................ Lincoln Laboratory, Lexington, :Mass.
N. P. EDWARDS ............ International Business Machines Corporation, \Vhite Plains, N. Y.
E. L. HARDER ...................... Westinghouse Electric Corporation, East Pittsburgh, Pa.
W. ORCHARD-HAYS ........ Corporation for Economic and Industrial Research, Arlington, Va.
REX RICE ............... International Business Machines Corporation, Poughkeepsie, N. Y.
F. H. TENDICK, JR ......................... Bell Telephone Laboratories, Murray Hill, N. J.

PUBLICATIONS COMMITTEE
Chairman
ARNOLD A. COHEN ............................ Remington Rand Univac, St. Paul, Minn.

Vice-Chairman
ROBERT M. KALB ............................. Remington Rand Univac, St. Paul, Minn.

Secretary
MARY L. MILLIGAN ........................... Remington Rand Univac, St. Paul,
LeROY T. ANDERSON ........................ University of Minnesota, Minneapolis,
GEORGE A. HARDENBERGH ................... Remington Rand Univac, St. Paul,
KENNETH H. ~fULHOLLAND .................. Remington Rand Univac, St. Paul,

Minn.
Minn.
Minn.
lV1inn.

NATIONAL JOINT COMPUTER COMMITTEE
1958

M. M. ASTRAHAN, Chairman ................... International Business Machines Corporation
H. H. GOODE, Vice-Chairman .............................. " ...... Bendix Systems Division
MARGARET R. FOX, Secretary-Treasurer ...................... National Bureau of Standards

AlEE Representatives

J. G. BRAINERD .............................................. University of J:?ennsylvania
FRE~ KALBACH .................................................. Burroughs Corporation
R. A. IMM ..................................... International Business Machines Corporation
G. S. GLINSKI ...................................................... University of Ottawa
MORRIS RUBINOFF, Ex-Officio ........................................ Philco Corporation
R. S. GARDNER, Headquarters ..................... American Institute of Electrical Engineers

IRE Representatives
R. D. ELBOURN ............................................. National Bureau of Standards
H. H. GOODE .................................................... Bendix Systems Division
L. C. NOFREY ................................................. General Electric Company
N. H. TAyLOR ........................................................ ITEK Corporation
WERNER BUCHHOLZ, Ex-Officio ............... International Business Machines Corporation
L. G. CUMMING, Headquarters ................................. Institute of Radio Engineers

ACM Representatives
SIDNEY FERNBACH ......................... University of California Radiation Laboratory
F. M. VERZUH ...................................... Massachusetts Institute of Technology
PAUL ARMER .................................................... The Rand Corporation
A. J. PERLIS ............................................. Carnegie Institute of Technology
J. W. CARR III, Ex-Officio ..................................... University of North Carolina
J. MOSHMAN, Headquarters ............... Corporation for Economic and Industrial Research

Contents
New Frontiers ......................................................................... J. W. Forrester

Page
5

Data Processing in Banking and Other Service Industries ...................................... B. W. Taunton

10

The Role of Computers in Air DeFense ..................................................... W. H. Tetley

15

Microprogramming ...................................................................... M. V. Wilkes

18

The Athena Computer, A Reliability Repott .................................... L. W. Reid, G. A. Raymond

20

The Philosophy of Automatic Error Correction ................................................ R. M. Bloch

25

The System Approach to Reliability ......................................................... H. D. Ross

28

Impulse Switching of Ferrites ............................................................ R. E. McMahon

31

High-Speed High-Capacity Photographic Memory ............................................ C. A. Lovell

34

An Experimental Modulation-Demodulation Scheme For High-Speed Data Transmission .............. E. Hopner

38

The Impending Revolution in Computer Technology ............................................... R. Rice

43

Computer Design trom the Programmer's Viewpoint ............................................ W. F. Bauer

46

New Logical and Systems Concepts ........................................................ R. K. Richards

51

An Approach to Microminiature Printed Systems ................................ D. A. Buck, K. R. Shoulders

5S

Organization and Retrieval of Records Generated in a Large-Scale
Engine~ring Project ......................................................... G. A. Barnard III, L. Fein

59

File Problems Associated with the National Menu Study ................................... P. M. Thompson

63

Data Processing and InFormation Handling ......................................... R. H. Gregory! M. Trust

6S

PILOT, The NBS Multicomputer System ................. A. L. Leiner, W. A. Notz! J. L. Smith! A. Weinberger

71

Data Handling by Control Word Techniques ............................................... G. A. Blaauw

75

An Electronic Directory for Sorting Mail ..................................................... A. W. Holt

79

The Logical Design of CG 24 ....................................... G. P. Dinneen, I. L. Lebow, I. S. Reed

91

Design Criteria for Autosynchronous Circuits ...................................... J. C. Sims, Jr., H. J. Gray

94

Analysis of TRL Circuit Propagation Delay ............................ W. J. Dunnet, E. P. Auger, A. C. Scott

99

The Recording! Checking, and Printing of Logic Diagrams ................ M. Kloomok, P. W. Case, H. H. Graff

108

State-Logic Relations in Autonomous Sequential Networks ..................................... W. H. Kautz

119

Evaluation and Instrumentation of a Special-Purpose Data Processing System ........ A. J. Strassman! L. H. Kurkjian

127

APAR, Automatic Programming and Recording ...................... G. R. Bachand! J. L. Rogers, T. F. Marker

130

A High-Speed Transistorized Analog-to-Digital Converter ......................... R. C. Baron, T. P. Bothwell

133

The Trial Translator, An Automatic Plogramming System For
Experimental Russian-English Machine Translation ........................... , ............ V. E. Giuliano

138

DYANA: Dynamics Analyzer-Programmer. Part I, Description and Application ............... T. J. Theodoroff

144

DYANA: Dynamics Analyzer-Programme;. Part II, Structure and Function ....................... J. T. Olsztyn

148

The Univac Airlines Reservations System, A Special-Purpose Application
of a General-Purpose Computer ............................... D. K. Sampson! V. E. Herzfeld, C. W. Fritze

152'

The Siemens Digital Computer 2002 ....................................................... H. W. Gumin

157

Design of the RCA 501 System .............................................. J. G. Smith, T. M. Hurewilz

160

The IBM 7070 Data Processing System ........................... R. W. Avery, S. H. Blackford, J. McDonnell

16S

Performance Advances in a Transistorized Computer System: The TRANSAC S-2000 ........................ .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R. J. Segal, J. L. Maddox, P. Plano

168

Programming Design Features of the GAMMA 60 Computer ..................................... P. Dreyfus

174

The GE-100 Data Processor System ................ R. H. Hagopian, H. L. Herold, J. Levinthal, J. Weizenbaum

181

New Frontiers
J. W. FORRESTER
EW FRONTIERS imply departures
from the past. In the next two decades the data processing industry can be
expected to face challenges very different
from those of the last 15 years. These
new frontiers will require a new way of
thinking, different kinds of leaders than
are now being developed, and administrative organizational forms lying in the
opposite direction from the present
path of corporate evolution.
For some who have recently entered
the field, it may be hard to realize that
only 10 years ago there were no generalpurpose electronic digital computers.
Fifteen years ago there were no designs
for such machines. It is a young industry
populated by young people. Their thinking has been conditioned by the kind of
challenges and goals that exist in the
infancy of a new endeavor. Maturity
of the industry will bring a new environment.
If the future is to be so different from
the past, perhaps it would be well to
start by reviewing, briefly, the past 15
years of the computer industry to see
how it has arrived at its present position.

N

Past Frontiers
During the period from 1945 to 1950
the challenge lay in design and construction. Only 7 or 8 years ago was it
demonstrated that an internally programmed digital computer was practical.
Only that recently was electronic reliability first proved high enough that a
computer with access to its own instructions could avoid chaos from erroneous
manipulation of its own control orders.
About 1950, a new frontier was attacked to explore methods of programing
digital computers and the application
of computers to science and engineering.
During the present 5-year span following
1955, the frontier has been in computer
applications in commerce for the processing of information previously handled
by clerical organizations.
Frontiers imply pioneers, heroes, and
areas where men seek to establish reputations for new discoveries. Over the
last 15 years, what have been these
glamour areas? They have, for the most
part, fallen within three categories:
1. Physical research and the deve10pment
of components.
2.

The construction of operable

Forrester-New Frontiers

elec~ronic

machines rather independent of their end
use.
3. The application of existing electronic
machines to tasks already being done by
other methods.

These represent a compartmentalized
and, by now, a well-worn set of frontiers.
They still, however, describe at least
90% of the papers in the program of this
conference. Continuing in the present
pattern will inherently preclude success
in the large data processing system
opportunities of the future.
Our frontiers and our pioneers have
been associated with pieces and bits of
data processing. The result has been
so rich that major successes were possible
without well-balanced projects. A new
component or modest attention to reliability carried a computer to new heights
of success. Applications were so numerous that any computer could be used
to advantage. It has been a field in which
limited goals still brought major advances.
Technological research progress has been
rapid enough to insure success without
pioneers in design, or manufacturing
methods, or sales. Most important, the
field has succeeded without needing
many leaders who could simultaneously
perceive a new frontier a decade away
and combine this foresight with the ability
to blend research, design, education, and
new manufacturing methods into successful commercial enterprises.
The economic foundation of. the industry has received little attention. The
computer industry is dedicated to processing information. But information has
no value by itself. Information is
valuable only as it produces more effective industrial operation. There is
a need here for the "systems approach"
that far transcends the systems discussed
at professional meetings. The phrases,
"electronic systems," "digital systems,"
and "system design" appear repeatedly
in the program for this meeting. These
phrases refer almost exclusively to the
system of components making up a
machine. They ignore the economic,
organizational, and management system
complexes which the machines are presumably intended to serve.

Product Life Cycle
N ow the general life cycle of any
product and the different phases of market

development will be discussed. Fig. 1,
illustrates some typical curves. Time
is the horizontal axis. Two curves are
shown, one for annual sales, and the
other for percentage profit margin. The
general shapes and their relationship
one to the other are typical of almost
any product. It might be automobiles,
hula hoops, or airplanes. Depending on
the product, the horizontal time scale
may represent 90 days or 90 years.
The important points are the phases
in market development and the general
shapes of the curves. The early stages
show the "Product Introduction. "
During this period, sales are low, profits
may be negative, and initial market
acceptance is being tested. In the second
phase, labeled "Market Development,"
is the rapid growth in demand. During
market development, demand often outruns production capacity and profit
margins rise to a peak ahead of the peak
in sales volume. The industry then
enters a "Market Maturity" phase of
steady sales. In the fourth stage is
"Sales Decline" as the product becomes
obsolete and is superceded by some new
innovation.
Such curves can be considered as
applying to a specific catalogue item
like some particular computer design;
or to a class of items as, for example,
vacuum-tube computers; or to a whole
product line and marketing philosophy
as, for example, the digital computer,
looked upon as a device isolated from
responsibility for its economic mission
and its contribution to the larger system
of which it is a part.
During product introduction and much
market development, one may find
an exponential growth in sales. Here,
the first part of the sales curve is exponential, and the exponential curve is
continued by the dashed line. Note
that exponential growth (for example,
sales doubling every 3 or 4 years) can
persist over many years while a product
is finding its place in the economy. There
comes a time, however, when continuation
of exponential growth would suddenly
carry the industry to an impossibly high
fraction of the total gross national
product. Therefore, in a very brief
period the actual growth of the industry
can break away sharply from its earlier
exponential pattern.
Where might the computer industry
be today in such a life cycle? In Fig.
2, it is suggested that the computer
industry is somewhere in the shaded

J. W. FORRESTER is with Massachusetts Institute
of Technology, Cambridge, Mass.

5

DISTRIBUTORS

I'

,

I

1

MARKET
MATURITY

I MARKET
DEVELOPMENT ll--I'- - - - - - + /

/1

I·

~

/

PRODUCT
INTRODUCTION

I

I
I
I
I

I

I

I

I
I

ORDERS

DELIVERIES

(ASSUMED RATE)

Fig. 1.

Typic.al product-life cycle

portion of the diagram. For the computer industry as a whole, the exponential
growth period is largely in the past. This
is not to be confused with the growth
patterns of individual computers, or
companies, or systems. If they rise to
the challenges of the new frontiers,
individual enterprises can exploit a
series of these cycles occurring one after
the other so that a succession of market
development and high profitability
periods can succeed one another.
Why do I feel that the exponential
growth period is ending? Perhaps two
reasons will indicate the answer. Already
the total sales of the data-processing
industry are sufficiently high that they
cannot double more than once or twice
more before they will have reached
their probable share of the country's
industrial output. Second, the handwriting on the wall can be seen in the
way in which orders for new computers
dropped off during the recent recession.
The computer industry is essentially a
capital equipment industry like the
manufacture of machine tools. It will
be a highly cyclical peak-and-valley
type of industry as soon as it reaches
market maturity.
Recall the frontiers in data processing
in the light of this diagram. Prior to,
and during product introduction, the
frontier is research and development.
The challenge is to make a product which
will function. During market development the technological advances continue
at full speed. At the same time, emphasis develops on the easy and obvious
applications. These are exploited and
sales increase rapidly.
A whole new picture evolves in the
market maturity phase. The cream
has been skimmed off the research and
technological opportunities. The easy
and obvious applications have been
exploited. The high profit margins accruing to the first entries into the field
have attracted many competent competitors. Managements have projected
the exponential growth curves further

6

Fig. 2.

Computer industry cycle

than justified, leading to excess manufacturing departments and to research
and development organizations geared to
the objectives of the exponential growth
phase, not to the market maturity phase.

The Future
Two types of frontiers lie ahead. One
is in the market maturity phase of the
machines and applications known today.
Here the challenge is that of commercial
success in an intensely competitive,
cyclical industry. The second frontier
lies in the product introduction and the
market development phases of new sytems
applications of digital devices. Here the
successful digital equipment company of
the future must take more responsibility
for the usefulness of the product and the
manner in which the customer employs it.
Integrated data-processing systems will
become more complex. Fewer and fewer
customers will feel justified in individually
pioneering the applications. The emphasis will eventually lie not in equipment
alone but in a complete service where the
equipment is incidental to the over-all
effectiveness of the management system
it supports.
The new frontiers will be more demanding than those of the past. The
emphasis will shift away from research
laboratory results and new devices.
The future will belong to those who
are not merely good at research, or
development, or applications, but to
those fewer men who can take the leadership simultaneously in research, development, manufacturing, sales, and applications to build from these separate pieces
a co-ordinated and competitive digital
data service. The competitive advantage
wi11lie with the company that provides
the greatest utility to the customer by
providing not only equipment, but leadership in how to use it.
Look at a few specific data-processing
frontiers. One challenge is to reduce the
cost of computers. Over the last 10
years the rate of technological advance

Fig. 3.

Production-distribution system

at the research level has been tremendous
with increases in speed, storage capacity,
and component reliability. This rapid
rate of research advancement has hung
as a cloud over the exploitation of the
results. Obsolescense has been so rapid
that none of the developments were fully
utilized before a new technology was
opened. As a result, until now the entire
industry has been exploratory and experimental in nature. The so-called
"production computers" are really prototypes. Their numbers, even when they
reach a few hundred, are still the numbers associated with pilot production
runs. Costs are high. Reliability is
low, compared to what is achievable.
Design and marketing programs are
unbalanced with emphasis on hardware,
inadequate attention to computer progra:ming, and almost nothing on the
theory and practice of the end application. There is a physical science underlying design but little or no science
underlying usage. These are the characteristics of the product introduction
and market development stages of the
life cycle.
Now in the midst of a maturing market,
cost will become increasingly important.
In the past, improvement has come from
increasing speed and capacity faster
than increases in cost. There has been
almost no reduction in cost for the same
performance. As an eXfullple of a future
challenge in the area of cost, consider
digital computers for engineering computation. Why not look forward to the
performance now possible for one-fifth
the present cost? Accomplishing this
would permit and require larger numbers of machines than presently limited
production runs. Instead of five servicemen permanently assigned to a large
computer, it would be economically
mandatory to give continuous troublefree operation with perhaps a one-hour
service call per week. Component and
manufacturing methods would be ruthlessly standardized in the interests of
relia~i1ity and low cost, rather than al-

Forrester-New Frontiers

lowing machines to contain a different
circuit as the creative mark and contribution of each participating engineer.
If a reduction factor of five in cost
does not capture the imagination, what
about a factor of 10? Even that may be
possible. Often times, the big strides
are easier to achieve than small improvements. The big step requires a
new approach; one does not waste time
trying to wring the last few per cent of
improvement out of an old practice.
Electronic computers themselves are an
example, 100,000-machine operations per
second did not come from improving
punched-card mechanisms and the speeds
of electromechanical relays.
A second frontier area lies in production
process-control. This will come first
in the chemical and the petrochemical
industries and wherever continuous
processing of materials is the accepted
manufacturing method.
The goals reach far beyond cost reduction. Cost reduction reaches peak importance in the market maturity phase of a
product life cycle. If the earlier diagrams
are recalled, the market maturity and the
sales decline periods are the ones where
price competition enters most strongly.
However, by the time these periods have
been reached in many products, the
managements of the companies have
become conservative, profit margins are
already falling, and management is under
pressure for immediate improvement and
is not likely to become experimenters in
new manufacturing control processes
which may be years away from profitable
operation. The glamour, the innovation,
and the high profit margins in the chemical industries are associated with new
products and new markets.
How can digital computation contribute? Getting a new chemical product on the market ahead of competition
is important. There are general-purpose
computers, why not the general-purpose
chemical plant which, through centralized
control and building-block chemical processes, can turn out early production
runs of new chemicals for market testing?
Or, why not look to a reduction factor
of five in the capital cost of chemical
plants? There is reason to believe that
dramatically more efficient chemical
processes are possible with co-ordinated
multivariable, nonlinear control than
the processes in use today. Little or
nothing is known about such processes
which are today uncontrollable. One
cannot even experiment with them.
Advanced process control systems
will require years to evolve. In the
meantime, how is the evolution to be

Forrester-New Frontiers

accomplished? Today, the approach is
to propose a special equipment design.
It takes 3 years to bring the equipment to operating condition, and by then
the original idea is obsolete. A whole
new concept is necessary; a concept
which recognizes the critical importance
of the learning phase. The knowledge,
not the equipment or its efficiency, is
the first objective. The industry should
experiment with standard computers
tied together with special transitional
and terminal equipment.
For this special equipment, one needs
the ability to go from an information
flow diagram to reliable operating hardware in 30 days. The cost should be
no greater than with production equipment today. I am sure this is possible. I t means automatic design and it
means automatic production. Several
companies are planning the use of
computers for the automatic design of
parts of chemical plants, aircraft, and for
the design of electrical devices and components. Why should not the computer
industry be taking the lead in applying
its own products? With special equipment available on 30-days' notice, the
experiments on new applications would
proceed unimpeded by long waits. Efficiently designed final devices would
follow after the applications had been
defined and market tested.
A third frontier is in fully integrated
data-processing systems. The industry
has been using the words "integrated
data processing" but today's applications are embryonic. The industry has
only started to consider the implications
of co-ordinated handling of orders,
inventory, production schedules, machine tool loading, parts list explosion,
routing of assemblies through the production process, filling of orders, billing,
point-of-sale data entry, and the analysis
of sales and production data for management control purposes. It seems that
too many people are trying to enter
integrated data processing by designing
specific special machines. They fail to
observe that the hurdle here is also one
of education and learning. The computer manufacturer does not know how
the equipment will be used or how
terminal equipment should be designed.
The potential customer does not understand his application and does not know
what equipment to ask for. It is a
market in the product introduction
stage where the product and its potentialities have not yet been defined.
The integrated data system should be
aimed, not merely at reduced clerical
costs, but toward enhanced total manage-

ment effectiveness. Among machine designers there is inadequate knowledge
of the relationship of information quality
to corporate success. Automatic dataprocessing often obtains, more rapidly
and accurately, information which need
never exist. At the same time, tremendously useful information often
exists and is readily available in a company's data system but lies unused.
In the past, the computer industry
sold machines. N ow, it sells machines
with computer programs. In the future,
it must sell machines with programs and
the management control systems of
which they are a part. The successful
pioneer on this frontier must understand
research, engineering, production, sales,
and, at the same time, have a deep
insight into management applications of
better information sources.
As my own frontier for the next 5 or
10 years, I have chosen to explore this
relationship between information and
corporate success. It will be discussed
briefly.
At the Massachusetts Institute of
Technology School of Industrial Management, the new program is called Industrial Dynamics. I t is a quantitative
study of the forces which cause industrial
growth and fluctuation. It is aimed at
understanding the interactions between
the flows of material, money, manpower,
capital equipment, and information. It
is a study of how the information and
decision-making network gives the corporation its characteristic growth and
behavior tendencies. It allows a quantitative approach to the value and the
purpose of information, how information
should be used in the decision-making
process, and the importance of organizational form in controlling company
destiny. It is obvious that there is a
close relationship between all this and
the field of digital computers. N evertheless, the digital computer is to industrial dynamics what the slide rule is to
engineering. It is a necessary tool, but
only a tool.
Industrial dynamics is now timely
because the necessary foundation exists
from the results of military research
over the last 20 years. We expect to
build on the theory of informationfeedback systems, on the use of simulation to explore complex nonlinear situations, and on the understanding gained in
the last decade of how tactical military
decisions can be automatized.
Perhaps this will be more tangible
with a few illustrations. Fig. 3 shows
a simple organizational form of a factory,
a factory warehouse, distributors, re-

7

2000.---_.--~----~----._--,_----._--_r--_,----_.----r_--_.--__.

RETAILERS' ORDERS FROM CUSTOMERS

I

(Sudden 10"1. increase 1

~ 1500~~--~-~-4-----*----~--4-----+---~--~-----+----~--~--~6000 ~

~

~

~

~
o

UJ

UJ

!;i

:

..

••

:-."./'/

··.!!.·~:r

u:::
z

--r,:~~~;;;;;;;;d-~~~~~g~4000 ~

1000

I

o

~

-13'10

~
o
:z

<

~ 500

-'
-'

............._.....

• __ . - . .

",,'

~--

<

INVENTORY AT FACTORY
WAREHOUSE

+~2'1o

1. . . . . . • • . . .

I

-.1
IIiIIIIiII

C1"~

o

>-

I

I·····
OR~ERS

UNFILLED

...........

I ·

II ~~'==---.

~
~

~

_. -'"-.:-::..--+----+-------i 2000 ~~I-

AT

~

FACTry WAREHOUSE

30
M

Fig. 4.

o

M

Response of system to 10-per cent increase in sales

(/)

a::
w
o
a::
o
)SOO~-~-4--~~--~--~++-

SECOND YEAR

Fig. 5.

THIRD YEAR

Composite system

tailers, and customers. Some plausible
assumptions about this system regarding
time delays in the flow of information and
materials are made. Included are some
ordinary policies about the ordering of
materials and the maintenance of inventories. This results in a nonlinear
system of about 40, first-order difference
equations. These describe the system
mathematically. One can then begin
to study the dynamic behavior of the
production-distribution system. The reaction of the system to outside disturbances can be determined first.
Fig. 4 shows what happens to such a
system if a sudden 10% increase in
retail sales were to occur. Because of
the necessity for the filling of supply
pipelines and the normal practices of
inventory accumulation, factory pro-

8

duction may, after a substantial delay,
rise by four times the retail increase.
The rise, however, is temporary and as
inventory accumulation and the pipeline
filling runs its course, production may dip
even below its intial value before stabilizing approximately a year later at a
level corresponding to retail sales.
By changing the formulation of the
system, one can see the effect of inaccurate data and delays in the transmission of information. After costs and
money flow are added, improved information can be equated directly to the
increase it can produce in profits.
The results get even more interesting
as greater reality is added. One could
represent some common corporate behavior policies regarding advertising and
a segment of the consumer market dealing

with the deferrability of consumer purchases. This might require 17 more
equations added to the previous 40.
The results emerge as in Fig. 5. Here a
constant underlying demand is modulated
by advertising and is superimposed on a
random noise component to give retail
sales. The system has tendencies toward
the self generation of a 2-year production
cycle. Such behavior is observed in
several industries. Superimposed on the
2-year pattern is a higher frequency
pattern created by the interaction of the
random input and the inventory and
pipeline effects seen in the previous illustration. A full discussion of the subject of industrial dynamics with more
examples of results is available. 1
An analysis of this kind can deal with
information sources and the lateness
and distortion in information; with
corporate policy and organizational forms;
with supply conditions in material, labor,
and capital equipment; and with the
behavior of the consumer market. The
research is in its infancy but is already
showing great promise. One graduate
thesis last year by Abraham Katz dealt
with the quantitative, underlying foundation of research and development management. This was done in the context of a
military special products division of a
company. It showed the possibility of
interrelating such factors as the technical
nature of the project, its degree of innovation, the managerial competence of
the company, the resources of the company, the competence of the military
contracting office, the government budget
cycle, and the availability and training
periods of new technical staff. Graduate
thesis topics underway for this year include the quantitative analysis of automobile designing, inter-relating the long
lead time between design and production,
the market acceptance of the product
and the evolution of styling trends. Another concerns the forces affecting the
rate of growth of a new company in a new
technological frontier.
The future of industrial dynamics
and the future of computers are closely
coupled. From the computer industry
will come machines and a knowledge of
what better information will cost. From
industrial dynamics will come an estimate of what this information is worth.
Only then can a balance be reached and a
sound decision on when, where, and how
to utilize the spectacular technical developments of the last decade.
The computer is a tool, but one which
needs a theory and framework for its
application. It is hoped that industrial
dynamics will provide that framework.

Forrester--New Frontiers

We are attempting to develop a set of
underlying principles which to the field
of management will bear somewhat the
relationship that physics does to engineering. If so, industrial dynamics can
have a far greater impact on American
industry during the next 20 years than
has resulted so far from the appearance of
digital computers alone.

The Pioneers
Three of the many new challenges in
data processing-dramatically reduced
cost, process control, and integrated data
systems were mentioned earlier. The
latter two present the same problems.
In fact, it would be possible to attack
both of these areas by the same bold
strokes of first taking the leadership in
really understanding the application
and second being able to provide one-ofa-kind equipment at low cost.
What are the prospects for today's
computer companies in these new frontier
areas The future for most organizations is not bright. If this surprises some
people, look at older industries. The
electric razor did not come from the
safety razor companies. The airplane
was not designed by automobile companies. To a considerable extent rockets,
ballistic missiles, and space vehicles have
come from outside of the aircraft industry.
Atomic bombs, proximity fuses, and radar
did not come from within the military
research laboratories. In fact, electronic
computers did not get their start 15
years ago from the calculating machine
companies or the punched card machine
companies. The handwriting is on the
wall.
New companies, never before
associated with data processing, are
already beginning to make their names
in the new frontier areas. Unless the
older existing organizations in the field
can meet the challenge, they will find
themselyes in the market maturity and
the sales decline areas of the first illustration. They will be left as a part of the
cyclically fluctuating capital equipment
industry. Newcomers will take over the
new frontiers.
Why should this be true ~ Why should
technological progress leave behind those
organizations with a history of great
success? The answer seems inherent in
the typical evolutionary pattern of
industrial organizational growth. This
evolution starts with a pioneer. A
leader, with a vision of the future he
wishes to build, enters a new field. He is
the man at the new frontier. He builds
a successful commercial enterprise. This
man grows with his business. In its

Forrester-New Frontiers

early days he personally controls all
facets of the enterprise from research,
through development, design, manufacturing, sales, field service, and ultimate application. He guides products
through this cycle several times, thus
solidifying his competence and his selfassurance. He develops the habit of
being successful.
However, as the enterprise grows,
functional decentralization sets in.
Manufacturing is broken off as, a separate
operation. Sales, advertising, research,
development, design, all begin to fit
into separate boxes. Then, staff functions
emerge which further dilute responsibilities and authority. These things
are done in the name of efficiency, a
short-range efficiency lasting at most a
few decades.
The organization takes a form that
repels and suppresses the kind of spirit
that built the company. The pioneer
builds a company, but the company
does not recreate its share of pioneers.
More men are needed, each with expert
ability in every aspect of the field from
research to end application. Many men
are competent to acquire this breadth of
skills by age 30 or 35. By contrast,
customary forms of corporate organization tend to prevent this full development even within a human lifetime.
Leadership and the vision of the future
is replaced by the organization chart
and the hope that a proper "textbook"
organization will in itself create new
ideas. An organization chart has never
been a pioneer. Only on rare occasions
can an organization play the role of a
hero. The functionally decentralized organization operates against innovation
and clear visions of the future.
Now the question of what creates
leadership appears. What produces emotional attachment to achieving a goal
and devotion to a cause beyond the
ordinary call of duty? In a society
like ours it is not money. It is the
feeling of accomplishment. It is the
urge to do something new, to do a job
well, and to be recognized for it. A
talk given by Professor Douglas McGregor is available concerning this point. Z
In an advanced economy such as ours,
personal physical needs are satisfied
well beyond minimum levels. In the
upper quarter of our scientific, engineering, and managerial popUlation, additional money and security are goals
only as a substitute for unachievable
but more important goals of self-assurance and the feeling of important
accomplishment. In an environment of
maximmll achievement, of leadership,

and of challenge, top men can be held at
salaries half what they soon become worth
elsewhere.
In the functionally subdivided organization what rewards are ::tvailable to
the individual? At the research laboratory there is the "Nobel prize effect."
Men work for the recognition and plaudits
of their colleagues, whether shown by the
Nobel prize at the top or, further down,
by having an article in a professional
journal or by being heard on the program
of a technical society meeting. Work:
toward this form of personal recognition~
will only indirectly and by happenstanceresult in computers at one-fifth the~
present price, or integrated data-process-ing systems; or pierce the frontier of
chemical process dynamics and control.
In the sales department, personal
reward is financial. The salesman is
helpless who perceives a new frontier;
he has neither the competence nor the
managerial position to bring a major new
product to an ,unknown market. Likewise, no one else in the functional subdivisions of development, engineering,
manufacturing, or field service has sufficient breadth of responsibility and authority to attack the new frontier.
At the higher levels of management
where the authority and responsibility
are adequate, self-confidence to deal
boldly with frontiers may be lacking.
Furthermore, the day-by-day pressures of
running the company too often tend to
concentrate management attention on
short-range problems or on the future
plans for present products. Either one
leads the company rather naturally into
the market maturity phase of its products
or does not provide effective entry into
new frontier areas.
The primary challe'uge in the computer
industry is therefore the same as the
challenge to any new industry. It is
the challenge to the existing organizations
to develop the pioneers who can attack
the new frontiers.
I am quite sure that this can be
done. It will require, however,a reversal
of many present-day trends. It will
require more emphasis on individual
leadership and responsibility. It means
re-establishing, within the present econ"
omy and the present-day corporation, the spirit of individual capitalistic
entrepreneurship, which characterized
our society during the rapid growth
period of our major industrial enterprises. It means placing even the new
engineer or management college graduate
in a position of broad responsibility
relative to small projects so he can develop competence in concept planning, re9

search, design, budgeting, effective use of
resources, and accepting responsibility
for his own decisions and the final outcome of his endeavor. It means a move
away from the illusion of efficiency
through specialization by functions. Instead, specialists in successful pioneering
are demanded. It means a determined
effort to grow "empire builders" because our new frontiers are indeed the
size of empires.

References
1. INDUSTRIAL DYNAMICS--A MAJOR BREAKTHROUGH FOR DECISION MAKERS, J. W. Forrester.
Harvard Business Review, Cambridge, Mass., vol.
36, no. 4, Jul.-Aug. 1958, pp. 37-66.

2. THE HUMAN SIDE OF ENTERPRISE, D. M.
McGregor. Adventure in Thought and ActionThe Proceedings of the Fifth Anniversary Convocation
of the School of Indflstrial Management, Massachusetts Institute
Mass., Apr. 1957.

of Technology,

Cambridge,

Discussion
R. A. Spon (International Business Machines Corporation): Are there any examples of companies who have overcome
the market decline problem?

Professor Forrester : Yes. Companies
that are alert to the danger make it a policy
to live in a succession of profitable peaks on a
series of product life cycles.
This can be done as a considered, designed
policy if one understands the forces at
work. Such companies are in the minority,
but enough have persisted in looking ahead
to new products and discarding the old
ones to indicate that the system can be
successful.
B. C. Heyel (ADP Services, Inc.): The big
trouble is that today's enterprise demands
such huge investments that the old-type
pioneers cannot get started. What can be
done about this?

Data Processing in Banking and Other
Services
B. W. TAUNTON
N GENERAL, the managers of the
more progressive industrial firms early
recognized the advantages that might be
gained through the use of digital and analog computers to supervise and control
manufacturing and production operations.
No doubt this is due, in part at least, to
those pressures which require the enterprising firm to seek out and try every
means of improving its products and the
efficiency of its production, in order to
maintain a competitive advantage. Perhaps it is also due in part to thee familiarity of such concerns with machines.
But the use of computers for the processing of data, so far, has been relatively
limited.
Generally, management has
been reluctant to depart from the more
orthodox accounting and reporting procedures with which they have been familiar,
in favor of a new system, which, at first
blush, appears to be costly and perhaps,
more important, involves so many unknowns. In the author's opinion, it is the
latter uncertainties of the successful installation and operation of such equipment even more than the expense that is
involved that has discouraged these managements from taking such a step. The
manufacturers of the equipment, in many
instances, may be partially responsible for
this situation, since they have contributed

I

10

to the uncertainties, through lack of
knowledge of how to use effectively the
equipment which they are making and, in
many instances, they have been responsible for undue delays in the perfection of
design, production, and delivery of equipment which they are endeavoring to market in advance of actual construction.
During the lO-year period between 1947
and 1957, professional and technical workershave increased at the rate of 60.6%
and clerical workers at the rate of 22.8%.
During the same period factory workers
have increased on1y 4.4%, and the laboring forces only 4.1%, the latter in spite of
the fact that over-all production of consumer and other goods has grown by leaps
and bounds since the second World War.
Unless one learns from industry the advatages to be gained by the use of more
advanced and automatic techniques to increase effectively the production of clerical
workers, the point where the economic
burden of doing clerical work is impossible
to bear, even if a sufficient number of
workers is found to do it ·at all, will be
reached soon.
I t would seem that the use of electronic
data-processing equipmep.t will go a long
way toward solving accot"nting and other
data processing problems, and it is believed that this will be equally true in the

Professor Forrester: There is ample capital looking for good men with good ideas.
I am not speaking of the old-type pioneer
who would follow exactly the pattern of the
past; that is no longer pioneering.
There are many examples of new enterprises which grow from the ability of one or
two men to manage well and to attract and
use money available for new investment.
For example, two men that I know have
started a new company in the digital equipment business; have shown a net profit for
their first full year of operation; are exceeding a half million dollars a year of commercial, nongovernment business before the
end of their second year; and they are effectively selling to the largest companies
in the field and also successfully competing
against them.
It only takes sound judgment, skill, imagination, integrity, a clear interpretation
of the signs and trends of the future, and
confidence. Investment money seeks out
such people.

case of the smaller firm, as well as the
larger one, since such equipment may be
obtained in large or small capacities and
consequently at relative cost to meet the
needs of concerns of various sizes. Furthermore, the author believes that, with
proper study and planning, a computer
system can be selected, installed, and put
upon an operating basis on schedule, if the
schedule is a realistic one. As a practical
illustration, a discussion fol1ows of the experiences leading to the selection and installation of a large-scale data processing
system at the First National Bank of Boston.
As early as 1950, the Methods Department began to take cognizance of the ex.istence and development of computer
systems which might be used in data procIn 1954 it became
essing operations.
quite evident that the developments in
this field were such as to warrant the assignment of at least one member of this
'department to its study on a full time basis. Thereafter research activities became much more intensified.
It was decided first to attempt to find
some practical means of determining the
answer to two basic questions. First,
could electronic data-processing equipment be used in anyone or more of the
bank's applications effectively? Second, if
the answer to the first question was "yes,"
what kind of equipment,should be used?
The first of these two prob1ems, that of
whether or not to use electronics at all is
considered. Of the more tp.an 90 different
types of services which are offered to cusB. W. TAUNTON is with the First National Bank of
Boston, Boston, Mass.
.

Taunton-Data Processing in Banking and Other Service Industries

tomers, there were several requiring the
manipulation of large files of data, such as
check handling for approximately 108,000
customers, personal trust accounting, installment loan accounting for approximately 65,000 borrowers, commercial
loans, mortage loans, and factoring accounts involving records for some 78,000
debtors accounts, corporate trust accounting, involving 765,000 accounts, payroll,
some 83,000 savings accounts, personal
money orders, and others. Some had already been mechanized to a considerable
extent through extensive use of such modern techniques as those involving
punched-card equipment. Others had
changed little over the years and encompassed a tremendous volume of paper
work. Of course, one specific application could have been selected, perhaps one
of those least mechanized, and the introduction of the use of an electronic system
in that area could have been attempted.
This approach, however, seemed to be too
limited in nature. It is frequently heard
that the stored program computer is referred to as general-purpose equipment.
It was reasoned, therefore, that if this be
true it might be anticipated that the
equipment could be used in various applications, if it lived up to its label. So, a
different approach was tried.
The larger applications were examined
with a view to selecting two of them that
might represent the extremes in requirements for data processing, that is, the upper and lower limits of data processing requirements that any particular system
As a
could be called upon to handle.
result of these studies, two applications
were selected, the deposit accounting
function and the corporate trust operation. Here were two that were diametrically opposed to each other. To round off
figures, more than 220,000 items were
processed on the average day against
100,000 checking accounts. Forty-eight
% of these accounts were active in a given
day. A fixed record length might readily
be assigned to each master record which
would accommodate the largest as well as
the smallest account. A substantial num-_
ber of mathematical operations were required to process the accounts. Little alphabetical information was involved, it
being presently limited to the name and
address, which must be referred to ordinarily only once a month in order to prepare statements for customers. More
than 900 inquiries a day had to be processed against the file, most of which required an immediate answer. While at
first blush, it would seem that the files
should best be kept in alphabetical order,
it developed that there was no require-

ment to do so. The file could be operated
efficiently with a numbering system.
On the other hand, the corporate trust
function involved a tremendous file with
relatively few items to be posted, actually
68/100ths of 1% would be affected daily.
The file must be kept in alphabetical sequence. It was largely alphabetical in
nature, and very little in the way of mathematical work was required. The record
length necessary was variable, running
from as few as 167 characters of information in one account to more than 47,000
characters of information in another. Inquiries that must be answered by reference to the file were relatively few and
far between, and in most instances could
be scheduled.
All other operations seemed to fall between these two, insofar as data processing requirements were concerned. Notably, they were the two largest applications and, at the same time, the two that
required the greatest amount of clerical
effort. In contrast, some other larger applications have been operated since as
early as 1931 on punched-card tabulating
equipment.
With a complete set of statistics available relative to current operations in these
two areas, attention was turned to the
electronic data-processing equipment
available and an attempt was made to
evaluate whether or not any of it might
meet the requirements. To program both
applications in their entirety would be an
exhaustive job. The bank, therefore,
tried to analyze the problem and to reach
some common basis for comparing different types of equipment. I t was concluded
that file maintenance in accounting procedures was the most difficult and the most
repetitive and time-consuming operation.
File maintenance means the preservation
of a record of each account and updating it
with the daily transactions, in order that
it might be available at all times for the
preparation of the multitude of reports
that are required to operate a business. It
was, therefore, determined to limit initially the studies to this phase of the data
processing problems.
Kext, it was determined that, within
each of the three areas in which computers
are classified, that is, small, medium, and
large, the internal speeds of the computers
then _av-ailable were not significantly di:fferent. --Far more important were the
speeds with which these devices could
process files, that is, their ability to read
and write large volumes of data in order to
locate the account, bring in _the transaction, and write out an updated account.
Hence, the relative merits of various computer systems in terms of the time which it

Taunton-Data Processing in Banking and Other Service Industries

would require to read master files and
transactions, and to write the new master
files for the two applications selected for
that purpose were measured.
In each instance, the records were established in such a fashion as to make the
most efficient use of each of the systems
tested, and to take into consideration the
limitations and advantages peculiar to
each such system. The medium-sized
computer field was chosen and one of the
better known computers in this area was
selected because it was felt that if one
medium-sized computer was found that
might reasonably perform the work, the
other competitive models would be examined in turn.
The results of these studies indicated
processing of the deposit accounting application and 1/lOth of the corporate
trust file in 30 hours of machine time.
Thus, it became obvious that two such
systems would be needed, operating on at
least two shifts in each 24-hour period,
with at least four operating staffs to operate them in order to handle only two applications. The cost of these systems,
without consideration of the personnel
involved, more than exceeded the cost of
a large-scale system. No time would be
available to add other applications without adding additional systems. The obvious conclusion was that the mediumsized computer system could not fulfill the
particular data processing requirements.
~ext, attention was turned to a largescale computer. A typical system in this
area was capable of performing the work
as it was being presently measured, in
terms of reading and writing capacity,
within a single shift. As a matter of fact,
the bank found that the computer might
handle the deposit accounting operation in
less than 3 hours each day and 1/lOth of
the corporate trust file in approximately
1.8 hours each day. If any computer system could handle the specific data processing problems, it must be in this category.
With this in mind, each of the large-scale
computer systems then available was
studied and one of them (the one which
was selected) was found capable of handling the deposit accounting operation in
something less than 1/2 hour, and 100%,
as distinguished from 10% of the corporate trust file, in a little over one
hour. It should be emphasized that these,
of course, are not total processing times,
but only a measure used· to make comparisons, since it was the area in which the
major differences in equipment existed.
The results of these studies were then,
for the first time, made available to the
equipment manufacturers who were requested to review them and to modify

11

them, if they felt the calculations were
substantially in error.
In June of 1956, a report was forwarded
to senior management outlining the studies to date and reporting conclusions to
the effect that, 1. electronic data processing equipment was available, which
could do the job, and, 2. it appeared that
the system, which was eventually selected,
would be capable of handling a substantial
number of applications on a one-shift basis, and permitted the addition of other
applications, as time went on. It was
pointed out that since the time required to
do the processing on this system was substantially less than that of comparable
models, at comparable prices, the machine
selected, as first choice, would be the more
eco:lOmical of those available.
Until this time, little thought had been
given to the economic feasibility of acquiring a computer system of any type. The
department had merely determined the
answer to two questions: Could such
equipment be used effectively and, if so,
what specific system might best do it?
Here the cost department took over and
began to draw some comparisons between
the cost of operating the recommended
system and existing costs. This subject
will be treated only briefly. Basically, the
position was taken that installation and
conversion costs should be amortized over
a period of years. It appeared that during
the first 2 to 3 years of operation, increased costs should be anticipated but
that, thereafter, they might be reduced,
particularly when additional equipment of
a peripheral nature could be acquired
which would facilitate the transfer of data
encoded on paper checks to machine ]anguage to be processed within the system.
No attempt was made to reduce to figures
such intangibles as continuing increases in
salaries with a consequent increase in conversion costs postponed to a later date, or
the hidden costs to be found in the less efficient, but more orthodox, procedures
which are followed today. Nevertheless,
it is believed such increases will serve as a
substantial cushion to absorb ultimately
any miscalculations that may have been
made.
When the department submitted what
proved to be the last feasibility report to
management, together with a recommendation that such equipment be acquired, a
suggestion was included that the studies
be reviewed by independent consultants.
Subsequently, management retained a
well-known management consultant firm
to review the feasibility studies, and an
equally well-known computer expert to examine the design and specifications of the
computer, which then had not been con-

12

structed, and advise the bank upon the
probabi1ity of the manufacturer being able
to deliver one which would satisfactorily
meet performance tests within the time
limits suggested. \\lith very minor exceptions, the consultants approved the
findings and recommendations and, in
turn, recommended that the bank proceed. Late in October 1956, a contract
was executed for a system to be installed
early in 1958.
Immediately, plans were implemented
which had been developed for the installation and operation of the equipment.
The day the contract was signed, a communication was addressed individually to
each of the members of the staff. This
communication briefly outlined the decision to acquire such equipment and contained reassurances that its use would not
adversely affect anyone's position in the
bank. Prior to this various articles in the
house organ were published, periodically,
with respect to the studies of electronic
equipment. Therefore, the notice probably came as no surprise to the employees.
Simultaneously with the distribution of
the notice, a meeting of the officers of the
bank was called. At this meeting, initial
plans for the use of the equipment were
outlined. Divisional and department
heads were advised that the bank would
shortly seek qualified personnel to enlist as
programmers, and that their co-operation
in arranging for the release of any individuals, so selected, was requested.
On October 29, 1956, the first of several
courses which were to follow was inaugurated, designed to train personnel
and programmers in the use of the equipment. Each of these courses was so arranged that the first 2 days provided an
over-all discussion of the system; the first
2 weeks, a more detailed explanation of
how it operated and how it might be used;
and the remaining 4 weeks, actual training
in the details of programming. Many of
the senior officers and divisional heads attended the first 2 days of these courses, and
department managers and supervisors attended the 2 weeks' courses.
In al1, 23 people were selected for the
programming staff. The group included
staff members, supervisors or junior officers
within the areas initially to ,be programmed, selected for their experience in these
areas. In addition, the group included
three persons selected for their knowledge
of, and familiarity with, the installation
and operation of tabulating equipment,
and four who were on our Methods Department staff. Following the completion
of the 6 weeks of basic training provided
by the manufacturer of the equipment,
these people then attended classes of in-

struction intended to initiate them in a
method of systems analysis which would
be consistent in each of the areas to be programmed, and which, in the bank's judgment, would meet the needs of an electronic installation of the type that was involved.
On January 2, 1957, the programmers
were divided into three groups, one to
cover deposit accounting, one to cover
corporate trust work, and one to cover loan
operations (the latter includes commercia]
loans, mortage loans, instalment loans,
and factored accounts). Each group consisted of one person formerly associated
with the Methods Department, one person experienced in the use of tabulating
equipment, and two or more who had been
drawn from the operating departments.
The first activity of each group, the
most time-consuming of the entire operation, was to analyze in detail the current
operations in the area to which they had
been assigned. The analysis consisted of
two basic factors. First, they were required to flow chart, in detail, the flow of
data from the time it entered the bank to
the time it was ultimately disposed of in
the accounting procedures. The type of
flow charting used was considerably different from that which might normally be
expected. Only five basic symbols were
used, and emphasis was placed entirely
upon the form of, and the movement of
data, rather than who handled it, or
through what departments it passed.
Very little attention was actually given to
departmental lines in this analysis. The
second factor in the study was an analysis
of the forms used to convey these data
through accounting procedures. A copy
of each piece of paper used, whether a preprinted form or a piece of scratch paper,
completed with a typical entry or entries,
was attached to an analysis sheet which
gathered those statistical data which are
so essential to properly program a com. puter.The·"estimates inclicate.that, to
date, approximately 65% of the time devoted to the development of the program
was spent in defining the problem, 25% in
solving it, and lO% in translating it into
machine language.
By the fall of 1957, plans had been developed for the preparation of the site in
which the machine was to be located, and
toward the latter part of the year site
preparations actually began. The system, containing all of the units which were
ordered, normally required approximately
4,500 to 5,000 square feet of floor space
including the field engineers' quarters and
the central power supply. However, in
order to provide room for expansion of
the system to accommodate such things

Taunton-Data Processing in Banking and Other Service Industries

maintain an alphabetical file in this way
in this operation, why do you not follow
the same procedure with respect to all
other files?" The answer is that, in this
particular type of file, a substantial proportion of the daily transactions consists
of opening and closing of accounts and
there is no practical way of controlling input to the system so that account numbers
are reflected in the data. Every transaction must be looked up, and a number
assigned to it if a numbering system is to
be used. On the other hand, in an operation such as the handling of checking accounts, there are relatively few accounts
opened or closed from day to day, and
practically all of the transactions affecting it can be precoded with an account
number, so that it is readily available
when the check or deposit is presented to
the bank. The low activity in the file also
has some bearing, since the amount of
time required for the computer to calculate the key would be quite significant if
approximately 10% or more of the accounts were to be affected on a daily basis.
In addition to the applications which
are presently operating on the computer
system, basic programs for the loan operations are rapidly being completed, and
they will be added to the electronic data
processing during the coming calendar
year.
Thereafter, attention will be
turned to such other services as personal
trust, payroll, s~wings accounting, expense
distribution, and others. At the present
time, it appears that the bank will be able
to handle all of these applications on the
computer which has been installed and
that, as time goes on, there will be need
only to expand the peripheral equipment,
such as the printers, to take care of these
additions as well as the increases in volume
that is expected.
The author has taken some time to outline the bank's experiences in approaching
the use of electronics for data processing,
and installing and operating a computer
system. It is hoped that this outline will
be accepted as being in the nature of a
progress report, and that it may be of
some help to potential users of electronic
equipment, both large and small, as well as
to those interested in the manufacture of
such equipment. It is felt that many who

14

have not already done so, are capable of
accomplishing the same task and undoubtedly with better results. Perhaps
this progress will encourage some to take
another critical look at this tool for business. By way of summarization, the
following points are emphasized:
1. The use of electronics should be of paramount interest to senior management, who
must determine the result that it wishes to
accomplish and be willing to support rather
drastic changes in organization if need be.
Select one or two individuals in whom
management has implicit confidence and
who have an over-all knowledge of the
business and an over-all interest in its success to study the potentials to be found in
the use of such equipment, and to direct the
installation and operation if a computer
should be ultimately selected. While much
can be said in favor of committees they
frequently result in extensive and expensive
periods of research and little in the way of
decision.
2. Make personal evaluations. Do not
depend upon the manufacturers. It has
been said tha t electronic engineers understand the mechanics of the comr:uter but
rarely the mechanics of the company. It is
much easier to teach the machine to someone who understands the business, and who
is progressive and willing to accept new
ideas than it is to teach one who knows the
machine all of the intricacies of your business.
3. Consider all your accounting problems,
not just the one or two that may be foremost in your mind because they are the most
critical from one viewpoint or another. A
computer should not be considered as another bookkeeping or tabulating machine to
be superimposed upon one or more existing
operations, nor ordinarily should it be left to
individu::lI departments to decide how or
why a computer should be used.
4. If the use of a computer is indicated,
management has a right to anticipate higher
quality work, as well as increased quantity.
Question the adequacy and efficiency of
present methods, but in doing so, ascertain
whether or not you are talking to the man
who designed them. And remember that
quality and quantity can be materially
dissipated by the insistence that information
shall be provided exactly as it always has
been.
5. If it is decided that electronics is a tool
that can be applied to the specific business.
select the hardware that will not only perform best now, but that will perform, at
least, equally as well, in so far as possible to
judge, 5 years from now. A system that is
limited to fulfilling only present requirements and permitting no expansion or
changes in methods may well lead to sub-

stantial and expensive changes later;
changes which can wipe out all of the
advantages that might be gained as a
result of the initial installation.

In conclusion, emphasis should be
placed on the fact that the electronic computer is a tool which, when put to proper
use, will serve banks and other service
businesses, as well as industrial organizations, in· solving a wide variety of data
processing problems. Studies which have
been conducted have convinced this bank
that this tool can be useful to a wide range
of firms of various sizes. Appropriately,
electronic data-processing systems are
available in a variety of sizes, and they are
priced accordingly. Businessmen should
not arbitrarily assume that their organizations are too small to make it economically feasible for them to use these tools.
To the contrary, avoid such ill-considered
conclusions and examine carefully the
possibility of whether or not such equipment will be of aid along the road to success in business.

Discussion
R. D'Antonio (International Business Machines Corporation):
For commercial
applications, how sophisticated should the
error detection system be? What is the
maximum time allowable between failure
and detection?
Mr. Taunton: I do not think that you
really need too sophisticated an error detection system. I think in business we need to
know immediately that an error has
occurred. In using a computer on an
application, you are processing a tremendous
amount of data at pretty high speed. If we
are getting off the track because the computer is not following through, we should
know it so that we can stop the process.
We want to know whether we are doing the
job, or whether the maintenance engineer
should repair the machine.
As to maximum time allowable between
failure and detection, it should be kept
pretty low. I would be more inclined to
measure it in minutes rather than in milliseconds. I do think manufacturers have
introduced too much sophistication into
some of our data machines and made them
perhaps a little more expensive than they
really need to be, in order to have a good
sales point in promoting a piece of equipment to uninitiated customers. I have seen
one or two cases and recent announcements
where the checking circuitry being offered
to the customer is rather expensive and not
at all economically justifi.able.

Taunton-Data Processing in Banking and Other Service Industries

.

The Role of Computers In Air Defense
W. H. TETLEY
N" GE~ERAL, the mission of the Air
Defense Systems Integration Division
is to insure a properly time-phased and
effective Air Defense ::Mission System.
(The definition of mission system will
become clear later on in this paper.)
With such an aim in view, the basic
commodity with which this organization
must deal is systems engineering, for it
is necessary to combine the various
functions of weapon systems, environment systems, and support systems into a
co-ordinated over-all master system.
In essence, this master air d~fense system is a giant servomechanism of really
spectacular proportions. Although its
reflex action is achieved by information
feedback, it still suffers the many
vagaries of the simple feedback amplifier. Consider then, the weird prospect
of a servomechanism, spread out over an
area comparable to the whole North
American continent, going suddenly into
oscillation. This, of course, is most
unlikely; it is still statistically possible,
however, if the programs associated with
the computing links of this servo chain
possess certain subtle incompatibilities.
Such an instability could be exploited
by an intelligent aggressor by exciting
the system at its resonant frequency
with cyclic probing techniques.
It is the thesis of this paper, that the
role of the computer in air defense is to
function as a vital element in a vast
computer system under centralized control. In order for the whole to have an
optimum response characteristic, all included computer functions must be
entirely compatible. Although in air
defense one deals primarily with systems
essentially servo in character, it is conceivable that in the face of certain inevitable odds, this idea may be abandoned
in order to seek more sophisticated solutions along the lines of Descartes'
"reasoning machine" or Shannon's automated chess-player.
In what follows, then, rather broad
terms will portray what many in systems
engineering believe lies ahead for the
computer in air defense. Naturally, one
cannot discuss in an unclassified paper
the actual response characteristics of
present and programmed systeins~ . The

I

W. H. TETLEY is with the Air Defe~ecSystem
Integration Division, L. G.· ·Hanscom Field'
Bedford, Mass.
'
COL.

systems engineer can, however, knowing
the trends of the basic parameters which
determine this response, postulate on the
structure of the theoretical system required to solve the intercept equation.
The initial parameter governing this
calculation is, of course, the potential
enemy threat, which in the case of air
defense will be some optimized combination of aggressive aero-space intruders.
The term aero-space intruders connotes
both aerodynamic, ballistic, and orbital
vehicles. The second parameter, the
defensive weapons system, is likewise an
optimized combination of aero-space
vehicles. The so-called Mission System,
then, must insure that the latter combination can successfully vie with the former. "Gnder the necessary wraps of
security, its existence must be viewed
only qualitatively here, and defer the
actual assigning of. magnitudes to the
military planner and his budgeteer.

Discussion
In discussing air defense on this theoretical basis, the author has chosen to consider two levels of operational management, the continental or national level
which ostensibly would be concerned with
an intrusion of the aero-space anywhere
over the North American continent, and
the regional level which, for purposes of
this discussion, represents a manageable
area containing at least one basic mission
system.
Theoretically then, it is the role of a
regional control center to manage the
mission system within its confines and to
co-ordinate its activities with adjacent
regions. And by the same token, the
role of a national command center would
be to manage all regions and to coordinate its activities with adjacent
national command centers. It shall be
assumed, for the purpose of this discussion, that adjacent command centers
would exist for national level control of
offensive mission systems as well as
national level control of the domestic and
"home front" civil defense programs.
Precedence 'for this idea lies in the present
Command Center of the Office of Defense
Mobilization (OHM) and the Strategic
Air Command (SAC) control center.
Of course, since this paper deals only in
theoretical terms, other national level
command functions are not ruled out.

Tetley-The Role of Computersln Air Defense

This paper will consider all computer
functions which contribute to the notion
of a national air defense effort. These
computers would perform generally within
the follow;ng areas of consideration:
1. The local computer functions located
within the confines of individual regions and
associated directly with individual weapons
and their support systems.
2. The regional computer functions which
by the use of local or slave computers, per~
form the so-called air defense mission.
3. The central computers at national level
would manage and co-ordinate all regional
air defense activities.
4. Numerous support computer functions
outside of air defense regions but which
devote considerable frame time to the support of the air defense mission.

A distinction will be made here between
computer functions, computer systems,
and the actual computers themselves.
Computer functions are definable functions closely associated with the ten basic
air defense steps which will be enumerated later. Computer systems are networks consisting of the central computer
function and its remote or slave functions'
collectively these systems in differen~
degrees of complexity, would perform at
both regional and national levels. And
finally, the term "actual computers"
refers essentially to the hardware and the
associated programs which perform compatibly within the computer system.
Definitions of some of the more important terms follow:
System. There is no quick and easy
definition of the system. It does, however, possess at least the following
properties:
1.

It is an ensemble of specific functions.

2. It is a complete entity and definable
within a boundary.
3.

Coupling exists between these functions.

4.

It has a definable input.

5. It produces a
product.

definable output or

6. Satisfactory operation of the individual
functions does not necessarily insure satisfactory operation as an ensemble.
7. It is susceptible to a generalized form of
the "Second Law."
8. In addition, it quite often possesses the
property of being a servomechanism and of
involving stratagems.

Mission System. The smallest en'semble of air defense functions capable
of performing the air defense mission.
It is interesting to compare the mission
system:with the generalized system
previously mentioned:
1. It is an ensemble of ten basic functions.

15

2.

1t is definable within a region.

3. Information, economic, and logistic
coupling exists between functions in a complex fashion.
4. Its input consists of both information
and equivocation.
5. Its output constitutes information both
for weapons guidance and for collateral
action by cognate agencies.

o.

It has pronounced Gestalt property in
that the system characteristic is not directly
ascertainable from the performance of individual functions.

7. It is susceptible to spontaneous and to
deliberately generated equivocation.
8.

It is an information servomechanism.

9.

It plays a two-person zero-sum game.

Air Defense Mission. The sequence of
ten basic events bridges the gap between
intrusion and interception. These ten
functions are: intrusion, detection, identification, surveillance,assessment, decision,
commitment, tracking, guidance, and
interception.
Intrusion. The appearance of a vehicle
within the aero-space volume of primary
interest to a regional mission system.
Detection. The gaining of enough information to indicate that an intruder
has entered the aero-space.
Identification. The gammg of sufficient additional information to indicate
that the intruder is either hostile or
friendly.
SUr7leillance. The gaining of still more
information concerning a hostile intruder,
such that it is possible to decide upon a
future course of action and, if so indicated,
program an interception.
A ssessment. The act of determining
the severity of the intrusion relative
to the status of possible counter-weapons
within the regional inventory.
Decision. The act of deciding whether
or not to initiate an interception, or to
take other appropriate action.
Commitment. The selection and launching of the optimum weapon configuration
and the calculation of its trajectory.
Weapon Tracking. The gaining of information concerning the status of the
weapon after its commitment, with a
view to comparing this information with
the information gained by surveillance
of the intruder.
Guidance. That information which is
supplied to the weapon as a result of
initial trajectory calculations and updated by comparing the tracking and
surveillance information.
Interception. The successful completion of the intercept problem within the
real time period allotted.
Consider in a little more detail, the
steps following an intrusion:

16

Detection

Intruders are detected in the aerospace by the long-range radar warning
function. Equipment for this purpose is
located on land in the Far North, at sea
on the Texas Towers, and aloft in the
aero-space itself on vehicular platforms.
It can be expected that at any time that
the information gained by these various
facilities will be seriously deteriorated by
equivocation, especially at a time when
the information is needed most. Equivocation means the introduction of all spurious inputs which in the Information
The0ry Analogy would characterize the
system as a noisy channel. This equivocation will be generated by man as well as
being of natural origin. This deteriora. tion of information can be expected to become increasingly more troublesome in
systems of the future and to impose a most
serious limitation on the precision and success of long-range detection processes.
The Theory of Information indicates that,
given sufficient time and the appropriate
coding techniques, it is possible to
recover considerable information from
cluttered channels.
Thus, the system
(the mission system) must buy the precision that it needs with that other
very scarce commodity, time, with some
hope of its eventual recovery elsewhere in
the system. Due to the stringent restrictions placed on the system by the realtime solution, there will be little or no
time available for the recovery of information from the highly cluttered
channels likely to be encountered.
Here, then, is the first challenge to the
computer engineer, to design data recovery computers which will be both
efficient and rapid, and to design into
those subsequent computers which use
this information, sufficient speed to
compensate for that lost in the early
purging processes.

if it is necessary to go through the process
of normal identification and simultaneously through the process of correlation with known vehicle positions, adequate storage and versatility must be
engineered into the identification function.
Any time lost here must also be recovered
by subsequent computer functions. This,
of course, becomes increasingly more
critical as the number of remaining
functions decreases, since the time recovery must be prorated over fewer and
fewer operations. And, as will be shown,
the subsequent operations involve calculations which in themselves need all the
possible time that can be alloted to them.
Suffice it to say, however, that the
process of identification is not only timeconsuming but subject to much the same
equivocation as is the detection process.
Here again, the computer engineer faces
the challenge of designing an identification program which is error-proof, versatile, and fast.
Surveillance

An intruder having been positively
identified as a hostile vehicle, becomes a
target, and must be placed under radar
surveillance. The surveillance apparatus
is much more precise than that used in the
detection process, as it must acquire the
position and velocity information needed
to both plan and eventually execute an
interception. Again this process is subject to the pressing problem of equivocation; and as this information must be
highly precise, the time lost in recovering
good data from the cluttered channel
might be considerable. Inasmuch as
the surveillance information has a vital
role in determining the choice of weapon
as well as its trajectory or profile,
extreme care must be exercised in obtaining the very best information possible
during this phase.
Assessment

Identification

Assuming that an intruder has been
successfully detected, it is vital that the
vehicle be positively identified as either
hostile or friendly. The process of
identification is an immensely complicated
and highly classified one. For that
reason, it will not be discussed in detail
here. It can be said, however, that if
normal identification processes fail to
identify the intruder,knowledge as to the
status of all friendly vehicles in the aerospace must be immediately brought into
play to correlate the position of the
intruder with the positions of all known
vehicles in the traffic inventory. Again,
this is immensely time-consuming, and

In addition to completely assessing
the nature of the hostile intruder, it is
necessary to have timely access to the
status of all weapons in the regional
inventory in order to make an immediate
assessment of one's own weapon diversity.
This information results in the choosing
of an optimum weapon configuration
with which to retaliate. When one
realizes that a potential intruder can be
travelling at velocities many times the
speed of sound, it is evident that this
complicated inventory procedure must
be done with extreme rapidity. As can
be seen, this function is essentially one of
extracting data on land-based weapons
from computer storage and combining

Tetley-The Role of Computers in Air Defense

them with continually up-dated infonnation on the status of vehicle-based
weapons. The object here is to ascertain
the best of the feasible weapons, together
with 'its preferred trajectory, and to
consider its physical iocation relative to
the intruder at key times in the immediate future.
Decision
Assuming that there exists within the
inventory of weapons, one which represents an optimum solution to the intercept problem, a man-made decision must
then be made, whether or not to commit this weapon against this particular
intrusion. This presumes, and rightly
so, that there may be very good reasons
for withholding a particular weapon at
any given time.
Commitment
The decision to complete the interception would naturally call for the commitment of the best weapon configuration
which fell out of the assessment process.
This function must recheck to make
certain that Weapon X is currently the
optimum one, and if so, proceed with the
complicated task of getting it on its way.
This, of course, involves many operations
associated with preflight and prelaunch
preparations. Actually, the central computer could delegate this responsibility
to local computers at the launching point
and in the weapon proper. The choice
of weapon might be an air-to-air missile
from a long-range launching platfonn,
an intennediate-range ground-based missile, or in the extreme case, a short-range
local defense type of missile. This type
of weapon diversity follows the classic
principle of "defense in depth." In any
event, these weapons have local computers which are slaves of and are coordinated under the direction of the
I
regional computer.
The high cost of equivocation should
be mentioned for it is well known that
redundancy is often the easy way out
and is thus the price one must pay to
overcome cluttered channels. A very
costly solution involving redundancy
would be to commit more weapons than
would nonnally be necessary to effect
the interception.
Weapon Tracking and Guidance
In addition to maintaining surveillance
over the intruder, it is necessary also
to keep track of the weapon in order to
generate and check the required guidance
infonnation and thereby complete the
servo loop. This guidance function varies
with the choice of weapon, and while

some weapons perfonn this task themselves, others are controlled indirectly by
the regional computer, or in some instances by a combination of both.
Here again there is ample opportunity
for equivocation to creep into the system
and deteriorate the performance, for
noisy feedback loops introduce a host of
new problems.
Naturally, the interception is the end
product of this entire chain of events,
and results only after a satisfactory
solution has been achieved by the ensemble of computer functions acting in
unison.
This has been a resume of the more
common computer functions which must
take place within the regional or mission
system. N ow consider the examination
of those functions which are outside of
the actual system itself but which support
or otherwise affect it.
CENTRALIZED CONTROL

First, there is the national level function
which links together all regional computers and co-ordinates their actions by
means of centralized control. This computer is able to exchange views with the
SAC operational computer and with
that of ODM, and thus co-ordinate air
defense on the governmental level.
Also, there is the problem of regional
assessment and regional commitment;
this parallels the problem of weapon
assessment and commitment at the mission level. There might be ample
justification to inhibit a particular region
and to allow its adjacent region to make
the interception, especially if it involves
less cost and better chances of success.
This would be a decision made at the
national level command center, based on
calculations from its control computer.
In other words, it might be advantageous
to optimize decision-making at the two
levels in the event of repeated or continuous intrusion and where the principle
of "economy of force" must be invoked.
DIVERSITY DATA LINK

A system of computers is no better
than the infonnation channels which
link the slave units to the central control
computer. Considerable flexibility might
be achieved,· and much more reliable
data transmission effected, if diversity
data links with appropriate programs
were utilized. It might be advantageous
to initiate the data transmission program
at one of the ten basic steps, say identification. If the identification should
turn out to be hostile, the data link
program is placed into effect and the
remaining configurations follow in se-

Tetley-The Role of Computers in Air Defense

quence. Such a program would call for
a specific data link configuration for each
step. In the ideal case these would be
so programmed that an optimum mode
(assuming several degrees of freedom
obtained) would accompany each step
in the air defense function.
PROGRAM "UP-DATING

The physical task of up-dating the
programs for such a bewildering system
of computers as indicated would be insunnountable without some fonn of
gaming and up-dating monitor. This
would be a computer function which
would conceivably cycle the system
through all statistically possible intrusion
patterns in an effort to find flaws in the
central and local programs. Actually,
there must be complete compatibility
between all programs involved. This
gaming computer would then, by Monte
Carlo techniques, along the lines of the
University of Michigan and the University of California in Los Angeles
traffic models, shake out hidden incompatibilities by causing the system to
respond to every statistical combination
of intrusion, weapons inventory, and
equivocation level.
LOGISTICAL SUPPORT

The logistical support effort of this
hemispheric defense complex is of staggering proportions. This function can
be perfonned, however, by standard
logistics computers of the type now in
use by the Air Materiel Command. Here
is fruitful ground for a program-correcting computer which profits by the
misjudgments made in the normal logistics
process and which constantly up-dates its
program to this end.

Conclusions
The very real problems which will
plague the air defense systems designer
of the next decade will be summarized
and this paper will close with a brief
glance at the economic outlook.
Weight and Volume. A major problem
area involves the enonnous weight and
volume of high-capacity computers. The
sheer mass of present installations, even
the solid state versions, seriously hamper
their use in weapon systems applications
where weight and volume are critical.
This is now a problem of manufacturing
technique. Cryogenic bistable elements
seem to have proven themselves highly
suited for rapid switching and occupy
an extremely small volume. This is;
of course, an answer to one of the many
prayers of the weapons systems engineer.

17

It now appears possible that the techniques of handling liquid helium will
eventually make this device practical
for vehicle-borne slave computers.
System Compatibility. When computers
are integrated into a system, there immediately arises the problem of their
compatibility. In some instances, slave
functions may be quite loosely coupled to
the master control center. Logical devices operating in the submicrosecond
range must take into account the fact
that transit time of pulses, even at the
speed of light, becomes exceedingly
significant at these high switching speeds.
The netting of several slave computers
in the millimicrosecond range with
their central master is ~mpossible under
present data link standards. Added to
this is the. Doppler effect incurred when
some of the slave functions move about
the region at a speed several times sonic
velodty. The need for absolute compatibility could rule out completely recent
ideas for the use of burst communication techniques between master and
slave stations.
Radar A ccuracy. Serious limitations
might very well be placed on the theoretical accuracy with which both the position of a target and its velocity can be
determined simultaneously. It appears
to be an extension of Heizenberg's uncertainty principle, which places an
upper limit on the accuracy with which
both position and velocity may be obtained simultaneously.
Information Capacity. Another area
of interest occurs when one considers
the gigantic task of performing a running
inventory of our aero-space for the exact
position of all friendly nonintruding
vehicles, yet such a feat may well be
necessary. This problem must be con-

sidered along with the problem of equivocation, which subject this paper has
touched on most gingerly, as the more
quantitative aspects of this subject cannot be discussed in a paper of this sort.
Shannon and others have pointed out
that as long as the information rate is
kept below the capacity of the system,
techniques exist whereby nearly errorless
information retrieval is theoretically
feasible. The price, other than high
redundancy, which must be payed will
result in intolerable time delays, or enormous increases in information capacity.
This, coupled with the gargantuan task of
keeping track of all vehicles in the aerospace, appears to be almost beyond the
bounds of practical solution.
Equivocation and Redundancy. It appears from here that the most pressing
problem facing the air defense system
designer, and consequently the designer
of air defense computers, it that of processing information in the presence of almost over-riding equivocation. Unfortunately, where redundancy is needed
to buy off this equivocalion it tends to
manifest itself in the costly function of
weapon commitment. Here, in the limiting case (that of completely over-riding
equivocation), one can enVISIon the
illogical solution of commiting every
available weapon simultaneously. Even
solutions approaching this to a small degree can become logistically nonfeasible;
thus, everyone in air defense is faced with
this most formidable challenge. Perhaps
there is another approach to this problem, along the lines of the gaming computer which was mentioned earlier. A
system controlled by such a computer
might, in the presence of completely
over-riding equivocation, be able to
draw judgments, through the process of

Microprogramming
M. V. WILKES
EFORE going into the subject matter
of this paper, the author will report,
briefly, the state of the digital computer
art in Britain. Just before leaving England for Philadelphia, the author attended
an electronic computer exhibition which
opened in London. This was the first
exhibition of its kind to be held in Europe.
It was a genuine computer exhibition,
not only an exhibition of computer components, and there were 11 stored-

B

18

program digital computers being demonstrated. The exhibition w~s at Olympia,
a large exhibition building in the west of
London, where many of the big exhibitions are held. The computers were not
occupying the largest hall at Olympia,
but, nevertheless, it is a source of pride to
those who have been associated with the
British computer industry that it should
be possible to stage an exhibition on such
a scale.

"statistical inference," from the meager
information available. This presupposes,
then, that such a computer could retain in
storage all conceivable intrusion patterns,
together with their appropriate countermoves, and has the facility to select from
meager inputs the most probable of all
statistically possible solutions. Here in
this ultimate form one departs from the
cybernetic character of the problem,
only to become involved in a sophisticated
game of chess against a player who is a
recognized master of that game.

Epilogue
It seems reasonable that a group of
engineers with backgrounds in computers
would also have a primary interest in the
economics involved in the use of computers for air defense. Therefore, the
author will conclude on this note, for
there is considerable correlation between
the professional challenge involved and
the fraction of the military budget
directed toward computer functions.
It appears at this time that the total
investment in ground-based computer
functions will not be less than 3.3 billion
dollars by the end of the 1960 decade.
The investment in vehicular-borne computer functions will start to become an
important factor during this period and
will undoubtedly exceed 78 million dollars.
In addition, leased facilities for the
various support functions involved could
very well amount to 11 million dollars
annually. These figures include only
those computer functions which are considered closely associated with the Air
Defense Mission. There is good reason
for the computer engineer to look upon
both the material and professional roles
implied herein with unusual seriousness.

Anyone who promises to give a lecture
or an address and is asked for a title in
advance is likely to give a vague one, in
order that he need not decide what to say
until immediately before he is due to
speak. The author's title perhaps comes
into this category since "microprogramming" is a term which has been used in so
many different senses that no one is now
quite sure what it means. Generally,
however, it is used in some context which
has to do with the design of the control
circuits of a digital computer, 1-4 and that
is the sense in which it will be used here.

M. V. WILKES is with Cambridge University,
Cambridge, England.

Wilkes-Programming

The author feels some responsibility for
the term since he was, he believes, the
first to use it in this way when he gave a
lecture at a conference held at Manchester University in July 1951. 5,6
Up to that time it appeared that the
sequencing units of digital computers had
generally been designed on an ad hoc
basis. The design engineer would cover a
sequence of large sheets of paper with
block diagrams of gates and flip-flops
until he found an arrangement which produced the waveforms he required, and
one that appeared to be reasonably economical. The author's aim was to suggest a mode of design which would not
only be more systematic, but would lead
to a sequencing unit with the same underlying structure whatever the order code
of the machine.
The need for a sequencing unit arises
because the basic operations which a dig-'
ital computer is required to perform, in
response to orders written by the programmer, are more complex than the
basic operations which take place inside
the machine itself. A machine (it is convenient to think in terms of a parallel
machine) contains a set of arithmetic registers together with an adder, and also a
set of control registers (a register which
holds the address of the next order to be
executed, index registers, etc.) which also
have an adder associated with them. It
is the sequencing unit which brings the
machine to life by supplying the pulses
which cause the sub operations required in
the execution of an order to take place.
These consist simply of transfers of numbers from one register to another, either
direct or via an adder. An addition, for
example, requires two such sUbopenltions.
The first is the simple transfer of thenumber in the accumulator to a shifting register and the second is its transfer back to
the accumulator via the adder. Similar
sub operations take place on the control
side of the machine when, for example,
the number in an index register is being
added to an address.
There is an analogy between the way in
which the sequencing unit causes the various suboperations comprising an order to
be performed and the way in which the
machine as a whole executes the program
of orders. This analogy becomes clearer
when it is pointed out that some of the
sub operations may be conditional; for
example, in a multiplication one must add
and shift if the multiplier digit under
examination is aI, and shift without
adding if it is a O. It is this analogy which
gives rise to the term "microprogramming." The microprogram is the list of
suboperations or micro-operations re-

VVilkes---JOrograr.nr.ning

quired to execute all the orders in the
order code.
It will be seen that the sequencing unit
must contain storage for the microprogram. In a machine which has been
designed on an ad hoc basis, this storage
will be provided by the wiring of the control unit. In the scheme which was
suggested by the author in 1951, it was
provided in a diode matrix, or rather in
two diode matrices. The first matrix
determines the transfers which take place
during each micro-operation and the
second matrix determines which microoperation in the microprogram is to be
executed next. The analogy is thus with
a 1+ 1 address order code such as is often
used in a machine provided with a magnetic drum as its main store. If the choice
of the next micro-operation can be made
conditional, the analogy with ordinary
programming is very close; there is, however, no reason why the choice of the
transfers which take place during the
micro-operation should not also be made
conditional.
It should be noted that conditional
micro-operations are used not only in
arithmetic contexts such as that mentioned previously in connection with a
multiplication order, but also for switching from one part of the microprogram to
another; for example, in a machine with
both fixed and floating point orders, the
sarne basic division sequence may be used
for both modes, switching to and from it
being arranged by means of conditional
micro-operations.
In a machine designed along the principles described, the engineering problems
to be tackled in the design of the sequencing unit do not depend on the details of
the order code which are determined by
the disposition of diodes in the matrices.
Two advantages follow from this. One is
that the order code need not be decided on
until a late stage in the construction of
the machine, and will therefore be more
up-to-date than it might otherwise be.
The other advantage is that people with
programming experience can be called in
to help with the design. Apart from
division of labor, this has the advantage
that the resulting order code is more
likely to be free from those little twists
and exceptions which may seem unimportant to an engineer but which are
very irritating to a programmer.
~ ow in operation in Cambridge is a
machine with a sequencing unit designed
along these lines, but making use of a
matrix of ferrite cores instead of diode
matrices. i One matrix only is used and
each core corresponds to a micro-operation in the microprogram. One set of

wires determines the order in which the
various cores are switched and corresponds to the second diode matrix previously mentioned. The other set of wires
control gates throughout the machine and
determine what transfers take place during each micro-operation. Conditional
action is secured by arranging that at
certain intersections there are two cores.
At any given time one of the cores is
biased off and the matrix behaves as
though the other core only were present.
'Which core is biased off is determined by
the value of the binary digit being sensed.
Some of the intersections have four cores
and provide four-way c~nditional action.
The control matrix of the machine,
which is known as EDSAC 2, contains
1,024 cores of diameter of 8 millimeters,
and arranged geometrically at the intersections of a 32X32 grid. The wiring,
is such that at some electrical intersections there are single cores, at others
two or four cores, and at some no cores at
all. By this device it was possible to construct the matrix in two dimensions rather
than in three, and to secure uniform loading of the tubes driving it.
The author has written mainly about
his own work in this subject and that of
his colleagues. He is well aware that
others have been thinking along similar
lines, and that various machines have
been built with sequencing units designed along principles similar to those
indicated. A reaction of many engineers
when confronted with these ideas is to
suggest that a sequencing unit should be
composed of a series of delay lines, one
for each order in the order code. When a
particular order is to be executed, a pulse
starts along the delay line corresponding
to that order, and branches off to operate
gates in the machine at appropriate points
on its passage. Sequencing units of this
type have been built, the first of which
the author became aware being in the
:Memory Test Computer at the Lincoln
Laboratory of the Massachusetts Institute of Technology. In its simplest form
this scheme requires that entirely separate
sequencing equipment should be provided
for each order, even though there may be
some overlap of function. Conditionally
controlled cross-connections can be provided between the various chains in order
to obviate this objection. It may be
found, however, that the complexity of
the cross-connections is such that it is
better to go back to the idea of using a
matrix. This is certainly true if magneticcores are used; many engineers would
now agree that magnetic cores payoff as
switching elements only if they are used
in matrices.

19

into a matrix but would be held in an
eras~ble store. The programmer would
set up the order code by transferring an
appropriate number of words from the
main store of the machine to the erasable
microprogram store. Each programmer
would thus be at liberty to use his own
private order code, and indeed could
change codes as often as he liked in the
course of the same problem.
This idea is certainly a fascinating one,
and it is what is meant by many people
when they use the term "microprogramming."
However. the view is expressed in the
lecture the author gave at Manchester
in 1951 that probably there was no real
requirement for such a machine, and that
it can be said that events have confirmed
this view. There has been no lack of
engineers who would have been glad to
try their hands at designing such a machine, or of programmers who would have
liked to have one to play with. As far as
the author knows, however, none of them
have succeeded in persuading a sponsor
to put up the necessary money. Perhaps
this is just as well because the many

A distinctive approach to the rational
design of the sequencing unit of a digital
computer is that cultivated on the West
Coast. This makes use of Boolean techniques, and instead of the design engineer
calling in some one with programming
experience to help with the design of the
sequencing unit, he calls in a Boolean
analyst. The relationship between this
approach to the subject and the one described earlier will perhaps become clearer
as time goes on.
So far the discussion has been about
ways of designing the sequencing unit of
an otherwise conventional machine. It is
an advantage of these methods that
changes maybe made in the order code of
the machine at a late stage in its design,
or even after it has been built. It is not
intended, however, that such changes
should in general be made after the machine has been accepted for service.
Nevertheless, many people have become
fascinated by the idea of a machine in
which the order code would not be fixed,
but could be chosen at will by the programmer. In such a machine the microprogram would not be wired permanently

The Athena Computer I A Reliability
Report
L. W. REID

G. A. RAYMOND

HIS PRESENTATION provides actual performance data, which makes
feasible digital computer applications
that require equipment to operate 24
hours a day for a period of 7 days without error or failure, with no preventive
maintenance required, and involve real
time problems in which a human life is
involved.
These data have been derived from the
performance figures of Remington Rand
Univac's Athena Guidance Computer,
Fig. 1. This computer is a large-scale
general-purpose, transistorized digital
computer. It is part of the Radio
Inertial Guidance System for the Air
This guidance.
Force ICBM Titan.
system has been developed in co-operation with Bell Telephone Laboratories,
Whippany, N.J. Bell Telephone Laboratories has designed the associated radar
equipment.
The guidance system consists of a
ground based computer, which com-

T

20

municates with the missile through the
radar. Simply stated, the system continually determines the missile's present
position and relates it to a desired position, computes and furnishes to the
missile necessary steering orders to
perform corrective action so that the
assigned destination is reached.

Operational Summary
In the contract issued by the United
States Air Force to Remington Rand
Univac, the Air Force placed specific
requirements on the manufacturer as to
the desired level of reliability which
was to be attained. This requirement is
most easily explained by saying that no
more than six out of every 1,000 missile
firings shall fail to hit the target due to
errors or failures on the part of the
computer. This converts to a mean
time to failure requirement of 55.4
hours.

problems involved in running a computing laboratory are bad enough as it is,
without the additional license which
would be created by a system of private
order codes.

References
1. MIKROPROGRAMM-STEUERWERK, H. Billing,
W. Hopmann. Electronische Rundschau, BerlinBorsigwalde, Germany, vol. 9, 1955, pp. 349-53.
2. A NOTE ON MICROPROGRAMMING, H. T. Glantz.
Journal of the Association for Computing Machinery,
New York, N. Y., vol. 3, Apr. 1956, pp. 78-84.
3. MICRO-PROGRAMMING, R.
vol. 4, Apr. 1937, pp. 157-71.

J.

Mercer.

Ibid.,

4.

LOGICALLY MICRO-PROGRAMMED COMPUTERS,
Blankenb:lker. Transactions, Professional
Group on Electronic Computers, Institute of Radio
Engineers, New York, N. Y., vol. EC-7, June 1958,
pp. 103-09.

J. V.

5. THE BEST WAY TO DESIGN AN AUTOMATIC
CALCULATING MACHINE, M. V. Wilkes. Manchester University Computer Inaugural Conference,
Manchester, England, July 1951, pp. 16-18.
6. MICRO-PROGRAMMING AND THE DESIGN OF THE
CONTROL CIRCUITS IN AN ELECTRONIC DIGITAL
COMPUTER, M. V. Wilkes, J. B. Stringer. Proceedings, Cambridge Philosophical Society, Cambridge, England, vol. 49, pt. 2, Apr. 1953, pp. 2303&
.
7. THE DESIGN OF THE CONTROL UNIT OF AN
ELECTRONIC DIGITAL COMPUTER, M. V. Wilkes,
W. Renwick, D. J. Wheeler. Proceedings of the
Institution of Electrical Engineers, London, England.
vol. 105, pt. B, Mar. 1958, pp. 121-28.

All infonnation presented is based on
the following definition of a failure:
A failure is any computer malfunction
which affects guidance. This definition
includes any and all computer errors or
malfunctions, which occur at any time
during the operation of the computer,
whether it be in perfonning actual
guidance or in test or maintenance
routines.
The sections of the computer, included
in the failure reports, are those sections
active during guidance or used to confidence check the equipement prior to
guidance. The failures are reported
against a component population in each
computer system of approximately 7,000
transistors, 21,000 diodes, and 24,000 resistors. . Equipement concerned with
monitoring guidance operation such as
magnetic tape, typewriter, and tape punch
is excluded.
The infonnation presented is based on
operational experience obtained on three
Athena Guidance Computers, one of
which is installed at the Air Force
Missile Test Center, Cape Canaveral,
Fla. This system is fully integrated
with the Bell Telephone Laboratories'
radar system and is operated on schedL. W. REID and G. A. RAYMOND are with Remington Rand Univac, St. Paul, Minn.

Reid, Raymond-The A thena Computer, A Reliability Report

Fig. 1.

The Athena computer

uled basis. The information included
-covers operation of these three equipments up to October 31, 1958. It
-covers a total operating time of 6,361
hours, 27 failures, a composite mean
time to failure of 235 hours with a
reliability ratio of 2/1,000. This compares with the contractural reliability
ratio of 6/1000. The 27 failures occurred
-in 350,000,000 component hours. The
detailed reliability figures for each of
the computers are included in Table I.
If the failures are plotted on a cumulative basis, Fig. 2, it will be found that
the failure rates of each of the three
equipments appear to be relatively
consistent and in smoothing the curves,
a failure rate of about one failure per
month is produced.
Maintenance Philosophy
In addition to being responsible for
the development and manufacture of
this equipment, Remington Rand Univac
has the responsibility of recommending
maintenance policies and manning requirements (the number of personnel
required to maintain and operate the
equipment) to the Air Force. In the

process of developing the required maintenance philosophies and procedures, the
proficiency of maintenance and operating
crews has been measured as it is related
to their ability to .find failures and
malfunctions. The initial result of this
test showed that the trainees attending
courses in computer maintenance demonstrated a trouble-shooting proficiency
equal to or better than personnel with
more than one year's experience in the
field. One of the first reactions to this
result was to suggest that the equipment,
as designed, was not maintainable, but
further analysis showed that in achieving
reliability, new problems had been
created. The basic principle, concerned
here, is that the ability of an individual
to trouble-shoot is directly proportional
to the numbet of troubles he has opportunity to deal with. In dealing with
equipment which demonstrates failure
rates 6f about one per month, personnel
who were concerned with the operational
equipment were having very little opportunity to practice their trade.
For this reason a regularly scheduled
program of hunting simulated troubles is
now conducted at each operational site
using specially produced highly reliable
defective chassis. These chassis are
identical in appearance to all other
chassis in the computer but can be made
to simulate various types of failure.
A substantial improvement in proficiency
has followed from this procedure.
In order to determine the number of
personnel required to maintain this
equipment, a sample of 4,871 hours of
operation was taken and compared
with the amount of time spent in looking
for troubles that do not exist, that is to
say, confidence checking the equipment.
This is shown to be approximately 576
hours. Of this time 115 hours were

Table I.

Reliability Record
Serial

Serial

Serial

1

2

3

Running Time-Hours
3,154 .... 2,110 .... 1,097
Meantime to FailureHours.............. 175.... 422.... 274
Reliability ............ 2/1000 ... 1/1000 ... 1/1000
Failure............. ..
18....
5....
4

spent in correcting malfunctions that
did exist or roughly 2% of the total
operation time. These figures would
appear to substantiate the effect noted in
the proficiency check, that there has
been very little maintenance performed
and, hence, very little practice.
Based on the knowledge that there is
very little maintenance to be performed,
the number of maintenance personnel
required is recommended to the user.
Since the equipment must be ready for
use 24 hours a day, 7 days a week, current
planning calls for one maintenance man
on duty at all times. The lack of
activity, loss of proficiency, and outright boredom of this man are problems
or real concern. It is hoped that additional maintenance experience will give
the required confidence so that one man
can maintain a relatively large number of
equipments on an on-call basis.
The point to be understood is that in
achieving reliable equipment, it must be
recognized that other problems have
been created which, though more desirable types of problems; must be
dealt with and compensated for so as to
preserve system reliability.
It is believed that the results presented
here constitute a genuine achievement in
design, manufacture and operation of
electronic equipment in general and
digital computers in particular. Because
of the inherent reliability of this equip-

PONER SUPPLY

t8~r1~-+-+-+-r,r~1-~+-+-+-~~~-+-+~

17~~-+-+-r~+-+-r-~~-+-+-r~~·1~~~

16~~-+-r-r~+-+-r-~~-+-+-r~~~~/~~
15~r1~-+-+-r-r-r~~~+-+-~~~~~/~-+-+~

14~~-+-+-r1-+-+-r-~~-+~'~~~~-+~~
13r-~-;~-+-+-r-r-r-r-r~~~~-r~,r~4-+-~
12~r;-+-+-r-r~;-+-+-r-r~1~+-~-4-+~~~
11~r;-+-+-r-r~+-r-~r~'T+I-+-r4-4-+-~~
/
I
o

Fig.
2 (left).
Cumulative failures versus times
for 3 machines

EXCITER
MAIN

EXCITER
SPARE

0

METER PANEL

8

SPARE
ALTERNATOR

IOr-~r1~-+-+-r-r-r~~#-+-+-~~-4-+-+~

MAIN

SPARE

SIMULATOR

-20

-50

-20

-so

~ 7~r1~-+-+.~/~/-r~~+-+-+-+-~-4-4-+-+~

-3

-20

-3

-20

-3

-20

OVER-VOLT/IGE
PROTECTION

g 8~r1~-+-+~~~~~~-~~-+-+-+~~4-4-+-~
61//

2

8

/ /

!A. . . . . V'

o I 2 3 4 5 6 7 8 9 10 II 12 13 14 15 16 17 18 19 20
MONTHS

8

SWITCH PANEL

~ 9r-r1~~-+-+-r,r~/~L~~-+-+-+-r~4-4-+-~

5

MAIN
ALTERNATOR

Fig. 3 (right).
Showing distribution of failures
within
power
supply

Reid, Raymond-The Athena Computer, A Reliability Report

-2

-10

-2

-10

-2

-10

+5

+20

+5

+20

+5

+20

-25

+66

0

(2)
-25

+66

8

POWER
WIRING

-25

+66

o

8

FAILURES

21

ment, it is possible to install, operate,
and maintain this equipment with a
minimum of personnel and with a minimum usage of spare parts.

Discussion of Failures
In the missile business, success never
seems to be quite as spectacular as
failure. As a matter of fact, few things
are quite as spectacular as a missile
enveloped in a tremendous burst of
flame and smoke. Fortunately, failure
of a computer is only occasionally
accompanied by flame and smoke.
This discussion concerns a reliable
It seems therefore, that
computer.
success rather than failure should be
discussed, but it is still necessary to
look at modes of failure to grasp the
real significance of what 'has been accomplished. As has been mentioned, 27
failures which could have affected missile
guidance have occurred in 6,361-total
machine hours. These are failures that
could have affected guidance. Probably
many of them would not have. It must
be remembered that these include all
failures, even those occurring during
maintenance periods.
Table II shows the distribution of
failures by cabinet totalled for three
machines. It is obvious that investigation should begin in the power supply
where 16 failures have occurred.

Fig. 4.

22

X-ray photograph of failed pulse
transformer

Table II.

Distribution of Failures

Cabinet

Number
of
Failures

11000 ............. Peripheral. ... , . , , ... , ., 2
12000 ..... ' . , ..... Peripheral. ... , .. , ..... , 0
13000 .. , '.'. , ..... Drum memory,.,., ..... 2
14000 ............. Drum and controL".,., 2
30000 .. , , , , , , . , , . , Console, . , . , , . , . , . , ... , 0
21000. , .. , .... , , , ,Control. .. , ... , .. , .... , 1
22000. , ........ , .. Arithmetic, . , . , ... , , , " 3
23000, , ........... Core memory, . , .. , .... , 0
24000 ............. Input-output .... , ..... , 0
40000 ............. Power Supply .... ,." ... 16
70000, .. , . , . , . , ... Simulator ... , , , , .. , , , ., 1
Total Failures, .. , . , ... , . , ' . , , , , , , . , . , . , , , ,27

In this power supply there are 28
separate supplies arranged in the manner
shown in Fig. 3. Ten are required to
operate the computer. Ten are spare.
Eight operate the simulator unit which
is used to provide a real-time bit-by-bit
check of computer operation just prior
to guidance. Distribution of failures
within the power supply is also shown.
The two +20-volt supplies are most
heavily loaded and show the highest
The exciters are
failure incidence.
regulated rectifiers furnishing field current for the motor alternators.
The power supply is closely regulated
using magnetic amplifier regulation of
both the motor alternator voltage and
the individual supplies. For a power
supply the unit is extremely complex
and quite crowded. Overcurrent limiting,
overvoltage protection, and reverse voltage protection are in tegral parts of
There features were
every circuit.
applied to enhance the system reliability
by protecting the computer from damage
due to power supply failures. But it is
evident that in adding this complexity
power supply reliability has been sacrificed. However, a number of design
changes have been made and the failure
rate now has decreased.
Ten of the power supply failures were
overheated transformers, three were
power diodes, one was a circuit breaker
contact, one was a short circuit in
external wiring, and the last was a
failure of a field winding in the motor
alternator.
The remaining 11 failures have occurred
over a period exceeding 6,000 hours in
electronic equipment containing 21,000
diodes, 7,000 transistors, 24,000 resistors,
several thousand other parts, and 75 to
100 thousand soldered connections. Four
of the failures occurred in wiring: one
broken wire, two wires pinched by a
cable clamp and grounded, and one
wire scrap short circuiting two connector
pins. This tiny scrap of wire caused a

failure only when the humidity inside
the computer was exceedingly high.
The last seven failures involve electronic chassis. Two chassis suspected as
intermittent were removed. The failures
have not recurred in the computers,
but neither have the causes of failure
been identified. These chassis have
been investigated since removal in an
attempt to reconstruct or locate the
failure, but so far without success.
Five chassis displayed definite failure of
one or more components.
The sum total of all these electronic
component failures in the guidance loop
are: an intermittent pulse transformer
with a cold solder joint, three surface
barrier transistors, and two diodes which,
being in series, account for only one
failure. These six computer components
failed during a period equalling 350
million component hours: over 50 million
component hours between failure.
Fig. 4 is an X ray of the defective pulse
transformer. The indicated connection
was not soldered properly. A void
existed in the potting around the pin
so that movement of the pin could cause
an open circuit.
The diodes that failed were, destroyed
by a short circuit which subjected them to
20 volts in the forward direction. This
failure has been duplicated in the laboratory and microscopic examination verified the analysis.
Two of the surface barrier transistors
that failed appear to have been destroyed
by transient pulses or some external
effect. One failed as a result of solution
cavities accelerated by a defect in the
crysta1. This is a characteristic mode of
failure in the surface barrier transistor.
Above 85 degrees Centigrade dissolution

Fig. 5.

Maintenance console

Reid, Raymond-The Athena Computer, .4 Reliability Report

of germanium by indium proceeds at
a rapid rate causing cavities to appear
and grow until they extend completely
through the base.
Sufficient power
applied to this short circuit may cause
fusing of the internal leads and result
in an open circuit.

/

t~

1\

/

I

V

I

!

synchronizing pulse and for overflow
detection detect malfunctions as well as
programming errors.
Both the one and zero side of every
flip-flop are indicated on the maintenance
console, Fig. 5. During trouble shooting
the exact condition in every register is
apparent at a glance.
Turning the test-guidance switch to
guidance disables all other controls on the
maintenance console so that operator
error cannot cause a failure during
guidance.

I

I
I

i

I

Design Philosophy
There are differences between the
design approach for a computer and the
design approach for a reliable computer.
It is well to consider these differences.
At the start of any design program, two
factors are considered; the "Requirements" and the "Tools at Hand."
Now, how must the design approach be
modified to achieve a reliable computer?
First, consider the requirements. The
computer must have a certain speed, a
memory, some type of input-output, a
maximum size, and a certain reliability.
Now, if as usually happens, this new
requirement is ignored, either by the
customer in his requirements or by the
engineers in their design, the result is a
conventional design and the usual reliability.
The first problem, then, is to help each
individual involved in the design program
see this new requirement, realize that is a
design requirement and develop his
design around it. Reliability must be
come the most important requirement.
It must be the most important requirement for each phase of the design and
for each section of the computer. It
cannot be left to be added at some
convenient time late in the program.
The nrst step in the design program
must be reliability education to get the
reliability concept across to design
engineers. Once this idea has been
absorbed, the designer ~i11 apply the
tools of re1iability to the designs. The
tools of reliability are methods used to
reduce the probability of failure. Each
phase of the design contributes to failure
in many ways. Designing for reliability
requires the determination of all modes of
failure and the application of methods to
eliminate these failures.

i
I
I

il

i

/

I

J

I
I

i

i

~

!
I

i

COMPONENT DESIGN
I

!

!I

~

I

i

I:

I

I7

i/

213

I

I

I
I
!

J

i

I

i

!

I

i

I

COLLECTOR-EMITTER VOLTAGE

Fig. 6. Static characteristics for three transistors of the same type from the same lot
showing wide variation in characteristics

The logical design recognizes the
limitations of the building block. Operation is parallel rather than serial, to
reduce the circuit speed. Additional
hardware is traded for slower, more
reliable circuitry.
Design rules for
interconnecting the building blocks provide ample tolerance for variations in
delay as components age. ·Parity checks
are accomplished during program loading,
and a "verify mode" is provided for
verifying the fact that complete and
correct data actually has been stored on
the drum. A simulator using paper
tape produces a bit by bit ...check,of the
output of the computer for a predetermined set of input data.
Special modes of operation, selectable
from the console, aid in checking.' A
special exercise ties the computer input
to the output and verifies correct opera.:.
tion. Step-by-step or slow-speed operation is possible.
Built in checks on the timingz:~6f
"! ~"

Component design is equally important. Chassis connectors are designed
for reliable contact at low potentials.
High contact pressure (1 1/2 pounds),
four contact points, gold plating, and
simple design all contribute to reliability.
All components for the computer have
been selected for their reliability, with
electrical characteristics considered a
secondary factor.
Large samples of
each type have been subjected to severe
tests to failure. These tests to failure
are important, for the modes of failure
and the degradation characteristics of
components are added tools needed to
convert a design into a reliable design.
Static characteristic curves of semiconductors often reveal significant information for predicting early failures.
Where reliability is important, the
recording of characteristics of each
component is one of the best ways of
sorting out the poor units from a lot.
:\1any things instantly apparent from the
characteristic curves are completely
missed in point measurements, Fig. 6.
The Athena circuit designs were based on
realistic design standards which provided
for normal component variation. Results
of many component testing programs
were reflected in the design of the circuitry so effectively that not one computer failure has been chargeable to
component degradation.
Every com-

LOGICAL DESIGN

Examples of this approach are found
in the logical design of the Athena
computer. The computer program is
fixed and stored on a drum. It cannot be
modified, even intentionally, during guidance. The writing circuits are disabled
so that nothing can disturb the program.
A momentary -failure or transient error
cannot cause a permanent change in
guidance.

Fig. 7.

Reid;· j?.aY1nolul:-The.·Athena Computer,. A Reliability Report

Stages in the assembly of a sealed chassis unit

23

ponent failure has been of a catastrophic
type.
PROCESS DESIGN

The final design step, the manufacturing process design, is most important and most often neglected. Careful,
thorough process design to insure a
consistent, high-quality product further
improves the reliability of the best
designs.
A clean, comfortable environment,
tools, fixtures, jigs, and automated
processes all have helped to produce
this reliable equipment. Careful design
considered the small details of wire
preparation to be as important as any
other part of the process. Soldering
techniques have been devised to emphasize and treat each connection as an
individual operation.

Conclusions
This paper has summarized significant
aspects of the operation of a highly
reliable computer. A different approach
is required in maintaining this equipment because of the low failure rate
just as a different approach was required
in designing the equipment to achieve
the low failure rate. The entire program
has required careful attention to minor
details and has emphasized the importance of every operation, every
component and, especially each person
involved. Where reliability is a design
requirement, success or failure hinges on
the attitude of the people doing the
work.

Discussion
Question: What bit rate did you use in
computing mean time failure for transistors,
diodes, and solder joints?
Mr. Raymond: We did not use a bit rate
in computing the mean time failure.
I believe you are referring to the bit rate
for component failures used at Bell Tele-

24

phone Laboratories. The mean time to
failure, 55.4 hours, is derived from ·the requirement of not over six failures per thousand missile firings rather than from the
component failure rate. We have not made
use of failure rates in computing mean time
to failure since existing failure rate data is
not based on sufficiently well-controlled
experiments to give us adequate confidence
in the results.
Question: Would you state the number of
failures which could have affected guidance?
Mr. Raymond: Any of the twenty-seven
failures in 6,000 hours could have affected
guidance. It is possible that some of them
would not have affected guidance. Some
of the power supply failures might have been
in the spare equipment rather than in the
operating equipment and thus might not
have affected guidance, but all 27 could
have.

W. L. Anderson (General Kinetics, Inc.):
Are any reliability data available which
includes magnetic tape units?
Mr. Reid: There were some circuit design
problems that have been straightened out
and we now have very, very few failures.
There have been perhaps two or three
failures in the entire period of operation of
these three machines.
Arnold Jorgensen (ElectroDATA Div.,
Burroughs Corporation) : Are silicon or
germanium transistors used? What is the
junction temperature? How much did
you derate beta from the minimum beta
given on the data sheets.
Mr. Reid: Germanium transistors are used
with the junction temperatures as low as
practicable. The computer is air-cooled to
about 69 degrees Fahrenheit. The transistors are derated to such a degree that I
believe the junction temperature is very
The minimum beta on the surface-barrier
transistor procurement specification is 12.
The circuits were designed to tolerate a beta
of 8.

J. Lawler (Radio Corporation of America):
Why are 1 and 0 sides of flip flops indicated
at the console?
Mr. Raymond: This is merely redundancy.
The indication is by means of neon lights.
One light must be illuminated and the other
not, at all times. Trouble exists if both
lights are on or off at the same time. With
only one light, an additional test is necessary

to eliminate the possibility of a defective
indicator causing an erroneous indication.

J.

Lawler (Radio Corporation of America):
What is the background of the maintenance
men on your system, and how long did it
take to train them?

Mr. Reid: The background of the maintenance personnel on this system consisted of
either formal engineering educa tion or
training and experience received as members
of the armed forces. We have enjoyed
particularly good success with personnel
whose military experience lay in the area of
maintenance of relatively complex. systems.
The training period required approximately 5 months.

E. Strandberg (Radio Corporation of
America): What is the scope of the training
for the maintenance personnel? Did you
check each component individually before
assembly?
Mr. Reid: The scope of the training includes the basic circuiting of the equipment,
programming, and a detailed understanding
of the logic and command structure.
Each component was checked before
assembly.

P. J. Scalga (General Electric Company):
Do you use marginal test techniques?
Mr. Reid: The equipment has provisions
for variation of all supply voltages to simulate marginal conditions. To date, however, this has proved to be of limited value
in maintenance practice in that the circuits
are designed for wide variation in component
characteristics and the components have
been carefully tested and selected so as to
reduce the variation of their characteristics
with time.
Mr. Davidson (Nuclear Development Corporation of America): You state the number of failures (27 in 6,000 hours) which
could have affected guidance. How many
total failures were there which might have
affected computation in some other computer? How many total failures (raw
data)?
Mr. Raymond: There have been no failures affecting computation other than those
listed. There have been failures in the tape
reader, tape punch, magnetic tape units.
and typewriter wbich would have affected
the use of the computer for data processing
but not for real-time control operations.
There have been perhaps three or four of
these for every guidance affecting failure.

Reid, Raymond-The A thena Computer, A Reliability Report

The Philosophy of AutCfMatic Error
Correction
R. M. BLOCH
UTOMATIC computing and dataprocessing equipment is depended
upon today to perform a substantial portion of all data-processing requirements of
government and industry in this country.
It is natural, then, that the issue of reliability and the related issues of error detection and error correction have assumed a
position of utmost importance from the
viewpoint of users of such equipment.
The manufacturers of data-processing
equipment, recognizing the important role
of their systems in the nation today, have
likewise turned their attention to these
areas and are bringing their most potent
forces to bear on these vital issues.
Many important technological advances which are being incorporated in
present-day machines are substantially
reducing the frequency of error commission. The increasing speed with which
these machines operate, and the correspondingincreasein work load, have made
it mandatory that not only the rate of error commission be reduced, but that efficient means be found for the treatment of
these errors when they do occur. It is in
this latter area where the principle of automatic error correction is now coming
into the forefront of consideration.

A

Error Detection
In any technique for automatic error
correction, the prerequisite of automatic
error detection must exist. In this regard
the manufacturers of data-processing
equipment have developed many types of
automatic detection techniques during the
course of the past decade. Certain of
these techniques are based upon maneuvers in the area of machine programming.
This mode of attack is particularly suited
to processing involving a great deal of
mathematical computation, where various
types of check formulae can be brought to
bear to detect inconsistencies in the results
obtained. The correction technique generally employed here is that of rerunning
a portion or all of the program in which
the error or errors are suspected to have
occurred.
A second technique of detection involves that of a redundancy in equipment,
specifically arranged so as to yield immediate detection unless two or more units

have malfunctioned at the same time and
in the same fashion. Although this
method has been utilized, its applicability
will probably be limited in advanced
equipments. This is primarily due to the
costs involved in the additional equipment, as well as certain difficulties in the
subsequent application of modern error
correction techniques.
The detection technique which has been
put into practice most frequently involves
that of redundancy of information. The
redundancy has ranged from complete
duplication of information to simple parity checks of long trains of information.
N early all electronic data-processing installations in use today apply this concept
of redundancy in one form or another.
The power of these redundancy checks
has usually been evaluated on a theoretical mathematical basis. That is to say, it
has generally been assumed that the frequency distribution of error patterns is
based upon independent and equal probabilities of single digit errors. This premise was not unreasonable in the absence
of evidence to the contrary. However,
sufficient operating data on various equipments are now being assembled, which indicate that this assumption is unjustified.
These data indicate that electronic equipment is, in fact, subject to certain repetitive error patterns, and that the probabilities of single digit errors are neither equal
nor independent. When one considers
the fact that a complex digital system is
comprised of discrete electronic elements
then it becomes increasingly apparent ho~
difficult it is to predict in advance the nature of the error patterns. Transistors,
resistors, diodes, and the other basic elements of an electronic system have inherently different reliability characteristics. This in itself would indicate that
certain error patterns may be much more
likely than others. To make matters
more complicated, different systems, indeed, different sections of a given system,
make use of these components in varying
configurations. To illustrate this problem, Fig. 1 shows a system wherein four
parallel trunks are emanating from a
memory array. These trunks are then
shunted into a single operational network. It is not important for the purpose of this discussion to detail the precise

Bloch-The Philosophy of Automatic Error Correction

Fig. 1.

Parallel information flow through a
single operational network

operations being performed within this
large network. It is only essential to
understand that there are elements within
this network which can fail in such a way
so as to affect the information on several
of the output lines. Furthermore, if it is
assumed that each of the entering trunks
contains a continual flow of information
digits, it is clear that the characteristics of
the circuit failure with respect to time
must also have an effect on the error content of the output information. If the
component were to fail permanently, one
would expect the error pattern with respect to time to be perpetuated. If, on
the other hand, the failure is of a transient
nature and of very short duration, one
would expect a corresponding error pattern of short duration to result in the
exiting information.
Suppose the system design is now
changed so that the four trunks emanating
from memory are treated in independent
operational networks, as shown in Fig. 2.
A failure in one of the four networks will
now presumably have no effect upon the
proper operation of any of the three other
networks. In particular, an error in the
functioning of Network 3, as shown, will
surely affect the output of this network;
whereas the other three networks will be
yielding correct information. Although
the error patterns of a given trunk as a
function of time may conceivably be similar in the two systems, it is obvious that
the error pattern in Fig. 2 will generally be
confined to a single trunk, whereas the
pattern in Fig. 1 may frequently be distributed across several information channels. The implications of these two elementary diagrams upon the theory of error detection, and as will be seen later,
upon error correction, are clear. Regardless of the error frequency, System 2 will
yield a heavily biased error distribution

R. M. BLOCH is with the Datamatic Division of
Minneapolis-Honeywell Regulator Company, Kewton Highlands, Mass.

2.~

when viewed across the entire matrix of
information.
Now if the operational network in Fig.
1 fails for an extremely short time duration, it is quite probable that a single column of the information matrix will be in
error; several elements of this column,
however, are likely to fail during this interval. If it can be demonstrated statistically that by far the greatest proportion of errors is of this nature, then a detection system which is capable of ferreting out a single error in a row of the matrix
would be ideal. To the contrary, a detection system which will intercept a
single error in a column might be very impotent indeed. If the transient failure in
this network were of long duration, then
single error detection in either dimension
is ineffective. In the independent network array of Fig. 2, however, a somewhat
different situation obtains. A transient
of length equal to a digit time will likely
affect but one element of the matrix and
may be intercepted by any single error detection scheme. Failure of longer duration will lead to a multiplicity of errors in a
single row; here, a single-error detection
system in the columnwise direction will be
extremely powerful, and single error detection along a row would be useless.

Empirical Concept of Design
From considerations such as these, a
new approach is being taken by dataprocessing equipment manufacturers with
regard to the design of automatic error
detection and error correction networks.
Heretofore, detection techniques were
specified by systems personnel based upon
theoretical formulations. These specifications were then transmitted to the circuit design area where the detection system became a physical reality. In this
arrangement, the circuitry designers used
their best reasoning and experience to assist the systems staff, but the specifications were still born of abstraction.

Fig.

26

2. Parallel information Row through
independent operational networks

The new concept, which is coming into
practice as of today, in effect states that
the equipment itself is best able to define
its own idiosyncrasies in respect to error
behavior. The principle is the same as
that which has been responsible for many
outstanding advances in the field of science, namely, the use of empirical evidence to substantiate or refute a theory
which has been propounded. Through
laboratory observation of actual dataprocessing networks, it is possible to build
up a sizable array of statistics on the error
behavior of these very networks. These
behavior statistics then enable the system
designer to formulate a very powerful dete,ction technique which has been tailored
to the' particular error pattern of the
equipment. In actual practice, an interchange of information between the circuit
and system groups not only may affect the
detection technique used, but also may
have its effect upon the original circuit design as well. Indeed, it is possible that
certain changes may be made in the circuit design to yield an extremely favorable
bias of error distribution for purposes of
interception by a given detection system.
Such a change in design is then reconfirmed by further empirical laboratory
work, and thus the circle is eventually
closed to yield a proven and powerful detection arrangemen t.
The final design that comes forth under
this new concept may indeed defy the intuitive judgment of both the systems and
the circuitry groups, but its validity cannot be denied; this will be borne out when
the machine is put into operation in the
field.

Error Correction
There are two broad classes of error correction. The first or "reversion" class
consists essentially of re-executing the operation which is in error immediately
upon detection. This class of correction
includes all forms of program rerunning
which involves reverting to some segment
of the program prior to the error in question. In general, this class requires that
the information in its correct form be retrieved from some previous point in the
operation. It is presumed that this information in said correct form is available
within some storage network of the
equipment.
The second class of error correction,
"deductive" correction, involves a powerful detection scheme which is capable of
isolating the actual elements of information which are in error, correcting these
elements, and proceeding with the program in progress. All error correcting

codes have these characteristics. It is not
necessary to revert to a previous point in
the program, or to have access to the storage of the information in the correct
form. It is literally possible to recreate
the correct information by use of additional digits which have been transmitted
along with the information.
The reversion class of correction has
been used for some time. I t is especially
successful in those sections of the equipment where the retrieval of the original
information is not difficult. For example,
in arithmetic operational networks, once
an error has been detected, say in an
addition process, it is often possible to
have the machine automatically retrieve
the operands from memory and proceed
once again with the addition process. Rereading or rewriting of magnetic tapes,
once an error has been detected, are also
reversion forms of correction which are
being employed in various equipments
today.
The second or deductive class of correction is much more difficult to deal with in
practice, although it has certain outstanding advantages. Its primary importance
rests in the fact that in certain areas of
data-processing and computing systems it
is extremely impracticable to retrieve the
information in its original or correct form,
and in some cases impossible to do so without a complete cessation of machine operation. It is for this reason that a great
deal of attention recently has been directed to redundancy codes which can perform the function of automatic error correction. Inherent difficulties accompany
the use of such codes, and these difficulties
have thus far precluded the possibility of
their use in any practical way in dataprocessing equipment. These codes generally have limitations upon the number
of errors which they may detect, and if
these codes are expanded so as to enable
correction of a multiplicity of errors, then
the redundancy required may become excessive, and the total information capac-

Fig. 3. Typical information array showing
principle of two-dimensional detection

Bloch-The Philosophy of .A utomatic Error Correction

ity of the system is thereby severely reduced. If, on the other hand, the number of error digits exceeds the limit, then
actual erroneous correction may take
place; this characteristic further complicates the usefulness of such codes.

Orthotronic Control
A system of automatic error correction
has recently been developed and is being
put into actual use today. This system,
Orthotronic Control, utilizes a strong twodimensional detection technique capable
of isolating and correcting nearly all errorscommitted in the system which itmonitors. The new concept of design of error
monitoring systems, which was discussed
earlier, was put into practice in the development of Orthotronic Control. To
describe this correction technique, let it be
assumed that information is transmitted
along parallel channels from memory, enters an intermediate buffer storage stage,
and is then recorded upon magnetic tape
in a multiplicity of channels. At some
later time this tape is read and the information again is transmitted through parallel channels to an input buffer storage
stage and thence to the main memory.
The correction system is intended to retrieve automatically any information
which has been lost in the course of the
full transmission cycle from the time information leaves the memory to the time
that it is returned to the memory; the
transcription to and from magnetic tape
will have occurred in the interim period.
Great strides have been made in the reliability of the input-output trunk systems
of data processors; yet is it still generally
true that this segment of any processing
equipment is probably more prone to error
than all other segments combined. It is,
then, in this input-output trunk network
where Orthotronic error correction comes
into effective operation. Several channels of information are recorded on magnetic tape, as shown in Fig. 3. Each of
these channels has been independently
controlled by separate sections of the output buffering system, as well as independent writing circuits. The correction system adds an additional channel, referred
to as an Ortho-channel. This channel
consists of a simple parity count of the
corresponding digits in all of the information channels on a column-by-column basis. This Ortho-channel is automatically
generated as information leaves the main
memory of the system enroute to the output buffer section. The information channels, as well as the Ortho-channel, are
simultaneously recorded on magnetic
tape. A series of check digits which are

associated with each information channel
and which were actually stored with th~
information in the main memory, are also
recorded at this time. These check digits
may be referred to as row-detection digits
in contrast to the column detection digits
comprising the Ortho-channel.
Experimental evidence has shown that
in a system such as the aforementioned
where paraUel and independent transmis~
sion is in effect, errors will tend to be localized in a single channel as a result of
any given equipment malfunction. In
view of this behavior pattern, only a single binary digit may be expected to be in
error in any given column. However,
since the error disturbance may well affect a great number of binary digits within
a single row, it is necessary that a much
more powerful detection scheme be used in
this dimension. Here again empirical
evidence performs a most useful function
in determining the principle upon which
the row-detection digits are to be constructed. Assume, for example, that
groups of 100 binary digits are to be monitored in each row, and this comprises a
block of information. If, now, it can be
determined that nearly all errors are of
such a nature as to convert l's to a's but
leave the a's undisturbed, then a set of
check digits which is nothing more than a
binary sum of the l' s in this particular
channel will prove to be a very powerful
detection arrangement. If, on the other
hand, erroneous inversion of a a to a 1 is as
likely as the opposite transformation, then
a binary count technique is not as effective, and some other technique may be
better employed. For example, it is
possible to use different weights in successive columnar positions over any arbitrary span to form an arithmetic or logical sum of the weights corresponding
to those columns in which the digit 1 exists. Generally, the greater the number of
digits used in the check sum, the greater
the power of the detection system. It
should be noted here, of course, that the
use of a simple parity bit is completely ineffective in the light of the error pattern
being discussed; any even number of errors within the channel would not be detected at all.
It is possible to arrange a weighting
system which is distinctly biased so as to
intercept the most common error patterns
to be anticipated. Thus, suppose it is
found that the predominant error patterns
on magnetic tape involve a relatively
small number of binary digits within a
moderate span in a single channel. A
weighting scheme has been devised for this
pattern which intercepts all possible single
bit, dual bit, and triple bit errors, and

Bloch-The Philosophy of A utomatic Error Correction

furthermore intercepts all but two-tenths
of one percent of all other possible errors
within a span of nearly 1,000 digits. This
detection capability is valid whether the
digit errors are due to drop-out of information, pick-Up of false information, or
any combination of the two whatsoever.
When such a detection scheme is used it
can be confidently expected that a negligible number of errors will escape the detection network.
Once having established, then, what
may be termed a strong row check, isolation of the actual erroneous digits' is a
rather simple matter. The row-detection
digits are used to sense the channel in
which the error has occurred, and the column-detection digits will indicate precisely those columns in which a digit is in
error. It is then possible to have the machine automatically invert the erroneous
digits and thus reconstruct the information, bringing it into its correct form. It
is a characteristic of this Orthotronic
system that whenever a rare error pattern
occurs which is not capable of correction,
the system is able to discern this fact; and
fallacious correction will not occur. For
example, if on occasion an error pattern
were to occur extending across two or
more channels within a given block of information, then it would not be possible in
the system shown in Fig. 3 for correction
to take place. However, in this case the
two row-detection digit arrays will reflect
an error, and this will be used to signal the
uncorrectable condition. Another characteristic of the system rests in its ability
to determine when errors have occurred in
the check digits themselves. Under these
circumstances the detection digits are
corrected and the information is left untouched. The Orthotronic system may
take various forms. Through the use of
dual columnar-detection channels, .for example, it is possible to detect and correct
all error patterns which extend across any
two adjacent channels. Again, the proper
form for this Orthotronic system is dictated by the error patterns of the particular input-output system under consideration.

Future Role of Automatic Correction
The true value or merit rating of an
equipment is measured by the net quantity of accurate processing which it produces within a given time period, as well
as by the costs incurred in performing this
processing. A certain premium will be
paid for circuit designs and manufacturing
techniques, especially conceived to attain
an unusual level of reliability; this is particularly true in the case of certain critical

27

military applications. There is, however,
a point beyond which further equipment
improvement becomes prohibitively expensive, especially in systems placed in
commerical usage. It is at this point
where the advantages of automatic correction are most clearly demonstrated. \Vith

a relatively small amount of additional
equipment cost, the operational merit rating of the equipment can be raised to a
degree, the equivalent of which is impossible of achievement by any other
means. Appropriate automatic correction techniques, when integrated with

equipment of fine reliability, can be expected to usher in a remarkable new era.
one in which exceptionally long periods of
machine operation can be anticipated with
little or no human intervention, and with
unprecedented confidence in the accuracy of the final output information.

The System Approach to Reliability
H. D. ROSS
HE TITLE of this paper is intended
indicate concern not so much
with the individual techniques of reliability, even though a number of these
will be mentioned, but rather with the
total impact of these various techniques
on the reliability of a data processing
subsystem, especially techniques above
the circuit-component level.
Hence,
this paper will discuss the approach to
reliability taken in the design of one
system which is now reaching the operational stage, and to indicate what sort of
results that approach is giving. Then,
some more recent developments will be
reviewed for their implications to a
system now being developed. The type
of application being considered is one
requiring continuous 24-hour-per-day operation in real time, such as a continental
air defense or air traffic control system.
Many of the same problems are found in
other combat operations center or command control systems.
The means used to gain system reliability in the ANI FSQ-7, which is a
very-large data processing machine used
in the continental air defense system,
will be reviewed. This machine employs
a state-of-the-art which could be considered as 1953-54 and was felt then to
be quite an audacious undertaking, in
view of its dependence on over 50,000
vacuum tubes per machine, components
In
unreliable by today's standards.
addition to the customary measures of
extensive component testing and tube
development, use of pluggable electronic
packages, built-in test equipment, and
specially trained maintenance personnel,
several techniques were used which were
less common. Circuit optimization was
carried to great lengths which caused the
evolution of the so-called "schmoo
diagram" technique. A substantial part
of the machine consists of special equipment for computer-programmed automatic marginal checking.
A large

T to

28

amount of effort went into the preparation of an elaborate set of diagnostic programs, through which the routine preventive maintenance was made largely
automatic. Some 140 programs are in
use here. Finally, about one-fourth of
the machine consists of a second central
computer, arranged so that either of the
two computers can receive data from a
common set of channelized input elements, and feed outputs to a common set
of display consoles and output elements.
In such a system, two computer programs are required; one being the active
air defense program and the other a
special program for the standby computer
which interleaves certain portions of the
air defense program with programs that
test the condition of the standby computer and carry out marginal checking on
it. The whole is arranged for very
rapid interchange of the roles of the two
computers when the performance of the
active computer falls below standard, or
when scheduled maintenance or modification is required.
Fig. 1 shows how the system is arranged for duplex operation. At the
top are shown multiple channels for each
of several representative types of inputs;
at the bottom, multiple channels for
various types of output data and consoles
for data presentation to human operators.
Switching is shown to connect the input,
output, and display channels to either of
two central computers.
Fig. 2 shows a possible schedule of
use of the computers and the relative
amounts of time spent in active and
standby operation, and in routine maintenance in which one computer may be
shut down. It is easily seen that the
active program alternates between the
two computers with each computer
typically dividing its day between 12
hours of active program running and 8
hours of standby program, (4 hours are
used for marginal checking of the com-

Fig. 1. Simplified AN/FSQ-7 block diagram

puter and 4 hours for scheduled maintenance during which that computer is.
unavailable for other uses).
In the schedule shown, the active
program is performed 24 hours per day,
during 16 of which the standby computer is available for backup. If both
the active and standby programs are
being run, the system is in duplex
operation; if one of the computers is.
undergoing maintenance, the system is
said to be in simplex operation. The
schedule shown is not necessarily the
one actually used; in practice, demands
for computer time for other purposes
eat into time available for running the
standby program. Doing this tends,
of course, to reduce the effectiveness of
duplex operation.
Now consider how these measures that
are used to increase reliability have
worked out in practice using data on the
earlier of the 15 ANI FSQ-7's which
have been installed.
It should be
pointed out here that the air defense
system is in a state of shakedown and
evolution, and this results in frequent
modifications to the computers as the
tactical operation is improved and new
weapons are tied in.
Table I shows the estimated dependability of an ANI FSQ-7 system
and the performance of the individual
computers upon which the system figures
were based.
It is quite a complex matter to charac-

H. D. Ross is with International Business Machines
Corporation, Kingston, N. Y.

Ross-The System A pproach to Reliability

ACllVEPROCRAM

14HOURSPERDAI

STANDBY PlIJGRAM

16 HDURS PER DAI (MARSINALCllEC~IG DOllE

OORIIS PART Of THISPERIOO)
SIIIPlEX_

Fig.

2.

8 HOURS PER 1111

Simplified AN/FSQ-7 operating
schedule

terize adequately the dependability of a

Q-7 because of its duplex nature; it
requires 18 different parameters to do
this completely. Shown in the lower
part of the figure are the four most
important of these parameters, for one
of the two computers in a Q-7 and, above,
the resulting duplex system performance.
The first two simplex figures are based on
performance of several machines after
final installation and a substantial period
of use for system shakedown and program
checkout, and exclude malfunctions in
certain equipment which is not used in
air defense operation. The third point
indicates that there were 4 hours of
scheduled maintenance per day for each
computer in a system. The fourth
point refers to the fact that not all of the
standby operating time is expected to be
assigned to backing up the active computer as mentioned before. Here it is
assumed that half the standby time would
be devoted to other uses. DCS stands
for "Direction Center Standby" proram.
. Based on the simplex computer figures
shown, the duplex system is expected to
have an availability of greater than 99.5
percent. The remaining 0.5 percent
stems, for example, from active computer
malfunctions, occasionally occurring during scheduled maintenance of the standby
computer and would be cut in half if
full use were made of standby operation.
These performance figures are based
on malfunctions which would cause a
Average For Sections A

a

failure of air defense. In the computers
themselves, most failures are of this sort;
in channel equipment, the availability of
new data greatly reduces the importance
of occasional errors; even solid failures
can be tolerated if spare channels or consoles are available.
Fig. 3 shows the mean-time-to-failure
history for one of the first systems, based
on the average of the mean-times-to-failure of the two computers in the system.
It will be noted that over an I8-month
period, the mean-time-to-failure rose
from 7 hours to something over 20. It
should be emphasized that this is not a
duplex mean-time-to-failure figure since
the two computers in a system were used
separately during the period that these
data were accumulated.
Fig. 4 shows the behavior of the meantime-to-restore parameter over the same
period of time .for the same system.
The average time-to-restore levels off at
about one-half hour.
Fig. 5 shows the availability, in percent
of total time; i.e. 24 hours per day, over
a 9-month period immediately preceding
the military operational date. During
this period, each of the two computers
was used separately rather than in the
duplex mode described earlier, since the
maximum amount of computer time was
desired for program debugging, tying in
other equipment, etc. It will be noted
that in the last few months of operation
covered by this chart, availability of approximately 80 percent or close to 20
hours per day was obtained. The grey
area indicates the portion of time spent in
marginal checking, which can be interleaved with useful operation via the
standby program. Here again it must
be emphasized that the figures are averages for the two computers in a Q-7
operating individually. Due to the particular schedule of individual computer
use which was shown earlier, care must
be used in properly computing the reSUlting duplex system availability.
Fig. 6 shows the mean-time-to-failure

Table I. Dependability Estimates for the
AN/FSQ-7 (8) Duplex Computer System at
an Average Site
Duplex Computer System
1. Availability For Air Defense ....... 99.5 %
2 .. Average Down Time Per year ..... 44
Hours
Simplex Computer Section
1. Mean Time To Failure In Air
Defense Operations ................ 25
2. ~ean Ti~: To Restore To Operatmg Condttlon. . . . . . . . . . . . . . . . . . .. 0.5
3. Scheduled Maintenance Per Day. .. 4
4. DCS Time Per Day .............. 4

Fig. 3(left). Mean time to
failure DC-1

Hours
Hours
Hours

performance of successive machines at
the time of acceptance at the site after installation there. Later machines are
compared with the first one as reference,
and the increase in performance in later
machines is apparent.
To consider in more detail the distribution of emphasis on reliability in the
AN/FSQ-7, dollar-cost is probably a
reasonable indicator and this measure
was used in preparing the next figure.
Considering the cost of an FSQ-7 system
as 100%, and including in this the design
and development cost as well as effort
devoted to diagnostic programming and
training maintenance personnel, the chart
shown in Fig. 7 is obtained. The following points are of interest:
1. About 38% of the cost of a system derives from considerations of reliability apart
from the intrinsic or built-in reliability of a
basic system. This is divided about equally
between a standby computer and everything
else.
2. Providing the second or standby computer has increased the cost of a system
about 28% but has increased system availability from 17 hours to nearly 24 hours per
day, an increase of 40%. A further advantage is that during the critical stages of
the installation of a site, with heavy demands on computer time for equipment tiein and program debugging, etc., this increase
in cost gives a 100% increase in availability,
since the two computers can usually be
utilized independently.
3. In spite of a very sizable effort in
developing maintenance programs, less
January 1957 - July 1958

8

MEAN TINE III FAIUJRE
(II HOlI!S)

Hours

AVERAGE FOR COMPUTiiR SECTIONS A

aB

MEAN TIME TO RESlllRE
COMPUTER III OPERATING
CONDITION (HOURS)
Im·r---------------------------------~

.80

.20

°
~
ffi!!I
FEB IlIAR IAPR IMAY IJUNI JUlIAUGISEPI OCT IIIlV I00: JAIl IFEB IMARl APR IlIAyl JIll

I Moms IIJAIl I

I

Ross- The System A pproach to Reliability

I

Fig. 4 (right). Average
maintainability parameter,
DC-1

29

(Average For Sections A

e. B)

4 Month Period Immediately Following Air Force Acceptonce

I

F'ERCENT OF SYSTEM COST!

·

NEANTINElO
HllllllEIIIIlEl

STAHDBYEQUIPMEIT
SPARES

-lOTALCOMJTIIiAlIIUBlLlTY
- ~ IlAlWLITTlO CiJSrnIOS
ElDCSPllJCRAllTIIERHI_IAlCl£l:lIllC

MAlmmCEPERsonElTRAINIK;
MARQIAlCHfCIII;[QUIPMERT

~Ioc-I
OCT

1951
IIIW

MAlum

DC-4DG-5DC-&

TESTEIIIIIPMEIT

1951
DE

JAM

FEB

lIAR

APR

MAl

JUI

DlACIIOSTICPRQ;RAMS

Fig. 6.
Fig 5.

OC-ZDC-j

DC-1 simplex computer availability

Dependability comparison for production sites

I

TDTAL

Fig. 7.

than 1 % of the cost of a system is for these
programs.

assemblies has proven to be lower than
initially estimated.

4. Only about 2% of the cost is due to the
very extensive marginal checking system.

Fourth, in retrospect, initial spares were
overestimated; experience so far indicates
that stocks can be reduced.

5. The cost of other techniques for enhancing reliability such as parity and other
built-in checking, is a minute fraction of the
total.
Now, having reviewed the reliability
performance of the system and degree of
emphasis given during design to various
means for increasing its reliability, what
about the resulting picture?
First, apparently the cost of the marginal
checking system is about optimum. The
ability to marginal check is a little sparse in
common equipment areas but is adequate
to catch about 80-90% of all malfunctions
to be found by marginal checking. Of
course, there are areas like faulty drum
heads, short circuits, and other basically
mechanical failures which cannot be detected by marginal checking.
Second, the amount of effort spent on diagnostic programs was about right, but with
reservations. It is not that adequate
programs have always been available but
that progress here is a matter of increasing
sophistication and cleverness, not weight of
effort alone. Recent developments here
have been so promising that it must be
concluded that the value of such programs
was probably underestimated during the
original design. In view of the results now
being obtained, diagnostic programs deserve
incre8sed emphasis in the future.
Third, the degree of automatism built into
site test equipment seems excessive, in the
light of experience to date. This is
mainly because the frequency of testing
and repair of the principal electronic

30

Fifth, from a maintenance standpoint,
manuals which conform to military specifications are of relatively little value. The
problem here is one of changing the specifications since they were not written with
maintenance of digital computers in mind.
Sixth, an insignificant price was paid for
error-detection circuitry in the machine
(parity checks, mainly). It would have
been helpful to have considerably increased
this, perhaps by 5 times, to give diagnostic
programs more information from which to
analyze and localize failures.
This paper will conclude by looking
ahead to the design of future systems for
24-hour-per-day real-time use, in the
light of the infonnation presented here.
First, duplexing is hard to beat in those
applications requiring 99+% availability
over a long period of time. Duplexing
has also proven very useful because of
system evolution and consequent shutdowns for retrofiting. In military systems, the evolving nature of operational
requirements will probably insure activity
of this kind for a substantial part of the
life of the system.
Second, programming techniques are
highly effective for trouble diagnosis and
should be developed further.
Third, greater use should be made of
error-detection equipment together with
program techniques that provide recovery

30

45

so

-•
•
•
•

II

1~

I

I
I

Per cent of system cost

from malfunctions. For example, a major
advance along these lines has already
been proven out in the semiautomatic
ground environment (SAGE) system
with gratifying results: These techniques:
Provide automatic recovery from internal errors 80-90 % of the time, assuring
correct results with a minimum of lost
operational time.
1.

2. Build up a learning table to permit
immediate correction of some errors the
second time they occur.
3. Nearly eliminate solid errors in parallel
transfers as a cause of reduced efficiency.
4. Provide logging of all errors exactly as
they occur to aid maintenance.
These advances have proven particularly valuable recently in the use of an
AN/ FSQ-7 for controlling flight tests of
the Bomarc missile, where any malfunction could delay the count-down or
spoil the test.
Fourth, while device development proceeds rapidly and should greatly improve
intrinsic reliability of computing equipment, it seems reasonable to expect that
the increasing complexity of such equipment, the desire for speed, and the increasing number of basic circuit modules
in such a system will require constant attention to techniques for high system
reliability in the face of inevitable malfunctions. Experience gained from operation of the AN/ FSQ-7 is of considerable value in pointing the direction
future development should take.

Ross-The System Approach to Reliability

8

Impulse Switching of Ferrites
J:
0

-'
w 4
Li:

o

EMORY designs at present reflect
either the applications, size, or environment of the memory. Many desired
memory characteristics oppose each other
in the determination of the memory design
and there has been no general solution to
the basic problems associated with magnetic storage. Lincoln Laboratory's concern primarily has been to improve the
memory speed, and hopefully obtain improved efficiency and design freedom. It
has only recently become clear that these
three factors, speed, efficiency, and design 'flexibility, are closely related and in
fact lead to generalized memory designs.
Efforts at memory improvements have
been concentrated in two areas; the magnetic elements, which is called the elemental approach, and the nonelemental
sections or memory proper, called memory
methods.
Recent memory methods include techniques such as Load Sharing,t Set a
Line,? Anticoincident Current, and Linear
Selection schemes.
The elemental approach includes the
work on thin films, Twistors 3 and multiaperture devices. 4

M

Memory Improvements
In order to obtain improved speed capabilities, 1inear selection memory designs
have been utilized. There are also other
important advantages of linear selection
that have accelerated its use. However, it
was clear that memory methods alone
would not provide the speed improvements desired. An elemental approach
that has been named Impulse Switching
has provided added memory speeds that
are an order of magnitude improved over
previous methods. To evaluate the technique, ferrite cores are currently being
used as the magnetic element; however,
impulse switching is a mode of operation
not restricted to ferrites.
Basically, impulse switching utilizes
current drives that are controlled in both
amplitude and width. By adjusting these
parameters it is possible. to control how
much of the core switches, and in effect,
there is a partial switching of the core.
In the 5O-30-mil size core, for example,
there is 10 mils of material available for
complete switching, but switching may be
restricted to as little as 1 mil of material.
This technique might be described by
saying that impulse currents electrically,

rather than physically reduce the size of
the core to improve the speed.

~

I

I

]

50- 30 CORE

1

~

0

R. E. McMAHON

I

[

I

l

'0

c:,~~'

~
~

NORMAL
CURRENT
DRIVE

3

-'

15: 2

«

-1

Impulse Switching Characteristics
0

The general characteristics obtained by
impulse switching will best describe its
capabilities and application. The switching constant (Sw) for impulse driven cores
shows an effective decrease relative to the
Sw obtained with normal drive currents.
Fig. 1 shows the Sw curve for both cases.
There is, in practice, a family of Sw
curves representing different degrees of
partial switching. The switching time ts
is defined as

where
Hm = applied field
Ho = threshold field for irreversible domain
wall motion and is approximately
equal to He, the coercive force.

A reduction of Sw as shown in Fig. 1 provides a proportional decrease in the
switching time.
There is also an apparent change in coercive force He when impulse currents are
applied. As the drive current widths are
decreased, the current magnitude necessary to initiate switching increases proportionately. This improves the speed still
further, since the switching time is inversely proportional to the applied field.
The pulse characteristics are obtained
by applying a write current variable in
magnitude and width. An additional
current called an exciter (opposite to the
normal inhibit) is applied coincidently
with the write current. The exciter current is set below the coercive field and is
slightly wider than the write current.
The coincidence of a write and exciter
current cause partial switching during
this interval. However, the absence of
the exciter of course does not allow switching. The write current is first set at a
particular value while the width is reduced to small values causing partial
switching. There is a decrease in switching time for both the read and write core
outputs and a decrease in core output
voltage. A new value of write current is
chosen and again the current width is reduced to obtain switching time and output voltage data. Curves of this sort are
shown in Figs. 2 and 3. Fig. 4 shows the

McMahon-Impulse Switching of Ferrites

4

.!.
Ts

Fig. 1.

9
(J.< 5

-I

10

)

Applied field versus switching time

signal-to-noise ratio for these data.
Additional data are taken with the read
current set at a new value and again varying the write current in magnitude and
width. Figs. 2, 3, and 4 are taken for a
read current of 1.0 ampere. Additional
curves for read currents of 0.5 ampere, 1.5
amperes, and 2 amperes will change switching time, output voltage, and signal-tonoise ratios considerably. In Fig. 4, the
signal-to-noise ratio is obtained by applying a program of partial write and exciter
currents in a manner similar to that used
in normal core testing. It is observed
that in many cases improved signal-tonoise ratios (U v1 , d vz ) are possible for the
impulse mode.
In Fig. 3 the reduction of read output to
zero for a write current of 0.6 ampere at a
width of 0.1 microsecond (usec) is an example of the apparent increase in coercive
field for decreasing current width. For
a write current of 0.6 ampere no switching
will occur below O.l-p,sec width. At this
width, however, the curves indicate
switching will occur if the current is raised
to 0.8 ampere. The regions below
70-mpsec (millimicroseconds) widths in
Figs. 2, 3, and 4 are difficult to measure
because of current rise time limitations.
It is also difficult to show a composite picture of these curves, but the following generalizations can be made.
1. Variable core voltage outputs
possible at almost any switching time.

are

2. Switching times as low as 20-50 mJ.tsec
are possible with good signal-to-noise ratio.
3. The write interval switching time is
approximately equal to the read switching
time.

R. E. McMAHON was with Lincoln Laboratory,
Massachusetts Institute of Technology, Lexington,
Mass., and is now with Transistor Applications,
Inc., Boston, Mass.
The work reported here was performed at Lincoln
Laboratory, a technical center operated by Massachusetts Institute of Technology with the joint
support of the United States Army, Navy, and Air
Force.

31

.~ .4
w

;;

Fig. 2 (left). Read
switching time versus
write width

EXCITER CURRENT
250 MA @ .8p.s
READ CURRENT
1 AMP @ .4

EXCITER CURRENT
250 MA @.8p.s
READ CURRENT
1 AMP@.4p.s

N

>

~

8

:J

I-

o

.3



,

~

UJ

o

:::>
I-

:::i

WRITE

350

I AMP

300

CURRENT

memory speeds were improved by overdriving during the read time while the
write operation being of a coincident nature, allowed no overdrive. The read
switching time could be an order of magnitude faster than the write time indicating the large power applied during the
read time is wasted if the complete memory cycle time is considered. The average memory power of impulse switching
is also low even at cycle times of 0.5 J.lsec
because partial switching results in lower
duty cycles. Calculations of peak and
average power indicates that impulse
switching compared with other elemental
or memory methods (at comparable signal
levels) requires much less power.
The switching times in the region of
2(}-50 m,usec, although almost unusable
with present memory circuitry, represents
possible memory cycle times of 0.1 to 0.2
usec. Switching times below these values
for ferrites represent the crossover point
between wall motion and rotation. a Nondestructive read out conditions exist in the
speed region below 20 m,usec and is worthy
of further considerations.
The previous discussion should also suggest added design flexibility of the memory circuitry-. Previously, driver limitations imposed design restrictions on the
memory size. Using impulse switching,

VALUES

+ \
.6 AMP .4 AMP

IL.

~ 250

~ 200

{EXCITER CURRENT}
250 MA@.SILS

IL.
I-

5

150

{READ CURRENT}
I AMP @.4ILS

~ 100
a:
UJ

50

UJ

a:

o
u

.2
WRITE

32

.3
CURRENT

:4
WIDTH

.5
IlLS)

.6

Fig. 3 (left). Core read output voltage versus write width

the memory element operation is variable
and may be used to eliminate driver design problems. The variable output voltage level can also be adjusted to provide
sense amplifier design freedom or overcome system noise level difficulties.

Related Problems
A program has been initiated to provide
a better understanding of impulse switching and in particular, the mode of operation and the mechanism that are involved.
Recent experiments indicate that the
model of partial switching assumed is
valid. The impulse switching process has
been experimentally observed to initiate
at the core center and expand outward.
The physical amount of core material involved in the switching process is directly
controlled by the current amplitude and
width. Experimental observations indicate that irreversible domain wall motion
is the major contribution to this mode of
operation. The rate of wall motion and
consequently the distance moved is proportional to the applied field and the duration of the field. Calculations of the average distance moved by domain walls
agrees with experimental evidence of the
amount of material switched. s
Reversible wall motion occurs if either
the current amplitude or width is below a
critical value. The applied energy must
be sufficient to move the walls beyond certain potential levels or reversible motion
results. This accounts for the nonswitching conditions described earlier at current
amplitudes and widths below critical values. In addition at very small current
widths (below 20 m.usec), no switching
will occur until the current amplitude is
increased orders of magnitude above the
expected or calculated value. There is no
wall motion possible below a critical current WIdth. The mode of operation ob-

McMahon-Impulse Switching of Perrites

tained for current widths below 20 m,usec
and very large current amplitude is one of
rotation. The switching control and
modes of operation that exists are providing an excellent study method for magnetic phenomenon.
The current width control and its effect on margins has so far not been a problem. There is considerable variation possible in the current width at a particular
speed setting, without a decrease in margins.
The heat problem presumed to exist at
these speeds has been found to be greatly
reduced in the impUlse mode of operation.
The power associated with the core may
be expressed as,

Ls

80 CORES

400 rna

PNPN

TRIGGER
PULSE
PNPN
20V @ 20 p-a

Fig. 5.

P-n-p-n sequential driver

where

V = volume of material switched
j=frequen'2Y of operation
Vout = core output voltage
1m = applied current
ts = switching time

1 amp .2fLs

For impulse switching, the volume of
material and the switching time are very
small compared to their values for normal
high speed methods. For example, the
power for an 51 50-30 core at one megacycle using standard overdrive methods is
40 milliwatts (mw) , while at the same
speed, utilizing impulse switching, the
power is 0.3 mw even with an output voltage of 50 mv. This low power level results in very small temperature increases.
The memory circuitry required for the
impulse switching has presented some
problems. To obtain maximum operation, current rise times of 10-40 m.usec are
necessary at current levels of 0.5 to 1.0
ampere. At present the circuit of Fig. 5
using p-n-p-n elements is used to provide
this current. The circuit is restricted to
repetition rates of about 30 kc, but is in
use in a sequential I,OOO-word 80-bit 0.5
,usee memory under construction. The
circuit of Fig. 6 will operate above one
megacycle and will be used for random
access memory applications.

References
1. A LOAD SHARING MATRIX SWITCH, G. Constantine, Jr. I.B.M. Journal of Research and
Development, New York, N". Y., Jul. 1958, pp. 20411.
2. FERRITE APERTURED PLATE FOR RANDOM
ACCESS MEMORY,
A. R?jchman. Proceedings,

J.

Institute of Radio Engineers, New York, N. Y.,
vol. 45, no. 3, Mar. 1957.

3. THE TWISTOR, A. H. Bobeck. The Bell System
Technical Journal, New York, K. Y., Kov. 19.57.

lvlcA,fahon-Irnpulse Switt;hi:ng

JL

SL

iSl

-v
Fig. 6.

Random access driver

4. A HIGH-SPEED LOGIC SYSTEM USING MAGNETIC ·ELEMENTS AND CONNECTING WIRE ONLY,
H •. D, Cran~. Stanford Research Institute Report,
Stanford, Calif.

5. THE UTILIZATION OF DOMAIN WALL VISCOSITY
IN DATA-;HANDLING DEVICES, Vernon L. Newhouse.
1957 Western Computer Conference.
6.

NUCLEATION OF DOMAINS OF REVERSE MAGNETIZATION AND SWITCHING CHARACTERISTICS OF
MAGNETIC MATERIALS,
B. Goodenough, N.

J.

Menyuk. Engineering· Note E-532, Digital Computer Laboratory, Massachusetts Institute of Technology, Lexington, Mass.

Discussion
Lloyd Lambert (Aeronutronic Systems Inc.):
If you write continuously, do you tend to
walk up the loop?
Mr. McMahon: Continuous partial write
currents will fully switch the core; however
in a linear selection memory only one write
current is possible before the next read out,
so that this is not a problem. In addition
the improved signal-to-noise ratios indicate
that this one write current and any number
of successive exciter currents will not disturb
the core.
The use of impulse switching in coincident
current applications has not been attempted

r! Ferrit£:$

although preliminary work indicates it
could be done. Core matrix selection
switches have .been designed using impulse
switching with excellent results.
. G. M. Hyde (Lincoln Laboratories): To
your knowledge, is anyone working on a
program for a computer to determine the
optimum value of switching time and
amplitUde?
Mr. McMahon: No, but we intuitively
know the values of currents and widths.
We hope to do some work along these lines
later.
W. Lawrence, Jr. (International Business
Machines Corporation): How critical are
pulse widths at O.I-microsecond switching
time? .
Mr. McMahon: The width variation is of .
course the control which allows us to obtain
this design flexibility. It can also contribute to a reduction of margins if it varies
considerably. We have found that all the
circuits so far designed to produce impulse
currents display very small variations in
current width and no unfaXQ1,

Fig. 9.

Fig. 7.

Cathode-ray tube for Flying spot store

An information channel
Fig. 11.

Close-up of monitor scope showing
beam traces

Table II.

Comparison of Flying Spot Sto re
Characteristics
Present
Store

Fig. 10.

Fig. 8.

Enlarged section of a test plate

THE WRITING PROCESS

The store is used to write information in
its own storage channels. Servo deflection control is used in writing as well as
reading. In the writing operation all
channels except one are closed by shutters
and the information is written into that
channel. Since the beam must be left on
for servo operation the writing is done by
scanning the entire raster, stopping for a
timed interval on each of the cells into
which ones are to be written. The beam
passes over the cells which are to contain
zeros so rapidly that it does not expose the
cell. The time required to expose a one
varies with film speed and can be of the
order of 250 microseconds (tLsec). Since
the information stored in a channel contains a bit from each word, some data
processing is required to assemble the information in a form suitable for writing
by channels. This is done automatically
by a digital computer and stored on magnetic tape for use by a plate exposure unit.
PHYSICAL ASPECTS OF PRESENT STORE

Fig. 4 shows the optical assembly of the
store as seen from the photo detector positions. In the foreground are mounted
condensing lenses which are placed be-

;36

Monitor scope in parallel with flying
spot store tube

tween the information plates and the photodetectors. The condenser lenses have
been removed from a part of the assembly
so that the lenses which focus the light
spot on the information plates may be
seen. The information plates are not
shown in this photograph. They will be
mounted on the frame which is seen behind the condenser lenses. The horizontal bars are shutters used in writing.
Fig. 5 shows another view of the assembly.
Fig. 6 shows one of the four I9-channeJ
information plates.
Fig. '( shows a photograph of a 256 X
256-bit channel with a one written in
every cell.
Fig. 8 shows an enlarged section of an
information plate with a pattern of spots
recorded for test purposes. A one is represented by a transparent spot in an
opaque background. This is achieved by
a reversal which changes the negative resulting from the writing operation to a
positive during development and fixing
processes. This reversal gives a large
improvement in signal-to-noise ratio.
Fig. 9 is a special cathode-ray tube developed in the Laboratories for use in the
store. This tube has sufficient resolution
over the phosphor face to read and write
reliably channels of (256) 2 bits each. It
has a small high-intensity light spot and a
fast phosphor. The light spot is less than
2.5 mills in diameter over a 61/ 4 inch X
6 1/ 4 inch raster. No deflection de-focus
corrections are required.

Predicted
Extensi:>n

Bit Capacity ....... (256) 2 76-bit- .. 131,000 76-bitwords
words
Random Access
Read ............ 4 J1.S per word .. 5 J1.S per word
Writing Time ...... 30 min. per .. 45 min. per 107
.') X 10 6 bits
bits
Time to Fill Memory from Library ............ 1 to 2 minutes .. 1 to 2 minutes
Shop Costs ......... Order of 1 .. Order of l/Z
cent per bit
cent per bit

Fig. 10 shows a monitor scope with
plates connected in parallel with those of
a flying-spot store tube. The pattern of
spots shown on the face represents part of
the lllain program for controlling a telephone switching system. This program is
repetitive so that a static pattern is shown
in the photograph. Some spots are used
more often than others as may be seen
from variations in exposure in the photograph. Fig. 11 shows a close-up of the
face of the monitor scope. Traces of the
paths of the beam in going from spot to
spot seen on both slides emphasize the
random nature of the access to information stored on the photographic plates.
This completes a brief description of
the store. Comparisons of its characteristics and those of the predicted extension are shown in Table II. It is seen
that the extension simply assumes that
the information per channel can be
doubled and that the larger capacity store
will be a little slower. Cost per store
would not be increased appreciably.
There are under consideration a number
of variations of the flying spot store which
promise considerable increases in capacity, more convenient writing processes.
and other improvements. Some of these
advantages will be realized but characteristics of the resulting stores cannot be
described at this time. Today these pos··

LoveU-High-Speed High-Capacity Photographic }.femory

sibilities will be ignored and attention will
be centered on the lO-megabit store which
has been described.

Digital Computer Applications
COMPARISON WITH EXISTING STORES

The flying spot store differs materially
from any store now used in digital computers. It is a fixed information store
with a capacity about one third that of an
average reel of magnetic tape. However,
the fast random access on readout is
comparable with that of fast erasable
memories. While the write time is considerably slower, this fact is relatively
unimportant for fixed information. Such
a store should have a great many uses
in digital computers. What are some of
these uses?
MACHINE LANGUAGE TRANSLATION

The store described is proposed for use
in machine language translations. This
subject has received considerable attention during the last 12 years. In 1956,
Wa112 described some of the engineering
aspects of the problem. He estimated
that 40 megabits of permanent information storage is required and that a machine must translate about 10 words per
second to compete, costwise, with human
translators. He postulated a photographic store with cathode-ray tube scanning for reading stored information and a
repetition rate of 100 kc. Four photographic stores such as the flying spot store
described will provide the required capacity.
The search routine is much more
efficient than that assumed by "Vall. If
the storage is alphabetized and every word
is found through searching the memory an
average of 384 beam positions would be
required per word. The time required is
5 J.1.sec per beam position. Hence the
average search time per word is less than
2 milliseconds. Thus between 10 and
500 words per second could be translated
depending on the number of multiple
searches required' 011 the average. In estimating the storage capacity required,
Wal1 assumed it would be necessary to
store more information than is 10gicaJ1y
necessary in order to speed up the search
operations. The speed of the store described is such that a better balance might
be achieved by reducing the information
stored to approximates more closely than
logically required. In this case a number of stores less than four may be sufficient. It is apparent that the store described is a practicable permanent store
for machine language translation.

SOLUTION OF LOGICAL PROBLEMS

The flying spot store was developed to
solve problems in this class 3 and its usefulness in this field is established. It is improbable that stored program control of a
large telephone switching system is the
only problem in the class worth solving by
this technique. The author suggests as
an application the problem of air traffic
control in the neighborhood of a large airport such as may be expected to exist 10
or 20 years from now. The problem of
control of all the traffic lights in a large city
under the changing conditions which exist
from hour to hour, day to day, and variations of longer periods appears to be another suitable application. Acute problems, created by special events, can be
handled effectively by stored programs in
both proposed applications.
These examples of logical problems are
characterized by having a large number of
more or less acceptable solutions. They
are also problems in real time involving
large number of variables about which the
programmer has certain statistical information. His problem is to write a program which gives solutions that are optimum in some sense. The method of attack on these problems is indicative of the
flexibility and power of stored program
control.
There must be an instruction
for every combination of the input variables which requires action. Each particular combination of inputs is caused to
generate an address suitable as an input to
the flying spot store. At this address is
stored either the instruction specifying
the action to be taken or a part of the instruction and the address of the next part,
and so on until the entire instruction is
given. When more than one event requires action at the same time, a main
program specifies an order for acting on
them sequentially. The real-time aspect
of the problem is to achieve a speed such
that the maximum delay is inconsequential or tolerable. It is readily seen
that an instruction of almost any length
and degree of complication can be given
as a result of a single input address, so long
as sufficient information capacity and
speed are available. :Y.I:ore will be said
about this.
STORED PROGRAM CONTROL OF
COMPUTATION

Consider an application of more immediate interest; i.e., use of programs
stored in a flying spot store to control
computations. An application of this
sort which is easy to describe is the storage
of the library of programs, routines and
subroutines used in computation labora-

Lovell-High-Speed High-Capacity Photographic Memory

tories to reduce human programming effort. Every computation laboratory has
such a library stored usualJy in a form
suitable for their input units so that the
desired programs may be read into the
erasable memory as needed. The availability of a low-cost fast-access permanent store as an internal computer component for this purpose offers advantages
which may be taken in the following ways.
The temporary memory can be reserved
almost entirely for variable data relating
to the problem, thus making it possible to
do much larger computations in one step_
The low cost per bit of capacity makes it
feasible to store permanently an extensive
library of routines of all sorts. The routines most frequently used can be assembled on one set of plates, while others
can be made available merely by changing
plates. Among the routines stored might
be rather extensive diagnostic computer
test routines which should lead to lower
maintenance costs and less down time for
the computer.
The entire library of programs which
have been assembled at the Murray Hill
Laboratory for use with an International
Business Machines Corporation 704 computer would occupy only about 15 per cent
of the capacity of one set of plates of the
flying spot store described.
Many computation laboratories have
such extensive libraries that they may exceed the capacity of one set of plates.
The lO-megabit capacity provided in this
store certainly makes feasible a much
more extensive development in fixed computer programs than has been possible
heretofore.
So far nothing has been said about possible changes in program structure which
might be advantageous if a flying spot
store is available. In a manner analogous
to the use of a stored program to solve
logical problems, a routine of any length
or degree of complexity can be started by
sending an 18-bit address to such a store.
The resulting 76-bit readout makes it
possible to use the computer as a 2- or
3-address computer or to operate on
variable word length instructions. The
nature and speed of access to the information stored allows the use of routines with
many branches, re-entrant points and
other interrelations. More and more of
the programming work is being done by
computer manufacturers. With the types
of store described the manufacturers
could not only furnish efficient and convenient programs with their computers,
they could write the programs permanently on information plates ready for insertion in the store. The programs written for such memories could be problem

37

oriented a!1d each customer supplied with
a number of programs best suited to his
particular class of problems. This in effect makes a general purpose computer
into a number of special purpose computers for ease and convenience in solving
each customer's particular problems.

References

Summary

3. AN EXPERIMENTAL SWITCHING SYSTEM USING
ELECTRONIC TECHNIQUES, Amos E. Joel, Jr.
Bell System Technical Journal, New York, N. Y.,
Sept. 1958, p. 1091.

A photographic store has been described
and an extension proposed for use in digital computers. Specific applications suggested include: 1. a difficult translation
problem; 2. solutions of a class of logical
problems; 3. storage of programs of several sorts to reduce human efforts in programming or gain other advantages in digital computer operations.
In closing, the question is asked, "If
you had a store such as that described,
how would you use it?"

1. FUNDAMENTAL CONCEPTS IN THE DESIGN OF
THE FLYING SPOT STORE, C. W. Hoover, R. E.
Staehler, R. W. Ketchledge. Bell System Technical Journal, New York, N. Y., Sept. 1958,
p. 1161.

2. SOME OF THE ENGINEERING ASPECTS OF THE
MACHINE TRANSLATION OF LANGUAGES, Robert E.
Wall, Jr. AlEE Transactions, vol. 75, pt. I, Nov.
1956, pp. 580-85.

Discussion
G. R. Tiannaca (Rome Air Development
Center): Did you have a problem of
phosphor burning on the cathode-ray tube?
If so, how was this problem overcome?
Mr. Lovell: There was a phosphor burning
problem which was solved; in part by moving the tube physically and continuously so
that the entire phosphor surface is used

An Experimental ModulationDemodulation Scheme for High-Speed
Data Transmission
E. HOPNER

T

HE primary motivation of the group
in this experimental development was
to find a suitably economic system in
terms of reliability and equipment simplicity for transmitting binary data from
point to point. To this end solutions, primarily with respect to private telephone
lines were considered. At the heart of
this problem is the right choice of modulation and demodulation schemes, so that
before describing the system, one should
survey the limitations of various approaches which were faced in the light of
boundary conditions of the present telephone network.

On-Off Modulation or DoubleSideband Amplitude Modulation
Systems
The on-off modulation schemes are historically the first modulation schemes
used for binary information transmission.
The two binary states are characterized
by the presence or absence of an information carrier frequency (subcarrier). This
subcarrier is usually located in the

38

middle of the available frequency band.
The advantage of such schemes is their
simplicity. They are, however, sensitive
to sudden amplitude variations of the
line and are relatively vulnerable to noise.
Since both sidebands are transmitted,
better frequency spectrum utilization
seems possible.

Frequency Modulation Systems
In low-speed data transmission applications (approximately up to 200 bits per
second) the Frequency Modulation (FM)
systems can tolerate about 10 db (decibels) more white noise and maintain the
same systems performance as Amplitude
Modulation (AM) double-sideband systems, in respect to speed or bandwidth
utilization. The immunity to level variation is one of the crucial factors which
paved the way for FM into telegraph carrier systems. 1-3
The same arguments do not apply entirely for high-speed data transmission,
where other factors have to be considered.
In low-speed applications, with many car-

more or less uniformly; in part by changing the phosphor and its method of deposition.
C. A. R. Kagan (Western Electric Company): To what extent would you consider
this photomemory suitable, technically as
well as economically, in the performance of
arithmetic computation using logic table
look up in memory in lieu of chains of
toggles or other forms of serial or parallel
adders?
Mr. Lovell: I have not thought much
about the use of such a memory in arithmetic computation in the manner described.
It certainly could be used in this manner.
However, for such simple and well defined
operations I would guess that the usual
forms of logic circuitry would furnish strong
competition. The table look up method
might win in cases where such a store is
available and its capacity not fully used
otherwise. A small amount of consideration has been given to this problem in the
Laboratories. I am not familiar with the
results and conclusions.

rier cycles per bit of information, the impulse noise does not represent a problem,
since the bit is so much longer in duration
than the impulse noise disturbances. At
higher speeds where there is often only
one cycle of the F.:M subcarrier per bit, the
problem of vulnerability to impulse noise
and to noise in general becomes severe.
The FM capture effect loses effectiveness at higher data transmission speeds.
The FM systems remain insensitive to
amplitude vadations, even at higher
speeds, and that makes them attractive,
as long as the noise does not become a
paramount problem. Since FlYI systems
require both sidebands, they are like
double-sideband AM systems in that they
are not efficient in bandwidth utilization.

Vestigial Sideband On-Off Schemes
The vestigial sideband on-off modulation schemes operate with greater effi-

E. HOPNER is with International Business Machines
Corporation, San Jose, Calif.
The work described in this paper is a result of a joint
effort between H. G. Markey and the writer. The
equipment was assembled and tested by O. F.
Meyer, whose patience during many hours of testing
is greatly appreciated.
Dr. E. S. Kuh of the University of California gave
substantial support in network synthesis problems.
Pulse shapipg networks and phase equalization of
experimental lines, which made the tests possible,
were his contributions.
The contribution of Dr. N. M. Abramson of Stanford University is in theoretical considerations of
error probability and interbit interference.
T. C. Kelly and C. M. Melas of the International
Business Machines Corporation Research Laboratory of San Jose were helpful in materializing the
phase correction and pulse shaping networks.

IIopner-Experimental AIodulation-Demodulation

Fig.
(left).
Transmitter

~~p~IL=m~=f~p__~~~____~~__~

L.::....J

~@D

-10 Dbm

Fig. 2 (right).
Signal spectrum

MASTER CLOCK

ciency than double-sideband systems.
Only a vestige of the upper sideband is
usually transmitted, resulting in higher
speeds. Its sensitivity to amplitude variations and noise impose stringent and
costly requirements on the telephone network in order to achieve the required reliability.

Phase Modulation and
Synchronous Detection
The modulation and detection scheme
most suited for telephone line data transmission appears to be phase modulation
. and synchronous detection (sometimes
called homo dyne detection).4 Great immunity from noise can be achieved along
with insensitivity to level variations. If
vestigial sideband transmission is combined with synchronous detection tech-

1

BAl
DEMOD.

-

fsc±c<

FREQUENCY

Another difficulty" to be mentioned is
the phase ambiguity of phase modulation
systems, which does not exist in on-off or
FM schemes, where the binary value is
unambiguously given by the presence or
absence of the sub carrier or by a predetermined frequency. The phase ambiguity
of the synchronous detector does not represent a serious problem, since it can be
eliminated by simple starting logic.
There are two basic philosophies fo:- derivhg the detection signal (carrier or subcarrier) in phase modulation systems.
The first is a phase detection system
which uses the delayed preceding bit as a
phase reference. 5 This type of system is
usually simple, if applied on a single-channel basis. The drawback of such schemes
is that single errors of the received signal
can produce double errors in the system.
This makes error detection and error correction more difficult.

niques, high speed and reliability can be
achieved with simple means. Quadrature component rejection makes the synchronous detection schemes the least sensitive to phase distortion of all the systems
yet discussed.
These qualities make the phase modulation schemes very attractive for highspeed data transmission over telephone
lines, but some difficult problems needed
to be solved before high spee~ and reliability could be achieved with simple
means. The main obstacle to the utilization of phase modulation schemes is the
continuous shift of the frequency spectrum commonly found on telephone networks. Because the information-bearing
entity of the received signal is its phase,
the problem of synchronous detection is
obviously difficult in an asynchronous
telephone carrier system.

INTEGRATOR

TRIGGER

I

A

,-/l

I

AND

SQUELCH

~

INFORMATION OUTPUT

.J""L..n..rL

LINE
!

1

~

I

I BIT
DELAY
LINE

BAL
MOO.

SQUARING
CIRCUITS

SUBCARRIER
FILTER

-

I

I

~'7

o~cPt:f3

fsc±a.

Ifsc±_
-

fp±.a

PILOT
FILTER

f p±cx

fsc--

BIT
FREQUENCY
FILTER

BAL
. MOO.

SUBCARRIER

I

PHASE
ADJUSTMENT

SHAPING
CIRCUITS

fp - - PILOT

f B- -

BIT RATE
ex: - - - - V.I. BAND SHIFT
man --INTEGERS
m=n
~

Fig. 3.

H opner-Experimental M odulation-Demodulation

Receiver

39

A- RECEIVED SIGNAL

A

B- SYNCHRONOUS DmCTI ON
SUB-CARRIER

B
C-RECEIVED SIGNAL
0- RECONSTRUCTED DATA

,
E- RECEIVED SIGNAL

Fig. 4.

.

The second type of detection system involves phase control of the subcarrier oscillator. Such schemes as those used for
microwave television links, for example,
are usually quite complex. 6 Relatively
simple control schemes are successfully
applied in conjunction with doublesideband suppressed carrier sytems. 7 - 9
An experimental phase modulation system has been built in the International
Business Machines Corporation (IBM)
Research Laboratories in San Jose that attempted to overcome some basic limitations in high-speed binary data transmission over the present telephone network, which includes microwave radio
relay links.
The experimental system is designed to
work on existing telephone lines with
no special noise reduction treatment. Information was transmitted serially rather
than in parallel, to achieve simplicity of
equipment and to keep down its cost.

The Experimental System
The basic principles used in the laboratory experimental system were:
1. bit
synchronous subcarrier modulation; 2.
phase modulation and detection; and 3.
clock derivation based upon the difference
frequency principle.
As the bit rate approaches the speed of
the sub carrier frequency, modulation jit-

40

I\.j,

ter is introduced in the system, which is
one of the speed-limiting factors in the
available data transmission systems.
Therefore, it is highly advantageous for
the bits of information and the subcarrier
frequency to be in rigid synchronism.
Bit-synchronous subcarrier modulation
thus eliminates one of the technological
speed barriers outside of the channel itself,
with its physical speed limitations of
bandwidth, frequency shift, level changes,
delay distortion, and impulse noise.
Then, in order to get the greatest possible rejection of the interference using
relatively simple circuitry, a signal pulse
is sent if either a mark or space bit is
transmitted. Basically, the information is
sent in l80-degree reversals of the bit synchronous subcarrier. In order to cause
an error, the disturbance has to override
the signal, or, in other words, it has to be
of the same order of magnitude. In addition, the synchronous detector will more
or less reject, depending on its phase, any
disturbance out of phase with the expected bit of information. Maximum interference rejection is achieved when the
disturbance is ± 90 degrees out of phase
with the received signal. In order to
create an error the disturbance has to be
greater than the signal and 180 degrees
out of phase with the information bit.
The proposed system is basically a phase
modulation and detection system with
practically achieved ruggedness and disturbance rejection, as was predicted
theoretically.
Level variations are basically no problem in the system since the detector has a
positive or negative value at the bit-sampling time. A level change affects only
the magnitUde of the sample and not

I

~

V

~

1 J

I

i-

i

i

.1

I

'(

\J 11
~

c

\k. ~

-~-

Fig. 6. Received signal (a, c, e) at 1,000 bits
per second. The synchronous detection subcarrier (b) was derived from the signal and is in
phase with it. The synchronously rectified
signal is integrated on a bit-by-bit basis (see
Fig. 7a, c, and e) and sampled to generate the
reconstructed received binary information (d)

Frequency and phase characteristics
of the L carrier test loop

!
I\. i ~

F- SYNCHRONOUSLY RECTIFIED
RECEIVED SI GNAl

Experimental setup
.

Fig. 5.

V
,.J.

~

"'I

I

~

I

i

T

I

I

o
V
./I ,r

~~

E

I
1

I

F

i

Fig. 7. Integrator output (a, c, and e) and
reconstructed data (b, d, and f) at 1,000 bits
per second

its polarity, which carries the information.
The advantages of phase modulation
and detection systems in interference rejection have already been discussed, but
the difficulties of phase detection with an
asynchronous carrier arise when the bit
duration approaches that of a single cycle
of the subcarrier and the bit is transmitted
through a medium which shifts the original spectrum as in the case of single-sideband suppressed-carrier telephone systems.
Even though synchronously transmitted, the phase of the received information changes continuously at the rate of
the frequency spectrum shift. I t has
been a challenging task to build phase detection systems under these circumstances.
Another problem of great importance
which is created by shifted carrier operation is the problem of bit synchronism, or
the problem of transmission of timing information over asynchronous carrier lines.
At the transmitting end, the informationcarrying subcarrier is in synchronism with
the information bit. In a synchronous
carrier system one can derive the bit timing from the subcarrier frequency. In
shifted carrier operation this is not the
case, since the bit synchronism of the
subcarrier is lost.
The experimental system derives the
bit-time information or the bit rate from
the difference between the informationcarrying sub carrier and the noninterfering
pilot frequency which is 10 db below the
signal. Regardless of the spectrum shift,
the difference frequency and its phase stay

H opner-Experimental )11odulation-Demodulation

•

RECEIVED DIPULSE WITHOUT
PHASE EQUALIZATION
TRANSMlmD DI PULSE

ai'".
I

,

,.,

J_

~

-

v

RECEIVED DIPULSE WITH
PHASE EQUALIZATION

TRANSMITTER

The master clock (see Fig. 1) which
provides the clocking signal for the infortion read-out is also used to derive the
subcarrier and pilot frequencies. The information-carrying sub carrier and the bits
of information are thus in phase synchronism. The pilot and the master
clock are of the same frequency, whereas
the bit rate and the subcarrier mayor may
not be the same, depending on the transmission speeds and the frequency distribuFor extion of the signal spectrum.
ample, the experimental system has a
master clock frequency of 800 cycles per
second (cps), a bit rate of 1,600 bits per
second, and a sub carrier of 2,400 cps.
Therefore, the bit rate is twice the clock
frequency, and the subcarrier is three

A

10,000
5,000

2,000

1,000
500

,

constant and are used to clock the received information.
Along with binary information transmission, a start signal is customary in any
data transmission system. A special
character can be reserved for that purpose, if the information is coded on a character basis. The problem becomes more
complex if the bits of information are
transmitted more or less at random. A
separate level for the start bit is a solution
of the problem which results in increased
vulnerability to noise of the information
bits and is therefore not considered as satisfactory. A practical approach which
does not affect the reliability of the system
is one in which the start bit could consist
of a sudden reversal of pilot and signal
levels for a duration of 5 bits, for example.
The level reversal could be followed by 2
bits of information of one polarity and one
bit of the opposite. The last bit could be
considered as the start bit. This start
signal transmission approach is not an
original one. It could be an integral part
of a system, which, as a whole, represents
a new approach to the problem of highspeed data transmission over available
telephone lines.

n

f\l I Vf'
V

, f\

'

Fig. 8. Transmitted dipulse at 2AOO bits per
second (b) received over the test circuit without (a) and with phase equalization (c)

'\

N=THE NUMBER OF NOI SE
PULSE SIN OM: DIRECTI ON (POSITIVE OR M:GATI VEl IN A25-MI NUTE
~Ol SE SAMPLE SUCH
THAT THE IRPEAK VALUE
I S XDBABOVETHE PEAK
SIGNAL VALUE.

B

.~

"'... -

"-

I ~
'VVoJ
II\}
~I V- r-.

200

c

100

IV

50

Fig. 9. Transmitted bit at 1,600 bits per
second (b) received over the test circuit without (a) and with phase equalization (c)

I.

NO PHASE EQUALIZATION

20

X (db)

Fig. 11. Number of noise pulses, N, occur~
ring on a telephone line during the 25-minute
tape-recorded sample

cut~off

. . WITH PHASE EQUALIZATION

Fig. 10. Integrator output at 1,600 bits per
second showing considerable interbit interference without phase equalization (a) and
very little interference after the line has been
phase equalized (b)

times the clock frequency. The pilot and
the information signal spectrum are not
interfering with each other since the bit
spectrum has no energy at the pilot freuency (see Fig. 2) and the synchronous
detector rejects the pilot frequency. The
pilot frequency is transmitted considerably below the signal level, -10 dQm
(power in decibels referred to 1 milliwatt).
This is done in order to allow maximum
channel loading for the information signal itself.
The frequency multiplication is
achieved by conventional analog techniques in deriving the second and third
harmonics from the clock signal.
The bit-synchronous modulation occurs
at the balanced modulator. Depending
on the information bit, the phase of the
subcarrier is switched to either 0 degrees
or 180 degrees for the duration of the bit.
The band pass filter eliminates the portion of the signal spectrum which cannot
be adequately transmitted by the transmission channel. This filter is designed
with special care in order to achieve acceptable phase linearity throughout the

Hopner-Experimental Modulation-Demodulation

region. Thus a good match between the signal and the channel is
achieved. Consequently, delay distortion introduced by the transmission channel is minimized, resulting in less interference between bits at the receiving end.
Fig. 3 illustrates the receiver.
RECEIVER

To understand the synchronous detector, assume for the moment that one has
at his disposal the shifted sub carrier frequency fsc + a. It is the balanced demodulator which compares the phase of
the incoming bit to the phase of the
shifted subcarrier during the bit time.
The received bit is either in phase, with,
or in phase opposition to, the shifted subcarrier, depending on its binary value.
As a consequence of the synchronous demodulator action, its output consists,
during the bit time, of essentially positive
or negative pulsations. The integrator,
integrates the demodulator output during
every bit period. At' the end of the bit
time, the integrator output is squelched,
producing a pulse of the bit polarity.
The driving signal for the output' trigger
is generated in the following "and" circuit. The output trigger finally reconstructs the transmitted bits of information.
In order to make the synchronous detector work, two additional pieces of information have to be derived from the received signal: 1. The instantaneous phase
reference for the incoming modulated bit
of information, which is the shifted subcarrier; and 2. The bit-sampling time,.
which is derived from the bit-rate frequency.

41

1111 ~CEI~D ~IPUl~ 1111

ro

db NOISE
SIGNAl

'~'--'-''''!'~i~-'~~~~--'-~rnTn
'~r--+--+-~~-1--~~rlr--r--+-~

'~~-r--+l,-r++--~,--,,-+-Hr--r--rll-r~

,!

·24 f__--'----I-['-+-++---+---+--+-+-f__-i----+-t--+-i
·~f----'---+-~+---+--f---+--+---~i'--+-~1

·mf--~--+-~-+-__+--~i__+_+_f__--'---+-~

·~f--_+.'~~rn'~~~~i__+!-+-r'i__r'i__+-~'
f~~I~~~1 ~/ANDIl\l

II
Fig. 12.

SWEEP SCALE
2OOJlsIDIV.
AMPLITUDE 0.1 VllllV

-

1111
.

A received signal without noise (center). All other waveforms are impulse noise
without signal; all waveforms are shown at the same scale

These essential detection signals are derived as follows: The received signal consists essentially of 180 degree reversals of
the shifted subcarrier, which is therefore
suppressed with respect to its steady state
condition. In order to reconstruct the
suppressed carrier from the information
train, a feedback loop is used. The received signal is delayed for one bit time in
order to give the synchronous detector a
chance to decide if, during the bit time in
consideration, the subcarrier should be left
alone or shifted 180 degrees. This information is derived from the output signal.
The received signal is then left unchanged
or reversed in phase, depending upon the
received bit of information.
This operation takes place in a balanced
modulator, the output of which contains
the shifted subcarrier frequency. The
subcarrier filter supplies an essentially
noise-free sub carrier signal to the system.
The described feedback loop is a very stable one, since the loss of eight consecutive
bits would not put the system out of
synchronism. The reconstructed shifted
carrier is clipped and shaped and fed into
the synchronous detector and is also used
for the derivation of the bit timing signal.
The bit-rate frequency or clock is derived from the shifted subcarrier and the
pilot frequency. Since the frequencies of
both signals are shifted by the same number of cycles per second in a suppressed
carrier system, their difference stays constant and is used for clocking purposes.
The pilot is filtered from the received signal by the pilot filter. The difference frequency isc+a - ip+a = iB is generated in a
balanced modulator. After filtering, the
phase of the clock signal is adjusted for
delay characteristics of the line so that the
squelching and sampling of the integrator output occurs at the end of the bit
time. The shaping circuits form the

42

!!

proper pulse shapes for squelching and for
information readout.

Fig. 1 3. Experimental data set. Error rates
as functions of impulse and random noise levels

EXPERIMENTAL SETUP

In building the experimental system the
emphasis was placed on basic principles
rather than on miniaturization or transistorization. The system as described in
this paper is a tube version and consists of
16 tubes, comprising the transmitter, receiver, and clock. Later on, the system
was partly transistorized because some
functions of the system could be performed better and simpler with transistor
circuits. A completely transistorized version of the laboratory system consists of
15 transistors, without the clocking portion of it. It is estimated that a complete
system including the clock could be built
with 25 transistors. The transistor count
is given to give the reader a feeling of the
simplicity of the modulation and demodulation equipment.
The experimental system was designed
to operate at 600, 1,000, 1,600, and 2,400
bits per second in order to evaluate the influence of impulse noise on error rates at
different speeds.
Fig. 4 shows an experimental setup
using a 100-mile private line circuit having frequency and phase characteristics
as shown in Fig. 5.
Satisfactory results were obtained at
600 and 1,000 bits per second with no
equalization of the line. Figs. 6 and 7
show the satisfactory operation of the system at 1,000 bits per second without phase
equalization. For 1,600 and 2,400 bits
per second, phase equalization was necessary for satisfactory operation.
Figs. 8 and 9 show the effect of phase
equalization on a single bit at 1,600 and
2,400 bits per second respectiveiy. The
influence of phase equalization on system
performance by reducing interbit inter-

ference is shown in the graphs of Fig. 10.
A 25-minute tape recording was made
from a line which is considered to be very
noisy for data transmission purposes.
The noise peak distribution (impulse noise
on the tape) is shown in Fig. 11. Fig. 12
illustrates the seriousness of the problem
of binary data transmission with the presence of this noise, as the noise pulses were
about the duration of the bit, and sometimes as high as 20 db above the signal.
Fig. 13 presents the results of tests performed under white and impulse noise
conditions. Zero db signal-to-noise ratio
for white noise means a flat signal-tonoise ratio in the 3 KC band, whereas zero
db signal-to-noise ratio for impulse noise
represents normal operating conditions
under the circumstance prevailing during
the recording of the noise tape, which
represents a very noisy line condition.
TEST RESULTS

In operation under simulated impulse
noise conditions with the noise tape, error
rates increase drastically as the duration
of the signal diminishes and approaches
that of impulse noise spikes. At 600 bits
per second, the expected error rates are
about one in one billion bits; this increases
to one in 70,000 at 2,400 bits per second.
At 1,000 bits per second, one error in
one million may be expected on very noisy
lines. Experience to date suggests that
one may expect error rates to be reduced
by two orders of magnitude on average
lines, as opposed to the very noisy conditions on our tape recording.
Under white noise conditions (which are
important for radio circuits), at 1,000 bits

Hopner-Experimental

~7Vfodulation-Demodulation

per second, with a signal-to-noise ratio of 7
db, the expected bit error rate is one in one
million. Experiments indicate that satisfactory operation at 1,000 bits per second
may be expected without phase equalization and at 1,600 bits per second with
phase equalized lines and no special noise
elimination treatment.
At 2,400 bits per second with the present experimental system, satisfactory
service on private lines can only be established on lines with a noise peak distribution 6 db lower than shown in Fig. 5.
Also, at the present time, such services
could only be established on synchronous
carrier lines and radio circuits.
The long-distance carrier network by itself does not appear to represent a serious
problem for high-speed data transmission
with respect to phase distortion. Excessive phase distortion for higher speed
services is usually introduced, with loaded
cables serving as a link between customer
premises and the toll exchanges. In
many cases phase correction does not represent an insurmountable problem and
can be achieved with simple means and
without excessive testing procedures.

References
1. A FREQUENCY MODULATION ON TELEGRAPH
TERMINAL, F. H. Cusack, A. E. Michon. AlEE
Transactions, pt. I, vol. 66, 1947.

2. A NATIONWIDE FM TELEGRAPH NETWORK,
F. B. Bramhall, L. A. Smith. Ibid., pt. I, vol. 70,
1951.
3. TRANSMISSION OF BUSINESS MACHINE DATA
OVER STANDARD TELEGRAPH CHANNELS, F. B.
Bramhall. Ibid., September, 1956.
4. KINEPLEX, A BANDWIDTH-EFFICIENT BINARY
TRANSMISSION SYSTEM, R. E. Mosier, R. G.
Clabaugh. AlEE Transactions, pt. I, vol. 76,
Jan. 1958 section, pp. 723-28; Discussion by
E. D. Sunde, p. 728.
5. A DIGITAL DATA TRANSMISSION SYSTEM
USING PHASE MODULATION AND CORRELATION
DETECTION, F. A. Losee. Presented at Southwestern Institute of Radio Engineers Conference,
San Antonio, Tex., Apr. 1958.
6. THE L3 COAXIAL SYSTEM. TELEVISION TERMINALS, T. W. Rieke, R. S. Graham. Bell System
Technical Journd, New York, K. Y., July 1953, pp.
915-42.
PHASE-SHIFT RADIO TELETYPE, J. P. Costas.
Proceedings, Institute of Radio Engineers, New
York, N. Y., Jan. 1957, pp. 16-20.

7.

8.

SYNCHRONOUS COMMUNICATIONS, J. P. Costas.

Ibid., Dec. 1956, pp. 1713-717.
SYNCHRONOUS DETECTION OF AM SIGNALS,
J. P. Costas. Proceedings, National Electronics
Conference, Chicago, Ill., Oct. 1951, pp. 121-29.

Bibliography
ON-OFF MODULATION OR DOUBLESIDEBAND

AM

SYSTEMS

1. TRANSMISSION OF DIGITAL INFORMATION OVER
TELEPHONE CIRCUITS, A. W. Horton, Jr., H. E.
Vaughn. Bell System Technical Journal, New
York, N. Y., vol. 34, May ]955, pp. 511-28.
2. A DATA TRANSMISSION MACHINE, C. R. Doty,
L. A. Tate. AlEE Transactions, pt. I, vol. 75,
Nov. 1956, pp. 600-03.
3. PERFORMANCE CHARACTERISTICS OF VARIOUS
CARRIER TELEGRAPH METHODS, T. A. Jones, K. W.

Technology
R. RICE
EBSTER gives one definition of a
revolution as follows: "A total or
radical change." The following discussions are concerned with a radical change
in the technology which provides components for use in digital data processing
systems. At the onset of a revolution it is
not clear what the outcome may be.
Technological revolutions, as opposed to
political revolutions, however, tend to
have a common characteristic of inducing
major changes regardless of whether or
not the revolution is completely successful. The papers presented in this session
consider various aspects of what is being anticipated as a technological revolution.
Disjointed papers dealing with individual aspects of the new technology, such

4. A TERMINAL FOR DATA TRANSMISSION OVER
TELEPHONE CIRCUITS, E. B. Ferrell. Proceedings,
Western Joint Computer Conference, AlEE Special
Publication T-85, Feb. 1956, pp. 31-33.

FREQUENCY MODULATION
SYSTEMS
5. CARRIER SYSTEMS FOR DATA TRANSMISSION,
F. B. Bramhall. Western Union Technical Re,view,
New York, N. Y., Apr. 1957.
6. AN FM DIGITAL SUBSET FOR DIGITAL DATA
TRANSMISSION OVER TELEPHONE LINES, L. A.
Weber. AlEE Transactions, pt. I, vol. 77, Jan.
1959, pp. 867-72.
7.

SYNCHRONIZED CLOCKS FOR DATA TRANSMIS-

SION, J. O. Edson, M. A. Flavin, A. D. Perry.
Ibid., pp. 832-36.

VESTIGIAL SIDEBAND ON-OFF
SCHEMES

9.

The Impending Revolution in Computer

W

Pfleger. Bell System Technical Journal, New York
N. Y., vol. 25, 1956, pp. 483-531.

as components, circuits, logical design,
and programming have been presented in
several conferences. But the full impact
of the drastic reduction in logical device
size and cost is somewhat difficult to grasp
if these subjects are considered separately.
This session is presented to unite the various aspects of the total picture. The
papers are co-ordinated and each author
will discuss anticipated changes in the
particular field with which he is primarily
concerned.
The authors are presenting their own
views. In all fairness to them, it should
be said that at this point in time, and with
as little experience as engineer~ have
had in this new technology, it is extremely difficult to predict exactly the
future.

Rice-The Impending Revolution in Computer Technology

8. SOME RESULTS ON THE TRANSMISSION OF
PULSES OVER TELEPHONE LINES, J. V. Harrington,
P. Rosen, D. A. Spaeth. Symposium on Information Networks, Microwave Research Institute.
New York, N. Y., Apr. 1954.
9. TRANSMISSION ASPECTS OF DATA TRANSMISSION
SERVICE USING PRIVATE LINE VOICE TELEPHONE
CHANNELS, P. Mertz, D. Mitchell. Bell System
Technical Journal, New York, N. Y., Nov. 1957.

PHASE MODULATION
AND SYNCHRONOUS
DETECTION
10. CERTAIN TOPICS IN TELEGRAPH TRANSMISSION
THEORY, H. Nyquist. AlEE Transactions, vol. 47,
no. 2, Apr. 1928, pp. 617-44.

History
To set the stage properly for the revolution, it will be appropriate to review
briefly what has been done, what is being
done, and what is anticipated will cause a
future radical change. In what follows,
one is concerned primarily with those
properties of computer elements which
bear most directly on the subject matter
of this session. Everyone is aware that
other properties are involved in choosing
a particular technology for use in specific
systems.
RELAY LOGIC

Fig. 1 illustrates a relayasa Pasic logical device. Logic using relays essentially
consists of wire properly utilized to make
contacts, interconnections, and coils.
The active elements, the relays, are illustrated in the left of the picture and the
necessary" interconnections are shown
R. RICE is with International Business Machines
Corporation, Poughkeepsie, N. Y.
This is the introductory paper in a panel session on
"The Impending Revolution in Computer Technology."

43

Fig. 1.

Fig. 2.

Relay logic

Fig. 3.

Transistor logic

Tube logic

INTERCONNECTION DELAY TIME

(4 MEGACYCLES)

R=

R

S~~~C~~~~E~Y~~~E

VELOCITY OF LIGHT (F'ttSEC.HIF'TT'
X CAPACITANCE DELAY FACTOR
SWITCHING DELAY TIME

-

R= (I.02)~(.s-I)=¥

IN RESEARCH

1950

1958

1960

?• ---.!------!.-----100 000 000

DECISIONS/ ELEMENT/SECOND

Fig. 4 (upper left).
time

Switching

STORAGE

~

ACTIVE ELEMENTS
{
INTERCONNECTIONS

Fig. 5 (upper right). Interconnection problem

I. MICROMINIATURIZATION

250 millimicroseconds. Transistor machines presently being developed in universities and elsewhere are approximately
an order of magnitude faster and switch
in about 25 millimicroseconds. Devices
which are now in research promise switching speeds greater by another order of
magnitude. This yields switching times
of 2.5 millimicroseconds.

S~TEM ~ BATCH-BULK PROCESSES
{

ACTIVE ElEMENTS
a INTERCOflNECTIONS

3. PHYSICAL MERGING
OF STORAGE, SWITCHING,
INFORMATION TRANSMISSION

in the back panel picture to the right.
In systems utilizing relay logic, speeds
. below 1,000 logical decisions per element
per second are about the best that can be
obtained ..
TUBE LOGIC

Fig. 2 illustrates tube logic. With the
introduction of filament-type electron
tubes, a radical increase in speed was
achieved. Speeds above 4,000,000 logical
decisions per element per second are
possible. Note that the volume occupied
and the interconnections involved show
only minor improvements over relay systems. ~ote also that additional types of
"passive" components are included in the
circuits used. These passive elements increase the total number of interconnections required to perform equivalent logical operations.
TRAXSISTOR LOGIC

Improvements in the speed achieved
and in the space occupied are obtained
with the use of transistors. This type
of logic is shown in Fig. 3. Speeds
above 40,000,000 logical decisions per
element per second are reasonable. As
in the case where electron tubes are used,
additional passive elements and their interconnections are introduced. ~ 0 significant reduction in lead lengths for interconnections has occurred despite the introduction of printed- and etched-circuit
wiring techniques at about the same time.
Advantages of these latter techniques are

Fig. 6 (left). A revolutionary
technology

in areas other than those under consideration here.
Parallel with the change in components
from relays to tubes and then to transistors, there has been an increasing demand
for more complex logic, more storage, and
the greatest possible speed economically
obtainable. This is a result of applying
machine systems to larger and more complicated problems.
The physical volume occupied by the
electronic logic in machine systems has
been increasing. This is a result of several factors. First, increased speed has
been obtained by using faster circuits
which, generally speaking, require more
components. Second, speed increases
have been obtained by paralleling of operations. This also requires more components. Third, as previously mentioned,
larger systems to solve more complex
problems increases physical volume. As
a result, the average interconnection
length has increased.
SWITCHING TIME

The bar graph, Fig. 4, illustrates the
relative switching times for tube and transistor circuits. Relay switching times
are completely off scale and are omitted.
The ordinate represents switching time in
m:illimicroseconds, and the abscissa,
chronological time, in years, of approximate developments dates. The fastest
tube and diode machine with which the
author is familiar has a 4-megacycle clock
rate producing circuit switching times of

Rice-The Impending Revolution in Computer Technology

PRESENT TECHNOLOGY LIMITS

Fig. 5 includes the relative switching
times as previously given in Fig. 4. The
portion of the chart representing current
research efforts is magnified in the insert .
The ratio R of the propagation time of a
signal down an interconnection of length
one foot to the circuit switching time is
introduced. A signal propagating with
the velocity of light requires about one
millimicrosecond to travel one foot.
Propagation in a terminated cable is
approximately 1.7 millimicroseconds per
foot.
In tube systems the ratio R is 0.007,
and may be ignored. For transistor cir..,
cuits in development R is 0.07, and consequently lead length must be given some
consideration. For the switching speed
range of transistors currently in research,
lead length becomes critical. The enlarged portion of the chart shows the relative importance of delay in interconnecIf
tions to delay in switching circuits.
one is to achieve another order of magnitude in speed, a drastic reduction in lead
length must be obtained.
As previously mentioned, the requirements for more complex logic and greater
speed tend to increase the total volume
occupied and consequently increases the
average interconnection length. One may
ask the following question. If volume
requirements are greater and the speed desired is greater, how may these demands
be met when one is faced with the interconnection problem? An adequate answer to this question is, perhaps, what determines a revolution in computer technology.

45

A REVOLUTIONARY

TECHNOLOGY

Fig. 6 illustrates and characterizes what
is believed will be a revolutionary technology. Cryogenic elements have been
chosen for purposes of presentation, but
several different types of devices under
consideration by research groups would
have served equally well. The small
squares in the illustration represent logical
elements. For easy visualization all the
elements shown in Fig. 6 have been magnified. The expanded picture of one element shows as an example, a trigger circuit with its interconnections. The over-

all dimensions of this trigger are less than
one eighth inch by one eighth inch.
Reasoning from this example, the impending revolution in computer technology will be based on:

3. Physical merging of storage, switching
and information transmission. Only the
merger of logical and systems design with
microminiaturization and batch-bulk processes will produce the full impact of the
revolution.

1.
Microminiaturization.
Extremely
small, active, passive, and interconnecting
elements allowing dense packing to meet
logical complexity and speed requirements.
2. Batch-bulk processes. As characterized by Professor Buck, it is anticipated that
systems will be manufactured by producing
interconnected batches of circuits from bulk
raw materials in automatically controlled
continuous processes.

This revolution will have far reaching
implications in all phases of the computer
field, starting with research and proceeding through system design, manufacturing, including the user. It is the purpose
of this meeting to bring attention to the
impending changes and to provoke discussion.

Computer Design from the Programmer· s
Viewpoint
W. F. BAUER
R. RICE HAS given a stimulating
introduction to the subject of the
impending revolution in computer technology. This paper will continue this
introduction by calling attention to the
spectrum of activity in computer design.
On the one extreme of this design spectrum is the user and on the other extreme
is the engineer-designer. Interpolated
between these two positions are the
following: problem formulator, programmer, system specifier, system designer,
logical designer, and circuit designer.
Mr. Rice has introduced the subject
from the designer end of the spectrum;
this paper will make some further
remarks of introduction along the lines
of the user's viewpoint and then further
develop ideas of what the user expects in
the way of computer design.
From the standpoint of the user the
principal implication of the impending
revolution in computer technology is
that information processing will cost
less; the advances in computer fabrication and in computer system design will
mean that a given amount of information
processing will cost less or, alternatively,
for a given amount of money more
information processing can be purchased.
This in turn implies a greater sophistry
in computer application. Since a major
consideration in the application of computers is programming, attention is
Improved
focused on that activity.
computer technology will imply less
cost for programming because of the
increases m automatic programming

M

46

sophistication made possible by the
machines of more advanced design. In
the United States today, a condition of
insufficient manpower to program computers efficiently is rapidly being approached; if adequate strides of progress
in programming are not made, more and
more people with less qualification will
be brought into programming, and the
costs will rise rapidly as a consequence.
The author believes that the limiting
factor in computers today is not the
switching times of logical circuits nor the
access times of memory units. Rather,
the limiting factor is the lack of capability, on the part of machine and on the
part of the user, for advanced pro!Sramming and advanced application.
Attempts have been made to pin down
the idea of the productivity of the
programmer and to determine how this
productivity has changed through the
years since 1950. One such "programmer productivity index" would be the
ratio of programming cost to computer
cost. Another such index would be the
ratio of the size of computation staffs to
the speed of the computer. Any such
definition shows a very great growth in
programmer productivity since 1950
and, more specifically, shows a growth
factor of at least five, and very possibly
as much as 25, depending on the definition
used and the assumptions accepted.
This increase in programmer productivity
is due mainly to the computer design
improvements which, from the programmer's standpoint, make possible

ease of coding, especially through automatic programming techniques.
The
importance of the computer design from
the programmer's point of view is
obviously great in the case of the general
purpose computer or data processor.
It is only somewhat less true in the case
of the stored program computer designed
for more specific application.
For present purposes some of the
factors of modern computer design will
be discussed and what may be considered
to be the "ultimate" in computer design
from the standpoint of the user will be
described.

Design Features
There has been much discussion over
the past years on trends in instruction
repertoires of stored program computers.
Here again the subject can be discussed
in terms of a spectrum of design possibilities. On the one extreme is the
micro-instruction which is not powerful
but is universal in character; it provides
a small unit building block for the
computer program. On the other extreme
is the macro-instruction which is more
powerful but also more restricted in
application.
As instruction repertoires become more
"problem-oriented" they become less
universal in character and more special
purpose. Computer instructions mo:-e
problem-oriented in nature can be synthesized through automatic programmingor, commands in the user's terminology
are translated to the conventional machine instruction. To illustrate how the
more problem-oriented machine instruc-

Vl. F. BAUER is 'with Ramo-Vlooldridge Division of
Thompson Ramo Wooldridge Inc., Los Angeles,
Calif.

This paper is part of a panel session on "The Impending Revolution in Computer Technology."

Bauer--Computer Design from the Programmer's Viewpoint

COMPUTING

a

CONTROL

PROCESSING

H

BUFFER

~

INPUT-OUTPUT

I
MEMORY

Fig. 1.

1103A-704-705 system schematic
Fig. 2.

tion repertoire results in its more limited
use, consider the very successful FORTRAN algebraic formula translation system device. In nearly all International
Business Machines Corporation (IB:M)
704 computer installations in the west,
less than 30% of the problems use
FORTRAN, and very frequently the
use is around 10%.
History shows that, in general, specialpurpose machines are a poor investment.
Consider, for example, the lack of success
of computers for the solution of linear
algebraic equations. In computer development there has been an obvious
trend to universality. Compare, for
example, the 16-instruction code of
National Bureau of Standards Eastern
Automatic Computer (SEAC) with the
very large instruction repertoires of the
Livermore Atomic Research Computer
(LARC) and (STRETCH) computers.
However, included in this trend is the
march toward including the more powerful instruction, the instruction which is
more problem-oriented. To emphasize
this, one can recall that in 1951 people
who wanted built-in floating point were
somewhat hard to find. At that time,
many users, and probably more designers,
thought that floating-point arithmetic
instructions should be programmed rather
than built in.
The real solution to the problem of
design of instruction repertoires for
computers seems to be incisiveness with
universality, the set of micro-instructions
heavily sprinkled with problem-oriented
instructions.
The past few years have seen many
important innovations in computer design. Some of these are as follows:
the B-box, automatic overflow and underflow handling, the real-time clock available for program interrogation, and the
automatic interruption of the computer
by asynchronous devices.
The last
innovation mentioned, "the interrupt
feature," bears extra mention and emphasis. The complexity of system design
implies that events asynchronous to the
computer operation (e.g., card reading,
memory interrogation, input from externally timed sources) must be handled

by the automatic interruption of the
main computing stream; employing the
interrupt idea is like asking a staff
member to perform a task and then
return for another assignment when the
first task has been completed. The
savings in computer time and programmer time in the employment of the
interrupt idea is significant. Happily,
this technique, first realized as a standard
feature in the Univac Scientific 1103A, is
being included in such new computers as
the IBM 7070 and the STRETCH
computer.
Another new area arising is that
referred to as the associative computer
memory or its cousin the indirect address.
The associative memory is that first
introduced, developed, and used by
Newell, Shaw, and Simonl,2 in their
work with a synthesized logic theory
machine. Without attempting to describe the technical details of this technique, let it simply be said that it allows
the programmer to set up strings of
quantities within the computer memory,
thereby allowing him to make better
use of the computer memory and relieving
him of the necessity to specifically outline
computer memory requirements on an
a priori basis. The indirect address
technique is developed to a considerable
extent on the IBM 709 computer and
almost to an ultimate degree on the
Gamma 60 computer. 3 This technique
essentially allows the programmer the
same advantages of the associative
memory and, in particular, allows him
to deal with names of quantities rather
than the quantities themselves.
An idea which may appear important
in computer technology from the user's
standpoint is the symbolic memory.
With this memory, the mem:)ry cell
itself contains in symb}lic form its
"address" or, in better terminology, its
"name." The programmer, instead of
referring to a specific address, refers to a
symbolic name in order to summon a
quantity from the memory. The assignment of names to specific hardware
memory cells is performed by the machine at the beginning of the computation.

Bauer-Computer Design from the Programmer's Viewpoint

IBM-709 system schematic

and a one-to-one correspondence between
the symbolic names given and the specific
memory cells is effected by the computer
hardware. For those who would argue
strongly that this is not desirable or
feasible, consider the fact that computer
programming by means of absolute
machine addresses is nearly extinct in
the United States today. When a usage
becomes this universal, consideration
should be given to its inclusion as a
hardware item, if this is at all possible.
An interesting phenomenon in computer design is the increasing memory
size. Although the memory size of the
large-scale computer has increased
roughly as the square root of the increased speed, it appears that the advent
of concurrency of input-output with
computing will change this trend. It
also appears that, since large transfers
between main memory and auxiliary
memory can now be handled so efficiently
and economically, there is a limit to,
or an optimum for, the size of a highspeed memory. It appears that computer
memories in the future will grow with
increasing computer speeds but at a rate
slower than the square root rate just
mentioned.
One of the requirements for larger
high-speed memory sizes lies in automatic programming. In the system for
the IB:M 709, for example, which allows
automatic operation of the computer
between and during runs on the computer,
a computer control program of 4,000
words in length is kept in the magnetic
core ,at all times. It remains there for
the use of the programmer for the
handling of untoward situations and for
performing the transition from one
computer run to the next.
One of the principal faults of the
modern computer is that it has characteristics of an arithmetic manipulator
and does not have sufficient character
along the lines of information handling.
The modern large-scale computer is
used as much as 40% of the time in
program debugging. In this activity the
computer is acting almJst completely
as an information handling device-

47

Fig. 3.

Univac LARe system

as a data processor. If one adds to this
percentage the percentage of time the
computer performs production operation
on problems which are essentially of an
information handling or data processing
character, one finds that the so-called
"scientific computer" in a scientific
environment is performing data processing and information handling upwards
of 70% of the time. Yet neither instruction repertoire nor system design factors
seem to reflect this figure. A striking
example is this: • A great percentage of
time the information proces~ing performed is that of translating alphanumeric input to numerical input, that is,
the mapping of the six-bit characters to
series of, say, octal digits. Yet almost
none of the modern computers allow the
programmer ease and facility in the
handling of six-bit characters; the
translation must always be performed
in an indirect way, through synthesis,
with extract and shift instructions. The
author believes it can be safely stated
that no computer in existence today
has a system design which reflects the
fact that automatic programming is an
important and Ubiquitous labor saving
device.

System Design
System design is the design of the
computer with respect to the interrelation of its respective large components
such as memory, input-output, control
unit, etc. With the advent of the
IBM 709 and the Univac 1105 computers,
and, more specifically, such computers
as the LARC, STRETCH, the Lincoln
TX-2,4 and the Gamma 60, there is a
significant revolution in system design
taking place. This revolution certainly
ranks in importance with the revolution
taking place in the design and fabrication
of logical elements.
Consider a historical view of design.
Four phases of system design can be
distinguished: The first of these can
be called the "laboratory computer,"
48

Fig. 4.

characterized by such computers as
SEAC, National Bureau of Standards
Western Automatic Computer (SW AC),
and Whirlwind. These computers were
strictly sequential in their operation.
Input and output interrupted the main
computation. Frequently, a megacycle
bit rate in the main computation was
replaced by a 25 bit-per-second rate for
input and output.
The second system design phase could
be referred to as the "buffered computer"
phase, characterized by the Univac, the
IBM 701, IBM 704, IBM 703, and the
Univac 1103 computer.
With these
computers, input-output required only
the time necessary for the transfer of
information at electronic speeds. With
the advent of this phase, input-output
was taken out of the domain of mechanical speeds and placed in the domain
of electronic speeds. It should be noted
that within the computers of this phase
there is a wide range of buffering. Fig. 1
shows the simplified block diagram of
this computer.
The third phase of system design can
be referred to as the "automatic computer" represented by the IBM 709,
the TX-2 and the Univac Scientific 1105.
Here is seen the first concurrent operation
of simple parallelism. With these computers, input-output proceeds independent of the central processing. Fig. 2
shows the simplified schematic of the
IBM 709 computer system and, incidentally, shows how the memory is timeshared by the central control unit and
the input-output control unit.
The phase which is now being entered
could be referred to as the "parallel
system" computer phase. This phase is
represented by the LARC and the
STRETCH computers just appearing.
. With these computers, there is concurrent operation of large components
of the computer. Fig. 3 shows the
block diagram of the Univac-LARC
computer.
The advent of the "parallel system"

"Ultradatic" system schematic

computer will have important changes in
computer programming. In the parallel
machine, in the LARC or the Gamma 60,
for example, where large components of
the machine can be time-shared by
problems, it may be possible to use the
machine to perform automatic programming processing as a fill-in operation
during the normal course of the work of
the computer. In this case, the use of
large amounts of machine time will not
inhibit computer automatic programming developments. On the other side
of the coin is the fact that exploitation
of these machines with parallel operation
by automatic programming techniques
will be most difficult.
(Witness the
difficulty of the B-boxes in the development of FORTRA~ for the IBM 704.)
For a thorough introduction to the
subject of programming of these new
style computers, the reader is referred
to a recent paper by S. Gill'>.
A failure of the system design of the
present computers lies in the fact that
the duty cycle of the various components
is not sufficiently high. \Vith most
computers, for example, the circuits for
high-speed multiplication are utilized
only a small fraction of the time. In
a sense the analog computer system
design comes far closer to the ideal.
In the analog computer installation,
for example, the computer can be spread
out and "sized" to the problem. If
the average analog computer problem
utilizes only a small fraction of the total
number of amplifiers and nonlinear units,
a high duty cycle can be maintained on
all of the equipment. Taking the lead,
then, from the analog computer design,
it appears that concurrent operations of
large parts of the computer should be
possible, and that in some way the job
for the computer must be made small
with respect to .the computer. This
idea is exploited further in the design of
the conjectural computer "Ultradatic"
described later.
One of the goals in computer design is

Bauer-Computer Design from the Programmer's Viewpoint

to make the computer act in some sense
more like a human. The reader has
probably heard of "self-organizing"
systems and will undoubtedly hear more
of these in the future. As part of the
self-organizing aspect, the psychologist
or physiologist could refer to the "degree
of introspection" of a complicated system
in judging how "nearly human" the
system is. Certainly the human stops
his main stream of activities frequently
to reflect on what he is doing from the
over-all point of view. This introspection
increase can be seen in computer design.
In a sense, the interrupt feature mentioned, provides a degree of introspection
since one part of the computer system
automatically informs another part when
it has performed or when it is ready to
perform the asynchronous operation.
The large-scale computer of the future,
by the same token, will periodically
examine its own operations and automatically take certain steps to change
its function. Ultimately it will change
its very nature of character and thereby
take on a self-organizing aspect.

"Ultradatic," A Conjectural
Computer
A computer system will be described,
which is in some sense "ultimate."
This is done in the hope that it will
stimulate thinking and comment rather
than with the thought of foretelling the
future.
The idea for "Ultradatic"
was motivated by the thinking described,
concerning the advantages of the analog
computer system which can be sized to
fit the problem, and by the related idea
that it may be possible to make computation more economical by making problems small relative to the computer.
It is fostered by the idea that the large
computer is more economical to use
today than the small computer, or a
number of small computers, as long as
the total workload is sufficient to keep
the large computer busy, or as long as
unnecessary expense is not incurred by
idle time. The idea further stems from
the fact that with increasing frequency
one sees computers being operated
from remote locations by means of
communication over voice channels, or
at least extensive input or output of
data is being fed to computers from
remote locations.
The central idea here is that each
large metropolitan area would have
one or more of these super computers.
The computers would handle a number
of problems concurrently. Organizations
would have input-output equipment

installed on their own premises and
would buy time on the computer much
the same way that the average household buys power and water from utility
companies. In fact, the charges for the
services would depend on the type of
services rendered. If the problem required extensive use of the higher priced
circuits, for example,. high-speed multiplying, the rental rate for the time used
would be higher than in other cases.
The user would be charged for that
time used and only that time used, and
the accounting procedure would reflect
the customers' detailed use.
Fig. 4 shows the schematic of the
Ultradatic system. On the figure there
can be seen two levels of control, the
supervisory control and the normal
control unit, and a number of processing
units. There is a fast arithmetic unit to
perform ultra high-speed arithmetic, and
there is a computing unit to provide the
lower speed arithmetic with, however,
greater possibility for flexibility. There
is a logical operations unit which specializes in activities such as sorting and
collating. The data-translation processing unit specializes in translation and
editing, and the input-output scheduling
unit performs detailed control over
input and output.
The reader will notice great similarity
in Ultradatic to the Gamma 60 computer
which was first generally known in this
country in the spring of 1958. (The
Ultradatic idea was first described in
talks given by the author to the San
Diego and Rio Grande chapters of the
Association for Computing Machinery
in late 1957 and early 1958.)
In this large computer system the
supervisory control units schedule the
multiple problems, monitor the usage
of the control units, and initiate the
work on the problems by the control
units. Each problem has a priority
connected with it, and the supervisory
control monitors and changes the priorities according to the speed with which
In
problems are being performed.
more advanced configurations the supervisory control would perform some kind
of introspection and, perhaps, would
effect the change of character of some
of the units to other kinds of units
depending on the requirements of the
over-all problem situation.
The control units interpret macroinstructions, effect the transfer of subroutine variables and parameters to and
from the processing units, distribute
work among like processing units, and
initiate the action of the processing
units.

Bauer-Computer Design from the Programmer's Viewpoint

Each processing unit is a small computer in its own right. Each has registe:s
for variables and parameters, each has a
limited number of instructions which it
can perform peculiar to its particular
function, and each processing unit records the time spent on the various problems with which the computer is dealing.
A problem number and a priority number accompany each command sent from
the control units to the data processing
units. The problem number is essentially
an account number used for accounting purposes and the priority number
describes the order in which commands
are to be performed by the processing
unit in case waiting lines develop. Because branch A of a problem may be completed before branch B and the results of
branch B are required to continue with
branch A, a scheme based on the' sequence
of operations within a particular problem
would be required for interruption or delay of operations.
At first thought one might conclude
that the scheduling problem on Ultradatic
would be an impossible one; that is, it
would be impossible to schedule the various components so that a problem can be
done in a short length of time or in a reasonable length of time. It is believed that
scheduling a problem would not arise with
such a computer. On the basis of the
customer's desires a certain initial priority number would be assigned to a problem, and a rough estimate would be
made by the computer itself with regard
to its workload and as to how much time
would be required to perform the problem
in the problem multiplexed environment.
As the time grew nearer for the completion of the problem, the computer would
upgrade the priority if it appeared unlikely that under the current operation
the schedule would be met. Thus, the
computer by means of the supervisory
control would monitor itself automatically and would automatically change the
priorities of problems.
A very important characteristic of the
Ultradatic computer is that it is modular
in construction, and large components
can be added or subtracted to make up a
configuration which is currently in demand at the particular installation. The
processing units, shown in multiples of
three in Fig. 4, would be available in any
combination and in any practical numbers. If, for example, the records showed
that the fast arithmetic unit had a continual backlog, a new fast arithmetic unit
would be added to the. system configuration. Or, if one of the logical operations units was found to be idle a good
fraction of the time, one of these units

49

could be removed from the system. Thus
the computer can grow and change to
meet thtt changing requirements of the installation and the high duty cycle will be
maintained at all times.
The memory units of Ultradatic warrant certain attention and discussion.
This ultimate computer would have a
symbolic memory; that is, the symbolic
address of the cell assigned arbitrarily by
the programmer would be stored within
the memory cell, thus allowing the programmer always to refer to that cell in
symbolic address notation. Because of
the multiple branches of the programs
proceeding at times and at speeds unpredictable, a different technique must
evolve for the use of the memory in this
computer. 'With present computers in
rocket trajectory calculations, for example, only one computer cell is reserved for
the height of the rocket. In this computer system a cell would be reserved for
the height of the rocket at each quantized
level of height. This would be necessary
since the height at 9,000 feet might be required in one branch of the computations
while the previously computed height,
8,500 feet, was being used simultaneously
.in a completely different branch of the
computations. The symbolic address
notation, now considered part of the address hardware, would include indices or
subscripts to differentiate the various
values of a variable. \\Then the programmer realizes that the height at 8,500
feet is no longer necessary anywhere in
the computations, he returns the cell to
the available unused memory pool.
There the memory cell can be assigned to
another problem or to another value in
the same problem. Here the associative
memory idea would come into play; a
string of unused memory cells would be
established, with each cell of the unused
memory storing the address of still another unused memory cell, so that the
string could be added to or subtracted
from with convenience as required.
There are certain everyday problems
which would be performed by Ultradatic.
For example, once or twice per day, the
computer would examine all of the programs in its backlog and would make
estimates of a gross character as to the
length of running time. Once or twice
per day the computer would carry out a
detailed accounting and compute bills for
its multitude of users. Of course, the
computer would spend a considerable
amount of its time in compiling and
translating.
Existence of computers iike Uitradatic
would not obviate the necessity for small
computers, either general or special pur-

50

pose. However, almost every installation with a small computer today has at
least one problem which should be placed
on a higher speed machine. Usually the
big problem is run on the small machine
inefficiently and uneconomically because
of the inconveniences of renting large
scale computer time.
\Vith respect to special-purpose computers, most of the ideas of Ultradatic are
still applicable if, of course, attention is
restricted to those of stored program design. Consider the idea of growth or of
the inevitable changing character of the
application. A computer truly m')dular
in system design can be increased in power
to handle the control job for the new
polymerization unit or the new cracking
tower. Or, as a new formulation of the
control process evolves, the computer can
be changed to efficiently handle the new
computations. Also, ideas of system design to make programming easier will become more important with special-purpose machines. When real-time control
computers appear in abundance certainly
one of the limiting factors in application
will be the preparation of computer programs.
Although Ultradatic will probably
never appear at the computer market
place, some of its design ideas may bear
fruit. If not, service to computer technology advancement is still provided in
unerringly pointing the direction not to
follow.

References
1. EMPIRICAL EXPLORATIONS OF THE LOGIC
THEORY MACHINE: A CASE STUDY IN HEURISTIC,
A. Newell, J. C. Shaw, H. A. Simon. Proceedings,
Western Joint Computer Conference, Feb. 1957,
pp.218-39.
2. THE LOGIC THEORY MACHINE, A. Newell,
H. A. Simon. Transactions, Professional Group on
Information Theory, Institute of Radio Engineers,
New York, N. Y., vol. IT-2, no. 3, Sept. 1956, pp.
61-79.
3. FRANCE'S GAMMA 60, P. Dreyfus.
tion, May-June 1958.

Datama-

4. THE LINCOLN TX-2 COMPUTER DEVELOPMENT,
W. A. Clark. Proceedings, Western Joint Computer Conference, Feb. 1957.
5. PARALLEL PROGRAMMING, S. Gill. The Computer Journal, British Computer Society, 1957.
6. MODERN LARGE-SCALE COMPUTER SYSTEM
DESIGN, W. F. Bauer. Computers and Automation,
Jan. 1957.

Discussion
I. O. Naughton (Westgate Laboratory):
What do you see as an upper bound (a) to
the ability of a computer to modify its
program based on partial results? (b) to
the comprehensiveness of the instructions
tha t can be provided for a programmer?
Dr. Bauer: The upper bound is the limit
of humans communicating with a device to
tell it how to modify its program or logical
structure or to tell it how to tell itself how

to modify its own program or logical struc
ture.
Concerning the comprehensiveness of instructions, there is no upper bound as far as
the programmer is concerned as long as the
instructions are grouped and presented in
such a way so that subsets of them can be
used. However, there is an upper bound
from the viewpoint of the computer seller or
the computer buyer. As the comprehensiveness goes up, the costs, of course, go up
also, and the point of diminishing returns is
soon met. Tomorrow's technology will
allow comprehensiveness through or by
means of self-organization.
Jerry Mendelson (National Cash Register
Company): Ten years ago we built machines with lO-microsecond adders which we
embedded in control configurations which
reduced the potential addition (computation
in general) rate from 100,000 per second to
10,000 per second. We then provided the
control system with a command list in
which about one command in ten did useful
work, the other nine being required to get
ready for this work. Result: 1,000 useful
commands per second.
For 10 years we have been smug and complacent about having produced man's most
inefficient machine, (1 % efficiency), and all
we have done is shove this inefficient design
up the frequency spectrum in order to obtain
faster effective output, 1 microsecond adders
replacing 10 microsecond adders. We
appear to be heading into the millimicrosecond domain with no great effort being
applied to changing the internal design
characteristics which drag us down by a
factor of 100. It's about time we paid some
attention to this area, is it not?
Dr. Bauer: It certainly is time. It seems
that too much time has been given to the
more local problem of circuit speed in comparison to the time given to the global
problem of the effect of an executed instruction or an executed set of instructions on
solving the problem to which the computer
is being applied.
Robert Norman (Sperry Gyroscope Company): A centralized computer facility
such as you envisage, with problem solutions
available effectively at people's telephones,
runs right into a problem in human relations.
Much business, personal and corporate,
involves privacy. The availability of large
volumes of data on the private and corporate
affairs of the inhabitants of a community
constitutes a threat to their privacy. It
seems this would result in a degeneration of
the centralized computer facility to one only
used for the solution of an unimportant
portion of the total volume of computation
in the community.
Dr. Bauer: This would undoubtedly be a
problem with a system like Ultradatic.
However, difficulties are not insurmountable. For example, the computer itself
would monitor in detail all communications
between it and a customer to insure that no
information was given to unauthorized
destinations. Furthermore, proprietary information could be secured by encoding
techniques similar to those used in military
communications today. Even today we
tend to use the telephone as if it were a

Bauer-Computer Design from the Programmer's V1:ewpoint

completely secured and private instrument,
and it seems that our "shared" computer of
the future would be at least that private.
E. L. Harder (Westinghouse Electric
Corporation): What is the present unit
cost per computation (you define it), and
what reduction do you anticipate as a
result of this revolution?
Dr. Bauer: This is a very tough question
to answer. Everybody can define the cost
per operation of the digital computer itself.
However, it is very difficult to define the

amount of programming that is done in the
application, assign some meaningful cost to
it, and assign some meaningful effect to the
amount of programming that is done.
As a matter of fact I believe that the
emphasis on computer design from the
standpoint of speed, size, cost, etc., and the
relative lack of emphasis on computer
design from the programmer's standpoint
stems exactly from the fact that it is easy
to put a dollar amount on the computer
costs but very difficult to put dollar amounts
on programming costs. Much attention is
being focused on making the computer

New Logical and Systems Concepts
R. K. RICHARDS
EFORE making any attempt to
outline the course of future development in computer systems technology,
it is well to review briefly the present
state of the art and how it arrived at that
state. The system designs of the first
digital computers such as the Harvard
Mark I, the Electronic Numerical Integrator and Calculator (Eniac), and others
were largely influenced by ideas presented
100 years earlier by Babbage. In general, the system was comprised of a set
of decimal registers, each capable of
transmitting numbers in parallel fashion
to and from other registers. When a
register received a number from another
source it was capable of adding that
number to any number already contained
Computations were
in that register.
achieved by transmitting numbers back
and forth among the various registers
with, of course, suitable refinements to
obtain the desired results.
Although the concept of long sequences
of arithmetic operations with storage of
intermediate results was an integral
part of the earlier systems design, the
stored program concept as it is known
today was absent. Further, it is quite
likely that even if the stored program
concept had been developed at the time
of construction of the first computers,
it would not have been used. The reason
is that the registers used for storing numbers were (and still are) bulky and expensive things, either in the electromechanical or electro:lic versions. lt
did not seem feasible to think in terms of
more than about 100 such registers in a
machine, and this amount of storage is
not sufficient to utilize the stored program concept in an effective manner.
The advances in computer systems
development occasioned by the intro-

B

duction of the stored program were
achieved only because there was a simultaneous development of relatively lowcost large-capacity digital storage components. Magnetic drums, mercury delay lines, and various forms of electrostatic storage were among the first
storage media to be used for this purpose
although magnetic cores now play the
leading storage role.
No similar progress in reducing the
cost of logical components was realized however. Even today, the cost
of an elementary "and" function, for
example, is generally considered to be
many times as costly as a bit of storage
in a large-capacity storage array. As
a result of this situation, the path of
systems development has been in the
direction of using the minimum possible
number of arithmetic and control elements. The result has been the appearance of the one-operation-at-time
general-purpose computer with that one
operation being as simple as tolerable to
the user of the computer. The binary
number system appeared at this point in
computer development. Originally the
sole purpose (and still the major purpose)
of binary numbers was to reduce the number of logical components required to
make a computer. The considerable
burden placed on the programmer as a
result of binary numbers was considered
of secondary importance.
With the passage of time the decimal
system has been appearing in a larger
percentage of new computer designs, and
the operations capable of execution by
the newer computers are more complex
and powerful. However, each step of
progress in this direction causes an agonizing increase in the cost of the control
portion of the computer and is, therefore,

Richards-New Logical and Systems Concepts

economical, but nobody is worried about
how much money is being spent on programming.
The "programmer productivity" will
probably again increase by many factors
during the next 8 years. Weighing against
this is the higher· salaries which are being
paid to programmers in reflection of their
contribution to the general technology.
Because of these facts I would guess that
the cost of computation, all things being
considered, certainly will decrease but at a
slower rate during the 8 years than it has
during the past 8 years.

taken only after it is well substantiated
that there will be more than an offsetting
gain to be obtained through factors such
as an increase in computing speed or a
decrease in programming effort.

The Course for the Future
Other authors have already discussed
the possibility of obtaining low cost logical
elements as well as low-cost storage elements through the use of film techniques.
In view of the considerable advances in
computer systems design that were
made possible through the introduction of low cost storage elements, it
might be expected that corresponding
advances might be made through the
introduction of low cost logical elements.
lt is the purpose of this presentation to
examine the factors involved in an effort
to determine what these advances might
be.
lt has been observed that whenever an
improvement is made that might be
described as being of revolutionary proportions, it has been as a result of solving
a problem in one field through the application of a bJdy of knowledge from another
field. For example, no great improvements in illumination came as a result
of studying flames, tallows, or other
aspects of candles. Instead, a knowledge
of electricity was used in the development of the electric lamp to replace the
candle. Similarly, in the field of transportation only limited gains were realized
by improving the care and feeding of
horses or by developing better breeds
of horses. Instead, the revolutionary
advances came from a study of mechanical
engines.
In the case of electronic digital computers, if anyone were to propose an
ultimately successful concept that re-

R. K. RICHARDS is a
Wappinger Falls, N. Y.

Consulting Engineer at

This paper is part of a panel session on "The Impending Revolution in Computer Technology."

51

sulted in a device or machine that is as
different from presently known computers
as electric lamps are different from candles
or as automobiles are different from
horses, that person would become famous
indeed. This author does not feel on the
verge of becoming famous. On the other
hand, it does appear that the computer
art itself presently contains several
widely divergent bodies of knowledge
which need only be integrated in a much
more cohesive manner to achieve outstanding progress.
At the present time, component development groups are feverishly trying
to improve the speed of computers by
increasing the operating speed of the
components. Logical design groups are
trying to simplify the logical design to
make computers easier to service, for
example. Programmers are working on
improved automatic programs to make
computers less complicated to use. The
quality control engineers are desperately
attempting to find and eliminate those
factors which seem to prevent all items
from being as reliable as the best specimen, and so on, with each individual
group working on that particular phase
of the problem which falls most naturally
in their field of endeavor.
Undoubtedly, the computers that can
. be obtained through this kind of a piecemeal attack on the over-all problem will
eventually show much improvement in
comparison with the computers available
today. Nevertheless, this approach is
like having everyone working on problems
analogous to improving the feeding and
breeding of horses. It appears that better
results can be obtained by backing off
and looking at the entire picture.
The first thing to do in looking at the
entire picture is to recognize the several
fields of technology which are now or can
in the future play major roles in computer
development. These fields include the
following:

3.

Physics.
Components.
Circuits.

4.

Logical design.

5.

System design.

6.

Programming.
Manufacturing.

1.

2.

7.

In addition to these seven fields, other
items such as maintenance and the economics and financing of computers would
be given important consideration in any
really comprehensive study of the problem, but it will not be possible to carry
the subject that far in the space alloted

.52

for this presentation. Also, of course,
a thorough knowledge of the problem
or range of problems the computer is to
solve must be at hand to achieve the
objective of a revolutionary advance in
the art.
The remainder of this presentation will
be concerned with how these major bodies
of knowledge can be combined to achieve
more effective results than can be obtained
by having separate groups of specialists
working only on their individual part of
the problem. Since the natural sequence
of steps involved in making a computer
generally proceed from consideration of
physics to manufacturing in order listed,
this presentation will be made in showing
how successive steps might be better
integrated with some concluding remarks
on achievements that may be realized
by tying all aspects of the subject together.

Physics and Components
The need to combine a knowledge of
physics and the requirements of computer
components has already been demonstrated. Components such as vacuum
tubes, transistors, diodes, resistors, capacitors, etc., were invented and deyeloped largely with applications other
than computers in mind although, of
course, the!'e are many special characteristics of these devices which have
been given particular attention as a result
of computer needs. On the other hand,
the magnetic storage core is a good example where a knowledge of magnetism
and magnetic materials was combined
with a knowledge of camputer storage
requirements to produce a new component
which offered totally new characteristics
and outstanding advantages in comparison with all previously known components.
~fore recently, computer engineers have
ranged quite \videly into the field of
physics in search of physical phenomena
which would be of use to them in the
development of new components. The
phenomena related to the evaporation of
thin magnetic films is one example where
important computer applications may
be found. In this case the apparent
path of progress is in the use of magnetic
cores for logical functions with the cores
being manufactured by an evaporation
process rather than by one of the relatively
expensive present methods such as winding a thin strip of magnetic material on a
bobbin and subsequently using a core
winder to place the turns of the windings
one at a time on the toroidal core.
Fnfortunately, the improvement is largely

limited to size, manufacturing, and perhaps power considerations with the basic
problems of using cores in logical circuits
being made more severe if anything.
A much more striking application of
physical principles was introduced by
D. A. Buck l wherein the phenomenon
of the destruction of superconductivity
by the application of a magnetic field
was used to devise the component now
widely known as the cryotron. This
component, when suitably improved
through further application of physical
principles and suitably developed as
indicated by the needs of computer
logical design, system design, programming, and manufacturing, offers extremely fertile ground for development
of computers with very advanced concepts.
The original cryotron was made by
winding a wire of one material around a
central straight wire of another material.
While such a structure offers the possibility of very small size and other advantages in addition to the low-power
advantage inherent in the cryotron, only
a relatively slow speed of operation was
achieved. A further study of superconductor phenomena has revealed that
the original geometry is not necessary
for producing the magnetic field. Instead, it is sufficient to form the cryotron
merely by evaporating two films of
superconductive material, one on top of
the other with a suitable film of insulation
between them. 2 Current gain can be
achieved by using suitable widths of film
strips, and because of the very low inductance of the structure very high speed
operation can be obtained.

Components and Circuits
Many examples could be cited where,
with conventional components and circuits, there has been a need for the component and circuit engineers to combin{'
their respective bodies of knowledge.
In the case of cryotrons, especially the
film cryotrons just mentioned, the situation is unique in that the components
and the circuits can be blended together
into one unified assembly. Inasmuch
as the cryotron structure is comprised
of nothing more than two evaporated
films of suitably superconductive material,
these same films can be extended to form
the interconnections among an array
of cryotrons. The principal problem is
to find suitable patterns of conducting
and insulating films so that the number
of cross-overs can be minimized and so
that the number of masks used for evaporating the patterns can be minimized.

Richards-New Logical and Systems Concepts

While this problem is simple in principle,
-it can become quite complex.
Engineers who have had occasion to
work out patterns of circuits on printed
wiring boards will have a good appreciation of the nature of the situation and may
have some ideas about the types of inter-connecting arrays that would be most
suitable for film interconnections. It
has even been suggested that mathematicians with a background in pure
mathematics but with a specialization
in the field of topology should be able to
provide necessary assistance in this phase
of the subject. However, the real point
to be made is, in this instance, that a
thorough knowledge of topology may be
necessary but not sufficient. The topol-ogist could perhaps find the best pattern
of interconnections for a given circuit,
but at the beginning of the design problem the circuits themselves are variables
so a knowledge of both subjects must
be blended together to find the most
desirable combination of circuit and inter-connecting array.

Circuits and Logical Design
~ umerous papers describing different
sets of circuits have appeared in the
technical literature.
Also, numerous
papers have appeared which discuss
logical design, that is, logical equations
or Boolean algebra. In the circuit
papers Boolean algebra is sometimes used
to express some of the simpler combinations of logical functions, and in the
logical design papers there is often a
reduction to circuits of relatively elementary examples of the logical concepts
under study. However, very few papers
have appeared which report successful
attempts to employ Boolean algebra
(or any of its variations or extensions) to
the problem of designing a computer in
its entirety. 3 -5 The success that has
been obtained in this direction has apparently been only on relatively simple
binary computers of the serial synchronous variety. Even with the introduction of the cryotron, which was an
outstanding example of combining a
knowledge of physics with a knowledge
of computer component requirements,
there was no apparent attempt to utilize
any form of formal logic to develop the
interconnecting circuits among an array
of cryotrons to perform logical functions.
It appears to be the case that the circuits
initially presented were obtained by a
"mental gyration" process rather than
by any orderly procedure that can be
described by a logical notation. Although some of these original circuits

certainly display a high degree of ingenuity, it is found that even after the circuits
are known it is extremely difficult, if not
impossible, to devise an algebra wJ:ich
describes the circuits in a useful way.
Therefore, as might be expected, it turns
out that if more attention is given to an
algebra at the start of the circuit design
problem, it becomes possible to conserve
much mental effort in finding circuits
which perform the desired functions.
Further, in some cases the circuits found
through the use of an algebra are more
straightforward and consume fewer cryotrons than those obtained through ingenuity alone. This subject is to be the
topic of a paper to be presented at a
conference next February.6
In other words, there is a close relationship between circuit design and logical
design; an intense study of one subject
with only a passing attention to the other
subject yields a minimum of beneficial
At the 1958 Western Joint
results.
Computer Conference a panel discussion 7
was held where the relative merits of
logical equations and block diagrams were
discussed at some length. Although
several immediate problems in the use of
logical equations can be pointed out,
it can hardly be denied that a thorough
utilization of logical equations is an
essential intermediate objective in reaching the final objective of mechanizing
the computer design and manufacturing
processes. To achieve the intermediate
objective, a knowledge of formal logic
must be closely knit with a knowledge
of circuit characteristics.

Logical Design and System Design
The term "logical design" usually
implies the process of reducing a digital
system of specified characteristics to
an array of "and" circuits, "or" circuits,
etc., in such a manner that the requirements of the system are met. Items in
the province of the system designer
usually include such things as the gross
block diagram presentation of the storage
unit, arithmetic registers, index registers,
input-output buffers, etc. The system
designer is also concerned with such items
as storage capacity, the instruction list,
and the relative speeds of the storage
units, arithmetic units, and input-output units.
Again, a study of the literature reveals a
minimum of attention to the relationships between logical design and system
design. One example of where beneficial
results might be obtained by combining
the two subjects is in the serial-parallel
question. Logical designers seem to

Richards-New Logical and Systems Concepts

have progressed much farther with serial
machines because of the relatively simple
step-by-step carry generation process.
This situation is in contrast to the carry
problem in parallel machines where each
carry signal occurs at an undetermined
point in time and must be represented as a
function of all bits in the two numbers
being added. On the other hand, system designers frequently specify parallel
operation because of the increased speed
which can be obtained. It is conceivable
that if the computer design problem were
to be considered in its entirety, it would
be found, for example, that some compromise or arrangement not foreseeable
to either group working independently
would prove to be optimum. The advantages derived from the ability to use
a notation might outweight the disadvantages caused by an increase, if any,
in the number of components required
or by an increased, if any, in the complexity of the system design.

System Design and Programming
Ever since the first appearance of
electronic digital computers, the programmers of these machines have been
intensely concerned with reducing both
the tedium and the complexity of their
job. In general, the line of attack taken
by the programmers is the preparation of
"automatic programs." For the most
part, the programmers have been required to work with machines designed
by systems designers,. logical designers,
and others who had low cost and, therefore, simplicity of the machine as a major
objective.
Usually, the programmers
have not been able to exert any great
amount of influence, except in relatively
minor details, on the design of the
machine.
Upon studying a fairly large sampling
of automatic programs 8 it is found that a
valuable clue to the course of future
systems development is immediately
apparent. At the risk of a slight oversimplification it can be said that the
major purpose of most automatic programs has been to develop a list of powerful multifunction instructions by using
as materials the list of limited function
instructions built into the machine.
There is no reason whatsoever why a
computer could not be built wherein the
machine language is made identical to
the language the programmers want to
use as evidenced by the automatic program. Such a machine would contain
a substantially larger number of logical
elements in the control portion than is
found in present machines, but with low-

53

cost film-type components the increase
can be afforded. Not only would the
need for an automatic program be
eliminated but also a much higher speed
computer would result.
The higher
speed would be obtained because with
suitable built-in instructions many functions can be performed directly which
with automatic programming would consume several so-called "paper work"
instructions which do not achieve any
computing but which are necessary to
tie the automatic program together.
In a sense, the first step in the direction
of recognizing automatic programs has
already been taken. Many of the earlier
automatic programs had as their major
objective (sole objective in some cases)
the converting a fixed point computer
into a floating point computer. Some
of the more recent of the commercially
available computers have the floating
point feature built into the instruction
list so the need for this form of automatic program is eliminated. Conceptually, it is a short step to building in
the instructions needed for computingsine, logarithm, and other functions and
for handling mUltiple addresses and other
elaborations found in current automatic
programs.
The major point intended here is not
just the simple one that the built-in
instructions could be more complex and
powerful; rather it is that the starting
point in the system design of a computer
should be in what the programmer would
like to have, wh.ich in turn would be
determined by the applications which the
computer is to fulfill. This starting point
is quite different from the more conventional starting point of what might be
called a streamlined general-purpose
computer that is capable of doing anything but which was designed with
simplicity of the computer rather than
efficiency of the entire system, including
programming, as the prime consideration.
It may be observed that the concept
presented here is almost diametrically
opposite to the concept of microprogramming which has been the subject
of several recent papers. 9 ,lO In microprogramming the idea -is to provide means
in the computer for controlling practically
every individual logical function that is
performed. Even the operations of add
and multiply, which are normally considered basic, are assembled by using a
set of several microinstructions. Certainly, most programmers do not wish
to be bothered with this amount of detail
except perhaps in certain problems of
number theory where highly specialized
nonarithmetic aspects of the problem

54

force an attention to individual logical
operations. For the bulk of the work to
be performed by computers, it appears
tha~ the proper direction to go in improving over-all system performance is to
find standardized sequences of operations analogous to the simulated instructions of automatic programs rather than
to subdivide the existing order code in a
manner which requires more detail work
on the part of the programmer.

The Relationship Between
Manufacturing and the Other
Aspects of Computer
Development
When some of the more "advanced"
ideas with regard to future computer
development are presented, one occasionally receives the impression the
path of progress is somewhat as follows.
In the past the development engineers
succeeded in the task of making large
digital computers work but left to the
production engineers the impossible task
of making them at low cost, whereas
in the future the development engineers will solve cost problems but will
leave production engineers with the impossible task of making them work. Of
course, no such thought is ever intended,
but it is true that in future computer
systems development a more intimate
attention should be given to production
problems.
It has already been suggested that the
course of computer progress in the matter
of components is likely to be in radically
new devices realized through a wider
ranging in the study of physical phenomena. If it is true that the tubes and
transistors known today are to be replaced eventually by film-type components such as film cores or film cryotrons,
it seems reasonable to conclude that little
value would be obtained by studying the
body of knowledge which is related to the
manufacturing of the former components.
Instead, a new set of production problems can be expected, but a net saving in
cost can be reasonably hoped for even if
the new problems are quite severe. The
reason for the cost saving is in the very
simple structure of the new components.
However, there is much more to manufacturing than the mere fabrication of
components and then assembling them
into large arrays as needed for digital
computers. The preparation of the detailed block diagrams, wiring tables, or
other records needed to get started with
the assembly of a computer is an important aspect of the manufacturing problem. It happens that some of the techniques currently being developed to de-

termine and record the paths of wires in
the computer offer much promise of being
highly useful in not only determining and
recording paths but also in the actual
laying of interconnecting wires in an assembly of film-type components.
\Vhen a computer is represented in its
entirety by logical equations, it becomes
possible to prepare a wiring tabulation
automatically by means of a suitable computer program, and this has been done in
at least one instance. 4 (A wiring tabulation is a list of interconnecting wires
where each wire is designated by means of
a coded representation of the terminals
or pins to which each of its two ends is
connected.) With film-type components
it is not sufficient to know the end points
of each interconnecting wire. The exact
path of each wire must also be specified
if, as contemplated, the wires are to be
fabricated by depositing suitable strips of
conductive material on the same surface
on which the film-type components are
mounted. Logical equations alone provide no information about the path.
On the other hand, many computer designers are accustomed to working with
block diagrams rather than logical equations. These engineers have also been
hard at work finding methods of using digital computers to perform their task.
The various advantages and disadvantages of detailed block diagrams are
largely irrelevant here. It is sufficient to
say that a major part of the task of using
block diagrams is in the preparation of the
diagrams themselves. One company has
succeeded in preparing block diagrams by
means of a computer. Given certain
physical layouts of logical functions (flipflops, "and" circuits, inverters, etc.) and
interconnections among these functions,
the computer finds suitable paths on a
piece of paper for drawing the lines among
the blocks and then actually draws these
lines on .its output printer to form the
block diagram.
While neither the logical equation approach nor the block diagram approach is
in itself sufficiently powerful to be used
for the automatic manufacture of computers by film techniques, the two approaches together offer lucrative possibilities. The general plan of attack would
be to use logical equations in the system
and logical design aspects of computer
development. By means of a computer
already built, the logical interconnections
of all wires would then be determined
in complete detail. The logical design
would then be reduced to a physical layout of functions, again by using a computer
if possible. \Vith film components, especially cryotrons, the layout of functions

Richards-New Logical and Systems Concepts

would correspond directly to the layout of
components because no supporting components such as resistors, capacitors, or diodes
are needed. Only the cryotrons and the
interconnections among them are needed
to perform all necessary logical functions.
After deciding upon the positioning of
the components, a computer would be
used a third time to determine the interconnections in block diagram fashion.
Here the purpose of the block diagram
would not be so much for visual reference in assembly and maintenance as it
would be to form the film patterns needed
to make the actual interconnections.
As further refinement in the manufacturing process, the conventional printed
form of the block diagram would be
used only as a secondary document and
may not even be prepared at all. Instead of a printer, the output device on
the computer may be a punching or cutting mechanism suitable for preparing
the masks which are in turn used to form
the proper film patterns for the cryotrons
and the interconnections.

physics of materials to automatic programming. It is conceivable that the
computer of the future win be as follows.
It will have a system design wherein the
language of the automatic program will
be executed directly and without the inefficiencies caused by having a machine
language as an intermernate medium.
The entire logical design of the computer
will be accomplished by means of logical
equations with computers used extensively in the design but with minimization of components having less importance with the inexpensive film components to be used than is the situation at
present where the cost of logical elements
is quite high. The logical design will be
reduced to circuits by means of computers. Also, the step of producing a physical layout pattern of the components
and circuits will be accomplished by
means of computers. Then the circuit
layouts will be automatically translated
into masks for fabricating large numbers
of film components and interconnections
in one simultaneous process.

References

Conclusions
Although further improvements in
size, speed, and other properties of computers can be expected, much more revolutionary advances in the computer art
are possible through a more complete
blending of computer technology from

1. THE CRYOTRON-A SUPERCONDUCTIVE COMPUTER COMPONENT, D. A. Buck. Proceedings,
Institute of Radio Engineers, New York, N. Y.,
vol. 44, Apr. 1956, pp. 482-93.
2. SUPERCONDUCTING CIRCUITS, D. R. Young.
IBM Research Report RC-54, Poughkeespie, N. Y.,
May 1958, pp. 36-38.
3. LOGICAL DESIGN OF A SIMPLE GENERAL
PURPOSE COMPUTER, S. P. Frankel. Transactions,

An Approach to Microminiature
Printed Systems
D. A. BUCK
HE DAY is rapidly drawing near

Twhen digital computers will no longer
be made by assembling thousands of individually manufactured parts into plugin assemblies and then completing their
interconnection with back-panel wiring.
An alternative to this method is one in
which an entire computer or a large part
of a computer is made in a single process.
Vacuum deposition of electrodes onto
blocks of pure silicon or germanium and
the subsequent diffusion of the electrode
material into the block to form junctions
is a mest promising method. The successful development of this method would
allow large numbers of transistors and all

K. R. SHOULDERS
of their interconnecting wiring to be made
in one operation. Vacuum deposition of
magnetic materials and conductors to
form coincident-current magnetic-core
memory planes is a second promising
method that will allow an entire memory
to be made in one operation. The vacuum
deposition of superconductive switching
and memory circuits is a third method
that will make possible the printing of an
entire computer. The authors feel sure
that the most significant milestone in
computer component technology will be
the announcement by one or more firms,
in perhaps 2 years, that all of the technical
problems of building a printed system

Buck, -Shoulders-An Approach to lvficrominiature Printed Systems

Professional Group on Electronic Computers,
Institute ot Radio Engineers, New York, N. Y.,
vol. EC-6, Mar. 1957, pp. 5-14.

4. Panel Discussion by H. Engel on LOGICAL
DESIGN METHODS SESSION, Proceedings, 1958
Western Joint Computer Conference, AlEE Special
Publication T-107, pp. 182-86.
5.

LOGICAL DESIGN TECHNIQUES FOR CG-24,
G. P. Dineen, I. L. Lebow. See table of contents,
this publication.
6. PROPOSED NEW CRYOTRON GEOMETRY AND
CIRCUITS, R. K. Richards. Digest of Technical
Papers, 1959 Solid State Circuits Conference, Institute of Radio Engineers, pp. 30-31.

7. PANEL DISCUSSION ON LOGICAL DESIGN
METHODS SESSION, Proceedings, 1958 Western
Joint Computer Conference, AlEE Special Publication T-107, pp. 186-88.

8. Communications, Association for Computing
Machinery, New York, N". Y., Aug. 1958, p. 8.
9. MICRO-PROGRAMMING, R. J. Mercer. Journal
of the Association for Computing Machinery, New
York, N. Y., vol. 4, Apr. 1957~ pp. 157-71.
10. LOGICALLY MICRO-PROGRAMMED COMPUTERS,
Blankenbaker. Transactions, Professional
Group on Electronic Computers, Institute of Radio
Engineers, vol. EC-7, Jun. 1958, pp. 103-09.

J. V.

Discussion
E. L. Harder (Westinghouse Electric
Corporation): What is the fastest complete memory cycle of any machine today,
experimental or otherwise?
Dr. Richards:
A paper by R. E.
McMahon, "Impulse Switching of Magnetic
Elements," presented at this conference,
quotes about the fastest memory cycle (0.5
microsecond) that I know about. I believe
it is possible with cryogenic elements to
exceed this speed. However, for various
reasons, specific figures have not been
announced as yet.

have been solved, and that one of their
engineers with his vacuum system can
make a digital computer in an hour.
All three methods mentioned, as well as
others not mentioned, involve vacuum
deposition through a mask. A cleaned
glass substrate or a semiconducting surface is placed in a vacuum system, and the
air pumped out until the residual pressure
is below 10- 6 atmosphere. A piece of
metal near to the substrate is then heated
and atoms of that metal eV9porate. Some
condense onto the substrate, forming a
thin film. Between the source of atoms
and the substrate a mask is placed to inD. A. BUCK (deceased) was with Massachusetts
Institute of Technology, Cambridge, Mass.

K. R. SHOULDERS is with Stanford Research Institute, Menlo Park, Calif.
This paper is part of a panel discussion on "The
Impending Revolution in Computer Technology."
The work reported here was supported in part by
the U. S. Navy (Bureau of Ships) and in part by the
U. S. Army (Signal Corps), the U. S. Air Force
(Office of Scientific Research and Development
Command), and the U. S. Navy (Office of Naval
Research).

55

tercept all of the atoms except those which
pass through holes in the mask and condense onto the substrate. The pattern of
holes in the mask therefore controls the
pattern of deposited atoms in the film.
By changing sources and switching masks,
one can sequentially deposit conducting
and insulating layers to form a circuit.
The width of conductors in the circuit is
no less than that of the holes in the mask.
In practice, the minimum width is 0.001
inch.
The approach t.o microminiature
printed systems that will be described has
a line width of 0.1 micron as a goal (1,000
Angstrom units = 0.1 micron = 1/250
of 0.001 inch). If the goal is reached, it
will then be feasible to make singleintersection cryotrons or other switching
components which fit into a I-micron
square. Allowing 92% of the available
area on a substrate for waste space and
interconnections, the component density
in a finished circuit could be 50 million
per square inch per layer. Layers of
cryotron circuitry can be isolated from
one another by superconductive shielding
films deposited between layers of circuitry-.
Holes in the shielding film would allow
magnetic coupling between layers of circuitry. It is conceivable that more than
10,000 layers per inch could be formed,
giving a volume density of 5 X 10 11
components per cubic inch.
One can hardly justify work aimed at
the manufacture of machines like presentday computers on such a sman scale. If
a present-day computer could be reduced
to the size of a cigar box by one of the
techniques mentioned in the first two
paragraphs, there is little point in then
reducing it to the size of a postage stamp.
The computer would already be dwarfed
by its own terminal equipment and, in
the case of cryotron circuitry, its Dewar
vessel. Man has ambitious plans for information-handling machines, however,
and one can easily visualize a time, a decade from nov!,', when truly vast numbers
of components will be needed in a single
machine. At present, there is a need for
a large number of components to test
models of self-organizing systems. 1 - a
For an excellent review of neurophysiology see reference 6. Simulations of such
systems on digital computers are relatively slow, and the number of neurons
in a model of a neural network is presently
limited to about 1,000. The slowness of a
high-speed computer is a consequence of
the step-by-step process by which it carries out a program and the small neural
network size is a consequence of the limited amount of high-speed storage. A
system of high-speed component.s that

56

carries out a self-organization study in
parallel, wit.h many events occurring simultaneously as in an animal nervous system,
would provide a much faster test of some
of the rather ambitious models of "machines that think they can learn. "7 By
the time the techniques subsequently outlined reach reality, the models of neural
networks will undoubtedly have changed.
To provide components for such largescale tests of neural network models is,
at. any rate, one of the present justifications for attempting to build components
on such a sman scale and in such large
numbers. In addition, however, there
are many fine physical experiments that
can be performed on a O.l-micron scale
as soon as the building process is developed.
Of many possible methods for making
conductors on a O.l-micron scale, the one
ch')sen involves the selective removal of a
thin film. In this respect the method resembles conventional etched-wiring processes. It differs from them in that it is
carried out in a vacuum system, and in
that a beam of electrons or ions replaces
light as a means to control the deposition
of a "resist."

Formation of the Thin Film
A selective removal process obviates
the need for the selective deposition now
being used in vacuum deposition through
masks, described. The thin film which
will ultimately be cut up into many small
areas can be deposited by a technique
that yields a film of the desired thickness,
uniformity, crystal size, adhesion to the
substrate, and other physical properties.
Vapor plating,S the pyrolytic or chemical
reduction of a compound which contains
the material to be deposited, is a suitable
method for forming many films. It is
carried out by first forming a volatile compound of the desired material, and then
passing that compound over a heated
substrate at which the compound decomposes to form the film. Scrap tantalum,
for example, can be heated in the presence
of chlorine to form the yellow powdery
pentachloride of tantalum. The pentachloride is then heated gently in one part
of a vacuum chamber. Elsewhere in the
chamber, a substrate is heated to 2,000
degrees Centigrade (C). The substrate
soon becomes covered with a film. A
small amount of dry hydrogen will allow
the plating to occur at a much lower temperature (above 600 degrees C). Thin
films of lead, as a second example, have
often been formed by the pyrolytic decomposition of tetraethyl lead. Vacuum
evaporation (without a mask) from a

heated crucible, from a molten tip by electron bombardment, or from a water-cooled'
copper hearth by electron bombardment
are also suitable means by which the thin
film can be formed.

The Resist-Forming Process
Specimen contamination due to the
free-radical polymerization of hydrocarbon and siloxane vapors under the influence of electron and ion beams has long
been a serious source of difficulty to electron microscopists. 9-13 By purposely
enhancing the effect, however, one can
selectively deposit a "resist" onto an
evaporated metal film that will protect
areas of the film during the subsequent
etching process. For example, tetraethoxysilane vapor, admitted to a highvacuum system at a pressure of 10- 4 millimeter of Mercury (mm Hg), allows a silicaceous resist to be formed in one minute
by an electron beam of approximately one
milliampere per square meter in current
density. The action of the electrons is to
generate free radicals in the monolayer
of siloxane which forms over the inside of
the vacuum enclosure. A free-radical
polymerization process then proceeds
through its propagation phase, crosslinking the monolayer into a solid plastic
which is effectively removed from
equilibrium with its own vapor pressure.
A second monolayer then forms and is
likewise cross-linked. The nature of the
termination phase of the polymerization
reaction is not known, and the average
molecular weight is also not known_
Ennos l l has studied carbonaceous and silicaceous deposits up to 1,700 Angstrom
units in thickness, formed in 100 minutes
by an electron beam of 10 milliampere
per square centimeter density, and he has
followed the deposition rate as a function
of temperature and beam density. Poole 1z
showed the existence of free radicals by
removal of a lead mirror, a standard test
for free radical hydrocarbons. The rate
of formation of the resist appears to
be independent of beam voltage. The
resist forms nicely in an electron microscope with 100-KV electrons, and it was
possible to insulate the anode of a diode
with 20-volt electrons. Carr 14 has used
the resist formation process to trace trajectories for very low energy electrons.

The Etching Process
While still in the vacuum system, the
areas of the thin film on which a resist has
not been formed can be removed by vapor
etching. Molybdenum films, for example, can be removed at a rate of about

Buck, Shoulders-An Approach to Microminiature Printed Systems

1,000 Angstrom units per minute by heating the film to 300 degrees C and admitting
'chlorine at 1O-4 mm Hg. Each metal has
a different etchant and etching temperature. Ideally, the etching process will
form a volatile compound of the metal so
that not only will the film be etched, but
the resulting compound will leave the
substrate and be quickly pumped away.
Some metals have a tenacious oxide which
can be removed by a brief exp8sure to
'Carbon tetrachloride vapor while hot.
After removal of the oxide layer, a halide
dch can then often be used. A silica'ceous resist can withstand a higher etch'ing temperature than a carbonaceous resist.

Insulation Between Layers
A silicaceous resist, when heated, be'Comes a high-silica glass, and can serve as
:a layer of electrical insulation between
'conducting films. The quality of the re'sist as an electrical insulator is not known.
Tentatively, the plan is to deposit insulation selectively wherever a crossover is to
be formed, as at a single-intersection
cryotron, with the same process that
forms the resist.

for heavy metals such as gold and wolfram. 14 The range varies roughly as the
square of the voltage, so that electrons
accelerated by 2KV have a range of less
than 200 Angstrom units. Fortunately,
the region in which most of the electrons
are stopped is well beneath the surface of
substrate, so that the range of an electron
probably gives a pessimistic estimate of
the broadening effect of scatterei electrons on the spot size.
The ultimate resolution of the etching
process is not known. In one attempt to
measure the resolution using polystyrene
spheres. of known sizes to form a shadow
in the resist, a sharpness of shadow was
observed in the etched film which suggested a 70-Angstrom unit resolution had
been achieved.
The resolution which has been chosen
as a target for component construction is
300 Angstrom units. Making conductors and insulators 0.1 micron in width
should not be difficult if this spot size is
reached. The goal of placing a component, such as a single-intersection cryotron, in a 1-square-micron area, then, consists of "drawing" that component with a
30-by-30 pattern of dots.

Formation of the Electron Image
Removal of Resist
Hydrogen fluoride can be used to remove all exposed polysiloxane material
{the resist) without appreciably affecting
metallic surfaces. A convenient source
\Tork was done.
The file system was not set up at the beginning of the project. I t was set up after
the project had already been in progress for
a couple of years. A file system of a sort
existed. It had to be redone.
How many people were involved in maintaining the ERMA file? After it was set
up, it took a couple of people. These were
actually part-time people.
How many man-hours were required to
set up a filing system? In this case, it was
a problem of redoing what already existed.
Certain portions of the file had to be reconstituted. Five girls worked for about 6
weeks to redo this.
Does the system work as well as it was
anticipated at the beginning of the project?
The system was in operation for about 8
months before the bank decided that they
wanted to get a manufacturer. During this
8 months, generally, the reports we got were
good.
H. Y. Juliusberger (International Business
Machines Corporation): How was the
problem of cross-referencing between categories handled? (e.g., May related information be available in a different file than
the one looked into?)
Dr. Fein: The problem of cross-referencing
was handled in this way:
A given document was filed by looking
into the file system developed and, in some
cases, cross-referencing might have required
the same document in three, four, or five
different places.
This sort of thing would not have to
happen if the file system had been set up at
the beginning of the project, and if all the
users had understood it. They would then

Barnard, Fein-Organization and Retrieval of Records

create paper in such a way, and they indeed
would be responsible for filing it in the first
place, so that a single piece of paper would
belong in one and only one cubby hole.
Information and paper generated referring
to many separate classifications should not
exist, providing the user co-operates.

A. S. Rettig (Radio Corporation of America): How do you propose to protect any
of the documents filed so that, if removed,
they may be retrieved?

Dr. Fein: This is a problem of control of
documents that most libraries have.

File Problems Associated with
The National Menu Study
P. M. THOMPSON
HE ORGANIZATIO~ and structure
of an information file cannot properly
be discussed by itself. The design of a
file only makes sense when it is considered
as part of the entire problem of informatio::1 retrieval and maintenance of the
file. In any particular instance consideration must be given to the expected frequency of use of the file', and to the particular machine logic that will be employed
both in retrieval and in maintenance. A
properly designed information file will reflect an optimization of some sort, weighting among other things speed, accuracy,
and cost. The filing and retrieval activity' of course, is usually only a part of a
total information processing system. A
balanced over-all design of the entire
machine system must, in turn, be
achieved which will include not only all
aspects of the information processing at
the electronic center but in addition, all
available criteria by which one can discover the proper relationships between
the electronic data-processing system and
the basic objectives of the entire business
enterprise.
The Menu Study information file is
unique from several points of view. It is
not part of a routine data-processing
system, but is of a one-shot nature. This
file of information resulted from a very
great field. study of American eating
habits. It is being subjected to many
specific analyses by a number of food companies seeking information in very much
the same way that they would were they
to conduct a series of (relatively) small
field surveys. I t was the aim of the menu
study to put enough data into one large
file so that "field studies" could be made
at the machine rather than in the field.
There are many advantages to this approach once sufficient financial backing is
available to make it possible. Relatively short questions can be formulated

T

and answered by machine quickly and inexpensively. Research questions characteristically lead sequentially from one to
another. With this large study, the data
on tape are sufficient to answer large
quantities of question sequences for a
great variety of food interests. Thus it is
seen that many and varied questions will
be put to these data.

The National Menu Study
The ~ ational :Menu Study was undeltaken by the :Market Research Corporation of America with underwriting cooperation of several large food processing
companies. A representative sample of
4,000 families recorded the details of well
over one million menu item servings.
About 2,000 menu items are defined in a
5-level "dish" code structure. The ingredients of all home cooked dishes are
coded and included in the file. In addition to classification codes for the individual dishes and ingredients, more than 50
other measurements were taken. They
include other classification data related to
the serving of the dish, and also classification data describing the meal and day of
the serving and of the family serving.
Examples of the measurements taken
are:
Family: Geographic location, age, sex, and
diet status of individual members, family
income level, education of head, etc.
Day: Weather, who shopped for food,
number of hours the housewife was away
from home, etc.
Meal: Type of meal, where eaten, time,
family members and guests present at meal,
etc.
Dish: Family memLers and guests eating
the dish, who prepared it, new or left-over, fundamental dish or additive, etc.
It is particularly important to note that
all information is coded into discrete

Thompson-File Problems on the National j1,;fenu Study

The way it was done here was to have a
custodian of the files who actually checked
out the information removed, similar to that
which a librarian uses when you check out a
book in a local public library. The effectiveness of the control procedure depends
upon the co-operation of the user.

cells. A family with an income falling
between $6,000 and $6,999 would, for example, be coded 6 under "income." A
family member 13 to 17 years old would
be coded 3 under "age." Thus, nowhere
in the file is the actual value of a measurement recorded, only coded representations with each code number covering a
cell. In general, the entire range of each
variable is described in 10 or fewer cells.
The greatest exceptions are the first and
second levels of dish codes where 64 cells
are available for each level.

Typical Analyses
In a typical analysis of these data, only
two kinds of basic operations occur:
1. A selection of an element of data is
made, and 2. some counting function is
applied to the element selected. For example, a single question to ask would be:
How many families served lobster, how
many servings were there, how many
people were present when lobster was
served, and how many people ate lobster? In this example the selection operation involved selecting out of the data
all servings of lobster. Under the first
level of dish coding, code number 23
covers fish and shell fish. 1;nder first level
23, the second level code number, 57,
covers lobster. So the selection function
is simply the logical expression (first level
23 and second level 57). Whenever this
logical product is equal to one, the dish is
lobster. If the product is zero, the dish is
not lobster.
The counting function is applied only
when the select function is satisfied
(i.e., F = 1). In addition to the counts
indicated, various distributions may be
indicated. For example, one may wish to
know the number of families who serve
frozen beef dinners (a convenience item)
on days the housewife is away from home
6 or more hours, and the distribution of
those families over, say, income. The
select function in this case would be:
First level dish code 62 (commercial pies
and prepared dinners) and second level
code 31 (beef dinners) and fifth level code
p, M. THOMPSON is with the Market Research

Corporation of America, Chicago, Ill.

63

:3 (frozen) and hours housewife away code
6 (6 to 8 hours away) or code 7 (8 or more
hours). The counting function would increase the family count by 1 and the
proper cell count in the income distribution by one the first time the select function is satisfied for a family.
Another question might be: How many
servings of frankfurters were made, and
when frankfurters were served how many
times were each of the following served at
the same meal: sauerkraut, sweet pickles,
beans; and how many people ate them?
The selection would be made on frankfurters. Whenever a frankfurter serving
would be encountered another count
would be made to "servings." Having
discovered a meal c::mtaining frankfurters,
a secondary selection must be applied to
the remaining dishes of the frankfurter
meal to see if the secondary dishes, sauerkraut, sweet pickles, or beans were served.
\\Then a secondary select function is
satisfied, the appropriate counting functions are then applied to the secondary
dish.
In the following example an additional
family classification variable is established based upon frequency of usage of
cold wheat cereals. This classification is
obtained by seJecting on cold wheat cereal
servings, counting the number for each
family, and adding to the family classification data a new code number representing its usage rate. A cold cereal
company may be interested in distributing the population of each cold cereal
usage cell over its geographic regions, and
then obtaining the usage of cold rice cereals for the families in each region within
each wheat cereal usage cell. The machine process for this question would involve a primary selection on cold wheat
cereals, counting, classification, and distribution, then secondary seJection on cold
rice cereals followed again by counting.
As a final example, a company may be
interested in finding those people who do
not eat its product when they are served,
and then to discover that they do eat.
Perhaps it may be of interest to distribute
the noneaters according to diet status to
see if there is any difference by diet in
what is eaten when the company's products are rejected.
The foregoing are a few examples of
kinds of questions that may be asked.
\Vhile the variety of questions is almost
endless, they are an made up of component select and count functions. A large
percentage of the questions are found to
be composed of a reasonable number of
component functions put together in
different combinations and relationships.

64

Data Organization
All of the data have been reduced to
binary form and packed as tightly as
possible on tapes for use with an International Business Machines Corporation
704 or 709. Since families are individually and randomly selected for the sample,
there are no functional relationships between families. Thus a select function
need never encompass the data of more
than one family at a time. One record of
information has been created for each
family and these records are brought into
memory one at a time. All analyses are
completed for one family at a time with
no loss of generality.
For a given family, the data fall into a
true hierarchial structure. Ingredients
are inferior to dishes which are inferior to
meals which are inferior to days which, in
turn, are inferior to a given family. Advantage is taken of this structure to allow
penetration into lower levels of data only
when a select function is satisfied at
higher levels. This saves much time in
looking at data. For instance, if a
question is asked for steak consumption
by low income-level families, the dish
level would not be examined for those
families that did not qualify on income.
The family record is a variable length
record since the number of ingredients,
dishes, and meals vary from one family to
the next. There was even a little variation in the number of days each family reported. The resulting records vary in
length from several hundred 704 words to
about :2,500.
The family data record is composed as
follows: The first-12 words contain family classification data. The next group of
words contains day classification data
with two words required for each day the
family reported. The next group of
words contains meal classification data
with two words required for each meal.
Next are the dish words with two words
per dish, and finally the ingredient words
where each word contains three ingredients.
In order for the machine code to penetrate the family record, the following address information is contained in the record. The number of day words is contained at a known location in the family
classification words at the beginning of
the record. Since the first day word is
the 13th word of the record, the data for
any given day can be retrieved with a single address computation. In each pair of
"day words" the location and number of
meal words for that day are given. Thus,
any given meal can be retrieved with two
levels of address computation. Similarly,

each meal group contains the location and
number of dish words for that meal, and
each dish group contains the number and
location of the ingredients words for that
dish plus the number of ingredients in the
dish. Thus, with a maximum of four
levels of address computation, any given
element of data can be retrieved. If it is
desired to simply examine all meal information, the location and number of all
meal words are contained in the family
words. The same is true for the dish
words. The location and number of dish
applied to an index register loop will examine all of the dish words directly.

Requirements for the Machine Code
The Menu Data is being subjected to a
large number of fairly restrictive questions. Complex analyses are composed
of sequential questions with successive
questions reflecting knowledge gained in
previous questions. An automatic machine compiler is required to prepare the
individual machine codes for the various
questions. To program individual questions would be too slow and costly. The
code must work with variabJe length records. It must search only through pertinent data in the hierarchial levels of the
family record. The compiler must allow
matching of enough questions to fully
utilize the machine memory during a
pass.
There are two working codes in memory
at object time. One code performs the
selecting functions and the other the
counting functions. The select code is
simply a code that will evaluate any logical function that may be encountered.
Whenever the value of the select function
is unity, the select code transfers control
to the count code. The count code is
essentially a collection of individual
routines for the various count functions.
If secondary selection is required
(within primary selection), the count
code, which was given control by the primary select function, passes control back
to the select code after it completes the
necessary counting for the primary selection. It passes along the parameters to
define the secondary selection. Meanwhile the primary select parameters are
preserved along with the location in the
data record where the current primary
selection occurred. When the secondary
selection and its associated counting is
completed, control will be passed back to
continue the primary selection. This
cyclical process is continued until the
family record has been completely examined by the primary select function.
The process is then repeated for succes-

Thompson-File froblerns Qn the N atiQna.l :.11enu Study

sive questions until all questions in a
batch have been completed. At this
time a new family record i~ read and the
entire process repeated.
The select code will consider as a unit
of operation the following:
1. It will examine a logical product, or a
logical sum, of as many terms as required
with the extension that any number of
specific codes can be tested for any variable
Qf measurement on a logical or basis. That
is to say, if one term in the logical product or
sum involves say, income, several income
cells can be treated on an or basis (i.e.,
income ce115 or 6 or 7).
2. It will evaluate this sum or product for
Qne combination of data involving a specific
day, meal, and dish for the family who is in
memory. The data are examined in descending hierarchical order and as soon as a
logical product is determined to be zero or a
sum to be unity the work is stopped, for the
final value is by then determined.

More complex select functions are built
up with successive levels of parentheses
of sums or products. The inner sums or
products are evaluated first (found to be
'zero or unity) whereupon they are then
treated as single terms at the next higher
level.
Parameters and other operating information are supplied to both the select and
the count codes by means of tables.
Each table may be considered to be a calling sequence though the codes are not employed in the usual subroutine sense. A

table will supply to the select code the
fonn of the logical expression, the specific
code values that make up its terms, and
the masks necessary for unpacking. In
addition it will give the location of the associated counting code tables that 'are to
be used. The counting tables will provide information as to the counting functions applicable and will give the location
of any secondary select tables that may be
required. They in turn give the location
of secondary counting tables.. Thus a
chain is formed. Control will be passed
as far down the chain as required and will
return the same chain to the primary
select table which supplies the master control for advancing through the family
record.

The Compiler
The compiler has a relatively simple
task. Information is presented to the
compiler in a language centered about
Menu Study nomenclature. The compiler has access to a large reference table
where it can obtain specific address information, masks, etc. The compiler translates the questions from the menu language into the necessary sets of "calling
sequence" tables. Output data space is
an integral part of the count code tables.
Printout heading information can be
associated with the output data space for
identification or results. The amount of

Data Processing and Information
Handling
R. H. GREGORY
T IS generally recognized that, at the
present stage of development, businesses must process data to produce reports useful for management guidance in
making decisions. Such reports are, however, often more dependent upon what
data are available and the mechanics of
processing tha!l upon managerial needs
for facts and abilities to use them. This
arrangement might be called the "push"
or "suppJy" approach to data processing.
An alternate arrangement to producing
reports required for managerial purposes
might be called the "pull" or "demand"
approach. Reports required for managerial action are explicitly specified and
a system, including both processing and

I

M. TRUST
data origination, is devised to produce
the desired results. These two arrangements for getting useful reports from raw
facts are extreme cases and many intermediate schemes exist.

Data and Information
In dealing with managerial reporting
it is useful to draw a distinction between
all of the facts available, "data," and
those used for decision making, "information."
DATA

Data can be defined as any facts that
are a matter of direct observation, are

Gregory, Trust-Data Processing and Information Handling

table space required per question carl
quickly be determined and thus the number of questions that can be handled· per
batch established. The space requirements for the family record and for the
select and count codes are known. Allocation of the remaining space is simply a
matter of putting in as many tables as the
space will hold.
All of the counting tables are located
together in one section of memory. With
the assistance of incremental address information available in the counting tables, a printing routine can work its way
through the locations containing output
data and associated headings.

Discussion
E. Herscher (PhiIco Corporation): When
searching for the dishes that were served
with steak, how does the system determine
the dishes, in the same meal, that it passed
before reaching steak?
Mr. Thompson: The steak in primary
selection, and one set of index registers
keeps track of where we are in the record on
this selection. When control is passed
through the accounting code back to the
selecting code, another set of index registers
takes over the secondary selectors, and the
boundaries are set up by the mode of association, and it is completely independent.
When this selection is completed, control is
passed to the primary register and the
original index registers pick up where they
left off.

known or available, and may be expressed
as numbers, words, charts, or tables.
Raw data arising from business transactions can be processed in the "push" or
"supply" fashion, as described, to yield
files and reports that might be called
"processed data." Raw and processed
data are interesting but may not be
useful for management decision making.
INFOR..l\fATION

Information can be used to mean data,
either raw or processed, that are new, accurate, and timely. A manager obtains
infonnation from a report if he learns
something he did not know before, if the
facts are accurate enough for the situation
involved, and if the report is obtained in
time for him to take action. Reports are
R. H. GREGORY and M. TRUST were formerly with
the Massachusetts Institute of Technology, Cambridge, Mass. R. H. Gregory is now with Sylvania
Electric Products Company, and M. Trust is now a
Consulting Engineer, International Business Machines Corporation (IBM). 704 time used in conjunction with this paper was furnished by the
Massachusetts Institute of Technology (MIT)
Computation Center.

65

useful for their information content; not
because they contain data.
A report that merely confirms what a
person already knows does not provide
him with any information, for newness or
novelty is basic to the definition of information. Information content of reports
depends on the reader's knowledge about
the situation described. The more he
knows, the less information it contains
for him, although the report may contain
information for someone else.
For business usage, "information" must
meet two more criteria. In order to be
useful, the reader must understand the
language in which the facts are presented
and the meaning of the facts themselves.
Understanding implies compatibility of
format, semantics, and code between report and user. Otherwise, he gets misinformation or none, even though correct
information is available.
.J.l![anagerial Use of Information

Finally, a manager needs to be able to
use information in making decisions.
Most managers make decisions for only a
limited area of an organization and do not
have complete freedom within that
limited area. Their freedom to take desired action is restricted by their ability
to identify problem areas and make decisions, the carry-over effect of prior
decisions, the difficulty of tracing decisions through to ultimate results, whether
operations are nearly static or highly
dynamic, and ability of the system to respond to decisions made at short intervals.
Information and Decision Rules

The design of an efficient data-information system must consider the features
listed, if information is to be used for
decision-making purposes.
Otherwise,
managers are supplied with too little,
too much, or the wrong kind of information. An intolerable burden of processing data may be put on report users to
obtain information required for decision
making.
The extraction of information from
data poses many conceptual and operational problems. A fundamental assumption is that operating managers, not
people in charge of data processing, will
set organization goals as reflected in
policy statements, budgets, and standards. Nothing said here is intended to
imply any changes in the decision-making
processes per se but only in the way that
information is extracted from raw and
processed data.
Explicit deeision rules facilitate the
production of information. At one extreme, management may devise com-

66

pletely explicit decision-making rules.
Information required for the decisionmaking process can be produced and all
raw and processed data discarded except
to the extent required in developing information in a later cycle.
At the other extreme, no decision rule
is formulated in advance. Lack of rules
leads to open-ended accumulation and
processing of data. If management is
unwilling or unable to formulate explicit
rules, then people responsible for data
processing will develop patterns to anticipate information requirements that may
arise. Unformulated decision rules give
rise to retention of excessive quantities of
raw and partially processed data to answer unexpected questions.
Most business requirements for information lie between the two extremes of
completely formulated and unformulated
decision rules. Reports are general purpose in nature and have a low informatio!1
content. After a workable content and
format are developed, the nature of reports changes slowly in relation to information requirements.
Information Content of Reports

Producing reports with increased information requires that reports be tailored
to the needs of individual recipients and
that content, format, and length vary as
the information content of individual
items changes. High information content
for items may be discovered in initial
stages so that such items can be handled
appropriately in subsequent processing.
A complex procedural problem arises
because the information content of an
item may increase or decrease at subsequent stages of processing. For example, county-by-county sales may just
meet forecasts within suitable margins
and be dropped from local reports as
having no information content. In aggregate, nation-wide sales may fall below
the forecast because of the bias in individual items. The fact that sales are
below forecast will not be learned until
they are totaled. In such a case, it is
necessary to repeat some processing to
get supporting detail to permit analysis of
the off-standard total. The information
content of items also changes over time.
Events that are foreseeable (e.g., seasonal
factors or the succeeding events in a chain
of events) can be provided for in the program to modify the processing pattern.
Multiple-pass processing may be used
to appraise operating results and identify
situations '\vith high information content
and then to prepare suitable supplementary reports. Initial processing might be

used to prepare full-length reports for
reference purposes.
Selective reports
with high i~formation content can be
prepared later. The possibility arises
that some information will be required
that does not appear on the selective
report. The cost of omitting suppJementary information and having report users
refer to reference reports should be balanced against the cost of extr2.cting all
information from voluminous reports.
A 2-level reporting scheme is probably
more efficient than a single-level one.
The idea of screening the output of a
data-processing system to increase information content of reports depends on the
development of quantitative relations
that effectively perform tbe selection
process. This is mandatory if the selection process is to be handled by machine
methods.
FACTORS FOR SELECTION

Some quantitative factors for selecting
problems deserving managerial action include whether actual and budgeted
amounts are consequential, the a bsolut~
and relative differences of actual and
expected amounts, and the degree of comThe amount of managerial
pletion.
attention that an item selected by means
of the criteria mentioned will get depends,
among other factors, on the in pact of the
variation upon final results or profits,
managerial ability to change the impact
of the variation upon profit, and the backlog of problems demanding managerial
attention.
The factors used for selecting items
and for determining the amount of managerial attention deserved are inter-related
and, for some purposes, may be considered
together. For example, a committee may
pass on all capital outlays exceeding a
sDecified amount of money. If a backlog
of unconsidered proposals develops, the
specified amount may be increased a.nd
many proposals handled by decision rules
that are applied mechanically. By assigning numerical values to the factors
for selecting items for managerial attention, it is possible to develop a quantity
useful for both selecting items and ranking
them in order of importance as well.
Such a quantity, caned "index of importance," mentioned in the fonowing example, is discussed later in detail.
EXAMPLE OF QUA.NTITATIVE SELECTION

To reduce to more specific terms the
idea of using quantitative factors to screen
information from data, it is useful to
consider an industrial situation in which
monthly data can be obtained about a
number of controllable items. For each

Gregory, Trust-Data Processing and Information Handling

Test I

Relative Difference

AI> M and E, > M' Outcome

Test 2
AI
EI
- - > p and-->p'
Elf
Elf

Ai> M

Ai <'M

Ai< M

AI> M

Ei > M'

EI  M'

E i < M'

Amounts exceed
minima

Amounts below Spending behind Spending ahead
minima
minimum
of minimum

Ai
Ej
,
Ej"f> P;Ejf > P

Enough relative
progress to
warrant consideration

Consider
further

Ai
Ei
,
-p'
Elf
E,t

Spending laJging behin
estimates

Consider
further

Reject now

Consider

Consider

AI
Ei
•
->p;-

ill and Ei>M', where M and ill' (perhaps different) are minimal amounts below which an item is considered too small to deserve examination. (In making comparisons, the outcome "equal to" IS treated as "greater than.") These two tests may be considered jointly, with four possible outcomes. The outcome, Ai> M and E i > ill', indicates that both minimal screening amounts are exceeded and the item may, depending on the outcome of subsequent tests, deserve inclusion in management reports. The outcome, AiM', indicates actual expenditures are lagging behind a scheduled amount that now exceeds the minimal amount. The fourth possibility, Ai>M and EilIf", and rejects those with trivial differences, /A i - Eil D w, then the item ranks as an exception pending further analysis. Otherwise, the item is dropped as having no information content. The specified relative difference, RD, can be set with the inherent variability of the item in mind with wide limits for highly variable items and narrow limits for nearer static items. Instead of merely comparing D z with Dw to select consequential relative differences, more discrimination is· obtainable by computing the ratio of Da to Dw and comparing it with a constant, K, which is 1 or more, that can be varied to change the test for negative difference. Relative Progress The idea of relative progress, RP, can be used to supplement the comparison of actual and estimated expenditures with fixed minimum amounts, as described earlier. The objective is to eliminate from further consideration those items that were below some minimum degree of completion, without having to go through the process of computing actual and allowable percentage differences. Assuming that Ai>ill and Ei>M', the following tests might be made: Ai Ei, ->pand->p Eit Eit where p and p' are two minimum ratios, or percents, if desired. One outcome, A i/E it > P and Ei/ E it> p', indicates the item is far enough along to warrant consideration. The other outcomes have implications similar to those for the minimal screening amount test. Appropriate values can be assigned to this test for use in constructing the index of importance. In fact, the minimal screening and relative progress tests combined have 16 possible outcomes. Selection rules can be based on the outcome of either test taken singly or both tests taken together. One possible set of decision rules is shown in Fig. 1. Other sets can be devised to select those items with desired patterns of progress or lack of progress as measured 67 fig. 2 (left). Suggested relation between the index of importance and the number of items CD U c: -.. c o Q. E o )( CD "0 .: o Number of Items by expenditures. The selection rules would probably change over time and with external conditions. If the minimal screening and relative progress tests are combined into one test, then one indicator, CT (for combined tests), can be used, with appropriate values, instead of MS and RP in computing the index of importance. Degree of Completion The criteria values ~~!, M ' , II!" and D w , previously discussed, were assumed to be related to the item involved but not to changeover time. In many cases it is desirable to provide for changing one or more criteria, especially D w , as the item progresses toward a completion or review date. For example, some comp~nies control manufacturing contracts very tightly during early stages to avoid having them go awry at the beginning. Other companies follow an entirely different pattern and tighten control over research and development contracts as completion approaches. The average allowable difference Dw can be reduced linearly to get Dw' by the following expression, where K is a constant: A t.+E.] D '= K __ _ _t D [ w 2(Eit) w Special Tests Other tests may be used to isolate items that have special significance. It might, for example, be vital to locate overrun situations; Ai Al and E i > M', the next test might be Ai> E it . If A i> E it , then this item could be treated as an extraordinary case, information-wise, by means of a special routine for processing. INDEX OF blPORTANCE An important, although commonly overlooked consideration in management 68 fig. 3 (right). flow chart for IBM 704 program reporting is to measure the relative importance of reported items, or exceptions, in order to select those most deserving attention. People usually rank items by means of qualitative descriptions. By combining some quantitative measures with judgment, a person can specify that one exception should be considered critical while another treated as routine. Further, exceptional items might be ranked in order of importance. One approach to the problem is to devise quantitative methods that reliably duplicate the capabilities of people when processing data. As has been suggested, one method is to develop, for .each item, an index of importance whose numerical value is a measure of the item's significance to management. Construction of Index The factors to consider in developing an index of importance, as previously described are: 1. Whether the actual and expected amounts exceed minimal screening amounts At> M and E i > M' as reflected in the value for MS. 2. The amount of money involved in the item, measured by the absolute difference between actual and expected amounts IAi-Eil>M" as reflected in the value for AD. 3. The relative difference between actual and expected values as a percentage 2 !Ai-Eil/,Ai+Ei called RD. 4. Relative progress of actual versus expected to date and expected to date versus expected at completion Ai/Ei>p and Ei/Eit>p', called RP. 5. Degree of completion where the limits for variation are to be tightened or loosened as the item progresses toward completion Dw' = [K -A t+Ei/2(Eit)]Dw. 6. Any special facts related to the item that increase its importance K'. The total expression for the index, I, may be the sum of these various terms: 1= MS+AD+RD+RP+D w ' +K' Additional terms can be added to the index to cover additional tests as desired. The index of importance is homogeneous for it consists of arbitrary numbers and ratios. Three of the factors (~MS, AD, and RP) have either trivial values or arbitrarily large negative values. The third and fifth factors are ratios and the last factor (K') is an arbitrary number. Values can be selected or weights used to reflect the importance of individual factors. Use of Index Co:mputing an index of importance for each item permits reporting the items in order of importance and refining the re- Gregory, Trust-Data Processing and Information Handling porting system to vary automatically the number of items that are reported for management action. Reporting items in order of importance merely requires arranging them in descending sequence as reflected by the index. Refinement to vary the number of items reported for management action assumes, first, that there is some finite limit to the number and size of problem situations which comprise the management load (L) that can be handled in a reporting period before newer reports become available. Reporting more than L units' worth of items leads to unused reports. Further, restricting the- reporting system to the work load that management .can handle presumes that the problem content of individual or inter-related items can be measured during processing operations and used to modify the program for report preparation. A useful correlation probably exists between the number of items and the index of importance. A suggested relationship is shown in Fig. 2. Those items ranging from the most important downward that constitute a suitable work load can be reported. In order to use the idea of reporting those items that make up a suitable work load, extensive study of the range of I, frequency distribution of I, ability of managers, the decisionmaking process, and the way that the organization responds to decisions would be required. Series and Parallel Test Information Screening In some cases the implementation 0 mechanized management reporting schemes may require that many yes-notype decisions be made and efficiently recorded in machine-usable form. Yesno-type decisions or tests may be performed either in series or parallel. In series testing, the failure of an item to pass anyone test rejects it from further consideration. For data-processing work, series testing has significant economies in terms of speed. On average, processing time would be cut almost in half for those items that are rejected, since a rejected item would undergo only about half the total number of possible tests before it could be discarded. Those items that passed all tests would require similar amounts of processing whether a series or parallel scheme was used. On the other hand, series testing has limited flexibility for it can be applied only where a decision does not depend on the result of more than one test. In management control systems it is often impossible to design completely independent tests. A decision is more likely to depend on the outcome of several tests, each of which may be of a yes-no nature. A parallel test pattern is useful in such a case by recording the results of all tests but making no disposition until all test results are examined. Processing time increases for parallel testing because of the need to perform all tests for each item, develop a composite score of outcome of tests, and examine composite score before making a decision. By way of contrast, with a series test pattern the need to keep and examine test scores is eliminated since the result of prior tests is not pertinent to the current test. If testing is done in a mechanized fashion, the method of scoring for test outcome depends on the capabilities of the equipment used. Computer Programming In order to test in a more practical fashion some of the ideas advanced here, an exception processing program was prepared and run on the IBM 704 at the Massachusetts Institute of Technology Computation Center. PROGRAM DESCRIPTION The main purpose of the program was to test the effectiveness of quantitative rules similar to those described for selecting items for managerial consideration. The computer was also used for calculations and logical operations involved in preparing a report useful to management. A flow diagram showing the sequence of operations is given in Fig. 3. Input Data The data used to test the computer program under clinical ronditions were obtained from a division of a company engaged in government research and development on electronic equipment. This division was interesting from a controls standpoint for it had only recently installed a budgetary control system. Planned for manual operations, much of the operation was quickly converted to punched cards to reduce labor and other costs. A small electronic calculator (Univac 120) was the most sophisticated piece of equipment. The system produced a fixed-length report with all items to be controlled by the division shown in every reporting period. Dat~ obtained covered actual and estimated man-months of engineering effort expended up to December, 1957. .N"o data were available for progress on each item so that it was necessary here to Gregory, Trust-Data Processing and Information Handling assume that progress was correlated with engineering effort. Each item (subaccount) was identified by a 9-digit number. A total of 104 sub accounts were used covering 12 departments that contributed engineering effort to the tasks. Criteria Values The criteria used to process the data were 3 man-months for M and M' and 10% for p, p' and Dw'. Examination of the distribution of estimated expenditures Eit at completion showed that about 15% of the items were less than 3 manmonths. The criterion of 3, however, seemed reasonable from the viewpoint of total cost. A man-month was estimated to equal $1,500, giving a minimum screening value of $4,500. The percentage criteria were arbitrarily based on conservative judgment. The specific expression used to compute the index of importance was 1= lO/D w+ lOEi/Eit+:Ai-Eil+:Dw-Dal. With the type of data being processed the relation was intended to yield an index value between zero and 50. In case of overrun (Ai>E it ), the relationship was modified as follows: I' = 1O/Dw+IAi-Eitl+100. The basic value of 100 for l' was increased as a function of the overrun and deviation permitted in the item. Processing The processing plan emphasized parallel-type testing as described. An overrun test was made early in the program to find whether A i> En In case of overrun, the item was always reported as an exception, but a different routine was used to calculate the index of importance. If no overrun occurred for an item, the program performed the tests and recorded the results as a test score, as described earlier. After completing all tests for an item, a table lookup-type operation was performed which matched the test score against a predetermined set of ruJes. Based on the evaluation of the score, the program rejected the item (as being unimportant for managerial consideration) or continued processing to compute actual and allowable relative differences. If Da>D w', the index of importance was computed and the item reported as an exception. The particular expressions used to evaluate the actual and allowable relative differences were 69 Table I. Sample Exceptions Report Prepared on the MJ.T. 704 Computer Dept. No. 9230 Report For Dec. 1957 Index of Identifying Importance Number Actual to Date Estimate to Date Estimate at Completion Actual % Difference Allowable % Difference Test Score Remark Code 17.4 ..... 255270930 ..... 7 ........ 16 ......... 22 ........ 81.8 ....... 15.6 ....... 15 ....... 0 16.3 ..... 255273630 ..... 20 ........ 25 ......... 58 ........ 23. O....... 21. 4 ....... 15 ....... 0 8.9 ..... 255251734 ..... 0 ........ 3 ......... 3 ........ 187.1 ....... 10.0 ....... 10 ....... 0 Note: All expenditures in man-months. Average allowable % difference = 20 %. Summary statistics. Number of items processed = 11. Number of exceptions found = 3. Average index of importance = 14.2. The value of Dw represented the average allowable percentage variation to be permitted for each item and would, presumably, reflect the significance of the item to the company. Dw', as defined, would start at 1.5 Dw and decrease linearly, as the contract progressed toward completion to 0.5 Dw. Each item that was an exception gave rise to a 9-word record (in core storage) containing the following: 1. Index of importance. 2. Identifying number. 3. Actual to date. 4. Estimate to date. 5. Estimate at completion. 6. Actual percentage difference. 7. Allowable percentage difference. 8. Test score. 9. Remark code. In case of overrun, the actual percentage difference, allowable percentage difference, and test score were given the value 0 and the remark code was assigned the value 1. The test score (with regular exceptions) contained the decimal integer representing results of tests to which the item was subjected. The remark code was not used in these test runs. After processing and storing the exceptions for a department, the program was directed to a sort routine to arrange the exceptions into descending order using the index of importance as the key. quired for reading in the binary program deck. Input data, which were converted to tape before being read in, covered 416 subaccounts which consisted of the 104 original sub accounts run at four different values for the allowable percentage differences. In this number 291 exceptions were found in an average processing time of 0.19 seconds. At a cost of $500 an hour for computer time, processing costs were about $26 per thousand items handled, even with the high rate of exceptions encountered here because contracts had been rather loosely controlled. Sensitivity of Parameters An interesting point discovered during processing was that the number of exceptions changed little as the allowable relative difference, Dw', was changed. Increasing the allowable value from 5 to 20% cut the number of reported exceptions by 18%. Allowable Percentage Difference Number of Exceptions Reported 5 .......... ~ ....................... 79 10 .................................. 76 15 .................................. 71 20 .................................. 65 Summary Computer runs were made on the IBM 704 for twelve departments with the average allowable percentage difference varied from 20% to 5% in steps of 5%. A typical department report is shown in Table 1. The implication is that managers may have considerable flexibility in establishing criteria values. Variations of plus or minus 5%, for example, may be acceptable in many applications and seemed acceptable here. Relative insensitivity to change in al1owab1e differences reflected the fact that out-of-control items were terribly out of control. In actual application sensitivity tests would be required to detennine the amount of flexibility in setting criteria. Computer Time General Effectiveness Total running time for the program with data for 12 departments was 1.8 minutes of which 0.5 minute was re- The ability of the computer program to select and rank exceptions was evaluated essentially in qualitative tenns. RESULTS 70 Reports prepared via the computer were examined by people to find how well programmed selection coincided with human judgment. Personnel at the company supplying the data studied the computer output and indicated that there was basically no disagreement with the selection process. In a few instances the program missed items that, under a manual system, would have been selected. For the most part, personnel had special infonnation about these situations that was not included as part of the computer input. I t was agreed that a more sophisticated program could incorporate the additional facts and improve the selection process. The idea of developing an index of importance was well received. Some disagreement was expressed in the ranking of particular items; but generally this involved merely interchanging two items. In no instance was it felt that items should be radically shifted. Industrial reaction, based on a limited sample, was favorable toward both the idea of applying large-scale equipment to this type of exception processing and the particular approach taken in this clinical case study. Several discussions with people concerned with management control and reporting schemes revealed that the problem of increasing the effectiveness of reports is becoming increasingly important to them: For any large industrial operation, an enonnous amount of diligent planning and co-ordination among various company functions is essential for widespread application. Input data must be prepared reliably and forwarded on schedule to the data-processing center. Processing must be carefully scheduled. Provisions are required for introducing changes and expanding the system to meet new requirements. A distinction between data and information is imperative for efficient system design and operation. "Data" refer to facts that describe situations but do not necessarily convey anything useful for management decision making. "Information," on the other hand, is data useful for managerial purposes to the extent that it is unexpected, accurate, timely, and relates to situations where management has freedom to make and carry out decisions. In general, the objective in designing a reporting system is to produce an output with high information content. This means that, at some stage in processing, Gregory, Trust-Data Processing and Information IIandling those items requiring management attention are selected from the available mass of raw and processed data. The quantitative factors used for screening depend on the particular environment involved. By using numerical weights for each factor, an index of importance can be developed for each item to be controlled. Such an index makes it possible to report items in the order in which they should receive attention. Moreover, the possibility exists of using the index to vary the number of items reported in keeping with management's ability to deal with the problems covered by reports. Mechanized screening and ranking PILOT I offers the advantage of economically reducing the amount of material that management must handle. Location of offstandard situations can be done within the processing system which would leave managers free to concentrate on decision making. Based on experimental work done in connection with this paper, it appears that mechanized selection of information from data is practicable. From the standpoint of cost, speed, and effectiveness, results indicated that significantly improved management reporting can be obtained through the use of programs to select information from data as part of processing operations. The NBS Multicomputer System A. L. LEINER W. A. NOTZ J. L. SMITH A. WEINBERGER Discussion Brian O'Brien, Jr. (Itek Corporation): Have you done any work on the relation between the amount of information a manager can handle and the method of presentation (graphical, tabular, etc.)? Mr. Trust: Only in a very superficial sense We questioned the company as to what sort of graphical presentation they might want of these particular data. They indicated to us that they felt it would be useful if we could somehow, along with these reports, give them a type of bar chart in which the length of the bar indicated perhaps the significance of the item. We began to think about it, but as far as this project is concerned, it did not actually generate any reports of this type. of the new system derives in large part from connecting a novel type .Jf parallel adder to a diode-capacitor memory capable of providing one random access per microsecond. Table I. T THE National Bureau of Standards (NBS), a new large-scale digital system has been designed for carrying out a wide range of experimental investigations that are of special importance to the Government. The system can be utilized for investigating new or stringent applications of these general types: 1. data-processing applications, in which the system can be used for performing accounting and information-retrieval operations for management purposes; 2. mathematical applications, in which the system. can be used for performing mathematical calculations for scientific purposes, including scientific data-reduction; 3. control applications, in which the system can be used for performing rea]time control and simulation operations, in conjunction with analog computer facilities or in conjunction with other instrument installations, remotely located if necessary; and 4. network applications, in which the system can be used in conjunction with other digital computer facilities, forming an interconnected communication network in which all the machines can work together collaboratively on large-scale problems that are beyond the reach of any single machine. Because the system was designed for such varied uses (ranging from automatic search and interpretation of Patent Office records to real-time scheduling and control of commercial aircraft traffic), the system is characterized by a variety of features not ordinarily associated with a A single installation, namely: a high computation rate, highly flexible control facilities for communicating with the outside world, and a wide repertoire of internal processing formats. The system contains three independently programmed computers, each of which is specially adapted for performing certain classes of operations that frequently occur in large-scale data-processing applications. These computers intercommunicate in a way that permits all three of them to work together concurrently on a common problem. The system thus provides a working model of an integrated multicomputer network. System Organization Exclusive of data-storage and peripheral equipment, the central processing and control units of the over-all system contain approximately 7,000 vacuum tubes and 165,000 solid-state diodes. The basic component for these units is a modified version of the one megacycle package used in the NBS DYSEAC, which in turn was evolved from the hardware used in NBS Electronic Automatic Computer (SEAC). As a result of a more effective logical design and faster memory, however, the new NBS system will run more than 100 times faster than SEAC on programs involving only fixedpoint operations; for programs involving floating-point manipulations, the advantage exceeds 1,000. The arithmetic speed Leiner, Notz, Smith, Weinberger-PILOT . (including 4 Arithmetic Operation Times random access memory) times to fast Total Time (Microseconds) Operation Average MinimumMaximum Fixed-Point Addition, Subtraction, Comparison. . . . . .. 7. 5. . . . . .. 6-9 Fixed-Point Multiplication .... 31 ....... 22-40 Fixed-Point Division ......... 73 ....... 72-74 Floating-Point Addition, Subtraction* .............. 20 ....... 19-21 Floating-Point Multiplication ...................... 37 ....... 28-46 * For shift of 4 bits. The system contains seven major blocks, which are indicated in Fig. 1, namely: 1. the primary computer, in the lower center of the figure, 2. the primary storage, upper center; 3. the secondary computer and the secondary storage, right; 4. the input-output control, upper left; 5. the external storage units, upper far left; 6. the external input-output units such as readers, printers, and displays, lower far left; and 7. lower left, the external control containing the special features that facilitate communication with people and devices in the world outside the system which is A. L. LEINER, W. A. NoTZ, 'J. L. SMITH, and A. WEINBERGER are with the National Bureau of. Standards, Washington, D. C. The authors wish to acknowledge the valuable contributions of their colleagues H. Loberman and W. Youden, who helped to develop the logical design and programming procedures for this system . 71 EXTERNAL STORAGE UNITS PR IA M RY STORAGE Q Q Q Q 0 0 0 Jd Q J) _Cd _Cd HIGH SPEED INTERNAl MEMORY INPUT READERS FORMAT CONTROLLER CONCURRENI DATA TRANSFERS INPUT -OUTPUT TRUNKS I PRINTERS DISPLAYS t .... ~ ~- 0 in ...J I I J MANUAL, INPUT-OUTPUT 5 REMOTE CONTROLS I I ARITHMETIC a PROCESSING UNIT DATA AND CONTROL SIGNALS remotely located if necessary_ Interchanges of information between the system and the outside world can take place at any time, on a completely impromptu basis, at the instigation of either the system or the external world, or both acting jointly. The primary computer, a high-speed general-purpose computer, contains both an arithmetic unit and a program control unit of considerable versatility. This computer can carry out a variety of high precision arithmetic and logical processing operations, in either binary or decimal code and in a wide variety of word lengths and formats. Its partner computer, the secondary computer, specializes in shortword operations, usually manipulations on address numbers or other "red-tape" information, which it supplies automatically as needed to the primary program. The third computer of the system, called the format controller (see input-output control in Fig. 1), is specially designed for carrying out editing, inspecting, and format-modifying operations on data that are flowing in or out of the internal memory via the peripheral external units of the system. All three computers, and all the external units of the system, share access privileges to the common highspeed internal memory, which is linked to the input-output and external storage units via independent trunks for effecting data-transfers. Transfers of data can take place between the external units, the memory units, and the computers concurrently without interrupting the progress of the computational program. Be• cause of the flexibility of the format controller, incoming data can be accepted from a wide variety of external devices and in a wide variety of formats. ,..------------, ,._,____ , : I' I II '"0z ADDRESS DATA FOR i PRI MARY ODMPUTE R PROGRAM a DATA FOR SECON DARY COMPUTER PROGRAM CONTROL UNIT DIRECT INSTRUCTIONS AND ODNTROL SIGNALS ~ PROGRAM CONTROL UNIT ARITHMETIC 5 PROCESSING UNIT TWO-ADDRESS SYSTEM BINARY, I6-BIT, FIXED POINT EXPLICIT NEXT INSTRUCTION ADDRESS (16 TYPES) I SECONDARY COMPUTER PRIMARY COMPUTER Over-all block diagram for PILOT Functions of the Major Units The specific functions of the major units can be described briefly as follows: PRIMARY COMPUTER Arithmetic and Processing Unit Using a 64-bit number word with algebraic sign, this unit carries out 7 different types of arithmetical operations, 5 types of choice (branch) operations, and 2 types of logical pattern-processing operations. See Table II. Arithmetical operations can be performed in any of 16 possible formats. For example, arithmetic can be performed using either a pure binary or a binary-coded decimal number code, and in both fixed-point and floating-point notation. Fixed-point operations can Table II. also be carried out in a special half-word format in which two independently addressable half-words are stored in a single full-word storage location. These two half-words can be processed either separately, as independent words, or concurrently in duplex format. In duplex format, the respective lefthand and righthand halves of each double operand are processed simultaneously in a single instruction time, and the two independent half-word results are written back in the corresponding halves of the full-length result location. Program Control Unit The program control unit interprets and regulates the sequencing of instructions in the program. It operates with a o8-bit binary-coded 3-address in Types of Internal Operations Pri:nary Computer Name 16- BIT WORDS, 60 STORAGE LOCATIONS I BINARY 5 DECIMAL, THREE -ADDRESS INSTRUCTION FIXED 5 FLOATING SYSTEM, POINTS, SEQUENTIAL NEXT FULL 5 HALF WORDS INSTRUCTION ADDRESS (16 VARIETIES 1 (16 BASIC TYPES) EXTERNAL CONTROL Fig. 1. 72 '"z0 .... i I INPUT-OUTPUT UNITS l CONCURRENT DATA TR-WSFERS CONCURRENT DATA TRANSFERS 32,768 TOTAL ADDRESSIBLE STORAGE WORDS CONCURRENT DATA TRANSFERS l HIGH SPEED INTERNAL MEMORY 68-81T WORDS. 0 0 0 0 I SECONDARY STORAGE INPUT-QUTPUT CONTROL Secondary Computer Abbreviation Name Abbreviation Arithmetic Operations Add ................................ AD Augment. ......................... AG Subtract ........................... SB Multiply .......................... MP Divide ............................ DV Square-root ........................ SQ Shift .............................. SH Clear add .............................. ca Hold add .............................. ha Store positive ........................... sp Transfer ............................... tr Increase ............................... in Decrease ............................... de Nonnumerical Processing Operations Transplant Segment with Shift ....... TL Generate Boolean Functions ......... GB Logical Multiply ........................ lm Choice Operations Compare, Algebraic ................. CA Compare, Modulus ................. CM Compare, Equality ................. CE Check Scale ........................ CS Compare Boolean Functions ......... CB Compare, Compare, Compare, Compare, Control Operations Transfer "Between Storage Units ...... TS Regulate Secondary Computer ........ RS Zero .......................... cz Righthand Bit ................. cr Lefthand Bit .................. cl Negative ...................... cn Check Primary and Proceed .............. cp . Check Primary and Wait ................ cw RegUlate Primary Computer .............. rp Replace Primary Instruction ............. ri Secondary Take Input from Primary ....... si Leiner, Notz, Smith, Weinberger-PILOT Table III. Contents of Primary Instruction Word Digits numbered 1 through 68 68-65 64-61 Tags ooo± 60-57 56-53 52-49 48-45 44-41 Address alpha a- Digits 40-37 36-33 32-29 Address beta PRIMARY STORAGE GNITS Fast Access Afemory Because of budget limitations, the initial installation of the system will contain only a relatively small section of internal memory of the diode-capacitor type. This diode-capacitor memory, originally developed at NBS in 1953, is very fast; i.e., capable of providing one random access per microsecond, but it has the disadvantage of relatively high cost per word of storage. This type of memory is available in modules of 256 words subdivided as follows: 24-21 cDigits bDigits struction word. See Table III. Each instruction word contains three 16-bit codes which specify the addresses of each of two operands, alpha and beta, and usually the address of the result of the operation, gamma, in the main memory. The memory location of the next instruction word is specified by a 16bit address number contained in one of 16 possible base registers; a 4-bit code in the instruction word (d-digits) specifies which one of the base registers contains the desired word. Whenever a register is so used as a next-instruction address source, its contents are automatically increased by unity. Choice instructions, used for program branching, from time to time may cause a new alternative address number to be inserted in anyone of the base registers. This register is then used as the source of the address number of the next instruction. Addresses alpha, beta, and gamma written in the instruction word are subject to automatic modification if desired by writing a I-digit in a specified bit position. Such addresses are called relative addresses. Each of the three addresses (a, (3, and ')') in each instruction word contains a 4-bit code group, called the a-, b-, and c-digits respectively, in which any base register identification number (0 through 15) may be written." When this is done, the address number to which the computer actually refers is equal to the sum (modulo 2 16) of the address number stored in the designated base register plus an address-modification constant, indicated in the remaining 12 bits of the 16-bit address segment of the instruction word. 28-25 Address gamma Kumerical information Algebraic signs and tags Parity check digits Total word length 16 13 Next Instn. dDigits 64 bits 4 bits 4 bits 72 bits The over-all system is designed to accommodate up to 32,768 internally-accessible full-words, which may be held in storage units with access times ranging from 1 microsecond (,usec) to 32 ,usec. Thus the minimum fast access memory can be backed up with a much larger and slower magnetic-:core memory. Inter-memory Transfer Trunk Provision is made for transferring blocks of information between the various internal storage units in the system, concurrently with computation. The size of the block transferred may range from a single word to the entire contents of the memory, and the addresses between which the information is transferred are specified by a single programmed inter-memory transfer instruction. Automatic interlocks are provided to insure that all future references which the program may make to any memory positions involved in the inter-memory transfer operation are automatically made after the data have been shifted to the new locations. SECONDARY COMPUTER Arithmetic and Processing Unit The secondary computer is a highspeed independently programmable general-purpose computer that operates in conjunction with the primary computer and can perform 16 distinct types of operations using 16-bit words. These operations include 6 arithmetic-processing operations, 4 choic.e operations, 1 nonnumerical processing operation, and 5 operations that transfer digital information or control-signals between the primary and the secondary computers. See Table II. Operation times for the secondary computer average about 2 ,usec. Both computers operate concurrently and can transfer information back and forth between each other. One of the principal functions of the secondary computer is to carry out so-called "red-tape" operations, such as: 1. counting iterations, 2. systematically modifying the Leiner, Notz, Smith, Weinberger-fILOT 20-17 12-9 8-5 Code for Operation Parameter Basic Type 4-1 Mon. Break Point eDigits addresses of the operands and instructions referred to by the primary program, 3. monitoring the primary program, and 4. various special tasks. Through the use of special subroutines for the secondary computer, both computers acting co-operatively can be made to carry out a wide variety of complex operations without unduly complicating the writing of the primary computer programs. Examples of such operations are: 1. special types of sorting, 2. logarithmic search, 3. routines involving cross-referencing, or items selected according to an attached code, 4. error analyses, and 5. operations involving small numerical fields. Secondary Storage Unit Associated with the secondary computer is the secondary storage unit which consists of 60 storage locations containing 16bit words.. Sixteen of these locations can be used as base registers by the primary computer and may be selected by the primary computer according to the a-, b-, c-, and d-digits in the primary instruction word. The contents of the registers selected by the primary computer in this way are automatically added to the ad~ dress numbers specified in the primary computer instruction word. The secondary storage unit is also capable of being addressed directly by the primary computer. The fifteen 4-word blocks of the secondary storage are identified by 15 special primary address. f,lumbers. Other addressible registers associated with the secondary storage hold the address numbers of current and next instruction words in the primary program. Program Control Unit The secondary computer program operates with a 2-address instruction system, the addresses referring to words in the secondary storage unit, including the base registers. See Table IV. From time to time the primary instruction program may order the insertion of a new instruction into the secondary instruction .register or may order the transfer of data in either direction between the primary storage units and the secondary storage unit. The secondary computer program may also cause data to be trans- 73 ferred into the secondary storage unit from the primary instruction register and can also cause information to be transferred into the primary instruction register from a location in the main memory. U sing these facilities, the secondary computer can inspect each instruction word in the primary program as it is selected from the primary store and, acting upon specifications written into the secondary program, can cause the primary instruction either to be executed as written or to be replaced by a new instruction word from a memory location determined by the secondary. Other types of discrimination can be effected by the secondary that depend upon the result of a primary operation, such as an overflow, jump, etc. These features facilitate the use of interpretive programming methods. INPUT-OUTPUT CONTROL Concurrent Input-Output Trunks The concurrent input-output trunks have the function of controlling the transfer of information in either direction between the internal memory and the external storage units. All input-output transfers are initiated by a single internally programmed instruction, and are carried out by the trunk units with the aid of automatic interlocks similar to those used in the inter-memory transfer trunk for preventing interference with the progress of the computing program. The size of the block of data that is transferred may range from a single word to the entire contents of the memory and may be directed to any addresses. Using two such trunks, it is possible to maintain two continuous streams of data simultaneouslyflowing between the internal memory and any two external storage units without interrupting the progress of the computations. Format Controller Data that are passing in and out of the internal storage system via the inputoutput trunks are subject to further concurrent processing by the format controller. The format controller is an independent internally-programmed dataprocessing unit specially designed for carrying out general-purpose editing, inspecting, and format-modifying operations on incoming or outgoing data. Programs for the format controller are stored on removable plugboards, and the primary computer program is able to direct the format controller to select whichever particular format program may be appropriate from among the small 74 Table IV. Contents of Secondary Instruction Word tern. This kinematic diagram type of display is very important when performing dynamic simulation operations which require visual presentation of the simulated data in real-time to the human operators. Digits numbered 1 through 16 16 .... 13 12 .... 7 6 .... 1 Address "g" Address "h" Operation code (0-15) EXTERNAL CONTROL Jvlanual-monitor control library of format programs contained on the boards currently attached to the machine. Among the typical kinds of programs that the format controller can carry out are: 1. searching of magnetic tapes for words bearing identifying addresses or other coded labels specified by the internal program, with selective input or output of data at these selected tape locations, 2. insertion of incoming data for the internal storage units of the system into address locations specified by the incoming data itself, 3. conversion and rearrangement of data that are stored on external units in formats not compatible with the formats used in the internal units; e.g., binary-decimal character conversion, adjustment of word-length modules, etc. EXTERNAL STORAGE External storage in the initial installation of the system will consist mainly of magnetic tape units. Because of the flexibility of the format controller, it will be possible to supplement these tape units later with a wide variety of other types of external units without making any significant changes in the existing equipment. INPUT-OUTPUT UNITS The system is designed to operate with a wide variety of input-output devices, both digital and analog. Input readers and printers Flexowriter units and paper-tape readers and punches will be available in the initial installation. Punched card input readers and high-speed printers, along with their auxiliary controls, may be attached to the format controller in the manner indicated in the preceding paragraph. Displays Two types of displays are provided for: 1. pilot-light display of data and control information in the various registers and flip-flops throughout the system, in order to aid the rapid diagnosis of equipment malfunctions of programming faults, and 2. picture-tube display of real-time data stored in the internal memory of the sys- The term "manual-monitor" was coined at NBS several years ago to describe certain types of control operations that are initiated either manually by the machine operator or by the machine itself under conditions which are specified by means of external switch settings. The former is referred to as a manual operation and the latter is called a monitor operation because the machine must monitor its internal program to determine precisely when the operation should be performed. The type of operation to be performed as well as the conditions under which it is to be performed are specified by means of external switch settings. This feature provides for convenient communication between the data-processor and the operator, and allows the operator to monitor the progress of the program automatically, to insert new data and instructions, and to withdraw intermediate results conveniently, without need for advance preparation of special programs. This is particularly useful in debugging programs and in checking equipment malfunctions. :\10nitor operations are performed by the machine whenever the conditions specified by the external switch settings occur in the ~ourse of the program; e.g., every time the program refers to a new instruction, any time the program refers to an instruction to which a special monitor breakpoint symbol (e-digits) is attached, any time an arithmetic overflow occurs, etc. By pairing a particular type of manual-monitor operation with a selected set of conditions. a variety of special composite operations can be performed. Remote Controls Manual-monitor operations can be specified and initiated by external devices as well as by human operators. Since all of the external switch settings control only d-c voltages, the external devices can even be remote from the machine itself, and from a distance, via ordinary electrical transmission lines, they can exercise supervisory control over the internal program of the machine. This makes it possible to harness together two Leiner, Notz, Smith, Weinberger-PILOT or more remotely located data-processing machines, and have them work together co-operatively on a common task. Each member of such an interconnected network of separate data processors is free at any time to initiate and dispatch special control orders to any of its partners in the system. As a consequence, the supervisory control over the common task may be shared among the various members of the system, and may be passed back and forth from one machine to the other as the need arises. Summary PILOT, the new NBS system, possesses both powerful external control capabilities and versatile internal processing capa- Data Handling bilities. It contains three independently operating computers. The primary and secondary computers each utilize only 16 basic types of instructions, thus providing a simple code structure; but because so many variations of the formats are possible, a wide variety of computing, data-processing, and information-retrieval operations can be performed with these instructions. The secondary computer is specially adapted for performing socalled "red-tape" operations, and both the secondary and the primary computers, acting co-operatively, can carry out special complex sorting or search operations. The third computer in the system, called the format controller, is specially adapted for performing editing, inspecting, and format. modifying opera- by tions. The system is equipped to transfer information concurrently along several input-output trunks, thQugh only two are planned for the near future. U sing two such trunks, it is possible to maintain two continuous streams-Qf data simultaneously flowing between any two external units and the internal memory, without interrupting the data-processing program. The system can operate with a wide variety of input-output devices, both digital and analog, either proximate or remotely located. The- external control capabilities of the system enable the machine to supervise this wide family of external devices and, on an unscheduled basis, to interrupt or redirect its overall program automatically, in order to assist or manage them. Control Word Techniques A+V=A EFF G. A. BLAAUW ARLY computing machines executed Eprograms which could be specified by pluggable wiring, paper tape, or cards. These programs remained unchanged during their execution. The invention of the stored program made it possible to treat a program as data. This invention was a basic step forward in the development of computing machines. It then was possible for any instruction of a program to be modified by the program itself. In practice this general facility was used mainly for the modification of addresses. Subsequently, it became apparent that programmed address computation, though sufficient in theory, was cumbersome in practice. Too much computing time and program space were required to perform these auxiliary operations. As a remedy, an address register, also called index register or B-line, was provided, whose contents could be added to the operand address. In recent machines, several index registers, up to one hundred, have been made available. In the design of the International Business Machines Corporation (IBM)-Los Alamos computer,! an attempt has been made to achieve great flexibility and generality in machine functions. The indexing functions and the associated instruction set have consequently been reviewed. The built-in functions which were developed as a result of this review are the subject of this discussion. I A 10111 INSTRUCTION ADDRESS ~INDEX OPERATION I I I I I I III v ! VALUE I I I I Discussion I~DEX FUNCTIONS Index functions may be divided into three groups: address modification, index arithmetic, and initialization-termination. The first group provides the justification for the existence of index quantities. The second group performs the task of changing the index quantities, often termed "housekeeping." The third group concerns tests for end conditions and set-up procedures. Address modification is the addition of the contents of an index register, the index value, to the address part of an instruction, the operand address, in order to address memory with the sum, the effective address. Address modification is used in general to address the elements of an array. An array may be one dimensional, such as a vector, or multidimensional, such as a matrix; moreover, the elements of the array may be single-valued or multiple-valued. Multiple-valued elements are common in technical computations and in file maintenance operations. In the latter case, the records of a file correspond to the ele~nts of an array. Bladuw-Data Handling by Control Word Techniques ,--Fig. 1. Indexing loop Each record in turn contains many different values. As a computation proceeds, successive elements of an array are addressed. Since the variable part of 8.n address is the index value, the address computation may be accomplished by index arithmetic. Often, a simple recurrent process is used in which a new index value is obtained by the addition of an increment to the old index value. Index arithmetic is continued until the last element of the array is addressed. Subsequently, the index value must be reset to the initial starting value for that array or for the array next to be addressed. This process is called termination and initialization. To· determine when the last array element is reached, a test G. A. BLAAUW is with International Business. Machines Corporatton, Poughkeepsie, N. Y. The work reported here represents the combined effort of a number of people at International Business Machines Corporation Product Development Laboratory, Poughkeepsie, N. Y. 75 is performed each time the index value is altered. Some of the forms of this test are: limit comparison, length subtraction, and counting. In limit comparison, the current index value is compared with a given constant, the limit. In length subtraction, a given variable, the length, is reduced by the value of the increment and tested for zero. In counting, a given variable, the count, is reduced by one and tested for zero. The three methods of test are almost equivalent. Limit comparison and length subtraction are independent of the number of increments applied. Counting, on the other hand, permits the test for completion to be independent of the size of the increments and makes it possible to use zero increments. Instead of ':Ising a separate value such as a limit, length, or count, the index value itself can be used to determine the end of the process. In that case, the index value serves as a length, and a limit of zero is implied. The IBM 704 and 709 follow this indexing approach. A greater degree of freedom in specifying index values and tests is, however, very desirable. Therefore, an independent index value and test for termination are preferred. In the IBM-Los Alamos computer, counting has been chosen as a means for determining the end of an index value sequence. A summary of the index functions which have been described is shown in Table I. The quantities which occur in the indexing procedure for a simple array are listed in the second column. The operations which make use of these quantities are listed in the third column. Of the quantities listed, the index value is in the index register. This leaves four quantities which must reside somewhere. Earlier approaches have relied on storing these quantities in general-purpose memory locations. One of the four operations listed, address modification, was performed as a built-in machine operation. The other three operations normally have been performed by standard arithmetic instructions. A typical indexing loop which illustrates this earlier approach is shown in Fig. 1. The formats of an instruction and an index are shown on the right half of this figure. The instruction has three fields: an operand address field, A, the operation code field, 0, and the index address field, I. The index has one field: the index value field, V. The steps which must be taken in the indexing loop are shown in the diagram on the left half of the figure. The dashed line on the diagram indicates that the program will be used several times. Each time the 76 program is entered, the correct index value and count must be set up. In the following discussion, the advantage of storing more quantities in the index register and providing more built-in operations will be considered. test normally occurs when the index value is changed, it is logically consistent to specify incrementing and counting in one index arithmetic instruction: "increment and count." This instruction is available in addition to "increment." It becomes equiv~lent to "count" when CONTROL WORD FUNCTIONS the increment is zero. Index incrementing could be performed The association of index value and by a series of three single-address instruccount can be obtained in various ways. tions which add the increment to the inA solution, economical in time and space, dex value and return the result to the inis to place index value and count as sepdex register. Actually, only the incre- ' arate fields in one word. Such a word ment and the subject index need speciwill be referred to as a control word. The fication. A single instruction, therefore, instruction "increment and count" adds can be used to specify the entire operathe addressed increment to the index tion. Such an "increment" operation value, reduces the count by one and provides a signal when the count becomes can make use of the index adder which is normally provided for address modificazero. The choice of counting as a test for tion. The main arithmetic process for data is then separated from the housetermination and the use of an implied keeping process. Data registers need address for the count does not· preclude ~ot be altered. Because of these advanother termination tests. In particular, a "compare index value" instruction is tages, an "increment" operation is normade available to al10w limit tests and an mally provided when index registers are "add to count" instruction can be used available. In the instruction format which is used in the IBM-Los ,Alamos for length subtraction. These instruccomputer, the operand address specifies tions make the instruction set more comthe address of the in~rement. 2 The plete but are less efficient than "increoperand address can itself be indexed and ment and count." It was shown in Table I that an indexthus provides indexable index arithmetic. ing operation requires specification of: In index arithmetic, several increments index value, increment, count, next initial may be used to change an index value. It index value, and next initial count. AIl therefore is desirable to address the increthese values except the last two have been ment and the index value independently. specified so far, either in instructions or I t also is possible to use several tests in the termination of the process. Most in the control word. The last two values frequently, however, a single test is used. can now be specified by introducing a refill field in the control word. The refill It is, therefore, profitable to associate the address refers to a second control word, count used in the test with the index value whose value and count field specify the to which the process applies. Since the Table I. Summary Index Arithmetic Operation Quantity Index Use ... " ... , , , , . , , , , .... Index Value (V) ....... , , ... , , . ' , , ........... Address Modification Index Change ................. Increment (.:l) ............................... Incrementing Index Test .................... Count (C) .................................. Counting and Zero Test Index Reset. .................. Next Initial { Index Value (Vo) ................ Replace {Index Value Count (Co) Count Table II. Control Word Location b ................ C-c c ................. D-d d ................ H'"h Location Record Deletion Control Word Location b ............... C-c c ............... D-d d ............... E-e h ............... ,H-h h ................ E-e e ................. F-f f ................. G-g g ................. I-i i ................. J-j j ................. K-k Before Control Word e ............... F-f f ............... G-g g .....•......... I-i i .............. J-j j ............... K-k After Blaauw-Data Handling by Control Word Techniques I 1344 I 151 INSTRUCTION ADDRESS \INDEX OPERATION INCREMENT: I 1 3028 1 1 2 X5 MEMORY AREAS ADDRESSED A+V=A EFF V+h.-+V·I I ,--_-1--_--, C-I -+ C IF {VO-+V C=O Co-+C VALUE A 0 1 INSTRUCTION ADDRESS nl V II VALUE R +R INDEX OPERATION C I R COUNT REFilL 3000-3029 50 3100- 3129 51 I Vo II VALUE Co COUNT I 1 3100 1 1 30 1 52 3200-3229 Indexing loop with control word next initial setting. In fact, the second control word is the next initial control word. The refill field then serves the general purpose of linking a control word with the next control word to be used. The operations which use the five values previously mentioned were listed in Table I as: address modification, incrementing, counting and zero test, replacing of index value and count. All these operations except for the last have been specified as machine functions. The last operation can be restated as: r@place the index word by the word at its refill address location. The operation can be part of an "increment, count and refill" instruction. This combination of operations is only meaningful when the refill operation is conditional. An obvious condition is that the count should reach zero. In addition, the instruction repertoire includes other instructions, such as "refill unconditionally." In Fig. 2, the use of control words is illustrated for the indexing loop previously shown in Fig. 1. The current control word and the next initial control word are shown on the right half of the figure. The left half of the figure shows the simplified indexing loop. The "set-up" step is no longer required since the current control word is refilled with the initial values as the indexing loop is left. The "count" step has become part of the "increment" step. The step called "prepare" indicates that the program should be started with the proper initial contents for both control words. The refill field of the current control word and the refill field of the initial control word are the same in Figure 2. Because of this, successive refills will all make use of the same initial control word. The use of different refill fields for successive control words is shown in the numerical example of Fig. 3. The instruction I COUNT REFILL R REFILL 52 1 3200 1 1 30 1 50 VALUE Fig. 2. 51 1 3000 1 1 30 1 51 VALUE COUNT REFILL VALUE R) 1 COUNT REFILL Fig. 3. in the example specifies index 5, which has memory address X5. The control word in location X5 has a count of 2. When an "increment count and refill" instruction is given, the count becomes 1. The next time the instruction is given, the count becomes zero and a refill operation takes place from location 51. The new refill field now is 52. When, after 30 subsequent "increment count and refill~' operations, the next refill occurs, the control word in location 52 will be used. The control words in locations 50, 51, and 52 refer to each other; they are chained. A series of control words which are linked to each other by their refill fields will be called a chain of control words. DATA TRANSMISSION When an increment of one is used, as shown in the case of Fig. 3, the count becomes the equivalent of a length and represents the number of adjacent words in the addressed memory area. Furthermore, when the operand address is zero, such that the index value is used as the effective address, the initial index value addresses the first word of the memory area. A memory area can, therefore, be specified in position and length by the value field and count field of a control Table III. Control Word Location Location Chained control words word. This makes it convenient to specify the memory areas involved in data transmission by means of control words and gives the control word the characteristic of a "shorthand" notation for a memory area. . Data transmission may be between two memory areas or between input units or output units and memory. The data which are transmitted in one operation will be called a "record." A control word may be used both for indexing and data transmission. This generality makes it possible to associate a control word with a record and use it to identify the record throughout an entire program, including reading, processing, and writing. The use of control words in transmission instructions is particularly convenient when data can be moved directly between input-output units and general purpose memory. This ability is incorporated in recent computers and avoids special purpose areas to buffer records. An input-output instruction then specifies the input-output device used, the operations to be perfonned and the addre'ss of a control word. Data can move directly between the device and the memory area specified by the control word. The use of control words for a simul·· Record Insertion Control Word h ................ C-c c ................. D-d d ................ E-e e ................. F-f f ................. G-g g ................. I-i h ............... H-h i. ................ J-j j ................. K-k Before Blaauw-Data Handling by Control Word Techniques I COUNT REFILL L Control Word Location h ................ C-c c ................. D-d d .. : ............. E-e e ................. F-f f. ................ G-g g ................ H-h h ................ I-i i. ................ J-j j ................. K-k After 77 Fig. 4. [J [J [J Read-process-write chain MEMORY AREAS CONTROL LOCATION WORD z CONTROL WORDS USED: Y-y READ Z-z PROCESS' X-x WRITE . X-x, Y-y, z-z, X-x, .. X-x, Y-y, Z -z, taneous read-process-write cycle is illustrated in Fig. 4. Here X-x describes a control word which by its value and count fields, defines memory area X and which has the address x in its refill field. Location x contains the next control word in the chain Y-y, defining record Y. Control word Z-z is placed at location y. Because control word X -x is stored at location z, a "ring" of three memory areas, X, Y, and Z is set up in which X is followed by Y, Y by Z, and Z again by X. The use of letters for memory areas and control word locations points out that the actual locations may be anywhere in memory. They need not be in numerical order. Both record areas and control words may be scattered throughout memory. In this notation capital letters are used for record areas and lower case letters for control word locations. Corresponding alphabetics are used in one control word and denote a record area and the control word of the next area in sequence. The example of Fig. 4 has practical application in a read-process write cycle. While a record is read into area Z, as controlled by control word Z-z, processing proceeds with control word Y-y using data in area Y, and data from area X are written under control of control word X -x. At the conclusion of each of these operations, the appropriate control word is refilled and the areas are thereby cyclically permuted in function. ~nstead of a single control word, a chain of n control words could be used in reading while a second chain of n control words is used in processing, and a third chain of n control words is used in writing. To further elaborate the example, assume that processing consists of a file maintenance operation upon the n records. In that case, it may be desirable to delete, insert, or sort records or groups of records. The use of control words in this type of data ordering is described next. .. X-x, Y-y •.. memory area to another. With control words it is possible to replace the transmissiori of a record containing many data words by the transmission of a single control word which specifies that record. Assume that the records A ... Z are scattered throughout memory. The associated control words A-a . . . Z-z establish the correct order as indicated by the alphabetic sequence. It is desired to delete record H from this sequence and set its memory area aside. The control word H-h of this record is part of the chain C-c ... K -k shown in the left hand part of Table II. By interchanging the contents of locations d and h, a new order is established as shown in the right hand part of Table IT, and H is no longer part of the sequence. A second interchange between d and h would re-insert H. This illustrates the complementary nature of insertion and deletion. If it would be desired to insert H in the Table IV. Control Word Location A common procedure in data ordering operations is to move records from one 78 Control Word c ............... D-d p ................ Q-q q . . . . . . . . . . . . . . . . R-r r ................. D-i r ................. P-p d ............... E-e e ............... F-f f ............... G-g g ............... H-h d ................ E-e e ................. F-f f ................. G-g g ................. H-h Before After Table V. Location Control Word Location h ................ I-i i. ................ J-j j ................. N-n n and d Leave F -f in a and e Leave H-h in a and g Leave K-k in a and j Leave N-n in a Merge Control Word b ............... C-c c ............... D-d d ............... F-f f ............... G-g g ............... K-k k a ................. E-e e ................. H-h Swap a Swap a Swap a Swap a Control Word Location b ............... C-c Before DATA ORDERING Group Deletion Location b ................ C-c c .................. P-P p ................ Q-q q ................ R-r sequence ... G, J, J, . .. between G and I, the second interchange would be between g and h. Table III illustrates this case. Because the sequence ... G, J, J ... is part of sequence A . . . Z, the example is equivalent to a sorting operation. The sequence .. . G, J, J .. . may equally well be part of an independent sequence as is the case in file maintenance. The interchange of two control words is performed conveniently by a "swap" instruction. This instruction interchanges the contents of two memory words. The insertion or deletion of a record involves only the "swap" of its control word with that of its successor. The insertion and deletion of a group of records is equally simple. Consider again the file A . . . Z. It is required to delete the group P . .. R from the file shown on the left in Table IV. By giving a "swap" instruction for locations c and r, the new order becomes as shown on the right in Table IV. One "swap" instruction deletes the group of records just as one "swap" instruction in the previous example deleted a single record. The only differences are the addresses of the instruction. The records P ... R form a ring in sequence. In the previous example, also, the deleted record H could be considered to form a ring in sequence since its control word was stored at its own refill location. The insertion of the records P . .. R can be performed by again swapping the contents of locations c and r. Control Word Location b ................ C-c c ................. D-d d ................ E-e e ................. F-f f. ................ G-g g . . . . . . . . . . . . . . . . H-h h ................ I-i i ................. J-j j ................. K-k k After Blaauw-Data Ilandling by Control Word Techniques As a last example of data ordering, the merging of two chains of control words is shown in Table V. The "swap" operations which are required are listed in the table,which the reader may wish to verify. SUBROUTINE CONTROL Another application of control words is in subroutine control. In the preceding discussion, the control word specified a memory area which normally would contain data. However, the memory area might also contain instructions. A record can then be thought of as a subroutine. An illustration might be the use of exception subroutines which are stored on tape, drum or disk, and are called in when the exception arises. The control word is used in the "read" instruction and can subsequently be used for address modification in the branch instruction which transfers control to the subroutine and in the instruction which stores the instruction counter contents. The subroutine, therefore, can be inserted conveniently in a main sequence of instructions. Conclusions The preceding discussion has shown the application of control words in record handling. Both indexing and data transmission techniques make it desirable to have an index value, count, and refill facility. The three fields in the control word and the associated machine functions satisfy these requirements. The control words provide substantial saving in program space and increase in machine speed. They simplify programming of "housekeeping" operations. Control words do not introduce entirely new functions, since their operation can be simulated on any stored program computer. Also, the introduction of count and refill is only a second order improvement as compared to the first order improvement of address modification through indexing. The simplicity of con- An Electronic Directory for Sorting Mail A. W. HOLT Synopsis: The primary concern of this paper is the design of a digital machine for use as a Post Office directory. Sorting must be fine enough so that the letters come out arranged in the order in which the carrier walks his route. Using straightforward memory techniques, 20 million bits would be required with an average access time of 20 milliseconds for only a medium sized city such as Washington, D. C. The paper includes a general discussion of the information processing problem together with a brief description of some of the techniques used for physically handling the letters. The outstanding virtues and faults of several novel memory systems are also presented for comparison with the magnetic drum. ROM THE point of view of this paper, the sorting problem of every Post Office has two parts: 1. the problem of physically handling the letters as they are divided from a few common sources into many smaller groups, and 2. the information processing problem of deciding which letters should go into what group. The physical handling problem has been studied by several laboratories, including the Rabinow Engineering Company, and this effort is resulting in the rapid development of conveyor belt F systems suitable for sorting letter mail. 1-3 The problem of information processing has also been intensively studied, but the hardware is considerably less advanced. This paper primarily concerns the application of magnetic drum memories to the information processing problem. The application of other types of memories to the problem will be discussed only as comparative examples. The mechanization of mail sorting is described using Washington, D. C., as an example. All mail is either incoming or outgoing. Incoming mail is defined as that type of mail which is to be distributed within the city regardless of whether the mail originated in the city or out of the city. Outgoing mail is that mail which leaves the city, regardless of its source. The discussion in this paper centers around the incoming mail, which is in general a great deal more difficult to sort than outgoing mail. Accurate statistics on the Post Office System in the united States are being gathered by the researchers who are staffing a Post Office project at the National Bureau of Standards. Some rough statistics are interesting : Washington handles approximately four million letters Holt-An Electronic Directory for Sorting Mail trol word operation is, however, in sufficient contrast to the complexity of simulating its operation that several methods of record control are feasible which otherwise would have been impractical. The indexing instructions have been described for the IBM-Los Alamos computer. Though elements of this instruction set are found in other machines, the effectiveness of control word techniques depends to a major extent upon the combination of all features which have been described. It is believed that control word techniques represent a significant step forward in the data handling ability' ' of computers. References 1. DESIGN OBJECTIVES FOR THE IBM STRETCH COMPUTER, S. W. DttnweU. Proceedings, 1956 Eastern Joint Computer Conference, AlEE Special Publication T-92. pp. 20-22. 2. THE SELECTION OF AN INSTRUCTION LANGUAGE, W. Buchholz. Proceedings, 1958 Western Joint Computer Conference, AlEE Special Publication T-107, pp. 128-30. a day; there are about 200,000 addresses in Washington, and there are approximately 700 carriers. Chicago handles peak loads of 37 million letters per day. The objective of sorting in the Post Office is to route to the appropriate carrier an of the letters which he will deliver. This is accomplished, information-wise, by having the sorters memorize the scheme of distribution, but this is a formidable memory problem for human beings to undertake. One of the more important end objects of the automation program for the Post Office is to relieve human beings of this memory problem. Additionally, each carrier must sort his mail to the order in which he walks his route. This operation is also a target for mechanization. GENERAL MACHINE SORTING METHODS There are, at present, two important approaches in the field of automatic sorting of letter mail. In the first, and simpler form known as a "keysort" system, mechanical equipment is used to replace only the physical handling operations performed by human sorters. A human operator sits in front of a cabinet known as a keysort station where letters A. W. HOLT is with the Rabinow Engineering Company, Inc., Washington, D. C. This study was performed under contracts with the National Bureau of Standards and the United States Post Office. 79 Fig. 2. Fig. 1. Over-all view of the production prototype machine are automatically placed in front of him in position for reading, one at a time. The human operator reads the address of each letter, and directs a large sorting distributor to deliver the letter to its proper destination bin, by pushing the appropriate combination of keys in a keyboard that is located on the cabinet at which he is seated. A keysort system effectively increases the reach and speed of a human sorter's arms, but is severely limited in that the sorter must have memorized the entire sorting scheme for the addresses to which he is sorting. Both the use of the keyboard and the scheme of the city are difficult to learn, and it requires many months for an operator to become proficient. Machines of the key sort type were introduced in Europe about 20 years ago. Two of these European machines have been installed in the United States recently for experimental studies. They are the Dutch "Transorma," in Silver Spring, Md., and the Belgian "Bell" machine in Washington, D. C. The second, and more sophisticated, system of automatic sorting does everything that is done in the key sort system and, in addition, replaces the eyes and memory of the human operator with a reading head and an automatic electronic directory (sometimes called a memory or translator). It is called a "codesort" system. For the codesort system, a loading station picks one letter at a time off a stack, moves it past a reading head and inserts it into a conveyor pocket of the distributor. Between the time that each letter passes the reading head and is inserted into the distributor, the reading head reads the address and feeds it through electronic circuitry to the direc- 80 Close-up view of code wheels tory, which "looks up" the appropriate output destination bin and directs the distributor to deliver the letter to this bin. In the Rabinow Sorting Distributor (shown in Fig. 1), the sorting directions are set into a group of 12 code wheels by arranging them into a specific binary combination. Fig. 2 shows these wheels. Such a group of wheels accompanies each letter and forms an "escort" memory. An escort memory of this type should be carefully distinguished from a generically different type of memory which the Rabinow Company calls the "hex" type. A hex-type memory is one where the main conveyor is duplicated in miniature; the two conveyors travel in exact synchronism, with the miniature machine carrying information instead of physical objects. The term "hex" comes from voodoo logic, where the "hex" is put on a real person by sticking pins in a doll-sized reproduction of the person. The distributor is designed to operate in either a keysort system or a codesort system, or a combination of both, since it does not matter what loads it or what gives it direction. The Rabinow Distributor is modular in construction, and so can be contracted or expanded. Complex arrangements of cross conveyor belts and mUltiple loading points can be used to increase the statistical efficiency of sorting, and the number of possible sorting arrangements using the modular distributor with transfer devices is very large. No one at this time can be completely sure exactly which sorting scheme is the best for any particular Post Office; the equipment has been designed to give, therefore, great flexibility in arrangement. The reading head for the code sort system does not read original addresses on the mail because present reading machine techniques are not good enough to read all the different fonts and handwritings that make up the addresses on Fig. 3. Code printer mail. Therefore, the codesort system requires multiple code printing stations at which the addresses are retyped by operators, with a machine-readable font and mechanized in a manner similar to that of the keysort station. A prototype code printing station is shown in Fig. 3. The operators of the code printers, however, do not memorize the Post Office sorting system. They merely retype the address in an abbreviated fashion on an essentially standard typewriter keyboard. The address is actually imprinted on the letter in a binary-coded abbreviation of the original address. Two techniques of coding the information on the envelopes are in experimental use at the present time. One is a system of printing dots on the envelopes. These dots are read -by an optical reader. These dots may be of ordinary black ink, or they may be of fluorescent or phosphorescent ink. Each vertical column contains 2 sprocket dots, 1 parity dot, and 6 information dots. The column represents one alphameric character. Any number of characters from 1 to 20 is allowed. Postcards cannot be coded in this manner because of the lack of free space. The alternate method of recording information on the envelopes is to spray a strip of magnetic material on the front of the envelope (or the address side of a postcard) and record serially on this with a magnetic head. The required area is greatly decreased in comparison with the optical method. It is possible, furthermore, to spray the magnetic coating so thinly that it does not obliterate writing which may be underneath. Several millivolts of signal are obtained despite the thinness of coating. Because letters contain objects such as coins, pencils, etc. Holt-An Electronic Directory for Sorting J11ail cY.~-" - -- -"' '~"-' SUB-DIR ECTORY (CHANNEL INDEX) ,~, -.~ _,",", . , . .~, LETTER READER -.-~ ~.-~ . 1--' STREET CODE REGISTER HOUSE CODE REGISTER ~ / ~ COMPARATOR JL WHEEL SETTER ON CONVEYOR BELT r!~ j ~ COMPARATOR CARRIER CODE REGISTER i'--/ MAGNETIC DRUM + rTEMPORARY STREET CODE REGISTER MAIN MEMORY TEMPORARY HOUSE CODE REGISTER WALKING ORDER REGISTER 1 Fig. 5. Optical plate memory during building stage .• Fig. 4. General block diagram they cannot be pressed into contact with a magnetic head by a roller. The solution to this problem is to suck the side of the envelope into the magnetic head by using vacuum. It now appears that the magnetic technique will be the preferred method of recording on envelopes. The type of information which is recorded on the envelope varies according to whether the Jetter is incoming or outgoing. Normally, if incoming and outgoing letters are separated at the code printing station, the full second and third lines of a normal address do not need to be coded on the letter. Thus, for incoming letters,only the second line of address needs to be carried on the envelope. Outgoing letters have a slightly different situation. If a letter is going to a city in which there are codesort machines, it may be desirable for both the second and third lines of address to be coded on to the envelope at the initiating post office. Coding the second line of address for an outgoing letter, however, takes an appreciably longer time, and the present emphasis in the Post Office system is on getting the outgoing mail out of the initiating post office as rapidly as possible. Because of this uncertainty, all the systems are being designed so that outgoing mail can be coded either with second and third lines of address or just the third line of address. MACHINE SORTING TO WALKING ORDER Machinery which sorts only to the carrier can easily be justified by itself. fOT serial magnetic drum directories Sorting to the carrier is only part of the job, however, for the carrier himself must rearrange his mail in the order in which he walks his delivery route. If this very fine sort can be mechanized, the potential savings are much larger. A million dollars worth of machinery could be justified if each of Washington's 700 carriers were saved just one half hour per day. The detailed information about the walking order is so voluminous that it is not, in general, collected into a single directory, and this information for an entire Post Office becomes an impossible memory problem for one man. Machine memories of this capacity do exist, however, and this paper will present what is considered to be a reasonably economical method for mechanizing the complete sorting of mail down to the carriers' walking order. The most direct method for sorting to the walking order would be to have one receptacle (bin) for each address in the city. For a city of 200,000 addresses, such as Washington, this number of automatically loaded bins is prohibitive because of the space and cost. It is, however, possible to obtain this fine a sort by passing this mail twice through a 1,000 bin distributor. There are several possible ways to organize this, but the most useful one for the purpose is a system which is called the "generalized walking order" method. In this generalized walking order method, the first sort is made on the walking order and the second sort is made on Holt-A n Electronic D~rectory for Sorting Mail the carrier number. This is equivalent to the well known technique of sorting International Business Machines Corporation (IBM) cards wherein the first sort is made on the least significant digit, the second sort on the next least significant digit, and so forth; the cards are finally in numerical order in such a system. To illustrate, suppose that the memory has enough capacity to hold all of the walking order information. Entered in it, for instance, is the information that 200 First Street, N. W., is the 41st address (walking order no. 41) that carrier no. 112 delivers; that 201 First Street, N. W., is the 42nd address (walking order no. 42) delivered by carrier no. 112; etc. This kind of information is supplied about every address in the city. During the first pass, the letters are sorted on the walking order number. Thus, the first receptacle contains only those letters which are to' be delivered to the first address on every carrier's route. In receptacle no. 2, there will be found only addresses which are the second stop on every carriers' route. When all the mail has been run through the first pass, thus being sorted to a generalized walking order, all mail is removed from the conveyor belt, stacked, and run through the machine for a second pass. Mail belonging to walking order no. 1 is run through first and sorted to the appropriate carrier. Then, mail belonging to walking order no. 2 is sorted to the carrier. These letters fall on top of letters from walking order no. 1. When all mail has been run through this second pass, each carrier will have his own stack, arranged in the order in which he walks his route. 81 General Requirements for Directory PROCESSING RATE The previous section of this paper has been devoted to a brief discussion of manual and automatic sorting methods. This section now discusses some of the general specifications that a suitable directory will probably be required to meet. The necessary access time is related to the number of conveyor belts serviced and the average rate of letters per conveyor belts. Present conveyor belts seem to be limited to about ten letters per second. The number of conveyor belts serviced is related to the size of the Post Office as well as the directory capabilities. A rough estimate for • the number of conveyor belts necessary for a given Post Office is obtained by assuming that all the letters handled by the post office per day must be run completely through the sorting process in an 8-hour period. Thus, if one machine can completely sort ten letters per second, there will be about 250,000 letters per 8 hours; about 15 machines would be required to handle Washington's four million-letters-per-day volume. Chicago would require about 60 such conveyors. A minimum directory rate of ten letters per second is therefore specified, with faster access systems being admissible. OUTPUT BITS The number of output bits from the directory should be somewhat greater than the number of bits required to dedescribe one out of the many receptacles on the conveyor belt. The European machines, Transorma, the Bell machine, and the French machine, operate with about 300 output receptacles. This figure of 300 is dictated partly by the fact that these machines are directed by human memories rather than machine memories and are thus limited in the number of output points into which sorting can be accomplished. Nine bits output can handle 300 bins. The Rabinow Distributor, using machine directories, will have upwards of 1,000 output receptacles, and provision is made for increasing this number to as high as 8,192 in the present designs. Thirteen bits will describe 8,192 bins. Canadian designs (also using machine directories) are based on a small number of output receptacles whose contents are then resorted. The number of output receptacles in these machines is of the order of 30 to 50, which can be described with 6 bits. \Vithout discussing the pros and cons of 82 whether it is better to sort mail by passing it many times through a small machine or few times through a big machine, suffice it to say that 14 or 15 bits should be more than adequate to allow complete flexibility in the organization of distributors. If the directory is to specify both the walking order number and the carrier numbers, there should be two 15 bit outputs available. INPUT BITS If both incoming and outgoing mail are sent through the system without presorting, both the second and third lines of an address on a normal envelope will need to be carried into the directory. One hundred bits will probably suffice to define this information using a moderately complex system of abbreviations. It is, however, expected that the mail will be pre-sorted in most cities into incoming, outgoing, and airmail groups. Approximately 64 bits suffice to process an incoming letter (abbreviated second line) and about 34 bits will describe an outgoing letter (third line of address). The following tentative requirements are the results of a thorough study of the Postal System by the staff of a project at the National Bureau of Standards. Slot 1 (Outgo code) Six characters total, Outgoing only 34 bits City: 4 characters of 6 bits State: 2 characters of 5 bits Slot 2 (House code) Six characters total, Incoming only 32 bits 2 characters of 4 bits 4 characters of 6 bits Slot :3 (StreE't code) Six characters total, Incoming only 32 bits 4 characters of 6 bits for street; 1 character of 5 bits for type; character of 3 bits for direction MEMORY CAPACITY The actual required capacity of the memory is a number whose discussion will make up much of the remainder of this paper. The required size of the memory is a function of the number of possible addresses which must be handled, and it is also an important function of the type of memory used. A frightening outside limit to the size of the memory could be given by dealing with N ew York City in the most naive possible way. For incoming mail, New York City has approximately one million addresses. Each address should be specified by ()4 bits, and should be associated with a 15-bit walking order number and a 15-bit carrier number. The total number of bits for each entry will therefore be near 100. One hundred bits times one million is 100 million bits for the incoming memory. Any part of this must be available in 1/10 of a second. Taking Washington as a more average example, the incoming section of the memory would be 100 bits per entry times 200,000 addresses, or 20 million bits. The outgoing memory requirements are comparatively insignificant. What methods can be used to reduce the necessary capacity? If the incoming mail in Washington was divided by presorting into 20 equal zones, then 20 memories of about one million bits each will be sufficien t instead of one incoming memory of 20 million bits. This illustrates the rather obvious point that the memory size is dependent upon the "field of view" required. Instead of having the city divided into zones, which requires a complicated pre-sort, the mail can be sorted first to streets. The individual memories then only have to know what the carrier routes are along one street, or along only a few streets. This system is, in fact, the one used at Christmas time, and it allows the use of relatively untrained help. Another way of reducing the field of view is to first sort to the block numbers, regardless of the street. In general, any method which reduced the field of view requires multiple sorting of the letters. The Canadian system, which has only 30 to 50 output receptacles, works on this principle. Many small, fixed memories can be used, or a single, small, fast-reloading memory can be used. This type of memory simplification using multiple sorting of the letters results in a great deal of extra handling of the mail by humans or by machines which may damage it. Manual handling will certainly delay the sorting. Another general way to reduce the required memory size is to reduce the amount of information entered against each address. This can be done only because there has already been a great deal of effort by the Post Offices in organizing the addresses in towns into related groups. The most obvious first step in this direction is to take advantage of the "break" system which is used to describe the Post Office scheme to the present manual sorters. Basically, the break system sets up only the limits for a group of houses which are served by the same carrier. As an example, in looking at the first three columns of Table I, the first entry is interpreted as meaning that all the houses numbered 200 through 399 on First Street, Holt-An Electronic Directory for Sorting Mail N. W., have the mail delivered by carrier no. 112; all those houses having numbers 400 through 599 are served by carrier no. 120. This information can be entered into a machine memory in a number of forms. The particular form would be dictated by the specialized type of memory used. In columns 4, 5, and 6 of Table I under the heading, "Full parallel storage using break: system," a method of entering this break information into a magnetic drum system has been illustrated. This is represented in strict parallel, using 32 parallel binary channels for the streeet code, 32 parallel binary channels for the house code and 15 parallel binary channels for the carrier number. The operation of such a memory would be as follows: The address on the letter abbreviat~d in the same form as the information on the drum, enters into a set of registers which is in continuous comparison with the parallel information on the magnetic drum. If, for example, the address on the letter was 252 First Street, N.W., the output signal designating carrier no. 112 would be delivered when the drum passed through the 400 entry in the street number section. It accomplished this by recognizing that the last entry on the drum had a street number less than 253 and that the next entry on the drum had a value (400) which was greater than the house number of the letter being sorted. It must have, in addition, recognized that the street name associated with this entry on the magnetic drum was identical with the street name on the letter. The break system is plagued by what the Post Office calls "exceptions." These are single addressees whose mail is delivered by a different carrier than the rest of the addressees in the block. Usually these addressees are large mail users whose mail is delivered by a truck. Depending upon the type of memory system used, these exceptions range in nuisance value from mere annoyances up to real problems. It must be realized, however, that they do account for a large volume of the mail, and a rather larger share of sorting expenses can be written off to these particular numbers than can be justified for a single private house. In the examples given under the full parallel storage, an exception occurs at 901 Massachusetts Avenue. This is handled with no difficulty in the full parallel magnetic drum system by entering the exception ahead of the general break and requiring an exact comparison. The break system, which has been discussed in the last two paragraphs, is a general method for reducing the amount of information which must be stored per address. More sophisticated methods 6f reducing the amount of necessary stored information will now be discussed. A study of the fm.ll parallel storage method reveals that the street designation is repeated a great many times. It should be clear that the street designations do not need to be continuously repeated for each break that occurs along a continuous street. Storage methods can be devised which will take advantage of this organization. This is called "Street Code Shift." Further reduction can be accomplished by observing that the breaks can be listed in always ascending order of block number. In order to take advantage of this high rate of redundancy, a technique called "differential" storage can be used. The term "additive" storage is also used sometimes. This technique will be described in detail in later sections of this report. Basically, the idea is simply to keep track of the house numbers in a separate house code register and merely to enter differences from one break to the next break. This technique can also be used to advantage in describing the output carrier code since the carrier numbers along anyone street tend to be rather closely related. On the average, each break can be described in about 50 bits. The break system tells only that the input address belongs to a particular part of a particular carrier's route; it does not yield the walking order number. This walking order number can be obtained by listing the house numbers which fall within the break. By listing these numbers in ascending walking order or by programming the computer to count in one out of several patterns, the number of bits needed to yield the walking order can be reduced to an average of about 7 bits per house number. To summarize, then, if the techniques described are carried to their reasona ble limits; each break will require about 50 bits, and each house number will require about 7 bits. Washington, with 11,000 breaks and 200,000 house numbers, will require about two million bits total. MISCELLANEOUS REQUIREMENTS The next important question to consider about the memory is how often it will have to be changed. Present estimates seem to be that approximately 10% of the entries are changed per year. This is being done on a continuous basis with the present manual sorting system by means of issued memoranda. This figure is low enough so that memories of the type nor- Holt-An Electronic Directory for Sorting Mail mally considered nonerasable can be corc sidered (such as wired matrices or various plug-board arrangements). The question of whether or not a memory should be electrically changeable does not revolve around the problem of making changes in the Post Office scheme so much as it does around the question of whether a particular memory should be put to multiple use, each use requiring the complete erasing of old data and entering of new data. This is, again, related to the question of whether a single sort is better than a multiple sort. The cost of the memory must be related to the cost of the conveyor belt which it services. A round number estimate for the cost of one complete 1,000-f'oceptacle conveyor belt, utilizing automatic letter insertion, is $300,000. A reasonably attractive price for the directory to go with one such conveyor belt would be $50,000. I t has been shown in earlier parts of this paper that the memory capacity is going to vary almost directly with the number of addresses in a city. The price of the one conveyor belt does not vary in proportion to the number of output receptacles but increases at a slower rate, due to the fact that a good percentage of the automatic conveyor cost is spent in the automatic inserters, wheel setters, and other "overhead" equipment. The number of output receptacles on the conveyor belt can be increased merely by lengthening the system with relatively low cost units. It seems obvious, therefore, that the memory for the conveyor belts used in Chicago will cost a larger percentage of the total machine price than the memory used for a small town. The reliability of such equipment is an important factor and should be considered along with the basic design. Like many other installations of modern machinery in various business, industrial, and government locations, this type of electronic machinery will be completely foreign to the present personnel. Although specialized personnel will doubtlessly be acquired, trained, and retained to perform service, the management is certain to look with jaundiced- eye upon delays due to malfunctioning of the equipment which are above and beyond the delays normally encountered in doing the job in the old way. To some extent, the requirements on continued serviceability of equipment will be more severe during the initial phases of installation and operation than in later years after the equipment has well shown its worth and general serviceability. Rather than putting letters into the wrong receptacle, the machine should 83 Table I. Full Parallel Storage Using Break System Post Office Scheme (1) (2) (3) (4) Street Code (32 Parallel Street (N.W.) 1st. . . . . . . . . . . . . .. House Number 200--300 Drum Sorting to Carrier Carrier Number Binary Channels) (5) (6) House Code 112 ...... lSNW........ (8) (9) Serial, Street Code Shift, Differential House Code Serial, Street Code Shift, Differential House Code, Hundreds-Units Shift in House Number, Differential Carrier Number Carrier Code (32 Parallel Binary Channels) Serial Methods (7) (15 Parallel Binary Channels) 399...... 112 Full Serial, 1 Binary Channel ..... * .................. * ......... '" ..... * 1 .............. : .. 1 ........................ 1 S ................. S ........................ S N .................. N ......................... N W ................. W ........................ W @ .................. @ ......................... @ 3 9 9 ¢ ................. 3 .................. 9 ................. 9 ................. ¢ ........................ 3 ........................ 9 ........................ 9 ........................ ¢ 1 ................. 1 ....................... 1 1 ................. 1 ........................ 1 2 ................. 2 ........................ 2 400--500 120 ...... 1SNW........ 599...... 120 * .................. @ ......................... @ 1 ................. 2 ........................ 2 S ................. 0 N .................. 0 ........................ ¢ W ................. ¢ ........................ 8 @ .................. 1 2 5 ................. 0 9 9 ¢ 1 2 o 600--800 109 ...... ISNW. . . . . . .. 899...... 109 * ................. , ................. @ ......................... @ S ..... 3 .. 3 N .................. O ........................ ¢ W ................. O ........................ @ ............................................ 11 8 ................. ¢ 9 9 ¢ ................. 1 1 ................. 0 o 9 ................. 9 Nine similar entries stopping at Block 2,400, then skips to 5,000 for 3 blocks, then skips to 0,500 6,500--6,600 ...... 1,228 ...... ISNW ........ 6,699 ...... 1,228 .1 ................. @ . . . . . . . . . . . . . . . . . . . . . . . . . @ S ................. 5 ........................ 5 N .................. 8 ........................ 9 W ................. 0 .................... ¢ @ .................. O ........................ 1 ................. ¢ ......................... 1 ................. 1 ........................ 1 ................. 2 ........................ 9 ................. 2 ................. 8 6 9 9 ¢ 1 2 2 8 Mass. Ave. Unit-l00 109 ... ~ ... Mass A..... 199...... 109 * * ................. A ................. S ................. S ................. A .................. N ........................ A ........................ S ........................ S ........................ A ......................... N M ................. M ........................ M A S S A N W ................. W ........................ W @ .................. @ •........................ @ 1 0 ................. 9 9 o ................. ¢ o ................. 1 ........................ 1 ................. : ...... 9 ........................ 9 ........................ 1 ........................ ¢ ¢ ................. 0 ........................ 1 1 ................. 9 ........................ 0 o ........................................... 1 9 ........................................... 0 84 Holt-A n Electronic Directory for Sorting .Alail Table I. (cont'd.) Full Parallel Storage Using Break System Post Office Scheme (1) (3) t4) Carrier Number Street Code (32 Parallel Binary Channels) (2) Street (N. W.) House Number 200-300 111 (5) House Code (32 Parallel Binary Channels) Mass A. . . . . .. Serial Methods (6) (7) Carrier Code (IS Parallel Binary Channels) Full Serial, 1 Binary Channel 399...... 111 (8) (9) Serial, Street Code Shift, Differential House Code Serial, Street Code Shift, Differential House Code Hundreds-Units Shift in House Number, Differential Carrier Number ......... * ................. @ ......................... @ M ................. 2 ........................ 2 o A ................. O ........................ ¢ S ........................................... 2 S ................. ¢ A ................. 1 N .................. 1 W ................. 1 @ 3 9 9 ¢ 1 1 1 400-600 * ................. 174 ...... Mass A....... 699...... 174 @ ..............•..•...•••. @ NW ................................... M .................. 3 ........................ 2 o ........................ ¢ A ................. 0 S ........................................... 1 S ................. ¢ ........................ 6 A ................. 1 ........................ 3 N .................. 7 W ................. 4 @ 6 9 9 C 1 7 4 * ................. # ........................ # ................. 9 ................. O ............. , ... 1 ................. ¢ 3 A ................. O N .................. 0 W ................. O ....................... ·.3 •.....••......••........ 0 ........................ 2 ........................ ¢ Exception:........ 901 ...... Firm ........ MassA ....... 901 ...... 3,000X .......... A. F. of L ......................... (3,000)...... NW ................................. M Bldg................................................................................. A S S ........................ 2 ........................ 8 ........................ 2 @ ...•..............•......................... 6 9 o 1 ¢ 3 o o o 700-1000 •..... * ................. 121 ...... MassA ....... 1,099 ...... 121 @ ......................... @ NW ................................. M ................. 9 A ................. 8 ........................ 9 S ................. ¢ ........................ 8 S ........................................... ¢ A ................. 1 N .................. 2 ........................ 2 W ................. 1 ........................ 8 @ ............................................ 7 1 ........................................... 9 o 9 9 ¢ 1 2 1 Note: In column 7: * = street code coming. @=house code coming. ¢ = carrier code coming. In column 8: * = street code coming. @ = differential house code coming. If = exceptional house code coming. Column 9 uses same symbols as column 8, plus: ¢ = add following number to carrier register. t = subtract following number from carrier register. Holt-An Electronic Directory for Sorting Mail 85 4. Minimum average rate of memory look-up is 10 letters per second. be biased in favor of rejecting letters into the category which will be sorted by hand. If the first machine systems succeed in handling only 90% of the mail, the effort has been well worth while. One element acting as a check on the machine is that the carriers themselves can pick up mistakes rather readily; a man, finding a letter addressed to a point not on his route, can easily flip this letter into the hand sort category. This does not apply, however, to outgoing mail, since a long time may elapse before the error is detected. It seems reasonably possible to include more automatic checking features on outgoing mail than on incoming mail, since the total memory capacity required is considerably smaller for outgoing mail. Even for incoming mail, however, it would seem advisable to at least check that some kind of information was coming out of the computer. In summary, this section discussed the general requirements for a memory suitable to direct letters to appropriate output receptacles in a post office letter conveyor system. The following summarizes· the main directory requirements for sorting to the walking order. 5. Memory capacity is about 50 bits per break, plus approximately seven bits per house address. Required capacity is strongly dependent on the street layout of the city. Discussion of Drum Methods DRUM SORTING TO CARRIER Thus far this paper has discussed the sorting techniques and the basic directory problems associated with the automatic sorting of mail. This section will go into more detail about the utilization of magnetic drums as a directory memory. Fig. 4 will serve as a general block diagram of a machine. It can be assumed that the drum will be loaded by a punched tape reader. The general plan of attack is to locate the proper break first, (this gives the carrier number as a by-product) and then to generate the walking order number. In Table I the first three columns show some more-or-Iess typical parts of the Post Office scheme for Washington, D. C. Columns 4, 5, and 6, under the heading "Full Parallel Storage Using Break System," show the same information organized suitably so that it can be entered into a magnetic drum directory. This particular system would require parallel binary channels on the drum, and would require an amplifier for each 1. Input information required to describe an incoming letter is 64 bits. 2. Input information required to describe an outgoing letter, is 34 bits. ,9 3. Number of output bits is 15 for walking order number, ] 5 for carrier number. Table II. Type Memory Requirements for Drum Sorting to Carrier, Method of Col. 9, Table I Characters Bits Total Bits in Entry No. of Times Entry is Repeated Street Entry (Slot 3) ............. 1 order. . . . . . . . . . .. 4 .............. One entry for 36 street in city 6 information 32 No. of Bits per Entry Type each 36(S) House Entry .......... 1 order. . . . . . . . . . .. 4 .............. One for each street (Derived from 16 16(S) Slot 2) 3 information 12 (average) 1 order. . . . . . . . . . .. 4 .............. One for each break (after the first) along 1 information. . . . .. 4...... 8...... the same street. .......... 8(B-S) (average) Exceptional ........... 1 order. . . . . . . . . . .. 4 House Entry 3 information ...... 12 (average) Carrier # or Out- ...... 1 order. . . . . . . . . . .. 4 put Bin "I 3 information ...... 12 (average) 1 order ............ 4 16 (X) 16(X) 16 (S) Hi(S) 8 ...... (B-S+X) ................. 8(B-S+X) 1 information. . . . .. 4 (average) S=No. of $treets B = No. of Breaks X = No. of Exceptions If bits=60(S)+16(B)+21(X) For Washington, D. C. S = 3,600 B=7,OOO X=4,OOO # bits = 424,000 86 channel. It will be seen that this parallel storage is not very efficient. The operation of a system using full parallel storage is quite straightforward. The binary bits which represent the address of the letter to be sorted are stored in a 64 bit register and are continuously compared against the 64 parallel outputs of the drum which describe the street name and house number. Whenever the street number coming off the drum changes from less than the house number of the letter to greater than the house number, the signals from the carrier number channels will be read out of the directory as the applicable output. (The two street names must have also matched perfectly.) The maximum number of bits required is times the number of breaks plus exceptions. In Washington this amounts to approximately 800,000 bits. :\fuch of the drum space is never used, however, because the average length of an address is less than 64 bits. A considerable saving in reading head amplifiers and drum space can be made by using a strict serial system. The "Full Serial" system will be taken up first. The "\Valking Order Register" does not apply. The coding for a full serial system is illustrated in Table I under the column, "Full SeriaL" In this system one out of many channels would have to be selected by a switching matrix. This selection can probably be based on the street name. Certain symbols must be used in a serial system to designate meanings of the numbers which follow this symbol. These symbols are given at the end of Table I. These numbers are recorded in the appropriate register and the end comparison occurs in a manner similar to that described for the full paranel storage. The number of bits actually used in this full serial system is slightly more than the number used in the full parallel system, because of the commands. The total required drum space is somewhat less, however, because advantage can be taken of those addresses which require less than the maximum number of bits. One of the problems inherent in any serial system is the selection of the proper drum channel. It is assumed that all the breaks on a particular street will be entered one right after the other along the same channel, though this is not necessarily required in the full serial system .. A number of streets can probably be accommodated on anyone channel. The street name on the letter to be sorted can be looked up in a subdirectory which will ,9 Holt-An Electronic Directory for Sorting Jfail give as its output the number of the drum channel upon which all the breaks of this street are located. A general solution for this subdirectory would be to write down every street code, using 32 bits each, together with the appropriate channel number of the main memory. A cheaper solution is to use an arithmetic code for the alphabetic characters which are used in describing the street name. With an arithmetic code, only the last street name appearing on each drum channel need be written in the subdirectory, and the proper channel number for a particular street can be obtained by arithmetic comparison. For a 320-channel drum, the total subdirectory storage is (32 plus 9) X320. This is only about 13,000 bits. If it turns out to be important to end one channel and start the next channel with the same street (usually only for long streets), this can be taken care of by making the entry on the channel selector directory include not only the street name, but also as much of the house number as is necessary to describe the dichotomy. The following is a detailed discussion of two major techniques which help greatly to reduce the volume of information to be stored. One of these is called the "shift" technique, and the other is called the "differential storage" technique. The differential storage technique is also sometimes called derivative or additive storage. These techniques can both be understood by comparing columns 7 and 8 of Table I. Examination of the full serial system shows that each of the break entries repeat much of the information that is already contained in the previous break. The street name, for instance, is repeated each time. In column 8, however, the street name shift technique is used. The first time (on any revolutton of the drum) that a particular street name appears, this street name is preceded by an asterisk (*) which instructs the machine to ~tore this street name in a register and keep it. The con ten ts of this street name register are changed when the next asterisk appears, and the street name following that asterisk is substituted for the previous information. The differential storage technique is related to the shift technique in that the first house number entry along each street is stored exactly as written down on the drum. Subsequent numbers are written on the drum, however, not as full numbers, but as the difference between the previous break number and the present break number. Every number which is Table III. Two Methods For Drum Sorting to Walking Order Post Office Scheme Extended (1) Street Code (N.W.) (2) House Code (3) Carrier Code Information on Drum . (4) (6) (5) Cumulative One Entry per Carrier Walking Address System Order Limit System fst. ......................................... * ....... * 1 ....... 1 S ....... S N ........ N W ....... W Meaning of Symbols * Street code coming ... @ Differential house code coming @ ........ @ 2 ¢ 112 ................... 1 1 2 ....... 2 ....... ¢ ....... 1 ....... 1 ....... 2 $ ....... $ 4 ...... .4 CI ....... 0 % ....... & 200 ................. 40.·........ 0 ....... 0 o ....... 4 ... ¢ Plus differential carrier code coming ... ¢ Minus differential carrier code coming ... $ Starting number coming for walking order ... % o ............. ..... 201. ................ 41. ........ 1 o ................. & 202 ................. 42 ......... 2 ................. o o Paired digits of house code coming Count by ones from 00 up to the limit given by the following two digits 203 ................. 43 ......... 3 204 ................. 44 ......... 4 ....... % ... &evenCount by twos from 00 up to limit 6 ....... 6 268 ................. 45 ......... 8 ....... 8 @ ........ @ 1 ....... 1 &oddCount by twos from 01 up to limit % & even o ....... 0 300 ................. 46 ......... 0 ......... 2 o 302 ................. 47 ......... 2 ....... & odd o ....... 0 301 ................. 48 ......... 1 ....... 3 o 303 ................. 49 ......... 3 New break ....... 400 ............................ @ ........ @ 1 ....... 1 ¢ ....... ¢ 120 8 ....... 8 ::; ....... $ 15 ......... 1 ....... 1 5 ....... 5 preceded by the symbol (@) is, therefore, added to the accumulated total which is in the temporary house code register. Follow through the activity in column 8. A letter is addressed to 652 First Street, N. W. When the computer senses the asterisk symbol, it clears its temporary street name register and writes in 1SXW, which is the abbreviation for First Street, N. W. It notes that this street name matches with the name on the letter to be sorted. It also at this time clears the temporary house number register. ·When the symbol "@" is sensed, 399 is added to the contents of the temporary house number register. The result is 399. :Machine comparison shows that 399 is less than the desired street number 652. It therefore ignores the carrier symbol and takes no further action until the next break entry. After recognizing the next "@,, it adds 200 to the previous contents of the temporary hOl'se Holt-An Electronic Directory for Sorting Mail number register. The additive result, 599, is stored back in the temporary house number register. The machine notes that 599 is still less than 652 and so ignores the carrier number on the drum. Three hundred more is added to the temporary house number register by the next entry, making the accumulated contents of the temporary house number register equal to 899. The machine now notes that 899 is a larger number than 652 and therefore picks up the carrier number information ¢109. This carrier number information is sent to the conveyor belt and used to set the correct wheels on the distributor. :Many systems are possible for handling exceptions. They differ only in detail. The exceptional case in column 8, illustrated by the American Federation of Labor (A.F. of L.) Building at 901 Massachusetts Avenue, is entered before the general break and uses a special 87 command symbol "#." Exact match is required, not just a change in sign of the comparator output. In column 9, the general technique for eliminating redundant information is carried still further. A few of the unnecessary zeros in the differential house numbers can be eliminated by using a hundreds-units shift. Except for the first entry along a street, the symbol "@" now means that the following number is to be multiplied by 100 and added into the temporary house number register. Exceptions are handled in the same way as in column 8. In column 9, advantage has been taken of the fact that many of the carrier numbers lie close to each other, and the differential storage is used for the carrier numbers as wen as the house numbers. Since an arithmetic code is used for the alphabet anyhow, and since the street names will be arranged on the drum in alphabetic order, a differential storage might be used for the street names as well. This, in general, does not save much memory space, however, because the street names are not written down very often when the street name shift is used. Differential storage for the street names is not illustrated in anyone of the columns. The commands must occasionally be used to either add or subtract values to the various registers. 'When this is required, the additional symbols plus and minus are used following the command symbol and this denotes the sign of the command. By the use of these techniques the number of bits required to sort (to carrier) the incoming mail of Washington, D. C. can be reduced from about one million to about 500,000. Table II summarizes the memory requirements for drum sorting to carrier; using the method of column 9, Table 1. DRUM SORTING TO WALKING ORDER OF CARRIER Thus far this section has discussed some of the detailed methods of entering information into a directory which is to be used only for sorting to the carrier. The following paragraphs describe a detailed method which makes possible a reasonably economical mechanization of sorting to the carriers' walking order. The potential savings to the Post Office are very large, here. As has been discussed before, this is a considerable extension of the information processing requirements since, essentially, every address in the city must be noted. This could, as a limit, mean that ten times as much information must be stored to sort to walking order as must be stored to sort to the carrier. 88 Table IV. Code: Memory Requirements for Drum Sorting to Walking Order B = Number of Breaks; Addresses A = Number of One entry per address system: tColumn 5, Table II) Bits = 16 (no. of $ commands) = 16 (no. of breaks) plus 4 (no. of % commands) = 4 (no. of blocks) plus 8 (no. of @ commands) = 8 (no. of blocks) plus 8 (no. of paired digits = 8 (no. of addresses) Estimate: Number of Blocks is twice the number of Breaks = 2B No. of bits 8A+40B For Washington A =200,000 B = 7,000 (exduding exceptions) No. of bits for Washington = 1,880,000 (To this number must be added the number of bits for sorting- to carrier) Limit system: (Column 6, Table II) Bits = 16 (no. of $ commands) = 16B plus 12 (no. of & commands) = 12 (no. of sequential runs) plus 12 (no. of % commands) = 12 (no. of outhouses) plus 8 (no. of @ commands) = 8 (no. of blocks) Estimates: No. of sequential runs = 2B No. of outhouses = 1 B No. of blocks = 2B Bits = 16B+24B+ 12B+16B = 68B For Washington, B = 7,000 Bits = 476,000 (To this number must be added the number of bits for sorting to carrier) Luckily, however, techniques can be utilized which greatly reduce the required volume of storage. Columns 1, 2, and 3 in Table III, labeled "Post Office Scheme Extended," show an imaginary break with the carriers' walking order written out. A normal walking order has generally some regular pattern, such as taking all the house numbers in numerical order with a break, or such as taking first all the odd numbered houses and then all the even numbered houses. There are, however, a few houses which fall out of any pattern, and these are designated as "outhouses." The carrier walking order shown has been chosen to give a reasonably difficult example of walking order. Column 1 of Table III gives the street code, column 2 the house code, and column 3 the carrier code. Column 4 shows where these houses are located with respect to the rest of the carrier's route, for it is assumed that this break is somewhere along into the middle of his route. Thus, house number 200 will be the 40th house which he delivers, 201 will be the 41st, 202 will be the 42nd, etc. Two different serial methods of sorting to the walking order are shown. Column 5 illustrates the "One Entry per Address" system, and column 6 shows the "Limit" system. The column 5 system is best adapted when the walking order shows very little pattern, and the "Limit Sys- tem" is best when there are long runs of related addresses. The "One Entry per Address" system will be discussed first. Column 5 lists the information that would be listed in a magnetic drum against this particular illustrated break. All of the information necessary to sort to the carrier must be contained in the entry as well as the information relating to the walking order. All the systems previously discussed for sorting to carrier are applicable for this part of the job; here the system used is shown in column 9, Table I, for designating the partiCUlar break which we are illustrating. Thus, the charaders after the asterisk describe First Street, N. W., the numbers after the "@" del1o::'e which block is being dealt with, and the number after the "¢,, symbol gives the carrier number. A new register is now introduced into the machinery. This will be called the walking order register. A new symbol, the number sign "#," means that the number following this symbol is to be cleared into the walking order register. In this case the number 40 is cleared into the register. Followil1g this is the command, "%," which means that the follo~ing numbers should be taken in pairs and cleared into the tens and units column of the temporary house number register. Note that these pairs of numbers are the last two digits of the house numbers in this break. They are listed in the order in which they are delivered; thus 00 is the first house to be delivered, 01 is the next house to be delivered, 03 is the next house to be delivered, etc. Each time a pair of these numbers passes by the reading head on the drum, the contents of the walking order register are increased by unity. Comparison of the house number being sorted is being made continuously against the house numbers which are coming off the drum. When the two match exactly, the number contained in the walking order register is read out and used to direct the letter to its proper receptacle. Note that. the pairs of numbers that follow the symbol "%" are to be cleared into the units and tens positions of the temporary house number register. The differential system could be used in this instance, but the' clearing system results in more flexibility at not much extra cost. A suitable organization of distributors to accomplish the sorting to walking order was discussed earlier. The results of that discussion were .that the best system is to have the mail sorted first to a generalized walking order and then Holt-An Electronic Directory for Sorting .llail sorted to the carrier. This is illustrated again. The first time the mail is passed through the distributor, the contents of the walking order register determine the conveyor receptacle to which a letter is distributed. For instance, during the first pass, letters addressed to 300, 301, and 302 will be delivered respectively to receptacle number 46,48, and 47. During the second pass, the contents of the carrier code register will be read out as the significant output information, and the contents of the walking order register will be ignored. This machine change can be accomplished with a simple toggle switch. During the second pass of the 'exemplified mail, the letter addressed to 300 will be sorted first and will be dropped in receptacle 112, which corresponds to carrier no. 112. The next one of these three particular letters to be sorted will be the letter addressed to 302, and this will be dropped also in receptacle 112 on top of the letter addressed to 300. The next one of these letters to be sorted will be the letter addressed to 301. This will also be dropped into the 112 receptacle, and it will lie on top of the other two letters. It will be seen that these letters are now arranged in the proper walking order for carrier 112. The Limit system shown in column 6 of Table III is a much more compact notation than the One Entry per Break system of column 5. The Limit system relies for its efficiency on having most of the addresses falling in patterns. The four most useful patterns are: 1. Start from 00 and count by twos up to limit Ql 2. Start from 01 and count by twos up to limit Q2 . 3. Start from Q3 and count dovvn by twos until limit 00 is reached. 4. Start from Q4 and count down by twos until 01 is reached. Outhouses (houses out of pattern) are -preceded by the "%" command. The memory ,requirements of both walking order systems are summarized in Table IV. A final decision as to what particular system to use must await detailed examination of the carriers' routes, but at present it seems that some form of Limit system will be satisfactory. Alternate Memory Systems GENERAL This paper has thus far discussed the application of magnetic drums to the large scale sorting problem of the Post Office. It will now recapitulate the par- ticular advantages of the magnetic drum for Post Office sorting and then go on to discuss several other techniques which have also been seriously considered for this application. Perhaps the two most important advantages of magnetic drums are the fact that they combine an extremely low cost per bit together with an access time which falls exactly in the range which is best suited for Post Office directory work. For clocked drums using noncontacting heads, the price for an entire drum system (including access circuitry and reading heads) is about 2¢ to 5¢ per bit. N onclocked magnetic drum systems in which the heads are in contact with the surface of the drum can be obtained for a price of as low as 2/10 of 1¢ per bit. An example of the latter technique is the high density drum developed by the Laboratory for Electronics (L.F.E.) and installed in the Diana computer. The rotation speeds of the non-L.F.E. and contacting drums vary from 20,000 rpm to several hundred rpm. The speed of the present L.F.E. high-density drum is 180 rpm. The company is expecting to be able to raise this to about 500 rpm. Another advantage of the magnetic drum is that it can be written into and changed at high speeds by electrical means. This is not an absolute "must" but it gives an advantage to any directory using such storage in that techniques requiring quick reloading can be used; furthermore, particularly during the experimental stage of the automation program, complete sorting techniques can be comprehensively revised or completely changed with relatively little difficulty. In other words, electrically changeable memories, particularly when used in _conjunction with computer-like control equipment, lend a flexibility to the users' operation that no volume of permanent storage can equal. The fact that the memory stays correctly written even after a power failure can certainly be construed to be an advantage, although a memory which does not possess this property is not necessarily ruled out of consideration. The prime disadvantage of magnetic drums is that they have mechanically moving parts. Adjustments and physical repairs must, therefore be sometimes made, no matter how few and far between. Another disadvantage sometimes cited against magnetic drums is that they require a great many expensive heads, reading amplifiers, and complex timing equipment. It is true that many reading heads are required, but if a completely serial system is used employing a mechani- Holt-An Electronic Directory for Sorting Mail cal switching matrix, one rewrite circuit and one timing channel, the complexity and expense is reduced to a low value. There are, of course, many other types of storage which are used in and around digital computers. Most of these are not well suited to the Post Office problem either because of their high cost per bit or because of their long access time. The coincident current magnetic core memory, for example, is a fine, reliable; high-speed technique, but the cost at present is approximately 50¢ a bit. Magnetic tapes are an example of a digital technique which has too long an access time. One digital technique which is just becoming a commercial reality is the magnetostrictive delay line. The price of this type of storage, including the recirculation amplifiers, is approximately 1O¢ a bit at present. The fact that a power failure can erase this memory does not rule out such a technique in the author's opinion, because delay-line memories can be loaded quickly and accurately by tape inputs. The magnetostri<;tive technique is, in fact, very attractive, and if the price can be brought down by another factor of 5, would become competitive with the magnetic drum. Optical storage on a rotating disk or drum has been seriously considered by at least one laboratory for the Post Office application. Its main advantage is that it should be very cheap. Logically, it is best.operated in a serial mode similar to that of the magnetic drum; however, the cost of the memory in such a directory is not the major expense, being overshadowed by logical circuitry and inputoutput. Because of this, and because the magnetic drum allows electronic writing and changes, the laboratory has chosen to apply magnetic storage rather than optical drum storage to the large scale processing problem. Instead of viewing the directory as a computer, one can view it as a switching network. There are, in the computer art, a great many types of gating techniques which are well understood and which are completely electrical in their operation. Outstanding among these techniques are the methods of diode gating and magnetic core gating. The diode gating technique is particularly attractive in those areas where direct-coupled high-impedance circuits are required. The magnetic technique is particularly attractive for those applications requiring enormous numbers of gates, where a-c coupling is permissible, and where long life and low cost are particularly essential. Both the diode and the magnetic gating techniques can be applied to the Post Office problem, but 89 because of the basically longer life and lower cost of the magnetic technique, this laboratory has chosen to investigate the magnetic method rather than the diode method. Directories based on the use of various types of gating principles characteristically have the memorized information written into the memory in a fairly permanent form which can not be changed electrically. In the diode-gated or magnetic-gated directories the memorized information is in the form of wires which are more or less permanently connected in characteristic paths. The diodes and magnetic cores act only as switches which select the desired path. The "Billboard Magnetic Core Directory" is the latest of a long series of various systems using magnetic cores which haye been studied at the Rabinow Engineering Company. The basic elemen t in all the systems is a single square loop magnetic core, (preferably a ferrite core because of its cheapness) which will have a number of wires going through it. Output is obtained from this core only when every one of the inhibiting currents is removed and when an a-c drive current is applied. "And" gating can be accomplished by controlling the inhibitory wires, and "or" gating can be accomplished by adding more a-c drive wires. It is proposed that physically, this type of directory be constructed on a large flat surface area, such as the wall, of a room. Thus the name "billboard." The entire scheme of the city will appear on the wall, spelled out dearly in Arabic numerals and English alphabet. Each number or letter will be fixed to a tiny printed circuit board (called a "key") which can be independently slid into place. The key has a front surface, perpendicular to the printed circuit surface on which the symbol appears. Only 36 different types of these keys are needed. The insertion or "writing in" of information into this directory is accomplished by plugging in the alpha-numeric keys which spell out the break in the Post Office scheme. The billboard magnetic core memory has the following advantages: 1. No moving parts. 2. Extremely high speed, allowingittoservice many distributors. 3. Readily observable status board. 4. Changes are made simply and directly by nonspecialized personnel. 5. Changes can be made while most of directory is in operation. 6. Uses only passive components of high stability. 90 Some disadvantages of this technique follow: Not electrically changeable, and so cannot be used with distribution systems requiring quick reloading. ,1. 2. Requires large display area. 3. Initial cost fairly high. OPTICAL PLATE MEMORY Historically, the "optical plate memory" was developed by the Rabinow Engineering Company originally as an inexpensive directory for sorting to the carrier only. Although its capacity is too small to be practical for sorting to the walking order, the principles should have considerable application to various types of sorting and translation problems. From the application point of view, the optical plate memory is a fixed function table, translating from 64 bits input to 12 bits output. The translation time is 50 milliseconds. The main component of this type of directory is a box having a large number of thin, metal plates which are stacked together. Each one of these plates has two binary positions, either left or right. Plates move only 1/16 of an inch. On one side of the box is a large lamp and on the other side of the box are a number of photocells. The sorting scheme is inserted into the memory by punching holes into the plates in many optical paths. Output information is obtained from the photocells. See Fig. 5. The input information, which is the abbreviated address on the letter, is presented in binary form to solenoids which push the plates right or left. If there is a maximum of 64 bits of information on the letter, there are 64 plates in the memory stack. If there are 12 output bits required, then there will be 12 output photocells. The manner in which the sorting scheme is inserted is as follows: 64 bits of input information corresponding to a particular address are fed to the plate solenoids. Optical paths are then manually punched through the plates in such a way that the particular desired photocells are illuminated. The next time this particular arrangement of plates occurs, due to a letter going through the system which has that address, the same photocells will be illuminated as had optical paths punched through to them during the write-in operation. In the coding of a different address, completely different optical paths are punched. In general, no two codings ever use any part of the same optical path. The memory capacity of this type of directory is given by the area per plate divided by the area per hole times the number of plates. This resulting number should be divided by two because it takes two hole positions to define one binary number. The first model constructed of this type of memory has approximately 40,000 holes per plate. Each plate is approximately one foot square, and there are 64 plates. This makes an approximate capacity of 20,000 bits per plate, and the total capacity is about 1,300,000 bits. The memory can be operated at better than 10 cycles per second in its present form, since all of the 64 plates are completely moved and settled down in 50 milliseconds. The holes are photoetched through the metal insuring per-' fect hole alignment, and then covered with paint before assembly. The writingin operation is performed by pushing a long steel needle through the desired optical path; the paint is brittle and "pops out" cleanly. A way of describing the logical behavior of the optical plate memory is to say that 20,000 "and" gates are available, each one with 64 binary inputs. These 20,000 "and" gates are grouped equally into twelve "or" gates, each with 1,666 inputs. This means that the equipment is a great deal more powerful logically than a memory which simply stores 1,300,000 binary digits. The cost of this large switching matrix is less than 1/10 of a cent per bit. Furthermore, no equipment other than a steel needle is necessary to write information into the directory. Changes are made by putting a dot of paint over one hole in the unwanted optical path and then punching a new optical path. The main disadvantage of the optical plate memory is that it has moving parts and therefore requires at least occasional servlcmg. For some applications the mechanical rather than electronic writing will be a disadvantage. The primary point to remember about this device is that extremely sophisticated answers can be obtained very cheaply, without using any logical circuitry whatsoever. References 1. CODING PROBLEMS RELATED TO THE ELECTRONIC MAIL HANDLING SYSTEM, M. Levy, A. Barszcewski. 1957 I RE National Convention Record, Institute of Radio Engineers, New York, N. Y., pt. 6, p. 157. 2. THE MECHANIZATION OF LETTER MAIL SORTI. Rotkin. Proceedings, 1957 Eastern Joint Computer Conference, AlEE Special Publication T-92, p, 54. ING, 3. AUTOMATIC MACB.INE FOR SORTING LETTER MAIL. IV(.tional Bureau of Standards Technical News Bulletin, Washington, D. C., vol. 42, no. 8, Aug. 1958. IIolt-An Electronic Directory for Sorting Afail The Logical Design of G. P. DINNEEN I. L. LEBOW HIS PAPER discusses some features design of the CG24 comp'uter with emphasis on the techniques used in the logical design rather than on the particular characteristics of the computer itself. Often the phrase logical design of a digital system is used to describe the detailed configuration of logical circuits, either schematically in block diagram form or algebraically in the form of logical equations. Here the term, logical design, is used to describe the system operation in terms of the flow of information or the transfer of information from one register to another. Such a description has two significant advantages. First, it provides a rather concise picture by which one may characterize the over-all structure of a system without the confusion introduced bv detailed considerations and second, w"hile relatively independent of detailed circuit configurations, it can be translated easily into equipment by a circuit engineer. Tof the logical CG24 CG24 1,2 is a general-purpose real-time digital computer. It is general purpose in that it is a stored program machine with a fairly extensive list of single address instructions and conventional terminal equipment. In addition, it has a data input from a radar receiver and a data output to the radar antenna. Hence it may be used to process radar data in real time and also to direct the position of the radar antenna. The computer is entirely solid state with ferrite core storage and transistor and crystal diode logical and memory drive circuits. Its principal characteristics are shown in Table 1. From this table it is readily observed that it is in the class of current commercial scientific machines of the International Business Machines Corporation (IBM) 704 type. It has, however, achieved its operational speed with slower arithmetic circuits than most other machines of this class. This was accomplished by introducing a good deal of parallel operation. Nevertheless, the over-all power requirement of 4.5 kw, about 2 kw of which is for the cathoderay tube display units, is modest and the physical size is small as seen in Fig. l. The computer has been installed and has been operating at a Massachusetts Institute of Technology (M.LT) Lincoln CG24 I. S. REED Laboratory field station since May 1958. Registers and Transfers A digital machine is composed of a number of registers with certain allowed interactions between them. Basically, a register R is a set of n bistable elements R i , i=O, 1, ... , n-l. Such a register may contain 2 n different numbers. Let (R) designate the contents of register R. If S is another n bit register in the machine, then the simplest interaction between registers Rand S is the transfer of the number in register R to register S or in symbols (R)-+S, which signifies that after the interaction (transfer) has occurred, the contents of register S are identical to those of register R before the interaction. Register R is unaffected by the transfer. The class of registers in the machine is enlarged by considering as registers parts of registers, functions of registers, and functions of several registers. Thus, designate part of register R as its address part, Ad[R], and consider this as a register. The complement of a register R is considered to be a register. The algebraic sum of two registers Rand S, (R) + (S), is considered to be a register. Thus the class of generalized registers of a machine contains not only the registers themselves but also all desired functions of these types. The class of transfers is enlarged by admitting conditional as well as unconditional transfers. Thus if R, Sand Tare registers and A is a two valued function, then )'(R)+A'(S)-+T is a conditional transfer stating that if the function A is true then the contents of R Dinneen, Lebow, Reed-The Logical Design of CG24 Table I. CG24 Computer Characteristics General Application: General-purpose plus real-time control. Timing: Synchronous. Operation: Sequential, subject to self-modification. Numerical System Internal number system: 27-bit binary words, including two parity bits, with provision for double accuracy computation. Single-address instructions. Fixed-point arithmetic system, with a programed floating point subroutine. Arithmetic Unit Addition time: 24 p.sec (including memory access) Multiplication time: 84 p.sec (including memory access) Division time: 84 p.sec (including memory access) Square root time: 300 p.sec (including memory access) Pulse repetition frequency: 330 kilocycles per second. Storage System 8,192 words, coincident current magnetic cores, 12-p.s cycle time. Terminal Equipment Flexowriter providing 2-way communication between operator and machine. Cathode-ray tube displays: Alpha-numeric display of the contents of up to 192 memory registers. High-speed photoelectric tape reader. Three input registers for transfer of real-time data to the internal memory. Two servosystems for controlling two independent shaft positions. are transferred to T while if A is false the contents of S are transferred to T. Description of a Computer by Generalized Transfers The operation of a digital system may be completely described by sequences of generalized transfers of the type defined in the previous section. For the description of a general purpose. computer one must have sequences of generalized transfers which provide the following: 1. An algorithm for the performance of each operation or instruction in the repertory of the machine, 2. A method of executing a sequence of such instructions; i.e., a program, and 3. A method of operating a control unit to implement steps 1 and 2. To design a digital computer to meet a certain set of operational requirements, one must implement the necessary generalized transfers for these three functions subject to the constraints imposed by the available hardware. The first two of these requirements define the arithmetic and data processing capabilities of the computer. The third G. P. DINNEEN, L L. LEBOW and L S. REED are with the Massachusetts Institute of Technology (M.LT.) Lincoln Laboratcry, Lexington, Mass. Fig. 1. CG24 • The work reported here was performed at . Lincoln Laboratory, a technical center operated by M.LT. with the joint support of the United States Army, Navy, and Air Force. 91 Fig. 3 (right). Control block diagram M (C) em G F CONTROL I R afj P k OR ADDER A alfj P k requirement; i.e. control, is solely to implement the other requirements. Look first at the control and how it affects the rest of the computer. The control unit of any machine (regardless of physical implementation) may be thought of as having a finite number of configurations or states. Each of these states defines a certain set of generalized transfers to be performed in the machine. A machine is made to perform a given instruction by constraining the control unit to cycle through a definite sequence of states which specify uniquely the sequences of generalized transfers necessary for the execution of that instruction. More precisely, let fi be a Boolean function which is true if and only if the control is in its ith state. The relationship Fig. 2 (left). Simplified block diagram Application to CG24 The basic notions of the previous sections were used in the design of CG24. The hardware upon which the design was to be based consisted of: 1. A coincident current magnetic core memory driven by transistors with a 12microsecond (J..!sec) cycle time, this time being divided roughly into a 3-J..!sec read interval, a 3-J..!sec write interval and two 3-J..!sec post-write-disturb intervals (the post-write-disturb intervals were later eliminated but the cycle time remained at. 12 J..!sec). 2. Transistor and diode logical circuitry capable of operation under load conditions at clock rates up to about 0.5 megR.cycle (mc). The operational requirements indicated that the following computer characteristics were acceptable: signifies that the contents of register A at 1. Addition time of 24 J..!sec (including the beginning of the time interval during memory access). which fi is true are to appear in register B 2. 8,000 words of ~ore memory for st.orage by the end of that interval. Similarly of instructions and constants. the contents of register C are transferred 3. Single address structure for instructions. to register D during the same interval. It 4. Fixed point arithmetic with a 25-bit is easily seen that in this way a sequence word. causes a series of of control states 5. 5 index regist.ers. generalized transfers to occur which can provide the means of executing any inOn the basis of the circuit characterstruction or a sequence of such instrucistics and operational requirements the tions. Furthermore, the necessary transfollowing timing was established: fers for implementation of the control 1. The ent.ire machine (except perhaps for function itself may be described in this some t.erminal equipment) was to be synway. chronous wit.h t.he core memory. The 12Note even at this point that this method J..!sec memory cycle int.erval was divided into of description need not presupppose defour 3-J..!sec pulse intervals labelled PI, P 2, P 3, Pl. tailed knowledge of the circuits to be employed in the construction of a system. 2. No flip-flop was t.o be required to change its state at a rate faster than 333 kc The sequences of states {h} may be set (once every 3 J..!sec). up either synchronously or asyn3. The full 25-bit add time (exclusive of The indicated transfers chronously. memory access) was to be less than 12 (A)---+B and (C)---+D may occur at the J..!sec. same time or at different times; they 4. The control unit was to change its state may be performed serially or in parallel. once every memory cycle. Hence the conAll that is demanded IS that they be trol state ii was subdivided into the four concluded by the end of the indicated .. substates, iiPj, j= 1,2,3,4, \vhich would determine the machine transfers. time interval. Ud 92 T Having established the basic properties of the computer together with its elementary timing, the design techniques maynow be applied to the actual machine. First the functions of a few registers of the machine will be detailed. Let .211 designate the memory of the computer and let C designate the memory address register. The symbol .iVJ < C> means the particular memory register determined by the address in the C register. Let Nand L designate respectively the memory output and input buffer registers. Let R and A designate two arithmetic registers, the operand storage register and the accumulator respectively. Addition is performed between numbers in Rand A. Finally let D represent the program counter. For the present, the operation of the control unit will not be specified. Assume that it changes state (from fi to fj. etc.) in accordance with the previous description. For convenience, the control state' will be designated by an additional function. Let a be a Boolean function which when true indicates that the current memory cycle is one in which a new instruction is being obtained from memory. Then the control substates will be designated by aftP j or a~fiPj. The machine as so far defined is shown in block diagram form in Fig. 2. Some Typical Instructions To describe some of the computer operation, consider first the instruction "add X" which signifies that the contents of register X in memory are to be added to the contents of A, the result being stored in A. The first memory cycle of operation, designated by ah, is the one in which the instruction is obtained from memory. The following transfers occur during this cycle: laj2PII: (M, (I[N])--control unit lahP31: (D)+I--D laj2P 4 1: (Ad [N])--C Assume at the start that the control unit is in state a.f2 and that the C register contains the address at ,vhich the instruction to be interpreted is stored. The PI and P2 intervals coincide with the memory Dinneen, L6bow, Reed--The Logical Design of CG24 read and write periods. During P l the contents of the selected memory register are transferred to the output buffer N and at P 2 this same word is rewritten in memory. This, of course, is necessitated by the destructive character of the read process. During P 2 the instruction code section of the word is transferred to the control unit. During Pl, the current address in C is stored in D and is counted up by 1 during P a. This augmented address is the address of the next instruc tion in the absence of a jump instruction. Finally during P 4 the address part of the word just obtained (the address X) is transferred to C in preparation for the next cycle. Assume that the control changes to state a'il (the control state representing addition) which sets up the following sequence of transfers. la'i27 P ll: ja'i27P 21: j a 'i27P 3 1: I: la'i27P 4 AoC C)+Ao/(D)--C. The conditional transfer indicated at P 4 states that if Ao is true (sign of the accumulator is negative) C remains unchanged whereas if Ao is not true (positive sign), the address in D is transferred into C. The necessary transfers for three instructions have been demonstrated. All the remaining instructions are designed in the same systematic way. 'What remains is to indicate how the control unit operates so as to require the machine to perform the indicated sequences of transfers. The Control Unit la'fIPl/: (M, (N)--R /a'fl P 3 I: I: la'fl P 4 (A)+(R)--A, (D)--C The memory operation as before occurs during P l and P 2 and the word so obtained is transferred to R during P 2 • During P 4 the indicated sum is taken and stored in A. (The addition time of the computer is actually 3 .usec.) During this final interval the address of the next instruction stored in D is transferred to C and the computer is prepared to interpret the next instruction. As another example, consider the instruction "store in X" which requires that the contents of the accumulator A be stored in register X. The first cycle of operation during which the instruction is obtained is designated by ai2 as for addition. The second cycle is as follows: ja'i24Pt!: (M )--N, (A)--L la'i24P 2/: (L)--M la'f24P 3 / : la'i2~41: (D)--C During P 1 the word in A is transferred to L and is stored in memory during P 2 • As previously, the address for the next instruction in D is transferred to C during P 4• As a final example consider the instruction "Transfer negative to X" which indicates that if A contains a negative number, the next instruction is to be taken from register X, otherwise from the next register in sequence. Again the instruction read-in cycle is the same as before. I t is followed by: The control of CG24 may be thought of as a memory unit. It contains a set of registers called Cm, an address register G and an output register F. There is also an auxiliary register T. The control is shown in block diagram form in Fig. 3. The state~ of the F register determine the control states aji; one bit in F is designated a. During P 2 of every memory cycle an address is inserted in G. The control word selected by G, Cm, is stored in F during P 4 6f each cycle thereby setting up the proper control state aji or a'ji for the succeeding cycle of operation. In CG24, Cm is a fixed diode memory. Logically speaking it could have been an active memory like a core memory. Each word in Cm represents a unique control state aji or a'ji. It may be divided into two parts, one which initiates the transfers in the machine such as those described in the previous section, and a second address part designated G [F] which refers to operation of control itself. Each instruction in the computer is designated by a unique sequence of control states, hence by a unique set of control words in Cm. The address part of a control word usually contains the address in Cm of the next control word. Actually the operation of the control memory is determined by the transfer to G which was mentioned previously. This is IliP2j: a(I[ND+a' {X(G[F])+X'(G) }--G. When a is true, the current cycle is one in which an instruction is obtained from memory. In this case the instruction code part of N is transferred to G. This transfer was implied in the previous section when the instruction read-in Dinneen, Lebow, Reed-The Logical Design of CG24 cycle was described. During all other cycles a is not true and either the address part of F is transferred to G or G remains the same depending upon a Boolean function A to be described presently. Following this transfer into G results in the transfer, : If ~41 (Cm )--F which sets up the proper state for the next cycle. This state is either that describing the beginning of an instruction ((I [N])--G) , the repetition of the previous cycle ((G)--G) or the advancing to the next state of the current instruction ((G[F])--G). '. All that remains is to describe the advancing function A. This function is true if the number in the T register is 0, 1,2, or 3 and is false otherwise. Thus to "stick" the control in one state a number larger than 3 is inserted in T and to advance to a new state T must be counted down to 3 or lower. The advantage in this kind of control is its inherent versatility. To change the nature of the machine it is necessary only to change the control memory which in turn represents different sequences of states and hence transfers in the machine. In CG24 such changes can be made at a very slow rate by physically replacing the control memory with a different memory. If the memory were active such changes could be programmed. Conclusions The ideas presented here demonstrate a method of designing a digital computer by specifying control states which in turn specify sequences of generalized transfers. All this is done with some rather general ideas about the actual circuit configurations. To translate this description into a real computer is a relatively simple step logically.' It involves setting up a system of gated transfers where the gating is derived from the F register and a counter whose state designates the Pi interval. The versatility of the control memory was noted in the previous section. Indeed this does provide a method oPsetting up arbitrary sequences of states to execute instructions. This versatility is not put to use particularly in CG24 where the control memory is limited to 64 states and where each of the generalized transfers is wired in. Any new instruction for CG24 must be made up of existing transfers, states for which already exist in the control memory. However, the notation using transfers between registers and the implementation 93 of the control memory does permit the design of a much more versatile machine. The next step in designing such a machine is to provide a method of building in all possible transfers between existing generalized registers. g Suppose the set of generalized registers is designated by if and suppose that a control word in F contains three addresses, (AddFD, (AddFD, and (Adg[FD each of which refers to one of the generalized registers in M. Then the general transfer is stated as follows: essentially sets up a sequence of selection switch positions to perform the desired instructions. Ifil: ,uC~ )-+M The function p. is a Boolean function designated in the machine. If this function is true the generalized register determined by the contents of AddF] are transferred to the generalized register determined by the contents of Ad3 [F]; otherwise the contents of the register. determined by A d2 [F] are transferred. When viewed in this way, all the registers and derived registers are connected together through a large selection switch (or several such switches for simultaneous transfers) which is actuated by the state of control. Changing the nature of the machine is then accomplished by changing the contents of the control memory which References 1. SYMBOLIC DESIGN OF DIGITAL COMPUTERS, r. S. Reed. M.J. T., Lincoln Laboratory Technical Memorandum, iVO. 23, Lexington, Mass., Jan. 1953 not generally available. 2. LOGICAL DESIGN OF CG24, G. P. Dinneen, J. A. Dumanian, I. L. Lebow, I. S. Reed, P. B. Sebring. M.I. T. Lincoln Laboratory Technical Report, No. 139, Lexington, Mass., Apr. 1956, not generally available. Discussion D. P. Boone (Astronautic Company): You will notice that the feeder is tied to the radar. How do you accomplish the feeder from the radar? Dr. Lebow: The way it is set up right now is the following: There are three registers which take the data from the radar, and associated with these registers is another bit which tells the computer that some data has come in. Then upon sensing this bit, the data are transferred directly into the computer memory, without going through'the arithmetic unit. w. J. Seiple (Federal Laboratories): In discussing the conversion of the data, how do you get them into the computer so that it is tagged to that correlation? Dr. Lebow: One of the registers I spoke about is a register that contains the actual real time, the time at which the return was received, and this represents part of the data that are introduced into the machine. K. L. Deane (Varioma tic): Does this include some analog to digital conversion? Dr. Lebow: Yes, for the data part of the word, not for the time part, of course. Question: What consideration, or what are the considered optimizations of these controls? Dr. Lebow: This kind of optimization was considered by the people who actually deal with circuit design. I, perhaps, did not say enough about that at the beginning of the talk when I explained what we meant by logical design. I think our use of the term is a little different than what most people mean by the term. You can see from the talk that the term logical design does not get down to the detailed logical configuration. Obviously, a lot of work is necessary in going from the transfer level to the actual circuit details, and this is a function of hardware that the machine will be built of. This was optimized in some sense by the people who actually built this machine. Design Criteria for Autosynchronous S T 0 R E Circuits C~ J. C. SIMS, JR. Synopsis: The circuits and organization of present computers are such that possible operating speeds are lower than the capabilities of the components. The speed limitations of such synchronous computers will be described, and design criteria for higher speed operation set forth. Examples will be given for a logic and circuit organization which results in both faster operation and improved performance to cost ratios. In particular, circuits which are free of transient logical malfunctions, sometimes called "spikes," will be developed and a typical autosynchronous system will be shown. OMPUTING circuitry is generally organized to transfer digital information from a first storage through a logical net into a second storage register. As the information passes through storage, the wave shapes are standardized and the relative and absolute timing of the signals are restored. C n4 H. J. GRAY LOGIC S T 0 This situation is generalized in Fig. 1. Here information stored in two registers is read out on arrival of a timing pulse, CPt, passes through a logical net, and is received by an output register. Upon receipt, it can be read out again to the same or to a further network in response to a timing pulse, CP 2• In synchronous machines, the signals CPl and CP2 are clock pulses, and in the common singlephase systems are the same signal. In order to establish a point of departure for the present discussion, a brief analysis will be given of synchronous systems of this form. The storage registers are usually flip-flop or shift registers, depending on whether the system is parallel or serial. The logical net is made up of combinations of "and," "or," and "not" elements, each element usually consisting of an amplifier and a R E Fig. 1. CPz General block diagram group of logical diodes or resistors. The computing device is thus constructed of four basic devices, a store or flip-flop, an "and" circuit, and "or" circuit, and a "not" circuit. In some systems, a stroke element is used to function as an "and," "or," and, "not" device. Stroke elements are typified by the "Larc 1 c" circuit and the "nor" circuit. l , 2 J. C. SIMS, JR. is with Sylvania Electric Products Inc., \Valtham, }'1ass. H. J. GRAY is with the Moore School of Electrical Engineering, University of Pennsylvania, Philadelphia, Pa. Sims, Gray-Design Criteria for A utosynchronous Circuits NOT :=t>-c abc abc abc 000 010 100 1 1 1 000 o 1 1 J 0 1 1 1 1 000 CASE NO.1 NO.2 NO.3 NO.4 1 1 Fig. 3. OR NOT o-c-o o-c-o 00-00-00 0-0-0 0-0-0 0-0-+0 00-+01-00 0-0-0 0-1-0 0-1-0 00-10-0.0 0-0-0 0-1--+0 0-1-1-1-0 o-+(A>-o-<~}-o Regardless of how the logical "and," "or," "not" elements may be constructed, they must follow the truth tables of Fig. 2. In analyzing the behavior of any logical element, it is necessary to consider the way in which the input signals can arrive and correspondingly the way in which the output signals, according to the truth table, will be developed. Consider these conditions for a return-to-zero signal notation. A signal is represented by unity, "or" by and "and" by "times.'" The arrival and departure of a pulse at input b is indicated by the sequence of input states 0()--+01-00, etc. In the general case, two inputs (a) and (b) can change independently from zero to information and back to zero. There are four cases for binary signals, taken two at a time, and it will be noted that the first three do not introduce any ambiguity. In the fourth case, however, either input (a) or input (b) can arrive first and can leave first. The element thus passes through some intermediate input state during the set-up and dropout periods. The "and" and "or" functions are symmetrical, and accordingly, the fourth case ambiguity only serves to widen or narrow the output signal. Observe that +, 0-+0-'-+0-0 0-0-0 Truth tables For "and," "or," "not" logic Conventional Logical Elements Two-line notation 1 1 0 o-c-o Fig. 2. A=ONE A=ALL oo-ab-oo oo-cf~)-11-4h-oo A=i!ERO 100 AND INPUT GENERAL CASE CASE CASE CASE o A=, NOTHING the "and" function output occurs only during input signal overlap, and that misalignment narrows the output. Conversely, the "or" function widens the output. The fourth case of the "not" function, however, exhibits a hazard or spike condition. Here coincidence of (a) and (b) in the truth table calls for zero output, but the set-up and drop-out can pass through intermediate input states calling for a "one" output. These spurious outputs, or "spikes," can operate as information on succeeding stages to cause errors. 3,4 The most common method for eliminating spikes is through clock pulses. The outputs of the "not" gate can be sampled with a narrow probe occurring safely between the set-up and drop-out spikes. To allow this sampling to ,be done, the signals must be synchronized with the sampling pulses. A system so constructed uses a central clock and is called a synchronous machine. One pays serious penalties in speed for synchronous operation. In a typical synchronous system, upwards of half the time will be expended in retiming and in time tolerances. For example, consider a recent computing system operating at 2 megacycles (mc), or one pulse every 500 microseconds (usec). The system uses eight levels of logic between storage, and each level has a maximum signal delay of 40 JJ.sec. The delay of an average element may, of course, be only 20 JJ.sec, and, indeed, may be as little as 12 JJ.sec. But in designing the circuits and assigning the repetition rate, one must assume the worst end-of-life case. Thus, allowing 40 JJ.sec per level for eight levels, the result is a delay of 320 JJ.sec. The signals are propagated into the logical network from flip-flop storage. The flip flops, on the average, will read out with a delay of 20 JJ.sec, but in the worst case, the delay may be 40 JJ.sec. With a similar tolerance for reading into flip-flop storage, and allowing ±40-JJ.sec clock jitter, the repetition time between clock pulses becomes 480 JJ.sec. If, however, the clock and its jitter are eliminated, and average (rather than maximum) times are used, the delay becomes 200 JJ.sec for a 5-mc repetition rate. Spike-Free Logical Elements One cannot realize this speed improvement unless two things are done. First a logical clock must be provided in place of the fixed time clock, and secondly, one must avoid the spike problem. Some work has been done in this direction, notably by Pomerene,s Meagher,4 Mealy,S and Huffman. 6 Progress to date has been largely confined to the development of logical clocks. The spike problem has been resolved by careful control of network delays and inhibit pul~e widths. It will be noted by referring to the "not" table of Fig. 2 that if the inhibit input signal (a) is wider than signal (b) and completely overlaps it, the last line of the transition table can be made to read: ()--+()--+()--+()--+O. This design method, however, is not easily accom- Fig. 4 (left). Twoline buffer r---------, A- ~I.--_t___+_-__- : b---+--r.---+-- II B- ~' A~ B~ r--------l C A= I I I I B· ~.---,::---+~-+-- I I 1 I I ~'---1r-+--~ l Fig. 5 (right). Twoline gate Sims, Gray-Design Criteria for A utosynchronous Circuits I I I I I I ! -+---'--+---~,.C L _________ ...1 95 A=A A.. r--------, ~,--~l--x ! L ________ ...J A -----.III Fig. 6. I a _ a'=A I-----A Two-line negator plished, particularly in large systems. In systems using this spike correction method, a situation caned "races" or "dynamic hazard" exists which can be difficult to resolve and whose solution reduces the permissible circuit speed. A more satisfactory solution to the spike problem would be to have a logical element which did not produce spikes. In Figs. 4, 5, and 6 are shown the well- known "2 - line" notation, which imposes symmetry even in the inhibit case and results in spike-free operation. Two-line notation is shown in Fig. 3, there being four states for binary signals taken in pairs. The zero -zero case is defined as nothing, zeroone as 0, and one - zero as 1 and 1 - 1 as all or excluded. The signal forms and transitions are shown for these cases. The 2-line "or" circuit of Fig. 4 consists of two logical elements, an "and" and an "or" circuit. Inputs A and B each have two lines, a-a' and b-b'. Signals on (a) and (b) pass through A+B the "or" circuit to output (e ' ) while inputs (a ' ) and (b ' ) operate through the "and" circuit to output (c). It performs the function A+B= Cas a+b=e ' and a ' . b' = e' . The proposed symbol for the 2-line "or" element is shown. A 2-line "and" gate is shown in Fig. 5, together with the 2-line "and" symbol. The "and" circuit is similar to the "or" circuit, except that the connections are reversed to perform A. B = C as a. b = e anda'+b'=c'. Negation is accomplished by inversion simply by crossing over the a and a'lines as shown in Fig. 6. A 2-line stroke element or buffer-complementer is shown in Fig. 7. It is constructe.d with two single-line stroke elements, the signals on the lines a and b being turn -on pulses and those on lines a ' and b' being turn-off pUlses. Also shown in Fig. 7 is a truth table for the 16 states of the element. The permissible states are 1 through 3, 5 through 7, and 9 through 11. The other states are excluded by definition since the 1 - 1 "all" case is not used, and, indeed, serves as a check, as will be described later. It is a requirement of 2-line circuits that the signals return to "nothing" (line 1) between information. Input signals arrive on a or a' and on b or b', Line 6 states the "and" operation, and it will be noted that the setup and dropout conditions can pass only through lines :2 and 5, both of which give intermediate outputs of nothing. \Vhen operating as an "or" element, however, a "nothing" input does not inhibit, as can be noted in lines 3 and 9. -c {~~~:~} A· S-C A a-----.------~ A- a' b----+----I--- I 2 00 00 00 01 00 00 10 00 01 I I 00 01 00 01 00 01 01 10 10 01 01 I I 01 1 1 00 10 01 01 10 01 10 10 01 I I 10 01 00 I I 01 01 I I I I 10 1 I 01 ~ ""U"" ...n.._+-_ _........._ _ _ _ c -,.r c'-C I 3 4 5 6 7 8 9 10 A=NOTHING A=2ERO A=ONE A=ALL II 12 13 14 15 16 Fig. 7. 96 C CASE ""U"" B-~ B la a' b b' eel I I I I I I Two-line stroke element (buffer'complimenter) NOTHING UNDETERMINED OR EXCLUDE UNDETERMINED AND OR EXCLUDE OR OR OR EXCLUDE EXCLUDE EXCLUDE EXCLUDE EXCLUDE -II -3 5K 301'1' _---c· 750 .... f.5K I n~ +12 a'~-;.-_____- I n'~OI'/, 750 .... ~5K -II Fig. 8. -3 Two-line stroke circuit It is evident that the "not" gate is identical with the "and" gate; all 16 input states are shown, and inhibit operation is obtained by gating B against A. If A is zero and B is zero, the output is one. But if A is one, the output is zero, independent of the B input. In all permissible operations, the element is spike-free. The circuit of a stroke element is shown in Fig. 8. It consists of two SB100 transistors operating in the grounded emitter connection. Each amplifier is a complementer with a cluster of "or" diodes on its input. The fact that the system is spike-free allows the circuit time constants to be optimized for the signal bandpass without compromise for spikes . .If spikes were present, it would be necessary to choose a value for the speed-up condensers such that the circuit delay for spikes would be the same as the delay for signals. Obviously, if this is not done, spikes may fall in the clock sampling period. But if spikes are not present, it is sufficient to optimize for signals alone, and an improvement in power gain or bandwidth of 25% is realized. Two more elements are needed to construct a time-independent or autosynchronous system. These elements are: A 2-line flip flop and a 2-line checker. The flip flop is shown in Fig. 9 and consists, in fact, of two single-line flip flops since two bits must be stored. The circuit provides direct and complement outputs and for a clear to "nothing." The 2-line checker of Fig. 10 tests the lines for signals of "nothing," "something" (one or zero), and "error" (the excluded case 1-1). It should be emphasized that all of these clements operate in "return-tonothing" notation, each line operating in "return-t~-zero," In this mode of op- Sims, Gray-Design Criteria jo,,: Autosynchronous Circuits DIRECT OUTPUT COMPLIMENT OUTPUT A I " n "" ~R>- H/ SGT .... " -t ...... f-- FV- ~ >--- STEP 1-S ! i ADDER -~ CLEAR I Fig. 12. Autosynchronous Fig. 1 equivalent of o INPUT 0' o P E R A CLEAR TO "NOTHING" Fig. 9. N D A Two-line Rip-Rop S ADDER U M o P E R A N D ERROR RETURN TO NOTHING Fig. 13. SHIFT Autosynchronous adder ...-------cA IS ERROR 0-1 EXCLUDED) eration they are spike-free. There are no known elements that are spike free in "non-return-to-zero.' , Spike-Free Logical Networks A IS NOTHING (0-0) AIS SIGNAL (1-0,0-1,1-1) Fig. 1 O. Two-line checker RETURN ASS TO NOTHING I-N 5 IS SOMETHING ~=-~~~_~_R~EAD IN NEW OPERAMl) Fig. 11. Two-line adder Sims, Gray-Design Criteria for A utosynchronous Circuits Using the elements first described, one can construct a serial adder, and this adder will take the classical 5-level form shown in Fig. 11. It will be noted that essentially no change in logical form is required, and the new 2-line elements can be substituted directly for single-line elements in existing logical structures. Of course, it is necessary to provide a logical clock to replace the conventional oscillator, and the 2-line checker executes this function. In the serial adder, the first operand bits A and 13 are propagated into the network to initiate the process. When a sum output appears, the checker sends a pulse to the operand registers, returning the inputs to "nothing." This 0-0 condition then propagates through the net, and on appearing at the checker, sends a shift pulse to the registers to read in the next operand bits, and shifts the sum register for receipt of the result. This sequence proceeds in a self-synchronized manner until the addition is complete. 97 The speed is detennined only by the circuit delays. This process, illustrated in Fig. 12, is the autosynchronous equivalent of the general system of Fig. 1. At this point it would be in order to review critically the new organization, comparing it against the equivalent synchronous system. The first thing to note is that the amount of hardware has been doubled. Every logical element is pushpull and every storage holds twice as many bits. Has an improvement in perfonnance which justifies the increase been achieved? If this adder were a conventional singleline synchronous device, it would operate at 2.8 mc in non-return-to-zero. One would have to allow 200 ,.,.sec for the network delay and another 150 ,.,.sec for storage delay and clock jitter. Using autosynchronous elements optimized for signals, there is an average delay of around 15 ,.,.sec per level. The total network delay around the loop will be 135 ,.,.sec for signals and 120 ,.,.sec for return to "nothing" for a total cycle time of 255 ,.,.sec or 4 mc. The 2-line system is therefore a factor of 12/ 3 faster. The 2-line system has other important advantages. First, it is inherently selfchecking, and redundant logic and parity checks can be eliminated. The clock and distribution system is eliminated. One practical feature of considerable importance is that the power supply loading is constant and line transients are minimized. The autosynchronous system, which is nearly twice as fast, requires less than twice as much hardware since, in a t~·pical computer, the checking circuits, redundant adder, and clock involve about one third of the equipment. There is a cost-to-perfonnance ratio for the two systems that is about equal. It will be noted that the discussion has been limited to serial circuits and logic. This is no accident. The advantages of 2-line autosynchronous logic cannot be fully realized in a parallel system. When a logical network has many parallel related paths, the slowest path provides the detennining delay. The larger the number of paths, the greater the probability that one path will have a delay approaching the limiting worst case. It is conceivable that a parallel asynchronous system may be no faster than its synchronous equivalent. Indeed, it can be said that parallelism is never a payoff from a perfonnance-to-cost ratio standpoint and is only justifiable from the point of yiew of timeliness. It is, therefore, ironic that most of the work to date on asynchronous system has been done in connection with large par- 98 allel logic computers. The effort, of course, has been to attain the highest possible speed of the equipment. For example, the serial adder described previously performs a full 50-bit addition including carry propagation in 121/2 ,.,.sec and with only 32 transistors. A full parallel asynchronous adder with its carry net and controls may be 10 to 20 times faster, but involves over 100 times as much equipment. There is a philosophical lesson to be learned here. Prior asynchronous devices have been structurally parallel but logically serial; i.e., the machines have handled data words in a parallel manner, but instructions have been handled serially. It is felt that autosynchronous equipment should be structurally serial but logically parallel. In the system described in Fig. 12, the checker is on the output line of the logical network. It therefore operates so that only valid results can be generated. Where speed is not essential, this is the preferable procedure. If higher speed is required, the checker can monitor the input lines to propagate signals and a further checker can monitor the output lines both for validity and to step the output storage. This has the disadvantage that information stored in the network may be lost in the event of an error. This system is shown in Fig. 13. Since the checker has three levels of logic for "infonnation" and two levels for "nothing," and assuming one delay for readout from storage, the readout period will be 6 X 15 = 90 ,.,.sec per bit or 11 mc. The delay in the adder no longer detennines the bit rate, and the logic can have as many levels as desired provided the wave shapes can be preserved. Since the signals are, by definition, "return-tozero," a-c coupled pulse fonning amplifiers can be used and the logical chains can be indefinitely long. In such a network it will be necessary to include adjustable compensating delays so that all paths through the network have the same transit time. It should be pointed out, however, that this is different from the old "race" or "dynamic hazard" problem since changes in circuit time constants will not produce spikes or wrong answers, but will only cause the equipment to stall. It follows that the adder of Fig. 13 will perfonn the 50-bit addition in 41/2 ,.,.sec, which begins to compare with a parallel synchronous adder. One final point should be made. The synchronization problems in clocked machines are such that they determine the limiting speeds. As the frequency of operation rises, wiring delays, both in the network and the clock lines, become comparable to the pulse rate. Synchronous operation much above 5 mc becomes difficult, even with very fast low delay amplifiers. The autosynchronous approach not only raises possible operating speeds, but reduces the amount of equipmen t required. Conclusions The autosynchronous logic and circuits that have been described are capable of higher performance than their synchronous counterparts. The new logic is selfchecking and inherently more reliable, but the technique can be applied to existing logical networks by substitution of 2-line elements for single-line elements, the clock being replaced by information checking or test elements. The advantages of the autosynchronous approach become greater as new short delay amplifiers become available and as clock tolerances and wiring delays in conventional networks become the principal considerations. I t is hoped that the autosynchronous concept can contribute to improved reliability and speed in future computing devices. References 1. THE TRANSISTOR NOR CIRCUIT, W. D. Rowe. AlEE Conference Paper 57-195. 2. A NEW METHOD OF DESIGNATING Low LEVEL, HIGH SPEED SEMI-CONDUCTOR LOGIC CIRCUITIi. W. B. Cagle, W. H. Chen. Westcon Convention Record (Circuit Theory), Institute of Radio Engineers, New York, N. Y., Aug. 1957. 3. ON THE LENGTH OF THE LONGEST CARRY IN BINARY ADDITION, Herman H. Goldstine, James H. Pomerene. Ordnance Computer Research Report, vol. II, no. 4, Institute of Advanced Studies, Ballistic Research Laboratories, Aberdeen Proving Ground, Md., Oct. 1955, pp. 23-26. 4. METHOD FOR SYNTHESIZING SEQUENTIAL CIR- CUITS, George H. Mealy. Bell System Telephone Journal, New York, N. Y., vol. 34, Sept. 1957, pp. 1045-79. 5. THE DESIGN OF HAZARD-FREE SWITCHING NETWORKS, D. A. Huffman. Journal, Association for Computing Machinery, Baltimore, Md., vol. 4, no. 1, Jan. 1957. Discussion Question (Bell Telephone Laboratories): As far as I know, you gentlemen have invented the word "autosynchronous." I just want to be sure that I know what you mean by it. Do you mean by autosynchronous, any system in which clock pulses are generated by checks of some sort on the order of computing circuits, such that the clock does not run at a steady rate, or do you mean specifically what you have described in the paper-the not retu...'l1ing to zero features? Mr. Sims: I think your first definition is Sims, Gray-Design Criteria for A utosynchronous Circuits closest to what we have had in mind. That is, that an autosynchronous device is one in which there are essentially regenerative impulses which, by sensing information flowing in the network, can use this sensing to propagate new information. Question: There was something I did not understand. I did not quite understand about your difference between parallel operation and the serial operation as far aswell, let us say you spoke about using, possiblyadding, one bit at a time. This could speed up multiplication, but what about addition? Would it not increase the delay or the length of time for addition? Mr. Sims: The question was what I had intended in discussing the use of sequential logic and parallel operations in present machines. I said this was the way in which most computers had been built up to this time, and I said that for autosynchronous or asynchronous equipment, it looked as if one should use a lot of independent serial arithmetic units, rather than a single parallel one, because you would get more work done for your money this way. Question: Wouldn't this increase the amount of equipment rather than decrease the amount of equipment for one parallel? Mr. Sims: No. I think this follows from the fact that a parallel adder has perhaps one hundred times as much equipment as a serial adder, and yet is only perhaps ten times as fast. Analysis of TRL Circuit Propagation Delay w. J. DUNNET E. P. AUGER Synopsis: A program to design transistorresistor logic (TRL) circuits and compile TRL propagation delay tables on a digital computer is presently underway at the Sylvania Data Processing Laboratory. This paper points to the need for such a program and describes transistor and TRL circuit studies that have resulted in the basic relationships being programmed. The criterion of TRL circuit performance is taken to be signal propagation delay. This delay can be predicted by applying the transistor large-signal transient expressions of Ebers and Moll. The accuracy and usefulness of these expressions are increased by measuring pertinent transistor parameters under large signal transient conditions and by considering the practical case where propagated signals have finite, rather than step, rise, and fall times. OMPLETE knowledge and control of TRL building block performance is necessary to predict the performance of a large data processing system constructed using TRL logic. (The TRL building block is frequently referred to as the NOR circuit.) Control of the circuit performance permits confident application of the circuit thousands of times over, in both controlled and uncontrolled environments. One of the most important limiting characteristics of a TRL circuit is its propagation delay. Propagation delay is defined as the time required, after application or removal of an input signal, for the TRL transistor output level to begin to C A. C. SCOTT change. The magnitude of propagation delay depends upon: 1. The transient performance of the transistor. 2. The way the TRL stage is wired into the system and the number of inputs being energized (circuit environment). 3. The state of the transistor (conducting or nonconducting) prior to the application or removal of an input signal. Gnder the section headed Propagation Delay, transistor input capacity transistor rise, decay and storage times and their relationship to propagation delay are discussed. A procedure is outlined for calculating the propagation delay for a given transistor and circuit configuration. Later, TRL circuit environment is considered and general expressions relating turn-on and turn-off circuit betas to circuit parameters (supply voltages, input and collector resistors) and transistor steady state voltages, VBE and VCE (saturated), are developed. Finally, relationships developed in the paper that permit prediction of TRL propagation delay are s1.lmmarized. Introduction to Transistor-Resistor Logic The TRL circuit consists of a resistor "or" gate followed by an inverting transistor amplifier. Fig. 1 shows two TRL circuits arranged in cascade. In this Dunnel, Auger, Scott-TRL Circuit Propagation Delay Therefore, when you put in, say, ten serial adders which can make ten serial additions and keep up with my synchronous (ten times as fast) parallel adder, I can do this for one-tenth of the price. Question: Have you considered the problem of locating faults by diagnostic checks? Mr. Sims: I think as far as locating troubles are concerned, it is to some extent simplified since the propagation of information depends on the propagation of prior information, and since each bit is checked by a little checking arrangement on the output. Then, a fault of any kind causes the equipment to stall right at the commission of the error, and I would think that suitable indicator lights would tell you where the fault occurred. figure, the transistor parameters and circuit values are chosen so that the collector voltage of the off transistor Tr - 1, is of sufficient magnitude to keep Tr - 2 in saturation. If the collector voltage of an "off" transistor is defined as a "1" and the collector voltage of an "on" transistor is defined as a "0," then the logical performance of the TRL circuit can be described as follows. Referring again to Fig. 1, if neither inputs 1, nor 2, nor 3, are present, the collector voltage of Tr-l will be at "1" level. If anyone or more inputs are present, the collector voltage will be at "0" level. Any binary-digital logical function can be performed by combinations of the basic TRL circuit. For'exampIe, Fig. 2 shows a TRL flip-flop and Fig. 3 a TRL adder logic. Compared to other popular types of logic, for example current model and direct-coupled transistor logic (DCTL)2, TRL is more economical and reliable due primarily to its lower transistor count and simplicity. The one disadvantage of TRL is that it does not fully exploit the speed capabilities of the transistor. As previously mentioned, the transistor parameters and circuit values of a TRL circuit are chosen so that the collector voltage of an "off" transistor is sufficient to keep a driven transistor in saturation. However, it is not meant to imply that a TRL circuit is designed on the basis of steady state conditions alone. Generally speaking, excessive propagation delay occurs well before a TRL circuit fails to meet steady state requirements. As a result, TRL circuit design is governed primarily by propagation delay considerations. W. J. DUNNET, E. P. AUGER, and A. C. SCOTT are with Sylvania Electronic Systems, Division of Sylvania Electric Products Inc., Needham, IVlass. 99 -Vee -Vee Fig. 1. Two TRL circuits arranged in cascade Fig 2. TRL flip-flop Propagation Delay CAUSES OF PROPAGATION DELAY There are four principal causes of propagation delay in a TRL circuit. Three of these which have been discussed by Mo1l3 are the rise or turn on time, To the decay or turn off time, T 2 , and the storage time, T j • A fourth cause of delay is the capacity from base to ground of an off biased transistor. This capacitance carries a small positive charge which must be drained away before the transistor can begin to conduct. :Moll has shown that rise, decay, and storage times for step changes in base current are determined by the following relations (see nomenclature for definitions of terms used in these and following equations). To = I (I-ax )w.v In IBI (I-as) (1) IBI-0.9 - - - Ie aN aN ICl--- 1m T2 I-av In . (l-ax)wx ICI _ .~ IB2 10 I-aN (2) shown in Fig. 4.) One part, an intrinsic factor, is a measure of the transistor switching characteristic. The second term is a natural logarithm, essentially established by the transistor circuit environment, which is described in detail in a later section. The intrinsic factor contains two transistor parameters, aN and WN. The parameter aN is the ratio of Ic and IE, when VCB=O, and WN is defined by Ebers and Moll as the alpha cut-off frequency of the transistor in the normal direction. The radio-frequency (r-f) alpha cut-off frequency varies considerably with both collector current and voltage. Therefore, a small-signal a-c measurement at anyone particular bias point does not fully describe the frequency response of the transistor during a large transient. It can be seen from equation 1 that the rise time, when the transistor is driven from cut-off to the edge of saturation (JC= {JI BJ, is equal to the product ..of the intrinsic factor and a constant, 2.3. tT WX+WI IBl-Im T 1 = - - - ' - ' - - - - - In - - - - I-av WXWI( 1 - asaI) (X 0 Enhancement) (4) (3) ICI--' -1m a.v Referring to equations 1 and 2, it can be seen that these expressions consist of two parts. (In deriving equations 1 and 2, Moll assumes that wNRLCC< < 1. The more practical case, where wNRLCC is of the order of magnitude of unity is discussed later in this paper. In this paper only p-n-p-type transistors will be considered. The positive sense of base, collector and emitter currents are as 100 2.3 (l-aN)wN In order to avoid confusing the WN in equation 4 with the conventional r-f measured value, WN has been redefined as Wo the characteristic cut-off frequency. 2.3 expression also consists of two parts. One part, an intrinsic factor, is a measure of the transistor storage characteristic. The second term is a natural logarithm, essentially established by the transistor circuit environment. As preyiously mentioned, the circuit enyironment is described in detail in a later section. The intrinsic storage factor contains four transistor parameters as, aI, w.v, and WI' The first. as, is the ratio of Ic and IE when VCB=O. The second, aI, is the ratio of IE and Ie when VEB=O. Finally, WN and WI are defined by Ebers and Moll as the alpha cut-off frequency of the transistor in the normal and inverted directions. respectively. Here again conventional r-f small signal values of WN and WI measured at anyone particular bias point do not fully describe the frequency response of the transistor. Conventional r-f measurements are made with the collector junction reyerse biased, however, during storage time the collector junction is forward biased. It can be seen from equation 3 that the storage time, when 1 BI = 1CI and I B2 = 0 is equal to the product of the intrinsic storage factor and the natural logarithm of {IN' (5) The characteristic frequency, wo, can be obtained by measuring {J and tT and applying to equation 5. Referring to equation 3, Mo1l's storage time equation, it can be seen that this In order to avoid confusing the w's in equation 6 with the conventional r-f measured values, (I - a.Val )WNWI WS+WI Dunnet, Auger, Scott-TRL Circuit Propagation Delay C h-1. 8(,,-1) SUM Fig. 3. has been redefined as WB, where WB is called the characteristic cut-off frequency in saturation. InfJ WB=- ts (7) The time, ts, ,vill be called the characteristic storage time of the transistor. Fig. 5 shows a plot of WB as a function of Ie. The characteristic cut-off frequency in saturation ,vas obtained by measuring ts and (3N and employing equation 7. A comparison of measured and calculated values of rise time versus IBI> storage time versus IBI and I B2 , and faU time versus I B2 are shown in Figs. 6-8. The calculated values were obtained from equations 1, 2, and 3 by employing the characteristic frequencies "-'0 and "-'B as discussed. These plots indicate that considerable accuracy can be obtained in calculating the transient performance of a transistor. The fourth delay effect to be considered is caused by the capacity from base to ground, Cl, of the off biased transistor in Fig. 9. This capacitance carries a small positive voltage when a stage is cut off TRL adder logic which must be discharged before collector current begins to flow. Since both the collector and emitter diodes of a cut-off transistor are back biased and the load impedance is fairly small, C1 will include both the collector and emitter transition capacities of the transistor in question as well as the wiri:J.g capacity. Transition capacity of a diode varies inversely with the 1/3 to 1/2 power of the voltage 4 but since the collector voltage stays constant until the base voltage falls to zero, the collector capacity will have an essentially constant value. The emitter capacity, however, will vary as the base voltage Dunnel, Auger, Scott-T RL Circuit Propagation Delay changes. The total capacitance should thus be considered voltage sensitive, but a fair account of its effect is obtained if it is measured under the approximately desired operation conditions. 5 In the design of medium and high-speed TRL circuits, the effect of collector capacity, in particular the RLCe product, cannot be neglected. Easley6 has shown that when the product "-'oRLCe is of the order of magnitude of unity the intrinsic factor in equations 1 and 2 becomes _I_(~+RLCe) I-aN wo It follows then that equation 5 can be written as shown in equation 8. tT = 2.3 (I-aN) (1wo +RLCe) 2.3 =- (8) WO' where Fig. 4. Positive sense of base, collector, and emitter currents Fig. 10 shows a plot of "-'0' versus lefor a 2N428 transistor with a Cc of 8.1 micromicrofarad (p.p.f). This plot was obtained by measuring iT and using equation 8. 101 1.0 ALLOY JUNCTION TRANSISTOR 2.8 0.9 2N428 I.c= 3MA 0.8 2.4 = IMA TRANSISTOR 2N428 o MEASURED lbl 0 0 z u L1.I 2.0 0.7 0 ~ en CJ) z « 0 « o 0 1.6 ~ 0.6 e e 0 0 u w CJ) ~ O. a::: co ~ Q 1.2 ~ " 0.4 t= GI J 0 .8 0 0.3 0 .4 .0.2 0 0 o 4 8 12 16 0.1 20 0 0.2 0.4 lei - MA Fig. 5. Fig. 7. Characteristic cut-off frequency in saturation versus collector current 1.8 09 1.6 as TRANSISTOR 2N428 o MEASURED 1.2 0.8 1.0 1.2 1.4 Storage time versus turn-off base current Ie =3MA 0] Ie =3MA 0.6 hz-MA TRANSISTOR 2N428 o MEASURED (/) 0 z 0.6 0 u w (/) CJ) ~ 1.0 u w u o 0 0:: 0.5 0 ~ (/) ~ ~ 0.8 u 0!4 ~ II ~0.6 0.3 0.4 0.2 o o 0.2 0.1 O~ o ____~____~____- L_ _ _ _~_ _ _ _~_ _ _ _~~_ _~ 0.2 0.4 0.6 0.8 1.0 !.2 1.4 lbl-MA Fig. 6. 102 Rise time versus turn-on base current O~__~~__~~__~~__~~__~~__~~__~ o 0.1 Fig. 8. 0.2 0.3 lb2- MA 0.4 0.5 0.6 0.7 Decay time versus turn-off base current Dunnet, Auger, Scott-T RL Circuit Propagation Delay .6 AL LOY JUNCTION TRANSISTOR 2N428 Vee:- 8V, Ce= 8.1 p.p. f .5 c z 0 (.) w A C/) ............ C/) Z 6 0: +Voo ·0 -0 .2 3 lIJ (!) B ~ .JO 0 > .I -E o 4 20 16 12 8 Ie- MA Fig. 10. Fig. 9. "'e f versus collector current Circuit analyzed for delay 1.0 R, = 6.2 K R2.=27K .9 en .8 0 0 z (TEKTRONIX 53/54 C) (.) III .7 en 0 RL = 1.5 K II:: ~ .6 :::E I 0 .5 III II:: => ill ! ~~IIII o. RCA 2N582 ill_ <[ .4 :::E b. Phileo 2N501 0.04.}4see/em 0.5 "sec/em Fig. 11. en III Waveforms of circuit in Fig. 9 .2 ~0'-6 ~~ Fig. 12 (right). Comparison of calculated and measured values of total 2-stage delay time /'0 / / 0 0 CACULATED - \Vhen using fast transistors such as the micro alloy diffused-base 2N501, or the mesa 2N509 (Cc~2 JLJLf) circuit parasitic capacities should be considered. In particular, because it is multiplied by f3.y, parasitic capacity from col1ector to base, C2 should be minimized. If the product of the load resistance and the parasitic capacity from collector to ground, R L C3, is small compared with the turn on and turn off transients, its effect will be to introduce a delay R L C3• .I DERIVATION OF PROPAGATION DELAY Consider the problem of calculating the time for a change of level to pass through the two stages of Fig. 9. The operation of the circuit is as follows: Point A is brought from ground to a negative value in a time, T2 which is the turn off time of the previous stage calculated from equation 2. The base of the first stage, point B, is Dunnet, Auger, Scott-TRL Circuit Propagation Delay .3 .4 MICROSECONDS .5 .6 .7 .8 .9 1.0 brought from its small positive value to ground in the on delay time, TOD, which is determined by T2 and the capacitance C1• It is shown in the appendix that Ton is determined by 103 TOD =In [(eT2/RCl_l RCI T2/RC I )(V2- VI)] V2 for TOD ~ T2 (9) where R is the equivalent source resistance to the left of CI , V!, is the vo1tage to which C] is initiaiiy charged, and V 2 is the voltage to which C] would finally be charged if the base did not begin to conduct. Expressions for R, V!, and V 2, for a TRL stage with more than a single input resistor and for various driving conditions are derived in the appendix. 'When the base voltage fal1s to zero, the base emitter diode becomes forward biased and C1 is unimportant. The transistor is then turned on with a wave form which has attained TOD/T2 of its maximum yalue and rises to full value in time T 2 - TOD. This is to say that the transistor is turned on with what is left of the input transient after time TOD has passed. I t is shown in the append ~x that this on rise time, TON is given by The second transistor is then turned off by a transient which exists over a time TON. It is shown in the appendix that this results in a storage time Ts= T I -11 1 [eWBTON +In WB WBTO.v-, (11 ) where Tl is the storage time calculated from equation 3 assuming the turn-off transient occurs instantaneously. The total delay time between the change of level at point A and at point Dis (12) Fig. 11 shows waveforms taken from the circuit of Fig. 9. Under certain conditions, the calculation of storage time, Ts, previously described may be considenbly simplified. For example if wo'(T2 - T OD)«l TON~To+ (T2 - TOD)2 2T~ (13) 1 [TOD eWO '(T2- T oD) ] To.\"= To+--;- In -T + 'T -1 wo 2 Wo 2 (14) (10) where To is the on time calculated from equation 1, assuming the maximum base current is applied as a step. And if furthermore w B T ov«1 (15) That is to say in many cases the storage time, Ts, may be approximated by the storage time plus one haH the rise time calculated from Moll's equations for step inputs. Equations 9, 10, and 11, were tested in a 5-stage TRL circuit for which Vec = V BB =8 volts, Rl=6.2K, R 2=27K, and RL = 1.5K. Two transistor types were used: The Radio Corporation of America (RCA)2N582 and the Philco 2N501. The frequencies wo' and WB were determined by measuring rise and storage times for a step input and using equations 7 and 8. C1 was determined by measuring the on delay time for a step of input current. Measured and calculated values of total delay time are compared in Fig. 12. Measured values are typically 10 to 25% greater than calculated values. For the 2N582 transistors this error was definitely shown to be due to an excess of storage time over that calculated from equation 11. This effect may be due to the nonplanar geometry of the transistors. For example, Simmons; has pointed out that minority carriers in the fringe areas of the base region have a longer storage time than carriers in the narrower cen ter. This means that for fast turn off the fringe carriers wi11 contribute to the faU time while for slow turn off they will contribute to storage time. Transient and Steady-State Analysis of the TRL Circuit In the preceding section, it was shown that the transient performance of the transistor is controHed by two factors. One, an intrinsic factor, is a measure of the inherent switching properties of the transistor. The second, a natural logarithm, describes the effects of the circuit environment on the transient time of the transistor. It can be seen by rearranging equations 1, 2, and 3, a!1d letting T.. -3 Ie ICI ICI (3AI=I-' (3A2=-I ' (3D=-I m m m -VB£fZ. -VC1:21 ~~------- -------~) that the magnitude of the natural logarithm term, in general, is established by the ratios of transistor beta, {3.v, and circuit beta's, {3A and {3D. To=~ In wo' Tl = ~ In (3N/(3A2-(3N/(3D WB T2 =~, In ..J Fig. 13. 104 Wo General arrangement of TRL circuits (3N/(3AI (3N/(3AI -0.9 1-(3N/(3D 1-(3N/(3D O.lO-(3N/(3D (16) (17) (18) For minimum rise time, it is desirable to Dunnel, Auger, Scott-TRL Circuit Propagation Delay Too TL~TL=2RLC' Ts ! TOD I VI (T2) e R CI +Too - - - 1 = - - - 4 - - T2=-ln R CI VI-V2 Rei wo' ~ 1-Bo BN-0.1- ~: J [~.T01 .... I e-I Ts=TI+--ln - - eva Wa TON TON=To I +Wo - Iln VCEZM3R2 VaaRI M3R2+R, M3Rz+RI II I R'+RJIN~~' (R211 BN BN B;2 - Bo I Ti = - I n BN CVa 1-BD :~) leo BN 8;1 I To=-In t.c)OI BN -- 9 BAI ' r i R=R2 -R,M3-P3 VCC-VCE3 + (VaE4-VcE3) (Vaa+VcE3) IcoRz r3 q3 + q3 RL RI (M4R2+RI) M4R2+RI BGEN= P3 - Via Vz= Rz [REQ+RIII P;- J RI M3-P3 +(_R_' "REQ+RI) M3-P3 P3 - E\R21/ Vaa + VaE3 Rz of RI (RI' RL)-+R.[RI+(N2-1) RJ [RzII REQ+RI:J _)+ REQ+RI P3 Fig. 14. (VcE2-VaE3)( M3-P 3) {(Vcc-VsE3)RI-VBU [R'+~N2-1) R LJ}P 3 + M~lp3) (Rz II-R-I M3-P3 have a minimum value of 13Al' however, minimum storage time corresponds to a maximum value of 13 A2. Minimum values of storage and decay times are obtained with minimum values of /3 D. This section will be concerned with expressing the circuit betas /3Al' /3A2' and /3D in terms of the circuit variables. Fig. 13 shows a general arrangement of TRL circuits from which a general expression for circuit beta can be obtained. Transistor Tr- 3, under consideration, has a total of Ma input resistors. P a of these input resistors are connected to TRL circuits in a one state. Each of the P a transistors is loaded by JY minus one other TRL circuit. The collector of Tr- 3 is itself loaded by Na input resistors; qa of these input resistors may be connected to the positive bases of "off" transistors; ra may be connected to the negative bases of "on" transistors. During a particular transient, the arrangement of TRL circuits shown in Fig. 13 is only valid if the coefficients P a and q~ are properly defined; i.e., during storage and decay transients Pa=O; during rise time transient qa = o. -- + 1 T2 ,,",0 T2 t I VI= [Too~o' e(T.-Too) - I J - VCEZ P3 I (RzJl REQ+RI -+- _R_I_- co P3 M3-P3 1 [REQ+R' II R, I ~ ---p;- M3- P3 Rz Propagation delay time A general expression for circuit beta, /3GEN, can be obtained by solving the circuit equations of Fig. 13 for base and collector currents and by making the following assumptions: 1. V BE3 = V BE31 = V BE32 = V BE33 ... 2. V BE41= V BE43 = V BE45 . .. time calculations is given directly by equation 19 ; i.e., /3GEN = /3 A2. During a turn on transient, qa=O, and the turn on beta is as shown in equation 20. V - V CE3 cc ----+ /1Al = RL (VBE4 - V CE3) r3 Rl --....:;:....--------- V BB + V BE3 + R2 (VCE2 - VBE3)(M3-P3) + Rl {( V cc - V BE3 )R 1- V BE3X [R 1 +(N2 -1)R L l }P 3 (Rj,Rd+R1[R j +(N2 -l)RLl V CC - VCE3 (VBE4 --'--'-----+ V CE3) r3 Rl V BB + VCE3- I coR2 M 4R 2 +R1 q3 Turn-off beta, B D, can be obtained by letting Pa=O. RL V CC - V CE3 (VBE4 - V CE3 ) ----+ r3RL Rl /1GEN = ----~.-;;..~~---­ VBB+ V BE3 + R2 (VCE2- VBE3)(M3-P3) Rl {( V cc - V BE3 )R1- V BE3 [R j + (N2 -1)R L l }P 3 V BB + VCb3-IcoR2 M 4R 2 +R1 q3 /1D= ----......;;.-...;;...---- + (R1'RL)+RdR l +(N2 -l)RLl (19) The turn on circuit beta, {3A2' for storage Dunnet, Auger, Scott-TRL Circuit Propagation Delay (20) (21) _ V BB + V BE3 + R2 (VCE2 - VBE3)(M3-P3) Rl For a particular transistor, a TRL cir- 105 ( T2-TOD) Fig. 1 5. t TRL circuit turn-on base current cuit has its maximum rise time when IBI is a minimum and fJ Al is a maximum. It can be seen from Fig. 13 that the arrangement of TRL circuits resulting in a minimum I Bl occurs when a transistor is being turned on by only one "off" TRL circuit (P a= 1) while the other (~~fa- 1) inputs are returned to TRL circuits that are on. These Ma-1 inputs shunt the base and reduce the turn-on base current. The collector of the single TRL circuit that is supplying the turn-on current must be loaded by N 2 -1 other TRL circuits. Large values of M a, and N 21, N 22 , ••• mean smaller values of I Bl and increased transistor rise time. :Maximum transi~tor storage time, for a particular transistor, occurs when fJA2 is a minimum and fJD is a maximum; i.e., when the turn-on base current, I B1, is a maximum and turn-off base current, IB2' is a minimum. I t again can be seen from Fig. 13 that the arrangement of TRL circuits resulting in a maximum IBI occurs when a transistor is being turned on by a maximum of "off" TRL circuits (P a= Ma). In this case, the collectors of the "off" transistors should be loaded by a single TRL circuit, i.e., N 21, N 22 , ... = 1. Minimum IB2 occurs when Pa=O and Ala = 1 in Fig. 13. That }vfa = 1 corresponds to minimum I B2 can be explained as follows. During storage time, the base retains essentially the same voltage and polarity as when turn-on base current existed. This voltage causes current in the external circuit that contributes to [B2. This base self-discharge current is a minimum when the external base circuit impedance is a maximum; 1.e. -"'\fa = 1. I t should be noted that the combination of a maximum value of turn-on base current and a minimum value of turn-off current cannot be obtained with a single arrangement of TRL circuits. Maximum [81 occurs when }.13 is a maximum while minimum IB2 occurs when .1vla= 1. However, ~'\fa must have the same value during both turn-on and turn-off. It 106 can be shown that maximum storage time occurs when 111a is a maximum. :Maximum transistor decay time occurs when fJ D is a maximum, that is, when I B2 is a minimum. During decay time, I B2 again contains a component of current due to base self-discharge. Minimum 1B2 corresponds to minimum base discharge current. In Fig. 13, when Pa=O and ~1fa= 1, IB2 has a minimum value. The two steady-state transistor voltages V CE, the saturated collector to emitter voltage, and VBE, the base to emitter voltage, appearing in equation 19 have been defined by Ebers and Moll8 as shown in equations 22 and 23 . 1E2 t lEI Fig. 16. TRL circuit turn-off emitter current and storage times can be more accurately predicted by: 1. Measuring transistor parameters under large signal transient conditions rather than small signal r-f measurements at a particular bias point. 2. Considering transistor circuit turn-on and turn-off currents as ramp functions rather than step functions. KTln [1+ 181 +lcI(1-aI ) ] + Q lEO (ICI +I81)reV (23) Equation 22 consists of three parts, the first of these represents the emitter and collector junction voltage, the second and third terms represent the voltage drop across the collector and emitter contacts, respectively. The first term increases with the ratio of col1ector to base currents whereas the second and third terms are essentially a function of collector current. Equation 23 defines the base-to-emitter voltage of the transistor. This expression consists of three voltages, the emitter junction voltage, the voltage drop across the base and emitter contacts, and the voltage developed across the body resistance of the base. It is possible now to predict the transient performance of the TRL circuit by computing the circuit betas, fJ D and fJA, from equations 19, 20 and 21 and applying these computed values to the transient equations 16, 17, and 18. This results in accurate expressions for To, T 1 , and T2 in terms of resistance values, transistor parameters and supply voltages. The usefulness of these expressions is further increased by accounting for tolerances, temperature effects, and endof-life values of the various parameters. The significance of transistor input, collector capacities, and circuit parasitic capacities has been shown. Fig. 14 summarizes relationships developed in' the text, that permit accurate prediction of propagation delay. A computer program based on these relationships is being prepared. The goals of this program are to: 1. Achieve optimum TRL circuit design. 2. Compile propagation delay tables useful to the logical designer. Appendix Tum-on Delay Time If the circuit driving the effective base capacity has an equivalent source reisistance R and the equivalent source voltage changes from VI to V 2• the problem is to find the time for the capacitor voltage to reach zero. If the open-circuit driving voltage is considered to vary linearly between VI and V2 and to have the Laplace transform: Es(S)=( VI - 1_e- ST2 V2 ) ~ (24) the turn-on time will be the time to charge the capacitor from zero to Vl volts. Since the charging rate of the capacitor is determined in the frequency domain Eo(S) --=---Es(S) 1 +RC1S (25) the desired discharge time is the solution of (26) Summary or The propagation delay associated with TRL circuit has been defined in terms of transistor and circuit parameters. It has been shown that transistor rise, decay, rLe ,ToD .1 VI T2 "TRCI-IJ=VI-V2RCI -Tnn!RC, V_, (27) for TOD~ T2 Dunnet, Auger, Scott-TRL Circuit Propagation Delay and aNWO' Ib(S) IcCS)=-- - - I-aN S+wo' (35) for a load impedance small compared with the output impedance vf the transistor. Thus, In Fig. 13, the capacitance from base to ground will be initially charged to a voltage VI VBBR I - VCE2MsR2 _(R21IRI )Ieo (29) 'MsR2+RI Ms If P s of the inputs are being driven, the effective charging resistance will be the parallel combination of R2 with RJ/(Ms P s ) and (30) which equals 0.9 Ie when -1] TOD +ewo '(T 2 -ToDl 1 T2 WO'T2 TON =-,In 1 (1 ) Wo 1-0.9 c -aN [ IBaN (37) MODIFICATION OF MOLL'S STORAGE EQUATION FOR FINITE TRANSITION TIME OF TURN OFF CURRENT Assuming N2 = N2I = N 22 . .. , each input will appear to be turned on with a voltage of E RI N2-I - - - - ( Vcc":'" V BES ) + V BES RI R N2 -I + L (31) Moll computes the time for the component of current collected at the emitter junction, IER(t), to become zero after the emitter current steps from lEI while the collector current remains at a constant value of I c . The transform of the component of current collected by the emitter is given as: applied through a resistance of Ier(S) = -ar(S) REQ=RLIIN~~I (32) Thus the total voltage toward which the base capacitance will charge for Ms inputs, P s of which are driven is given by: +~ (38) where aN(S) and ar(S) are the normal and inverse current transfer functions for the base region. If instead the turn-off transient is as shown in the Fig. 16, then Ier(t) = VCE2(R21IREQ+RI) Ps Ie( S) +aN(S)IE(S) I-aN(S)ar(S) ar(Ic+ a NIE2 ) + (I-aNar) (33) Ms-Ps -IcO[REQ+RI11~IIR2]+ P s Ms-P s[ which equals zero when Iel+aNIE2 aN(IE2-IEI ) The second, third, and fourth terms in equation 33 represent the contributions of (Ms P s) "on" collector voltages, Ico and the bias voltage VBB respectively to the final open circuit voltage at the base. This corresponds to Moll's equation 52 where WA and WB are roots of: w2-w(wN+Wj)+wNwr(I-aNar)=0 TURN ON RISE TIME Once the base voltage has fallen to zero the transistor is turned on with a current as shown in Fig. 15. The Laplace transform of this current is: _ [TOD ~ I_e- (T 2 -TOD)] IB(S) -IB T2 S + S2T2 (41) Then to the approximation that WA is large compared with WB, the storage time in terms of the base current is and the transform of the collector current is: Dunnet, Auger, Scott-T RL Circuit Propagation Delay M = number of inputs to a TRL circuit P=number of inputs being energized N = number of outputs from one TRL circuit T.l1=delay time of a pulse traveling through two cascaded TRL circuits IBI = turn-on base current IB2=turn-off base current Ic=collector current at edge of saturation region I c = collector current before the beginning . of the turn-off To=rise time, measured between 0% and 90% points T2 = decay time, measured between 10% and 90% points TI = storage time, measured from the time when I BI = 0 to the time when VCB=O ON = ratio of Ie/IE with the transistor in the normal direction ar=ratio of IE/lc with the transistor inverted WN = small-signal cut-off frequency in. radians per second with the tranSIstor in the normal direction Wr = small-signal cut-off frequency in radians per second with the transistor inverted fa = characteristic cut-off frequency during a large transient ts = characteristic storage time, measured when IBI =Icl and IB2=0 tr = characteristic rise time, measured as the transistor swings from cut-off point to the edge of saturation, VCB=O, 0%-90% WB = characteristic cut-off frequency in the saturated region leo = leakage current from collector to base with the emitter open lEO = leakage current from emitter to base with the collector open K=Boltzman's constant: 1.38X1O-23 T=degrees Kelvin: 273 centigrade Q=electron charge: 1.6XIO-19 coulombs IE=emitter current: Ie+IB ,BAI = turn-on circuit beta: Ic/IBI ,BA 2 =turn-on circuit beta: Ict/IBI ,BD = turn-off circuit beta: ICl/IB2 r c. = collector contact resistance Cc = collector capacity rBI I I = base resistance as measured in the current saturation region reV = emitter contact resistance Wo = characteristic cut-off frequency in radans per seconds ,BN=~ I-aN V BE = base-to-emitter voltage VCE = collector-to-emitter voltage TRL = transistor-resistor logic Ie Enhancement whenIBI>,BN ~ote: Other symbols found in the text are specifically defined by the diagram on which they occur. References S (34) Nomenclature (42) 1. MILLIMICROSECOND SWITCHING CIRCUITS, H. TRANSISTOR CURRENT S. Yourke. Transactions Professional Group on Circuit Theory, Institute of Radio Engineers, New York, N. Y., vol. CT-4 no. 3, Sept. 1957. 107 2. SURFACE-BARRIER TRANSISTOR SWITCHING CIRCUITS, R. H. Beter, W. L. Bradley, M. Rubinofl'. Convention Record, Institute of Radio Engineers, pt. 4, 1955,pp. 139-45. 3. LARGE-SIGNAL TRANSIENT RESPONSE OF JUNCTION TRAN"SISTORS, J. L. Moll. Proceedings, Institute of Radio Engineers, vol. 42, Dec. 1954, pp. 1773-748. 4. JUNCTW:-i TRA:-iSISTOx THEORY (BOOK), R. D. Middlebrook. John Wiley & York, N. Y., 1957, pp. 154-63. Sons, Inc., New 5. EFFECT OF NONLINEAR COLLECTOR CAPACITANCE ON COLLECTOR CURRENT RISE TIME, T. R. Bashkow. T1'ansactions, Professional Group on Electronic Devices, Institute of Radio Engineers vol. ED-3, no. 4, Oct. 1956, pp. 167-172. 6. THE EFFECT OF COLLECTOR CAPACITY ON THE TRANSIENT RESPONSE OF JUNCTION TRANSISTORS, J. W. Easley. pp.6-14. Ibid., vol. ED-4, no. 1, Jan. 1957, 7. Hor.E STORAGE DELAY TIME AND ITS PREDICTION, C. D. Simmons. Semiconductor Products, May/Jun. 1958, pp. 14-18. 8. LARGE-SIGNAL BEHAVIOR OF JUNCTION TRANSISTORS, J. J. Ebers, J. L. Moll. Proceedings, Institute of Radio Engineers, YOl. 42, Dec. 1954, pp. 1761-772. The Recording, Checking, and Printing of Logic Diagrams M. KLOOMOK P. W. CASE 1:\ THE design and development of today's complex computers, the ratio of routine and repetitive work to creative engineering is getting larger and larger. The factors which make the development of a large scale computer a lengthy and time-consuming process are more and more the sheer mass of detail work that must be performed; the drafting and checking of logic diagrams; the assignment of circuit components to printed cards, of printed cards to panels, of panels to gates and frames; the routing of signal and power wiring between the thousands of circuit components; the production of the many pieces of paper needed to conyey to manufacturing, production control. cost engineering, maintenance engineering, etc., the details they require to do their work. There would be eyery reason to question the feasibility of embarking on a new development project were it not for the fact that a considerable number of these detail tasks are practical computer applications. International Business Machines Corporation (IBM) is using 700 series computers (704, 705) to assist in the design, deyelopment, release, and product en- MACHINE OPERATIONS Fig. 1. 108 MASTER TAPE Component parts of the design mechanization system H. H. GRAFF gineering of the new 7000 series of generalpurpose data-processing machines. This system of computer programs is referred to as the "Design .l\lechanization System." In this system the computer does not replace the design judgment and knowledge of the engineer. Its function is to eliminate the manual repetitive execution of established procedures following rules laid down by the design engineer. IBM is also using 700 series computers to assist the engineer in the design of logic. Computer assistance in logic minimization, logic implementation, logic simulation, and physical placement is the subject of future papers and is not considered here. Component Parts of the Design Mechanization System The phases of the design mechanization system discussed herein are shown in Fig. 1. The development engineer in designing computer logic presents his ideas on a system drawing. This rough sketch is then coded for key punching and punched into cards. The cards are read into the computer and the master tape is updated. The master tape contains a complete historical record of the design to date and is the source of all data for succeeding programs. The' 'master tape select program" selects from the master tape any desired section of the machine for further processing. The "logic checking program" operates on a complete section of machine logic and checks for adherence to design rules. In addition to checking for proper circuit configurations, many logical checks can be made to test for redundancies and proper page-to-page notation. Most of the rules established in a given machine design program can be inserted into this Fig. 2. Basic components of SMS, printed circuit cards process. The output, in the form of an errata list, can then be returned to the design engineer for his corrective action. The "systems page print program" converts the coded logic record appearing on the master tape into a computer-prepared systems drawing in block diagram form. Preparing the printed logic page by machine saves large numbers of man-hours over the drafting process formerly used. Other advantages are greater speed of preparation, increased accuracy, a uniform quality of printing regardless of the number of changes to which a given page has been subjected, and the ability to recreate an old engineering level page when needed. The "panel wiring program," operating on a section of checked logic, routes the necessary panel wires in such a fashion that lead lengths are minimized, taking into consideration capacitive loading and interwire noise. The output is a panel wiring chart to be used as a release document for construction of the panel. A secondary objective is the ability to alter previously computed panel configurations to accommodate "engineering changes," and to make updated panel wiring lists. M. KLOOMOK, P. W. CASE, and H. H. GRAFF are with International Business l\lachines Corporation, Poughkeepsie, N. Y. Kloomok, Case, Graff-Recording, Checking, and Printing Logic Diagrams The "bill of material generation program" uses the checked logic to generate bills of material for electrical components. This is merely a matter of extracting data from the master tape about the location and quantity of component circuits, and referring to tables to assemble the proper information in the desired format. This program also must provide for handling engineering changes. The design philosophy which makes design mechanization a practical reality is the far-reaching standards program adopted at IB:\r. The key to this standards program is the "standard modular system" (SIvIS). Before going into the' details of the design mechanization system it is worthwile dwelling briefly on SMS. drawing for the design mechanization system, retaining the original for his own use until presented with a final drawing, prepared by the computer, see Fig. 5(A). This final drawing is also on vellum. When a change or correction is made to any page, the computer-produced vellum is marked up as shown in Fig. S(B) and resubmitted as an engineering change. A new computer-produced vellum master is then prepared. TRANSCRIBING The conversion of the information on the logic sketch forms into digital data for key punching is effected by a group of clerks called transcribers. The transcribing form is shown in Fig. 6(A). The numerical designations on the transcribing form refer to the card columns into which this information is key punched. No knowledge of circuit logic or convention is required and familiarity with the transcribing rules can be achieved by an average clerk in about one week. Each logic sketch sheet is encoded into the transcribing form in the following sequence as in Fig. 6(B). Standard Modular System The standard modular system is an engineering program for uniform application of solid-state technology in a new generation of IBM data processing machines. SMS makes possible a flexible, standardized packaging system for IBM's new 7000 series transistorized computers. The basic component of SIvIS is the printed circuit card shown in Fig. 2. This card is pluggable into sockets on a standard panel. The panels in turn are packaged into one of two standard modular frames. Fig. 3 shows a sliding gate that fits into the larger of these frames. Four standard panels are seen on the gate. By selecting appropriate quantities of either of the standard frames, packaging is available for data processing equipment ranging from desk size to the giant 7000 series. A standard range of circuits is used throughout for logical design, so that the logical design process consists of selecting pre-designed standard circuit cards to implememt the logic. SMS and design mechanization complement each other, since standard packages make possible the use of more generalized computer-aided design techniques. These techniques in turn enable more sophisticated automated manufacturing methods to be used. In addition, the standard circuits lend themselves to computer and checking techniques. Input LOGIC SKETCH FORM The input document to the design mechanization system is the logic sketch form. This form has been designed with several objectives in mind: Fig. 3. SMS gate with four standard panels 1. Clarity of logic flow. The page is large enough to enable the development engineer to present a logical entity, and not so large as to appear cluttered, overcrowded, or confusing to the maintenance engineer who must service the equipment using these documents. 2. The page must be of a size to be printed by the standard IBM line printers. 3. Clarity of presentation for the nontechnical people who convert the information into punched cards. The resultant form is shown in Fig. 4(A). A maximum of 45 logic blocks are permitted, arranged in a 5X9 array. A co-ordinate grid is superimposed for ease of reference to any given circuit block. Provision is made at the top of the page for the required identifying information and at the bottom for comments. The numbers in the background indicate the number of alphanumeric characters permitted for each name. Thus, for example, each line entering or leaving the page can have an identifying name 30 characters long, expressed in two lines of 15 characters each. The form is printed on vellum with the guiding information printed in nonreproducible blue ink. In using the form, the engineer marks in freehand the blocks he wishes to use, the lines between the blocks, and the off page lines as in Fig. 4(B). He then obtains a facsimile of the Kloomok, Case, Gra.ff-Recording, Checking, and Printing Logic Diagrams 1. Heading Information. Space is provided at the top of the transcription sheet to record the identifying information. 2. Information in the Circuit Blocks. The fields in the body of the form are blocked out to indicate the allowable number of characters and are numbered to indicate the card columns into which the information is to be key punched. The circuit blocks are identified by their co-ordinates on the sketch sheet and transcribed in order, from top to bottom and right to left. There are six lines of alphanumeric information inside each circuit block and the columns labelled Line 1, Line 2, ... Line 6 on the transcribing form indicate where this information is to be written. 3. Signal Lines. _-\'fter all circuit blocks are transcribed, the lines between blocks are encoded. An lines are described in consecutive columns of the transcribing sheet, and the titles have no meaning here. All lines are considered coming from, rather than to, a block with lines entering the page on the left considered coming from a set of pseudo blocks on the left side of the page. Lines are described by their beginning and ending co-ordinates. Line routing is performed by computer. 4. Supplementary Information. Space is provided at the bottom of the transcribing form for the comments indica ted on the logic sketch sheet. The Master Tape yIASTER TAPE FORMAT The heart of the design mechanization system is the master tape which contains a complete historical record, block by 109 PIN TITLE MACH LL!I 12 3" 15.7.' 10 1/ 12 '3 , ... 15 III: 17 2021222324252627 282' 3031 3% ~ LOGIC I 2. 3 4 5 6 7 • 9 ttl 3 I 125451'1"0 I I 'I~" I : T r I I I 1 ± +, 1114'1'1"0 T 12S411' , '~" I I T I I I I I I I I ± 1114'1'1"0 I '~" I I I L I L I P I I I L I I PH I I I I 1 I 125451"'10 'I I 125411""0 I '~" ::, I I '~" I I I L I L T I I I I I I I Z :5 .. 5'1 • 910 l '~r 125451""0 I I I I I H- I T I I 1 1 I I 1 P I I 1 I 'f"+- l I 1 PH I I f 11141171"0 I I ++ : r-+' f:, L l;H f+ 12345171"0 ~ I 1 ~ I 1 PH ':~'I IT: I PM I T 1154'6".10 I 1 L ;~"I I I I 1 I I 1 '~" 1 + T • ~~ '254'17"'0 L I : I 1 PH I Il345.7,,10 I I~! '!', ~rt' i~! '+.$~' i~,1 I I I , I 1+1 I I l 1 I I 1"T"j:' I PH I," I 1 IlL 1 ' I L =+= I R+ I I 1 PH I "joeln '2345618910112 Il54517 . . . 0 II~'I I T I I 7 r$' " I I I L I P I I L I r:-:r 1234517'''0 rt~-l-'I~i' 1 TI I f;~ rr-+ T I I L L I 1114 I I 1 I I 7::::::::::t+ +' a I I I I I I I 1 PH I I T US4 I I I I I I I I I 1 I 1 :' =+= " I I I l I PH : '~' I 1 1 T I L I I I I I I 1 I ';~" : T i '~" 1154117'110 I I T '$ , ~ 1154111'''0 I '~" i I 1 I I PH ~ :. :ttt':' I ~ I 125411""0 iT: I L I I I PH I 1254'1' . . . 0 I ;~"I I I I I I PH I I I I I COMMENTS T I I I 1 ENGINEERING CHANGE NO. ~ 9 10 tI 12 13 14 Ii! 1617 II I. 2921 22. 252425 26 &123" 39 :}! 32 3, 34 3' 38 37 3. ,940 I Z '3 .. 5 6 '1 • , 10 II 12 13 .4 15 t6 17 II I' 2021 22 23204 25 26 27 2829 30 51 52 33 34 35 545 57 3. 5! 40 I 2. '5 .. 5 6 7 II 9 10 .. 12 13 14 15 16 17 Ie I' 2021 22232425 2' 27 282930 31 32 3'3 3. 3~ I 2 3 • ~ ~ 7 , 9 19 II '215 I" 15 'I '7 II '9 2921 22 ,3 , . 25 2621 2' '959 3! 32 33 54 ~ 31 37313. 40 '"2345678910111213141516 17 Ie 1920212223242526212829305'32333435"3138"]940 3637 31 3i"O Fig. 4(A). block and page by page, of the machine logic. This master tape is updated I I,......: PH 125451,"10 I I I 1 L I ,I I T I PH ""'0 T 1 f+ ' I'" " '+ '~"1 I I T :1 ...;. 1254'1' . . .0 I I 1 1 I I I I I 1,'''0 '~" I I I L I I + ± ~ 1 L 1 I i i '254517"'0 t4 1234317'''0 '~" .~ '!~!'±~ '~' I I , I 1 ;" ~ I 12'r:~:r'lO ,1+, , 12341.7'.10 b:1'~I' :t H-:: I 1 ' ,,:t, -l-': ~T ! 'i-l T: ..LI'f-l- I" I I 1154'1""0 I 2 15 ~ ~ '25411""0 I iT: I I L 1 I PH I 'i~!' + I 'f4 I~~i I 1 7 I 12345171910 I I L Il3451"'10 I I I I I I I PH T I T I L 11141171"0 I I '~' I : I I 'I~" I I 110 T 123 45671910112 I I 2. :5 .. 56 '1 • ;~'I I I 1 1 iT: I L I I I PH I II 111411""0 12'45f6 T I I I, 1 I 12. J" 5 I ' • 1'0 I + t+: '~' I : Logic sketch sheet periodically as necessary and is kept current from the early stages of development until the machine is serving customers in the field. Kloomok, Case, Graff-Recording, Checking, and Printing Logic Diagrams The organization of the master tape is illustrated in Fig. 7. The first record on the tape is a machine identification. Separate master tapes are kept for each machine using the Design Mechanization System. This is followed by a record for each page, including the name, part number, comments, etc. Following the page record is a separate record for each block on the page. Blocks are described in the order in which they are used on the logic sketch sheet. Only the blocks which are actually used are recorded on tape. Block information is kept in order of most recent engineering level, but information at all levels is always retained. There are two reasons for maintaining this historical information. TII'rIIYGI?/I'iG T , N (j R 5 ro, / '7/020/./ / - S c-Q IJN I T S I!L 02.0/.01.1 N "~!' D- J I( ,4A 13.- zw 1. During development, an engineer at his own discretion can discard any logical design and revert to an old configuration. 2. During production there may be machines in the field at many different levels, depending on the date of manufacture or on the customer's choice of special features. The record length for each logic block is variable, depending primarily on the number of output lines. An average block, with one output line requires 70 characters. _\ typical machine with 1,000 pages at a representative number of engineering levels requires about 1,200 feet of tape. MASTER TAPE UPDATING PROGRAM updating is performed each day, if any activity took place, by writing a new master tape, merging the information on the old tape with the cards prepared in the transcription process. During the updating run, provision is made to rearrange any section of the master tape, renumber pages, rearrange blocks, etc., at the discretion of the engineer. Of particular interest is a page rearranging routine. This routine can be run wherever it is desired to alter the arrangement of the page in the interest of clarity or appearance. MASTER TAPE SELECTION PROGRAM During the master tape updating run, a "request card" is punched for each page affected during the run. The request card contains the page number, part number, and engineering level. A file is kept of these cards for use with the selection program which prepares a new tape of any page or section of machine at any engineering level. This selected tape is the input for the print program or the checking program or both. Provisions are made for selecting all pages at their latest engineering level, when it is desirable to avoid inserting large quantities of request cards. Fig. 4(8). Logic sketch sheet with typical entries by computer Print Program PAGE SIZE The logic diagram shown in Figs. 5(A) and (B) was printed from tape on an IBM 717 printer. The only modification to the printer was the addition of a set of six special symbols to each type wheel. The circuit blocks printed on the page, are constant in size, 6 characters wide and 7 lines high. Two factors govern the size of the blocks; the necessity for printing all pertinent data, logical function, transistor type, physical location, circuit part number, etc. in a clear and legible format, and the desire to keep the block size to a minimum in order to increase the number of blocks which could be printed on the page. Space is provided to insert seven vertical lines between adjacent blocks, and ten horizontal lines. The 717 printer, which is the standard line printer for the 704 and 705, has 120 type wheels, thus the maximum number Kloomok, Case, Graff-Recording, Checking, and Printing Logic Diagrams of characters that can be printed across the page is 120, The length of the page is determined in a sense by the width, since the final aspect ratio must approximate a "B" SIze drawing (17X22 inches). Considering the space that must be allowed for off-page line names, for lines between the blocks, and for other necessary identifying information, the optimum page size was chosen as 120 characters by 186 characters. This results in a 5 X9 array of circuit blocks. The vertical size of the page could be increased without limit, of course, merely by printing more lines. The horizontal dimension could be increased by turning the type faces 90 degrees on the type wheels, thus interchanging the width and length. In either case, however, the desirable aspect ratio is destroyed. The vellum produced on the printer is 15 X 24 inches. During development and 111 1-~ TIMING RING TGRS 39-350Z SPA TIAL ARRANGEMENT OF CIRCUIT +N TGR 10 ON BLOCKS 1,02.02. 1 - - - - - - - - - - - - - - - - - - - - , r +P RD AOR GATE ~. I 04. 0 1 . 1 - - - - - , I Lc- r+O--l ,..0- +N A PULSE I I I i I '0- r+;:--1 B-------------------------------O---------=~6~ Tr~ot:H:fl r IP HI IN PI 101BAI 101BAI 11K14IB-------E-llKHIG-, IABZWI IACUI I L._'" I I I : I I I I I I I I 1 L. _ _ _ , I I +N LOC SEL I L~c-r:;;:-' I I I I r----+-------------'" I Lc-r:A1 +N STEP 1 OR 21 I I A - - - - - - - 5.0 .... 01.1 2.01.01.1----+-+0-1 I I I I IN PI I I I 101BAI I I I 11K131 B-' I I I AAZW I :: -P GATE 1-9 + ZO-Z9 5.01003.1 I I I I I -------0--------+----.1 +N UNI T SEL 2.01, Ol.l-----h 0-------------"7I rF- ,,---'" I I I rD- L__ " I I I I I I I I I I I I I I I I I I I I I I I TGR 1 L.C-r-" I +TO I I I I I I IP NI 101BAI 11JZli BI ABZW I L. _ _ " 1,02.02. 1------+-+------------------------------------------------0 I I I -N TURN OFF TGR 9 S- 1· 02 .02·1 IP N IA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - t - - - - - - - - - -.. 101BAI 11Kl7IB-, I rO-L~BZ~J I I I I I I I I I I I I I I I I I I I I I I I i I I I I 1,.+-+-+-" I -N RESET II ,---+--+--, 1. OZ. 0 Z . l - - - - - - m - - - i t - - - t - - r - - - - - - - - - - - - - t - - - - - - - - - r - - - - - - , III I I I I I I II I I I I I I II I I I I I I I I I I I I I I I I I I I I !Ho-r~TA'l !r-L-F-r~~' i ! i! T~RT~~N OFF III I I II I I I H - - - - + - - - - - - - - - - + - - - - - - - - - - - - - - - + - + - - - - - - - - + 8 - 1,02.02.1 II 'E-I N P I II 101BAI I P NI 101BAI II IlmI G-n: .E_mW G-, : i II IIII~ rF l!-t-~--~+_=+:--i--~--------------~------------!-t-------_~~H~. 6~~ oi. i I I I I I I I I I I 1. _ _ .1 III III I I I I I I I I I r+--+--+---.t I +N B PULSE 111.-------+-+-++--+-+------+------------, ---++, I I I ,,---+-+---, I I I I I I I I I I I I I I I III I I I I I I I I I I I tfI I 1,.+--+--+--+--+----+---+-------+-+-----, III I III I I I I TGR 3 I I I I I 11.+(-,.-., I L.H-E-,.---, I I ,.----"l I I I I.F-r---, I IA_-!__ I I r-t---C-I+ TO I I-A i i I 1°-I+A I I IN PI I I IN PI II I IP NI I I IP NI I 101BAI I I 101BAI II I !OlBAI I I 101BAI I-N STEP Z3 I I WD-I+TA ii I I -p l~a~~o~~i!!---, II t~~J·B-.t I I I,.-J !rF_l!~;l'~-ri! I ! rD-li~i~JB--l 1 rE_~~JG---l=~H~·~~:0~.1 1.+-+--+---+--+---+--+-----------+-+----------+---- 1.02.02.1 I II I I I I I I I Iii I I I I II I I I II I II I I ,+-_+-_+__ 01 I ! !rt--t-t---t--t-~+-t-~------1 (I !! ! i :;kE~E~I~IV-l0 o-*c- 5o.01."n.1 I I I I: ll.-------t-itt=t=--:=~---t-----_, l-*o- !=aOl.03.1 II I I.-F-r---' I I.++-E-r-" I I ,.--, I I ,.--, I H)-+-----------E-I+A I I IO-D-I+TA I I.-+-F-I+TO I I .-+--"31-A I I+N STEP 15 It I J IH--+--'" I I Ii I i iH-J i i i iA-----+- i.Oi.02.1 II I IN PI I I IN PI II I IP NI I I IP NI I II I 101BAI I I 101BAI II I 101BAI I I 101BAI I G : I I im:: - ' i Im~IG-1: i .-E_llmi G- , : I ami I I;L+-+-------------________ ; I.-~ ~ rF-'--.I l!--.u.---.::;=+~_~!-~-+~==-..:.----!:~H~.b~~o~.l ++ _____ +_H __+-+ __ ++_+_01 I -N TURN OFF I I I I I I I I II II I I I I I I : I : I I II I I I I I I 1 II r t - t - - t - i - t i - T G R 5 - t - - - - l I I I I I I '-+F-IN PI I 101BAI I I I I I I I I I I I I II II II I I I I I I II I I I-P REG· BIT I Z-U"REG BI T Z. 50.01.01.1 r-+--+----' I I t-*A- 5. Ol.O:h 1 ! r----------------~:§: [:;;:-1 U]5: fill: !rH-c- f+rCil...-J ! 1! l!~J !I lmw-n! r-o-l~~W--l ! A__ III III B-' I I IP NI 101BA' I I ! _p CHI( TGR • ,,++-++--+--+--+---+---- I I i II II :1 II II I I I I I I II II III III III I I I I I I I I I PI I II II._~ __ ~ ___ J TG~.g2. 02.1-------!-!-------------------------------L-------l.!-!,Lt-t--t---, -Ii TURN OFF I I I II L-t------------------------------------------~~: f+;:-lI H--+O :: I I I IN I I I PI II 101BAI II I AAZW I I I 1.----.1 I I 1.:)2.02.1 1;r;E~Egl~IV-12 r-*4- 5.01.01.1 '-*50- 5.01.03.1 LtS5: rtTA-lI II 1I I "'+F-IN I I I 11KZ31 G--' I 101BAI I -P CHI( TGR 5 111(Z4 I G-O-------- 1.0Z.0Z.1 I ACZA I L---!--~:=:~--------:~2~Eg.gf~oi.l I I I I I I I I I I I I I I I LINE REPRESENTATION Six special characters have replaced standard symbols on the 717 type wheel. These are shown in Fig. 8. The corners enable lines to bend in any direction. The diamond denotes a junction of two lines. Line crossings are represented by a conventional plus symbol. Vertical and horizontal dashes makes up line segments. PAGE IMAGE IN MEMORY -P REG Sl T 5 I IA------*1- 50.01.02.1 IN PI I OlBA 1 +P TURN ON 11KZ7IB----,TGR 6 l~~~J L_ 1.02.02.1 *1-01Bl TZ7B--01B3TZ7B ·2-01B1 T23B--01B3TZ3B "3-01B1KZ8F--01BZK01F-D- "4--01Bl T23D--01B3T 230 *5-01Bl T 230--01B3T230--01B3B28B-0184B01B "6--01B1J28C--01B2J01C "7--01 Bl T ZlD--01B3TZ1D-01B3BZ8F--01BIoB01F :~=gi~i~m::gimm :g=mm~g::gmH~g--~fe;~m!!~~B4g~~5T21B-01B3BZ8C--01B4B01C "S--:01BlI(Z8H--01BZJ(01H TAG DATE E.C..HO. TAG IA 10-21-58 9001001 DATE E.C.NO. TAG DATE E.C.NO. TAG DATE E.C.NO. I I I I I J ! Fig. 5(A). Machine-printed systems page pilot engineering stages, these drawings are used directly or reproduced in small quantities. For larger volume produc- 112 Although the arrangement of the circuit blocks is not altered by the computer, except on request, the print program does route all the electrical lines on the page. It was found to be cheaper and faster to specify the lines by computer than to record the co-ordinates of all line segments as drawn by the engineer and reproduce the lines when the page is printed. Furthermore, the recording of the lines is a manual job, subject to human error. I I I L _____________________________________________________ -----:6:r+;:--' COMMENTS SPATIAL ARRANGEMENT OF eIRC'CIT LINES ¢-*9- TG~. ~2. 02.1-----!-~-------------------------!~=====t~ttt=!=t:=-7t-l-----1 IN PI 101aAi The print program does not in any way alter the spatial arrangement of the circuit blocks, producing a page identical (as far as the logic blocks are concerned) to the logic sketch sheet which the engineer designed. The task of arranging the blocks on a page by computer is not insurmountable, but two disadvantages ,,",ould be experienced. First, when the engineer receives a page of logic blocks from the printer, which is arranged differently than the page he submitted in the first place, he would have difficulty in following the logic flow. Second, when a page is changed by the addition or deletion ofa hlock, it would be likely that the computer would again rearrange the page spatially. Thus it was decided to preserve the spatial arrangement chosen by the engineer. tion and tor use in the field these drawings are reduced to 11 X 17 inches ("B" size). An exact image of the final page is developed in memory, character by character. This necessitates a memory allocation of 22,320 characters (120X 186) independent of computer aud printed instructions. It takes an average of 45 seconds of computer time to develop a page image in memory and write this image on tape for off-line printing. It takes 75 seconds to print each page on the 150-line per minute off-line printer. Logic Checking Program OBJECTIVES The checking program is designed to yerify that the logical configuration con- Kloomok, Case, Graff-Recording, Checking, and Printing Logic Diagrams forms to a set of rules specified by the engineer. Secondarily, of course, the checking program must also detect (and where possible, correct) the errors introduced into the system by the manual processes previously described. The design rules can be divided into three categories: 1. 2. 3. Circuit rules (Appendix I). Logic format rules (Appendix II). Packaging rules (Appendix III). TIMING RING TGRS I-S 3'-350Z The circuit rules involved detailed examination of the circuit interconnections to ensure that workable circuit combinations exist. This is called a "circuit compatibility" check. A good deal of effort has been expended in this area to indicate and spotlight the specifics of the incompatibility so that the engineer can identify and correct the difficulty with as little time expenditure as possible. It was felt that a simple yes or no answer to the compatibility question would be too expensive in terms of engineering man-hours. I t should be noted that the philosophy of the program is to identify deviations from the rules and call them to the attention of the designer. When sufficiently sophisticated programs are available, a different philosophy in which the computer does a good deal of the initial design will obviously be in order. I I 5.04.01.1---, lc-f+ii--1 I 'l>-f:;;--l I -P STEP l-11-Z1 I B - - - - - - - - - - - - - - - - - - - - 0 - - - - - - O . 6 - 1001.02.1 I t-----· !h~IB---E_I~ui!G-, IABZWI IAClAI I f-·-.... fO-·-.... I I I I . 1 +N A PULSE _ _ ¢\L\~l~ II I I I I I I I II +N2;8i.ml-~t~:r+Al I _,_:-:;:0 : I l~lB~1 I i ;:'5 AI I I llllal B-' , -D-'IA10 B - - - !! .-, 1-9 + 20-29 I I 100Z.OZ.1---+-+ I I I I I I 1i l~lB~1 B Ilml - r-----' Ii I I I TGR 1 1----I ! I '111 ! ,c-POt 1 !~R~;!B-,I I .0-1 ABZW I I I II .-+--+--, 1,1 I Tr~ I I I I I.~_!-!_J 11-t-r---------r--------r I I I 1--ja- III I III .--, 10+I>-I+TA I III I I II'E-IN PI II 101BAI II f II +_N_ST~~ot~.il l C - F l A_ _ _ 0 I ! I! -N RESET 0 02.0Z 0 *7- 5.01.03.1 I II I +N UNIT SEL I I I 2.01.01.1--+1 r - - - + ' I TGR Z I I I .-, I I I I -N TURN OFF I..-+--F-I+TO I I I I I TGR 10 II I I I H - - - + - - - - - - - - - - - + - - - - - - - - - + - + - - - - - - - i t 8 - 1.0Z.0Z.1 II I IP NI I I I I II I 101BAI I I I I ! ! !! II II I I II I I rE-l~~jG-l FjlmjG-n! . + - + - - + - - + - - + - - - + - - + - - - - - - - - - + - - - - - , - - - + - +_ _ _ _ _ _-..;..p III III III II II I I I II I CH~.6~~ O~'.l I I .+--+-+--, I I I I I I I I I I III I I I I' I I I I I I II I I I .+----+-+---+--+-----------+--+--------+-+-----III I III I I I I TGR 3 I I I I I "+C-,.--, f "++-E-,.-, I I 1"--' I I I I.F-,.---1 HA I I rO-I+A IA_-!__ I n-C-I+TO IA-! I I I-A I I I IN PI I I IN PI II I IP NI I I IP NI I I 101BAI I I 101BAI II I IOlBAI I I 101BAI I-N STEP 23 I I 11K19IB--' I IIK18IG-OI I IlKZ1IB-, I I I l J 2 1 1 G - - + - - 1.01.0101 I I IAAZWI I IAClAI II I .0-IABlltl I I I I ABZW I I II II "--" I rF-L--... II I " -__ -I "E-'--" TGR 2 II L+-.+I __+_+ +'___ +I __+I _______+_+ -+.I -"-(.t'tK1.02.02_1 I I II I I I I I I I I I I II I I I I I I I I I I-P "~G BIT 1-10 I I I I II I I I I I I I I I I"REG BIT 1* • I I II I I ,+-+-+--" t I I ¢--*c- S.Ol.Ol.l -P GATE 10-19 I I I .----+-+-++---+-+-----+-------. I I I 1.02.02.1---., I I I I t I L_+_+ __ ., I I I I ----0- 5.01.03.1 +N B PULSE II . - - - - - + - + - + + - - + - + - : - - - - + - - - - - - , --++, I I I 1._-+-+---, I I WO-I !! ! ! ! !rt--t-t--t--t-rGR"4--t--t-!----! -frnl J r-t--*3f::;;--t--~~TI~01~oz.1 !H-----~:~:f+A-1H-LJ'f:5:fill1 II II /I II II I I I I I IN PI I 101BAI I IIK19IG--' IAAlWI L _ _" r - - t -F H I IN PI II I IP NI I I I 101BAI II I 101BAI I I I IIK20IG-OI I IIKZIIG--.I I I IACZAI II I.-E-IABZWI II I I ,.F-L _ _ " II II 1. _ _ _"'" I J I IP NI 101BAI 12J041 IABlWI ,.C-L_'" I I I I I-P CHK TGR 3 t~-!-----------------!i-----~t=tt:=t=:t:=t+:t:r-------t-N TURN OFF TGR " I I I I I I I I II I II I I II I /I I /I I I /I I II I 11.-+-+----' I I I .----+--+++--+--+--+-+ I I I I I I '1/1 I I I I I I I I I I I .+--+-+--+-+-+----+--, I I IIII I I I I I TGR 5 I I I I I I I I I I 1 . 0 2 . 0 2 . 1 - - - - + . - + - - - - - - - - - - - - - - - - - - + - - - - - - + - . , I "'+---+--+---, 1.02.0Z_1 I-P REG BIT IZ-l1*REG BIT 2* 0-+9- 5001.01.1 I I I L-*A- 5.01.0.3_1 ! f----------------~:§:FlA--LGf5:r+TA-l !rt-t-c-f+r01 J ! LOGIC FORMAT RULES These rules involve checks to ensure that the proper logic format has been followed in minute detail in the finished logic drawings. These rules make possihIe and useful the machine-produced logic drawing described previously. If this checking were not done, the machine drawing would be only a neat version of the designer's sketch, with the possibility of errors added in preparing it for processing. As a result of this checking' it is assured that the logic is presented in a uniform manner and that it is accurately described. Transpositions of characters and clerical errors are eliminated, making the logic description a reliable document for designing and servicing, and enabling it to serve as an accurate information source for the automatic preparation of necessary secondary documents. I +P RD AOR ·GATE -P GATE CIRCUIT RULES 90.1 +Nl!g~Jt~::.N_ _ _ _ _ _ _ _ _ , -N TURN OFF TGR 5 I I I I I I I I I I I I I I I I IN PI I 101BAI , 11KZ31o-J I AAlW , A I IP NI I 101BAI I 11KZ5IB-, I .-0-1 ABllt I I I I I II II II II II II I I I /I I I I II I I I 11.--+-+---' I L+-+_+ __ , I I I-P REG BIT 3-1Z I*REG BIT 3* 0-*4- 5.01.01.1 II III '-*5- 5.01.03.1 '--+F-IN PI III I 101BAI III I 11K221G-OII I I AClA I II I 1. _ _ .1 I I I I I I I l. _ _ -I I L__'" I I-P CHK. TGR 4 1.++-++---+-+--+---+- 1.02.0Z.1 III II 1.02.02.1---+-+-------------------------------+-----++-+, I I II I I I I.F-I"---' I I I I I I 11111 I : I II I.++E-r---' I I '-+-----------------------------E-I+A I II IOD-I+TA I I I I IH-+O II I I I I IN P I II '+F-I N P I I I 10lBAI II I 10iBAI I -P CHK TGR 5 I Im~IG-' I I Im~rG-O--- 1.OZ.02.1 I 1..----"" I I 1._-"" -p REG 81 T 4 I 1 . . - - - + - - - - - - - - - . 2 - 5.01.01.1 I II I I I I I I I I I I I I• COMMENTS lc-.--,I - - - - - - - - - - - _ -_ _ ~ _____ O-, +A -P REG III T 5 , I A - - - - - l - 5.01.0Z.1 IN PI 'OlBAI +P TURN ON IIKZ7 I B - - - , TGR 6 t~~J 1.-- 1.02.02.1 TAG DATE E.e.NO. TAG DATE E.e.NO. TAG DATE f.e.NO. TAG DATE E.e.NO. II. 10-21-58 9001001 I I I I Fig. 5(8). Machine-printed systems paget with manual corrections PACKAGING RULES These rules take advantage of the SMS concept to ensure consistent, accurate packaging of circuits. Included is a check of the placement of circuit cards in proper relationship to each other and the frame, as well as conventions of wiring interconnections between circuits. A Kloomok, Case, Graff-Recording, Checking, and Printing Logic Diagrams high degree of cabling standardization has eliminated the need for many special cable designs. The checks insure that 113 Some of the outputs which are derived from the logic record are as follows: IBM I 6 14 20 ~I~I~I~I+=~I~I~I~I~~+~I~ILLLLJ PAGE ",""PART.~ MACHINE TRANSCRIBED CHARGE _ _ _ _ __ KEY PUNCHED DATE VERIFIED PAGE 1. Location charts for the placement of circuit cards. _ _ OF _ _ 2. List of points to be connected in wiring panels. 21 23 ~012111 SEC EC. 21 BL 46 32 25 IIEC.I IIEC.I 33 LINE I 23 2526 SEC EC. * 37 LlNE2 I" EC !I- 41 LINE 3 45 49 LINE 5 LlNE4 I I I ! 53 60 67 IIEe ....I IIEC.I IIEe.I 60 5758 • EXT 53 LlNE6 4. Lists of cable wires used to interconnect frames and gates. 72 62 CIRCUIT NAME I I 3. Lists of connector jumpers needed to interconnect panels. 74 eo I I ; Bills of material for electronic parts. 6. Miscellaneous statistical data. OPERATION OF CHECKING PROGRAM I i 5. The checking program is really a series of individual programs interlocked in a complex manner. The significant components follow. FORMLO (Format of Logic) I This is a program to reform the master tape records into a format more suitable for the checking process. -1 I' CONPAG (Connect Pages) I i This program combines lines which are referenced from one page to another. As might be expected, this is a problem area. Three things are done to ease this problem. I I I I ! i i I ; I I I T I I T I I IT r 1. \Vhcn matching lines, the names are compressed so that blanks, periods, and commas are eliminated. This prevents mismatches due to the trivial differences in spacing or punctuation. I I i I I 23 25 26 BL SEC EC. 9 0 01 21 910 9 0 9 0 9 0 * 012 03 04 05 I 1 III I 2. When only one reference is made between two pages, the names are assumed to match. However, a warning message is printed to the effect that this has occurred. 72 33 COMMENTS ]-[ I I ITT 11 T T 1 I I I 1_ITTTlrrl I r I I Ii Fig.6(A). Transcribing form the designs carefully follow standard rules. ERRATA LISTING The primary output of the checking program is the errata listing which is returned with the printed page to the engineer. Fig. 9 is a compilation of typical errors found by the checking program. I t should not be construed to be representative of the numbers of errors made on any given page. The information is organized by logic page, since this is the basic reference document. 114 OTHER OUTPUT DOCUMENTS Another purpose of the checking program is to prepare the many derivative output documents needed to manufacture and service a large computer. The secondary outputs are obtained at this stage in the design mechanization system for two reasons: 1. By its nature the checking program is required to organize the logic data in various formats and sequences. 2. The secondary output documents are useful only if the logic passes the various tests which are imposed by the checking program. 3. When no match can be found, aU names are listed together so that the differences are obvious and easily corrected. LOGVER (Logic Verification) This program does the circuit checking, such as legality of circuit symbols, accuracy of interconnections, accuracy of representation, etc. PANLOC (Panel Locations) This program furnishes a location chart of circuit cards by panel and bills of material for ordering purposes. PW Edit This program provides a list of connector points properly arranged for a subsequent program that will determine the actual wire routing to be used. Sort Programs These are for the most part standard generalized sort programs written by the IBM Applied Programming Group. Kloomok, Case, Grail-Recording, Checking, and Printing Logic Diagram Operating Times Experience to date shows that for average quantities of input data, the computer time for processing each logic page averages one minute, or from 3 to 4 seconds per circuit block. This is a complete run through the entire complex of programs. IBM 14 21 23 o 20 !!ME /;: '/,.- NAME ;ttl --p~ TRANSCRIBED KEY PUNCHED ~, VERIFIED ~ DATE ./,<- _ _ OF _ _ PAGE 78 5859 2526 I 0 I ·7'· T· .' SEQ ., PAGE NAME 21 23 25 01 0 2 9 0 SEQ EC., CHARGE _ _ _ __ J~i/ " CO:·i!MENT~ 32 39 46 FOR MARGIN 53 ("/ EC. EC'" Wiring Program 21 23 BL As discussed previously, the logic sketch sheets are the only input to the design mechanization system. From these diagrams, the checking program prepares on tape, a list of points to be connected, section by section, with back panel wiring. This tape is used as the input to the wiring program which determines the routing of the back panel wires, observing certain restrictions which have ,been imposed, and produces the wiring list exhibited in Fig. 10. The program also summarizes the panel wires used by length and type, as shown in Fig. 11, to give an effective bill of material for the panel wiring. SEQ 2526 * EC. IJ;o/-?J90bl 33 LINE I 62 37 LINE 2 72 80 CIRCUIT NAME "ol-;t -/1 -/1 'f7tP -ITrf -r/l + 7 4 IT,..! -r,4 -+7J Td +d +-4 -f ,J i 7';; -1/1 -t~ +;J +T.p +T/~ 1A ~/ RULES FOR BACK PANEL WIRING The high-speed drift transistor circuits used in the 7000 series computers require extreme care in the point to point wiring. Routing arrangements must be found that satisfy the following criteria: Il'C-f/{--!OI -/2.. :J/!.X£G #/f'OS""." / to STF7 oS-, 0 / I-i . ~ 1-~/rC7B­ a . / ~ e;;If .;. 4- :J1 T~.te / 1. Minimize wire length to avoid electrical delays due to capacitance to ground. ~ -/ /,f;e e:~ 2. Minimize the use of shielding to avoid electrical delays and to decrease cost. J'( () ,,-, t1 / . 0 3. Maximize isolation of one circuit from another to minimize noise interference. 4. Minimize the number of connectors to a terminal in order to utilize wire wrapping techniques. The first pass of the program routes wires so as to minimize total wire length. Yellow single-lead wiring is used throughout. A check is then made on interwire noise, and violations of the specified limits are satisfied automatically by rerouting, by using twisted pairs, or, finally, by resorting to coaxial cable. Since the number of interconnections for the Sl\fS panels varies from 300 to 1,200, and because of the stringent design restrictions, manual routing taxes human capacity. But the wiring program has been averaging about 20 minutes on the 704 for the typical SMS panel. Engineering Changes Since design changes in the logic very often require changes in back panel wiring, the system must accommodate 21 23 BL 9 9 9 9 9 SEQ 25 26 * EC ... 72 33 COMMENTS 0 0 I 0 0 2 O· 03 0 0 4 005 Fig. 6(8). Sample entries on transcribing form changes as introduced by marked up systems pages. Transcribing of engineering changes is minimized, since only alterations to the previous drawing need to be keypunched. The tape updating program makes the necessary alterations to the tape records, and new diagrams are produced by the print program. Because a slightly changed set of initial conditions might very well result in an entirely different wiring arrangement, and since it would be prohibitively expensive to rewire a complete panel for each design change, the wiring program must superimpose the required changes on an existing Kloomok, Case, Gra.tf-Recording, Checking, and Printing Logic Diagrams arrangement, without violating any of the rules. Here again the computer reduces to trivia a problem which is excessively complex by manual methods. Changing circuit designs are, generally, readily incorporated into the programs. Consequently, with experience and advances in circuit technology, conformance with the new standards can he checked readily. Summary ADVANTAGES The design mechanization system offers the following advantages: 11.5 Fig. 7 (left). Master tape format / / NEW SYMBOLS r 1 L .J THE FOUR CORNERS OF THE LOGICAL BLOCK / / I Elimina tion of error Less repetitive manual detail work Speed of processing More comprehensive information ELIMINATION OF ERROR Because of the immense amount of detailed information which must be gathered, preserved, and disseminated during the life of a development project, human errors are inevitable. Many of these errors are not detected in the making, and result ultimately in malfunctions of the machine, scrap and rework, and high product engineering and engineering change activity. The mechanized system not only replaces fallible manual procedures with accurate automatic procedures, but also isolates and rejects many of the errors made ln the remaining manual processes. LESS REPETITIVE :MANUAL DETAIL WORK Fig. 8 (right). Special symbols for the printer type wheel cards classified as to type, and various other components can be obtained in a matter of minutes. Moreover, by studying on a statistical basis the utilization of the standard circuits, it becomes possible to eliminate rarely used components and redesign others for more general utility. A reduction in the standard circuit manual is a very desirable objective. An additional advantage is the availability of logic diagrams at various engineering change levels, thus eliminating a costly storage operation. DISADVANTAGES The system as it now exists is not without disadvantages. Some of these are: 1. Programming cost is high, and several man-months of programming effort can be ohsoleted by changes in design. This can be a risk when working in a development area where change is the rule rather than the exception. Much of the routine work of abstracting details from the basic design is eliminated, leaving professional engineers This free for more creative work. amounts to a more effective utilization of engineering manpower. '.ACH I NE • -SIJ-l / VERTICAL LINE 2. The circuit block representation, a somewhat inflexible 5X9 format, is not optimum for representing all the necessary logic. This can sometimes increase the number of logic documents needed. 3. The transcribing and. keypunching operation has proven to be extremely time consuming. A large volume of data must flow through this input system with complete accuracy. OPERATING TIMES These vary with the volume and ~om­ plexity of the logic records. Based on experience to date, average figures are as follows: 21/2 to 3 man-hours to transcribe and keypunch a logic page entry. 1 minute of computer time to add to or alter the master tape record. 45 seconds of computer time to prepare the print image on tape. (An additional minute of off-line operation is required for the actual printing.) 70 seconds per logic page checked by the checking program. 20 minutes for computing the wiring of a typical panel. AIITOMATION OF flESIGN - POUGHKI'fPSlf DeV I AT 10N FRO" flE S [(;~' S TANDAPOS OCTOBER 20. 195A 2.25.0A.I A FlLOCK 3A COMBINATION 00-- CANNOT DRIVE BLOCK 2A COr~BINATION DNYG ON THIS PAGF 00-2C DNYG ON TH I S PAGE 3C THF FOLLOWI"IG LINES ARE NOT LOADED FROM B/)X I_OC ON BLOCK D AN \Vaiting periods are eliminated in many stages of the project. Logic diagrams designed by the engineer are checked, "drawn," and returned without delay. Wiring lists are prepared immediately after the design is completed. Bills of material and statistical information are compiled on demand. Changes to circuits and wiring are incorporated without delay. In an era where time is money and overhead is excessive, the elimination of costly delays can reduce over-all project budgets substantially. 3A IMPROPER COMBINATION OF PINS HAS BEEN DESIGNATED FOR THESE BLOCKS 4G STUR INCORRECTLY DESIGNATED ON BLOCK 3A 3E CONNECTOR MISSING ON THE FOLLOWING LINES FROM PI N BLOCK 2C 3E TO PAGE 2.36.06.1 THE FOLLOWING CIRCUITS HAVE TOO MANY COUPLING NETWORKS RLOCK CKT CARD CAP DP DNYG 2C THE FOLLOWING LINES ENTERED THI~ PAGE MORE THAN ONCE--CONNECTION HAS BEfN MADE LINE FROM PAGE 3.20.02.1 P 1&<;Rl TURN ON SR2 32 TGR THE FOLLOWING BLOCKS DR IVE THEMSELVES 21 THE FOLLOWING BLOCKS HAVENT BEEN PROCESSED BECAUSE OF AN ERROR IN RECORD FORMAT 3C THE FOLLOWING LINES HAVE NOT BEEN CONNECTED LINE P TURN ON FMAR n TGR PCW SRI FROM PAGE 3.30.04.1 THE FOLLOWING LINES ARE OVERLOADED FROM BOX LOC ON BLOCK C 2F MORE COMPREHENSIVE INFORMATION 116 # THC FOLLOWING LINES HAvE NOT REF'" CONNECTED BECAUSE NAMES CANNOT BE MATCHED lilliE NAMF F~OM PAGE N NOT C\-NOT C2 NOT C4 ?25.0~.1 SPEED OF PROCESSING The recording of all logic data on the master tape provides an opportunity to obtain design information heretofore difficult to compile. 1'1ost significant to date has been the statistical data so necessary for cost engineering and standardization. A complete count of transistors, circuit ~ INDICATES AN ELECTRICAL CONNECTION I I 1. 2. 3. 4. @ I --0-ECl = ENGINEERING CHANGE LEVEL REPLACE AN IMPROPER PIN DESIGNATION HAS BEEN MADE PIN BLOCK OUTPUT B 3I THE CIRCUIT NAME APPEARING ON THE TOP LINE IN THESE BLOCKS IS NOT STANDARD 3£ CONNECTORS NOT PROPERL Y DE SCR I BED CONNECTOR ON LINE FROM PINON BLOCK 01D2D28D A 38 MachineFig. 9. printed errata listing THE FOLLOWING BLOCKS WERE NOT TRANSCRIBED 18 AN I MPROPER TRANS I S TOR TYPE HAS BEEN SPEC I F I ED ON THE TH I RD I I NE IN THF SF. RLOCK5 3ft Kloomok, Case, Gra:.ff--Recording, Checking, and Pr£nting LOg1'C Diagrams INTERNATIONAL BUSINESS MACHINES AUTOMATED WIRING LIST NO. ENG. CHG. 03 FR G P NET 2539-88 INTERNATIONAL BUSINESS MACHINES MACHINE 7000.20.1 11-03-58 7 AUTOMATED WIRING LIST NO. ENG. LGTH FROM 01 B 1 36 1 3· 8 ..I16A 01 B 1 33 2 5· 8 ..I16C 01 8 1 38 o 7·8 ..I16D 01 8 1 15 2 7·8 J16E J21E 01 8 1 20 o 7· 8 J16F ..I17H 01 8 1 18 2 3·S J16H 01 8 1 38 o 5·S J17A 01 B 1 37 1 I·S ..Il7D J17F J18H 01 B 1 19 3 7· S J17E Kl7E K16H VIA VIA TO ..I20e K16!l B I NUMBER OF WI RES EACH 001 002 001 001 001 001 001 001 001 002 001 001 002 002 002 001 001 001 001 001 001 001 048 029 025 011 003 002 001 004 003 010 003 007 001 007 012 003 OOS 001 001 001 001 001 K16A .)178 20 o 5·S J17G 1 1·8 ..1218 J17H 01 8 1 16 2 3· 8 J21G K21A 01 8 1 o S·S K05A K058 01 8 1 o 7·S K05A K06e 01 8 1 o 7·S K06B 01 8 1 1 3·S K06D K07B K07e J21A J22A K07D KOSB 01 8 1 1 P8 K07D 01 8 1 1 3J 8 K08A KI0A 01 B 1 2 7J S KOSC K13C 01B 1 o 7"8 KOSD K098 01 B 1 o 5"8 K09A 01 B 1 1 1·8 K09D o 5· 8 K09G K08e K09B K09F K10H K09H 01 8 1 10 2 I·S K09G KllD 01 B 1 11 1 IJ 8 K138 K13A 01 B 1 39 4 7J 8 H02K K13D K14A ..I02!l J06H H02J Machine-printed back panel wiring list Fig. 11. For the first time, a complete logic record of a large computer exists in readily available digital form. Problems arising in the post-release period can be programmed readily to make valuable use of this information; for example, to help design special features and to derive proper data for controlling automatic production machinery. It is obvious that much more progress remains to be made in this direction. By and large IBM has succeeded in mechanizing a record-keeping system. The engineers' effort has been channeled into concern primarily with the basic source document, the logic sketch sheet. Logical extensions of the present program are obvious. It was not many years ago that "computer-designed computers" seemed like an idle dream. The authors feel that the completion of the record-keeping system described here is a significant step toward this goal. An improper pin designation has been made: For the specified card/cap combination, the pin given is incorrect. The circuit name appearing on the top line in these blocks is not standard: The circuit name given has not been approved. (Also: the name given may be positioned incorrectly within the block.) 11-03-58 L L o F MAT E R I LENGTH IN INCHES 7 S· 8 7 7· 8 8 P2 8 1· 4 8 1· 8 9 3· 8 10 1· 8 10 7· 8 11 1· 2 11 3· 8 11 5· 8 11 7· 8 12 3· 4 12 3·8 12 5· 8 13 1·4 13 1· 8 13 3· S 13 5· 8 15 7· 8 18 1· 2 4 7·8 o 5·8 o 7.8 1 1·8 1 3J 8 1 5· B 1 7· 8 2 1· 8 2 3· 8 2 5· 8 2 7· 8 3 1· 2 3 IJ S 3 3J 4 3 3·8 3 5·8 3 7"8 4 1J 8 4 7·8 S 3· 8 S 5· 8 5 7· 8 6 IJ S A L TYPE OF WIRE C C e e C C C C C C C C C C C C C C C C C T Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y The following lines to a block with nonstandard card/cap have not been checked: Since the card/cap of the driven block is not standard, lines connecting ether blocks cannot be checked. The following pins are not at the proper loc'ation on the circuit block: When a particular pin must appear at a definite location on a logic block, a violation is indicated in this manner. An improper transistor type has been specified on the third line in these blocks: Driver output line type disagrees with driven input: For the specified card/cap combination, the transistor type indica ted is in error. Level on output line of driving circuit disagrees with level on input line of driven circuih Block xx combination xxxx cannot drive block zz combination zzzz. Stubs not allowed on block: Illegal connection between circuits. Existing rules do not permit the indicated circuit to drive the other. The following lines are overloaded: Circuit drives more than it should. Stub placed on logic block which does not allow a stub. The following circuits have too many coupling networks: Two or more coupling networks have been indicated. The following lines are not loaded: Coupling network not present. Two or more lines leave a page from dif- PG 10 Machine-printed summary of panel wiring for bill of material use ferent logic blocks but have the same name. The following lines leaving this page have been defined more than once: MACHINE 7000.20.1 ..106..1 EXTENSIONS OF DESIGN MECHANIZATION Appendix I. Checking Program, Circuit Rules 2539;88 03 TYPE ..1176 34 Fig. 10. TO ..I21D 01 B 1 10 FR CHG. ..I18A 01 B 1 01· 8 1 PG Nonstandard card/cap combination for driving block no further checking has been done on these blocks: The card/cap does not appear in the tables used by the checking program. Kloomok, Case, Graff-Recording, Checking, and Printing Logic Diagrams Appendix II. Checking Program, Logic Format Rules These blocks have not been processed because of an error in record format: These include errors found in the records 117 taken from the master tape by the printpreparation program (e.g. pages which are not numeric, incomplete information, incorrect block designation, etc.) The following lines have not been connected because names cannot be matched: More than two lines between pages, some of which may have been connected. The lines indicated are those where it has not been possible to determine whether connection could be made. The following lines cannot be connected: Lines that indicate a particular page as a destination, but on the designated page no reference has been made for a line coming to it from the other page. The record character count for the following blocks is incorrect: The number of characters in a master tape record does not agree with the number of characters received to be checked. N ames for the following lines are missing: Lines have not been identified by names where it is necessary to do so. The following lines leaving this page have been connected, however the line names are unequal: Occurs when there is only one line reference between two indica ted pages even though there are differences in line names (i.e. blank spacing, use of period in abbreviation, additional comments); the program considers it appropriate to connect the indicated lines. The indicated block is its own input (probably transcription error.) These blocks have not been transcribed: One or more lines on a page refer to a block which does not exist. (The block may not have been transcribed, or it may have been deleted but information about a line which drives it was not deleted.) Appendix III. Checking Program, Packaging Rules Machine location incomplete for the following blocks: One or more items of the information identifying frame, gate, panel, row, or column is not present. The machine location of the following blocks is incorrect: One or more parts of the indicated machine location have been specified incorrectly. An improper combination of circuit pins has been designated for these blocks: One or more of the pins designated for a particular logic block have been indicated incorrectly. Lines with the same name and page source have entered a page at two separate places on a page when the line should have entered at one location and branched after entering. The following blocks have machine locations: A line from the following blocks leaves the page on the left contrary to drawing standards: Connector missing on the following lines: identical Two or mOre logic blocks have been given the same machine location assignments. Connectors should be indicated since the line connects blocks in different panels. Connectors on the following lines have not been checked: Stub incorrectly designated on block: A stub is permitted on the logic block, hnt it has heen shown in the wrong location. 11 ~ Ground pin used for connector: The row, column, or pin of the following connectors do not match: Where it is necessary for the row, column, or pin of a pair of connectors to agree, this has not been indicated. Edge connectors join the same or adjacent gates: A connector should be used, but not an edge connector. The following lines entered a page more than once: Output lines from logic blocks shown leaving a logic page should be drawn going off the right side of the page. The information given ooes not describe any type of connector. Any connector which uses a ground pin is indicated. The following block drives itself: These lines have no page designation: Lines that enter or leave a page without specifying the page from which the line is coming or to which it is going. Connectors not properly described: Because of other errors or incomplete information some lines cannot he checkeo for necessary connectors. Discussion Frank Segal (Westinghouse Electric Company): Is IBM planning to distribute this through Share? Mr. Case: This is a series of programs of a high degree of complexity. I doubt if we are going to distribute it through Share, but we are certainly willing to donate it to anybody who feels that they can use it. We have nothing to hide and everything to gain by encouraging the use of computers. Peter Scola (General Electric Company): What techniques are you using to minimize wire length? Mr. Case: Wire length is minimized by selecting from a list of possible paths, the paths which will result in a minimum total length. T\vo points to be connected lie on opposite vertices of a parallelogram, and all paths on the edges or paths within the boundaries with two bend points have equal lengths. This enables a decision to be made selecting the least noisy path without increasing the length above the minimum. Question (Bell Telephone Laboratories) : Briefly, what is your tape update program? Do you have to run off another set of cards to attain a block omitted previously? Mr. Case: The question refers to program organization. This is a standard file maintenance operation, using the old tape file as input, and aoding or deleting any blocks from caro input to proouce a new output tape. Kloomok, Case, Grfl:ff-·-Rfcord1:ng, Chfck1"ng, and Prinf1'ng Lo?,'£r Diagrams 00 State-Logic Relations in Autonomous Sequential Networks 01 II w. H. KAUTZ Synopsis: A sequential network consists of an interconnection of logical elements, such as "and"-gates, "or"-gates, inverters, etc., and storage elements, such as flip-flops and delay lines. These networks process signals, usually binary signals, in the sense that they convert input sequences of O's and l's into output sequences functionally related to the input sequences. Typically, these networks occur as parts of digital computers and control systems, and perform operations such as counting, code conversion, program control, addition, comparison, sequence generation, etc. Such networks are presently designed by unsystematic cut-andtry methods. Consequently they are unnecessarily costly, and are often more difficult to test and maintain because of the lack of patterned structure in their realization. Probably the knowledge most lacking for development of good synthesis techniques for sequential networks is a better understanding of the relationship between the internal logic and the state-sequential behavior of such networks. This paper explores this relationship through the mechanism of a certain mathematical model of the network. In particular, some ccnditions are derived for the network to be nonsingular; i.e., to have a state diagram which is deterministic even in reversed time, and some important consequences of the nonsingularity condition are demonstrated. Also, the effects on the state diagram of several kinds of constraints imposed on the logic are determined. Several special classes of sequential nets are analyzed: the nonlinear-feedback shift register, the safeasynchronous net, the fully self-independent net, and the net with cyclically permuted logic. Finally, the realization problem is discussed using various types of binary storage elements, such as set-reset flip-flops trigger flip-flops, delay elements, relays, etc. N A RECENT paper Campeau introduced a certain matrix, called in this paper a C-matrix, for the analysis of sequential digital networks. l The rows of this matrix constitute a complete expression of the combinational part of the I sequential net (the "logic") and the columns indicate the sequence of states which make up the sequential behavior of the network, as usually displayed in a flow table or state transition diagram. Campeau showed how C-matriees may be manipUlated for the analysis of digital networks. Probably the knowledge most lacking for the development of good synthesis techniques is a better understanding of the relationship between the internal logic and the state-sequential behavior of such networks. This paper explores this relationship through the mechanism of the C-matrix. In particular, it derives some conditions for the matrix to be nonsingular; i.e., to correspond to a state diagram which is deterministic even in reversed time, and show some consequences of the nonsingularity condition. Also, the effects on the state graph of several kinds of constraints imposed on the logic are determined. Several special classes of sequential nets are analyzed with the C-matrix: the nonlinear-feedback shift register, the safe asynchronous net, the fully self-independent net, and the net with cyclically permuted logic. Finally, the realization of C-matrices is discussed using various types of binary storage elements, such as set-reset flipflops, trigger flip-flops, and relays. xn Model of a Sequential Net A sequential network consists of an interconnection of logical elements, such as "and" gates, "or" gates, inverters, etc., and storage elements, such as flip-flops and delay lines. These networks process signals, usually binary signals, in the sense that they convert input sequences of O's and 1's into output sequences functionally related to the input sequences. x' ,I x2 COM BINATIO N A L NETWORK zi Yp Zq INPUTS Kautz-State-Logic Relations A typical state graph: a reversible binary 4-state counter Such a network may be depicted with no loss of generality as shown in Fig. 1. In this model the binary storage elements are given the form of delay elements, and are separated for purposes of analysis from the purely logical elements, which make up the combinational network. 2 The generality of the delay element will be apparent in a later section. This network, being purely combinational. contains no memory of any kind. As an abstract model of a physical network, it may be assumed to respond immediately to changes in its inputs. The network is assumed for the time being to operate synchronously; that is, all changes in the internal variables occur simultaneously, as if under the control of an "advance clock." For a sequential net with n delay elements, p inputs, and q outputs, the combinational network has n+p input signals and n+q output signals. The terminal behavior may, therefore, be described completely in terms of the n+ q switching functions of n+p variables: zix], X2 • .. . Xn, X2, .. . Xn, YI. " .yp), YI. .. . yp), k=1,2, ... n j=1,2, ... q These equations state that the next state and the output of the network are completely determined by the present state and the input. Techniques for the analysis and synthesis of combinational nets are well known,3,4 although truly economical synthesis is a goal not yet achieved, particularly for mUltioutput networks such as that of Fig. 1. The content of the equations may be expressed in tabular form in a "table of combinations" (see following page). W. H. KAUTZ is with Stanford Research Institute, Menlo Park, Calif. X~ YI Fig. 2. x'/(xI. DELAY ELEMENTS XI X2 10 OUTPUTS Fig. 1. Model of an arbitrary sequential network The author is much indebted to his colleague, Dr. Bernard Elspas of Stanford Research Institute, who collaborated on many of the proofs and other results, and who participated greatly in ~he dev.el?pment of the viewpoint toward the solution of digital design problems as presented in the early part of the paper. 119 YI YJ· . 'YJI XI X2· . . Xn 0 0 0 ... 0 0 ... 0 0 0 0 ... 0 O... 1 o o 0 ... 0 O... 1 o 1. .. 1 0 ... 0 1. .. 1 Xl , X2 , .. ,Xn , I Zl ods of deriving the set of combinational switching functions x/ (k= 1, 2, .. , n) and Zi (i= 1, 2, ... q) from a terminal description of the sequential network as a whole. This problem mainly involves obtaining answers to the following two important questions: Z2 . .. Zq 1. Precisely what constitues an adequate terminal description of a sequential network? 2. Wha t is the essence of the desired relationship between this terminal description and the equations of the combinational network? 1. .. 1 The rows of the left section of this table a~e filled in with a11 possible (n+p)-digit bmary numbers, usually in their natural binary order. Thus, there are 2 n + p rows. Each row represents the situation of one of the possible inputs in conjunction with one possible internal state. The rows of the right section of the table, when completely filled in, define the sequential network, in that the output and the next state are then specified. Clearly, any ma~ner of completely filling in the right sectlOn of the table with O's and 1's yields the table of a realizable sequential network. The number of such networks is equal to the number of ways in which this part of the table may be filled in: 2(n+q)2 n +P The C-matrix is now defined as the array of entries in the right-hand section of the table, assuming that the rows of the left-hand section are in their natural binary order. For convenience turn the pattern on its side: Cl t uutput and state following state 00 ... 0, and input 00 ... 0 l C=[ 0110 1010 0001 1010 ] 1001 0001 +- Xl' +- X2' +- Zl '-v-' '-v-' Yl=O YI=l Thus, when the input YI is 0, the counter advances with state 01 following state 00 (column 0), state 10 following state 01 (column 1), state 11 following state 10 (column 2), and state 00 following state 11 (column 3). When Yl = 1, state 11 follows state 00 (column 4), state 00 follows state 01 (column 5), state 01 follows 10 (column 6), and state 10 follows state 11 (column 7). Zl = 1 only when the present state is 11. The expression of a switching function of n variables as a 2 n -digit binary number, this number being a column of the table of combinations (a row of the Cmatrix), is sometimes called the designation number or characteristic number of the function. Thus, the characteristic number of Xl' in the matrix is ~XI' Xl' = +-xn ' The 1's and a's in this representation indicate which items in the "disjunctive normal form" or canonical expansion of the function xI' are present and absent, respectively. Here +-Zl +-Zq uutput and state following state 11 ... 1 and input 11 ... 1 [1010 1010] 1 . :hXl.i\ +0· YlX2Xl + 1 . YIX2 X l +0 . YlX2Xl ,+ 1_' YIX2Xl +0· YlY2Xl + 1· YIX2XI +0· YlX2Xl Xl' = Xl =Xl For example, consider a reversible binary counter which counts forward when the single input is "0" and backwards when the input is "1." The output shall be "1" only when the internal state is 11 . . . l. The C-matrix for a 4-state counter of this type is The Coding Problem The major objective of sequential synthesis studies is the development of meth- From the synthesis viewpoint, question amounts to asking for a mathematical model and language in which to express the specifications of the network to be synthesized. Question 2 gets at the heart of the synthesis process itself, and it is with this question that this paper is concerned. Virtually all of the past effort on the sequential network problem has been directed towards the network characterization problem 1,5.6 and the linear transducer. 7 Two simplifications are in order. First, since question 1 has not yet been fully answered, the "state graph," which is the most suitable terminal description of a sequential net presently available will be used. The state graph, or an equivalent tabular presentation, represents each of the 2 n possible delay-element output signals, or states, (Xl, X2, ... Xn) as a node in a graph, with one interconnecting directed branch for each allowed state-tostate transition. Fig. 2 shows a simple but typical state graph corresponding to the reversible counter previously described. Each transition is conditional on the appropriate input (the number preceding the slant) and gives rise to an output (the number following the slant). For example, if the net is in state 01 with input 0, the next state will be 10, and output a will occur. The second simplification is that this paper will consider only the case when the network is autonomous, that is, the case when there are no inputs or outputs . I 00 ::;. D 01 Fig. 4 (right). The state graph and (-matrix of the simple network of Fig. 3 120 STATE GRAPH x2 XI 0 0 I I I 0 10 0 10 x2 rO I XI 11 1 01 0 I I LO__I~ TABLE OF COMBINATIONS Kautz-State-Logic Relations 001 Fig. 5. OD A typical state graph of an autonomous/ nonsingular sequential network/ with cycle set (12/ 21/ 3 2/ 6 1) o 010 101 100 o C.S. ( 1,7) 000 III Fig. 7. One possible coding of the state graph of Fig. 6 E C.S. (1,7) I .~ I L _ _ _ _ _ --l Fig. 6. Typical state graph to be coded for realization in a nonsingular network This simpler case is considered principally on the basis of the conjecture that the behavior of the transducer depends strongly on the "natural" behavior of the corresponding undriven network. This conjecture is known to be true at least for the important special case when the combinational network is linear; i.e., when it consists of exclusive "or" gates only. There are good indications that it is true in general. To eliminate the outputs as well as the inputs is to focus attention on the nextstate functions x/ as the appropriate indications of the internal behavior of the net. Except from the standpoint of economy in synthesis, the output functions Zj may be viewed merely as appendages to the internal state-controlling logic. With these simplifications, the digits both preceding and following the slant on the branches of the state graph of an autonomous net may be eliminated. Each node (state) then has only one exit branch (transition), which need carry no label. The analysis of an autonomous sequential network starts with the network arranged in the model of Fig. 1. The switching functions may then be formed by inspection, and these expressed as the rows of the C-matrix (columns of the table of combinations). The state graph can then be derived from the columns of the C-matrix (rows of the table of combinations). These steps are shown in Figs. 3 and 4 for a simple example. H is apparent that the C-matrix con- Kautz-State-Logic Relations. Fig. 8. Network realization of the state graph of Fig. 6 1 with the coding of Fig. 7 tains implicitly a relationship between the terminal or state-behavior and the internal logic of a sequential network. The state-behavior is contained in the columnar view of the matrix, while its rows express the logic. The remainder of this paper investigates more fully this relationship as expressed in the C-matrix, for the case of autonomous networks. The synthesis of an autonomous sequential network may be taken to start with a state graph which has no binary labels on the nodes. The first step of the synthesis is the assignment of a unique n-digit binary number to each of the nodes, a process referred to as the coding of the state graph. The C-matrix may then be formed, column by column, by noting the successor states to states 00 ... 00, 00 ... 01, 00 ... 10, ... , 11 . .. 11. The derivation of the next-state functions Xk' follows from the rows, and from these functions equivalent expressions may be derived appropriate to the binary storage elements which are being employed. The network and the C-matrix of an autonomous state graph which remains autonomous if the arrows on the branches are reversed are said to be nonsingular. (Huffman terms such a network lossless.) Each state then has a unique preceding state as well as a unique succeeding state. This definition is clearly equivalent to the property of possessing a deterministic time-inverse. ~ on singular networks are worthy of special consideration for two reasons. First, the steady-state behavior of autonomous networks clearly depends only upon the cycles present in its state graph, and not on the "tails" of branches which lead into the cycles. Second, as will be shown in the next section, the most general transformation which carries one coded state graph into another is most naturally represented as an arbitrary nonsingular C-matrix. It follows directly that the state graph of an autonomous nonsingular net consists entirely of closed loops or cycles. A complete description of the structure of such a state graph can then be given by its cycle set, which is a listing of the lengths .(i of its cycles (the number of states in the cycles), each with its multiplicity r i. To describe the cycle set, the notation, c.s. = ((f1)Tl' (.(2)T2' . .. (t-}..)T,) is used. E.g., for the state graph S of Fig. 5, the expression c.s.(S) = (b, 21, 32 , 61) indicates that S has two 1cycles, one 2-cycle, two 3-cycles, and one 6-cycle. Since the total number of states is 2n , the numbers .(i and r i must obviously satisfy the condition: A 2::.(i i=2 r n i=l This sum condition is clearly necessary for a cycle set to be realizable. It should also be clear that any coding whatsoever of the state graph will lead to a realizable C-matrix so long as: 1. no two nodes are given the same state number, and 2. the state graph has 2 n nodes. Thus, the sum condition is sufficient as well as necessary for a cycle set to be realizable. .For example, realization of a cycle set (1, 7) requires that the state graph of 12~ Fig. 10. Transition restrictions pertinent to condition 16 Fig. 11. The nonlinear feedback shift register be a very difficult problem, and it represents the main reason for this study of the relations between the logic and state behavior of sequential network~. Manipulation of C-Matrices Fig. 9. Typical state graph when all Xk' except Xn' are independent of Xn The eight numbers, 000, 001, 010, all, 100, 101, 110, and 111 Fig. 6 be coded. could be allocated to the eight states in a very large number of ways. The particular assignment of Fig. 7 corresponds to the C-matrix: 0011 1100J C= 0101 0101 [ 0011 0011 I.e., state 000 is followed by state 000, state 001 is followed by state 010, state 010 is followed by state 101, etc. The rows of this C matrix now give the characteristic numbers of the binary state variables: Xl' = [0011 1100] X2' = [0101 0101] Xa' = [0011 0011] from which the circuit equations may be written down immediately: The network realizing the given cycle set is that displayed in Fig. 8, drawn in two ways. Almost any other coding would have led to much more intricate circuit logic. The difficult aspect of synthesis is that of selecting a coding which leads to an economical realization of the multioutput network, in terms of whichever types of binary storage elements and logical elements are prescribed. This appears to 122 If the state numbers are defined as column matrices, X2 X=[Xl] · · · Xn X2 X'=[X<] . . . tions. Also, the inverse C-I of a nonsingular C-matrix is that matrix which satisfies the equation C-IC= CC-I=J so that if x' = Cx, then x= C-1x'. From a statesequential viewpoint, the inverse C-matrix can be written down immediately from the state graph by imagining all the arrows on the branches to be reversed in direction. From a logic-equation viewpoint, C-I is an expression of the solution of the equations x/(x] , .. , Xn) for the unprimed variables. Powers Cm of a C-matrix correspond to simple iteration. Cm transforms each state X into the state m time intervals in the future. The cycle structure of the state graph can be studied through the periodicity properties of the powers of a C-matrix. E.g., it is not hard to show that if a power ll[ can be found such that CM =1 then all cycle lengths in the state graph for C divide lVI. An interesting example is afforded by the conventional binary counter, which carries each binary state number into the next number in' the natural binary counting sequence. The C-matrix of such a counter is identical to the identity Cmatrix J, except that all of the columns are shifted one place to the left; e.g., for n=3 Cb = xn' then the formal equation x' = Cx expresses the role of the C-matrix as a transformation from a present state to a next state. The multiplication indicated is clearly not matrix multiplication in the usual sense, but is an expression of the fact that the independent and dependent variables in the row-functions of the C-matrix are the elements of the column matrices x and x', respectively. The identity C-matrix J (Campeau's A-matrix l ) is therefore the C-matrix for which X'=JX=X. That is, it is the matrix which expresses the set of equations x/ = Xk: r0101 0101J 11 =[01], 1?= [ 0101 ] , 1a =l00l1 0011 , 0011 0000 1111 etc. The corresponding state graph then consists. of 2n I-cycles, since each state is followed by the same state. Similarly, multiplication of two Cmatrices, A and B, also has both a state sequential and a logical interpretation, corresponding to the successive application of the two transformations, viewed individually as state-to-state transformations and as a set of transforming equa- [ 1010 lO1OJ 0110 0110 0001 1110 (The first column is shifted around to the last position.) The logic can be read directly from the rows. For a binary counter which counts m at a time instead of 1 at a time, it is only necessary to raise Cb to the mth power. This amounts to shifting the columns of the identity matrix m instead of 1 place to the left. As long as m and 2 n are relatively prime numbers (i.e., as long as m is odd), the state graph will consist of a single 2n-cycle. In view of the importance of the coding problem, it is worthwhile to inquire into the nature of the transformation which carries one coding of a state graph into another. Clearly, any such recoding amounts merely to a permutation of the 2 n possible state numbers. The most general such transformation is therefore of the nature of a nonsingular C-matrix itself. If the original state graph is labelled with states x and the recoded state graph with states y, and call the transformation matrix Q, then y= Qx. Similarly, y' = Qx', and from x' = Cx, the result is or, since Q is nonsingular, y' = QCQ-Iy. The new C-matrix for the y-states, C*, Kautz-State-Logic Relations Case IV say, is related to the old C-matrix by the expression C* = QCQ-l, a familiar identity in transformation theory. ~ote that C need not be nonsingular itself in order for this to hold. No set and reset terminals are available. the complementing signal involves a self-dependence within flip-flop no. k: ~ ow Fig. 12. Realization of Storage Elements Types of binary storage elements other than the delay elements may be related to the delay element by exhibiting the extent of self-dependence in the individual switching functions (individual rows of the C-matrix) Xk'=!k(XI, X2, .. . xn) Expanding x/ about Xk, results in: The nonsingular, nonlinear feedback shift register complementing signals to be applied to a flip-flop realizing the given function x/: Case 1 set=Sk=Sk reset = Rk = rk It may be seen from these cases that if certain of the functions qk, rk, Sk, and tkcan be arranged to be zero in the formation of the switching function Xk', then a simplification of the circuit may result, depending on which case is of interest. E.g., no self-dependence is involved in Case III if tk==O, and in Case IV if sk==rk==O. For Case IV, this leaves complement = Tk=tk where gk and hk are independent of Xk' In fact, gk=fk! . iXk=O A further development gives in which the functions t k, qk, Sk, and another function rk, are also independent of Xk, and in addition Case I pertains when the flip-flop has available an input terminal for each of the set, reset, and complement signals, and simultaneous signals on any two of these terminals are not allowed. The following special cases are more likely to be encountered in practice. Case II The flip-flop has only two terminals, set and reset. Complementing is accomplished by applying a "1" to both set and reset terminals at the same time. In this case: Sk=Sk+tk=hk Rk=rk+tk= gk Case 111 Thus, the q-r-s-t- functions are disjunctive; that is, one and only one of them has the value" 1" for each combination of values of the n -1 variables Xl . . . Xk_l, XHb . . . Xn. The q-r-s-t- functions, and gand h-functions a:-e simply relatp:d by the expressions K 0 complementing terminal is available and simultaneous signals on the set and reset terminals are not allowed. Set and reset signals to flip-flop no. k are then generally dependent on the outputs of flip-flop no. k itself: qk = Ukhk, rk = UJlk Sk=Sk+tkXk Sk = gkhk, tk = gkhk Rk=rk+tkxk and Actually, in this case, application of the "hold" signal to the set or reset terminal can do no harm if the flip-flop is already "on" or "off", respectively. So the preceding equations may be replaced by the following: The q-r-s-t- functions may be interpreted in terms of the signals applied to a conventional flip-flop as follows: rk = 1, so Xk' =0: reset (i.e., switch the flipflop to the "0" state) tk = 1, so x/ = Xk: complement (trigger) qk = 1, so Xk' =Xk: hold (i.e., leave the flipflop as it is) (quiescent condition) Sk = 1, so Xk' = 1: set (i.e., switch the flipflop to the "1" state) From a given function x/ expanded in terms of the q-r-s-t- functions, therefore, one may write down immediately the switching functions for the set, reset, and Kautz-State-Logic Relations Sk = Sk+tkxk + [qkXk] Rk=rk+tkxk+ [qkXk] where the bracket signifies a "don't care" condition, indicating that any part or all of the bracketed function may be combined with the rest of the expression to effect a possible simplification. (Since the q-r-s-t-functions constitute a disjunctive set, however, combinations will be possibly only with the more unusual types of logic elements in the network.) or A safe-asynchronous network is a network in which only one of the n variables Xk changes each dock time. In such a circuit, proper behavior is assured if the dock is removed; i.e., if the dock signal is held at "I" continually, since no ambiguity in the internal state can result if two state variables change to new values at different rates, a process which may otherwise produce an unwanted intermediate state. Such race conditions are generally undesirable, although they are frequently allowed in practice, since a significant simplification in the circuit can often result if they are permitted. In such a case, the race is usually made "noncritical" by arranging the circuit so that all possible intermediate states lead to the same final state during a multivariable transition. Unless the saving realized by allowing noncritical races is substantial, however, safe-asynchronous circuits are to be preferred. They are easier to maintain and less likely to lead to inconspicuously incorrect behavior when faults occur. It is easy to show that, except for a single degeneracy, all functions tk(k = 1, 2, ... n) must be identically zero in a safe-asynchronous circuit. If some tk were not zero, then for at least one set of values of Xl . . . Xk-!, Xk+l, ... Xn, the next value x/ of Xk would be given by x/ = Xk. That is, Xk would change next. Since the network is safe-asynchronous, however, none of the state variables other than Xk can change at this time, so that it is still true that tk = 1, and Xk '=Xk. Once the condition tk = 1 is reached, therefore, Xk will take on the values and 1 alternately, in the fashion of a doorbell, and there is no way of terminating the oscillation. So except for the possibility of the "doorbell" effect (2-cydes), all functions tk(k= 1,2, ° 123 "" / / 0{, Fig. 13. ,, ')zQ D / / / Generalized state graph for the nonlinear feedback shift register with three stages Fig. 14. . . . n) must be identically zero in a safeasynchronous circuit. More will be said about safe-asynchronous circuits in a later section. Neutral Switching Functions If the number of I's in the characteristic number of a function f is equal to the number of O's, the function is said to be neutral. It will be shown now that every switching function in a nonsingular Cmatrix is neutral. From the purely cyclic character of the state graph, it follows that each of the 2 n states has a unique 5ubsequent state. Thus, each of the 217 binary state numbers must appear once and only once as columns in the C-matrix. The columns of a nonsingular C-matrix are, therefore, merely a pennutation of the columns of the identity C-matrix of the same order, for which the switching functions are xk'=xk(k=I,2, ... n). Since the functions Xk are al1 neutral, the functions resulting from any column permutation of the identity C-matrix are also neutral. The only neutral functions of two variables, for example, x and y, are of symmetrytype x xEBy and for three variables, x, y, z: x xEBy xEByEBz xEByz xyEByzEBzx xyEBxz The operation + may be substituted for EB in the last two expressions. There are 74 neutral symmetry types of 4 variables. Forty-two of these, along with all neutral symmetry types of 2 and 3 variables, are the same as their complements; the complements of the other 32 are not the same, but form 16 mutually complementary pairs.s If g and It are any neutral functions independent of a variable x, then it may easily be SllOWll tha~ the fllll~tion xg+xh Generalized state graphs for the safe-asynchronous network is also neutral. Further, if fo is any function independent of x, then the function xEBfo is neutral. N onsingularity of C-Matrices Although each of the n switching functions Xk' in a nonsingular C-matrix is neutral, most sets of n neutral functions represent singular C-matrices. It will be shown that a C-matrix is nonsingular if and only if all linear sums are neutral. (Note: On this page the symbol ~ means the sum of modulo-2.) Proof: The characteristic number of each of the 217-1 sums ~Xk' can be formed by adding (modulo-2) the characteristic numbers of each possible subset of rows of the C-matrix. If the Cmatrix is nonsingular, its columns are merely a permutation of the columns of the identity C-matrix. Therefore, each sum ~Xk' will be neutral only according as the sum of the corresponding rows of the identity C-matrix are neutral. Since the individual rows of the identity Cmatrix represent the functions Xl, X2 . . . .. Xn, any sum of these rows has the form ~Xi, and by the last statement of the previous section is certainly neutral. Therefore, all sums ~Xk' are neutral for a nonsingular C-matrix. To establish the converse, the measure J.L(f) of a logic function f is defined 6 to be the number of I's in the characteristic number of f. Thus the measure of a neutral function is 2 n - 1 ; in fact it is true that: JL(J) = JL(f) = 2 17 - 1 By adding their characteristic numbers, it is easily seen that for any two functions f1 and h of n variables JL(flEB!2) = JL(Jd +JL(h) -2JL(flh) or ] ;.:,(fJ2) ="2 [J.i.(fl)+J.i.(f2) -,u(fdl~h)] Similarly, n=4 n =3 n=2 1 JL(flhfa) =4 [JL(fl) +JL(h) +JL (fa) - JL(fl EBh) - JL(fl EBfa) - JL(h EBia) +JL(fl EBi2 EB!a) J etc., for more than three functions. If all of these functions and all of their EBsums are neutral, each p,( ) expression equals 2 17 - 1 ; and it follows, therefore, that JL(]I, i2 . .. iT) = 2 n - r In particular, p,(f1' . .12 . . .In) = 1, which is to say that the C-matrix formed from these n functions has only a single column containing anI's. If one or more of the functions h is complemented, this last equation still holds, since p,(J) = p,(J) for a neutral function. So for all 2 n products, J.,(Jd2 . .. jn) = 1, where ii denotes Ii or fi. Thus, the Cmatrix has one and only one column in n each of the 2 possible patterns of O's and l's. The matrix is therefore a column permutation of the identity C-matrix, and is nonsingular. It foHows directly from this theorem that if a C-matrix is nonsingular, any set of permutations or complementations of the row-functions will preserve the nonsingularity property, although in general its cycle set will be modified drastically. Further, any linearly independent set of n functions selected from the 2 n - 1 functions ~xk' may be assembled to form a new C-matrix, which is then guaranteed to be nonsingular. (With the function "0," these 217 -1 neutral functions form an abstract group under the EB operation. The n functions selected for the C-matrix then constitute a set of generators for the group.) The set of C-matrices generated in this way from the identity C-matrix constitutes the set of all linear C-matrices; that is, each function x/ is a linear (modulo-2) sum of the unprimed variables. The linear case has been extensively studied by Huffman7 and by Elspas. 9 Huffman has shown in an unpublished memorandum an alternate condition for K(Jut?-State-Logic Relations nonsingularity, which is equivalent to the following: A C-matrix is nonsingular if and only if n all of the 2 -1 products fIji, except the A further consequence of the stated condition follows from the form of the bottom row of the C-matrix: xn' is fully dependent on Xn; i.e., n total product, II fi' have even measure, i=l and the total product has odd measure. The necessity is obvious from the proof of the previous theorem. Sufficiency is established by showing that all of the total products Jd2 .. .]n have a measure which is odd, and must therefore be unity. State-Logic Relations In this section some of the simpler relations between state-graph structure and the switching functions x/ will be derived for the nonsingular C-matrix by showing how certain restrictions on this set of functions reveal themselves as restrictions on the cycle set. When a single one of the functions is to be restricted, this function is taken without loss of generality to be Xn', whose characteristic number is the last row of the C-matrix. 1. If xn' =xn, then all cycles are even; i.e., of even length. Proof: x n'=(l1. . . 11 0 0 ... 0 O)so that each state whose number is <2 n - 1 is fol- lowed by a state ~2n-l, and each state ~2n-l is followed by a state<2 n - 1 • Thus, on each cycle the state numbers alternate between these two non intersecting sets «2 n - 1 and ~2n-l), and no cycle length can be odd. 2. If xn' =X n , then the cycle-set can be halved; that is, the list of cycle lengths may be separated into two distinct subsets, each with half of the total number of states. [E.g., (1 2 , 2, 5, 7) =(1,2, 5)+(1, 7).] Proof: Here xn'=(O 0 ... 0011. .. 11), so that each state whose number is <2 n - 1 is followed by a state <2 n -1, and each state ~2n-l is followed by a state ~2n-l. The stated condition follows directly. A further consequence of this condition is tha t the longest cycle length must be ::;2 n - 1 • 3. If all state variables Xk', except x n ', are independent of X n , then all odd cycles occur with even multiplicity. Proof: A function Xk' is independent of Xn if and only if the left and right halves of the characteristic number of Xk' are identical. Under the present hypothesis, therefore, the left and right halves of the entire C-matrix, exclusive of the bottom row, are identical. The left and right halves of the bottom row must be complementary, since every state (column) occurs just once. Thus, every state sk<2 n - 1 is matched by an "image" state si+2n-l~2n·-I. Their successors are also images, since the next-state numbers also differ by 2n-l. Thus the state graph must have complete mirror symmetry, and any odd cycle must be matched by an identical image. Statement 3 directly follows. (See Fig. 9.) Kautz-State-Logic Relations where gn is a function which is independent of X n . Its characteristic number is given by the left half of the bottom row of the C-matrix. Each of the three necessary conditions may be interpreted to be sufficient, under some suitable partial encoding of the state graph. Relation 1 for example, may be inverted to read: If all cycles are of even length, then there exists at least one coding of the state graph which makes x n ' =Xn, The relations 4 through 16 which follow may be similarly inverted. With the exception of relation 16, the proofs of sufficiency of all of these conditions represent merely a reverse of the necessity argument. Combinations of these conditions lead to further relations. The second function which is restricted may be taken without loss of generality to be Xn-l'. The proofs of these relations are direct extensions and combinations of the three previous proofs. Iterating relations 1, 2, and 3, results in, respectively: 4. If xn'=xn and Xn-l'=Xn-I, then all cycles are even, and the cycle set can be halved. 5. If x n' =Xn and xn-t' =Xn-I, then the cycle set can be quartered; that is, it is separable into the sum of four distinct subsets, each with one-fourth the total number of states. 6. If all Xk' except x n ' are independent of Xn, and all Xk' except Xn-l are independent of X n-l, then all odd cycles occur with a multiplicity divisible by four, and all even cycles occur with even multiplicity. It also follows that xn' =xnEBgn and Xn-l' =X n-IEB gn-I, where gn and gn-l are independent cf Xn and Xn-I, respectively. Similarly, combinations of conditions 1, 2, and 3 yield other interesting cases 7. If x n' =xn and Xn-l' =Xn-I, then all cycles are even, and the cycle set can be halved (same as condition 4). 8. If x n' =xn and all Xk' except xn' are independent of X n , then all cycles are even with even multiplicity. 9. If xn'=xn, and all Xk' exceptxn'areindependent of X n , then all cycles are of even multiplicity. 10. If xn'=xn, and all xk'exceptx n-l'are independent of Xn-l, then all cycles are even, and all cycles not divisible by four occur with even multiplicity. 11. If xn'=x n, and all Xk' except Xn-l' are independent of Xn-l, then the cycle set can be halved, each half having no odd cycles with odd multiplicity. 12. If x n' =Xn-l and Xn- l ' =xn, then all cycles are even, and the cycle set can be halved. (Same as condition 4). 13. If x n' =Xn-l and Xn- l ' =Xn , then all cycle lengths are divisible by four. 14. If xn' =X n- l and xn-t' =x n, then the cycle-set can be halved such that one half contains even cycles only, and the other half can be rehalved. 15. If x n' =Xn-l and xn-t' =X n-1EBxn then the cycle-set can be separated into two subsets, one accounting for one-quarter of the total number of states, and the remaining containing only cycle lengths which are divisible by three. Finally, one additional condition is presented: 16. If x n ' depends on Xn according to the equation x n' =xngn+xnhn, where gn and h n are independent of Xn and individually neutral (actually, the neutrality of either gn or h n follows from the neutrality of the other and the nonsingularity of the C-matrix), then the number of odd cycles is no greater than 2n-l. Proof: The states may be divided into four disjoint sets, as follows: A: xn=O, xn'=O B: xn=O, x n'=l C: xn=l, xn'=O D: xn=l, xn'=l The neutrality of gn and hn guarantee that the four sets are of equal size; i.e., each contains one-fourth of the total number of states. By definition of the sets, each member state of each set has a successor state in only certain of the other sets. This transition restriction is expressed by the branches on the graph of Fig. 10; e.g., each state in set A or set C (xn' = 0) is followed by a state in either set A or set B (xn = 0). Clearly, subsets of states only in sets B or C cannot be involved in oddcycles, but each state in sets A and Dean be made part of an odd cycle; so the number of odd-cycles is bounded above by 2 n - 1, the total number of states in sets A and D. The sufficiency of this condition is tedious to demonstrate. I ts proof provides little insight, and is not given. Special Cases of Interest The C-matrix will now be formulated for several interesting special network configurations, and some preliminary observations will be made regarding the conditions of nonsingularity. Each of these cases amounts to a restriction on the logic of thepetwork, and the effect of this restriction on the state behavior will be described in part. 125 THE FEEDBACK SHIFT REGISTER For this case, all of the delay elements are concatenated in a single chain, as shown in Fig. 11. The first element is driven by a single-output combinational network, whose inputs are the other state variables. The next-state equations are therefore Xn'=Xn_l or xJ' = Xn, which is the pertinent equation for a loop of n delay elements and a single inverter. Many interesting constraints on the possible cycle-sets of the feedback -shift register can be derived from this view of the state graph as a superposition of two simpler state graphs. These results constitute a separate study and are not reported here. Xn-l'=Xn_2 THE SAFE-ASYNCHRONOUS NETWORK X2'=Xl XI'=!t(Xl, X2 ... Xn) and all but the top row of the C-matrix may be fil1ed in immediately. E.g., for n=4: C=[01010101 00110011 00001111 01010101J 00110011 00001111 The top row is arbitrary unless the condition of nonsingularity is imposed. In this case, it follows from theorem 3 that Xl' =Xngl +Xn!71 Xl' =XnEBgl where gl is independent of X n . The characteristic number of gl is given by the left half of the characteristic number of Xl', and carries no further restriction. A necessary and sufficient condition for a feedback shift register to be nonsingular is therefore that Xl' depend on Xn in accordance with this relation. The network then takes the form of Fig. 12. If the combinational logic is entirely linear, the register is then a linear feedback shift register, which is known to be a canonic form for all linear nets. 9 I t is known that the nonlinear feedback shift register is not a canonic form for nonlinear nets, but there are good indications that it is a very versatile network, capable of producing a wide variety of different cycle-sets. From the columns of the C-matrix, it is apparent that there are only two choices for the successor of each state. In fact, since the shifting action of the register amounts to a doubling of the binary number which it contains, then state no. s is followed by either no. 2s (modulo-2 n ) if the digit of the top row is a "0", or state no. 2s+ 1 (modulo-2 n ) if the digit in the top row is "1." These constraints on the state behavior may be condensed in a "generalized" state graph, shown in Fig. 13 for n = 3. Here the solid line transitions result from g=O, or Xl'= X n , which is the pertinent equation for a simple loop of n delay elements, and the dashed-line transitions result from g= 1, 126 From the definition of a safe-asynchronous network in a previous section, it follows immediately that every column of the C-matrix of a safe-asynchronous network differs in no more than one binary digit from the corresponding column of the identity C-matrix. E.g., the Cmatrix X=[Oo 1 0 ~ Q] Q 1 satisfies this condition, with the differing digits underlined. Thus, the binary number of each state agrees in all but at most one digit with the binary number of the successor of that state. The generalized state graph for safe-asynchronous networks is merely the binary n-dimensional cube, in which vertices (nodes) represent states, and the edges (branches) the permitted transitions. These graphs are shown for n=2, 3, and 4 in Fig. 14. (The branches carry no arrows, since transitions in either or both directions are allowed.) The condition for the realizability of a given state graph in a safe-asynchronous network is now simply stated. If the state graph is otherwise realizable; i.e., if it has 2n nodes, and has only one branch emanating from each node, then it is realizable in a safe-asynchronous network if and only if it is embeddable in the generalized graph of the n-cube. Many necessary conditions for embeddability c~n be stated in terms of more obvious features of graphs, but sufficient conditions are not known. If the condition of nonsingularity is imposed, embeddability requires that the resultant cycle set contain even cycles only. This condition is also sufficient for realizability but the proof wilJ not be given here. THE FULLY -SELF-INDEPENDENT dition 16 of a preceding section so that where gk is independent of Xk, and the result is that the number of odd cycles is bounded by 2ii - l . Actually, much stronger conditions of this type follow from extensions of condition 16, and place tight bounds on the multiplicities of short cycles. For n = 2, the oilly cycle sets possible are (1 2,2 1) and (4), and for n=3, only (1, 7), (2,6), and (12,3 2). THE NETWORK WITH CYCLICALLY PERMUTED LOGIC Consider now the network whose nextstate switching functions X,/ are all expressible in terms of a single function cp: Xn'=4>(Xl, X2 ... Xn-l, xn) Xn_I' = 4>(Xn, Xl· .. Xn_2, Xn_l) X2' = 4>(Xa, X4 . .. X!, X2) xI' = 4>(X2, Xa . .. X n , xd Thus, the function remains the same, but its arguments are permuted cyclically with the advance of SUbscript k on Xk'. Specification of one row of the C-matrix is now tantamount to specification of the entire matrix. For n = 3, for example, we may designate the bottom row with the characteristic number [co, C1, C2 ... Ci] and then derive the rest of the matrix from the previous equations: C =[co Co C2 C4 C6 C2 Cs Ca C7J Cl Ca C5 Ci Co CI C4 C5 Cs C7 C4 Cl Cs C2 C3 It is apparent that the c's fall into distinct groups by columns: all 6f the co's are in column 0; Cl, C2, and C4 occupy columns 1, 2, and 4; C3, Cs, and C5 are in columns 3, 6, and 5; and C7 is in column 7. These groups are those defined by the cycles of the simple circulating shift register made up of a loop of 3-de1ay elements. This register yields the state graph consisting of the nodes and solid line transitions of Fig. 13, with cycle set (b, 32) and stategroups (0), (7), (1, 2, 4), and (3, 6, 5). That this property is generally true may be easily proved. Indeed, it is not surprising in view of the fact that the simple circulating register itself has cyclically permuted logic: Xk' = Xk-l (k = 2,3, .. n), x/=xn . Conditions for nonsingularity and for realizability of arbitrary cycle sets may be derived, based on this approach. NETWORK If each switching function Xk' is independent of Xk, then the corresponding network will be called fully-self-independent. For the nonsingular case, this condition requires that gk = hk in con- Conclusions Campeau's C-matrix and the concepts behind it have been applied to the derivation of specific relationships between the Kautz-State-Logic Relations state-behavior and the internal logic of autonomous sequential networks. Relations such as these lie at the core of the coding problem, which is central to the development of synthesis procedures for sequential networks generally. Although achievement of this long-range objective may not be immediately imminent, it is hoped that the preliminary results established here will set a pattern for further exploration of this important subject. References 1. THE SYNTHESIS AND ANALYSIS OF DIGITAL SYSTEMS BY BOOLEAN MATRICES, J. O. Campeau. Transactions, Professional Group on Electronic Computers, Institute of Radio Engineers, New York, N. Y., vol. EC-G(4), Dec. 1957, pp. 231-41. 6. A METHOD FOR SYNTHESIZING SEQUENTIAL CIRCUITS. Bell System Technical Journal, New York, N. Y., vol. 34, no. 3, Sept. 1955, pp. 1045-079. 2. A STUDY OF THE MEMORY REQUlREMENTS OF SEQUENTIAl. SWITCHING CIRCUITS, D. A. Huffman. Technical Report No. 293, Massachusetts Institute of Technology Research Laboratory of Electronics, Cambridge, Mass., 1955. 7. THE SYNTHESIS OF LINEAR SEQUENTIAL CODING NETWORKS, D. A. Huffman. Proceedings, Third London Symposium on Information Theory, London, England, Sept. 1955, also INFORMATION THEORY (book),C. Cherry. Academic Press, New York, N. Y., 1956. 3. SWITCHING CIRCUITS AND LOGICAL DESIGN (book), S. H. Caldwell. John Wiley & Sons, Inc., New York, :N. Y., 1958. 4. ApPLICATION OF BOOLEAN ALGEBRA TO SWITCHING CIRCUIT DESIGN AND TO ERROR DETECTION, D. E. Muller. Transactions, Professional Group on Electronic Computers, Institute of Radio Engineers, vol. EC-3(3), Sept. 1954, pp. 6-11. 5. GEDANKEN EXPERIMENTS ON SEQUENTIAL MACHINES, E. F. Moore. "Automata Studies" (book), C. E. Shannon, J. McCarthy, Editors, Princeton University Press, Princeton, N. J., 1956, pp. 120-53. 8. SYNTHESIS OF ELECTRONIC COMPUTING AND CONTROL CIRCUITS (book). Harvard Computation Laboratory, Harvard University, Harvard University Press, Cambridge, Mass., 1951, pp. 266-70. 9. THEORY OF AUTONOMOUS LINEAR SEQUENTIAL NETWORKS, B. Elspas. Transactions, Professional Group on Circuit Theory, Institute of Radio Engineers, New York, N. Y., vol. CT-6, no. 1, Mar. 1959. 10. ON THE MEASURE OF NORMAL FORMULAS, Pacific Journal of Mathematics, Berkeley, Calif., vol. 7, no. 1, 1957, pp. 969--82. R. McNaughton. System Evaluation and Instrumentation of a Special-Purpose Data Processing System Using Simulation Equipment A. J. STRASSMAN ESTING and instrumentation are es- Tsential prerequisities for the comple- tion and operation of any new system. A system can be defined as a number of components that are amalgamated or integrated together to perform a desired operation. Throughout this paper a "component" is considered to be a complete functional part of a data-processing system such as an arithmetic unit or a buffer. To ascertain if a component in the system is going to perform its specific function, it is sometimes necessary for the implementation of tests to be more complex than the component undergoing the Fig. 1. Standard digital elements and elemenUester L. H. KURKJIAN testing. This becomes apparent when the component is a part of a large system and has many inputs and outputs. To prove the system feasibility or operation of the components it is necessary to do either of two things: 1. duplicate and maintain an entire system and use it as one master-test fixture to evaluate each functional component; or, 2. provide individual test facilities for the evaluation of each of the functional components. The second approach requires the design of simulation equipment to provide the necessary inputs (control signals and data) to check out completely the operation of each individual component. It is believed that this approach offers the greatest advantages for large special-purpose data processing systems. I t is necessary to provide the proper work organization for the evaluation of these computer systems. A differentiation can be made between smal1 and large systems and the work organization can be adjusted accordingly. Although the basic philosophy of test remains the same, the details evolved for the testing or evaluation of a small system will be different from that evolved for a large system. For the purpose of this paper in which the evaluation and instrumentation of a large system will be described, a ':Iarge"system·.will be defined arbitrarily Strassman, Kurkjian-A Special-Purpose Data Processing System Fig. 2. Matrix assembly and matrix tester as one that contains more than 500 flipflops. Since the flip-flop is a basic part of any digital computer, the number of flip-flops can be used as an indication of the size and complexity of the system. The philosophies contained within this paper led to the basic planning considerations for the test and evaluation of a special-purpose data processing system; parts of which will be described in later paragraphs. This data processing system contains approximately 1,500 tubes, 2,500 transistors, 40,000 logical gating diodes and 3,500 flip-flops. Each flip-flop in the system has four transistors making a total of 16,500 transistors in the entire system. This qualifies the described system to be classified as a large system. In the case of a small system, all the A. J. STRASSMAN and L. H. KURKJIAN are with Hughes Aircraft Company, Fullerton, Calif. 127 Fig. 5. Fig. 3. work can be handled by a small group which will perform the necessary tasks from system design to final evaluation. This work includes the logical design, circuit design, and testing. It is admitted that to be able to perform all the tasks included, the technical personnel associated with a small system must be those of broader background than those required for the evaluation of a large system. This becomes obvious when the personnel requirements are outlined for the large system. In this case, due to the actual limitations of time, complexity of large systems, and efficiency of utilization of personnel, specialists are needed in each specific work area to perform all the necessary tasks to complete the system. S~ecialization is indicated by the fact that the system design is done by a group of systems engineers whose function is to define the necessary components needed to implement the system and their interrelationships. Logical design and circuit design are two functions that are performed in an analogous manner by logicians and circuit engineers who are specialists in their respective realms. The test and evaluation of the system is also handled in a specialized manner. Each component is assigned to a circuit or unit engineer whose responsibility is to 1. design- the logical circuitry of the component from the Boolean equations, 2. design the test fixture, 3. write the necessary procedurals, and 4. test the component when it is fabricated. Types of Tests to Be Performed for Evaluation The basic parts of any large system can be broken down into five categories which are listed in their order of complexity: 1. elements, 2. units, 3. components, 4. subsystems, and 5. systems. If these basic parts of the system are evaluated and tested in order of complexity, the sequential building of testing integrity yields the understandable advantage of solving small problems first before becoming involved with the intri- 128 Component test fixture Digital unit module Fig. 4. Digital unit tester cades and troubles inherent in any large system. The first type of tests to be performed therefore would be element tests. ELEMENT TESTS The basic computing elements are usually flip-flops, logical followers, drivers, shift registers, diode cards, and pulse regenerators, etc. These items are referred to as "standard elements." The functional requirements of each of these standard elements determine the design of the test fixture necessary for evaluation. The test fixture for a flip-flop contains the necessary steering circuitry which makes the flip-flop a modulo-2 counter. When more than one flip-flop is built on a standard card, the fixture can be expanded to make the :Hip-flops count in any prescribed manner. Shift registers, followers, and drivers are most commonly evaluated by inserting specific computer word patterns at the input and observing the appropriate outputs. Simple sequential relay circuits are used to step through the forward and reverse characteristics of diodes on standard diode cards. Typical standard elements of a digital computer system along with a standard-element test fixture are shown in Fig. 1. The electronic implementation of the digital computer logic that is represented in Boolean notation is formed from the standard diode card and specific resistor networks on the matrix card assembly. The wiring of the resistors to the diodes on each individual matrix card determines its logical function. The logical function of each card can be statically evaluated by a "matrix card tester" which simulates each input term to the card. The output of each gate is monitored as logical true and false levels are placed at the inputs to the gate. A meter is used to indicate to the operator the result of the simulation of any of the logical terms under test. Fig. 2 is a photograph of a matrix assembly and a matrix card tester. UNIT TESTS Each module of the system under discussion is called a unit and contains up to 21 element cards. A unit module is shown in Fig. 3. The combinations of, and connections between the elements in the unit provide a portion of an over-all computing function that is to be performed by the system. Evaluation of units are difficult because units are incomplete functional items and therefore the amount of simulation becomes large and complex. However, it is considered that this step in the system evaluation is critical. It is therefore necessary to ascertain that each unit has been tested to the maximum. This obligates one to perform the most exhaustive tests possible on the unit level within the framework of the computer. Provisions to accomplish this can only be done by generating ideal simulated signals that the unit would expect in system operation. This type of simulation has been achieved by the design of equipment referred to as the "unit tester." The unit tester provides combinations of static and dynamic signals to the unit under evaluation. All system timing signals, synchronizing signals, and data inputs are generated in the unit tester. Each connection in and out of the unit under test is available on a patch panel on the unit tester. The choice of four signals is available at each point. The point may be: 1. connected to a logical true signal, 2. to a logical false signal, 3. to a special function (synchronization, timing, data, etc.), or 4. it may be left unconnected if it is an output of the unit that is to be observed. The unit test insures that the interelement wiring and the input-output wiring of the unit is correct and at the same time provides a semidynamic test to the various element Strassman, Kurkjian-A Special-Purpose Data Processing System SIMULATION >- '" operator control signal M OIl EQUIPMENT >- '" antenna position M OIl >< • ..... X binary COORDINATE DECODER Y binary ~ control ,• ... .. "'IIr ~ MASTER CONTROL COMPONENT ,.. control "'IIIr MANUAL TRACKING COMPUTER .... --;.;ii~ ,... ~ contrc;)l data ,.. Fig. 7. System test fixtures ........ -- STORAGE ~ data Fig. 6 (left). Typical subsystem block diagram ["t control ~- sential control signals required to cause the computer to perform each program step. SUBSYSTEM TESTS configurations. :Many of the logical functions can be completely evaluated during this phase of test. The unit test can be easily modified for production testing of each module by simple automation techniques. In Fig. 4, a unit is shown under test in the unit tester. COMPONENT TESTS A system component is a unit or group of units that has been defined in the system to perform a particular computing or data processing function. Examples of typical components are the arithmetic unit, the various buffers, the computer controls, and the buffer controls. It is at this level that the simulation of external signals is very important, as the completeness of testing at the component level determines the ease with which it is possible to system test and evaluate the entire system. The component test provides for the testing of all of the logic contained within the integrated units by means of the external simulated signals. These external signals are developed by a special test fixture that is unique for each component. A component consisting of eight units mounted on its test fixture is illustrated in Fig. 5. The test fixture is designed to simulate the complete system to the component. This test is basically dynamic, and as a consequence, logical errors can be discovered during this phase of evaluation. The simulation equipment consists of the appropriate switches, function generators, and timing and synchronizing signals that the component would operate from if it were in the system. Procedurals are written which outline the detailed steps necessary to evaluate the component function as specified by the system's design. This test actually provides or disproves the component logic with the test fixture as the system simulator. Both the test fixture and the procedurals are designed and written by the cognizant circuit or unit engineer who is charged with the responsibility of this compo::1ent and has by necessity a complete grasp of the functional operation of this component. Typical examples of system components and an idea of their complexity follow. 1. The co-ordinate extrapolator updates co-ordinates on the basis of velocity stored in the memory. This component requires 12 flip-flops, 8 logical followers, and 180 diodes. The logic written in Boolean notation consisted of 3 typewritten pages and the test procedural was 9 pages long. The control and addition logic in this comp::ment were evaluated by means of a component test fixture which simulated the system input co-ordinate data, velocity, and time by means of variable word generators and counters. 2. The computer's control are in the form of a special-purpose wired program computer that controls information from and to three arithmetic units. Its outputs include control signals and generation of appropriate constants needed during the various steps in the wired program. The component was implemented with 15 units which contained 148 flip-flops, 384 logical followers, and 6,350 gating diodes. The logical equations in Boolean notation comprised 26 typewritten pages and the test procedural was 114 pages long. The control signals and the terms of the constant generators checked by a test fixture simulated the es- Strassman, Kurkjian-A Special-Purpose Data Processing System After the component has been completely evaluated, the next step for system completion is to integrate the components together into the various subsystems as determined by a logical sequential build-up. Fig. 6 demonstrates a simple integration of one subsystem consisting of four components. There is less simulation equipment needed in this phase than for the component test. The example shown shows control and decoder components that have the facility for entering data into a special-purpose computer which steps through a wired program cycle and stores information on a magnetic drum. Parts of this information are used in the control component during system operation. This makes the subsystem a small closed loop within the system. Logical tie-in and timing errors can be found and solved during this part of system completion. Simulation equipment for subsystem tests usually consists of inhibiting signals that effect the closed loop operation and generating all those other signals which are necessary to make the loop operate. In the example shown, X and Y co-ordinate data in Gray Code, simple operator control buttons and radarantenna position signals were the only signals needed to be simulated. Parts of existing component test fixtures can be used during subsystem tests as they contain the necessary simulation equipment. SYSTEM TEST AND EVALUATION This phase is the culmination of an the test and evaluation effort that has been 129 as magnetic-ink character readers and converters, which the bank ultimately expect to have, approximately 7,000 square feet in total for the equipment was actually allocated. Since this electronic data-processing system contains its own air-conditioning equipment and, in fact, air conditions the area in which it is situated, with exception of the room containing the magnetic-tape drives, there was a relatively small investment to make for air conditioning. This was to provide for controlling the temperature and humidity in the magnetic file room, which was approximately 1/6th of the total area. There was also provided at the site, the equivalent of approximately 90 gallons of water per minute, at a temperature not higher than 75 degrees, for the compressors included in the system and, of course, the necessary power supplies. Both supplies, that is water and power, were made independent of other requirements within the building, so that any failures resulting from the use of equipment in other areas would not have any effect on the system. The question, which is frequently raised, of whether or not an independent power supply for emergency use was needed was considered and it was resolved that this would be uneconomical in the long run. After all, if the bank should lose power throughout the main office today, it would be "off the air," so to speak, until it were restored. When recalling the multitude -of proof machines, bookkeeping machines, tabulating equipment, and other electrical devices upon which the bank relies from day to day, it can be realized that it is not practical to install an emergency supply system of sufficient size to operate them in the event of a main line power supply failure. Hence, it is reasonable to say that exposure with an electronic data-processing system is really no greater, in the event of such a power failure, than it is today with conventional equipment. Delivery of the equipment began shortly after the middle of April 1958, and on June 2, the engineers had completed assembly of all of the various units involved, and engineering tests and check-outs were commenced. The contract provided for a minimum of 3 weeks of acceptance tests and these were started later that month. Acceptance tests were run for the required period under the general supervision of the computer expert, who had been retained originally as a consultant. The tests included not only the operation of various routines developed for regular daily use, but also specific programs written for the purpose of testing all of the various com- ponents of the system, and each of the mechanical and electromechanical pieces of equipment associated with it. By the middle of July, the bank was convinced that the equipment was satisfactory in all respects, with the exception of one unit, the high-speed printer, which at that time needed some further engineering work. Therefore, the system was placed on a rental basis, with the exception of the printer, on July 17, 1958. The printer and converter, as initially delivered, was essentially a prototype, and after rather extensive field testing a production model, incorporating many improvements in design, is being substituted for it. When the equipment was delivered in June, the programming for the bank's deposit accounting operation was completed. This program is a comprehensive one intended to eventually handle more than 108,000 checking accounts. Since approximately 32,000 of these accounts are in the nature of special checking accounts where the checks themselves are in the form of punched cards and provide a ready means of input, these accounts were selected for the initialoperation. Early in June they were transferred to magnetic tapes and processing on a day-to-day basis behind the old operation was begun. This procedure not only assisted evaluation of the equipment during the test period, but also enabled final polishing of the program itself. In the middle of July, an attempt was made to operate the new system on a parallel with the old. This attempt eventually led to one conclusion: that it is not possible, as a practical matter, to operate an accounting function designed to make the most effective use of electronic equipment on a parallel basis with manual or automatic systems. The use of a computer system in data processing enables one to approach problems in a considerably different manner than it is otherwise possible to do in other systems. This difference in philosophy, combined with the greater speed and the high degree of accuracy, makes it extremely difficult to draw comparisons in any intermediate stages of handling data. The adjustments that were necessary to balance one system to the other were extremely cumbersome to handle on a day-to-day basis. These tests, however, did serve to convince many employees who were unfamiliar with this new method of data processing of the reliability and accuracy that could be expected of the new accounting procedures, and of the equipment itself. Early in September, procedures were altered so that regular processing was done electronically and the old system followed a day Taunton-Data Processing in Banking and Other Service Jndustries behind, in order that one final check of our cycled statements could be made. At the end of that month, the old system was abandoned entirely and, since that date this work has been done very satisfactorily on the new equipment. It might be of interest to note here, that a normal day's operating time on the computer to edit, sort, and post between 20,000 and 22,000 items to approximately 33,000 accounts, including the preparation of tapes for the printing of statements, lists of overdrafts, and numerous other special reports is in the order of 28 to 32 minutes, figures which compare favorably with the original estimates of the research group as to the time required for this operation. As indicated earlier, other applications were being programmed and program debugging has continued. In the past few weeks checking out the routines for the Corporate Trust operation have been completed and the records, with respect to all of the bank's stockholders, are on magnetic tape files. These are being processed regularly on the new system. When the conversion of data in old files to tapes is complete, the bank will increase this operation to include in excess of 765,000 accounts. This conversion will take some time, since the practical problem of manually punching the equivalent of more than 51/ 2 million cards in order to translate the data in the old files into machine language must be faced. There are one or two points that are unique about this particular application. First, it is believed that this is the first bank to apply fully automatic techniques, and second, the routine, itself, puts upon the computer the burden of calculating and assigning to each item, a key in lieu of an account number, which when sorted results in arranging the files in alphabetical sequence. In a file of the size with which this bank is concerned, the cost of looking up and assigning numbers to each item in the file, and to each transaction affecting the file, in order to post correctly and to preserve its alphabetical sequence is very high. Some banks have felt that this cost is sufficiently great to wipe out any gains that might otherwise be realized from other semiautomatic or automatic accounting systems requiring the numbering of accounts and have, therefore, stayed with manual systems. While the bank has not as yet had an opportunity to fully check out the application, it is believed that solving this problem of account numbering has been successful. Experiments under actual operating conditions with a file of approximately 25,000 stockholders have led to this conclusion. It is frequently asked, "If you can 13 performed previously. All the elements, units, and components have been proved to perform within the framework of the several subsystems. It is now necessary to prove that the integration is complete by operational use of the entire system. Obviously a minimum of simulation equipment is required during the system evaluation. Fig. 7 shows system test fixtures with the components mounted. Since large systems are complex, it is considered good design to incorporate selftest features into the system. This involves the design of simulation equipment to be incorporated within the actual system hardware. This equipment is useful during the initial evaluation as well as during normal system operation. Conclusions It is apparent that any complex system can be tested and evaluated by a step-byProviding the step instrumentation. necessary special purpose instrumentation has proved to be more rapid and economical than the accumulation of generalpurpose testing devices. There are many instances in the testing of special-purpose computer components within a system that general-purpose instrumentation devices would not suffice no matter how much and hoJ;' varied the instruments could be interconnected. In each of the stages of the system integration particular classes of errors and failures can be uncovered. During element tests, electronic part failures and mechanical errors are discovered and corrected. After element testing, each element is considered operative and the troubles found in unit tests cannot be attributed to the elements. During unit testing, logical and timing design errors can be uncovered and intraunit connections are ascertained to be correct. At the completion of the unit test, each unit is considered to be completely operative. Therefore, during the component test phase, any difficulties discovered cannot be attributed to the unit, but rather to logical tie-in errors between units and interunit wiring. Similarly, the problems within the subsystem test are only related to those difficulties encountered in integrating more than one component because of the completeness of the component evaluation. System testing is merely an extension of the previous statements, but now referring to problems encountered in integrating subsystems. The sequential building of test complexity offers the advantage of solving small problems first before becoming involved with the intricacies and troubles inherent in any large system integration. Finally, the experience of the personnel involved in the test build-up enables a better understanding of the system operation thereby decreasing the time required to integrate a large system made up of many discrete and special components. checkout equipment used in preference to manual checkout by technicians? Discussion Mr. Strassman: Well, I could say it is 100% because the ones that do not work are not used. After testing the elements, it is ascertained completely whether or not they are working, and those that are not working are then repaired, tested again, and then put back into the system. So that we have proven workability of the items before they were actually installed in the system. Howard W. Childs (Sylvania Electronic Systems): I gained the impression that the test equipment was largely manual in operation. Is this true? Glenn W. Bills (North American Aviation): Why wasn't tape-programmer automatic APAR, Automatic Programming and Recording G. R. BACHAND J. L. ROGERS HE AUTOMATED Integrated Data TSystems (AIDS) program objectives are to: 1. automate weapon data activities reliably, economically and with realistic accuracies, 2. provide these facilities rapidly with a degree of flexibility for maximum utilization, 3. standardize a systems approach which takes into account technological advances. One major development area is the automation of information acquisition, and germain to this paper is the problem 130 T. F. MARKER of automatic acquisition of variables information in testing operations. The systems needs are based primarily on acquiring data from quasi-static phenomenon at relatively low digitalizing rates and modest accuracies. In addition, building blocks should be made available having higher order capabilities commensurate with other application requirements. In fulfilling the needs for an economical automated acquisition system, the de- Mr. Strassman: These first two questions can be replied to with the same answer. In essence, this was a developmental model and therefore it did not behoove us to spend time and money to design special automatic checkout equipment to do the job. However, we could say that we had automatic technicians because they were provided with special instructions as to exact procedures to be followed for the checkout and what to do when a particular readout was not what it was supposed to be. However, the fact of economics primarily prohibited the design and use of automatic checkout equipment. G. W. Smith, Jr. (Bell Telephone Laboratories): What provision is made for "inoperation" testing to indicate failures during service? Mr. Strassman: I did not describe that particular portion of the system, but within the system there is built-in simulation equipment to provide external signals that provide facilities for in-operation testing. For instance, since this particular data processing machine is used for radar data processing, we have actually built into the system a radar target simulator which allows us to provide in-operation testing without an external radar. W. A. Farrand (Autonetics Division, ;..Jorth American Aviation): To what degree do you find that the dynamic tests of elements provide worb.bility criteria? velopment of functional modules has been completed which in various combinations, dictated by the application, make up an Automatic Programmer and Recorder (APAR). APAR, when equipped with the proper transducers or test heads, can be used to replace test equipment, the test equipment operator, the recording notebook or inspection sheets, the process of controlling equipment under test, and the process of recording the test data. This acquired information is converted to a machine language and recorded on punched paper tape. The people in the System Studies Department who have generated the concept of APAR and fostered its G. R. BACHAND, J. L. ROGERS, and T. F. MARKER are with the Sandia Corporation, Albuquerque, N.Mex. Bachand, Rogers, .lVlarker-APAR L-~~---l - +DIREG IlEAOOUT OPTIONAL APAR + TRANSDUCERS - TESTER Fig. 4. Fig. 1. Addition of control functions Information flow diagram Fig. 3. Addition of multiplexer (ANALOG OF FUNCTION BEING MEASURED) PUNCHED TAPE MAGNETIC TAPE Fig. 2. Basic APAR block diagram embodiment into hardware do not like to think of AP AR as being a single piece of equipment, but rather a series of techniques available in separate modular forms which have a great deal of flexibility so they can be applied in many situations. Some of the illustrations reproduced here show some of the possible combinations that are feasible with the APAR concept. In addition to the AP AR, other compatible systems are being developed which will provide immediate reduction of information coming from the APAR. Fig. 1 shows a flow diagram of information from a device under test into the AP AR and its recorder. )J otice that between the AP AR and the device under test there are groups of transducers which are used to convert the test parameter data into a common analog input language. The AP AR then converts this into a digital machine language. The AP AR can have provisions for two types of input analog languages: voltage and frequency. An APAR together with its transducers form a tester. For simplicity, the flow of programmed control from an APAR to the device is not shown. The next series of four illustrations will break the AP AR into its functional parts to illustrate how it operates. Fig. 2 shows the most basic parts of an AP AR; a digitizing voltmeter and a tape recorder. A digitizing voltmeter is Bachand, Rogers, 11;[arker-APAR a device which converts the magnitude of a voltage into its equivalent digital code in machine language. The present recorder uses punched tape; magnetic tape may be used later. ~otice that the device under test is connected to the digitizing voltmeter through the transducer. The function of this transducer is to take the information which may be a voltage, a current, a pressure, a force, or some other phenomenon and convert it into one of the common analogs previously mentioned which can then be converted into the punched tape code. Voltage has been chosen as the most common analog to be used because there are many transducers whose analog outputs are voltages and currents. If there were many parameters to be measured in the device under test in a simple system of this type, it would be necessary to supply separate digitizing voltmeters and tape punches for each transducer. Fig. 3 illustrates that by adding a multiplexer to the digitizing voltmeter the various analog inputs can be switched to the digitizing voltmeter and only one digitizer and tape punch will be needed for many data inputs. The tape programmer shown in the left-hand side is a device which reads program commands from prepunched tape and directs the multiplexer to connect various data inputs to the digitizer for sampling. The system is flexible so that any input order can be chosen by punching it into the program tape prepared in advance of the test. Of course, with many inputs the data must be identified on a tape, and so it is necessary to add an encoding device which will identify the data from each input channel with a proper code. In this case, a 2-letter code is used to indicate each channel. There is a possibility of many input channels. At the present, APAR's Fig. 5. Addition of multiple high-speed voltmeters have 24. This is a modular form, and the number can be increased in multiples of 24 as desired. In Fig. 4 some other functions have been added. From the tape programmer there are controls to modules of function switches. These are used to control the device under test at the direction of the test program. Any combination of switches can be selected at any time to change the treatment or operation of the device being tested. In series with the digitizing voltmeter another modular block called upper and lower limits has been added. If one wishes to check a reading from the digitizing voltmeter against a set of limits to determine if it is within specification, the programmer tells the upper and lower limits module what the limits are for the reading to be checked. The module makes a comparison, and if the value is found to be outside the limits selected, the machine will automatically insert a code for a comma in the data tape following the reading so that it can later be identified. There is a provision for an immediate alarm if desired. The test can be stopped at the time an outside-limit event occurs. I t is sometimes desirable to insert a discrete time interval between two events in the test operation. A provision for a delay timer is, therefore, incorporated, as shown in the lower left-hand corner of the 131 AR6958 BC3091,CN1937 CR~ o P AR-IDENTlfYING CODE b958-DtG!TAl READING -OUT OF LIMITS fOR PRECEDING READING CR-END Of SE~UENCE (CARRIAGE RETURN) STOP-END OF TEST (APPEARS ONLY ON PROGRAM TAPE) OUTPUT TAPE FORMAT (PROPOSED) Fig. 6. Proposed output tape format Fig. 7. Logical circuit card Fig. 9. illustration. The time interval and the when-it-is-to-happen instructions can be programmed. Shown in the lower right-hand block is the identifying data entry device. Some means of identifying the information on each tape is needed. The device being tested, the tests that are being run, sometimes lot and serial numbers, and similar kinds of information must be known. APAR can be directed to repunch any informatbn on its program tape into the output data tape; also another tape can be inserted into the programmer to read directly into the output tape recorder with this information prepared in advance on a Flexowriter. Generally speaking, each group of identifying information differs from the next only by changes in a lot or serial number, so that it would be considerable nuisance to hand-punch identifying information over and over with only small changes in the information. I t is, therefore, desirable to have an identifying data entry device which has provisions for changing only a part of this information :at a time. There is such a device which -can enter identifying data sequentially into the data tape at any desired time. It has the capability of storing preset alphanumeric word groups, and any Fig. 8. 132 letter or numeral in the store can be changed without resetting or erasing all of the information. The store is always on display for the operator. In Fig. 5 there are added multiple highspeed digitizing voltmeters. It is sometimes desirable to obtain data simultaneously on a number of channels. Because there are limitations to the speed at which the data tape punch and the digitizing voltmeter operate, it is necessary to have special high-speed digitizing voltmeters for parallel operation. The data may be generated faster than the punch can receive it so a temporary storage device is used to hold the information until it can be read into the tape punch. The multiple high-speed digitizing voltmeters are operated on command from the programmer. Their output information is temporarily stored in the memory which may be a tape drum or a small section of continuous magnetic tape, and then at another command from the programmer, the information is fed into the output tape punch. There are other devices which are sometimes useful. One is an elapsed timer to tell when the test started and stopped. It is sometimes useful to add time-of-day information. The frequency meter is also Card trays in drawer assembly Cabinet, showing drawers used for frequency and time interval digitizing. Fig. 6 shows a section of typical output tape format. The punched tape is 7/8 inch wide and it can store the codes for ten letters or numerals per inch of length. A lateral column on the tape contains the punched code for each letter or numeral. On this sample tape the first two letters, AR, tell that the information following was taken from the input channel identified as the AR channel. The next four digits are the variable data obtained from that channel. At the end of a specified test seq uence, a carriage return is inserted. At the end of a group or test sequence, a stop code is inserted which is primarily a signal used to instruct later an International Business :Machines Corporation 705 to start processing the previously entered data. After the reading on channel BC, there appears a comma. This indicates that reading 3091 was out of the limits programmed for that channel. This piece of punched tape could then be inserted into a print-out device such as a Flexowriter, and it would print a tab of this information, or it can be used in other types of intermediate level reduction for process control plots. It can also be sent to a data center for later processing. The construction of this system and others which are coming along with it is on a modular basis. This is to obtain maximum flexibility in order that one can put together whatever combinations of modules are necessary for a particular testing operation. The lowest order module is a card, which is shown in Fig. 7. On one of these printed wiring cards is grouped several logic circuit functions. The cards are about 21/2 by 3 inches, and they plug into a rack which is called a tray, as seen in Fig. 8. In a tray there are provisions for 30 cards, and a group of cards arranged in the tray to perform some other complete function, such as upper-lower limits, is called a second- Bachand, Rogers, J.v.tarker-AP AR order module. The trays are mounted in groups of five in an assembly called drawers. The drawers are further assembled in rocks or cabinets as shown in Fig. 9. All of the computer circuitry and control circuitry is based upon the use of transistors. In the last several years, several types of transistors have proven to be unusually reliable. For example. one type which is frequently used in the circuits has never developed one defect in receiving inspection. More than 50,000 of these have been used and, excepting those damaged in development, it is proving to be one of the most reliable components. The pioneer application of AP AR in one of the weapon component development programs is now being made. In conclusion, in meeting the physical realization of the AIDS objectives, there are no major technical barriers to overcome to determine adequately the reliability of atomic weapons. Discussion G. W. Bills (Xorth American Aviation): What speed is available on the high speed digitizer? Mr. Marker: Three units can be used for various speeds. One is the Epsco Transicon, which operates at 16,000 readings per second. There are two other designs which operate at 100 and 1,000 readings per second for a 10 per cent change of the input voltage. The accuracies for these two latter types are 0.1 and 1.0 per cent respectively. Mr. Marker: Most generally, mechanical readers and punches are employed whose reading and punching rates are 20 and 10 per second, respectively. The programmer is adaptable to photoelectric reading at a rate of 600 characters per second. It is possible, although there is no existing requirement, to use commercial high-speed punches for output tapes whose punch rate is 800 per second. C. S. Lin (M.LT. Lincoln Laboratories): Is the 20-kc clock rate, the clock rate or the operating rate? Mr. Marker: It is the average speed of the flip-flops and other logic circuits in APAR. The device is asynchronous, so it is difficult to specify an operating rate that is meaning- Mr. Marker: ful. A module is being developed to-Digital Converter Synopsis: With an increase in the use of digital techniques in the fields of instrumentation, data handling, and control, there has been an ever-increasing need for high-speed high-accuracy, analog-to-digital and digitalto-analog converters. This paper describes a fully transistorized, reversible, high-speed data converter using the programmed successive approximation technique. Accuracy of 0.05% is obtained in an ll-bit binary encoder, 0.03% in the corresponding decoder. This technique is outlined in some detail as it pertains to the trg.nsistorized system. Conversions are performed at 5 microseconds per bit or 16,000 conversions per second for an ll-bit binary code. Sign is automatically determined and the absolute value of the voltage encoded. A lowvoltage reference is used and is electronicchopper stabilized. The digital-to-analog W. Brandt (International Business Machines Corporation): What is the character rate of the paper tape input and output? Mr. Bills: Are there any provisions for dynamic testing, for example, a response to a step function? A High-Speed Transistorized Analog- R. C. BARON for waveform digitizing using an analog sample-and-hold technique where analog storage of the samples is employed. T. P. BOTHWELL conversion problem and high-accuracy highspeed techniques using transistor switches are discussed. A number of converter applications are shown. Finally, over-all system performance of transistorized converters are compared with available vacuum-tube equipment regarding speed, accuracy, size, weight, power consumption, and reliability. HIS PAPER describes a high-speed Tsolid state converter having a conversion rate of 5 microseconds (,usec) per bit or 16,000 analog-to-digital conversions per second at an accuracy of ±0.0.5%. The converter can operate as an ll-bit binary or 13-bit binary coded decimal (3 decimal d1gits and sign) by simple in- terchange of one card. Stability of all circuits obviates need for zero adjusts or calculation knobs. Both internal and external reference voltages are provided for, and any conversion rate, up to the internal 200,000 bits per second, allows synchronization of the serial output to external tapes, drums or data transmission systems. After a discussion of the problem the converter will be described, then review a few of its many applications. The many techniques for analog-digital conversion can be classified into three basic types, a sweep, step counter. and successive approximation method. All these basic techniques are widely covered in the literature, so only a brief summary will be given here. The sweep technique compares the unknown voltage with a linearly varying voltage and stops a counter when the two are equal. The step counter approach utilizes a forwardbackward counter which incrementally adjusts a known voltage to match the input. The third basic method is the successive approximation technique in which the unknown voltage is compared first with one half full scale, then with one quarter full scale, and so forth. The sweep technique has the apparent advantage of minimum equipment, but its speed is greatly limited. The step counter has advantages when examining Fig. 1. Reversible voltage - to - digital converter Baron, Bothwell-A Transistorized A nalog-to-Digital Converter R. c. BARON and T. P. BOTHWELL are with Epsco, Inc., Boston Mass. The authors are indebted to Mr. Bruce Smith and Mr. Bernard M. Gordon for ideas and suggestions incorporated in this paper. REFERENCE VOLTAGE REfERENCE VO:...TA6E 4R t''" c lJfi OUTPUT SUMMING PCINT SUMMING POINT SERIAL OUTPUT A-CURReNT SWITCHING GROUND o START CONVERSION Fig. 2. Block diagram t SUMMING POINT Fig. 3 (right). Basic switching circuit incremental changes or following a slowly varying voltage but suffers greatly in terms of speed when operating on multiplexed or discontinuous inputs. The successive approximation technique is able to handle the highest rate of independent conversions; every conversion requires a precisely known period of time, and when all is considered, seems competitive in amount of equipment required. A transistorized successive approximation technique was selected as offering an optimum combination of reliability, low cost, and speed of operation. C- VOLTAGe SWITCHING generated if the input current from the switches is greater than the current from the input amplifier. At the end of a conversion, the control circuitry is turned off and an end of conversion pulse is provided at the output. The basic internal reference is a IN430A Zener diode controlling a 0.015% high-precision solid-state voltage regulator. An external reference can be substituted if desired. Both serial and parallel digital outputs are provided which are capable of driving external loads without buffers. Digital Attenuator System Description Fig. 1 illustrates the Translcon Datrac converter. A block diagram of this converter 1s shown in Fig. 2. An absolute value input amplifier buffers the input to an impedance level suitable for matching into the comparator. The comparator always sees a positive voltage independent of actual input polarity except during the sign decision interval. An external or manual start pulse clears the register of the previous number and starts the conversion process. An analog voltage is generated by a programmed sequence of events determined by the control circuitry, the programmer, and the register. These set analog current switches which stimulate the analog signa! into the comparator. These current switches form a digital attenuator, accurately attenuating the reference supply to the appropriate digital representation of the code in the register. The comparator is interrogated by the control circuitry at a 200-kc rate and a reject pulse is 134 B-SINPUFleO CIRCUIT liP 1 l Since the digital-analog converter is the heart of this equipment and strongly influences the design of its other components, it will be discussed first. Prior to discussion of the specific technique used, a discussion of semiconductor switching is in order. Two basic methods of switching are shown in Fig. 3. For purposes of discussion, they have been called current and voltage switching. In simplest terms, current switching implies a constant current in the resistors of the digital attenuator (D-A) network, the switching function only determines which of the available currents are selected as the output and which are shunted into a current sink. Voltage switching is the term applied to the case in which the voltage applied across the summing resistors is switched, while the resistors themselves remain tied permanently to the output. The current switching method is the one most commonly used with vacuum 0 REfERENCE 0 :::~, L. .- ~_2- ,R~4R-----J8R SUMMING POINT O-SINPLleO CIRCUIT tubes. If points A, B, C, and Dare high with respect to the summing point, current is drawn from each leg according to the ratio of the resistors. If any of the inputs A, B, C, or D, are negative with respect to the summation point, the current in that leg is shorted out and that switch is opened. This is a simple switching scheme although it necessitates the careful selection of diodes or the use of trimming resistors. A severe disadvantage appears when this scheme is used with solid-state switching devices. The dependence on temperature of the voltage drop across semiconductor diodes, together with their changes in life result in a high reference voltage requirement. Assuming a temperature coefficient of 2 millivolts per degree centigrade (C) and a temperature differential of 40 C, the total uncertainty in voltage drop is 80 millivolts. For 0.05% accuracy, this necessitates a reference supply of 160 volts. Even with the best commercially available silicon diodes, temperature plus life changes imply a reference voltage awkwardly high for a solid state regulator to handle. If the diodes in Fig. 3B are replaced with germanium transistors in order to improve the quality of the switch, new problems arise. Assuming a leakage current of 0.3 microampere (fLa) at 25 C and a maximum operating temperature of 50 C, for 0.05% accuracy, full scale current must equal 30 milliamperes (ma). If used in an A-D converter, this would place severe requirements on the comparator and on the input buffer, and would set impracticably high power levels in all the associated circuitry. Voltage switching, on the other hand, Baron, Bothwell-A Transistorized A nalog-to-Digital Converter Fig. 4 (left). Thevenin equivalent of switch REF. INPUT ~---OUTPUT A-OFFSET METHOD +RE~ ~--+ TO + ftEF. -RE~ ~f~ TO COMPARATOR COMPARATOR -ftEF. SIGN FF SIGN FF "0" "I" I WHERE 0 ~ GA.s. FF SUMMING POINT i-s OUTPUT B-REFERENCE SUPPLY SWITCHING RS INPUT CODE ) VT'VREF. ( FULL SCALE L..-_ _ _ _ _ _ _ _+ - _ OUTPUT C-ABSOLUTE VALUE AMPLIFIER o~ LL allows a much smaller reference supply voltage to be used. The drop across the switching transistor can be made very small; for example, it is practical to design switching circuits in which the drop from emitter to collector is less than 2 millivolts essentially independent of temperature. This allows use of a 20 volt reference with switching accuracy of 0.01 %. Because of the use of two transistors in push-pull, the summing resistor is clamped either to ground or to the Fig. 5. Digital attenuator Fig. 7 (right). Three methods of achieving bipolarity reference supply, depending on whether the switch is "on" or "off." As a result, leakage current in the off transistor ceases to be a problem since the cutoff transistor always leaks into a conducting transistor. Comparing the impedance of the conducting transistor to that of the summing resistor, it can be seen that the leakage current is attenuated by a factor of at least 2 X 10 4• The principal limitation of the voltage switching scheme seems to lie in the breakdown voltage of Fig. 6. Reference supply Baron, Bothwell-A Transistorized Analog-to-Digital Converter the transistors used as the switches (they must stand the full reference voltage plus a margin) and their minority carrier storage characteristics which determine maximum switching rate. Both these factors prove to be tolerable with several available transistor types. A voltage-switched network of the type shown in Fig. 3(D) is also a digital voltage attenuator with respect to the reference voltage, and obviously displays a constant output impedance. Fig. 4 shows the Thevinin equivalent of switch. Fig. 4(C) shows the valid equivalent circuits for a network of this type. When operated into a short circuit or low impedance load, the Thevinin transformation of Fig. 4(D) may be a more useful equivalent. The constant source impedance property of the digital attenuator makes it a particularly desirable digital-to-analog converter. When the Transicon Datrac converter is operated in the reverse mode, D-A, the digital attenuator may drive the output directly, without buffering, and delivers a current which is exactly proportional to the digital setting of the register regardless of the magnitude of the resistive load. For bipolar outputs, the absolute value amplifier is used as an output buffer. Digital-analog accuracy is 2: 0.03%. The Transicon digital attenuator, Fig. 5, was set to operate with a reference of 16 volts for binary systems. In decimal systems, 16- 2/ 3 volts is used, giving a Thevinized 10-volt full scale. The digital attenuator is summed with the input into the comparator. 135 Fig. 11. Fig. 8. Span control and linearization Interior view of converter Fig. 9. INPUT Alarm limit monitor Fig. 12. INPUT COMPARATOR ~_(_V..;,.RX_'_l--------I Al'~~~~:~R ~-----------. REFERENCE CONTROL AND PROGRAMMER REGISTER OUTPUT Fig. 10. Square root generation The solid state comparator is of the pulse amplifier type having a sensitivity of a fraction of a millivolt. \\Then interrogated, it supplies a reject pulse if the sum of the input voltage and its internally generated analog is less than zero. Long term drift of this comparator is ± 1 millivolt without any calibration or adjustment. Freedom from calibration is an essential feature in any equipment which must operate in a large system over a long period. Programmer A specially designed magnetic p rogrammer was used in the converter. Essentially, it is a magnetic ring counter using a square-loop blocking oscillator per stage. It has two principal advantages. One is low cost due to the use of only one core and one inexpensive transistor per bit. The second is the use of magnetics which permit permanent 136 storage. This enables the converter to operate at any repetition rate from 0 to 200kc. This feature is particularly useful when the serial pulse output is required to be synchronous with the users clock, as for example, in a magnetic drum or tape system. The reference supply, Fig. 6, is a ±0.015%-precision, solid-state chopper stabilized operational amplifier having an output impedance less than 100 milliohms. In addition to providing current to the encoders, the reference is available externally. If desired, an external reference supply may be switched in for ratiometer measurements. Absolute Value Amplifier Several methods of achieving bipolarity in an essentially unipolar converter are shown in Fig. 7. One method is to offset the input amplifier so that ground-in equals half ful1-scale output. \Vith this Analog multiplication method, plus and minus full scale input equal full scale and ground output. This results in complementary outputs for negative inputs and proves disadvantageous for some applications. Another method of bipolar operation is to switch the polarity of the reference supply, depending on the sign of the input. One means of doing this is shown in Fig. 7(B). This involves diode switching with the associated stability problems. Other schemes are available but all involve the use of two reference supplies with the associated switching problems. In this, unit bipolarity is achieved by the use of an absolute value amplifier. This involves two cascaded stages of chopper-stabilized operational amplifiers, with the output of the first or second switched to the comparator according to the sign of the input. Use of a transistor switch allows the comparator input to be stabilized within 10 p,sec after a change of amplifier input polarity. Modular Construction The Transicon Datrac is modular in design. Fig. 8 provides an interior view of one standard model. The use of standard printed-circuit building blocks enable the user to expand his system as the need develops. An ll-bit binary converter can be converted to a 3-decimal digit converter in a matter of hours. Transicon Datrac System Applications The modular and flexible basic design of the Transicon Datrac converter allows Baron, Bothwell-A Transistorized A nalog-to-Digital Converter it to perform a wide variety of arithmetic control, and data processing functions as well as the nonnal digital-analog and analog-digital conversions. Four examples are blocked out in Figs. 9 through 12. They are "limit monitoring," "square root generation," "span control and linearization," and "analog multiplication." In the limit monitoring operation, Fig. 9, the digital attenuator is slaved to a digital signal representing the desired limit, and continuous comparisons at 100 kc are made between the number and the input. An alann pulse is provided when the input exceeds the specified value. A single converter could monitor 100 independent signals at 1,000 samples per second, using multiplexed inputs and plugboard or toggle switch stored constants. Fig. 10 illustrates a square root generation technique. A feedback analog voltage is generated which is proportional to the square of the number in the register by cascading two digital attenuators both of which are identically controlled by the register. Since the operation of the converter forces the feedback to agree with the input, the number generated during conversion in the register (x) must be proportional to the square root of the input (x 2 ). This mode of operation may be alternated with nonnal conversion by switching the additional digital attenuator. Fig. 11 shows a combined setup for span control and linearization. Zero suppression and scaling are performed in the converter input amplifier. Linearization is accomplished by a two-pass conversion. On the first pass, the raw correction increment is selected; the second pass results in conversion of the corrected voltage. The correction is selected by the most significant bits resulting from the first pass. These bits are applied either to a small external memory which yields the correction, or are decoded and applied as a selection voltage in a simple potentiometer or toggle switch "memory." The great advantage obtained from this technique is that the correction for each interval may be independently selected, making linearization of complex functions nearly as simple as that of monotonic functions. Fig. 12 shows an analog multiplier which simultaneously digitizes the multiplicand. In the fonn shown, the multiplier is able to digitize large amplitude complex wavefonns where frequency components are below half the sampling rate, or 8 kc. If a forward-backward counter is substituted for the registers shown, (a single counter can replace both registers and the gating), signals with frequency components up to 200 kv may be followed. Because the maximum rate of change of the counter is 200 bits per millisecond, a full scale excursion for a counter-multiplier requires 10 milliseconds. Comparison with Vacuum-Tube Converters As the use of digital techniques increases, there will be a need for more and better converters. Transistorized converters have advantages which will enable them to capture much of this market. During the past few months, not only Transicon but also some of the other available equipment have been evaluated. Based on these tests plusinfonnation gained elsewhere, a comparison can be made between equivalent vacuum tube and transistorized converters. At present, the transistorized converters are somewhat slower than the fastest tube converter, the Datrac. However, there is no intrinsic reason why a transistorized converter could not be operated as fast. The accuracies of the two systems are comparable. The Transicon requires approximately 15% of the volume and weight and 10% of the power consumption of its tuhe equivalent. The reliability of the Datrac has been proved in over 1,000,000 hours of field operation. Transicon is expected to do as well. Finally, there is the question of cost. Despite the somewhat higher cost of transistors, the transistorized converter is substantially less expensive than an equivalent tube converter. This results from savings in power supply, metalwork, assembly, and simplified circuitry which solid state techniques afford. The next year should witness a definite increase in the use of transistorized systems in the converter field. Discussion J. A. Gariocchi (Radio Corporation of America): What are the maximum and minimum values of the ladder resistors in the digital attenuator and how accurate are they? Mr. Bothwell: The smallest resistor is approximately 13,000 ohms. Accuracy is 0.02 per cent. The largest resistor in the digital attenuator is about 700,000 ohms, and this is about as large as practical to build in the alloV'.'ed space. The accuracy required of the precision resistors, of course, decreases in proportion to their binary weight and their decimal signi£cance. The most significaht- digits require the greatest accuracy, and so forth. Mr. Gariocchi: How do you maintain ac- Baron, Bothwell-A Transitorized Analog-to-Digital Converter curacy transistor switching for such ala: ge range of ladder load currents? Mr. Bothwell: The ladder design is such that the range of load current is restricted to approximately ten to one. In addition, the switching accuracy improves as the current is described so that the switch need only be designed for the largest load current. Mr. Gariocchi: What transistor types are used in the transistor switch? Mr. Bothwell: Without going into very specific details, a number of transistor types will give reasonable yield. The General Transistor 2N520, the Radio Corporation of America 2N269 or 2N404, and practically any other high-gain medium-frequency alloy junction types will give switching performance in the order of magnitude that we discussed. The specific transistor we use is purchased to our specification at the moment, in order to be sure that we do not have to select. To get optimum performance, examine the equations of Ebers 'and Moll, and optimize the ratio of forward to reverse gain. R. Reichard (Computer Control Company): Can you cite statistics on the reliability of the Datrac? Mr. Bothwell: I think Mr. Reichard is asking for reliability on the Transicon Datrac. For the Datrac, we have had 300 units in the field for several years, and with the normal life time of vacuum tubes, we believe the reliability of that unit has proven to be extremely high. Definitive statistical. data on commercially sold instruments is difficult to compile since the unit becomes the property of the customer after it is sold. The Transicon Datrac reliability statistics are going to be more difficult to give. This unit has only been in production for 6 months. There is not enough live' data available to be really significant there but we expect reliability at least as good as the tube equipment gave. Mr. Reichard: Are failures largely due to the chopper and is this an electromechanical one? Mr. Bothwell: The answer is that it is an electromechanical chopper used extremely conservatively. The requirements of it are quite modest. We believe the life of this chopper will be extremely long. Gerald Smith (Daystrom Instruments) : Could you briefly describe the type of circuit used for your "compare" functions? Mr. Bothwell: Essentially, an electronic switch device chops the signal at the error junction between our analog feedback and our input signal. If the analog f~edback is not equal and opposite to the input signal, a chopped signal results which passes through a high-gain a-c amplifier and a phase sensitive demodulator. The demodulated pulse signal is, then, the decision signal. M. Garden (Leeds and Xorthrup): Is the three millivolt area of the reference supply due to drift or to loading? Mr. Bothwell: With a lOO-milliohm source impedance, we get about a tenth of a millivolt shift due to maximum loading. 137 covery time as the internal reference, or is an amplifier provided to match the external reference to the ADC? The drift which I mentioned is due to two factors. One is temperature drift of the reference Zener diode. The second factor is finite amplifier loop gain and its internal drifts. These factors contribute less than 3 millivolts from 20 to 50 C. Mr. Bothwell: No amplifier is provided unless specifically requested, but it can be provided. It is not necessary to have quite so 10\'1 a source impedance as we have, but it is necessary to have a source impedance of less Mr. Garden: Is the external reference required to have the same impedance and re- The Trial Translator I An Automatic Programming System For Experimental Russian-English Machine Translation than approximately 0.3 ohms; otherwise, the accuracy will suffer to some extent. The recovery time is very necessary. This can be obtained by putting a good tantalum capacitor across the terminals of the device or across the terminals of the reference supply voltage. The Transicon is not intended to operate from high impedance reference unless a buffering amplifier is included in the equipment. able trial translation, the English text resulting from the application of the given rules to the given text. The Trial Translator contains three main subsystems, the Automatic Dictionary, the Formula Inserter, and the Specifier-Evaluator-Editor (Fig. 1). The Automatic Dictionary V. E. GIULIANO RAMMATICAL and syntactic rules designed for the production of "smooth" automatic translations between human languages will be called translation algorithms. Because of the rigid constraints imposed by automatic machines, the formulation of translation algorithms involves unprecedented problems of a linguistic nature. Much of the existing literature in the field of machine translation consists of theoretical treatments of these problems, or of appropriately simplified abstractions from these problems. Several specific algorithms for the machine translation of Russian to English have been proposed, but none have been tested on a large scale. 1 These rules are apparently based on the intuition and linguistic backgrounds of the individual writers, sometimes aided by the manual analysis of short text samples. Until very recently the use of automatic machines has been confined to the application of ad-hoc computer programs, tailored to the processing of particular sentences or carefully selected texts. At the present time it is exceedingly difficult, if not impossible, to evaluate most of the schemes which have been proposed for Russian-English translation. This difficulty is due to the absence of any practical means for testing these schemes on large bodies of text. Many of the proposed algorithms will, doubtlessly, work in the majority of cases. There remains, however, the question of whether they are "fail-safe." That is, do they lead to annoying but safe nonsense when they fail, or do they lead, instead, to smooth but incorrect sentences? It is possible, but highly improbable, that most of the fundamental linguistic problems connected with machine translation are already solved in the literature. At present, however, there is no way of testing the validity of this conjecture. An automatic programming system, called the Trial Translator, is suggested in this paper for the automatic testing of translation algorithms. This system accepts, as its inputs, a set of experimental translation algorithms expressed in a suitable pseudocode language, and,a large body of Russian technical text. The system applies the algorithms to the text and produces, as its output, a read- G RUSSIAN TEXTS Suppose that the entries in a Russian to English dictionary are recorded on a medium which can be read by an automatic computer, say on a reel of Univac magnetic tape. A Russian text can be recorded on another reel of magnetic tape from a manual input device, say a Unityper. A complex of machine programs can be written for the computer, a Univac I in the example considered, which accepts these two reels of tape as inputs, and which produces a tape containing a word-by-word translation of the text as its output. Such a complex of machine programs, together with the dictionary file, will be called an Automatic Dictionary. An automatic Russian-to-English dictionary was originally proposed by Oettinger in 19.54, as a "linear approximation" to a completely automatic translating system. 2 A concrete system of machine programs for the operation of an automatic dictionary, with Univac I equipment, was suggested by the writer in 1957. 3 This system, forming the operating part of the Harvard Automatic Dictionary, has since been programmed and is currently in operation. A semiautomatic dictionary compilation process has been developed, and has been used for the preparation of a RussianEnglish dictionary file for the fields of SPECIFIEREVALUATOR- V. E. GIULIANO is with the Computation Laboratory of Harvard University, Cambridge, Mass. DICTIONARY FILE ~, Y i TRANSLATION' IMPROVED AlGORITHPIS TRANSLATIONS, I i ";~ : I I : t : 1 / UNGUIS,S, PSYCHOLOGISTS, LOGICIA'IIS ' \ '---------~ READ IMPROVED TRANSLATIONS, ! 138 : }+----- . . . \ ...... FORMULATE NEW ALGORITHMS. ,,,,/ Fig. 1. The Trial Translator system The author is indebted to his colleagues at the Harvard Computation Laboratory for valuable advice and encouragement. Professor A. G. Oettinger, Mr. R. Karp, and Mr. W. Foust gave especially valuable assistance. The writer is also indebted to Professor H. H. Aiken for his continued interest in the machine translation project at the Computation Laboratory. The author's research has been supported in part by the Ohio Oil Company, the United States Air Force, and the National Science Foundation. Giuliano-The Trial Translator Fig. 2. Sample section of proof copy on the prepared Harvard Russian Unityper electronics and mathematics. This file presently contains 22,000 entries representing 10,500 words, or roughly 120,000 distinct inflected forms of these words. The compilation of the dictionary file has been described elsewhere. 4 An important output of the Automatic Dictionary is a word-by-word translation, a translation in which one or more English correspondeflts are simply substituted for each Russian word in the running text. Word--by-word translations of scientific and technical texts might be useful to students, to conventional translators, and to technical editors of conventionally translated texts, as aids in their work. The author's experience with the Harvard Automatic Dictionary, although still very limited, indicates that the production of word-by-word translations is a simple and practical matter. \\lhen a translation is made, the original Russian is entered onto magnetic tape with a special Unityper. 5 This Unityper has a standard Russian keyboard in the lower-case, and a standard English keyboard in the upper-case. It records appropriate alphanumeric pulse patterns for both the Russian and English letters, and produces a proof copy in both Russian and English. The proof copy for a sample section of Russian text is shown in Fig. 2. The Russian is simply copied as it appears in the original printed text. The typist brackets punctuation symbols with asterisks. The typist also inserts English comments to describe equations and illustrations, and brackets these with dollar signs. The Unityper tape and the Russian-English dictionary tapes are the inputs to a single "Cnivac computer run, producing the wordby-word translation. A sample section of a word-by-word translation is shown in Fig. 3. The sample is printed from Univac magnetic tape. The text is read from left to right, in the normal manner. Alternative English correspondents, for the same Russian word, are listed one under another. Provisbns exist for printing a maximum of 1,2,3,4, or 5 English correspondents, as desired. Missing Russian words, in the text but not in the dictionary, are simply transliterated into English characters, Giuliano---The Trial Translator and are marked with the symbol The sample shown was made with an incomplete dictionary file, and a few words are therefore still transliterated. Punctuation marks appear in their original positions. English comments are marked with the symbol "***,, The operating program of the Harvard Automatic Dictionary produces, besides a word-by-word translation, several companion by-products (Fig. 4). For example, a special alphabetic dictionary is produced, containing only words in the particular tex t. A word-by-word translation can be converted into a smooth and idiomatic translation by a posteditor, who can work directly on the machine-produced print A sample page of postedited print is shown in Fig. 5. The illustrated print is produced with the original Russian interlineated with the English, for the benefit of translators knowing some Russian. The posteditor has indicated his choice of meanings, as well as a choice of wOldsequence, with the arrows. Besides drawing arrows, a posteditor occasionally supplies meanings missing from the dictionary or better than those originally printed out. A posted;ted text is eventually transcribed into conventional format by a typist, who copies the words at the heads of arrows. Experiments are being conducted to determine the value of the dictionary outputs to translators, scientists, and students of technical Russian. Preliminary resul ts are encouraging; several individuals have used the dictionary outputs to translate at considerably accelerated speeds. The outputs seem to offer particular advantages to individuals who "###." CIRCUIT NOT kl="GHJItlE NETWORK CIAGAA~ REQUEST SCHE~E CLAIM PARAM[TFR At the time of this writing, over a dozen texts, each 1,000 to 3,000 words in length, have been selected from the Russian technical literature, translated by machine, and postedited. By June of 1959, the number of texts should be approaching 50. New or improved technical terms and meanings, suggested by technical experts who read the dictionary outputs, will be fed back into the dictionary, which is to be periodically updated through a semiautomatic process. The experiments in postediting are extremely important from the long-range viewpoint, since the transformations which are made by the posteditors are the very same transformations which must be eventually automatized. The main output of an automatic dictionary, insofar as the proposed Trial Translator is concerned, is a by-product called a text-ordered subdictionary. A text-ordered sub dictionary is an augmented version of a Russian text. It is made by simply substituting a complete dictionary entry, on magnetic tape, for each Russian word in the original running text. The text-ordered subdictibnary produced by the Harvard Automatic Dictionary has a format similar to that shown in Fig. 6, except that the entries are arranged in textual instead of alphabetic order. The entries are separated by heavy horizontal lines. Each entry contains a Russian word (marked a), a complete set of English correspondents ({3), and a set of coded information (T). The coded information characterizes the grammatical properties of the Russian word in some detail. Information of this nature is needed if smooth and grammatical translations are to be produced automatically. This output combines the original textual information with the available lexical information, and contains all data which might be necessary for an automatic analysis of the text. SFLECT ION DE "AND IN HeR (IT I HFRS (ITSI LIMIT aouND _T INTO FOR ABSENtE are familiar with the technical subject matter of the material being translated, but who know only the rudiments of Russian. NONLINHA EN,) EFFECT AND AND THEN AND so CONST ANe 'r' TOO EITHER Fig. 3. Section of a word-by-word translation 139 cuRRENT NEW TERMS, IMPROVEMENT OF INDEXED AUTOMATIC FILE OF ~ROCESSEO TEXTS 000 SUB DICTIONARY i (0 ® ~--~1 @ 0 SMOOTH ENGLlSH- TEXT- AL~HA8ETIC ORDERED ORDERED SUBDICTIONARY (PRINT v) INDEX OF NEW TERMS TRANSLATIONS DICTIONARY (PRINT ~i. i) DICTIONARY (PRINT iv) A IDS FOR CDR 0 ® CD EXPERIMENTAL (PRINT vi) CORRELATIONS, NEW TERMS OR SPECIA~ WORDS WITH KNOWN WORDS LOGICAL ANO CONTExTUAL ANALYSES; CONCORDANCES FREQUENCY COUNTS; LETTER, WOR"D, PHRASE, ENOINGS ENTROPY (INFORMATION) CONTENT @ SPECIAL LISTS Of LINGUISTiC FORMS TRANSLATiON OUTPUTS AIDS FOR INFORMATION SEARCH, EVALUATION OF PERIODICALS" RESEARCH IN IMPROvED AUTOMATIC TRANSLATK)N :~~:;~I~·. ;~~~~;~~ @ SPECIALLY REQUESTED LISTINGS. TERM USAGES, ETC AIDS ____ A_'OS_FO_R_L_AN_GU_AG_E_TE_AC_H'_NG_AN_O_S_EL_F-_LE_A_RN_'N_G_ _ _ __ FOR BASIC RESEARCH' IN LANGUAGE STRUCTURE IN THE DESIGN OF TRANSLATING MACHINERY Fig. 4. Translation Algorithms As an example of a translation algorithm, consider a portion of a rule suggested by Kou tsoudas and Korfhage. 6 (This specific algorithm is mentioned for illustrative purposes only and the present writer does not assert that it is necessarily valid. It is his contention, in fact, that no translation algorithm can be accepted as truly valid until it has been tested on a large scale with actual language data.) "Kouns preceded by adjectives: - I f the word preceding the adjective is a noun, and there is no punctuation mark between the first noun and the adjective, then place 'of the' before the adjective." This rule can be stated in a form analogous to that of a logical implication. Let k be a numeric argument defining the text position of a word on which attention is focused. Let the following propositional variables be defined for all values of k: N(k) = k is a noun A(k) = k is an adjective T(k) = a punctuation mark follows k. When a definite value of k is assigned to a propositional variable, a definite proposition results. For example, N(26) means "word number 26 in the text is a noun." The indicated action can also be abbreviated: IN(xxx,k) = insert the string "xxx" before the translation of k. The translation algorithm can then be stated, using the usual connectives of the 140 Outputs of the Harvard Automatic Dictionary propositional calculus; ",......." for "not," "." for "and," and "V" for "or": N(k)· A(k-l)· N(k-2)· ,.......-y(k-2)DJ(OFTHE, k-I) This can be abbreviated in the form: P-Q where P is a logical function of one or more variables, and Q stands for an action which might be taken in making a translation. The arrow is not a logical implication sign, but stands for an imperative to the translator or translating machine to take the action Q when P is true. Algorithms which can be written in this form will be called basic algorithms. Almost all of the algorithms suggested in the literature of machine translation can be expressed as basic algorithms or as chains of basic algorithms. The Trial Translator ~1any linguists have, in the course of their work, become acquainted with the notation of the propositional calculus. The notation readily lends itself to the use of mnemonic names for logical variables, names such as N(k) , A(k), etc. H is simple and well-suited for the formulation of translation algorithms, a fact illustrated by the example. These considerations suggest that the variables and formulas of basic algorithms might serve as the phrases and sentences of a pseudocode language, used as input to an automatic programming system. The system would convert pseudocode instructions phrased in the language of the propositional calculus into computer commands, and execute these commands on Russian texts. This automatic programming system is, of course, the suggested Trial Translator. Like any other automatic programming system, the Trial Translator might be programmed in a great many different ways.7 A specific approach is suggested, and is believed to be practical for lise on a machine having magnetic tape units, a large internal store, and provision for the handling of alphanumeric characters. Several existing machines satisfy these requirements, among them the International Business Machines Corporation (IBM) 705, the IBM 709, and the Univac II, the latter when equipped with the maximum amount of core storage. The proposed Trial Translator embodies features of both interpretive- and compiler-type systems. It is based upon the selective association of algorithms with dictionary entries. The actual association is effected by the Formula Inserter, a compiler program. The algorithms are later applied to texts by the Specifier-Evaluator-Editor, an interpretive program. The Association of Algorithms with Dictionary Entries The Formula Inserter operates upon a Russian-English dictionary file similar to the file of the Harvard Automatic Dictionary. Prior to a computer run, a table of basic algorithms is ioaded into an internal memory store. The Formula Inserter selectively inserts coded repre- Giuliano-The Trial Translator sentations of the translation algorithms into the individual dictionary entries. The algorithms themselves select the entries into which they are inserted. For example, certain algorithms apply uniquely to single Russian words. Among these are algorithms used in the resolution of multiple meaning problems, algorithms used for the interpretation of idioms, and algorithms for the treatment of prepositions. Anyone of these algorithms contains a variable stating the presence of a particular word, such as u3 (k), and is inserted into the entry containing that word. Other translation algorithms apply to broad classes of Russian words, such as those applying to nouns, those applying to verbs, etc. Coded information is assumed to be in each dictionary entry, denoting the part of speech of the Russian word in that entry (noun, verb, Many translation preposition, etc.). algorithms are inserted according to parts of speech: algorithms having N(k) in their formulation apply primarily to nouns, and are inserted into all noun entries, etc. The Formula Inserter is also capable of using other, more complicated criteria for the insertion of algorithms. The Formula Inserter allows the automatic accumulation and updating of algorithms. It is capable of inserting new algorithms into the entries of a previously prepared dictionary tape, and of deleting old algorithms from such a tape. The output of the Formula Inserter is an augmented dictionary file containing the selected formulas. The augmented dictionary file is prepared only once, and then can be used for any number of texts. Formulas are inserted once and become part of the lexical material in the dictionary. Since the formulas are pseudocoded programs, the Formula Inserter' is effectively a compiler-type program. Substantial economies can be realized through the use of this compiler operation, since the program logic needed to associate algorithms with Russian words need be carried through only once. The second main component of the suggested Trial Translator is an Automatic Dictionary. Russian texts are processed in the usual manner, except that an augmented Russian-English dictionary file containing translation algorithms is used. Both a word-by-word translation and a text-ordered subdictionary are produced for each text. The dictionary search program simply ignores the algorithm codes contained in the dictionary entries, and these codes appear in the entries of the output text-ordered subdictionary. Giuliano-The Trial Translator ---7' ----------7 EHK5POZtTSt-t ~ ~~:~~~{~ FfATIIRl Fig. 5. OF THE"? ~~~!~~I.G----~J :~~ ~TH!--7 ~~~/N6- ~ OF START ~Rl""(,IPLF TOO TERI'4IN~ LE"D FtTH~R .Ju~pER AND so THE 7~~:~~~~;o. Postedited section of an interlineated Russian-English word-by-word translation The Specification of Variables and Evaluation of Formulas A trial translation is completed by passing the output tape of the automatic dictionary through the Specifier-Evaluator-Editor, the third component in the Trial Translator system. This program operates in an interpretive mode, applying the translation algorithms to the available word-by-word translation. Well-defined contexts, possibly a sentence in length, are processed as separate units. Each context is brought into memory in subdictionary form, is processed and edited, and is recorded as output. Basic algorithms do not necessarily commute. That is, if A and B are two basic algorithms, the result of applying A and then B to a given context may not be the same as the result of applying B and then A. The order or sequence of algorithm application is, therefore, of great importance. It is necessary, then, to make provisions that enable the linguists who formulate algorithms to exercise control over the order in which these algorithms are applied to a context. These provisions can consist of special sequence-determining algorithms, which determine the order in which other algorithms are executed. Sequence-determining algorithms can be expressed in the same pseudocode language as other basic algorithms. If they are so expressed, they can be processed by the Specifier-Evaluator-Editor in a like manner. The following procedure for control of the order of algorithm application is envisaged. (The arrangement described is suitable for use during the early stages of experimentation when only a relatively small number of context types will be treated, and when the sequence-determining algorithms will be subject to frequent change. A large number of context types will be treated during the later stages of experimentation, and it will then be necessary to use a more efficient and complicated system of sequence-determining algorithms.) Sequence-determining algorithms are not stored in dictionary entries like other algorithms, but are instead kept in a separate table. This table is available in high speed memory while the Specifier-Evaluator-Editor is operating. The first algorithm executed, whenever a new context is processed, is the first sequence-determining algorithm in the table. The logical portion of a sequence-determining algorithm ascertains whether a given context has a certain structure, for example, noun-verbpreposition-noun. If this is not satisfied by the given context, the next sequence-determining algorithm irr the table is evaluated, etc. There is a separate sequence-determining algorithm in the table for each type of context which can be treated. (See preceding parenthetical note.) "When the logical portion of such an algorithm is satisfied, the action portion fixes an order in which the algorithms in the entries are to be applied. The execution of an algorithm, whether sequence-determining or general, involves the following machine processes: 1. Specification: In a particular context the variables in an algorithm become propositions, which are either true or false. The specification of a variable, in a given context, is the truth value of the associated proposition. This term is used ambiguously, since the process of determining the truth value of a variable is also called the specification of the variable. 2. Evaluation: The truth value of the logical formula portion of an algorithm P, in a given context, is called the evaluation of that formula. The truth value of a formula, of course, depends on the truth values of its component propositions. The term is used ambiguously, since the process of determining the truth value is also called the evaluation of the formula. 3. Editing: Whenever the evaluation of the logical portion of an algorithm is 1 (true), the corresponding action rule Q is executed. This might be an editorial action, or an action relating to the sequence of algorithm application. The truth value of a proposition is determined by one of a set of specifier routines. These routines are at the heart of the automatic programming system. The Trial Translator can only handle 141 THF THF THF WILL •• BASIS BAS!S BASIS BE_ BE OF (XPfRIENCF OF ,NFOR"ATIC'N OFTkE- -- DESCRIBED IN 01 SREGARDED _, CAN B!: WILL BE DISCOl'RAGED BY CALLED THE ~AO~~yV B~~E!:____________________________~P~RO~G~P~AM~M~E~D~T~O~_ I Fig. 6. I I 1 ' I :. ~ ~ ____ ~_.~_"_~ __ "~"". ~ _ , . E,;;.ti"v o,~~ , . 'AOA 1 ~ Dictionary entries illustrating information available in a textordered subdictionary variables which can be specified automatically. The breadth of the vocabulary of the input pseudocode language, then, is determined by the degree of flexibility of the specifier routines. Only variables which relate to lexical data, or to the morphology of strings of characters, can be specified automatically. The data, in a given dictionary entry, consist of a Russian word, English correspondents, coded grammatical information, and coded translation algorithms. Certain variables can be specified by means of the comparison of a known string -of characters, given by the variable, with other strings of characters in dictionary entries. Variables of this type will be called string variables. Suppose, for example, that dictionary entries contain coded "part of speech" markers, "N," "A," etc., in a fixed character position, say position 27. In order to specify N(k+2), then, it is sufficient to investigate character position 27 in the second entry following that containing the algorithm under consideration. If the character in this position is "N," the specification is 1 (true), if not the specification is O. The "part of speech" variables, then, are string variables. Since string variables deal directly with the available morphological and lexical units, it is possible to formulate any admissible basic algorithm in terms of them. A general-purpose specifier routine is suggested which is capable of specifying any string variable. A string variable can be defined by a set of pseudocode words which this routine is capable of interpreting. These pseudocode words should contain: 1. A key. This is a string of one of more known alphanumeric characters. A string of characters might represent a Russian word, an English correspondent, a grammatical code marker, or the identification code of a basic algorithm. 2. A major co-ordinate. This specifies the text location of the entry in which search is to be made. The major coordinate is a relativ"€ co-ordinate, and is zero for the entrY containing the algorithm under consider~­ tion, -1 for the preceding entry, 1 for the following entry, etc. The major co- + 142 .. ;'",(,0000000 .. MUST B!: MAV BE CO!.!L~ 8!: - - WILL BE MUST BE BEST B!: WOULO BE BE -WTCC- WILl BE TO BE Fig. 7. ____ ____ ___ LF ARNED RE"ElfBERED INITIATED EL.! C !TED PRESENTED DFvOTED OB5ERVED _ ________ ----- BV TH"'T !Iv FROM FRO" TO "I-N------- OF Ll"ITED IN r..IVEN r.IVEN LATfR SUFFIcIENT AND -- - Sample section of a context listing prepared from an English text ordinate might denote a fixed entry, such as +3, or a set of entries over which a search must be made. For example, search might be made in all entries following the given entry but preceding the next period. Provisions should exist for both backwards and forward search, with fixed limits or with limits determined by a secondary key. 3_ A minor co-ordinate. This specifies the location or locations within an entry which must be checked by the specifier. This can be a number which indicates a specific field in the entry. In the Harvard Automatic Dictionary, for example, Russian stems, English correspondents, and grammatical markers, with minor exceptions, occupy fixed fields. The minor co-ordinate might, instead, denote character positions which are search limits within an entry. The string in the previous example is "N," the major co-ordinate is +2, and the minor co-ordinate is 27. \Vhen a string variable is being specified, the general-purpose routine searches the data positions defined by the major and minor co-ordinates. The strings thus obtained are compared with the key string. When a search is successful, the specification of the variable is 1, otherwise it is O. A comprehensive routine of this type has been programmed for the Univac I, and successfully checked out. 8 This routine uses four Univac pseudocode words per variable, three of which can contain a key. Certain variables which will occur commonly in translation algorithms are not, in fact, string variables. For example, consider variables which relate to the interpretations of endings, such as GP(k), standing for genitive plural when k is a noun, or FT(k), standing for future tense when k is a verb. It is not always possible to specify these variables by simply matching strings of characters, and theycannot be handled by the general-purpose specifier routine. A special-purpose specifier routine is therefore suggested, capable of analyzing the ending of a Russian word and determining whether it can represent a given case, number, tense, etc. This routine should be capable of specifying all variables like GP(k) and FT(k). The operation of this special-purpose specifier routine can be synthesized, using basic algorithms and a generalpurpose specifier routine of the first type. That is, each of the variables of the type GP(k) could be replaced by one or more basic algorithms containing only variables of the string type. A separate specifier routine is justified in this case, however, since information about the interpretations of endings will be required very often. Other special specifier routines, handling more complicated variables, can be provided should the need for them arise. The linguists who formulate translation algorithms should be allowed to communicate these algorithms to the machine in the usual mnemonic notation of the propositional calculus. A linguist should be able to name a variable, for example, by writing "ACk)," "ADJ(k)," "ADJECTIVE (k)," or any other short mnemonic designation. Such mnemonic names need be converted into pseudocode specifier instructions only once, by a programmer, and the correspondence 'retained in a cross-reference table. The conversion of variables in formulas from mnemonic to full pseudocode form can thereafter be done automatically, as part of the compiler operation of the Formula Inserter. The evaluation of a logical formula, P, is determined by the specifications of the variables contained in the formula. There are several well-known methods for evaluating logical formulas, anyone of which can readily be programmed. 7 If logical formulas are stated in disjunctive normal form, a particularly simple evaluation process can be used. A disjunctive normal form is a sum (V) of products ( .) of variables, in which only single variables can be negated (en). An evaluator program can consider the products individually and in turn, proceeding from left to right. The specifications of the G1'uliano-The Trial Translator individual variables are examined, the specification of a negated variable always being reversed. If all of the specifications in a product are 1, the evaluation of the formula is 1 (true), consideration of other products being unnecessary. Whenever a variable with zero specification is encountered, the next product is examined. If all products contain variables with specification 0, the evaluation of the formula itself is 0 (false). The evaluation of a formula in normal disjunctive form may require the specification of only a few of the many variables in the formula. For example, suppose that the leftmost product in a formula consists of a single variable with specification 1. The evaluation of the formula is immediately seen to be 1, and the specifications of the remaining variables are not needed. The evaluation process, in this case, terminates after a single step. This possibility of early termination suggests that variables be specified only when needed by the evaluator, and that the specifier programs should function as subroutines under control of the evaluator program. The conversion of logical formulas to disjunctive normal form can be done externally, by the linguist-logicians who formulate the algorithms, or .internally, as part of the Formula Inserter operation. A logical evaluator routine, of the type just described, has been checked out on the Univac 1. 8 This simple program requires less than a hundred lines of Univac coding. It is designed for use with the previously mentioned general-purpose specifier routine. Algorithm Actions When the evaluation of a formula is 1, the indicated action, Q, is taken. Each admissible action is represented in the machine by a small subroutine. The actions, like variables, can be named symbolically by the individuals who formulate algorithms. Typical actions might be: 1. Define an order of algorithm execution, for the algorithms contained in the entries of a given context or subcontext. 2. Inflect a given English correspondent into the plural or possessive. 3. Delete the translation of a particular word. 4. Insert an article, such as "the" or "a," before the translation of a given word. 5. Select a particular English correspondent out of the set of those given in an entry. 6. Permute the word order of the translations of two given words. 7. Modify a certain string of characters Giuliano-The Trial Translator in a given position, so that the specification of a certain variable is changed. 8. Interrupt the normal sequence of algorithm execution. Take the next algorithm from position x in entry y. 9. Exit to a fixed routine which edits the output into a format suitable for printing. (This action is taken whenever the processing of a context is completed.) Bring the next context into memory, and transfer control to the first sequence-determining algorithm. The actions might involve more complicated program logic, controlling the sequence of algorithm application. It might prove economical to construct another interpretive routine, somewhat in the spirit of the logical specifier, which can perform, under control of pseudocode instructions, transformations on arbitrary strings of characters. It should be possible, in the course of experimenting with the Trial Translator, rapidly to build up a library ofa~tion subroutines, adequate for all necessary transformations. Conclusions The output of the Trial Translator is examined by expert translators, psychologists, and linguists, who determine how well the trial algorithms actually worked. The linguists suggest new algorithms or algorithm modifications. These are coded in mnemonic form, usi:Ig the language of the propositional calculus, and are fed back into the Formula Inserter. The same human-machinehuman cycle is repeated, until a satisfactory set of algorithms is obtained. A large body of Russian text must be used, of course, in order to obtain meaningful results through this feedback process. The linguists are aided, in their choice of algorithms, by the various byproducts of the automatic dictionary operation (Fig. 4). Lists of word contexts, for example, can be readily prepared in a variety of formats. 9 One such format is illustrated, with English text, in Fig. 7. Research is underway towards automatizing the algorithm finding process. There is reason to believe that certain translation algorithms can be discovered automatically, through the machine comparison of Russian texts and polished professional translations of these texts. Many successive layers of refinement will exist between the raw word-by-word translations of an automatic dictionary and the smooth translations of an ultimate automatic translator. The first experiments will be modest, and do little more than inflect English correspondents into the plural, etc. Several years will probably be required for the development of a reasonably complete set of fail-safe translation algorithms, adequate for technical Russian. An important role of a Trial Translator will be the interim mass production of partially improved translations, for actual consumption. These translations will, at every stage, reflect the quality of the best set of translation algorithms then available, without the necessity for expensive reprogramming. It is hoped that these interim translations, like the presently available word-by-word translations, will serve as valuable aids to professional translators, to students of technical Russian, and to scientists interested in the Russian technical literature. References 1. A great many specific translation algorithms are suggested, for example, in various Seminar Work Papers (mimeographed), Institute of Language and Linguistics, Georgetown UnJ.versity, Washington, D. C. 2. A STUDY FOR THE DESIGN OF AN AUTOMATIC DICTIONARY, A. G. Oettinger. Doctoral Thesis, Harvard University, Cambridge, Mass., 1954. 3. PROGRAMMING AN AUTOMATIC DICTIONARY, v. E. Giuliano. Design and Operation of Digital Calculating Machinery, Report No. AF-49, Sec. I, Harvard Computation Laboratory, 1957. Also, PAPERS, Seminar on Mathematical Linguistics, vol. III, Harvard University, 1957. 4. LINGUISTIC AND ::.lACHINE METHODS FOR CCMPILING AND UPDATING THE HARVARD AUTOMATIC DICTIONARY, A. G. Oettinger, W. Foust, V. E. Giuliano, K. Magassy, L. Matejka. Inter- national Conference on Scientific Information, Washington, D. C., Nov. 1958. 5. AN INPUT DEVICE FOR THE HARVARD AUTOMATIC DICTIONARY, A. G. Oettinger. Mechanical Translation, Massachusetts Institute of Technology, Cambridge, Mass., vol. 5, no. 1, 1958, pp. 2-7. 6. MECHANICAL TRANSLATION AND THE PROBLEM OF MULTIPLE MEANING, A. Koutsoudas, R. Korfhage. Mechanical Translation, Massachusetts Institute of Technology, Cambridge, Mass., vol. 3, no. 2, 1956. 7. ON THE PROBLEMS OF AUTOMATIZING THE PROGRAMMING OF TRANSLATION FROM ONE LANGUAGE TO ANOTHER (IN RUSSIAN), S. N. Razumovskij. Doklady Adakimii Nauk USSR, Moscow, USSR, vol. 113, no. 4,1957, pp. 760-61. 8. THE CALCULUS ON PROPOSITIONS IN AUTOMATIC TRANSLATION, J. S. Berson, Seminar on Mathematical LinguisticS, Harvard University, Vol. IV, 1958. 9. A METHOD OF CONTEXTUAL ANALYSIS ApPLICABLE TO LINGUISTIC RESEARCH, P. E. Jones. Ibid. Discussion Allen Walls (Westinghouse Electric Corporation): Does the computer recognize case endings, tenses, etc.? Mr. Giuliano: Yes. Programs are presently being checked out for this purpose, and variables relating to case endings will be dealt with by the proposed Trial Translator system. v. Schwab (Remington Rand Univac): To determine English translation, is the Rus- 143 sian word compared letter by letter to a dictionary, or is the word broken down into a root word, with affixes, prefixes, suffixes, and others? Mr. Giuliano: At present, because of storage considerations, we are using a stem dictionary in which only the stems are stored; however, there is nothing fundamental about this. It just happens to be a question of the large number of bits needed to store a whole dictionary and the limitations of existing storage devices. W. W. MacWilliams (Bell Telephone Laboratories): Have you had experience with the Trial Translator and, if so, would you summarize it briefly? Mr. Giuliano: So far, our experience has been with dictionary compilation and producing word-by-word translations. We have processed and postedited about 30 texts. The string specifier and evaluator programs are just now being put into operation. These programs have been written and tested, but they have not been incorporated into a complete Trial Translator system. proach these problems, since we are just now beginning to tackle them. As far as idioms are concerned, one may store an idiom glossary and use this glossary when certain algorithms show that words translated separately do not make sense or do not properly fit together. It is probable that the multipie meaning problem will have to be approached through the use of an automatic thesaurus; that is, by a dictionary of like meanings. This is about all that can be said at present. H. Charles Kerpelruan (Westinghouse Electric Corporation): What work is being done on "teaching" this machine itself to do the modification and improvements of the translation which is now being done by linguists, psychologists, logicians, etc? Mr. Giuliano: I am prejudiced, but I think that this is a very good question. I hope soon to publish a paper on the design of a machine system, which I call "Formula Finder," that will automatically compare Russian texts with the postedited word-byword translations for the same texts. By comparing the two, the system will determine algorithms needed to carry one into the other. The system will only work when given proper clues by a linguist. Outside of this, I know of no work in this area. G. R. Fiannaca (United States Air Force Intelligence Laboratory, Rome Air Development Center): How do you translate idioms of which a word-for-word translation does not necessarily make much sense, but which contains words which may, at times require a word-for-word translation? The second part of the question is: Many English translations are sometimes po~sible for a given Russian word. Some alternatives are not sensible with a given text. How do you deal with the mUltiple meaning problem? H. Milsum (National Research Council of Canada): Have you any idea of the expected speed of translation? Will there not be some difficulty in deciding when not to add some more algorithms? Presumably, there will be some point when increased program time is not justified by more accurate translations; in particular, later algorithms will probably involve more work for less effect, I presume. Mr. Giuliano: Both of these problems relate to advanced phases of research. I can, at best, only indicate how one might ap- Mr. Giuliano: I quite agree with your last statement. Our present production rate with the experimental setup is 1,000 words J. Paul Benetean (Burroughs Corporation): When do you think you will have a complete system utilizing some of these rules? What speed do you expect in, say, words per minute? Mr. Giuliano: I believe that if our research continues at the present rate, it will be possible to have an experimental Trial Translator working, perhaps inefficiently, within 6 months or so. As far as words per minute, it will probably operate down in the 1,000-words-anhour range, but at any time it could be reprogrammed to operate as a production system on a faster machine at 10 to 100 times that speed. 3. To prepare a complete computer program to numerically solve the mathematical model. T. J. THEODOROFF is with General Motors Corporation, Detroit, Mich. and Application T. J. THEODOROFF 144 Mr. Giuliano: The present dictionary contains 2,160 bits per entry. That is, a half of aUnivac data block. Augmented file entries will be of the same size. ~o efforts have been made to try to achieve storage economy. Our present system is purely experimental. We hope that the Trial Translator will in time replace the human posteditor. This date, however, is probably some distance in the future. 2. To provide an automatic analysis by a computer to establish the mathematical model of the behavior of the system. Programmer . Part I: Description HE PROCEDURE for writing down the equations of motion of certain classes of dynamic systems is explicit, particularly those to which Kirchoff's laws and/or D'Alembert's principle can be applied. The Dynamics Analyzer-Programmer (DYANA) is a program developed for the International Business Machines Corporation (IBM) 704 EDPM which utilizes such a procedure, and from a physical description of E. W. Cannon (National Bureau of Standards) : How many bits are required for: 1. the average entry in the dictionary file; 2. a typical augmented file entry? Will the trial Translator replace the human posteditor now in use? The computer program produced by DYAN A is a complete FORTRAN program punched out on cards and ready to be run with the requisite set of numerical data. In addition to the program deck of punched cards, a printed listing of the resultant FORTRAN program is produced along with an input data plan, or map, describing the input data that are needed and the format in which it must be punched on input data cards. Part I of this paper is concerned with the types of physical systems that are handled by DYANA, how these systems are characterized or expressed, and what the FORTRAN solution of these systems looks like. The internal structure and functioning of DYAN A will be given in the second part of this paper (Structure and Function). DYANA: Dynamics Analyzer- T an hour. We feel this can be readily expanded to something like a 100,000 words an hour by reprogramming on a more powerful computer. I must stress the fact that our work is of an experimental nature; it is not production work. I suspect that advancing computer technology will make machine translation more and more economically feasible as time goes on. a system develops a mathematical model and a resulting program. The objectives in setting up DYAN A were: 1. To permit an easy description of dynamic systems to a computer. Theodoroff-DYANA: Part I Description of Physical Systems fFOl Fig. 1. Simple mechanical system Types of Systems Which Can Be Studied The user of DYA~A will be able to specify anyone of three different kinds of solution for his particular problem. He may ask fo!" a program to compute the natural frequencies and associated modes of vibration of a system. He may ask for a program to compute the frequency response of a system. Finally, he may ask for a program which will give him a time-sensitive description of all displacements and velocities in a system. In this latter case, nonlinear elements may be described in the system as well as any arbitrary excitations at any co-ordinate points. In all three cases branched systems may be described, examples of which would be trains of gears in rotational systems, interconnected levers in translational systems, or transformers in electrical systems. Applications of this program may be made to any system that may be characterized by a single degree of freedom at each co-ordinate point. Some examples might be in thermal processes, hydraulic systems, vibrations in a continuous media which may be approximated by distinct elements occupying discrete positions, as well as electrical and mechanical systems. The description of a physical system is given by a convenient notation indicating the elements of the system and their points of connection. The elements are of four distinct types. In mechanical systems they are: 1. masses, 2. viscous dampers, 3. springs, and 4. gears or levers for rotational or translational systems, respectively. All of these elements, except for the masses, have two terminal points of connection. The masses, of course, form a single point of connection. If each point of connection is given a distinct label, then each element can be described in terms of the kind of element it is and what its points of connection are. In DYANA, the labels given to the points of connection are any of the 2-digit numbers 01 to 99, while the 2-digit number 00 is reserved for a fixed terminal point or ground. In this manner DYANA recognizes the symbol E14K23 as a spring element (from the letter K) connected between two points labeled 14 and 23. The symbol E14C23 is a damping dement connected between the same two points, while E23COO is another damping element connected between point 23 and ground. A mass at point 14 is denoted E0011J14. A gear or level between points 14 and 02 is represented by E14N02. Finally, if there are any applied forces in the system, a symbol is given specifying the point at which the force is applied; e.g., EF12 indicates an applied force at point 12. Fig. 1 shows a simple system in which the terminal points have been labeled arbitrarily. Each elenient in the system, consequently, has a distinct notation as shown. A simple listing of these elements is sufficient to describe the physical system to DYANA. Input to DYANA This section will now describe how the complete information pertaining to any specific problem is prepared for DYANA. The system description previously presented is only one of several classes of information that can be given. Suppose that in the simple system of Fig. 1 the spring rate E03K02, the viscous damper EOOC03, and the applied force EF02 are each to be calculated by some algebraic expression. These algebraic expressions can also be presented as part of the input information, and are in fact prepared in the FORTRAN language itself. Information in regards to the output that is to be printed out may also be given. All classes of information presented to the DYAN A program are always preceded by a classification card. Subsequent cards up to the next classification card contain the actual information written in eitber the DYANA or FORTRAN languages. To illustrate this, consider Fig. 2 which shows the complete input which might be prepared for the simple system. Each line in this figure represents the information that is punched on a standard 80column IBM card. The classification cards are distinguished by the X punched in Column 1. Card 1 is a classification card which informs the computer now under the control of DYAN A that all subsequent cards up to the next classification card contain a description of the ideal model. Cards 2 and 3 contain the description of the ideal model. The notation appearing on these cards is entirely independent INPUT WITH DIAGNOSTIC COMMENTS FLAGGED BY AN * x x .x SYSTEM DESCRIPTI~ EOOM01. EOOM02 .EOOK01.EOOC01.EOOC03 E03K02.EOIN02.EFOl PRE-COMPUTAT ION E03K02 • 2." + 0.(O*EOOK01 DAMPING RATE. EOOC031X031 EOOC03 • A*X03 + B FORCE. EFOl EF01 • F*SINFIW*TlMEI INPUT VARIABLES A.8.F.W PRINT PRECOMPUTATION ANSWERS EOOMOltEOOM02.EOOK01.EOOC01.E03K02 .E01N02 .A.B.F.W PRINT TIME DEPENDENT ANSWERS T IME.EF01.X01.X02.X03 .DX01tDX02 TRANSLATIONAL TRANSIENT END Fig. 2. CARD CARD CARD CARD CARD CARD CARD CARD CARD CARD CARD CARD CARD CARD CARD CARD CARD CARD 1 2 3 " 5 (0 7 8 9 10 11 12 13 1" 15 16 17 18 DYANA problem statement for systems shown in Figs. 1 and 6 Fig. 3 (right). Flow diagram of DYANA-produced program Theodoroff-D YANA: Part I 14.=j Fig. 4. FORTRAN FORTRAN PROGRAM DIMENSION ZV021 011oZV041 01l.ZV081 011 CARD 001 DIMENSION ZVO,I OZI'ZVO" OZltZV06( OZI.ZVO" OZI CARD 002 DU4£NSION ZVI0l005ItZVllI005ltZV1213ltZV1310051 CARD 003 DIMENSION ZV141 11 I .ZV15 1101 .ZV17100... , .ZVZZI005 I CARD 004 DIMENSION ZV191001l CARD 005 DIMENSION ZV2110041 CARD 006 DIMENSION N2001110ltNZOOZ1101 CARD 007 DIMENSION 2M03l004.0041 CARD 008 DIMENSIOII ZJoI041004.0041 CARD 009 EOIHVALfIlCE IZVZZI00ll.ZVlOIlI.ZV021111 CARD 010 EQUIVALENCE 1ZVlll1l.ZV04111oZV08111l CARD 011 EQUIVALENCE IZVZZIOOZItZV03111.ZV1010021l CARD 012 EQUIVALENCE IZVZZl004ltZV051111 CARD 013 EQUIVALENCE IZVlll002ltZV061111 CARD 014 EQUIVALENCE IZV111004ltZV09111 I CARD 015 EQUIVALENCE IZM04-.ZVllI CARD 016 EQUIVALENCE IZVlZ 11 ltTIMEI CARD 017 EQUIVALENCE IZVOZI01ltX031 CARD 018 EQUIVALENCE IZVO,,01l.XOll.IZV031021.XOZI CARD 01' EQUIVALENCE IZV04101l.DX031 CARD OZO EQUIVALENCE IZV05101ltDXOll.IZVO!;l021.DXOZI CARD OZl EQUIVALENCE IZV091011.00XOll.IZVO,1021.00X021 CARD 022 EQUIVALENCE IZVz,IOOll'EOOMOlI. IZV23100ZI.£00M021 CARD 023 It 12V23100".£001(.01l. IZVZ3100 ... ItEOOCOll. IZV2310051.E01N021 CARD OZ ... EQUIVALENCE 12VZ41001,. Alt IZV24100Z). BI CARD 025 10 IZVZ4100". Fl. IZVZ4100... ,. WI CARD 026 DIMENSION ZVZ3(005) CARD 027 DIMENSION ZVZ410041 CARD 028 9001 CONTIIlUE CARD 029 READ INPUT TAPE 7. 9002 • I ZV231IZllt IZ1-1. 051 CARD 030 READ INPUT TAPE 7. 900Z • I ZVZ41 I l l , . Ill-lo 041 CARD 031 READ INPUT TAPE 7. 900Z • 1 ZV021IZllt IZ1-1o 011 CARD 03Z READ INPUT TAPE 7. 900Z • IZV03II%lI. ZV050Z1I. Ill-I. OZI CARD 033 READ IIIPUT TAPE 7. 9003 • IZZ. IZV1411Z1lt ZVI51IZ1). NZ0021Illlo CARD 03 ... 11%1-10 IZZ I CARD 035 900Z FORMAT 14E16.81 CARD 036 900, FORMAT 117/I2E16."I7)1 CARD 037 C PRE-COMPUTATIOH CARD 038 E03l(.OZ - Z .... + 0.6*EOOK01 CARD OJ9 9004 f'ORMATI9H1EOOMOl -U5.7.9H EOOM02 -EI5.7.9H EOOK01 -E15.7.9H EOOCOCARD 0 ... 0 11 -E15.7.9H E03KOZ -£I5.719H EOIN02 =EI5.7.9H A -EI5.7.9H CARD 041 Z B -EI5.7.9H F -£I5.7.9H W -EI5.71 CARD 042 WRITEOUTPUT TAPE6. 9004 .EOOMOltE00/o10Z .EOOKOloEOOCOltE03K02'E01N02CARD 043 ltA.B.,.W CARD 0 ... ... WRITEOUTPUT TAPE6. 9005 CARD 0 ... 5 9005 FORMATIlHl) CARD 046 R01-1. CARD 047 ROZ--EOINOZ CARD 048 ZVO,IOZ) - R01*ZV03l01J1ROZ CARD 049 ZV05l0Z) - R01*ZVO,,01l/R02 CARD 050 DO 9006 IZ1-10004 CARD 051 DO 9006 IZZ-l.004 CARD 052 9006 ZH03IIll.IZ21- O. CARD 053 ZHO'I 01.01 I +EOOM01 CARD 05 ... DlO" OZ.OZ ) +£OOMOZ CARD 055 DlO'IOOlo0031 - 10 CARD 056 DlO,(OOhOO31 - 1./R01 CARD 057 ZM03l004.001l ROI CARD 058 CARD 059 CARD 060 CARD 061 ZM03100,.00lt) - 1o/ROZ CARD 062 DO 9009 Ill-lt04 CARD 063 DO 9009 IlZ-h04 CARD 0.... 9009 ZH041 IZlt IZZ)-O.O CARD 065 DO 9010 Ill-lt04 CARD 066 9010 ZM0411Zlt1ZlI-1.0 CARD 067 UZ - 0.0 CARD 0. . IZI - XSIMEOFC04 .04 .0.... ZM03.ZM04.ZZ2.ZV21 I CARD 069 GO TO I 9011 • 9007 • 9008 hlZ1 CARD 070 9011 CONTINUE CARD 071 MZOOI I1I-XLOCI'"(NZOOl I CARD 072 MZOO1 (ZldLOCF I ZV10 I CARD 073 NZOOll,,-XLOCFIZYll I CARD 074 NZOOI 141-XLOCFI ZV13) CARD 075 NZOOII5I-XLOCf'IZV12 I CARD 076 MZOOll6l-00!l CARD 077 NZ001171-1 CARD 078 MZOO1l81-Z CARD 079 IIIZOOl19I-NZ002 CARD 080 NZ0011101CARD Oil ZYl211 I-ZY1411 I CARD 082 ZV1Z I Z ).ZVl!I 111 CARD 083 ZV12I"-ZV141Z1 CARD 084 NZ003 - XDE03f'IIIZDOlI CARD 085 NZ004 - 1 CARD 016 9012 NZ003 - XDE04FIO) CARD 017 GO TO I 9013 • 9014 • 9015 I. NZ003 CARD 088 9013 CONT IIIUE CARD 019 00 9016 IZl-leOZ CARD 090 9016 ZV06I1Zll-ZVO!lItZl) CARD 091 C DAMPING RATE. EOOC031X031 CARD 092 EooC03 - A*X03 + 8 CARD 093 DO 9017 Ill-lo004 CARD 09 ... 9017 ZV170Z1I-0. CARD 095 ZV17 lOll - +£03KOZ*ZY03 102 I-I E03K02 )"ZV021 01 I CARD 096 ZVl91011 - +£OOC03 CARD 097 DO 9018 III - 1.01 CARD 098 9011 ZV0811Z11 - ZV17I1ZlIlZV19ItZl) CARD 099 C FORCE. EF01 CARD 100 £F01 - F*SINFI".TtMEI CARD 101 DO 9019 Ill-ltOO4 CARD 102 9019 ZV17I1Z1I-0. CARD 103 ZV171011 _ EFOI-IEOOK011*ZY031 01 I-IEOOC01l"ZV05l01 I CARD 104 ZV1710Z1 _ +E03KOZ*ZVOZC01l-IE03KOZ)*ZV03l0Z1 CARD 105 DO 90Z0 IZ1 - 100Z CARD 106 1£1 - 0.0 CARD 107 DO 9021 122 - 1.0Z CARD 108 9021 ZE1 - ZEl + ZM03lIZ1.IZ2)"ZY17I1ZZI CARD 109 9020 ZV091lZ1) • Z£1 CARD 110 GO TO 9012 CARD 111 9015 CONTINUE XOCARD 112 90ZZ FORMATl9H TIME -E15.7.9H EF01 -EU.7.9H XOI -E15.7.9H CARD 113 12 -E15.7.9H XO' _El5.719H DXOl -El5.7.9H DX02 -EU.7) CARD 11'" IfRITEOUTPUT TAPE" 90ZZ .TIME.EF01.XOltXOZ.X03.0X01.DXOZ CARD 115 GO TO 9012 CAitO 116 9014 NZ004 - NZOO4 + 1 CAitO 117 ZV12I2) - ZVUINZ0041 CAitO 118 ZV12UI - ZV14(NI004 + 11 CARD 119 IIZOOl191 - IIZ002111l004) =U80~:881:: :tt~! ° JFIZV151NZOO411 9012. 9023 • 9012 90n CONTINUE GO TO 9001 90~ IfRITE OUTPUT TAPE 6. 90Z4 9024 FOIIMATIlHltZ4H A MATRIX IS SINGULAR) GO TO 9001 9007 IfRITE OUTPUT TAPE 6. 90Z5 9OZ5 FOIIMAT(lH1047H AN UNDERFLOW OR OVERFLOW OCCURED IN XSIMEQF) GO TO 9001 C 146 E= CARD CARD CARD CARD CARD CAitO CARD CARD CARD 120 121 122 123 124 125 126 127 128 CARC 12' program prepared by DYANA of the order in which it is presented. Card 4 is a classification card signaling the computer that subsequent cards contain algebraic expressions in FORTRAN notation which are to be evaluated prior to the solution of the system itself. In this example a spring element is given as a function of some other spring element, as depicted on Card 5. Card 6 is a classification card indicating that the instantaneous value of damper EOOC03 is a function of time, and so the expression for it, given on the subsequent cards, should be placed in that part of the program where it is evaluated at each time step of the solution. This card also shows that the time-depen.dent argument in the expression for this element is X03 representing the instantaneous displacement of point 03 in the system. Card 7 gives the actual expression for the evaluation of EOOC3, once again in FOR TRAN notation. Card 8 is a classification card signaling the computer that subsequent cards express in FORTRA~ notation the applied force at point 01. Card 9 represents the expression for the applied force EFO} . Card] 0 is a classification card signaling to the computer that the symbols appearing on the subsequent cards are symbols incorporated by the user in some of his FORTRAN coded expressions for which he will provide numerical input data. Card 11 is a list of these symbols and is independent of order. Card 12 is a classification card informing the computer to print out the values represented by the symbols appearing on the subsequent cards prior to the solution of the system equations. Card 13 is a list of these symbols and is order independent. Some of these values may be input data while others, like E03K02, are results evaluated at the precomputation phase. Card 14 is a classification card informing the computer that subsequent cards contain time-dependent variables whose quantities the computer will single out for printing during the computational phase of the problem. Th~y .. will be printed at regular intervals of the independent variable time. Card 15 is a list of these variables and is also order independent. In this example, the following items are to be printed out: the independent variable "TIME"; the applied force on point 01 denoted by EF01; the displacements at points 01, 02, and 03 indicated by the DYANA symbols X01, X02, and X03, respectively; and the first derivatives, or velocities, at points 01 and 02 indicated Theodoroff-D YANA.' Part I II N L1 PR:~?ARE N TINt: ENTRY CARDS "IHEA[ N EQUALS HTE AS ENTERED IN CARD BY ,,.:,ll:D HO. 006. THE FORMAT IS AS SHOWN 00:. THE LAST TIM! EItI':"RY CARD SHOVLO CONTAIN A TIME VALUE ONLT. Fig. 5. Input map generated by DYANA = Output Generated by DYANA As was stated at the beginning of this paper, the output from DYAN A is a complete FORTRAN program punched out on cards and ready to be run with the requisite set of numerical data. Fig. 3 depicts a general flow diagram of the DYANA-produced program. Fig. 4 is a printed listing of the generated program in which each line represents the information punched out on a standard 80column IBM card. It will be noted that the precoded expressions for one of the spring rates, the nonlinear damper, and the applied force, together with their respective classification cards, have been Theodoroff-DYANA: Part I = EOOM02 R2 = EOOC03 c 1 = l/EOOK01 c2 = N i1 = E01N02 = DX01 i1 = DX03 Fig. 6. by the DYANA symbols DX01 and DX02, respectively. The time dependent damping rate EOOe03 may also have been included here if so desired. Card 16 is a classification card indicating that the system under study is a translational as opposed to a rotational system. The effect of this is in the definition of the lever or gear ratios if any exist. Card 17 is a classification card which sets up the sequencing within DYAN A to produce a program giving a complete time-sensitive solution of the differential equations. If it was desired to produce a program giving a frequency response solution, then the phrase "frequency response" would have been entered on this card. A program to evaluate the natural frequencies of a system would be produced with the entry of the term "natural frequency" on this card. Card 18 is a classification card which flags the end of the list and signals the computer to begin the processing of the information it has just read in. Basically, the preparation of these cards is all the effort that the user has to expend to study the behavior of the model shown in Fig. 1. L2 EOOM01 R1 = EOOC01 1/E02K03 E = EF01 i2 = DX02 Electrical analog of Fig. 1 inserted in their appropriate positions of the final generated program. In addition to the final program, an input data plan or map is produced which describes the input data that are required and the format in which it must be punched on the input data cards. Fig. 5 shows the input map that was produced for the simple example. On the basis of the analysis performed by DYAN A on the problem description, those elements and variables which require numerical values are listed. The analysis also determines the initial conditions that are needed for the solution of the differential equations. The example shows that the initial displacement at point 03 and the initial velocity and displacement at point 01 are required. The cards which come under the heading "Computational Control Information" list the starting and end values of the independent variable, the step size to be used in the solution, and the frequency o~ the step size at which the answers are to be printed. The format of all numbers entered as input data is described for each card by the extreme right-hand side of the "input map." ~umbers appear on these cards in either the E- or I-type format provided by the FORTRAK source language. which the currents in each loop are the dependent variables and correspond to the velocities at the co-ordinate points in mechanical systems. The basic elements of the electrical system are inductors, resistors, capacitors, and transformers and correspond, in mechanical systems, to masses, dampers, springs, and gears or levers, respectively. In the mechanical system each point of connection was labeled with a 2-digit number and then the location of each element was defined according to its points of connection. In the loop analysis of electrical networks each independent loop is labeled with a 2-digit number and the location of each element is defined in terms of the loops in. which the element lies. For example, the symbol E03K02 would denote a capacitor which is common to the two loops 03 and 02, EOOe03 denotes a resistor appearing only in loop 03, and EOOM02 an inductor in loop 02. The symbol EP01 denotes an applied voltage in loop 01. Except for these conventions for specifying the elements of an electrical network, the complete input information is presented on input cards as it was for the mechanical system previously described. In fact, the input cards shown in Fig. 2 could apply directly to the network shown in Fig. 6. Electrical Systems Conclusions The physical description of electrical networks is readily made using the same notation that was applied to mechanical systems. This of course is possible because of the well-known analogy that exists between electrical and mechanical systems. One method of studying electrical systems is to employ the concept of circulating currents or loop currents. According to this concept, the network is made up of a number of closed loops in Experience to date has indicated that DYANA has provided a flexible means of describing dynamic systc;ms to the computer and has eliminated much of the time and effort required in manual programming, coding, and debugging. It has also provided a tool to implement the analytical ability of the engineer and has enabled one unfamiliar with the techniques of computer programming to set up his own problem for the computer .. 147 DYANA: Dynamics Analyzer01 Part II: Structure Programmer. and Function Fig. 2. J. T. OLSZTYN N PART I of this paper, it was explained that DYANA is a program which performs the following functions: I On the basis of an input language, determines the structure of a dynamic system. 2. Prepares a mathematical model of that dynamic system. 3. Prepares a FORTRAN program which, in turn, is able to numerically solve the mathematical model. 1. In this paper some of the highlights will be pointed out in the structure and functioning of DYANA which permits it to perform these three functions. This will be done by considering a specific problem formulated in the DYANA language, and by showing how DYA~A actually operates on this problem. Consider first the over-all structure and organization of DYANA Briefly, the functions performed by the three processors are: 1. Scanner: The routines of this package have the responsibility of processing the DYANA and FORTRAN language statements and producing a set of primary tables. 2. Analyzer: The routines here operate on the primary tables and produce a set of secondary tables. 3. Generator: The routines in this category have the responsibility of operating on the primary and secondary tables to produce the FORTRAN program (not shown) representing the solution of the problem. It should be evident in the light of what has just been stated that the major ingredients on which DYANA operates are tables. Therefore, in view of their importance, a few words about them is in order. Two Basic Classes of Tables Over-all Structure and Functioning The DYAN A program is a col1ection of 704 SAP-coded routines. These routines are organized into four major groups: Routines of the sequencer Routines of the scanner Routines of the analyzer Routines of the generator 1. 2. 3. 4. The over-all flow among these major groups is shown in Fig. l. At the start of a DYAN A run on the 704 computer, a transfer of control is immediately made to the "sequencer." Next, the sequencer passes control to the "scanner." After the scanner has completed its function, it returns control to the sequencer. Fig. 1 shows that the same procedure applies next to the "analyzer" and then to the "generator." SCANNER I Fig. 1. 148 I ANALYZER I F IGENERATORI Over-all flow of control Each table produced by DYANA, whether it is a secondary or primary table, falls into one of two classes. Either it is a member of a class of tables that has meaning only in terms of the content they hold, the ordering of the elements being only of secondary importance, or it is a member of the class of tables where ordering is the important thing, and the content has only secondary significance. As an example of these two classes, consider the following tables: Table I. Table II. TABR STAB 05 07 08 9001 9004 9016 FLAG Table I, TABR, is of the first class mentioned. The entries in this table are labels that the engineer has assigned to the nodal or displacement points in his system. The table is used by DYANA to write out the ordinary linear algebraic equations required by the mathematical mode1. One equation is written for each node point in the order that they appear in Schematic of simple system TABR. As far as the mathematical model or the FORTRAN program for that matter is concerned, it makes no difference whether an equation is written first for node 05 or first for node 08. Tables of this first class are also characterized by the fact that the number of entries in the table is strictly a function of the size of the physical system being studied. Therefore, these tables always have a special flag which is inserted immediatelyafter the last entry. During subsequent operations on the table, the flag serves as an indicator signalling the end of the table. STAB, Table II, is a table belonging to the second class. The elements of STAB represent statement numbers which appear eventually in the final FORTRA~ program written by DYANA. These numbers have meaning only in terms of their position in the table. For example, the number appearing in the first position of STAB always means that this is the statement number which will begin the block of FORTRAN statements that will read the engineer's data into the computer. Or the number in position two must be the statement number of the block of FORTRAN statements that begin the solution of the differential equations of the mathematical mode1. From problem to problem, the actual value of the numbers appearing in those two positions may vary, depending on the logical structure and complexity of the final FORTRAN program. How DYANA handles a particular problem will now be shown. For this purpose, a rather simple problem is selected from the vibrational field. DYANA Formulated Problem Assume that the schematic of a physical system is as Fig. 2. Two springs are attached in series, and similarly two dampers. Both series connections are grounded at one end, while the other ends are attached to a common mass. The nodal or displacement points are labled 01, 02 and 03. A forcing function acts on the mass. J. T. OLSZTYN Detroit, Mich. is with General Motors Corporation ' Olsztyn-D YA..NA: Part II Fig. 4. Fig. 3. Flow of control in analyzer Flow of control in scanner Fig. 6. Let the DYAKA formulated statement of the engineer's problem be as follows Card ICard 2 System Description EOOM01, E01K02, E02KOO, EOOC03 E03C01, EFOl Card 3 Card 4 X Precompu ta tion E01K02=2.4+0.6* E02KOO Card 5 X Force, EF01 (X03,XOi) Card 6 EF01=X03-1.25 * XOi Card 7 Card 8 X Print time answers TIME, DX01, EFOl Card 9 Card 10 X End Cards 1, 2, and 3 describe the physical systerri. Card 5 contains a FORTRAN statement which evaluates the spring rate E01K02 in terms of the rate E02KOO. Card 6 says the forcing function EF01 is a function of displacement at the nodes 03 and X 01. Card 7 is a FORTRAK evaluation of EF01. Cards 8 and 9 indicate the output desired. Card 10 says there are no other statements following, The Scanning Process The structure of scan package is shown by the Figure 3. Each 5 with its 2-digit suffix represents a separate routine. Beginning with 502, there are as many routines in the scanner as there are "X" -type statements in the DYANA language. One of the functions of 501 is to pass control to the other routines via a vocabulary table (VOTAB). A portion of VOTAB, Table III, is shown which will be used to explain the functioning of the scanner package: Table III VOTAB System TRAS02 Force, TRAS06 PRE-CO· TRAS03 Print T TRASl1 End TRAS14 The first word of Table III is a Hol1erith word, while the second is a 704 instruction which, if executed, would pass control to 502. The other entries in this table have the same general meaning. Ol$~tyn-JJYANA: Part II Fig. 5. Flow of control in GCP Scanning begins with the sequencer passing control to 501. 501 then reads card 1 into core memory. After detecting that there is an X on this card, 501 proceeds to obtain the next word (six nonblank Hol1erith characters) after the X. 501 next checks the position of this word in VOTAB. When the position is established, 501 passes control to the poThus, sition immediately following. when the position of the word "system" has been found, 501 would yield control to the second position in VOTAB. From that point, control would go immediately to 502. Whereupon card 1 would be processed and control would go back to 501. Card 2 is then read in and control is immediately turned over to 502. Upon completion of the processing of card 2, control again goes back to 501. Card 3 is handled in a similar manner. Wilen card 4 is encountered by 501, control goes via VaT AB to 506 for the processing of that card and the subsequent one, card 5. One can see that 501 reads-in all DYANA statements, and through the use of VOTAB, relinquishes control to other routines for the actual processing. The scanning process is considered completed when 514 returns control to 501. After this occurs, 501 returns control to the sequencer. The processing carried out in the individual routines of the SCANNER consist of forming primary tables. Some of the more important of these tables are presented and what their content is after the scanning has been completed is shown. The tables KTAB (Table IV), CTAB (Table V), MTAB (Table VI), and FTAB (Table VII) are of the first class of tables that was discussed earlier. KTAB contains all of the spring elements of the sys- Invariant Row tern, CTAB the damping elements, MTAB the masses, and FTAB the forcing functions in the system. The last entry in each of these tables is a special flag. The flags serve the purpose of terminating the tables. :MSCTAB (Table VIII) is a table of the second class. It is used extensively by the generator to determine the structure and flow of the final FORTRA~ program. The number 2 which actually occurs in position 39 of that table means that 503 has processed a set of FOR TRAN statements which were preceded by a statement of the type: X PRECOMPlJTATIONS and that now this set of statements will be found intact as the second item on a certain magnetic tape. This procedure is followed throughout the scanning process whenever original FORTRAN statements are encountered. At generation time, these statements are recalled from tape and inserted into appropriate spots of the FOR TRAN program. Analyzing Phase of DYANA The purpose of the analyzer is to complete the table structure required by DYANA to: 1. Establish the mathematical model of the physical system. 2. Write the FORTRAN program which will numerically solve the model. At present, there are a total of eight routines in the analyzer which are assigned this responsibility. The flow of control through these routines is shown in Fig. 4. The flow proceeds sequentially through the routines, starting at AOO, going next to A01, then to A02, etc. In general, each routine makes entries into tables which will be used in the formation of the mathematical model and into tables used in developing the final FORTRAN program. Table VIII Table IV Table V KTAB CTAB MTAB FTAB MSCTAB EOIK02 E02KOO FLAG EOOC03 E03COI FLAG EOOMOI FLAG EFOI FLAG 2 Table VI Table VII 149 A basic set of tables for the formulation of the mathematical model (shown in Fig. 2) are exhibited next. Table IX resent the mathematical model, as well as the dimensions of any vectors, matrices, or other arrays that may be needed to conveniently express this model in terms of FOR TRA~ notation. Table X Table XI Table XII TABR TABS TABT TABF Generating Phase of DYANA 02 03 FLAG 01 FLAG 01 FLAG At the completion of the analyzing activities, enough information now exists in tabular form to permit the sequencer to pass control on to the generator group of routines to prepare the final FORTRAN program. The organization and function of this group is shown in Fig. 5. The Generator Control Program (GCP) selects G-routines whose responsibilities are the actual preparation of specific blocks of FORTRAN statements. When a G-routine has finished writing its statements, it returns control to GCP. GCP must then decide what block of FORTRAN statements are needed next, and after this decision has been made to call upon the appropriate G-routine. The reason that this type of a structure was decided upon for the generator stems from two considerations: this flow diagram are shown in Table XIII. Table XIII. Block No. FLAG These tables are set up by several of the routines shown in Fig. 4. The rules of formation are: Rule 1: Into T ABR (Tables I and IX) go those 2-digit prefixes or suffixes which do not occur in either CTAB (Table V) or MT AB (Table VI). Rule 2: Into TABS (Table X) go those 2digit prefixes or suffixes of CTAB (Table V) which do not occur in MTAB (Table VI). Rule 3: TABT (Table XI) consists of the 2-digit suffixes or prefixes found in MTAB (Table VI). Rule 4: TABF (Table XII) consists of the 2-digit suffixes found in FT AB (Table VII). The 2-digit suffix or prefix 00 is ignored. There are no duplicate entries in TABR, TABS, or TABT. In fact, these tables are completely disjoined. Their union, however, is the complete collection of nodal or displacement points to be found in the system. Each 2-digit number in TABR corresponds to a point in the physical system for which an ordinary algebraic equation must be written. This follows from the fact that TABR represents those points in the system to which only spring elements are attached. For each entry in TABS, one first-order differential equation must be written. For each entry in TABT, one second-order differential equation must be written. The reason for the last statement is that TABT represents points at which there are mass elements. Tables IV through XII allow DYA~A, during the generation phase, to establish the following mathematical model for the physical system shown in Fig. 2. E01K~r(X02-X01)+E02KOO*X02=O E03COl *(DX03 - DX01) + EOOC03*DX03=O EOOM01*DDXOl +E01K02*(X01-X02) +E03COl *(DX01-DX03) =EFOI These equations appear in an equivalent form in the final FORTRAN program. One of the basic tables for developing the FORTAN program is the MSCTAB table. Into this table, the routines of the analyzer store information as to the number and types of equations required to rep- 1.50 1. The nature of the mathematical model. 2. The type of FORTRAN program required to solve the model. In its most general form, the mathematical model would be represented by the three matrix equations. K(y,z,z,t)X = F1(y.z,z,t) (1) C(x,y,z,z,t) i- = F2(x,y,z,z,t) (2) AI(x,y,y,z,z,t)Z = F3 (x,y,Y.z,z.t) (3 ) x, Y, Z are disjoined vectors whose union would contain all the nodal or displacement points in the sytem. The dot denotes differentiation and t is the independent variable. If the problem facing the generator was simply that of preparing a FORTRAN program to solve the most general mathematical model, equations 1, 2, and 3, the task could be accomplished in a straight forward manner. The intent in setting up the DYANA program, however, was to be able to prepare FORTRAN programs for every specialization of the set of equations 1, 2, and 3. Furthermore, these programs had to be near optimum from the standpoint of execution time and the amount of storage or core memory they utilized. A solution to this problem was obtained by considering first those aspects of a FOR TRAN flow diagram that would remain invariant for the generalized model in equations 1, 2, and 3, as well as all its specializations. The invariant blocks of Invariant Blocks Type of FORTRAN Statements 1 .......... Dimensions, functions, and equivalences 2 .......... Input 3 .......... Statements for computations not depending upon the independent variable-time 4 .......... Statements required by XDEQIF, A FORTRAN subroutine for integrating differential equation by the method RUNGAKUTTA-GILL 5 .......... Statements which solve for the unknowns of the mathematical model 6 .......... Statements for computations which depend upon the solution of the model 7 .......... Statements which control the computational process 8 .......... Output The invariant aspects of flow through these blocks is shown in Fig. 6. After the invariant blocks had been established, they were divided into a number of sub-blocks. The division was determined by the types of FORTRA~ statements that would be required for the various specializations of equations 1-3, and by the consideration of producing a nearly optimum FORTRAN program. For example, suppose in equation 2, the elements of the coefficient matrix C were all constants. In this case, it would be most desirable to have a sub-block of FORTRAN statements in ELK:3 which set up the elements of C and invert it, and then another sub-block of statements in BLK:5 which would use this inverse to solve for Y. Corresponding to each sub-block that was finally established there exists a G-routine in the generator. The way in which the GCP program selects the various G-routines depends then upon the invariant flow shown in Fig. 6 and the amount of specialization that exists in the mathematical model which at this point is ascertainable by way of the entries that were previously made in certain tables by the scanner and analyzer. Some Conventions In the planning of DYAN A a number of conventions were established in regards to the statement numbers and symbols which would be used by the generator. Statement numbers are generated sequentially, starting with the number 9001, by a routine called STNGN. Whenever a particular G-routine needs a statement nUffiber, it simply transfers to STNGN. ·When control is returned to that G-rou- Olsztyn-D Y ANA: Part II -ine, the next available statement number lppears in the accumulator. Frequently, it is necessary for one statement of a block to make a reference to a statement of some other block. Since these blocks are set up by different G-routines and at different times, it may happen that a particular statement is being referenced in some block that has not even been generated yet. The table STAB was set up as a solution to this dilemma. Every statement that is generated and for which there is the possibility of it being referenced by statements produced by other G-routines has a specific position assigned to it in STAB. Suppose now that G24 generates a block of statements the first of which is to be referenced by a "go to "-type statement of a block generated by G25. Assume also that GCP selects G25 to prepare its statements before it selects G24, and that position 6 of STAB is to contain the number of the first statement generated by G24. The procedure for inter-G-routine referencing in this case is as follows: At the time G25 is ready to write the "go to" statement, it interrogates position 6 of STAB. If no statement number appears there, it obtains the next available statement number from STNGN and inserts it into that position as well as into the appropriate spot of the "go to" statement. Later when G24 is ready to write its first statement, it also interrogates position 6 of STAB, finding in this case a number which it then appends to the first statement it writes. In the event that G24 did not find a number in STAB, it would have followed the same procedure that G25 did in getting its statement number. The convention that has just been outlined insures proper referencing of all FOR TRAN statements, regardless of the order in which GCP selects the G-routines. An exactly similar convention and referencing procedure was established for a certain class of fixed point variables required in the preparation of the FORTRAN program. Members of this class are designated by the symbol NZXXX where the XXX is a three-digit numeric taking on sequential values beginning with 001. These symbols are generated by the routine SYJ.11GN. For the NZXXX symbols the table which corresponds to STAB is SYMTAB. Other symbol conventions established are: ZVXX always refers to a vector. The XX denotes a numeric which takes on sequential values. ZMXX is used in referring to matrices. Olsztyn-DYANA: Part II ZEXX is an erasable floating point symbol. Has a meaning only in the context of statements created by a particular G-routine. IZXX references fixed point variables, otherwise has the same meaning as ZEXX. Most frequently used as the running index of a DO loop. Summary l. Sequencer Scanner 3. Analyzer 4. Generator metic expression, it refers to the numerical value of a lever ratio, or a gear ratio, or a ratio of windings in a transformer. Paul H. Hertel (Atlantic Refining Company): What is the number of man-hours consumed in development and programming of DYAXA? Mr. Olsztyn: The DYANA program consists of the four major components: 2. E01N02 appears in a FORTRAN arith- Four man-years. Mr. Hertel (Atlantic Refining Company): Is it available to the industry? Mr. Olsztyn: Not at present. Plans are being made, however, to release it about May of 1959. The sequencer's prime function is to pass control to the other three components. The scanner processes statements written in the DYANA language and prepares primary tables. The analyzer operates on these primary tables and produces a set of secondary tables. At the completion of the analyzing activity enough information exists in tabular form to establish both the mathematical model and the FORTRAN program that will solve the model. The routines of the generator controlled by the GCP program interrogate and interpret various tables and then prepare the final FOR TRAN program. Conclusions The author has been able to give only a glimpse of the peaks in the development, organization, and functioning of DYANA. It is hoped, however, that this has been sufficient to promote a flow and growth of ideas which will find eventual fruition in programs even more ambitious, and applicable to vastly more complicated systems than DYANA. Discussion G. W. Smith, Jr. (Bell Telephone Laboratories): What is the representation for a transformer lever or gear ratio? Mr. Olsztyn: Let me work with a specific symbol say EOl N02, in order to answer this question. First of all, such a symbol has a dual role. Appearing in certain DYAXA statements, it signals the existence of a certain element connected to specific points of the system. Hence, in this role the symbol could be interpreted as follows: There is an element (E) which is a lever (N) whose terminals are points (01) and (02) of the system. If we are talking about a gear set, the interpretation would read: A gear set (N) exists in the system, with the gear at point (01) meshing with the gear at point (02). The interpretation for a transformer would then be: A transformer (N) exists whose primary (secondary) coil is in loop (01) and whose secondary (primary) coil is in loop (02). In the other role; i.e., whenever J. H. Milsum (Xational Research Council of Canada): Your direct invasion of the analog computer's very own field (of dynamic problems) cannot pass unquestioned. It is true, of course, that scaling and manual setup have, in the past, prevented the analog computer from fully realizing its great advantages of fast solution time within engineering accuracy requirements. However, many new advantages in analog computers are appearing, simpler programming and servo potentiometer settings are examples. I would like to see figures before conceding that the digital solution is the cheapest all around. Despite the above comments, however, I believe you have a very valuable new tool in DYAKA. Paul Benetean (Burroughs Corporation): Apart from simplicity of programming, what advantages does this system present over a conventional analog system? Mr. Olsztyn: Well, I think in part you have answered your own question. Simplicity of programming is intended to be the main feature of DYAXA. But more than that, DYAXA represents an experiment to get a digital computer to not only do a major share of the programming of a problem, but it also represents an attempt to get a computer to do problem analyses and mathematical model formulation. Karl Nording (Burroughs Corporation): Can you give an example of problems from other than the vibrational field, that can be studied using the DYANA programming system? Mr. Olsztyn: Electrical circuits, many acoustical, magnetic, and heat transfer problems can be studied using this system. In general, any physical system whose dynamic equations are formally identical with the equations of motion of vibrating systems can be studied using DYAKA. J. C. Grube (united States Army Signal Research and Development Laboratories): What mathematical method of integration is used to compute results? Mr. Olsztyn: Gill's variation of a fourthorder Runga-Kutta method. Nora M. Taylor (David Taylor Model Basin): What configuration of 704 is required for DYAXA? Does it use FORTRAX I or II? Can it handle shock vibrations? Mr. Olsztyn: At present DYANA requires an 8,192-word memory and uses 4 151 tapes and 2 drums. The version of DYANA that will finally be distributed will be a drumless version requiring 4 tapes and will work on any 8,192-word or larger machine. The FORTRAN source program produced by DYAXA can be compiled using either FORTRAN I or II. Shock vibrations cani definitely be handled in the DYA;\A sys· tem.. The Univac Air Lines Reservations System: A Special-Purpose Application of a GeneralPurpose Computer D. K. SAMPSON V. E. HERZFELD HE CONTROL of passenger space on Tan airline is a key function of greatest It represents to the airline importance. the major contact with its buying pUblic. Essentially, the passenger space control problem is the allocation of a fixed inventory undergoing high activity up to the aircraft departure, at which time the salable commodity vanishes. Passenger space control systems must satisfy the following criteria: 1. From the customers point of view, the system must provide quick service and keep the probability of overbooking to nearly zero. 2. From the airlines point of view, the system must be fast enough to insure that any available seats on an aircraft are sold, thus insuring the highest possible profit margin. These criteria apply to any reservations system, whether manual or automatic. c. W. FRITZE The diligent application of efficiency techniques and time-saving routines have allowed the airlines to meet these criteria and, at the same time, impress the consuming public that excellent service in this category is only to be expected. Since the performance criteria. for these systems stress both speed and accuracy, it is natural to expect that the application of electronic computers should be considered in these systems. There has been an evolution of systems from the purely manual through the semiautomatic to completely automatic specialpurpose magnetic drum machines. This paper describes the continuation of that evolution, the application of the generalpurpose business-data processor in an on-line inventory control problem. It will attempt to show the soundness of such an application by showing the possibilities of future evolution of such systems by gradual growth of the peripheral system and increased utilization of the inputoutput power of the central computer. Functional Characteristics of the System Fig. 1. 152 Ticket agent set The basic function of the airlines reservation system is to maintain an up-todate inventory of seats on aircraft and to accomplish direct communication concerning that inventory between a central computer (or computers) and each reservation agent at the various places of business of the airline. A secondary function is to maintain a current record of flight status, including whether a flight is on time, early or late, the amount of time, and the reason for schedule changes. Communication with the inventory is initiated by the agent and consists of two broad types of transactions; first, those Fig. 2. Low-speed programmer-scanner which merely inquire as to the status of a pertinent part of the inventory, and second, those which directly change the inventory. The first type of transaction includes "ask" transactions which merely query the computer as to the availability of seats on one or several flights. Flight information requests concerning arrival and departure times also fit this category. The second type of transaction includes "sell," "cancel," "waitlist," and "cancel waitlist." These transactions directly effect the inventory. The Agent Set The agent set (Fig. 1) is the input-output unit which permits the agent to establish communication with the computer. The agent set is basically a register of contact closures and gates comprising an input message register, and a group of lamps comprising an output register, which are illuminated as a result of a response message from the computer. A time-table projected from a slide onto a glass viewing screen is also provided. This satisfies the system need for a catalog of items for sale which are held in inventory in the computer. Photocells behind the upper front panel and adjacent to the viewing screen detect edge coding of the slide, which locates the general area of inventory desired. By means of pushbuttons along the edges of the projected image of the portion of the airline time- D. K. SAMPSON is with Telex Inc., St. Paul, Minn. V. E. HERZFELD is with Remington Rand Univac, Division of Sperry Rand Corporation, St. Paul, Minn., and C. W. FRITZE is with Monarch Elec. tronics Company, Minneapolis, Minn. table, the agent selects the flight number, origin, and destination of the flight. Numbers of seats, month, and day are entered by means of the appropriate pushbuttons, thus completing all of the required information to locate the inventory desired. The agent may then ask if seats are available on a given flight or on all the flights on the selected timetable, by means of transactiQn pushbuttons. By indicator lamps, his response reflects the condition of the inventory, indicating that he may sell the inquired seats, or that there is a waiting list and whether the waiting list is open or closed. By pushing a "clear" button and then a "sell" or "waitlist" transaction pusbbutton, the agent completes his transaction. Flight information inyuiries are responded to by means of combinations of 36 indicator lamps which indicate that a flight is on-time or late, and the reason for the altered flight status. Two very important reply lamps are "'error" and "re-enter." An "error" reply indic~tes that a message of the type which can effect the inventory was received at the computer and some error was made during or after the Qomputer processing cycle. Since the inventory could have been effected, supervisory action is required. "Re-enter" on the -other hand, indicates that the message was found to be in error but was of a type which could not effect the inventory, or, -in the case of inventory effecting transactions the error was detected before the process began, and thus can be re-entered by the agent. Univac File Computer, Model I The Model I, univac File Computer, is the heart of the system. It satisfies the need for an inventory with input-output flexibility and record generation ability. The inventory is kept on random access magnetic drums rotating at 1,800 rpm with 180,000 characters capacity per drum. The usual arithmetic and control means are supplied and programming is stored either on a high-speed magnetic drum or is set up on a plugboard. Input and output to the computer is buffered by means of the high-speed magnetic drum which rotates at 12,000 rpm. The inputoutput section of this drum is organized into ten demand stations, each of which consists of two magnetic recording tracks of 120 characters capacity. A track switch function is supplied, which enables the computer to be carrying on a transaction on one of the tracks of a demand station while loading or unloading the other. Each demand station has a num- LOCAL AIRLINES OFFICE REMOTE AIRLINES OFFICE control must be applied in such a way that the system does not "hang up" when an error is detected and thereby aggravate the inherent congestion problem. The System Solution .. ...........') ... UP TO 8 AGENT SETS PER PS-L TYPICAL TELEGRAPH DROP I I I I I I I UP TO 32 AGENT SETS PER PS-H • LEGEND ® MASTER STATION SELECTOR () TELEGRAPH DROP Fig. 3. Basic airlines reservations system ber of general-purpose control lines; i.e., ten computer to input-output control lines, ten input-output to computer lines and four high-speed input-output to computer control lines which are capable of altering the program. Record generation capabilities are provided in the univac File Computer by an inquiry typewriter, a gO-column read-punch card unit, magnetic tape units or perforated tape units. The System Design Problem The system design problem is essentially a communications design, switching, and an error control problem. The agent set and the computer described provide the means for manual entry of inquiries to an inventory and automatic response concerning that inventory status. Peripheral devices must be provided, which, when connected to communications facilities, the agent sets, and the computer, allow the agent's inquiries to be quickly and accurately answered. The speed of response is dependent, to a great extent, on the following system characteristics: First, messages are generated at random times by a large number of agents. Second, each computer makes many types of transactions of varying program lengths. Third, the peak message generating capacity of the agents may exceed the peak handling capacity of the computer. For this reason, congestion may occur at times, resulting in a w'1iting time for some transactions and thus to some agents. The error control problem is to guard against erroneous messages effecting the computer inventory and erroneous messages reaching the agents. This ~rro:r ,Sampson, et al.-Univac Air Lines ReservfJtion S>,stem The initial applications of this system are representative of the first solution of the system design problem. They are analogous to the "request and confirm" manual reservations systems. In such a system, each inquiring agent in turn has access to the central seat inventory held in a single central computer in order to place a reservation. The inventory is thus completely up to date and the probability of overbooking is zero. The communication logic is half duplex in nature. That is, a message can be sent only to the computer or from the computer at a given time over a given line. Simultaneous message flow in both directions is not permitted. After acquiring the line, the agent holds the line until the message has been transmitted to the computer. The message waits at the computer for service, is serviced and the answer is transmitted to the agent set. The reply to the agent completes the transaction and confirms the reservation. In this system philosophy where the line is held until a reply is received, it is evident that message addressing is not required. The Low-Speed Programmer Scanner The first switching device between the remote agent set and the computer is the low-speed programmer scanner (shown in Fig. 2). The low-speed programmer scanner is an electromechanical switching device which may connect up to eight agent sets to a telegraph line drop, thus satisfying the need for communications between remote agents and the computer. Its functions are: to seek the agent set with a message, to scan and program the message in the agent set register onto the telegraph line at a rate controlled by the telegraph distributor, and then to wait at the agent set connection until a reply message is received. It then provides light-holding power for the agents reply message and steps on, seeking the next agent with business. If no more business exists, it releases the telegraph line. The lowspeed programmer scanner checks character parity and character count of inputoutput message and causes, under certain conditions, a repeat of the message if found to be in error. Fig. 4. High-speed programmer-scanner The Telegraph System The telegraph system (Fig. 3) consists of a master station control unit, and an outstation control unit or drop at each place of business of the airline. Each telegraph drop accommodates one to two Jow-speed programmer scanners. Information is transmitted at the rate dictated by the telegraph line, either 10 characters per second or 20 characters per second. Present systems are operating at 10 characters per second. The time to switch between drops in a selective sequence calling (polling) system which polls the line to ask which drops have message traffic is about 475 milliseconds per drop. The High-Speed Programmer Scanner The high-speed programmer (Fig. 4), a solid-state switching device at the computer site, satisfies the need for communication between the local agent and the computer. Information is transferred at a rate dictated by the computer, in this case, a character for each high-speed drum revolution time, or 200 characters per second. Each high-speed programmer attaches up to 32 agent sets via an input-output unit to the computer. All of its functions are similar to a low-speed programmer scanner. The Input-Output Unit The input-output (I/O) unit provides the major interface connection between the computer and the peripheral equip- 154 ment by connecting telegraph masterstation control units or high-speed scanners to the computer. Two units are now being provided; the Model C, which connects the computer to two master station control units or to two telecommunications systems, and the Model E, which connects the computer to one master station control unit and four high-speed programmer scanners. The track switch feature is not used in these I/O units since this system holds the line and no time would be saved by the time sharing feature of the track switch. The functions of the I/O unit are to record the input message on the I/O track in the proper format and signal the computer when ready. In response to a "computation finished" signal from the computer, a reply message is read from the track and transmitted to the high-speed scanner or the master station control unit. Information rates are again similar to the input. They are dictated by the telegraph line in the case of the connection to· the master station control unit and by the computer in the case of connections to the high-speed programmer scanner. The I/O unit checks character parity as it unloads information onto the drum, repeating a character if found to be in error. System Performance Three systems of this type have been or are being installed. One of these is operating and is servicing 135 agents sets, 95 local and 40 on the remote telegraph connections. The system is fast enough to accomplish from 1 to 11/2 transactions per second with response times to the agent of 1 second locally and 10 seconds on the telegraph connections. These response times depend heavily, of course, on computer program time and will vary with each application. Initial system performance has exceeded expectations with respect to reliability with a performance of 99.7% of scheduled time for the first 6 week period of operation. Actual transactions are numbering in excess of the estimated number. Program times are longer than estimated. Since the Univac Air Lines Reservations System is the application of a general-purpose computer in an on-line inventory processing system, the user has complete freedom in writing his program. For this reason, the program times are determined by the user and as a result, become part of the system environment. If a fixed program, or speciai-purpose machine were used in this application, the program times could be expected to be Fig. 5. Input~output unit described as equipment operation times. The operational speed of each of the component equipments is not sufficient to predict the system speed when the system is placed in its environment. The environment determines the operational speed of the system, and, to this extent, the system user determines the speed of the system. System Expansion \Vith the advent of jet travel and the expected increase in air travel, the airlines find themselves with an increasingly difficult reservations problem. A typical future system might be required to service up to 1,200 agent sets distributed over the entire nation. Message rates from these sets would be as high as 10 to 15 transactions per second. Response times to the agents should be, however, the same. That is, the response to the local agent must be within one second and to a remote agent, 10 seconds. Systems of the type just described may be expanded by duplications of the basic system. The inventory in such an expanded system would be divided on a geographical basis. The advantage of zero probability of overbooking would be retained if an agent set in city A could make sales against the inventory held in a computer in city B. The need for rapid communications between computers is clearly indicated for such an expansion. Sampson, et al.-Univac Air Lines Reservation System Another solution of this expanded system design problem, which draws an analogy with the previous expansion techniques of the manual reservations systems, involves changing the system philosophy from a "request and confirm" system to a "sell and record" system. This results in a system which is decentralized by function ra ther than by geographical distribution of inventory. When it is recognized that the types of transactions which directly affect the inventory are less in number than those which merely ask about the status of an inventory, it is recognized that there is an opportunity for a filter concept. This concept utilizes the fact that several status computers can be operated simultaneously, answering questions only as to status of the inventory, while a single inventory computer changes its inventory in response to sell transactions, in the case of airlines applications. Sales are made against the status record in such a system rather than against the inventory itself. Sen messages must then be transmitted to the central inventory computer in order to change the inventory. Replies are made to the status computers when ~ status change is made by the transaction. Such a system is vulnerable to overbooking during the time that updatings are being made and the need for high-speed communications between the status computer and the inventory is established. Initial analysis also indicates that a computer is not needed for each large center of business of the airline, that is, each major city. However, the message traffic generated in such large installations exceeds the capacity of telegraph equipment. Telephone quality lines capable of transmitting the data faster must be provided for information flow between large cities and the status comBy application of statistical puter. analysis, in particular queuing theory, to such a system, it is soon recognized that a hold-the-line philosophy of half-duplex communications may seriously 1imit the speed of the system. The half-duplex or strict "request and confirm" system in the queuing sense is analogous to a series of long corridors leading to a single cash register and a large number of people trying to get through these corridors to be serviced at the cash register. Only one person can occupy the corridor at a time, so that the time the line is held busy is not only the time taken to travel the length of the corridor, be serviced at the cash register, and return, but also the time that is spent in waiting at the cash register. Persons at the input end of the long corridor are then waiting while persons at the other end are also waiting. This represents a highly inefficient use of the line or the corridor. Further queuing analysis indicates that the application of fullduplex telephone speed communications more than doubles the speed of response or, in some cases, more than doubles the speed of the system at a reduced cost compared with half- duplex communications. This change of communications philosophy from half-duplex to full-duplex in all or part of the system represents a major system philosophy change. The first effect of this change requires that messages sent from the computer over the full-duplex line must be addressed to their origin since the line has been relinquished by the origin after se~ding the message. The second effect of the change requires that buffering for more than one message must be provided at the computer at the output of a full-duplex line, in order that messages may be sent one after the other, thus fully utilizing the line. The third is a major change in error control philosophy. In the holdthe-line system, each message originating center required that a response be given indicating that a transmitted message has been accurately received before relinquishing the line. The full-duplex system requires that a correct copy of a message be retained at the origin until the functional reply to that message is received, allowing the message to be cleared or erased. Queuing analysis was applied to determine which portions of the basic system should be full-duplex and addressable. It was found that the agent set, the highspeed scanner, and the low-speed scanner are adequate in either expanded system and may be applied without change. The high-speed scanner and the lowspeed scanner may "hold the line" after sending their message at normal agent set traffic rates without limiting the system capabilities. This is true because the low-speed scanner is generally located in areas of low activity and lowmessage rate transmission; i.e., telegraph, and the high-speed scanner is located in areas of high activity and is served by high-message rate transmission, i.e., 200 character per second lines. The initial specifications required a lO-second response at the low activity centers in the remote areas and a I-second response in the high activity centers. The probability of blocking traffic at these devices under these conditions can be shown to be small and about equal for each device. Sampson, et aZ.-Unwac Air Lines Reservation System It would seem that addressability should extend also to the telegraph line. Again, queuing analysis shows that this feature would not substantially improve the system performance and would generally increase the cost. This results from the specific nature of this particular application. That is, the airlines problem is one which consists of a high activity of short messages. Since the polling time is comparable with the message transmission time, the system is switching limited thus permitting a holdthe-line solution. In the more usual system, such as air traffic control, it is found that the message activity is lower and messages are of longer length. In such a system full-duplex telegraph communications could be expected to substantially speed up the system. The Multiplex Unit Several peripheral equipments are now proposed and are being investigated to implement the incorporation of fullduplex communications in airline-type problems. In general, these new equipments are envisioned as applicable to any on-line inventory problem. The first of these devices, which permits addressability of messages from the computer to the origin, is the multiplex unit, which is merely a switch that connects the computer to the line which terminates at the message ongm. This can be accomplished by detecting an address character in the content of the message. In a multilevel system address characters can be added at each input mUltiplex unit as the message proceeds towards the computer and a character can be subtracted at each multiplex unit as the message is addressed. The Communications Control Unit Communications control units (CCU) are being explored as equipment to be associated with the multiplex units. The function of these units would be to simultaneously transmit digital information from and to the digital portions of the system, the computer and the programmer scanners, and to receive and send modulated information on a full-duplex telephone line at a rate of 200 characters per second. The communications control units will send messages of variable length and format. Error control will be implemented by means of character parity checks and message parity checks. The communications control units will signal the next unit in line by means of control lines if messages were found to be in error, causing the source address of the 155 erroneous message to be displayed for maintenance purposes. In contrast to the hold-the-line system or half-duplex system, the CCU's in the full-duplex system would not attempt to repeat a message or a character found in error. As previously pointed out, the system gain in speed is minor by providing full-duplex telegraph communications in a system which is characterized by large message traffic volume of short messages. For this reason, a telegraph buffer and control unit is being explored which functions in a manner similar to the computer in the basic system. That is, it would hold an input message to be read out through the multiplex unit onto a CCU or an I/O unit, and await the reply message. unit must signal the computer that it is in a priority condition and claim precedence over less busy tracks. In the Univac File Computer, sufficient buffering capacity is provided for five messages on each track for a total backlog at each demand station of ten airlines reservations input messages. The four highspeed control lines, previously not used in airlines applications, are well suited for priority indication. These lines, W, X, Y, and Z, may each be associated with an input unit. As input unit X, for example, reaches priority condition, the computer may find input unit Y ready. When input unit Y is demanded, it will respond with signal X, indicating that the computer should skip to demand station X and process messages buffered there. The Input Unit The Output Unit The bulk of the system adjustment to provide for full-duplex communications must be handled by the input-output unit design. It is here that the value of a computer with true versatility of inputoutput is experienced. A major systemdesign philosophy change can be made with no modification of the computer, but merely greater utilization of the inputoutput functions provided. The new input-output unit being investigated would actually be two boxes; an input unit and an output unit. The input unit would take information from a multiplex unit or a CCU and transmit it to the I/O track. Consistent with the nature of an on-line system, there would probably be many input units for each output unit, since messages arrive randomly at the computer and simultaneous arrival may be expected. Since the computer can handle only one message at a time, messages will be in line as they come out, thus requiring only a single output unit. The functions of the input unit are to arrange incoming message on an I/O track of the high-speed drum and keep a record of the number of messages received since the last service at that track. The input unit would signal "ready" following the receipt of each message and await its tum to be serviced. However, when the number of messages buffered on the I/O track reaches a level close to .,the full condition of the buffer, the I/O The output unit would have a task which is new compared with the basic I/O unit in that it must follow the error control logic of retaining a valid copy of all messages sent from the computer to another computer until the messages have been acknowledged. Again, the buffering capacity of the high-speed drum is sufficient to store a large number of output messages. By means of the track switch feature the computer can write an output message on one track of the demand station, while the other track is busy transmitting a message to other units. By means of the low-speed computer to I/O lines A through J, a computer can record the fact that the output unit has sent a message from storage location A by pUlsing control line A and require that a new message may be recorded for transmission at word location A only after control line F is pulsed, signifying that the computer has received a valid answer to the question sent from word location A. If the computer subsequently tries to send a message from word location A without having received F, the message stored at word location A, the valid copy, is then printed out under a subroutine. 15(} Conclusions In conclusion, it has been found that this system can be expanded to accom- modate an increase in traffic by means of equipment duplication or reorganizing the system into one which is decentralized by function or geography, utilizing full-duplex high-speed digital communications and very fully using the inputoutput versatility of a machine like the Univac File Computer. The author wishes to emphasize that this system design problem has not been solved solely by the company's efforts, but include contributions from customers and prospective customers. The basic solution was inherent in the initial design of the input-output system of a general-purpose machine like the Univac File Computer, which takes in stride a major design philosophy change which may not have been anticipated in the design of a special purpose machine. The effort has been to design peripheral equipment with this lesson in mind. As a result, it is believed that the airlines reservation system peripheral equipment described here, with the exception of the input-output units, is directly applicable to new general-purpose computers. The multiplex unit, the communicatic)lls control units, the telegraphic buffer and control units, and the proposed full-duplex input and output units are applicable in any 1Jnivac File Computer on-line inventory problem. Discussion E. Sacks (Teleregister Corporation): Do you propose to handle other airline functions, such as fare quotation, ticketing, and maintenance of passenger records? Dr. Herzfeld: Fare quotation on an intra-line basis can be easily handled on the slide or groups of slides which can be projected right onto the agent's screen. Inter-line fare computation, which I believe is what Mr. Sacks is referring to, is still being investigated. Electronic passenger control record storage will arrive when development is complete on our mass storage system. The automatic ticketing problem has not been completely investigated up to this moment. We are concentrating initially on handling the anticipated volumes of traffic which will arise as the systems are expanded. Sampson, et al.-Univac A'ir Dines Reservation System The Siemens Digital Computer 2002 H. W. GUMIN HE SIEMENS Digital Computer T 2002 is a medium-scale transistorized computer being developed by the Siemens The 2002 is a general-purpose decimal machine with a word length of 12 decimals plus sign and an average speed of 2,000 operations per second. Special features of the 2002 include three index registers, the use of the instruction location counter for address modifications, the automatic address substitution, and fixed- and floating-point operations. The 2002 has a transistor-driven magnetic core memory of variable size (units of 1,000, 2,500, 5,000 and 10,000 words) and a magnetic drum memory with a capacity of 10,000 words. Input and output data are handled by means of punched paper tape and punched cards. Considerable expansion by magnetic tape equipment is possible. & Halske AG, Munich, Germany. Characteristics The 2002 is a decimal machine, where a decimal digit is represented by a 4-digit binary number (excess-three-code) . \VORD STRUCTURE A word can be interpreted by the machine in four different ways, namely: 1. As an instruction. I ±IMIRloloIOlsIAIAIAIAIAII S 2 3 4 5 6 7 8 9 10 11 12 Decimal 1 can be used together with the sign to mark an instruction. Decimal 2 serves several purposes. It indicates for instance, whether the result of an arithmetical or shift operation is to be rounded or not. The operation to be executed is identified by the three decimals, 3 to 5. Both decimal 6 (address substitution) and 12 (index tag) are used for address modifications. The address part of the instructions is given by decimals 7 to 11. 2. As a fixed-point number, with the decimal point being assumed on the left of the most significant digit, the numbers being represented by sign and magnitude. 3. As a floating-point number, where the mantissa occupies ten (decimals 1 to 10) and the characteristic two places (11 to 12). 4. As an alpha numerical expression with two decimal digits characterizing one alphanumerical character. ADDRESS MODIFICATION The usefulness of an instruction code depends greatly on the possibility of per- forming automatically address modifications. The 2002 allows modification of the address part of an instruction in two different ways, namely by address substitution and by index register modification, this being dependent on the contents of position 6 (substitution) and position 12 (index register modification) of the instruction word. These two types of modification can be combined and are carried out as follows: The control unit of the 2002 includes three index registers, numbered 1, 2, and 3. When executing indexable instructions, the number in position 12 of the instruction (in the instruction register) determines the index register, the contents of which is to be added to the address part x (position 7 to 11) of the instruction. The number "4" in the index tag indicates that the contents of the instruction location counter is to be added to the address part of the instruction. Mter this modification of the address part by the contents of one of the index registers or by the contents of the instruction loc'ltion counter, resulting in a modified address Xl, position 6 of the instruction word is checked. In case the number in position 6 is "0," the instruction will be executed in the normal way with the modified address Xl. If the number in position 6 is "1," then the contents of location Xl is read out of the memory, and positions 6 to 12 of the contents of location x; replace positions 6 to 12 of the instruction in the instruction register address substitution. Then the cycle starts again with a modification of the new address part by the contents of one of the index regi8ters or by the contents of the instruction location counter, dependent on the number in position 12 of the instruction word and so forth. The process ends after an index register modification, reSUlting in a modified address X n , position 6 of the instruction word contains "0." Following this, the instruction (with address part xn) is executed in accordance with the instruction list. If the instruction to be executed is not indexable, the modifications by the contents of one of the index registers are suppressed. In case the number in position 6 is "0," the instruction will be executed in the normal way. If position 6 of the instruction word contains "1," only positions 6 to 11 of the contents of Gumin-The Siemens Digital Computer 2002 Fig. 1. Circuit board location x replace positions 6 on 11 of the instruction· word in the instruction register.-· Again position 6 of the instruction word is checked, etc. A few examples are to illustrate the foregoing. The (indexable) instruction +00 AD D 0 99999 4 will effect the addition of the contents of the preceding memory location to the contents of the accumulator, independent of its position in the memory (important for relative programming). If, for instance, the contents of the index register 1 is 100, the contents of the index register 2 is 200, and the contents 'of memory location 600 is +00 000 0 3570 2, then the instruction +00 AD D 1 00500 1 causes the contents of storage location 3770 to be added to the contents of the accumulator. The (not indexable) instruction +00 ADI 0 00001 2 effects the addition of 1 to the contents of index register 2, whereas +00 ADI 1 00001 2 results in an addition of the contents of storage location 1 to the contents of index register 2, provided position 6 of the contents of storage location 1 is "0" (otherwise the process of substitution would be repeated). INSTRUCTION AND SPEED The instruction list of the 2002 contains: 1. 28 instructions for arithmetic operations for fixed-point and floating-point numbers, shift operations and other specific operations. In order to increase the calculating speed, devices are provided H. w. GUMIN is with Siemens & Halske, A. G., Munich, Germany. 157 Fig. 2 (left). Central processing unit A, ~ B, c- D/ [/ F ~ Fig. 3. D D U V Circuit board I A B C U which produce multiples of multiplicands and divisions. Special attention has been paid to the built-in unnormalized floating-point arithmetic, so that, roughly speaking, the precision of the results is about the same as the minimal precision of the two operands. 2. 12 jump and other control instructions, one of which, the so called subroutine jump UNT (unterprogramm) is executed as follows: suppose the instruction UNT f3 is stored in memory location a. then a+ 1 is stored automatically by this instruction in memory location f3 (precisely: in positions 7 to 11 all other positions being reset to 0) the next instruction to be perforrr:.ed will be taken from memory location f3+ 1. The last instruction of a subroutine is a fine example of address substitution. The (unconditional) jump instruction SPR (springe) for switching the control to memory location a+ 1 of the main program has the form SPR 1 f3 where position 6 (address substitution) is equal to 1. 3. 9 instructions for index register operations including jump instructions dependent on the contents of an index register. 4. 4 instructions for a transfer of data between drum and core memory in blocks of variable length. 5. 9 instructions for punched paper tape input and output. 6. 9 instructions for punched card input and output. 7. 7 additional instructions for magnetic tape equipment. Total: 78 instructions The sign of an instruction is used for program testing. Normally the sign of 1.58 an instruction is not considered by the control unit. After pressing a button on the control desk, instructions with a positive sign are executed as usual, instructions with a negative sign (which are not performed) initiate the following procedure: The contents of the instruction location counter is stored in memory location O. The next instruction in sequence will be taken from memory location 1. All operation cycles of the 2002 are integral multiples of the "basic machine cycle," which requires 90 ILsec. One basic machine cycle is equal to the time interval necessary for adding the content of a memory location to a number in the accumulator, including reading out of the Table I. Operational Speed (Including Reading Out of the Operand) Add, fixed point. . . . . . . . . . . . . . . . . . . . . . 90 ILsec Multiply, fixed point .................. 1,260 ILsec Divide. fixed point .................... 3,510 ILsec Add, floating point, normal. . . . . . . . . . .. 450 ILsec Multiply. floating point, normaL ....... 1 ,350lLsec Divide, floating point, normal. ......... 3,240 ILsec Shift accumulator, n places. . . . . . . . . . .. 180 ILsec Table II. Physical Characteristics Internal number system ... Decimal Excess-three-code Mode of operation ........ Serial Bits of a decimal digit parallel Word length ............. 12 decimal digits plus sign Timing .................. Synchronous Pulse repetition frequency .. 200 kc per second Circuitry ................ Transistorized mounted on circuit boards Memory ................. Core memory Magnetic drum Power consumption basic computer* ............. 5 kw Floor space requirements basic computer ......... 600 square feet * Central processing unit, I,OOO-word core memory, IO,OOO-word magnetic drum, control desk, punched paper tape input and output. D Fig. 4. D V Circuit board II addend. Reading out of an instruction from the core memory, its interpretation by the control unit and the address modification by index registers also covers one basic machine cycle. Each address substitution requires another 90 ILsec. Reading, interpreting, and address modifications of the next instruction are done by the control unit simultaneously with the carrying out of the preceding instruction provided the control unit is not used for the execution of the preceding instruction and the execution of the latter requires more than 90 ILsec. For this reason the numbers in Table I, Operational Speed, do not include the 90 p'sec for reading, interpreting, and address modification (by index registers) of the instruction. The next instructions are in some cases even carried out during the execution of a preceding one, as is shown by the sequence of instructions: MLT AD! SPR x y z Multiply, fixed point Add to index register Jump (unconditional) After initiating the multiplication in the arithmetic unit, the control unit reads and interprets the next instruction in sequence (one machine cycle). Because the instruction "add to index register" can be performed without using the arithmetic unit (the control unit has its own adder), the ADI instruction is executed (two machine cycles). Then, the next instruction is read out of the memory, interpreted and executed, as the unconditional jump can be performed independent of the arithmetic unit, etc. This is done during the execution of the multiplication (14 cycles). Gumin-The Siemens Digital Computer 2002 52 of the matrices are used; this allows storage of 1,000, 2,500, 5,000 or 10,000 words of 13 decimal digits each with a decimal digit being represented by four binary digits (excess-three-code). The access time of the core memory is .3 p,sec, the cycle time 14 p,sec. up to ten memory units can be connected with the 2002. A drum memory (capacity 10,000 words) is attached to the ferrite core memory. Data are transferred between these two types of memory in blocks of variable length by a sequence of three instructions giving: 1. The drum address of the first word of the block. 2. The length of the block. 3. The address of the first word in the core memory. Fig. 5. Core memory unit (1,000 words) G nder certain assumptions concerning the distribution of instructions of a program (25% additions, 25% multiplications, 50% instructions for organization etc.) the average speed of the 2002 amounts to 2,200 operations per second for fixed point and 1,850 operations per second for floating point calculations. MEMORY The basic memory unit for the 2002 is a coincident current ferrite core memory. There are several sizes of the matrix of the core memory, depending on the memory capacity, namely 1. A 20-by-50 matrix: for a 1,000-word memory. 2. A 50-by-50 matrix for a 2,500-word memory. 3. A 50-by-100 matrix for a 5,000-word memory. A 100-by-100 matrix for a 1O,000-word memory. 4. The direction of transfer is also indicated by the last instruction. The average access time per word to the drum memory is greatly reduced when transferring blocks of reasonable length. The drum revolution time is 23 milliseconds (ms), the drum clock frequency 200 kc per second. Words are written on four parallel tracks with 3.7 bits per millimeter (94 bits per inch) and 250 words per group of four tracks. The track selection is made by dry reed relays in such a way that always two consecutive groups of four tracks are selected. After having finished reading (writing) the first selected group of four tracks, switching to the next group of tracks is done by electronic equipment, so that uninterrupted reading (writing) is possible. While reading (writing) the second group of tracks, the third group of four tracks is selected by relays, etc. Thus, the number of readwrite amplifiers is reduced from 4 X 40 to 4, but the average access time to the first word of the block is increased by 7.5 ms. With a word transfer time of 90 Fig. 6 (left). Core memory matrices jlsec, the transfer time of a block of n words is on the average (11. 5 +7. 5 +n'O . 09) ms =(19+n·0.09) ms. The average transfer time of 1,000 words is therefore 109 ms. INPUT-OUTPUT Input and output data are handled . by means of punched paper tape, punched card and magnetic tape equipment. In the case of punched paper tape, data are read into the machine by a photoelectric high-speed tape reader, one character per instruction, with a speed up to 200 characters per second in start-stop mode. Results are punched on paper tape at a speed of 50 characters per second. If input data and results are to be available in the form of punched cards, a special buffer and control unit can be added. Punched card machines of various makes can be connected with the card control unit. The punched card control unit contains a core buffer storage for each punched card input or output. The buffer storage has a capacity of 80 X 12 = 960 bits, the columns (rows) of the buffer being the equivalent of the columns (rows) of the punched card. The next card is read into the input buffer storage (the contents of the output buffer storage is punched into the next card) while calculating. A special column, numbered 0, is provided in the input buffer storage. Any of the 960 points of a card can be wired into any position of column O. Data are read out of the input buffer columnwise, beginning with column 0, continuing with column 1, 2,3, .. " Up to 12 consecutive columns can be read by one instruction, the number of columns as well as the buffer unit are indicated by the address part of the read instruction. The execution time for reading 12 columns is 540 p,sec. Data are read into the accumulator. There are two groups of instructions for reading numerical and alphanumerical characters being represented by two decimal digits. The output buffer is filled columnwise in a similar way. If a printer is to be connected with Fig. 7 (right). Siemens Digital Computer 2002 Cumin-The Siemens Digital Computer 2002 1.39 an output buffer, the number of columns can be increased. The magnetic tape equipment is attached to the 2002 in a similar way. The tape control unit contains one or two buffers with a capacity of 1260 X 6 bits (one character per column). The next record on tape is read into the buffer storage (the contents of the buffer storage is written on the tape) by read (write) instructions while calculating. If two buffers are installed, two records can be transferred simultaneously to or from two tape units. Up to 10 tape units can be connected with the tape control unit. The instructions for reading data out of the tape buffer into the accumulator ~nd for filling the tape buffer from the accumulator are the same as for the punched card buffers. The execution time for reading 12 columns is 270 JLsec. Because of the length of the tape buffer, four block transfer instructions are provided which transfer the next n columns of tape buffer k into the core memory, beginning with memory location x, or the data stored in the core memory beginning with memory location x, into the next n columns of tape buffer k; two instructions serve the transfer of alphanumerical and two instructions the transfer of numerical data. Physical Construction For the most important physical characteristics see Table II. The circuitry in the arithmetic and control unit is of the dynamic type using gates and delay-lines. The circuitry in the memory units is of the static type. All circuits are composed of 16 types of different units which are dip soldered into etched circuit boards of the plug-in type (size 6.5 X 4 inches), one of which is shown on Fig. 1. Fig. 2 shows a central processing unit. The control and arithmetic units are of five different types, the logical configuration of two of them is reproduced on Figs. 3 and 4. The output of the circuit boards is delayed by 1.25 JLsec. Up to 8 inputs can be driven by an output of one of the circuit boards. On Fig. 5 a part of the rackmounted transistorized core memory unit \ 1,000 words) together with the read and write amplifiers are to be seen. The 52 matrices are combined within two blocks of 26 matrices each, Fig. 6. In the case of the 2,500-word memory, 160 plug-in units with 1,037 transistors are built into the memory unit (exduding buffer registers). Fig. 7 gives a general view of the 2002 computer (punched paper tape input and output). Conclusions The 2002 has been working since November 1, 1958. A prototype has been operating successfully since October 1956. The 2002 is an enlargement of this prototype Discussion E. Goldstein (Bell Telephone Laboratories): Are parity bits included in the core memory? HE RADIO Corporation of America T(RCA) 501 System (Fig. 1) was de- signed specifically for a wide range of data processing applications. This paper describes the system and relates specific functional characteristics of the requirements that are found in data processing activities. System Highlights Some of the outstanding features of the RCA 501 Eiectronic Data Processing System are mentioned here to provide a framework of reference for the remainder of the discussion. 160 Dr. Gumin: One parity bit per word in core memory; and four parity bits per word in drum memory. Data transfers are checked by means of "pseudo tetrads" (forbidden combinations of four bits). J. Reitman (Teleregister Corporation): Please describe the size of the input and output punch paper tape buffers. Dr. Gumin: The prototype has punched paper tape buffer of one word (input, one word; output, one word). J. D. Babcock (The Rand Corporation): Has an assembler-compiler system been devised for the 2002? If so, would you please give a short description of it? Dr. Gumin: An assembler-compiler system will be available during the summer of 1959. This will be a generalized formula translating system. G. M. Wilson (United Shoe Machinery Corporation): What is the card-per-minute speed of reading and punching? Also, what are the read-write speeds of the magnetic tape? Dr. Gumin: Siemens does not manufacture punched card equipment. Punched card machines and printers of various manufacturers can be attached to the 2002 computer. The system is designed to permit the use of either International Business Machines Corporation or Bull peripheral equipment. W. R. Haber (Remington Rand Univac): What is the drum speed in milliseconds, and how many drum bands are there? Dr. Gumin: A drum revolution requires 23 milliseconds, and there are 40 bands each containing 50 words per band. on design particularly in the area of reliability. Design of the RCA 501 System J. G. SMITH What checks are made to insure accuracy during data transfers between cores and drum, etc.? VARIABLE DATA LENGTH T. M. HUREWITZ SOLID STATE TECHNOLOGY The RCA 501 Data Processing System is comprised entirely of solid-state devices. The logic of the system is implemented with transistors, over 90% of which appear in the basic "Nor" circuit configuration. There are approximately 17,000 transistors in a typical system. During the first 6 months of 3-shift operation involving more than forty-four million transistors hours, there were only three transistor failures. These initial data indicate an expected failure rate of less than one transistor failure during 1,000 hours of system operation. The use of transistors has had a potent impact In keeping with the emphasis on data processing, the 501 system retains' the RCA-developed concept of variable word length. This concept of information organization on magnetic tape lends itself naturally to the types of data encountered in processing applications and results in minimum processing times. BUILDING BLOCK EXPANDABILITY Another highlight of the RCA 501 system is its expandability features. The high speed magnetic core storage of the computer may be expanded from a minimum of 16,384 characters (a character .T. G. SMITH and T. M. HUREWITZ are with Radio Corporation of America, Camden. N . .T. Smith, Hurewitz-Design of the RCA 501 System +1~V +6.5V -19.SV Fig. 1. The RCA 501 system expanded A B OUT 0 0 1 0 1 1 1 0 1 1 1 0 OR~ ANO r: L M2 :::- ~: --c:>-! --t~ z ~ .1 ln2n 3n4nSn6n ,.::'UNITLOAO BASIC CIRCUIT being 7 bits) to a maximum of 262,144 characters. The expansion occurs in increments of 16,384 characters. The number of magnetic tape mechanisms directly under program control may expand from one (1) to a total of 63. Finally, peripheral equipment may be used on-line or off-line as dictated by machine loads. For reasons of economy, particular emphasis was given to reducing, or in some cases eliminating, the need for special control devices for operation of peripheral equipment. POWERFUL FILE HANDLING CAPABILITIES The computer records on magnetic tape at the rate of 33,300 alphanumeric characters per second. The information can be read from the tape while it moves in either direction. To add to the file handling capabilities of the 501 system, the computer perfonns certain combinations of operations simultaneously. These combinations are read-compute, write-compute, and readwrite. The simultaneity is handled by an interrupt technique which will be discussed in greater detail. ACCURACY CONTROL Again consistent with the data-processing emphasis, the 501 system incorporates a thorough system of wired-in checks which monitor and safeguard the processing of data. Among these checks are provisions for performing each 'arithmetic step twice and a complete parity preserving system of information transfer and modifications. BASIC CIRCUIT Fig. 2 is the so-called ").Jor" circuit which is the basic circuit used repeatedly in the over-all system. (The SM~2 is the RCA designation for this sUbmodule.) The operation of this basic circuit is as follows: If both inputs are sitting high, the emitter-base junction is reversebiased and hence the transistor is cut-off. This causes the output to be clamped to ground. When either one of the inputs goes low, the divider network yields a Fig. 2. Basic transistor circuit potential which is below .the emitter potential and the transistor turns on. The output rises to 6.5 volts, less whatever drop occurs through the transistor, which in this case is a maximum of 0.3 volt. This basic circuit is used to achieve signal standardization and to accomplish all logic. The basic logic, in terms of the "Nor" circuit, can be described by a truth table. Using inputs A and B, and letting "0" represent ground potential and "1" represent +6.5 volts, then when either one of the inputs is at ground the output remains high. Only when both inputs are high does the output go to ground. When both inputs are at +6.5 volts the output is at ground potential. By cross coupling two of these circuits so that the output of one is the input to the other, a flip-flop results. Negative pulses are used to set and reset the circuit. System Equipment RCA 501 systems are tailored to specific applications by adroitly choosing "equipment modules." A brief description of the items from whi<;h this choice may be made will serve to indicate the degree of flexibility available in arranging system configurations. For purposes of this description equipment is classed into three major types: Computer, magnetic tape, and input-output. COMPUTER The basic computer is composed of the following elements: program control, operating console, paper tape reader, monitor printer, high-speed core storage (16,384 alphanumeric characters minimum), controls (switching and buffering for eight magnetic tape stations), and power supply. The high-speed storage unit, Fig. 3, starts with a basic building block of 16,384 characters. It contains a stack of planes, 28 deep, with each plane having 64X64 cores to give 4,096 cores in a plane. Smith, Hurewitz-Design of the RCA 501 System Fig. 3. High-speed memory (32/768character capacity shown) Since one character consists of 7 bits, this stack of 28 planes represents a 4 character-deep array. Hence, information is called from the storage unit in groups of 28 bits or 4 characters in parallel. The method of using these 4 characters will be described in greater detail in the discussion of the block diagram of the computer. Memory access time, the time for retrieving or storing four characters, is 7.5 microseconds (usec). A complete memory cycle requires 15· j.Lsec. The storage unit may be increased in as many as fifteen steps of 16,384 characters to a maximum of 262,144 characters (2 18). The addition of a bank of memory in no way affects previously written programs. Further, the only distinction between individual banks are the addresses, which for purposes of programming are considered to be continuous. The unit depicted contains two stacks of memory or a total of 32,7(;08 characters. The same unit can be expanded to a total of 65,5;)6 characters. Four such expanded units may be added to the program control. The order code consists of 49 instructions covering input-output, data handling, arithmetic, and decision and control. The instruction format, Fig. 4 is as follows: One character is designated the operation code, three characters (18 bits) specify the A address; the N character specifies the index register to be used as a modiEer for either the A or B address; three characters specify the B address. The N character is split into two groups of three bits each. The left-hand group speciEes how the A address is to be modi-· fied and the right-hand group specifies how the B address is to be modified. 161 ONE INSTRUCTION OPERAnON CODE o A ADORESS ADDRESS MODIFIER 8 ADDRESS 888 N AAA THE N CHARACTER MODIRES A ADDR£SS MODIFIES XXX XXX -----+~ Fig. 4. 8 ADDRESS Instruction format Particular characteristics of the computer of special interest to programmers will be discussed as a separate topic. Fig. 6. MAGNETIC TAPE Some specifications of the magnetic tape stations, Fig. 5 serve as an introduction to this topic. Gross data-transfer rate is 33 1/ 3 thousand characters per second, achieved by recording 333 1/ 3 characters per inch and moving tape at the rate of 100 inches per second. The tape is 3/4 inch wide, Mylar base. Reels accommodate up to 2,400 feet of tape. The gaps generated on magnetic tape are 0.35 inch. The tape start time is 3.5 milliseconds. The tape has a lock -out feature which provides for the safety of program and master file tapes. Characters are recorded twice on magnetic tape, substantially increasing reliability. As many as 63 tape stations may be made available to the computer at one time. Expanding the number of tape stations is done as follows: eight tapes may be connected without any additional equipment. A B-Ievel switching unit is substituted for one of the original eight tape mechanisms. This unit provides for connection of as many as eight additional tape stations. Thus, 15 tapes are avai1able with one B-Ievel switching unit, 22 with two B-level switching units, etc. Two B-level units, together with their power supplies are contained in a single cabinet. INPUT -OUTPUT EQUIPMENT It has already been mentioned that a 1,000-character per second paper tape reader is available as an on-line device. Similarly, a monitor printer (10 characters per second), with a paper tape punch is used on-line. High-speed output is also available on-line in the form of a 600-lineper -minute, 120-character-wide printer, Fig. 6. This printer uses the computer's electronics for most of the buffering and control functions. Off-line devices are available which provide for card-to-tape conversion and high-speed printing. The card-feed rate on the card transcriber, Fig. 7 is 400 cards 162 Fig. 5. Tape station per minute. Characters are written on magnetic tape at a rate of 33,300 characters per second. The input and output hoppers hold up to 1,000 cards for continuous operation. For continuous operation beyond 1,000-card capacity, the cards may be loaded or unloaded during transcription. There is a considerable amount of editing that can be done through the use of the plugboard. As in all RCA 501 equipment, considerable care has been taken to ensure accuracy control. There is a dual sensing station. The card is read twice and the readings are compared. Overpunching which may represent three or more punches in a particular column is sensed and detected. Character parity is checked as is data format. Finally, when informatior. is transferred from the cards to magnetic tape, the echo signal check is used. Transcribing card punch, Fig. 8, features are as follows: A maximum of 80 columns can be punched in an 80-column 12-row card. The card punching rate is 150 cards per minute and input-and output-hopper capacity is 1,000 cards each. Again there is extensive editing through the use of the plugboard, and accuracy control features similar to the card transcriber are included. Off-line printing is accomplished with the Electro-Mechanical Printer, Fig. 6. This device operates with a standard tape station and prints at the rate of 600 lines per minute. Paper skipping can be done at a rate in ex.cess of 70 lines per second. Editing can be accomplished through the use of a plugboard and a paper tape loop. Among the accuracy control provisions for the printer are print- High-speed printer hammer failure check, overlong-line check, tape parity check, warnings for low paper supply, tape station inoperable and printer inoperable. Large-scale random access facilities are in the random access file drum, Fig. 9. A file control unit may be connected to any tape trunk and each unit provides for the control of up to 12 drums. A drum has a capacity of 1,500,000 characters and an average access time of 192 milliseconds. Computer Characteristics The logic of computer forms the framework of reference for discussion of specific features. The data flow within the computer occurs over a bus system, Fig. 10. Addressing information flows to the memory over the address bus on which are located the P-, A-, Boo, Too, and S-registers, and the bus adder. The P-register is the program register and always contains the address of the next instruction. The Aand B-registers correspond to the A and B addresses of the instruction format. The T -register can be preset by instruction to provide a third address for certain transfer and arithmetic instructions. The S-register is used to address the memory during "interrupt cycles" associated with simultaneous operations. The bus adder is an 18-bit half adder used to modify the contents of the various registers. A register is made to advance in counter fashion by having its contents transferred to the bus adder, where one is added to the number. The resulting sum is then transferred back to the register. Besides adding to the over-all reliability of the computer, the bus adder also preserves the parity of addresses in accordance with rules independent of those for addition and thus permits a check to be made on all addresses transferred within the machine. Information flows in groups of four characters from the high-speed memory to the memory register and over the data Smith, Hurewitz-Design of the RCA 501 System Fig. 7. Card reader bus into the program control. This same path provides for the flow of data back to the high-speed memory. On the data bus are located the normal operation register, the N -register, used to contain automatic address indicators, and the tape read-write buffers. The interchange is located between the data bus and the single character bus and provides a means of selecting one character from the four on the data bus or transferring a character to one of four paths. By this device, individual characters may be positioned anywhere within a group of four characters comprising a memory word. On the single character bus the L- and R-registers are used to hold an addend character and augend character, respectively. They in turn feed the arithmetic unit. The arithmetic unit returns its results to the adder output register which is connected to the single-character bus. Also on the single-character bus are the SWand SR-registers which select the write trunk and the read trunk for tape operations. :\1any schemes for tape simUltaneity were considered for inclusion in the computer. All of the schemes that were considered had their advantages and disadvantages. The one chosen was considered to be the most useful from the programmer's standpoint as well as the least costly in equipment. It is believed that this particular scheme eliminates the need for complex scheduling of special purpose buffer memories, hence, allowing the programmer maximum flexibility. Simultaneity of tape operation is a demand-type function. The process is initiated when a tape instruction is received from storage. At the time of execution, three tests are made: 1. Is the instruction a type which is "potentially simultaneous?" 2. Is the simultaneous mode free, i.e., not already occupied? 3. Is the program-controlled gate to the simultaneous mode open? If the answer to all three of these questions is positive then the operation code and memory address are transferred to the simultaneous operation register (SOR) and the S-register, respectively, and the computer selects the next instruction sequence. Note that if the answer to any of these questions is negative, the instruction is accomplished in normal fashion. When a tape operation is being performed in the simultaneous mode, buffering is such as to require the interruption of one 15-,usec memory cycle out of every eight. Thus computation can proceed for 7 cycles before being inter- Fig. 9. Random access file rupted. Of course, no interruption 1S required while tapes are accelerating. From the programmer's standpoint, it was deemed extremely desirable to include equipment in the computer for utmost flexibility in modifying instructions. For this reason a highly capable set of index registers are incorporated. There are seven index registers which may be used to modify instruction addresses. Of these, four are fixed high-speed memory locations which can be operated upon by any of the normal instructions. In addition, three of the index registers are registers which are dynamically used during the normal course of instruction execution. For example, the program register is also an index register. By this device, programmers may write completely selfrelative routines in machine code. Two of the other registers, the A- and Tregisters, are used normally for addressing ,...",,,, I I I J J J J I J I I J J I I __3___ : : ~-::':-~------:'::::---:'::------:':':'lI:'-t-:j:;~,:-":: I ~_______________________ --- ~ 1--- -,1:""-1'- ----~ :===~L----E ~------ ~~~----I:[ -G---E-N----O-----, I BUFFERS ADDRESS BUS ---- DATA BUS SINGLE CHARACTER BUS ~ Fig. 8. Card punch Smith, Hurewitz-Design of the RCA 501 System Fig. 10. UNCONDITIONAL PATHWAY Computer Row diagram 163 data in the high-speed memory. Hence, references can be made data-relative, tying-in with the use of variable length 'Operations. While it is impossible to describe completely the instruction complement at this time, a brief resume is in order. It is natural in a system such as the RCA 501, which has been designed primarily for data processing, that highly flexible use of magnetic tape be made. Some examples of the facilities available in the 501 for tape use can be cited. First, tape may be read in either direction. Those familiar with sorting will realize that by reading tape in reverse and writing forward on tape, rewind time can be eliminated. A second ability, important in data processing, is the provision for positioning tapes in either a forward or reverse direction by control symbols or by gaps. This last feature permits the scheduling of multiple files on the same -reel of tape eliminating both tape costs ;and operating time. Lastly) data may be :stored on tape in either program form or message form. Instructions have been 'Scheduled to offer complete sets of functions for data no matter which of the forms are used. Data-transfer functions are arranged for either address or symbol control, and either serial or parallel (4 character) operation. In addition, special functions deemed appropriate for data processing problems have been provided. Examples include an instruction which searches consecutive memory locations and stops on the nth occurrence of any prescribed character. Another example is an instruction which distributes incoming data to the maximum fields for each item. its converse performs data compression prior to tape write-out. Arithmetic instructions provide for the four basic decimal functions, in addition to binary and logical functions. The latter two categories 8re designed to work alphanumeric data as well as program data. Decision and control functions include the ability to set or store the contents of all of the addressing registers. Conditional jumps can be based on the sign of previou~ arithmetic results, on tape status, simultaneous availability, program counter exhaust, presence or absence of data, etc. A special tally instruction is included for loop repetition. The instruction decrements a binary quantity, tests for zero, and jumps on non-zero. The jump is ignored for the zero case. The comments on instruction functions indicated some of the properties available 164 to programmers for flexibility in COding. Another important programming task, that of debugging newly-written routines, has not been ignored. Six breakpoint switches are available on the console which operate in conjunction with bits in the B address of the unconditional transfer of control instruction. These bits are used to obtain a "jump or ignore" function. Correspondence with any bit, and an "on" setting of a switch, causes the jump instruction to be ignored. Availability of a paper tape reader and monitor printer at the computer console facilitates program debugging. These devices are normally operated by any of the magnetic tape instructions having the tape station address of (77)8. A switch on the console is used during debugging to convert all tape station addresses in magnetic tape instructions to (77)s. Thus, the reader and printer may be called without necessitating program modification or, in fact, any provision in programs. A memory address register is the focal point for the contents of all five register (P, A, B, T, S). Switches have been included on the console which, when used permit stopping at any memory location. Thus, a program may be stopped at a given instruction or whenever the contents of any data location are affected. Lastly, it has been found useful to establish an audit trail through programs. This function is made possible in the RCA 501 computer. Every jump, either conditional or unconditional is accompanied by the automatic storing of the c~mtents of the program register in a standard memory location, prior to performing the jump. Construction of jump tables is accomplished by transferring the contents of the standard memory locations. Summary Many years of experience in engineering and in analysis of data processing requirements have been uniquely combined in the design of the RCA 501 system. Design emphasis has been dictated by the relative sensitivity of the criteria of data processing problems. Discussion Edwin Freeman (Remington Rand Univac): Since both the on-line and off-line printers operate at the same speed, it would seem unnecessary to use two printers in the system. Couldn't you use one printer that could be put on-line or off-line. depending on the program? Mr. Smith: Yes. H. E. Hortle (Hall Engineering Company): Are all logical functions realized exclusively by "Nor" circuits? If so, how many of these are used? Mr. Smith: Yes, the logical functions are carried out exclusively by the "Nor" transistor circuits. There are approximately 13,650 of these modules in the computer, not including the high-speed memory. P. S. Dorn (Sperry Rand Corporation): What is the makeup of the typical system of 17,000 transistors? Mr. Smith: High-speed memory of 16,384 characters, program control; A~level tape selecting and buffer unit, five tape stations, high-speed on-line printer, monitor printer, and paper tape reader. The A-level selecting unit provides input-output capabilities for the monitor printer, paper tape reader and eight magnetic tape stations. The on-line printer logic is included in the main frame. W. J. Thielen (Ampex Corporation): is dual recording? What Mr. Smith: Briefly, each character is recorded on two separate locations on the magnetic tape. There are a total of 16 tracks in line across the tape. Eight tracks provide for a timing track and seven information tracks on one half of the tape. The other eight tracks are the exact duplicates of the first but recorded on the other half of the tape. A series connection of the two magnetic head windings of duplicate tracks supplies the read signal. As little as 40% of normal signal from one track is sufficient for detection by the amplifier. Thus, flaws like oxide holes, oxide nodules, dust particles and the like do not prevent recording or recovering information. M. A. Powers (Westinghouse Electric Company): What is the approximate additional cost of the duplicated circuitry? Mr. Smith: Here, I assume the question has to do with the statement that we perform each arithmetic operation twice. The fact is that there are no duplicate arithmetic circuits; we use the same adder twice. The operands pass through the adder the first time to obtain the result. The second time, the complemented operands pass through the adder to obtain the complemented results. The effect we rely on for checking is that a transistor which was "on" the first time must be "off" the second time; and conversely, a transistor which was "off" the first time is "on" the second time. Thus, Vie have a more powerful check ,vithout duplicate circuits than in a two adder system. If, however, your question relates to duplicate circuitry for dual recording, again no duplicate circuitry is required. Each of the eight channels has one readwrite amplifier. For writing on tape, each channel amplifier drives two series windings in the magnetic head to record the information simultaneously on two in-line locations on tape. It is the same for reading. The two windings simultaneously sense the record information at the two locations and supply a single signal for the channel amplifier. Smith, Hurewitz-Design oj the RCA 501 System Bit Code The IBM 7070 Data Processing System 0 R. W. AVERY S. H. BLACKFORD HE INTERNATIONAL Business Machines Corporation (IBM) 7070 is a high-speed solid-state data processing system designed for both commercial and scientific applications. Its versatility and range enables easy expansion from a basic card system to a tape or tape RAMAC system which incorporates the speed and. capacity of many largescale data processing systems. In both commercial and scientific applications, it is becoming essential that the data processing system be flexible to meet both current and future requirements of the application. The IBM 7070 system has been designed with such flexibility in mind. A wide variety of configurations can be utilized to meet increasing customer needs. T Description of a Typical 7070 System A typical 7070 system is composed of the machine units shown in Fig. l. These units are: Console: This is a separate unit which includes the console typewriter and a small operator's panel. The console unit is designed to simplify and expedite the operator's tasks and insure maximum productive machine time. The typewriter is the principal operator's tool, and replaces many of the indicator lights and control switches of previous data processing machines. Operator errors should be minimized by the computer's ability to audit operator commands by a stored program, and by the existence of a printed record from the console typewriter. Magnetic Tape Units: Two different magnetic tape units are available. The Model 729II reads or writes tape at a rate of 15,000 characters per second, while the Model 729IV reads or writes at a rate of up to 62,500 characters per second. Any combination of up to 12 of these units can be employed in the 7070 system. Fig. 1. Typical IBM 7070 system J. A. McDONNELL Each tape unit is attached to on~ of two independent tape channels. This enables the system to simultaneously readwrite compute, read-read compute, or write-write compute. To insure that the tape record is properly written, an additional set of magnetic reading heads is mounted in the tape drive adjacent to the writing heads, providing an immediate validity check of the written record. Disk Storage Units: The 7300 disk storage units consist of a magnetic disk storage array with a capacity of six million digits. Each record is 60 words in length, making a total of 600 digits and 60 signs. Records are read or written by a mechanical access mechanism containing a magnetic recording head. This mechanism moves rapidly to any record in the file. Three of these mechanisms are provided in each disk storage unit to minimize access time by overlapping the operation. Up to four disk storage units can be utilized in the system, providing a total storage capacity of up to twenty-four million digits. These units are attached to the system by the same two data channels as the magnetic tape units. Each of these data channels is connected to a disk storage unit by program control, thus enabling simultaneous read-write compute, read-read compute, or writewrite compute on different disk storage units. Manual Inquiry Station: The 7900 manual inquiry station permits fast interrogation of the status of data stored in core storage, in a disk storage unit, or on magnetic tape. The station consists of a special typewriter equipped with a solenoid-driven key-board and transmitting contacts. A 16 - channel punched ~1ylar tape provides format control. Up to ten manual inquiry stations can be attached to the system, each one separately buffered, and designed for connection to the system by cable up to 2,500 feet long. Card Reader: The 7500 card reader operates at a rate of 400 cards per minute, with format control by means of a control panel mounted on the reader. Data from a full 80-column punched card may be transferred into the computer. The card reader is equipped with a Avery, Blackford, .L't1cDonnell-The IB11!I 7070 Data Processing System 1 2 G ::» o - > 3 4 5 6 o E 7 8 9 0 Fig. 2. 1 2 3 6 I I D0 D I DI D0 I DDI 0 0I 0I D 0 DI I 0 I DD0 I 0 I DDI DDI 0 I D0 DI I 0I I 00 Two-out-of-five code front-attended tray-feeding hopper and stacker. As many as three 7500 card readers can be utilized for card input. Selected cards may be offset in the stacker as desired. Card Punch: The 7550 card punch operates at a punching speed of 250 cards per minute, with format controlled by control panel wiring. Front-attended hopper and stackers are used. Selected cards may be offset in the stacker. As many as tnree 7550 card punches can be utilized for card output. Printer: The 7400 printer operates at a speed of 150 lines per minute, with format control provided by the control panel. The printed line output consists of a span of 120 characters, spaced ten to the inch. As many as three 7400 printers can be utilized for printed output. However, as printed and/or card output, a maximum of three 7550 card punches and 7400 printers can be used in any combination. Main frame: The main frame of the 7070 system contains most of the system electronics and consists of the following elements: R. W. AVERY, S. H. BLACKFORD, and J. A. McDONNELL are with International Business Machines Corporation, Endicott, N. Y. 165 -E' ;w '..r!";"!~~.'~""n· "::''::" '~~:::' .m .;, I ~----.--..., -I\~--~ I"(",ro') ...."'I--IJ-~ • i • * • .;:~;::':;::;"" -E I -£' CTOL 'N' BLOCK Fig. 3. Fig. 6. 1. Arithmetic registers and core adder. 2. Indexing hardware. 3. Space for optional floating decimal arithmetic. 4. Main core storage consisting of 5,000 or 10,000 words of magnetic cores. 5. Two data channels, code translators, data registers and controls for magnetic tape and disk storage units. Fig. 4. 6. Buffers and controls for card input/output and printer. Machine Characteristics of the 7070 System Storage address and arithmetic registers are of fixed length of ten digits. However, the execution times of arithmetic operations and data transfers are completely variable. Digit Code: A word in machine code is composed of 55 bits consisting of ten digits plus sign, each digit of which is represented by five bits in a two-out-offive code. Fig. 2 illustrates this code. Modes of Data Transmission: Parallel modes of data transmission include data transmitted to or from core storage via: 1. The program register. 2. The arithmetic register. One of the sliding gate cabinets housing the system electronics mately 8.50 milliseconds (track to track of diff eren t disks) . Instruction Format: All operations performed by the 7070 are controlled by numerically coded instructions consisting of 10 decimal digits and sign. The instruction f)rmat is shown in Table 1. Internal Organization of the 7070 System Fig. 3 illustrates the major functional elements in the machine organization. Storag-e: l\1ain Storage consist.s of 3. The tape synchronizing transmission registers, and 4. The auxiliary registers. Serial modes of data transfer include data moved to and from the tape units. Accumulators, arithmetic registers, and auxiliary registers all have serial paths connecting them to and from the core adder. There is also a serial data path to and from the input/ output synchronizers. Rates of Data Transmission: The 7070 system operates at a 250-kc digit rate, with data transmitted to or from core storage at a 6-microsecond (Msec) rate. Data is transmittcd to or from the core shift registers within the main frame at a 4-Msec rate. On the disk storage unit, access time varies from a minimum of approximateiy 105 milliseconds (track to adjacent track of the same disk) up to approxi- 166 crOL 'p' BLOCK Major IBM 7070 functional elements Fig. 5. Sample IBM 7070 printed circuit card A2'er:v, Blackford. CrOL transistor circuits 5,000 or 10,000 words of magnetic cores operating on a 6-Msec cycle. The 55 bits of a word are read into or out of core storage in parallel under control of priority circuits. These parallel data channels interconnect all of the major elements of the system, including arithmetic registers, instruction register, control registers, and input/output registers. Arithmetic Registers: Arithmetic is performed by three registers with the adder and its controls. A sum is obtained by adding the contents of any two registers serially by digit, with the sum transferred to the specific arithmetic register. In multiplication, the multiplicand is stored in accumulator 3, the multiplier in accumulator 2, and the product is generated in accumulators 1 and 2. In division, the divisor is stored in accumulator 3, the dividend in accumulators 1 and 2, and the quotient is transferred to accumulator:2. The remainder is located in accumulator 1. Program Registers: The program section contains the instruction register, address register, and program register and an arithmetic register (not shown). Indexing makes use of the main adder and controls. Up to 99 index words stored in core memory are available for automatic indexing during instruction interpretation. Magnetic Tape Control: The two magnetic tape channels are buffered by timesharing main core storage through a tape buffer register of ten digits. When this register is filled, its contants are transferred in parallel into core storage at a location specified by a special control feature called scatter read-write. The scatter read-write feature provides, by means of a sequence of stored control words, the format in memory of the record read from tape. This feature is also used in other input/output operations, including disk storage operations. In a data processing system containing a multiplicity of input/output devices, there has been a need to provide an effec- _~1(Donnell-The IBA17070 Data Processing System tive means of running two or more applications simultaneously. The 7070 solves this problem by a mode of operation known as "automatic priority processing" in which a given input/output device interrupts the sequence of the main routine, temporarily stores machine status information, and causes a program branch to the new routine. After completion of priority processing routine, the machine returns to the original program. This mode of operation is provided for in the control of magnetic tape as well as all other input/output devices. Disk Storage Control: Control of the data format of disk storage records is very similar to the format employed in magnetic tape. Scatter read-write and priority processing are employed. Card Input/Output and Printer Synchronizers: Each card input/output device is attached by means of a separate synchronizer to permit operation of all these units in parallel with computing. All synchronizers are connected to core storage by a parallel data channel to permit scatter read-write and priority processing functions. Physical and Electrical Characteristics of the 7070 System Printed Circuit Cards: The system electronics are housed in a group of sliding-gate cabinets, one of which is illustrated in Fig. 4. These cabinets are designed to accommodate printed circuit cards of a type shown in Fig. 5. These printed cards, which mount up to six transistors, are designed for automated fabrication. The number of different card types utilized is held to a minimum. Approximately 14,000 cards are employed in the 7070 system shown in Fig. 1. A total of 30,000 alloy-junction germanium transistors, and 22,000 germanium diodes, are used in this system. Chassis intercard signal wiring is provided by jumper wires which are connected to the card socket by wire-wrap connections. This wiring is designed to be accomplished automatically by wirewrap machinery. Distribution of power supply voltages to the transistor cards is accomplished by printed circuit strips. This enables a major portion of the electronic system to be fabricated by automatic equipment. CTDL Transistor Circuits: The logic and control sections of the 7070 utilize complementary-transistor diode logic (CTDL) to provide economical logic Table I. s Instruction Format o 1 2 3 4 5 6 7 8 9 Sign .............. Op .... IW ..... C ....... D Position S ............... Contains the sign: 6 minus; 9 plus. Positions 0-1 ............ Contain the operation code. Positions 2-3 ............ Contain the indexing word designation. Positions 2-3 of the instruction word specify the indexing word to be used with the instruction. Value 00 indicates no indexing; values 01-99 are directly related to core memory words 00010099. Positions 4-5 ............ Contain the control information, field definition, index word to be operated on, or an extension of the operation code. Position 4 specifies the starting position of the field (high-order position of the field). Position 5 specifies the last position of the field (low-order position of the field). The field specified may not extend beyond the limits of one· word to the adjoining word. If the start position is greater than the last position, an error stop occurs. The sign of the specified field is the sign of the word which contains the field. Positions 6-9 ............ Contain the data address (address of the operand), control information, or branch address. circuitry for the system. These circuits are illustrated in Fig. 6. The basic building blocks can be described as using two circuits in each system; each block comprising a p-n-p (~-block) inverter and n-p-n (P-block) inverter. Each inverter has an input circuit that in combination controls the "on" and "off" states of the transistor and, therefore, performs the logic. In addition, outputs can be wired so that logical switching functions are also performed by transistors. Thus, two logical operations may be performed in a single stage with various block connections. Current \1ode Circuits: Current mode transistor circuitry is used in the timing storage and core storage portion of the 7070 system. Current mode logic provides a building block in which the flow of sufficient current rather than the voltage levels affects the logical operation. Here, the transistor is considered as a current amplifier. Thus, when X milliamperes of a base current flows, KX milliamperes of collector current will flow, K being the current gain of the transistor. These circuits are employed to represent a "logical 1" when they do not supply base current, and a "logical 0" when they do supply base current. A typical circuit is illustrated in Fig. 7. Magnetic Core Registers and Translators: :\1agnetic devices are used in several 7070 units in addition to the core memory. These units are: 1. Arithmetic registers. 2. Adder. 3. Code Translators. 4. Validity che~k circuits. The registers utilize magnetic core shifting registers. The adder and code translators are coincident current core arrays in the form of truth tables. Summary and Conclusions The IBM 7070 system offers facilities required for complete data processing according to the most modern concepts. In addition, by utilizing recent developments in transistor and magnetic technology, the 7070 provides these functions at a minimum cost. An equally new and modern approach to the manufacture of data processing machines is an important part of this product. +-£' Discussion _£ -£1 CURRENT MODE'N'BLOCK Fig. 7 . Typical current mode transistor circuit Avery, Blackford, McDonnell-The IBM 7070 Data Processing System H. P. Peterson (Lincoln Laboratory, Massachusetts Institute of Technology): Is arithmetic done in the 2-out-of-5 code? Mr. Avery: Arithmetic is done in the 2out-of-5 code using a serial by digit adder. 167 Mr. Peterson: time? Mr. Avery: How long is a full carry 4 microseconds. T. J. Beatson (General Electric Company): How are alphabetic or non-numeric data handled in the 2-out-of-5 code structure? Mr. Avery: Alphabetic data are represented in the machine by two numeric digits. Alphabetic input-output is automatically translated to and from this code representation. Alphabetic words in memory are identified by a special symbol in the sign position. F. B. Pace (Bell Telephone Laboratories): How many different modular types are used in the IBM 7070? Mr. Avery: One printed-circuit card design is used for all circuits. About 10 different printed patterns are used. A total of 73 different circuits may be achieved by the manner in which circuit components are mounted on the card. Mr. Ottollanch: When will IBM make the first commercial installation? Mr. Avery: The first commercial installation will be in the Spring of 1960. Mr. Ottollanch: What are add, mUltiply, and divide time for minimum and full system? Mr . Avery: Arithmetic times are not dependent upon system size but are dependent upon field size of the record. A 5-digit add requires 60 microseconds. Multiply time in microseconds is: 192+ 48. (No. of l's, 2's and 4's in multiplier) + 2 (No. of 3's, 5's, 6's, and 8's in multiplier) + 3 (No. of 7's and 9's in multiplier) + (No. of zero groups in multiplier) Divide time in microseconds is: 264 + 48 10 + quotient digits. H. F. Sherwood (Touche, Xiven, Bailey & Smart): Is use of a high-speed printer planned with the 7070 system, and if so, what type? Mr. Avery: The type 720A printer with the 760 buffer and 727 tape unit may be used off-line with the 7070. The system is designed to be compatible with new IBM printers when available. W. R. Haber: In the card punch machine. what is the maximum number of holes allowable for punching? Mr. Avery: A maximum of 80 columns may be punched in each card. Each column may contain aU allowable numeric, alphabetic, and special characters together with special control punches in the zone portion of the card. J. H. Waite (Radio Corporation of America): What are some representative times for matrix inversion? Mr. Avery: Information on matrix inversion times will become available at a later date. J. H. Waite: What are program running times for sine, arctan subroutines? Mr. Avery: Sine routine: 7.7 milliseconds minimum 10.3 average 12.9 maximum Arctan routine: 9.9 minimum 14.1 average 17.2 maximum Performance Advances in a Transistorized Computer System: The TRAN5AC 5-2000 R. J. SEGAL J. L. MADDOX TJ HE THEME of this 1958 Eastern oint Computer Conference is "Modern Computers." It is significant that all of the new computers described at this conference are transistor machines. In order for a particular transistor machine to be properly described as a "modern computer" it should satisfy the following three criteria: 1. Performance of the transistor machine should be notably better than currently available vacuum-tube machines in the same class. An increase in the speed of arithmetic operation by a factor of 3 (or more) to 1 is an example of this type of performance advance. Fig. 1. Magnetic-core storage unit is time shared by other sections of the 5-2000 system 168 P. PLANO 2. Performance characteristics should be obtained from a working model of the transistor machine. More than one finely conceived system has been unable to overcome the difficult technical and economic obstacles between the initial concept and its realization in the form of hardware. 3. The existence of a single working model still does not imply the ability to produce many machines with the same performance characteristics. The design specifications, the equipment components, and the production organization must make it possible to produce and deliver many machines on schedule before a particular "modern computer" can be said to truly exist. In the field of large-scale data processing systems the TRANSAC 5-2000 is a "modern computer" which meets the criteria just outlined. The first 5-2000 system was delivered to the field in November 1958. The Philco production organization is now producing both transistors and additional 5-2000 systems on schedule. As of December 1958, three systems of the 5-2000 class exist in the form of hardware and additional systems are in production. The per- Fig. 2. Arithmetic section block diagram, fixed point formance advances of the 5-2000 stem from the versatility of the computing sections, the particular organization of the input-output system with relation to the computing and memory sections, and the new and sophisticated implementation of the 5-2000 logic by massproduced units of hardware which incorporate the transistor as the active logical element. S-2000 System Organization The TRANSAC 5-2000 organization centers around a magnetic-core storage unit. To the memory are connected the other three essential computer sections: R. J. SEGAL, J. L. MADDOX, and P. PLANO are with Philco Corporation, Philadelphia, Pa. Segal, lvfaddox, Plano-The TRANSA C 5-2000 CONTROL GATES 1 I - D-REGI~~§"J 12 INDEX REGISTER MAGNETIC CORE STORAGE NUMBER OF TIMES FOR PERFORMANCE ~:N'-ciiD ~~~~-~~=::::"--r-==:':"""':' CONTROL [GATES INDEX REGISTER IS NOT INVOLVED FLOATING ARITHMETIC POINT CONTROL A- REGI~~§"J CONTROL Fig. 7. Q-REGI~~§"J 20 2- 35 2-36 2",,1 L -_ _-', ~ MAGNhUDE EXPONENT Fig. 3. Fig. 5. Computer instruction word format and use of index registers Arithmetic section block diagram, Hoating point the arithmetic section, the input-output section, and the program or control section, as illustrated in Fig. 1. In effect, the magnetic core storage is time-shared by the other three sections. The capacity of the magnetic core storage unit may be expanded from 4,096 to 32,768 words depending on the requirements of a particular installation. The word length is 48 binary bits. The basic memory module contains 4,096 words. It operates on a coincident current arrangement giving a complete read and write cycle of 10 microseconds (p,sec). - The arithmetic section can perform both fixed- and floating-point arithmetic. Two's complement, fractional arithmetic, is performed in both fixed- and floatingpoint arithmetic. When performing fixed-point arithmetic, the arithmetic section is arranged as shown in Fig. 2. Operands results are transmitted between the magnetic-core storage and the arithmetic section via the D-register which serves both as an operand register for the arithmetic section and as a buffer for the magnetic core storage. The Aregister is an accumulator and the Q-register handles the multiplier-quotient operands. The arithmetic control sequences the gating operations with an asynchronous timing device. \Vhen performing floating-point arithmetic, the logic of the arithmetic section is arranged as shown in Fig. 3. Functionally, the floating-point arithmetic section is divided into two parts. Bits 2° through 2- 35 (36 bits) form the magnitude portion of the word while bits 2 -36 through 2- 47 (12 bits) form the exponent portion of the word. With the exception of preand post-normalization, the magnitude portion is operated on in the same manner as in fixed point utilizing the same control. The floating-point control, however, also comes into play and performs the necessary operations on the exponent portion of the word. Table I lists some arithmetic operations and their speeds. A block diagram of the program section is shown in Fig. 4. The program register, which has a word-length of 48 bits, contains two single-address instructions. INDEX REGISTERS r Repeat instruction format The program register receives instruc tions directly from the core storage, hence it also acts as a buffer for the core storage. The remaining registers of the program section (jump address register, program address register, memory address register, and index registers) each have a word length compatible with the magneticcore storage capacity. For example, the registers are 12 bits long for 4,096 words of core storage, 13 bits for 8,192, etc. The program address register is responsible for sequencing the instructions of the program. The contents of the PA-register behave as a counter by employing the program adder network. The MA-register acts as an accumulator for the program adder network, with the principal responsibili ty of furnishing addressing information to the core storage selection network. For example, the address portion of the instruction being performed (contained in the PReregister) is transferred to the MA-register which selects the address of the operand or storage location required by the instruction. The function of the jump address register is to store the return address for a subroutine. The return address locates the next consecutive instruction following the jump instruction to a subroutine. This enables the program to remember where to jump back in order to continue following the subroutine execution. The index registers may operate in several modes. The most common mode, however, is to add the contents of the selected index register to the address portion of the instruction being performed, using the sum as the effective BY DESIGNATOR BIT I I RI-REGISTER I MEMORY ADDRESS REGISTER I Rn -REGISTER I NO SPECIAL REPEAT MODIFICATION INVOLVED I ADDRESS PORTION OF INSTRUCTION MAGNETIC TAPE Fig. 6. Fig. 4. Segal, Block diagram of program section ,-~addox, Plano-The TRANSAC S-2000 Use of index registers in obtaining memory address Fig. 8. PAPER TAPE PR'NTE~ Input-output system block diagram 169 PROGRAM INTERRUPT D-REGISTER START , -SUCHAS-' :DRUM ADDRESS : OR :NUMBER OF BLOCKS 'TO SPACE MAGNETIC :TAPE PRIOR TO : READING Fig. 9. Input-output instruction word format WORD FORMAT OF SKIP INSTRUCTION 5 I DEVICE II i QUANTITY I 6 BITS SKIP I Fig. 12. Fig. 11. Typical TRANSAC card Flow chart for interrupt techniques FLOW CHART OF SKIP INSTRUCTION USE The instruction catalogue of TRANSAC 5-2000 contains 227 instructions. These are divided into the following types of operation: Arithmetic and shifts Transfers of data Transfers of control (jumps) Fig. 10. COMPUTER INSTRUCTIONS The computer instruction format for a system consisting of 8 index registers and 32,768 words of magnetic core storage is illustrated in Fig. 5. The command portion which consists of 8 bits is located at the extreme right. The address portion of a computer instruction consists of 16 bits to the extreme left. The bit on the extreme left designates whether an index register is involved or not. The next 3 consecutive bits specify which index register is involved. If no index register is involved, these 3 bits are then transferred along with the remaining 12 to the MA-register to select a magnetic core storage address. 170 Index register operations Logical operations Special operations 38 20 8 16 Total: 227 Skip instruction flow chart and word format address of the instruction. An extra bit (flip-flop) which is assigned to each index register determines whether the index register is to behave as a counter or not. This extra bit is set by a special computer instruction, and remains until the special instruction resets it. If the index register is to behave as a counter, its contents are increased by one after being employed to modify the address of an instruction. The contents of the index register are increased by one by passing through the program adder network. Other operations of the index register and the J Aregister will be explained in the section concerning instructions. An 5-2000 system may have up to 32 index registers. 129 Instructions 16 Instructions Instructions Instructions Instructions Instructions Among the several instructions in the "special" class is the repeat instruction; it can use index registers in a special way. Fig. () shows how an effective memory address can be made from the index register contents alone, if a special repeat modiEcation is used. Fig. 7 illustrates the format of the repeat instruction. The bits labeled a and (3 refer to the lefthand instruction following (if it exists) and 'Y and ;) refer to the right-hand instruction following the repeat instuction. If the repeat instruction itself is in a left-half word, only the right-half word following is repeated; if it is in a righthalf word, then the two instructions in the next computer word are performed as a pair, the number of times designated by the 12-bit address portion of the repeat instruction itself. If the a bit which refers to the left instruction following is zero, (3 is ignored. If the a bit is one, then the contents of Table I. Typical Speeds of Arithmetic Operations, TRANSAC 5-2000 Operation Fixed Point (lLsec) Floating Point (lLsec) Add-Subtract ............ 15 ............. 22 Multiply ................ 65 ............. 55 Divide .................. 75 ............. 70 Divide and store ......... 78 ............. 73 :rw1ultiply and add ........ 70 ............. 65 Note: These speeds include one operand access and the access of the instruction. Times not under repeat. Fig. 13. Modular construction of computer and control unit the index register designated by that instruction are used alone for the effective memory address of the instruction operand. If a = 1 and (3 is zero, the contents of the specified index register are incremented by the contents of the 12-bit address portion of the instruction after its execution. If, however, a and (3 are both one, the contents of the index register specified by the left instruction is decremented by the contents of the 12-bit address following instruction execution. Similarly, 'Y and o refer to the right instruction in the same manner as 'Y and 0 refer to the left instruction. An unusual pair in the instruction catalogue is "larger word," "smaller word." The instruction "larger word" brings the contents of the designated core storage location to the D-register. If the contents of the D-register are greater (in an alphanumeric sense) than the present contents of the A-register, the contents of D are transferred to A and the location of this information is transferred from the memory address register to the J A-register. 'Vhen this instruction is used in repeat mode, the largest element of a list may be found with a single instruction word. When the location of the largest element has been stored in the JA-register, it is also accessible for program use. The instruction "smaller word" is used in order to select the smallest element of a particular list. Segal, AIaddox, Plano-The TRAN5AC 5-2000 Fig. 18. High-speed printer system Fig. 14. An 8,192-word magnetic-core storage unit has a volume of 55 cubic feet I~PUT-OUTPUT SECTION Input-output equipment available for an 5-2000 system installation includes the units in Table II. Table II. Fig. 16. TRANSAC power supplies are completely transistorized Input-Output Devices and Speeds Input-Output Device Operating Speed Paper tape reader. . . . . . .. 1,000 characters per second 60 characters per second Magnetic drum .......... 491 ,520 characters per second High-speed printer ....... . 900 lines per minute Magnetic tape unit (No.. 90.000 characters per sequencing) second Magnetic tape unit ... 360,000 characters per (Multiple sequencing, second 4 units) Paper tape punch ....... . The paper tape, magnetic drum, and magnetic tape systems operate in conjunction with their own control units. Fig. 1 5. Courtesy Power Designs, Inc. In the case of magnetic tape, up to four tapes may be operated simultaneously through the magnetic-tape multiplesequencing unit. Each tape is controlled by its own assembly unit. Any assembly unit may be used with any tape transport in the system as selected by the inpnt-output instruction. Accuracy of reading and recording is ensured by the use of separate read and write heads (to read and check the recording immediately) and parity checks. Every character on tape has a parity bit and every block has two parity characters for horizontal as well as vertical checking. To ensure that recorded data are preserved, when so desired, a physical snap ring is provided with each tape reel. Recording cannot occur without the snap Memory circuits are packaged on four card types Segal, .lvladdox, Plano-The TRANSA C 5-2000 Fig. 1 7. Magnetic-tape unit Fig. 19. Typical 5-2000 system ring and the reel cannot be stored with thE' ring inserted. In either case data on the tape may be read. Information written on magnetic tape may be binary-coded decimal information, pure binary information, or a combination of both. Regardless of the data form, the central computer accepts six binary digits, plus a parity bit, as a "character." Because all numeric data may be recorded and read in pure binary form, tape and time savings on the order of 50% will be realized. (A 7-place decimal number (2,097,152) in binarycoded decimal form may need as many as 42 bits, and in pure binary form needs 21 bits.) Up to 256 magnetic tape units may be employed in one system, and every 16 require a magnetic-tape control unit. The magnetic-tape control unit permits reading or writing on one tape while the central computer is processing other data. Multiple tape sequencing provides simultaneous reading, writing, and computing. In multiple tape sequencing under control of a magnetic-tape control unit, up to four tape units may be operated concurrently while the central computer is processing other data. One of the important features of the TRANSAC 5-2000 input-output operation is the time sharing of the core storage by the central computer and the various input-output devices. Fig. 8 is a block diagram of the input-output system. Top priority for access to the magnetic-core storage goes to the magnetic tape assembly units. By means of these assembly units and the priorities 171 Table III. S-2000 Units Card Blanks Electrical Component Count for a Typical S-2000 System (Critical Parts) Module Blanks Transistors Resistors Capacitors Diodes Neons Transformers Connectors Totals Com~ute: ~n~ ~o~.trol unit .......... 2~2' ...... 4,717 ...... 19,297. . .... 27,125 ....... 12,887. . . 159 ....... 779. . . . . . . . . . . . . . . . . .. 338 Floa.mg-l'oiDLVpdon ................ u . . . . . . . 308 ...... J.,.<;"'.<: . . . . . . . 1,489....... 923...... 6................... 0 Input-output option ................. 18....... 259...... 863 ....... 1.861....... 549...... 6 ....... 25................... 0 Index register option (8 index registers) . . . . . . . . . . . . . . . .. 22....... 554...... 2,286....... 3,226....... 1,563................ 40................... 80 Subtotals .................... 317 ....... 5.838 ...... 23,678 ....... 33,701. ...... 15.922 ...... 165 ....... 850. . . . . . . . . . . . . . . . . .. 418 ...... 80,889 (Computer and control unit) Magnetic-tape control ............... 125 ....... 2,172. . . . .. 8.221 ....... 11,705 ....... 5,854 ...... 39............................. 30() Paper-tape control. . . . . . . . . . . . . . . . .. 2;3.. 327. . . . .. 1,396.... 2,292. . . . . . . 992. . . . .. 53....... 78................... 38 Magnetic-core storage ............... 170. 650 ...... 5,512 ....... 11.936...... 3.145 ...... 339..... . .......... 612. . . . . . .. 253 Printer control. .................... 11 ....... 187...... 753 ....... 1,177....... 519 ...... 11 ....... 38................... 90 Drum control ...................... 21 ....... 360 ...... 2,048 ....... 3,600 ....... 1,621 ...... 31 ....... 24 ........ 48........ 71 Totals ....................... 667 ....... 9.534 ...... 41.610 ....... 64 ,411 ....... 28,053 ...... 638 ....... 990 ........ 660 ........ 1,176 ...... 147.739 established within the magnetic tape system, up to four magnetic tapes may be operated simultaneously. The central computer assigns the core storage by a priority system such that if magnetic tape does not require immediate memory assignment, slower devices such as cards, paper tape, or the printer are assigned the core storage if it is requested. If no input-output device requires core storage access, the central computer is assigned. Hence, the execution of an instruction such as multiplication, division, or floating-point arithmetic can go on simultaneously with the reception or transmission of information. INPUT-OUTPUT INSTRUCTIONS A single computer instruction indicates that an input-output device is involved. In this case, the specific inputoutput instruction is sensed in the Dregister. An input-output instruction word consists of 48 bits as shown in Fig. 9. The command portion of the instruction is in the right eight bits. The number of bits actually used to designate quantity of information depends on the requirements of the particular equipment. In order to make efficient use of memory sharing, two special computer instructions exist. The first of these is a skip instruction which indicates to the computer whether a specified quantity of information has been received. The skip instruction has several variations depending on the device involved. Word format of the skip instruction is shown in Fig. 10. The left five bits of the skip instruction specify the device involved. The first variation of the skip instruction involves magnetic tape. In this variation the question is whether there are X or more words left to process. This number is placed in the remaining 11 bits of the instruction address and is compared with the counter of the magnetic-tape assembly unit connected to 172 the tape unit specified in the device portion of the instruction. If the processing has not reached the questioned point, the computer sequences to the next instruction which is always a transfer of control instruction. If the processing has proceeded to the questioned point, the computer skips over the next instruction and executes the routine which depends on the reception or transmission of this data. The second skip instruction variation involves the paper tape, printer, or cards. In this case, the question is simply, "Is the device actively processing information?' If it is, control passes to the next instruction which is a transfer of control. If the equipment is no longer active, the skip over the next instruction takes place. In the case of a device, such as paper tape, which halts on a stop character, another instruction of this class can then check on whether the device finished because of the quantity of information received or because of the appearance of a stop character. The third variation is used for program interrupt. This will be explained in the next section. The second special computer instruction is a skip which checks that the information received is correct as far as can be determined by the various errordetecting features of the input-output equipments. This instruction has two variations. For devices other than magnetic tape, the question is simply, "Did a fault occur?" For magnetic tape there are a number of types of faults recognized. 'With the use of a proper succession of "skip if magnetic tape fault" instructions, it is possible to isolate which of the errors occurring was most serious. TRANSAC 5-2000 has two interrupt features. Fig. 11 illustrates these interrupt techniques. The first is a program interrupt which is accomplished by instructions within the program itself. Therefore, the interruption is done at I the convenience of the current program. It also means that queueing of the interrupting inputs is determined by the computer program. Hence, any desired scheduling system may be employed. The instruction which is used, "skip the next instruction if the specified device desires to interrupt," as was mentioned previously. The second feature is a rapid interrupt. The signal from the interrupting device interrupts the program at the completion of the instruction word being performed. In this case the queueing is determined by the interrupting devices. It is possible by this method to have a series of interruptions such that a higher priority device may interrupt a lower priority program and each program can be completed as the higher priority program has finished. THE TRANSAC ASSEMBLER-COMPILER The basic programming system for the 5-2000 is the TRANSAC AssemblerCompiler (TAC). The TAC system includes many of the features which have been proved in a number of programming systems on other computers. T AC will serve as the basis for a number of completely automatic programming systems. The basic language of the TAC system is a language of decimal numbers and alphabetic mnemonic instructions. By using TAC, the programmer may, in general, regard the TRANSAC 5-200Q as a decimal computer. The T AC system provides for one-to-one translation of mnemonic pseudocodes into machine codes. Thus, it is possible to make use of all of the features and all of the flexibility of the computer. However, TAC also permits reference to previously coded macro-instructions and subroutines. These are treated just as if they were ordinary machine codes so that in effect, it is possible to expand the instruction catalogue to include almost any function that is desired by the programmer. Segal, .i.1faddox, Plano-The TRA1VSAC S-2000 5-2000 Hardware and Packaging The modern transistorized data-processing system inherently offers many hardware advantages to both the producer and user of such equipment. Some of these advantages are: 1. Transi8torized hardware is most amenable to mass production techniques. More efficient production and quality control operations may be employed than in the case of vacuum-tube equipment. 2. Transistorized hardware offers significant increases in speeds of operation and in equipment reliability over vacuum-tube systems. Both of these advances follow directly from utilization of the transistor rather than the vacuum tube. 3. Transistorized hardware costs less to install and operate than vacuum-tube hardware. The TRAKSAC 5-2000 computer, for example, requires less than 1/5 the power and 1/5 the space of a comparable vacuumtube computer. Air conditioning requirements are small and in some modern installations no additional air conditioning is required. Signal and power connections are built into 5-2000 equipment, eliminating the need for false floors or ducting of floors. 4. The compactness and modular construction of transistorized hardware as executed in 5-2000 equipment makes it simple to add optional features, or to expand the capacity of an 5-2000 system at any time after installation without the need for rewiring or modification of any of the equipment in use. Wiring to accommodate system expansion is designed into the basic system. Additional building blocks or optional features plug into the basic equipment, virtually eliminating down time for system changes. S-2000 PRODUCTION TECHNIQUES A component count for a typical S-2000 system is given in Table III. Successful production of modern transistorized computers is entirely dependent on the availability of production quantities of reliable switching transistors of uniform predictable quality. The surface-barrier transistor, a Philco development, has been produced by the millions since 1953 by the Philco Corporation at its Lansdale Tube Company plant. The world's most completely automated transistor production facility insures that S-2000-production lines will have a constant flow of transistors of uniform and carefully controlled quality. The undesirable process of transistor selection within narrow limits is not required in S-2000 production. S-2000 circuits are packed on TRA~­ SAC cards. Fig. 12 shows a typical TRA~SAC card. Each TRAXSAC card mounts up to 80 transistors, together with their related circuit components in groups of 4 transistors. Each group of 4 transistors and related components is mounted on an electrical module subassembly. The electrical module and TRANSAC card blanks are printed circuit elements. All of the TRANSAC cards for an S-2000 basic computer and control unit are obtained by first running 4,717 electrical modules of uniform mechanical dimensions through a conventional production line. These 4,717 modules are then assembled to 260 TRANSAC card blanks of uniform mechanical dimensions to produce the computer TRA.:"'!SAC cards. Production and quality control facilities were brought into the S-20oo program in the design phase and gradually expanded in the production phase of the first S-2OO0 system. Trained factory personnel handle the production of TRANSAC cards without the need of engineering supEach electrical module and port. TRANSAC card is statically and dynamically tested on sophisticated factory test equipment. The production operations are so simple that production capabilities may be easily and rapidly expanded in a matter of days. The modular concept is also applied to the mechanical construction of S-20oo equipment. The basic computer and control unit is composed of three mechanical modules as shown in Fig. 13. Each mechanical module contains four levels of back panel wiring. Horizontal wiring of each level is accomplished independently and the pre wired levels installed in the module. This process speeds up the back panel wiring operation. Power supplies for the computer and control unit are completely transistorized. They occupy a volume of approximately 24 inches by 20 inches by 18 inches and require less than 1,500 watts of input power. SYSTEM EXPANSION AND OPTIONAL FEATURES Optional features may be added to a basic S-2000 system at any time by the simple process of plugging in kits of TRANSAC cards. The floating-point arithmetic kit, for example, contains 17 TRA~SAC cards which may be plugged into the designated connectors in the computer and control unit in a matter of minutes. The floating-point arithmetic feature is only a matter of a few minutes. The floating-point arithmetic feature is thus easily incorporated into a basic S-2OO0 computer with no rewiring or equipment modification. In a like manner, kits of TRANSAC cards are available for index registers (in groups of 8, up to a maximum of 32), and for the addition of input.:.output control cards for the various input-output devices. Fig. 14 is a photograph of a magnetic- Segal, Maddox, Plano-The TRANSAC S-2000 core storage unit (8,192 words). The size of the magnetic-core storage unit may be doubled by the addition of a second unit identical to the one shown. This is also accomplished by a simple plug-in operation requiring no rewiring or rework. The memory may be expanded beyond 32,768 words in blocks of 32,768 words if desired. Read-write and selection electronics are, of course, completely transistorized and packaged on four types of TRANSAC memory cards as shown in Fig. 15. The transistorized power supplies for the magnetic core stornge unit occupy a volume of 22 inches by 19 inches by 16 inches as shown in Fig. 16. Examples of TRANSAC S-2000 inputoutput hardware are shown in the paragraphs of a magnetic tape unit (Fig. 17) and the high-speed printer system (Fig. 18). A layout for a typical S-2OOO system is shown in Fig. 19. Conclusions The conference announcement for the 1958 Eastern Joint Computer Conference promised the answers to the following questions, among others. 1. What is the status of transistors? 2. How will they affect the possible obsolescence of your present computer? As a result of Philco's experience in placing the transistorized TRANSAC S-2000 into production, the authors are able to supply these answers: 1. The role of the transistor as the active element in modern computers is established. The transistor is no longer a new device; rather, it is a proven component that has replaced the vacuum tube in the vast majority of computer applications. 2. A modern computer such' as the TRAKSAC 5-2000 demonstrates important performance advances over present vacuumtube computers. It has much greater operating speeds, requires much less power, space, and air conditioning. Because of its greater reliability, it is easier to maintain. I t costs less to install and operate. Modern computers are transistorized computers. Vacuum-tube computers are obsolete. Discussion A. 1. Tritter (Lincoln Laboratory): Is the "Repeat" instruction the only progammable function in which half-word boundaries matter? That is, can jumps occur in either half-word which effect a jump to either halfword? Mr. Maddox: I may have misled you to some extent by saying that when we form instruction pairs that they did look like two address instructions. The two instructions 173 are certainly independent, and jumps can occur from anyone to any other. As far as the programmer is concerned, he is listing single-address instructions. A. L. Tritter: Are there full-word instructions (except the input-output control words) as such? Mr. Maddox: I am afraid that this is really beyond the scope of an engineer to answer a question of this sort. This is handled by the Sales Department, and to discuss the cost, rental, or sale, is a matter of discussing a long list of part numbers and then summing them up to decide what a typical example might look like. Mr. Maddox: There are not, except for the input-output control words. I was only trying to make the point that there was an endeavor to make the single-address instructions match so that they form efficient pairs. A. J. Azzari (Remington Rand 1)ni vac) : How many S-2000 units have been delivered? W. W. Bledsoe (Sandia Corporation): Please indicate the range of cost with a "typical example." Mr. Jones (International Business Machines Corporation): Are there any provisions for marginal checking? Mr. Segal: We have delivered one to date. Mr. Segal: As a matter of fact, there are provisions for marginal checking in S-200() but we do not use them. \Ve are not convinced at this date that marginal checking, at least the conventional variety, really offers an advantage. I think we 'will have to wait until next year's conference before Vie know the value of any kind of marginal checking. 1. L. Auerbach (Auerbach Electronics Company): Please report on reliability Df the S-2000 system. Mr. Segal: There will be a reliability report about a month from now in the next annual Symposium on Reliability and Quality Control. Programming Design Features of the GAMMA 60 Computer P.DREYFUS HE GAMMA 60 is a complete, closedloop electronic system designed to analyze, process, and produce information. The GAMMA 60 can at the same time read, write, punch, print, calculate, sort, compare, and make decisions. (See Fig. T 1.) In order to do so, the GAMMA 60 is equipped with: 1. Input equipment (card readers, paper tape readers, magnetic tape units). 2. Data processing units (calculators, comparators, transcoders). 3. Storage media (high-speed memory, magnetic drums, magnetic tape units). 4. Output equipment (card punches, paper tape punches, line printers, magnetic tape units). 5. Control elements which allocate instructions and data (program distributor, data distribu tor). The control elements and the high speed memory make up the central unit of the GAMMA 60. The input-output units, auxiliary storage units, and data processing units are functional elements connected to the central unit. The fundamental principle in the design of the GAMMA 60 has been the assignment to the functional elements of a completely closed loop mode of operation within the generally autonomous framework of the GAMMA 60. A functional element attains complete autonomy once it has been furnished with basic data (from cards, punched tape, magnetic tape) and with a medium on which to 174 record the information it produces (blank cards, paper tape, magnetic tape). Fig. 2 illustrates a block diagram of the GAMMA 60. The compatibility of the functional elements is made possible by their ability to: 1. Request instructions. 2. Request data transfers. 3. Execute the specialized tasks for which they have been designed completely. Independent of the other components of the GAMMA 60, once they have received operating instructions and data. This possibility which permits the simultaneous operation of all the functional elements is the basis of full utilization of the GAMMA 60. \Vithin the generally autonomous framework of the GA:\1MA 60, made possible by the automatic scheduling of the control element, it is possible to: 1. execute simultaneously data processing functions on items at different stages of evolution in the same problem, and 2. execute simultaneously the data processing functions of several different problems (simultaneous parallel operation). This makes it possible to obtain considerable improvement in over-all execution times by operating each of the elements at optimum rates. Information in the GAMMA 60 Information in the GAMMA 60 is always in coded form. Information may be numeric or alpha numeric. Char- Fig. 1. A GAMMA 60 installation This model is equipped with (clockwise from the top right) mdin unit dnd high-speed memory, power supplies, 2 mdgnetic drum units, 16 mdgnetic tdpe units dnd their control unit, 4 printers, 2 cdrd redders, dnd 1 card redder punch acters and numbers can be stored in the memory of the GAn.1MA 60 in the code of an external medium (punched card code, punched paper tape code). However, information can only be completely processed after having been translated into the internal codes of the GAMMA 60 by the transcoder. The internal codes of the GA:\1MA 60 are composed as follows: Numeric information retains its decimal structure, but each decimal digit is represented by a combination of four binary digits (bits), a binary digit being represented by either the presence (1) or absence (0) of a stable electric or magnetic state. The ten decimal digits are represented in the GAMMA 61) as shown in Table 1. This representation of numbers is called the binary coded decimal representation. P. DREYFUS is with Compagnie Des Machines Bull, Paris, France. Dre)ifus-Programming Design Features of the GA J1]-1A 60 Computer DATA DISTRIBUTING ---- TlON DISTRIBU ING !IUS BUS --,------- ________ _.. DATA REOU. CH NELS ----~--- -~~- I I -----r--'1 I t--, I I I II - , - - \ \--- _L ___ .____ I I I . U.... T .1 I I I i ~> I I '----- I "------ INSTRUCTION REOU. CHANfLS DATA COllECTING BUS '---------"'--------------"~--------.L---4\__ Fig. 2. Table I. Fig. 3. Coincident magnetic core memory module Block diagram of GAMMA 60 Representation of Decimal Digits in GAMMA 60 Decimal digits ..... 0_ ..... _1 ....... 2 ...... _3 ...... _4 ....... 5 ....... 6 .. _ .... 7 ....... 8 ....... 9 Machine coie .•.. Ol)::lO .... OOO!. ... 0010 .... 0011 .... 0100 .... 0101. ... 0110 .... 0111 .... 1000 .... 1001 In the GAMMA 60 the number 247 would be written as: 001 001000111 Alphanumeric information retains its usual structure, but each character (alphabetic or numeric) is represented by six bits. The 64 possible combinations make it possible to represent certain special characters in addition to the 26 letters of the alphabet and 10 decimal digits. Letters, numbers and other characters are defined in Table II. A character is represented by the group of binary bits found in the same line and in the same column. W is represented in the machine 010111 8 is represented in the machine 101000 = is represented in the machine 110000 The unit of information transfer in the GAMMA 60 is a group of 24 bits called a catena (the Latin word for chain). Thus, 1 catena may contain the following: Description and Operation The GAM.MA 60, as has been seen, is composed of the central unit to which are connected a variable number of functional elements. The number and type of elements connected is a function of the particular application. 1. Program information (instructions) which are the commands to the elements. 2. Quantitative information or data which are to be processed by the elements. The high-speed memory and the elements are linked by two information channels: 1. Distributor bus over which is transferred all information from the HSM to the elements. 2. Collector bus over which is transferred all information from the elements to the HSM. THE PROGRAM DISTRIBUTOR CENTRAL UNIT This unit is designed to: The central unit contains the program distributor, the data distributor and the high-speed memory (HS.M). The central unit serves as: A dispatcher (program distributor and data distributor) which: 1. Distributes instructions. 2. Schedules data transfers. 3. Co-ordinates the activity of the various elements. A turn table (high-speed memory) through which all information being transferred to and from the elements must pass. The latter do not possess buffers but simply registers of limited capacity in which information is stored only during operational cycles of the elements. 24 bits, representing data in binary form 6 decimal digits 4 alphanumeric characters. THE HIGH-SPEED MEMORY Memory capacity and the length of information transfers are expressed III catena. The high-speed memory, serving as buffer memory between the various elements, may contain at any instant: Table II. 1. Receive requests for instructions issued by the elements to obtain instructions for themselves or for another element. 2. Choose at a given time from among the requesting elements, one of them, by means of priority circuits, the order of priority having been determined in advance. 3. Read out the instructions destined for the elements as they are selected and interpret them. This interpretation function is very important and will be discussed in the chapter on programming. 4. Give to the various elements the commands and means to begin operational cycles (their type of operation to be carried out, addresses of data to be processed). The program, which is a list of instructions intelligible to the different elements of the GAMMA 60, is stored in the auxiliary and large capacity memories (magnetic drum, magnetic tape, etc. . .. ) and brought as successive blocks into the Character Representation in the GAMMA 60 II~I ___ i--""""--~ ~~--"""'--I~ ~I~ ~~ ~~ ~ ~I~~ A_ _ _ _B_ _ _ _c____D__ ~ _ _ _ F _ _ _G _ _ _ _H_ _ _ _1_ _ _ _J____K_ _ _ _L_ _ ~ _ _ N____0_ 0" P Q R STU v I W x y z . , ' ; I I 10 I 0 , 2 3 4 I 5 6 7 8 9 + ( ) x / 11! = ,e > < A & :z; % £ $ * _____ I 7r Dreyfus-Programming Design Features of the GA~MJl1A 60 Computer 175 Fig. 5. Output line printer Fig. 6. Fig. 4. Magnetic drum auxiliary store HSM, from which the instructions are then transferred one by one to the program distributor, at its request. THE DATA DISTRIBUTOR This unit is designed to: 1. Receive requests for data transfen issued by the various elements to obtain. as necessary, data transfers to or from the high-speed memory. 2. Select, in order to effect a data transfer, a given receiver or ~mitter element and the source or destination zone in the high-speed memory. The choice between conflicting requests is resolved by the priority circuits, the order of priority having been determined in advance. THE FUNCTIONAL ELEMENTS Each functional element contains the following: 1. Registers in which are stored the information to be processed. 2. A local built-in program which carries out the specialized functions of the element. 3. Auxiliary registers to store data addresses and instructions. THE OPERATION OF AN ELEMENT The operation of every element follows this procedure: 1. Requests instructions from the program distributor. 2. Consideration of the request (depending on the p::>sition [rank] of the element in the priority chain and on the number of requests for instructions from other elements waiting to be selected). 3. Request from the program distributor to the data distributor for a transfer from the high-speed memory of instructions relative to the element under consideration. 4. Consideration of this request by the data distributor (depending on the position of the program distributor in the priority chain and on the number of requests for data transfers waiting to be fulfilled) and execution of the transfer. 5. Analysis of the instruction by the program distributor and transfer to the selected element of the instructions and addresses of data to be processed. 6. Requests from the element to the data distributor for a transfer £i'om the HSM of the data to be processed. 7. Consideration of this request and, when the priority considerations are fulfilled, the. execution of the data transfer. Closed loop operation of the element and eventual producing of a result. 8. Every element is capable of: 1. Sending requests for instructions to tlte program distributor via the instruction request circuits, one line for each element. 2. Sending requests for data transfers from high-speed memory to the data distributor via the data request circuits, one line for each element. S.Receiving instructions frorn the pro~' .gram distributor over the unique lrtsttuctiort bus 'to which evety elemertt is tortrtected . 4. 'R:ecdvhig- dab (input elemertts 'ex~ repted) via the unique distributor bus to whlch all the elements concerned are con~ nected. 5. Sending data (output elements excepted) to the high-speed memory via the unique collector bus to which all the elements concerned are connected. 176 Transistor amplifier module 9. Requests to the data distributor for a transfer of the results to the HSM. 10. Consideration of this request by the data distributor and, when the priority conditions are fulfilled, execution of transfer. 11. Return to operation 1. For each of the elements Magnetic Drum, Arithmetic Calculator, Printer, etc., the procedure is the same with a few ex~ptions. For example steps 9 and 10 are none'Xlstent during the operation of the printer or of 'a HSM to magnetic drum data transfer; steps 6 and 7 are nonexistent during the operation of a card reader or a magnetic drum to HSM data transfer. Operation 8 is generally much longer than the sum of all other operations. This fact demonstrates how a single program distributor and a single data distributor are sufficient to monitor simultaneous operation of a large number of elements. Technical Characteristics of the GAMMA 60 .MEMORIES The GA:Vl~1A ,60 possesses---a,.set··of, memory devices for information storage, the functional characteristics of which are closely related to two technological considerations. These are capacity and access times. Of the types of memory available those with the shortest access times are called high-speed memories. On the other hand storage of information in high-speed memories is expensive and therefore must be temporary. Growing out of requirements diametrically opposed to the preceding, magnetic tape storage offers the advantage of large capacity but has long access times. This type of memory, which is relatively inexpensive to manufacture, makes it possible to store voluminous information which is organized in the same sequence in which the data are to be processed. Magnetic drum storage occupies an intermediate position with respect to capacity and access times. HIGH-SPEED MEMORY Physically, the high-speed memory is a static memory of saturated magnetic cores. Two stable states of magnetization of the cores can be obtained. These two states are made to correspond to the symbols 0 and 1. Technologically, the capacity of the Dreyfus-Programming Design Features of the GA",1f",VA 60 Computer Fig. 9. Fig. 8. Fig. 7. Logical diode switching card high-speed memory can vary from 1 to 8 standard blocks of 4,096 catenae. Table III gives in terms of various units the capacity of the high-speed memory as a function of the number of memory blocks. Table III. Units Subassembly of two switching cards Capacities of High-Speed Memories 1 Block 2 Blocks 4 Blocks 8 Blocks Binary digits ...... 98,304 .. 196,608 .. 393,216 .. 786,432 Numeric digits ...... 24,576 .. 49,152 .. 98,304 .. 196,608 Alpha numeric characters .. 16,384 .. 32,768 .. 65,536 .. 131,062 Catenae ..... 4,096 .. 8.192 .. 16,384 .. 32.768 Each block of 4,096 catenae consists of twenty-four 64X64-core planes (Fig. 3). The 32,768 catenae which constitute the maximum capacity highspeed memory are addressable and constitute a common memory pool, with the exception of addresses 0 through 127 which serve a special purpose. The contents of any address in the high-speed memory can be read out or written in 11 microseconds. This readwrite time is called the access time. Thus the frequency of reading or writing from the high-speed memory is approximately 90,000 catenae per second. THE MAGNETIC DRUM The magnetic drum (Fig. 4) is a steel cylinder coated with a thin layer of magnetic material. The surface of the drum is divided into 128 parallel tracks, each track having a read-write head. The magnetic drum turns at a cC):].stant speed of approximately 3,000 rpm. The capacity of each track is 200 catenae. Thus a magnetic drum has a total capacity of 25,600 catenae, 153,600 decimal digits, or 102,400 alphanumeric characters. The magnetic drum is an addressable memory, each catena on the drum having an address in the range from 00000 to 25,599. The access time to an address on the drum depends on the position of that address with respect to the read and write head at the instant the contents of that address are called for. Thus the access time varies from 0 to 20 milliseconds. The magnetic drum is characterized by: Complete bay showing amplifier accessibility Tape speed: 1.9 meters per second (75 inches per second). Information is recorded on eight 15-kc channels (one channel is for synchronization). I!lstantaneous information rate: 22,5')0 decimal digits per second. 15,000 alphanumeric characters per second. 3,75') catenae per second. Time to read or write a complete tape: 9 11z minutes. Tape reading in both directions is possible. Tape can be written in one direction only. TAPE CAPACITY Maximum access time: 20 milli3ec::mds Average access time: 10 milliseconds. 1,600,000 catenae in blocks of 128 catenae; Each block is separated from adjoining blocks by an inter-block or startstop space. 12,500 blocks per tape. 9,600,000 decimal digits. 6,400,000 alphanumeric characters. The read or write time for one catena is 100 microseconds (,usec). Data transfers to and from the magnetic drum are completely variable in length. 360 JLsec. This time corresp'::mds to an average rate of 2,800 catenae per second. MAGNETIC TAPE TAPE SECURITY Magnetic tape provides the GAMMA 60 with a very large capacity memory. The tape itself consists of a plastic (Mylar) tape which is coated on one side with a layer of iron oxide. :Magnetic tapes are handled by tape units which consist of: Physical security is provided for end-of-tape, broken tape, jamming. 1. 2. 1. Devices for unreeling and rereeling the tape. 2. A write head. 3. A read head which also serves during a write operation to check the information being written on tape. TAPE CHARACTERISTICS Length: 1,100 meters (3,300 feet). Width: 12.7 millameters (1/2 inch). Packing Density: (200 per inch). Dreyfus-Programming Design Features of the GA.Lil-f.lvfA 60 Computer TIME TO READ ONE CATENA ~UMBER OF TAPE UNITS Variable. Generally between 6 and 18 units. Very high information flow rates can be obtained since it is quite possible to operate several tape units simultaneously. Data Processing Elements ARITHMETIC CALCULATOR Number representation The arithmetic calculator operates on numbers in a form similar to logarithms. Such numbers may be either normalized 177 floating decimal point or have a programmed (fixed) decimal point. Normalized form Any signed decimal number can be represented by the product of a number between 0.1 and 1.0, a positive or negative power of 10, and the algebraic sign. For example: -3242.3 = -0.32423X10 4 +0.0034= +0.34X 10- 2 A number can thus be completely specified by its algebraic sign, a power of 10 which represents its order of magnitude and a mantissa which lies between 0.1 and 1. So as not to have to manipulate negative exponents, a bias of 40 is added systematically. In addition, only the digits of the mantissa to the right of the decimal point need be specified. The two numbers in the previous example are written: Sign Exponent 44 + 38 Mantissa 3242300000 3400000000 Actually numbers to be processed by the arithmetic calculator are stored in two catenae in the GAMMA 60. The first binary position of the first catena of the number contains the sign: + sign = 1, -sign=O. The seven following positions contain the biased exponent which may vary from 00 to 79. This represents a true variation of the exponent from -40 to +39. The 40 remaining binary positions of the two catenae permit the representation of ten significant decimal digits in binary coded decimal form. Programmed Decimal Form In accounting applications it is particularly useful to be able to write all figures placing the decimal point in a known position. In order to do so, the programmed decimal form is used in the GAMMA 60. To represent numbers in this form the position of the decimal point between the ten significant figures of a number is specified. Writing a number in programmed decimal form with the decimal programmed at 6 means that the decimal point is to be taken as being six places to the left of the least significant figure. In this example, the integral part of the number contains at most four digits. The fractional part contains at most six digits. The position of the programmed decimal point is specified in the part of the number in its machine coded form reserved for the exponent. The position 178 of the programmed decimal point may vary from 0 to 10. The variation of the position of the programmed decimal point is actually expressed as a number between 40 and 50. When no decimal places are to be retained (programmed decimal at 0), the exponent is actually 50. When no figures to the left of the decimal point are to be retained (programmed decimal 10), the exponent is actually 40. The number - 3242.3 with programmed decimal 6 is represented in the GAMMA 60: tor indicates after the operation the magnitude of x with respect to A and B. For example, if A < B the comparison shows whether: XA AN AVENUE SARATOGA, CALIFORNIA j./2; cz,s' 129 19~ 9~;11:61 ~~YD~~ 6Op;e%~~~~t N'15 I .:';;(~~ 9~tJ-C rn SAN CAR!..OS BRANCH 160 LAUREL STREET SAN CARLOS, CALIFORNIA ELECTRONIC SIGNAL FLOW PAPER FLOW BANK OF AMERICA 5·::l..~; "'~'oc.''''ll_ ::lH l'" HI'> .:~ B9'!1~'" ~ Fig. 1. Processing Row chart ..no....... Fig. 3. Fig. 2. The GE-100 ~ 242*7' B'IS" DOLLARS POST-PRINTED CHECK SPECIMEN d.dA~ .,,"OOOOIlO l~'18," Checks coded with magnetic ink The feed station has a 12-inch capacity, and the pockets can accommodate check stacks up to 6 inches deep. With approximately 200 checks per inch, this permits sorting bundles ccmtaining as many as 2,400 checks. system Central Processor Each sample point goes to 14 resistor matrix boards, one for each parallel channel representing a character. The resistor matrix for a given character essentially stores the waveform for that character_ The waveform in the delay line is compared to these 14 stored waveforms, and the comparison output appears in each of the 14 channels_ Assuming that a valid character is being scanned, the delayed waveform will generate an autocorrelation output in its corresponding channel and cross-correlation outputs in the other 13 channels_ The autocorrelation function for properly printed characters is significantly greater than cross-correlation functions_ The autocorrelation output is selected by means of summing amplifiers and a peak comparator circuit. Since the recognition process is dynamic, it is necessary to monitor the input in order to know when a valid character is properly registered in the delay line. This is the primary function of the timing and control circuitry shown at the right of the diagram (Fig_ 4)_ The E/13-A character font, which has been approved by the Committee of Office Equipment Manufacturers and recommended to the American Bankers Association as the common language for field evaluation, is shown in Fig_ 5. The characters are sty1ized in order to obtain an optimum compromise between machine 182 readability, esthetics, and printability. The character reader is designed to read printing from conventional commercial printing processes. These fall into the categories of preprinting and postprinting. Preprinting refers to printing on the checks prior to issuance by the bank to its customers. Such information as the transit number, routing symbol, account number, and transaction code are preprinted by letterpress, photo-offset, or paper mat offset methods_ Large quantity evaluation of commercial printing indicates that good quality commercial printing techniques are sufficient to meet the printing specifications for magnetic character reading. Postprinting takes place after the checks return to the issuing bank. The dollar amount, and if necessary the account number and transaction code, are postprinted. Several firms are engaged in developing suitable magnetic transfer ribbons and encoders for this purpose. The docum~nt sequencer used in the G E-J 00 system was developed by a subcontractor for General Electric. It is designed to feed and stack documents of varying size as normally used in the banking business at the rate of 750 documents per minute. The 12 stacker pockets include ten for numerical sorts, one for rejects, and one for exceptional items as determined by the sequencer control. The complexity of the banking problem calls for an internally stored program processor which makes use of a core memory in order to achieve the speed required to meet the banking deadlines with the volume of data handled. The necessary speed is enhanced by using a short word length which, in combination with the order structure, allows complete time overlapping of computation and memory access. Tbis short word length permits the use of a single-address machine at high speeds plus the ability to operate on double length words at slightly reduced speed. Memory cycle time ,is 32 microseconds (,usee), or eight periods of a 250-kc clock. A single-address addition requires two memory cycles for execution, or 64 ,usec: one cycle to get out the instruction, and one cycle to get out the operand. Transistorized circuitry is used throughout_ Flip-flops are used both for control and for register storage. Diode networks with intermediate emitter-followers provide the logic implementation. The central processor operates in a series-parallel mode, using a 4,000-word core memory. Each word is composed of 28 bits, 24 of which are used to form six decimal digits (four bits each in 5 4 2 1 modified binary-coded decimal notation). The remaining four bits make up the seventh or sign digit. One bit represents the sign. One bit serves as designator Hagopian, Herold, Levinthal, Weizenbaum- The GE-1OO System PHOTO TRANSISTOit DOCUMENT I I :~o~:i,:~~:;~~:-~: I I L ____ _ Fig. 4. Block diagram of document reader Fig. 6. and can be tested by the programmer when in data. In instruction words, the designator bit automatically increases the address portion by two when restored into memory. The additional two bits in the sign digit are used for a modulo-3 check. The GE-I00 has a fairly standard instruction repertoire. Exceptions to this are the search and tumble instructions, which are very useful in sorting operations, and blockette write, which permits writing 100 words on magnetic tape in 20-word groups from five areas of memory as specified by the programmer. The latter instruction is also useful in sorting operations. The instruction logic is designed so that the memory and the processor are well matched time-wise. One almost never waits for the other. Exceptions to this are multiply and divide instructions, where the memory essentially idles while the processor works. The central processor includes the following electronic components (see Fig. (:i): two registers used for arithmetic operations, Land R; one nonaugmenting index register, B; a control counter register, N; and the instruction address ClJ, IF) ~l r~ ll] I I ~ l IL I II J II ~-~JJ LJ ': I -I I I-ell \ I[~ll l_ _J U ~- I~ r ,_J '- ~lJI f(iJC] - 'I - I-l c 11 J I1;!lD '-: (l U I L,v ,__ , U i register, I, which is subdivided into C and A for the command and address, respectively. In addition there is a memory register, Jl1, which communicates directly with the core matrix, and the memory buffer register, J, which allows the memory and the rest of the computer to work simul taneousl y. Input-output equipment consists of magnetic tape units, a punched paper tape photoreader, Flexowriter, high-speed printer, and the document handler. A one-word buffer, the P-register, buffers input and output to the Flexowriter and input from the photoreader. The magnetic tape buffers allow one tape to be read and another to be written simultaneously with computation. This is accomplished by automatically interrupting computation in order to address the core memory for each word that goes to or comes from magnetic tape. Up to 13 magnetic tape units can be tied in to the processor at one time. A fixed 100word block is used. Data are recorded on II-channel tape with two numerical digits per cycle read or recorded in parallel. The basic clock rate is 1.3 kc, which yields a :30-kc rate for numerics. Rowand column parity is checked, but the system is not self -correcting. A trailing read head checks parity during the writing operation. The printer usually operates off-line from the processor, using magnetic tape as input, but it can be operated on-line. In the latter case the magnetic tape buffer is used with the printer as if it were a writing tape unit. High-Speed Printer ~ Fig. 5. Series E/13-A character font The GE-I00 system's high-speed printer is a small data processor in itself Hagopian, Herold, Levinthal, Weizenbaum-The GE-l00 System Processor block diagram that takes information from either magnetic tape or the central processor and prints it in an efficient and acceptable manner. Format control is effected by the use of plug boards and paper tape loops. The printer subsystem relieves much of the burden that would normally be placed on the central processor and on the programmer. The subsystem is composed of a printing unit, thyratron drive unit, and power supply and control unit. The printing unit is of the revolving drum type and contains a print wheel, operator's control panel, paper tape loop control, and paper feed control. The print wheel rotates at 900 rpm. Nine hundred lines of numeric information or 600 lines of alphanumeric information are printed per minute. The printer recognizes the type of data received and automatically prints at the highest speed possible. As many as three carbon copies can be produced by the printer. Forms may vary in length from 1 inch (for labels) to 22 inches, and in width from 3 1/ 2 inches to 19 inches. The forms are fed through the printer by means of double sprocket holes. The print wheel is actually a set of 120 separate type wheels, each of which holds 56 characters. Characters are spaced ten to the inch horizontally and six singlespaced lines to the inch vertically. The 56 characters include 10 numerals, 2() alphabetics, and 20 special symbols. The thyratron drive unit houses the circuitry which drives the 120 individual solenoid hammers, associated with the 120 print wheels, that cause a line to be printed. The power supply and control unit includes the power supply, control logic, 183 plug board, main core buffer, type line buffer, and a tape unit. Data are loaded into the main core buffer a full block at a time from either magnetic tape or the central processor upon demand of the printer. This loading process is initiated during a printing or paper slewing cycle so that no time is wasted in making the data available to the printer. When the print or slew cycle is complete, the printer calls for a line of data from the main core buffer. Data are then transferred from the main core buffer into the type line buffer, where it is routed to a particular column of the 120 possible print columns in accordance with the configuration of the plug board. After the line is set up, the appropriate hammer is energized as the characters on the rotating print wheels reach the print position. After a full revolution of the print wheel (for alphanumeric data) all the characters in the type line buffer will have been printed. Numeric data requires only a half-revolution of the print wheel. The main core buffer is loaded during this operation as it becomes empty and the type line buffer may then be reloaded for each of the lines contained in the block. Format control includes automatic and controlled tabulation, in which 15 possible tabulations may be set to any of the 120 column positions. These tabs may vary in accordance with eight possible formats. Selective tabulation rearranges the word or item order according to criteria defined by the programmer. For instance, all positive items (deposits, on bank statements) could be sorted to a certain tab position regardless of their original position in the line of data. The format control also includes automatic page numbering, automatic page heading restoration, automatic file selection (the printer will select anyone of five files as specified by the programmer). 184 automatic and selective zero suppression, automatic and selective slew control, and raw tape printout. Conclusions In order to insure that the banking job would be finished within the required time schedules in spite of possible downtime, a system has been built employing efficient paper handling techniques and utilizing a data processor that achieves speed through overlapping operation. As a result, standardized circuitry, working at slow speeds, may be used to maintain reliability. An elaborate printer system is utilized to minimize editing time on the central processor. The outcome of this approach yields a general-purpose machine well suited to the special purpose of banking for which it was originally designed. References 1. ELECTRO:-


Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19
Producer                        : Adobe Acrobat 9.0 Paper Capture Plug-in
Modify Date                     : 2008:11:16 13:09:33-08:00
Create Date                     : 2008:11:16 13:09:33-08:00
Metadata Date                   : 2008:11:16 13:09:33-08:00
Format                          : application/pdf
Document ID                     : uuid:ee528243-f3b3-4a72-b7b2-411f5ffac99c
Instance ID                     : uuid:46334f2b-ff0d-4e00-8c88-dbac35903ea2
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 186
EXIF Metadata provided by EXIF.tools

Navigation menu