LETTER TO MR. JOSEPH BECKER FROM RUBEN F. METTLER
Document Type:
Collection:
Document Number (FOIA) /ESDN (CREST):
CIA-RDP68R00530A000200120027-4
Release Decision:
RIFPUB
Original Classification:
K
Document Page Count:
40
Document Creation Date:
December 16, 2016
Document Release Date:
November 9, 2004
Sequence Number:
27
Case Number:
Publication Date:
January 13, 1965
Content Type:
LETTER
File:
Attachment | Size |
---|---|
![]() | 1.31 MB |
Body:
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
TRW SPACE TECHNOLOGY LABORATORIES
THOMPSON FIAMO WOOLDRIDGE INC.
O N E B P A C E P A R K R E D O N D O B E A C H , C A L I F O R N I A
Mr. Joseph Becker
5805 Marbury Road
Bethesda 14, Maryland
13 January 1965
We cordially invite you to join with us in opening
demonstrations marking the inauguration of TRW
Space Technology Laboratories' new four-station
On-Line Computing Center to be held on Wednesday,
27 January 1965. The first demonstration will be at
9:30 in the morning, and afternoon demonstrations
will start at 1:30. Luncheon will be served at noon.
You are invited to witness one of the morning or
afternoon demonstrations and join us for lunch.
Dr. Simon Ramo, Vice Chairman of the Board of
TRW, will speak at the luncheon.
This facility represents a new approach to the problem
of communication between men and computers, and we
believe it will be of interest to you. A report briefly
describing the system is enclosed along with additional
information concerning this event. We sincerely hope
that you will be able to attend.
Sincerely yours,
Ruben F. Mettler
President
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
TRW Space Technology Laboratories
ON-LINE COMPUTING CENTER
This event will include four one-hour tour-demonstrations
of STL's new four -station On-Line Computing Center.
Demonstrations will be held at 9:30 and 10:30 in the morning
and at 1:30 and 2:30 in the afternoon. In each of them you
will see the system in operation and you may, if you wish,
operate it yourself. Professor Glen Culler, who conceived
and designed this type of on-line system, and others involved
with its development, will be on hand to answer questions
and to discuss in detail any points of particular interest to
you.
A luncheon will be held at noon with a program in which
Professor Culler will speak on the motivation and basic
philosophy underlying this on-line system and its future
extensions and developments. Dr. Simon Ramo, Vice Chair-
man of the Board of Thompson Ramo Wooldridge Inc., will
discuss the impact of this new technique.
If you wish, you may invite one or two people from your
organization to attend. To assist us in planning for this
event, we have enclosed a reply card and would appreciate
a response from you by January 25. Maps of the area and
the STL complex, as well as an agenda for the day and a
document containing a general description of the system,
are enclosed.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
TRW Space Technology Laboratories
ON-LINE COMPUTING CENTER
January 27, 1965
9:30 a. m. First tour - demonstration
10:30 a.m. Second tour - demonstration
12:00 noon Luncheon
1:30 p. m. Third tour - demonstration
2:30 pm. Fourth tour - demonstration
All tours will start from Building R3 lobby.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
- LCDANAL ~...`f
STL Space Technology Center is located at Aviation and Compton (Marine) Boule-
vards in Redondo Beach, California. It is approximately five miles southeast of
the Los Angeles International Airport. The San Diego Freeway (Inglewood Avenue
ramp) is just a few blocks east of the Space Park complex.
The facility, pictured here, is composed of six buildings. Building R3, where the
demonstrations are to be held, and Building S, where luncheon will be served and
the ceremonies will take place, are labeled for easy identification.
Visitors are requested to go to the lobby in Building R3 for passes to the activities.
If you plan to attend the afternoon demonstration, please arrive by 11:30 so you may
attend the luncheon. Parking will be provided in the outlined area.
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
The STL On-Line Computer
Volume 1 -? General Description
December 28, 1964
Second Edition - 12/31 /64
PHYSICAL RESEARCH DIVISION
TRW /Space Technology Laboratories
One Space Park
Redondo Beach, California
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001-RU-000
Page i
TABLE OF CONTENTS
Page
A. When to Use the On-Line Center ..... ........ 2
Be Physical Description ... of .. .... .................... 3
C. User Control and Computer Feedback ............. 4
D. Organization of Data; Vectors and Arrays ............. 6
E. Console Programming .............................. 8
F. Operator Levels and Systems ........................ 11
G. Data Levels and Arrays .................. . .......... 13
H. The Basic System ...... ............................ 16
Level I. Logical Operations ......................... 16
Level II. Real Vector Operations ..................... 16
Level III. Complex Vector Operations ................. 19
Level IV. Real Array Operations 20
Level V. Complex Array Operations ................. 20
Level IX. Typing ............... .......... . .......... 21
I. System Operations Common to All Levels ............. 22
J. Scaling Considerations ... ... .. ... .. ................. 24
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001-RU-000
Page ii
LIST OF TABLES
T able
Page
1. a
Predicate-free Operators of Level II ........
25
lb
Single Predicate Operators of Level II ......
27
2a
Predicate Free Operators of Level III ......
28
2b
Single Predicate Operators of Level III .....
30
3
Operators of Level IX ...................... 31
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001 -RU-000
Page 1
This is the first of a series of three volumes designed to acquaint
users with the On-Line Center, a new facility which provides a convenient
means of direct communication between a digital computer and the ultimate
user, i. e. , the originator of a problem. The present volume provides a
general description of the facility. Volume 2, the Users' Manual,
supplements this with a detailed description of the individual capabilities
of the system. Volume 3, On-Line Techniques, gives some specific
suggestions for use of the OLC in problem solving, based upon experience
to date in a number of problem areas.
The programming structure of the OLC was designed by Glen Culler
and implemented. by Neil Waldhart, Gale Schluter, Len. Messersmith, and
Frank Ju-rko;ich. The equipment used was built by the Bunker Ramo Corp.
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001 -RU-000
Page 2
A. When to Use the On-Line Center
The OLC provides a comfortable and convenient means of rapid
communication with the computer. It is most useful, therefore, for
problems requiring a significant interaction between user and computer.
In many problems you need to experiment with different formulations,
different methods of solution, or different methods of numerical analysis,
and the OLC makes this kind of experimentation feasible. You may also
find it useful for small problems of a more conventional nature, where
the OLC will be faster than a hand computer, simply because it is
electronic, but may also yield results faster than the 7094 just because
it is so easy to program for small tasks.
Since it is a relatively small computer, compared to the 7094, the
OLC will generally offer no advantage for any problem for which a
satisfactory, checked-out 7094 program already exists. Moreover, for
very large, highly structured problems, involving large amounts of
machine time, the OLC may be useful in devising methods of solution, in
exploring particular features, or perhaps in solving special cases. How-
ever, once a problem of this kind is well understood, so that a satisfactory
7094 program can be developed, the OLC will probably be of little help.
A method of transferring programs, created and checked out on the OLC,
to the 7094 for production running is planned, but has not yet been
implemented.
Approved For Release 2004/11130 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001-RU- 000
Page 3
B. Physical Description
consists of two electric typewriter keyboards and a cathode ray tube
oscilloscope. The four consoles operate simultaneously, each having
control over approximately one quarter of the magnetic core and drum
which comprise the computer memory, or storage. The arithmetic and
control circuits of the computer are-shared, in democratic fashion, by
the four consoles in such a way that each user always has small requests
serviced immediately, no matter how long or complicated a program is
being executed for any other user. The other input/output capabilities
include a Calcomp plotter, an output writer (i. e, the typing part of the
typewriter) and two magnetic tape units. These, also, are shared by the
four consoles, but, by their very nature, do not require, and hence do
not always have, the same character of immediate response.
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001-RU-000
Page 4
User Control and Computer Feedback
Control. of the computer is accomplished with the keyboards. Of the
two :. ociated with a, console, one is designated. as the "operator keyboard",
the other as the "operand keyboard". Immediate computer feedback is
provided through the oscilloscope.
1. The operator keyboard simply provides a convenient way of
initiating computer subroutines. There is a one-to-one correspondence
between operator keys and computer subroutines: pressing a given key
causes the computer to execute a particular program. Notice particularly
that it is not necessary to use more than one of the operator keys; for
example, to take the square root of a number or a function you push the
s' n2le key labeled SQRT; you do not type the 10 keys which spell out the
name of that operation, or even the four keys, S Q R T, which spell its
abbreviation. For convenience, the keys of the operator keyboard are
labeled with the names of, or symbols for, the operations which they
initiate, as shown in Fig. 1. As explained in more detail below, the basic
subroutines of the OLC provide the fundamental operations of mathematics,
data processing and logic.
2. The operand keyboard provides a convenient way to store data in
the computer's mass memory and to retrieve it. The operand keys consist
of numerical, alphabetic and a few special keys as shown in Figure 2. The
; ~.merical keys are used for entering numerical data and for a few other
purposes. The alphabetic keys are used for addressing data, i. e. , the
letters A through Z in effect constitute the "addresses" of data, so
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001-RU-.000
Page 4. 1
L
4)
O
O
O O >1
O_
H
A
rnO O
.-
Fa b1D
44
u k
s
(d w cd
:4
bA
.0 4 Cd
s
w U U
LW-
Approved For R 2004/11/30: CIA-RDP68R
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001 -RU-000
Page 4. 2
Approved For Release 2004/11/30 : CIA-RDP68R0053DA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001-RU-000
Page 5
far as the user is concerned. Thus, we can, and shall, talk about
"location A" or "location H", but need never be concerned as to where
in the mass memory (e. g. , magnetic drum or disc) the data in question
is actually stored. Henceforth, the term address for data will simply
mean one of the 26 alphabetic keys of the operand keyboard. Specifying
an address will mean pushing one of those keys.
As with all computers, data to be operated on is brought from the
mass memory into the fast (magnetic core) memory and, after being
transformed in the desired way, is returned to the mass memory. These
basic data transfer operations are accomplished in the OLC system by
two keys, labeled LOAD and STORE, on the operator keyboard. If you
wish to work on (or examine) the data in location P, for example, you
push the LOAD key on the operator keyboard, followed by the P key on
the operand keyboard. You may then operate on this data, using any
other keys of the operator keyboard. Finally, to store the result in some
other location, say B, you push STORE on the operator keyboard, followed
by B on the operand keyboard; or in an evident notation, you push STORE
B . The previous contents of B are replaced with the new results. The
data originally in P remains unchanged.
3. The oscilloscope allows the computer to feedback information to
the user in graphical form (as curves, plots, diagrams, etc. ), or in
alphanumeric form (numerical vlaues, symbols, English language messages,
etc. ). These a*?e described in more detail below. Like all activities of the
computer, however, this feedback occurs only under user control; i. e. ,
among the operations which you can initiate by pushing keys on the operator
and operand keyboards are those which initiate these various kinds of
display.
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001 -RU-000
Page 6
D. Organization of Data; Vectors and Arrays
The nature of the "data" referred to above is left to the choice of the
user. In particular, you may wish them to be just single numbers, in which
case the OLC will, essentially, function as a fancy hand computer and
plotter, albeit with a much larger repertoire of operations than the usual
desk variety. It is generally advantageous, however, to choose as
operands not single numbers but rather a set, or list, of numbers, for in
almost all mathematical and scientific applications, and in much of data
processing as well, we wish a given operation to be carried out not on a
single number but on a whole set. In mathematical terms, such a list of
numbers is called a vector, and that is the term we shall generally adopt
here. It is equally correct, and, in some applications very useful, to
think of the numbers as constituting the values of the dependent variable
of a real function, so we shall regard the two terms as synonomous. A
real. vector with n components is a list of n real numbers. A complex
vector with n components is a list of n complex numbers, or equivalently,
a two-column list, with n entries in each colurin.
You may choose the number of components of the vector (or number
of entries in the list) to be anything from n = 1 to n = 127. With n = 127,
you get a computer representation of a function which is satisfactory for
a large fraction of problems. However, in some cases, both in scientific
and data processing applications, one would like to deal with larger blocks
of data. For this reason, the OLC provides for the use of arrays. An
array is just a collection of m vectors where m, like n, is chosen by you,
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001 -RU-000
Page 7
subject only to the limitations imposed by the size of the portion of mass
memory allocated to one console. The properties and uses of arrays are
discussed in more detail in sections G and H.
Organization of the data into such blocks has two benefits. From a
practical point of view, it allows you to initiate a good deal of computing
with a very small effort, in terms of the number of keys pushed. Thus,
if vectors have previously been stored in locations A and B, then the
6 key pushes: LOAD A + B STORE C cause the following
things to happen. The vectors stored in locations A and B are brought
into the fast memory; n additions are performed; and the resulting vector
is _s_tored in location C. A far more important feature for mathematical,
scientific, and engineering applications is that this organization into
vectors or functions reproduces the very structure of mathematics itself.
As a result, the operations you carry out at the OLC have a very close
correspondence with those used in the mathematical analysis required to
set up or solve a problem, as will become apparent a little later.
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001 -RU-000
Page 8
E. Console Programming
As with any computer, it is necessary to have some means of
constructing new programs or subroutines (beyond those initially furnished
to the user) or modifying those previously created. It is here that the OLC
differs most profoundly from conventional methods of computer organization,
for it is just in the programming procedure that the user loses the ability
to interact, in any direct fashion, with the computer. The labor involved
in writing programs, checking them out, and making them correctly
operational is sufficiently great that experimentation, involving unantici-
pated programming changes, is generally very difficult. The OLC
provides a programming procedure which can be carried out directly,
the user at the console, and checked immediately. There is a minimum
of bookkeeping work and no prior experience with computer programming
is required.
A program consists simply of a list of operations to be performed.
The kind of operation sketched in the last two sections, which we may
denote as the "manual mode", involves pushing a sequence of keys, from
both the operator and operand keyboards, which cause the computer to
carry out the desired operations on the indicated data. Clearly, then,
we need only a convenient procedure for constructing, and subsequently
storing, a list of such key pushes, together with some means of causing
the computer to execute this list of key pushes at any later time.
Tl .s tt: St of ope t atyon. should not be confused with the data Lists, or
vectors, q..'setissed in. section. D. Henceforth we will use the term
18145,"" to denote a 1`...st of operations.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001 -RU-000
Page 9
This capability is provided by the LIST operation on the operator
keyboard, which works as follows. You push LIST and then push any
sequence of keys on either keyboard, just as though you were operating
the computer in the manual mode. However, instead of responding to
these key pushes in the usual way, i. e. by initiating the corresponding
subroutines, the computer simply records, and also displays on the
oscilloscope, a list of the keys you push. When you push LIST a second
time, it terminates the list and returns to the manual mode. If you now
push STORE, followed by some key of the operator keyboard, the list you
have constructed will be stored there . If, at any later time, you push
that key of the operator keyboard, the computer will execute the list of
operations, just as though you were pushing the component keys manually.
The program thus created, which we shall call a "console program",
now becomes a part of the OLC so far as your use is concerned, and can
be initiated with a key push in exactly the same way as any of the basic
subroutines originally supplied. Note particularly that this console
program can itself constitute one of the components of a subsequent
console program; i. e. after pushing LIST you may push any key, including
those which initiate other console programs. Given this pyramiding
feature, which is of course a vital ingredient of any computer, it is
possible to construct programs of virtually unlimited complexity.
Lists may be stored in any of the 26 keys shown as square in Figure 1,
i. e. , those which correspond to the alphabetic keys of the operand
keyboard, Figure 2.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001 -R.U-000
Page 10
In addition to executing any previously constructed console program,
P, you may also cause the computer to display, on the scope, the list of
key pushes which comprise P, by pushing DISPLAY followed by the P key
(of the operator keyboard).
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001-RU-000
Page 11
F. Operator Levels and Systems
The 48 keys physically present on the operator keyboard are not
sufficient to accommodate the necessary repertoire of basic subroutines,
let alone the console programs constructed by a user. The totality of
operators in the OLC are therefore grouped into "levels", those of a
given mathematical or logical character being kept on one level. All of
the basic subroutines are located on Levels I through IX. The level
desired at any time is selected by pushing one of the keys, labeled I
through IX, in the top row of the operator keyboard. Once a level is
chosen, all subsequent key pushes are interpreted by the computer as
belonging to that level (which we will term the "current level"), until a
different level changing key is pushed by the user. These nine levels
comprise what is called the Basic System.
An additional nine levels, all of whose keys are initially null
operators, are provided to accommodate the console programs created
byauser. Access to these is provided by first pushing the X key,
followed by one of the keys I through IX ; one may think of these as
comprising Levels XI through XIX, or, alternatively, as being Levels I
through IX of the User System. After creating a list, as described in
the previous section, and before storing it by pushing some operator key,
you must go to one of the user levels, since console programs may not
be stored in the Basic System.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001-RU-000
Page 12
A change in level alters the meaning of all keys on the operator
keyboard, save for a few, like LIST, which are common to all levels.
The level changes are thus somewhat analogous to the shift operation
on a normal typewriter, save that we have 18 different levels, rather than
just two. Note that the one-to-one correspondence between operations of
the system and keys of the operand keyboard, mentioned in section C, is
valid only within a given level. A single physical key may initiate any
one of 1.8 different subroutines, depending on the identity of the current
level.
As you work with the OLC, you will build up, in your User System,
a computing capability tailored to your own problems needs and interests,
and expressed in a problem-oriented language created by you in the
process of console programming. The User System thus created is a
private one; whenever you leave the OLC, the contents of your part of
the computer--the data lists you have stored and the operation lists or
console programs you have created- -are stored on magnetic tape. When
you return, this data is loaded back into your console's portion of the
computer, restoring it to the same state as when you left. In the interim,
other people will use this console, or other ones, to create their own
User Systems, hut these n.c have no intersection with yours, save for
the basic subroutines common to all users.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001-R.U-000
Page 13
G. Data Levels and Arrays
In using the OLC you have the freedom to partition your share of
the mass memory in any convenient fashion. If you wish to have storage
space for m vectors, each with n components, you simply define an
array with the dimensions m by n. Just as with the individual vectors,
we use the letters A through Z to label the arrays. The CONTEXT key
on the operator keyboard is used in defining arrays, the format being:
CONTEXT A jkl pqr
where A is the name chosen for the array in question, and jkl and pqr
are three-digit specifications (typed in on the numerical keys of the
operand keyboard) for m and n, respectively. The computer will
thereupon allocate the necessary space in mass memory to accommodate
m vectors, each having n components.
If m is less than 26, the addresses for the vectors constituting
this array will be the first m letters of the alphabet, i. e. , you can
store vectors in, or lead vectors from, the first m keys, A, B..... of
the operand keyboard. If m is greater than 26, then it is necessary to
introduce the concept of "data levels" ; these are completely analogous
to the operator levels of the operator keyboard, although, to save
confusion, we shall refer to levels on the operand keyboard as data
"banks". Thus, if m is 52, for example, then its constituent vectors
will have addresses A through Z on banks 1 and 2. Bank changes are
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001-RU-000
Page 14
initiated by pushing the $ key on the operand keyboard, followed by the
appropriate numerical key, 1 through 9. Just as with the operator levels,
once a bank has been indicated it remains the "current" bank until some
other bank is selected. After you have pushed $1, the computer will
interpret all addresses as vectors on bank 1. To address a vector in
location H on bank 2, you push $2 before pushing H. Thereafter, all
addresses will be interpreted as being on bank 2, unless and until such
time as you again change banks.
In a similar fashion, you can work with as many as 26 different
arrays. A particular array is designated by using LOAD on an array
level (Level IV for real arrays, Level V for complex arrays). For
example, the sequence
IV LOAD G II LOAD A + B IV LOAD K II $2 STORE C
results in the addition of the vectors in locations A and B on bank 1 of
array G, the results being stored in location C on bank 2 of array K. As
with levels and data banks, an array remains "current" until changed by
the user.
New users will usually find it sufficient to work with a single array.
In order to accommodate both real and complex vectors, of any size up to
the maximum of 127, you could simply define, using CONTEXT on Level V,
an array of dimension 26 by 127. This would provide room for one bank
of complex vectors, which will suffice for simple problems. As you
acquire more familiarity with the system, you can take advantage of the
This paragraph should be omitted in a first reading.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001-RU-000
Page 15
array capabilities to make more efficient use of the storage space, e. g. by
defining one real array and one complex one, since it is of course wasteful
to use complex arrays for storing real vectors.
Note especially that you have not only the freedom to define one
array (or more) in which your vectors can be stored; you have an
obligation to do so, for until you have defined at least one array the computer
will ignore any instructions you may give it to store a vector. Thus, when
you first use the OLC, begin by defining at least one real or complex array.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001 -RU-000
Page 16
We give a brief description of the capabilities available within the
Basic System, although we~ defer details to Volume 2. We organize the
discussion by levels.
Level I. Logical Operations
This level provides the elementary logical and data processing
operations, for example, the capability to address any portion of the
vector registers (defined in the next paragraph) including the scales.
Also, a basic display capability is available, which allows you to create,
in on-line fashion, on the oscilloscope, any desired symbol or other
graphical display, and to store this in a "symbol table". In particular,
you can construct in this way new "cases" or "fonts" of type and use
these in the typing operations of Level IX, described below.
Level Il. Real Vector Operations
These operators provide the basic facility needed to carry out the
processes of real variable analysis on the computer. They have a
sufficiently basic role within the system that we have elected to use their
names or symbols in physically labelling the keys of the operand key-
board. Their characterization, is facilitated by introducing the concept
of registers. A register is simply a group of 128 memory locations in
the fast (core) memory of the computer, used for temporary storage of a
vector. Each console in the OLC has four registers, which we call the X,
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30: CIA-RDP68R00530A000200120027-4
9824-6001 -RU-000
Page 17
Y, U, and V registers. (X and V are the principal registers; U and V are
auxiliary registers.) Whenever a vector is brought from the mass memory
into the fast memory to be worked on in some way, it goes into one of
these registers. Likewise, the results of any calculations are left in one
of these registers, and the STORE operator transfers a vector from a
register to the designated storage location in the mass memory.
Some of the operators of Level II are predicate free. They work on
the contents of the Y register, and leave the results there. For example,
when SQR.T is pushed, the computer takes the square root of each number
in the Y register and leaves the result in the Y register. In symbolic
form, we describe the action of SQRT as.
whereYj denotes a typical element of the Y register before the operation
and Y~ denotes the same element afterward, with j=1, 2, ... , n. In similar
fashion, we can characterize the other predicate free operations as shown
in Table Ia. Like an intransitive verb, a predicate free operator requires
no additional information since the data to be used is assumed to already
be in the Y register. Therefore, the response is immediate and the
operation is initiated as soon as the operator key has been pushed.
The other operations of Level II we call single predicate operators.
Most are of a binary character, requiring at least two operands. For
example, addition of functions requires two addends. In such cases, one
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30: CIA-RDP68R0053OA000200120027-4
9824-6001-R.U-000
Page 18
operand is assumed to be the contents of the Y register, and one more,
the predicate operand, is specified by the user. If the operator is followed
by specification of an address, then the predicate operand is just the vector
stored at that location. If the operator is instead followed by numerical
keys, then the predicate operand is a constant vector, with each component
equal to the designated number.
When, you push +, for example, nothing happens. However, as
soon as you specify an address (i. e. , some alphabetic key of the operand
keyboard), say A, then the vector in location A is added to the vector in
the Y register and the resulting sum is left in the Y register. (To be
more precise, the vector in A is first transferred into the U register,
and then the contents of the U register are added to those of the Y
register. The auxiliary registers are typically used in this fashion by
single predicate operators, but this is generally irrelevant to the user,
who need only consider the X and Y registers and can, except in very
special circumstances, ignore the existence of the U and V registers.)
A brief characterization of the other single predicate operators of
Level II is given in Table lb. Most are familiar from mathematics, but
a few deserve special comment:
EVALUATE uses linear interpolation to give the values of a function at
any desired values of the independent variable lying within the domain
over which the function is initially known.
DISPLAY puts on the scope the curve obtained by plotting the predicate
operand vector vs the vector in the X register.
SUBS I'i U is allows for crow plotting of any two vectors.
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001 -RU-000
Page 19
ID creates the "identity" function or vector, i. e, n equally spaced points
on the interval from .,1 to + 1.
6 is the computer version of a "Dirac delta function" defined to be 1 at a
zero, or zero crossing, of the Y register, and 0 everywhere else.
ENLARGE and CONTRACT change the appearance of a vector when it is
displayed.
All of the single predicate operators have a continuing character,
in that they will act on any number of operands for which addresses are
specified. For example, to form the sum of the four vectors in A, B, C,
and D, it suffices to do
LOAD A + B C D
Repetition of + is not required. (However, if several numerical operands
are specified in succession, the carriage return key must be used between
them.) Like transitive verbs, single predicate operators require the
specification of additional information of some kind. Therefore, the action
is not initiated by the operator key itself but by the key or keys following
it which specify the predicate operand.
Level IlL Complex Vector Operations
These operators are the analogue, for complex vectors, of those on
Level II. The X and Y registers, taken together, can be considered as
a single complex register, whose contents we may denote as X + iY. The
operators on Level III transform X + iY just as those of Level II transform
Y. They are summarized in Table 2.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30: CIA-RDP68R00530A000200120027-4
9824-6001 -RU-000
Page 20
Level IV. Real Array Operations
This level provides the capability to do real variable analysis
conveniently for functions represented by more than 127 points. The
vectors of an array are here regarded as a kind of supervector: the
first n components are just the n components of the first vector of the
array; the next n components are the n components of the second
vector of the array; etc.
As discussed further in section J, one binary scale is associated
with each vector of an array. However, even if your vectors have 127
points or less, it is sometimes desirable to associate more than one
scale with a single vector. If the vectors in a problem have 120 components,
for example, and you wish to have a scale every 10th point, rather than one
for the whole vector, then you simply work with arrays of dimensions 12
by 10, rather than with single vectors of 120 components.
The array operations are analogous to the Level II operations
described in Table 1. In addition, this level has the CONTEXT operation,
used in defining arrays, as explained in section G.
Level V. Complex Array Operations
This has the same relation to Level III as Level IV has to Level II.
Levels VI (Real Matrix Operations) and VII(Complex Matrix Operations),
are not implemented at present, and Level VIII is deliberately left blank
to accommodate elements of the basic system not yet planned for.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001-RU-000
Page 21
Level IX. Typing
This level allows you to compose, on the oscilloscope, alphanumeric
messages of any kind, including any symbols defined via Level I. It also
has the very important operators which show the binary scale of the Y
register (see section J) or the decimal value of the first component of the
Y register. DISPLAY on Level IX converts the operand keyboard into an
ordinary typewriter, save that the messages appear on the oscilloscope.
The S key, followed by a numerical key, is used to change to different
banks of the symbol table (e. g., those where symbols constructed on
Level I have been stored). Carriage positioning operations are also
available, as indicated in Table 3.
Using the capabilities of Levels I and XX, you can associate with
any key on a user level (XI through XIX) any name or symbol you wish.
As a reeult, when you display a console program (as described at the end
of section F) those components of it which are themselves console programs,
i. e. those which are key pushes on a user level, will be represented by
the name you have assigned. (If you assigned none, then they will be
represented by the standard symbols of Figs. 1 and 2. )
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001 -RU-000
Page 22
I. System Operations Common to All Levels
REPEAT allows you to repeat any operation, in the Basic System
or User's System, any number of tines. You simply call in the correct
level, then push REPEAT, followed by the operator and (on the numerical
keys) the number of times it is to be repeated.
RESET is used to stop a console program. When the computer
comes to the next operation of the program it is running, it will be
interrupted and will return to the manual 'note.
TEST allows you to make a console program branch according to
t tc sign of the first component of the Y ,dgister. It is only for use in a
console program and operates as follows. If Y1 is positive, or zero,
then the next instruction following TEST ii the console program !ist is
carried out, in normal fashion. If Yl is negative, then the instruction
immediately fo"lowing TEST is ignored. Although TEST can be 1.ised
anywhere in a console program, it is most conveniently used at the end,
in order to make a conditional loop of some kind. For example, you
might make TEST a part of a program, P, and have P conclude with the
operators TEST P. If the result of P is such as to leave Y1 non-negative,
then P will be repeated. Otherwise, it will come to an end. Of course,
if P is such that Y1 never becomes negative, P will repeat itself
indefinitely, but can be stopped with RESET.
ENTER is used only in a console program. When a console program
reaches ENTER it will interrupt itself and return to manual mode, allowing
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001-RU-000
Page 23
you to enter data or take other action not including the running of some
other console program). Upon completion of the manual operations, you
may push ENTER and the console program will resume where it left off.
ERASE erases the oscilloscope. Since the OLC uses a storage
scope, no partial erase of information is possible.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001-RU-000
Page 24
J. Scaling Considerations
The OLC uses a floating vector organization, whereby a vector
with n components is actually represented in the. machine as n numbers
(the "mantissas"), all of magnitude less than 1, together with a single
binary scale. Thus, if ai are the mantissas representing the vector A
and S [AA, is the binary scale, then the actual components of A are the
A. = a. . 2S [Aj
J J
All of the operations of Level II and III deal with the scales in an appropriate
manner. However, when a curve is displayed on the scope, it is really the
mantissas which are used to form the display points and one can get informa-
tion about the absolute magnitudes of the vector only by displaying also the
binary scale (using the BiS operator of Level IX) as well as the curve
displayed with the DISPLAY operator of Levels II or III. If a curve has
scale S, then the limits of the display area on the scope are ? 2S. Note
that if two curves are displayed simultaneously, correct conclusions con-
cerning intersections, etc, can be deduced only if both have the same scale.
If this is not already the case, it can be accomplished using ENLARGE or
CONTRACT on Levels II or III.
All operations of Level II leave the result in the Y vector in
"standard" form, meaning that at least one of the mantissas lies between
1/2 and 1, unless the vector is identically zero. Operations of Level III
result in a "standard" form for the X or the Y register, or both; in
addition, the scales of the two registers are made equal.
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200'212-7.401,-RU-000
Page 25
Operator
LSHIF T
Predicate-free Operators of Level II
Action Taken
Y! = (Y2
Y! _ TY
j i
Y! Y.
j j
Y! = (Yj)-
Y~ = Yj+l - Yj, j=1, 2, ..., n-1; Y' = 2Yn-1 - Yn-2
Y! _ ? Yk
J k=1
Y~ = Yj+l j=1, 2..., n-l; Yn = Y1
Yj Yj-1 j=2, 3...,n; Y1 = Yn
Yjr = Yn-j+l
ENLARGE
2Y. if y < 1 S [Y'1 = S (Y] -1
Yt _ J 3
0 otherwise
CONTRACT
Y! S
= 2
Y'l
= S. JY
! +1
Y~ = Max (Y, .... Y . )
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
9824-6001-RU-000
Page 26
Operator
Table 1 a (c.ont'd)
Action Taken >k
SIN
YJ =
sin Y.
COS
Y! =
cos Y.
LOG
Y! =
Y.
log
e
Y.
EXP
Y! =
e J
ARCTAN
Yj =
ArcTan Y. , - Tr/2 < Y! < 7r/2
> 0
0 if Y
j
ARG
Y~
Tr if Y. < 0
J
IDENTITY
X~ =
Y! = 2 nii - 1
1 if Y. = 0 or Y.Y. +l < 0
6
Y!
J
0 otherwise
Y. is the value of the jth element of the Y register before the operation;
Y~ is the value afterward. S [Y] is the scale of the Y register. Similarly
for X , X~, S [X] Unless otherwise specified, 1 y< j < n. NAZI is used to
denote the predicate operand, i. e. the vector addressed immediately after
the single predicate operator. It may also be a constant vector, entered
by typing a number on the numerical keys instead of specifying an address.
In that case, the computer decides that you are through entering the
number and, accordingly, executes the operation in question as soon as you
push any non-numerical key. Note that the reading (from core or drum)
involtved in LOAD, STORE, etc. is always non-destructive, i. e. , just after
the operation you have two copies of the data, one in the old location and one
in the new.
Approved For Release 2004/11/30 : CIA-RDP68R0053OA000200120027-4
Approved For-Release 200.4/11/30: CIA-RDP68R00530A0002001 401-RU-000
Page 27
Operator
Action Taken
+
Y!
= Y. + A.
J
J J
-
Y!
= Y. - A.
J
J J
Y!
= Y. ? A.
J
J J
/
Y~
= Y./A.
LOAD
Y!
= A. A! = A.
J
J J J
STORE
A!
= Y. Y! = Y.
J
J J J
Y
k+l Yk
EVALUATE
Y! =
(A. - Xk) + Yk where k = k. is such
X
k+1 k
that Xk < A. < Xk+l
SUBSTITUTE
X! =
A.
J
J
D _. PLA _ 1J = A. The points (XJ,Y~) connected by straight line
segments, are plotted on the scope.
* Y i is the value of the jth element of the Y register before the operation;
Y~ is the value afterward. S Y is the scale of the Y register. Similarly
for X., X~, S' X . Unless otherwise specified, 1 < j < n. A is used to
denote the predicate operand, i. e. the vector addressed immediately after
the single predicate operator. It may also be a constant vector, entered
by typing a number on the numerical keys instead of specifying an address.
In that case, the computer decides that you are through entering the number
and, accordingly, executes the operation in question as soon as you push
any non-numerical key. Note that the reading (from core or drum) involved
in LOAD, STORE, etc. is always non-destructive, i. e., just after the
operation you have two copies of the data, one in the old location and one
in the new.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Single Predicate Operators of Level II
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001-RU-000
Page 28
Operator
SQRT
Predicate Free Operators of Level III
Action Taken
X! + iYj = (X. + iYj )2
X~ + Y~ = exp - log (Xi + iY
X~ = X. Y~ = Y.
X~+iY~=(Xj+iYj)-1
Xj = X3.+1 X., Yj Yj+1 Yj , j=1, 2, ... , n-.1;
= Xn 2Xn-1 - XI
n-2' Yn = 2Y ' n-1 - Y'
n-2
X! M kl Xj ' Yj k1 Y J
LSHIFT X~ = Xj+l, Yj _ Yj+l j=1, 2, ..., n-1; Xn = X1, Yn Y1
RSHIFT XJ = Xj-1, Yj = Yj-l, j=2, 3, ... , n; X'1 = Xn, Yl' = Yn
REFLECT X~ = Yj , Y~ = X.
See legend for Table 1. Here 11An denotes a complex predicated operand,
if an address is specified following the operator, or a real, constant
vector (with zero imaginary part) if the operand is specified via the
numerical keys.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A0002001200;g4-6001-RU-000
Page 29
Table 2a (cont'd)
Operator Action Taken
ENLARGE X! = 2X., Y! = 2Yj ;
CONTRACT X! = I X. , Y~ Y. ; S
S [X] -1, S [Y'] S -Y1 -1
=SFXA +1, S Y' =S[Yj+1
MAX Y~ = Max (Y1... Yn) = Yj ; Xj X.
MOD X! _ ^I (X.)2 + (Y.)2 , Y! = 0
X! + iY~ = sin (X. + iYj ) 3
X! + iY! = cos (X. + iY.)
3 3 3 3
X~ + iY~ = loge (X. + iY~)
X. + iY.
X! + iY! = e 3
3 3
i0.
ARG X. = 8., Y! = 0 where X. + iYj = R. e
Xj Y' 2 n-1 -1
X~ = 6 (X) 6(Y), Y~ 0
See legend for Table 1.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
9824-6001 -RU-000
Page 30
Operator
Single Predicate Operators of Level III
Action Taken
X~ + iY~ = X. + iY~ + A.
X! + iY! = X. + iY~ A.
X! + iY! _ (X + iY~) ? A.
X! + iY! _ (X~ + iY~)/Ai
X! + iY~ = A.
A! = X. + iYi
SUBSTITUTE X~ = A.
DISPLAY The points (X~, Y~) are plotted on the scope and
connected with straight lines, where X! + iY~ = A~?
See legend for Table 1. Here A denotes a complex predicated operand;
if an address is specified. following the operator, or a real, constant
vector (with zero imaginary part) if the operand is specified via the
numerical keys.
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4.
9824-6001-RU-000
Page 31
Table 3
Operators of Level IX
Key Action Taken
DISPLAY Converts operand keyboard to typewriter
+ Carriage roll-up
Carriage roll-down
Carriage rolled up and shifted left so next
character will appear in upper left corner
of scope.
EVAL Displays decimal value of first component of Y.
MOD Displays binary scale of Y, St Y3 .
Approved For Release 2004/11/30 : CIA-RDP68R00530A000200120027-4