Grace Brewster Hopper

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

that, to the greatest possible extent, makeshift arrangements be circumvented in the planning and preparation stage of the installation. This applies to the layout of the computer system, to storage and office space, trained personnel, tools, test apparatus, auxiliary equipment, spare parts, lighting and air conditioning.

The viewpoint adopted in this paper is that the engineering aspects of computer installations are incidental to the basic management problems involved. The goal is not a computer which can be operated; the goal is a computer which can be operated, maintained a n d ~ i n terms of definite computational n e e d s ~ e f f e c t i v e l y utilized. Effective computer operation implies

USE OF C O N T I N U E D FRACTIONS IN HIGH-SPEED COMPUTING By D. TeJchroew N a t i o n a l B u r e a u of S t a n d a r d s , L o s A n g e l e s method. A comparison is made of the speed of convergence of power series expansions and continued fraction expansions for several functions. Recommendations are made for the most efficient method of evaluating continued fractions for different types of computing machines.

• The full text of this paper appears in MTAC ¥I. No. 39. July 1952, pp. 127-133 Abstract: Three numerical methods for evaluating continued fractions are discussed. An Arithmetic example is ~iven for each

A N ELECTRONIC A N A L O G U E M A C H I N E FOR C O M P U T I N G EQUATIONS OF DEGREES T H R O U G H THE ROOTS OF ALGEBRAIC THE EIGHTH BY L. L o f g r e n R e s e a r c h I n s t i t u t e of N a t i o n a l D e f e n c e , R a d i o D e p a r t m e n t , S t o c k h o l m , S w e d e n The f u l l t e x t o f t h i s p a p e r h a s b e e n submitted for publication i n P r o c . IRE.

p o l y n o m i a l s was d e s c r i b e d . This roots a r e d i s p l a y e d on a c a t h o d e - r a y tube s c r e e n , a n d h x g h a c c u r a c y ~s m a i n t a : n e d by h a v i n g a p i l o t r o o t w h i c h c a n be moved ~ n t o c o - i n c l d e n c e with each root in turn.

Abstract: A computer

for

obtaining

the roots

of

FERRO ELECTRIC-MATERIALS AS STORAGE ELEMENTS FOR DIGITAL COMPUTERS AND SWITCHING SYSTEMS By Y. R . Anderson B e l l T e l e p h o n e L a b o r a t o r i e s , New Y o r k The f u l l t e x t o f t h i s p a p e r h a s b e e n submitted for publication i n T r a n s . AIEE.

while storing or reading out information, memory access times of one microsecond or less, small size per bit of memory, simpl~f~ed low cost construction and high reliability. This paper presents an explanation of the operation of a basic storage circuit employing a ferroelectric material, requirements for suitable materials, descr±ptions of several types of circuits employing ferroelectrics, and experimental data obtained with operating circuits.

Abstract: The growing need for improved types of data storage systems ~n both the digital computer and telephone switching flelds has led to the investigation of ferroelectric materials as memory devices. Among the object±yes in developing these devices have been low power consumption

INTERPRETATIVE SUB-ROUTINES By J . M. B e n n e t t , D. G. P r i n z , and M. L . W o o d s Ferranti Ltd., Manchester, England I.

INTRODUCTI'ON

(or routime, i.e. part of a programme) is one formulated in a special code, usually quite different from the normal code of the machine with which it is used.

The subject of this talk is interpretative programming. An interpretative programme

81

This I-programme, as it will be called here, is stored in sons Dart of the machine. It contains the interpretative instructions, or I-instructions for short, which are to deal with the particular computational problem we wish to solve. Another part of the machine store contains a p r o g r a ~ e , the interpreting programme, w h i c h is a kind of master routine and is independent of the particular problem. The function of this master prograrmue is to extract each I-Instruction in turn f r o m the I-programme and to interoret it - translate it into a sequence of o r d i n a r y i n s t r u c ~ o n s coded in the ordinary machine code. These instructions are then c arrled out before the next I-instruction is extracted. Sometimes the I-programme is called a "slave-routine" to point out its r e l a t i o n to the "master-routine".

equations:fi

fi being polynomials in the eight variables the form of which varies considerably between equations. A typical example is: 2 fl(Xl, x2, ...... ,x~ = ax I + bx2x6x 7 + cx2x4o The method which was contemplated was the method of steepest descent, x which obtained Xl, .... x 8 as those values for which 2 ~fi(xl i.e.

~he question now arises: w h y have interpretative routines at ~ I ? The answer differs from case to case; in fact, we shall suggest four d i f f e r e n t answers and t r y to illustrate them by presenting applications to the technique appropriate to each one.

I.

SAVING

STORAGE

~Ri2

O,

=

Ri,

=

sought were those O.

The long sub-routine m e n t i o n e d above was the sub-routine for e v a l u a t i n g ~ R i ~ for any set of values x l, .... x 8. The algebraic operations it carried out could be condensed into these shown in Table 1 below; the space required for the unknowns, constants occurring in the equations and intermediate storage of information was less than 32 long lines. The information required in any one instruction could thus be expressed in eight digits - three function digits and five digits giving the location of the numerical information to be operated on. As the normal EDSAC short line is 17 digits in length, it was possible to 'pack' two of these I-instructlons into one short line, thereby effecting considerable saving of space. A n important point about the I-instructions chosen is that it simplified the task of the progrs~mner, for the special instructions were chosen to make coding easier; with one exception, they correspond as closely as possible to the unit operations which seem most natural in the context of this programme. This exception is the last instruction in Table l, which allows control to be returned to the normal machine code.

SPACE.

At the time the problem to be described arose (early 1949),ythe EDSAC had available 512 short'storage locations, whereas the total space required was greater than this. E x a m i n a t i o n of the constituent sub-routines indicated that the largest one occupied over ~00 of these locations; it was a sub-routine which contained no internal loops and which was concerned with carrying out a limited number of different operations on the contents of less than 30 different storage locations. Moreover, for the whole programme, time was not a critical consideration.

The absence of control transfer instructions is a result of the form of the equations. As was pointed out in para. 2. 1., there is so little u n i f o r m i t y between the fl that no internal loops occur. The first three storage locations of the 32 possible locations, numbered from an arbitrary zero, are indicated by (0),(1),(2). Here, I~ I is used as a m u l t i p l i e r register, to accumulate ~ R i and (2) as a w o r k i n g position used in the e v a l u a t i o n of each function value fi in turn. The interpretation of these numbers in terms of the actual

The problem was the solution of a set of eight n o n - l i n e a r simultaneous algebraic X

=

if

T h e n the values for which

We shall now deal with these four cases in turn. CASE

...... x8)

fi(xl,x2 ..... x 8)

Briefly, the reasons for using an interpretative scheme in these four cases are as follows: in the first case, it saved storage space - this case refers to a programme made on the Cambridge machine, the EDSAC, which has no magnetic backing store and, at the time, had only 512 storage locations. In the second case, the puroose was essentially to make orogramming easier - e f f e c t i v e l y b y c o n v e r t i r g a slngle-address fixed-point machine into a floating-point threeaddress machine w i t h various additional facilities. The third case deals with matrix operations; an interpretative scheme makes it possible to write down an I-programme which deals w i t h small sub-matrices (4 x 4 in the complex case, 8 x 8 in the real case) as if they were ordinary numbers. In the fourth example, the requirement was to use an existing machine for trying out programmes written for a new machine still under construction so that the programmes would be ready as soon as the new machine became available.

2.

(Xlw ...... 'x8) = 0,

A short storage location, or "short line", on the EDSAC is 17 binary digits in length.

x

82

Ref. I.

storage locations in the machine store is carried out by the interpreting routine.

Where required, each step was to be checked by repetition. In addition, to aid the programmer in locating faults, facilities were to be provided for the optional calling in of printing sequences which would give the operator information about intermediate stages of the oomputation.

As an example of programming using these I-instructlons, suppose the evaluation of (X + y - 2) 2

+

(xy - l) 2

Finally, an attempt was made to organise the I-code in such a way that the whole programme could be written in the form of I-instructiona,so that the changing over between I-instructions and ordinary instructions could be avoided. For this reason, operations on ordinary integers, as required in counting operations, had to be incorporated in the scheme.

"is required. If x is stored in location 4) (related to an arbitrary zero), y in 5), 2 in (6) and 1 in (7), the 'coding' would appear as:is required. If x is location (~) (related arbitrary zero), y in (6) and 1 in (7), the would appears as:w~, w5, e6, rO, e7, tO, These one5

stored in to an (5), 2 in 'coding'

In detail, the scheme works as follows. The I-Instructions consist of 8 characters of 5 bits each. The first two, say a a, are the address of the first operand; the next two, bb, the address of the second operandl-'Then comes a function character, ~ , which specifies the operation to be carried out on the numbers in aa and bb.

Ph, q5, wO,

yO.

I-instructions will occupy short storage locations.

The disadvantage of using the interpretative technique here is the time taken for unpacking and interpretation. The factor over direct coding is about 7; it depends on the proportion of the different I-Instructlons used° However, sgainst this it must be pointed out that w i t h the oarticular set of eight equations for which the s c h e ~ w a s designed, the over-all space saving was 70 short storage locations in the 200 which would otherwise have been required for the evaluation of ~ R i ~ o 3.

CASE II.

A FLOATING

This is followed by two characters cc, giving the address of the location where the result is to be put; finally, there is a charact@r, A , which may be considered as a second function character. The interpreting or master routine consists of several separate parts. The first part isolates the address characters aa and bb and uses them to copy the n ~ e r s sending in these two locations which will be called and p . Incidentally, all these locations consist of 3 20-bit lines; the first 40 bits are used for the value of t~:e numbers in a suitably scaled form; the last 20 for the exponent of the binary scaling factor.

POINT SCHEME.

The second example of interpretative programmes w a s u n d e r t a k e n in an attempt to simplify programming and to find out the cost in speed to be paid for this simplification. This and the next two examples are concerned with the Manchester University Computer.

The second part of the master routine looks at the function character ~ . This character may have any value from 0 to 31. The particular value of is used to pick one out of 32 socalled 'cues' from a list contained in this part of the routine. A cue is a llne containing information as to the magnetic storage block - often called a ~ 'track' (on the magnetic drum) - in which a certain sub-routine is stored, and on the point at which it is to be entered. The master routine makes use of this information to tranBfer the subroutine with the cue numbered ¢ from the magnetic to the electronic store and to enter it at the specified point. The sub-routine thus called in operates on the numbers in ~ and and puts the result into a third fixed location, Z ; then it goes on to the next part of the interpreting routine. Here, the third pair of address characters, cc, is used to copy the computed ~-umber from Y into location cc, and the actual operation is now-completed. After this, the master routine interprets the last character in the I-instructlon, the second function character A

The requirements were that the programmer should be freed from the problem of scaling his numbers to a suitable size - which, of course simply means that the programme uses floating point instructions. It was further desired to reduce the number of instructions in the I-programme by making one l-instruction do the work of several basic instructions; this means a multi-address and, in some cases, a m u l t i - f u n c t i o n type of I-Instructlon, in contrast to the slngle-address, single-function instructions of the machine. Another requirement was that it should be possible to re-start the programme after any interruption (either deliberate or due to machine breakdown) without going too far back in the process of computation. This meant that the intermediate results had to be stored frequently on the magnetic wheel so that they would be available for the next step in the process.

This character determines which of various small sequences are entered at the conclusion of the interpretative process. One of these (0) simply

m The addresses associated with r and y are i~m~aterial. 0 is used here for convenience only.

83

calls in the next I-instruction. Others provide some a d d i t i o n a l facilities - for instance, one c h a r a c t e r (Z) causes the p r i n t e r to produce three spaces; a n o t h e r (L) p r o d u c e s a carriage r e t u r n and llne feed; and a third (H) causes a short hoot which, when o c c u r r i n g at r e g u l a r intervals, is helpful to tell the o p e r a t o r that the c o m p u t a t i o n is still proceeding. O t h e r characters are used to carry out c o n d i t i o n a l or u n c o n d i t i o n a l control transfers. One c h a r a c t e r (C) means: "Omit the next i n s t r u c t i o n u n l e s s a c e r t a i n switch on the control console is p r e s s e d cbwn." This f a c i l i t y can be used to include optional p r i n t i n g instructions, e.g. to print the n u m b e r of terms summed in a series w h e n e v e r the o p e r a t o r feels it w o u l d be i n t e r e s t i n g to k n o w this number.

point d e c i m a l numbers to a s p e c i f i e d n u m b e r of digits, small integers in d e c i m a l form and o r d i n a r y E n g l i s h words. One sub-routine is u s e d to b u i l d up a series from a set of given coefficients, i.e. to sum p r o d u c t s of the f o r m a n x n , t e r m i n a t i n g the p r o c e s s w h e n ~he term last a d d e d is small e n o u g h in c o m p a r i s o n w i t h the partial sum to be negligible. The scheme is e x t r e m e l y flexible and can very e a s i l y be a d a p t e d to other problems; all that i s n e e d e d is to m o d i f y the llst of cues in the i n t e r p r e t i n g routine and to store the r e q u i r e d s u b - r o u t i n e s in the c o r r e s p o n d i n g m a g n e t i c tracks. The m a i n d i s a d v a n t a g e is the very s u b s t a n t i a l loss in speed. Every I - i n s t r u c t i o n r e q u i r e s at least m a g n e t i c transfers; each t r a n s f e r takes about 35 m i l l i s e c o n d s and this time is d o u b l e d if it is f o u n d d e s i r a b l e to have these transfers checked. This gives about 0.3 seconds for transfer and c h e c k i n g time alone and the time spent in the r o u t i n e s increases this value to about half a second for each I-instruction, a rather startling figure c o n s i d e r i n g that the time of a basic i n s t r u c t i o n is o n l y one millisecond.

One c h a r a c t e r (R) d e s e r v e s p a r t i c u l a r mention. It is a p p l i e d w h e n the p r o g r a m m e deals w i t h an iterative process r e p r e s e n t e d by a sequence of I-instructions. A s s u m e that the data c o m p u t e d by one cycle of the p r o c e s s are in a c e r t a i n track T of the m a g n e t i c drum. At the b e g i n n i n g of ti~e next cycle, they are copied into a part of the e l e c t r o n i c store w h i c h we shall call D. The next cycle of the process changes them to a fresh set of data. If now the last I - i n s t r u c t i o n in the sequence has R in the a p p r o p r i a t e position, then the f o l l o w i n g sequence of events takes place. The n e w data are w r i t t e n into a f u r t h e r track U. Then the old d a t a are put from T into D a g a i n and the cycle is restarted. The n e w set of d a t a o b t a i n e d at the end o f the cycle is then c o m p a r e d with the d a t a in U; if the two sets agree, the n e w set is w r i t t e n into T, so that the m a c h i n e is now r e a d y for the n e x t cycle. In case of d i s a g r e e m e n t , the w h o l e o p e r a t i o n is started once more.

On the o t h e r hand, it must be r e m e m b e r e d that the p r o c e s s of c o m p u t i n g a p o w e r series was somewhat c o n d e n s e d by the use of the special s u b - r o u t i n e m e n t i o n e d above and this r e s u l t e d in some r e d u c t i o n in the total c o m p u t a t i o n time required. O n the whole, the u s e f u l n e s s of this scheme is l i k e l y to be r e s t r i c t e d to cases where the e m p h a s i s is not so much on the c o m p u t a t i o n itself as on the speed of p r o d u c i n g a correctly working programme e i t h e r b e c a u s e the amount of c o m p u t a t i o n r e q u i r e d is small, or s i m p l y to get p r e l i m i n a r y i n f o r m a t i o n about the range of n u m b e r s to be e x p e c t e d and to test that the o v e r - a l l structure of the p r o g r a m m e (its flow diagram) has been c o r r e c t l y e n v i s a g e d by the programmer, who should then find it easier to d e s i g n a fastw o r k i n g flxed-point p r o g r a m m e in o r d i n a r y code.

The point to be made here is that the p r o g r a m m e r does not have to r e m e m b e r any of these details; all he has to know is simply that by w r i t i n g R into the a p p r o p r i a t e place of the last I-instruction, he is sure of h a v i n g each cycle of a p r o c e s s c h e c k e d before going on to the next step. Finally, the m a s t e r routine is so o r g a n i s e d that the p r e s s i n g down of a c e r t a i n switch on the console calls in a special t e s t i n g routine w h i c h then prints out, every time an I - i n s t r u c t i o n is obeyed, the contents of the line ~ (where the results appear) as well as some other stores w h i c h are basic for the programme. Normally, the n u m b e r in Y appears in coded (radix 32) f o r m but on p r e s s i n g a n o t h e r switch, it is p r i n t e d out as a f l o a t i n g - p o i n t decimal number.

~.

CASE III.

MATRIX MANIPULATION.

I n f o r m a t i o n is t r a n s f e r r e d b e t w e e n the magnetic and e l e c t r o n i c store of the M a n c h e s t e r U n i v e r s i t y C o m p u t e r in blocks of either 64 or 32 40-Bit lines, these blocks b e i n g whole and half tracks of the m a g n e t i c drum respectively. B l o c k s of the latter size c o r r e s p o n d to ~ x ~ s u b - m a t r i c e s with c o m p l e x coefficients. For this reason, o p e r a t i o n s i n v o l v i n g high o r d e r c o m p l e x m a t r i c e s are c o n v e n i e n t l y c a r r i e d out in terms of o p e r a t i o n s on s u b - m a t r i c e s of this size. The m a t h e m a t i c a l technique of c a r r y i n g out m a t r i x o p e r a t i o n s by m a n i p u l a t i n g subm a t r i c e s r a t h e r than e l e m e n t s is

So far, the scheme has been used for one m a j o r p r o b l e m only, n a m e l y the c o m p u t a t i o n of L a g u e r r e functions from p o w e r series expansions. The I - i n s t r u c t i o n s u s e d in this case included, apart f r o m the obvious a r i t h m e t i c f l o a t l n g - p o i n t operations, a v a r i e t y of f a c i l i t i e s such as p r i n t i n g r o u t i n e s to print f l o a t i n g -

84

w e l l - e s t a b l i s h e d x and its application here is a m a t t e r of p r o g r a m m i n g rather than m a t h e m a t i c a l convenience.

address and can be m a n i p u l a t e d by the i n t e r p r e t i n g routine w i t h o u t an additional magnetic transfer.

The I-code w h i c h has been w r i t t e n to facilitate the m a n i p u l a t i o n of the sub-matrices contains 13 different I-Instructions. Of these, five deal with addition, subtraction, m u l t i p l i c a t i o n and inversion of sub-matrlces, three w i t h transfer, a d d i t i o n and s u b t r a c t i o n of ~-vectors and one with the multiplication of a m a t r i x by a vector.

Table 2 lists the times of the various operations with a n d w i t h o u t an i n t e r p r e t a t i v e scheme. The i n t e r e s t i n g point w h i c h this table brings out is that the time p e n a l t y incurred by u s i n g the scheme is of the order of only 5 10% for the most f r e q u e n t l y u s e d instructions. For this reason, not only does the scheme facilitate coding but also it leads to p r o g r a m m e s which are suitable for production.

Two i n s t r u c t i o n s deal with the counting through a sequence of matrices or vectors, combined with a final test to determine the end of the sequence. One i n s t r u c t i o n stores the contents of the electronic store on the magnetic d r u m so that, in the event of machine failure, the programme can be r e - s t a r t e d w i t h o u t significant loss of the information p r e v i o u s l y obtained. The last i n s t r u c t i o n permits r e t u r n to the normal machine code.

In the c o n s t r u c t i o n and testing of this scheme, c o n s i d e r a b l e convenience r e s u l t e d f r o m the way it d i v i d e d n a t u r a l l y into three distinct steps - i.e. the i n t e r p r e t i n g routine, the a s s o c i a t e d s u b - r o u t i n e s and the i n t e r p r e t a t i v e sub-routines. Each of these could be w r i t t e n and fully checked s e p a r a t e l y before being used with the next stage.

These I - i n s t r u c t i o n s are listed in Table 2. T h e i r exact form need not concern us here: it is sufficient to say that they are m o s t l y three-address i n s t r u c t i o n s and that all addresses (except control addresses and that of the 4 - v e c t o r z d e f i n e d in a footnote to the table) are addresses w h i c h r e f e r to tracks in the magnetic drum store. Because of t~e e n g i n e e r i n g status of this magnetic drum, sub-matrices occurring consecutively in a large m a t r i x are not stored on consecutive tracks; however, a llst of available tracks is kept elsewhere in the m a g n e t i c store and the addresses specified in I - I n s t r u c t l o n s refer to entries in this list.

5.

=

ars x 2 n

Brs

=

brs x 2 n

n is stored separately and is so chosen that the ars or brs of m a x i m u m modulus w i t h i n the subm a t r i x l i e s X X b e t w e e n ~ and ~. 4-vectors are stored four to a half track and all four are treated as a single s u b - m a t r l x for scaling purposes.

IN A NEW CODE.

In this case, the I-code is the code of the new machine, the I-routines are the routines to be tested. The process of t r a n s l a t i o n or i n t e r p r e t a t i o n involves a kind of r e p r e s e n t a t i o n or m a p p i n g of the storage space in the n e w machine, the I-store, into the store of the e x i s t i n g machlne~ as it were, an image of the I-store has to be created in the e x i s t i n g store. This image will have to r e p r e s e n t not only the m a i n store, but also a n c i l l a r y store lines, such as the accumulator, the m u l t i p l i e r and the control tube, of the m a c h i n e w h i c h will e v e n t u a l l y use the I-code.

As the llst of available half tracks" must be called into the fast store e v e r y time an I - i n s t r u c t l o n is obeyed, the exponent n a s s o c i a t e d w i t h the sub-matrix on each half track of numerical storage space is p a i r e d with its magnetic X

ROUTINES

The fourth and last case of interpretative p r o g r a m m i n g c o n s i d e r e d here is the t r a n s l a t i o n of a programme from the code of one machine into the code of a n o t h e r machine. This p r o b l e m is of great practical interest to us in M a n c h e s t e r for the f o l l o w i n g reason. We are b u i l d i n g a new machine, the code of w h i c h differs from the code of the m a c h i n e now in existence. Library routines and p r o g r a m m e s will have to be made for the new m a c h i n e in the new code. Now, e x p e r i e n c e shows that in spite of all precautions, a new routine is very r a r e l y free from errors, and it must be tried out on a m a c h i n e to find and eliminate these errors. This means that w h e n the new m a c h i n e is finished, several months will have to be spent in getting the new routines right. We are trying to avoid this waste of time by d e v e l o p i n g a scheme which will enable us to test the n e w p r o g r a m m e s on the old m a c h i n e and this will be done by means of an i n t e r p r e t a t i v e scheme w h i c h translates the new r o u t i n e f r o m the n e w code back into the code of the e x i s t i n g machine.

Some form of m a g n i t u d e control is desirable; and the form a d o p t e d is t o scale each c o m p l e x element A ~ ~ iBm,within a sub-matrlc by the same factor, 2 n , so that it appears in two consecutive registers as the n u m b e r pair (ars, brs), where Ars

CASE IV.

e.g. Ref. 2. This s c a l i n g technique was s u g g e s t e d by D r . A . M . T u r i n g of Manchester University.

The task of c o n s t r u c t i n g

85

this scheme

is somewhat facilitated by the fact that there is a close correspondence between the two codes, at least for some of the instructions. The total size of the stores, both the electronic and the magnetic store, are the same for both machines and the magnetic transfer instructions have a similar structure.

REFERENCES

The range of routines which can be tested by this scheme is restricted by the fact that some of the magnetic and electronic storage space in the existing machine will be required for the interpreting programme a n d for storage of intermediate data. This part of the magnetic store must be excluded from use by the routines being interpreted. However, the total magnetic store is so large that this restriction is not serious, particularly as the routines to be tested are expected to be small sub-routines rather than comprehensive programmes and consequently should never require more than a small fraction of the space available.

1.

Hartree: "Experimental 10, 1948.

2.

Frazer, Duncan % Collar: Matrices", 1st. Edition 1946.

Arithmetic" "Elementary Cambridge,

rABLE I .

Code Letter

Symbol~c Descr±ptlon

C(n)--~(o)

Verbal Description This is the first l-instruction in the formation of a sequence of continued products and writes ~(n) into the storage

location used as a multiplier register.

C(n).C(0)

This executes multiplication and stores the product as a multipl~er ready for the next multipl~cation.

C~n) + C(2) --~(2)

Addition.

__~(0)

Some of the operations of the existing machine which represent an instruction of the new machine will have to be carried out by sub-routines which are called in, in the normal fashion, Trom the magnetic store; in most cases, however, the sequence equivalent to the I-instruction will be a simple operation of the type C(P)o C(Q)--~(R) where o indicates one of a few fundamental operations. (Actually, the operations used are addition, subtraction, collation (conjunction) and non-equivalence). For l-instructions in this latter category, (P) and (R) are images of the ancillary registers mentioned before and (Q) is the image of a storage location. In some cases, e.g. in the interpretation of output instructions, it turns out that operations ~f the C(P) o C(Q)--~(R) type must be combined with special sub-routines to complete the required effect.

-C(n) + C(2) --~(2 )

Subtraction.

[C(2)]2+C(i) --~(i)

Accumulation of~R i The interpreting routine must put C(1) ~ 0 at beginning of operation. The address associated with this instruction i s immaterial.

C(0)---~(n)

Transfer. Many ~ n t e r mediate products may be r e q u i r e d again and s h o u l d be s t o r e d for re-use.

Switch

Return to instruction in next storage locatiOn, i.e. return control from interpretative subroutine. The address associated with t h i s instruction is immaterial.

I-instruction

The time factor involved in this 1-scheme will vary for different routines and will be about 40 on the average. Considering that many routines require only a fraction of a second when running at full speed, it will be realised that this loss in speed is quite negligible c o m p a r e d with the advantage gained by having a library of routines ready for u m as soon as the new machine is completed.

2

Blank

x

86

(n) = storage location n. C(n) = contents of storage location n.

1=,4 O ,,.I

ilO

Q~'~ O O ~ o o ~ r ~ PI

~4~-i r-I LF~O4tO~

•~ O O O O~

I , ~ O

o~

O ~



0 ~ 0 0 ~ 0 0 0 0

0

0 0

O

.~ .,-I

O..~ ~ ","~

®,,'I 0

0

0

0

0

0

0

0

0"*"t . ~ ®

~

~11~o.~ •~ ~ r=l .-i ~--i ~ ,-.~ ~.,.~

~1:II •I.-) ~1 4.o ~

~1

e-I O O C ~ O O ~ ' ~ O O L ~ O

O kO

~D~O 00 O O O~kOkO t~-kO



0'"~

~ O ~ ~O O O~.~

•,'t ~ 0

0

o

oo

oo

0 0

®



~'~ 0 0

,oooo

r . t Lc~ u ~ ~"~.~"

O

o O O O 0 0 0 ~ O

O0

o

~

O

~0000

) .~ ~ 0 0 0 0 0 0 0 0 0 ~1 cxlr,-.'~0',.0.~k0t.o,-i ~0 up i~. p - i~..~- ol o j ol

i

I

0 ~

*~-I

~



O~

o~

~

wr-4

N 4=)

,...t ~ ' O 4-) "O

!

I

b~0'~

0

O

.~N

° ° ° ° ° " "

0 ~ 0

4o

i~l Od I:1 I

4~

O~ ~o

r.4 .t~ O~

+ ~,,~ roe ~.~

'

~o ~I

i~

~I

-

N N ~ o o.,-4 o o ~ O~ ORs co

87

~ 0 0

~