Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ PrefaceContentsMembers1 Welcome2 Introduction3 EDSAC4 EDSAC Demo5 Relay Computers6 Discussion7 CRT Storage8 Coding9 Library10 Sign Correction11 Nozzle Flow12 Magnitude13 France14 Checking15 Large Integers16 Discussion Storage17 Magnetic Storage18 Magnetic Recording19 Photographic Store20 EDSAC Auxillary Store21 Circuit Checking22 Circuit Checking23 Addition Circuit24 Trigger Circuits25 Checking26 Discussion27 USA28 Comment29 Holland30 Ficticious Traffic31 Sweden32 Manchester33 Discussion34 Bibliography
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureOther manualsCambridge Conference 1949 :: High Speed Automatic Calculating-Machines 22-25 June 1949
ACLLiteratureOther manualsCambridge Conference 1949 :: High Speed Automatic Calculating-Machines 22-25 June 1949
ACL ACD C&A INF CCD CISD Archives
Further reading

Preface
Contents
Members
1 Welcome
2 Introduction
3 EDSAC
4 EDSAC Demo
5 Relay Computers
6 Discussion
7 CRT Storage
8 Coding
9 Library
10 Sign Correction
11 Nozzle Flow
12 Magnitude
13 France
14 Checking
15 Large Integers
16 Discussion Storage
17 Magnetic Storage
18 Magnetic Recording
19 Photographic Store
20 EDSAC Auxillary Store
21 Circuit Checking
22 Circuit Checking
23 Addition Circuit
24 Trigger Circuits
25 Checking
26 Discussion
27 USA
28 Comment
29 Holland
30 Ficticious Traffic
31 Sweden
32 Manchester
33 Discussion
34 Bibliography

31 Computing Machine Projects in Sweden: Dr G Kjellberg

At this time of the year, three years ago, I think there were extremely few people in Sweden who knew about the existence of automatic digital computers. The first factual information on the subject was brought back by Prof. Stig Ekelof of Goteborg, who made a trip to USA in the summer, 1946. This information caused great interest, and the Academy of Engineering Sciences, headed by Prof. Velander, arranged a couple of meetings between interested parties, at which meetings Professor Hartree was the invited speaker. Thereafter an expert committee, appointed by the Government, has studied the questions at length and made a number of recommendations, which resulted this last winter in the creation of a permanent committee or Board for computing machinery, headed by Rear-Admiral Stig Hison Ericsson. This board was of the opinion that we needed a machine urgently, and it was therefore decided to build a relay machine first, as there did not seem to be any possibility at that point to buy a computing machine.

Dr. Conny Palm, of Kgl. Tekniska Hogskolan, Stockholm, had previously submitted to the board a preliminary plan for such a machine, and this plan was adopted. The machine is now beginning to be manufactured at the workshops of the Royal Telegraph Board, and the design work is, we hope, more than halfway done. The main bulk of the designing is done by Mr. Neovius, assisted by Mr. Freese. The main ideas of the machine are that it should be built out of existing standard components, and that it should be large enough to solve ordinary differential equations of moderate orders and problems of similar size.

The machine which has been christened Bark (Binar Automatisk Rela-Kalkylator) is shown in block diagram on Fig.1. The store consists of a hundred F-registers, which are sets of manually set switches, of forty relay registers, R-registers, and of some registers for special purposes. At a later stage it is planned to increase these numbers somewhat, and provisions are made to include in the machine 100 relay registers. In the registers, numbers are represented as binary, 24-digit fractions, multiplied by a power of two. The exponent has six binary digits. Including signs, a register contains 32 binary places. We chose the floating binary point notation because it was the cheapest one. The argument goes like this. We suppose that we do not want to go to extra coding trouble, like introducing scale factor's or coding for double accuracy, in the majority of problems that we expect to handle. Then we make a few estimates concerning the range and accuracy of the numbers in these problems. We find that we would like to have seven-digit decimal accuracy in a range between 103 and 10-3. Obviously, the floating point system mentioned meets these requirements. In order to meet them with a fixed point system, we would have to give our registers a range of 13 decimal digits, and even then we are safer with the floating point system. A simple count of the number of relays required in the two cases shows that the floating system will be considerably cheaper. This, of course, is due to the fact that our storage elements are quite expensive, and that therefore the saving of 8 binary places - between 40 and 32 - becomes important. If storage were cheaper, the result might be different.

Fig 1

Fig 1
Full image ⇗
© UKRI Science and Technology Facilities Council

Number transportation within the machine is done on three busses; A, B and C. each of which consists of 32 wires. An order is written in a three-address-form (although the system should really be called a 4-address system):

A op B → C

The arithmetic unit can add, multiply, and make transfers. Provisions are made so that a divider can be included at a later stage. These circuits are straight-forward and I will not describe them, only mention a few points which have come up during the discussions earlier in this conference. The relays are standard Telegraph Board (Swedish Post Office) relays, having twin contacts up to a number of 12 on each relay, and operating in times of 10 resp. 5 ms., the latter when they fall. The majority of relays do not make or break contacts; this is done by auxiliary relays having slower operating.

In the multiplier we have aimed at speed, and therefore built it to form all partial products at the same time, and add them at almost the same time. This is done in the octal system; one octal digit is the same as three binary digits. Division when it is included will likewise be done in the octal system. The transfer unit is simply a gate, with some sign controls, which connects the A-bus to the C-bus. The sign controls permit the transfer of A, -A, A , or - A.

To execute a normal order of the type shown, five signals will be necessary. Three will open gates connecting registers to the busses, one will initiate the correct arithmetical operation, add, multiply, divide, transfer, and the fifth will indicate the signs of the numbers participating in the operation. These signals are released through an order relay having five contacts for this purpose. The order relays are connected together in a chain which can be stepped from one relay to the next, and which has the property that one and only one relay is on at each particular time. To use Wiener's terminology for a moment, the energy needed for the action comes through this relay. The information necessary, which is contained in the particular instruction, is stored physically. The operator has to set up the connections by plugging a wire between two holes on a panel. There is one A-panel, one B-panel one C-panel and one operations panel. The A-panel contains, if we skip some technical details, one hole for each order in the chain, and one hole for each register. (Fig.2). The action signal comes out through the hole of an order, say order nr. 17, and the operator has to lead it on to the correct register by connecting the hole of the order with that of the register. If, for example, order nr. 17 reads:

F 12 - R2 → R1

the operator has to set up the following connections: between order hole 17 and register F 12 on the A panel, between order hole 17 and register R2 on the B panel, between order hole 17 and register R1 on the C panel, and on the operations panel by means of two four-position switches to indicate add, and the sign combination +-, at the order point 17.

Fig 2

Fig 2
Full image ⇗
© UKRI Science and Technology Facilities Council

There is a fifth panel, called the jump panel, the use of which should be clear from its name. Here it is possible to interrupt the order chain at any place, and make the control step anywhere, by making the corresponding connection. If you want to finish a subsequence with order 16, and thereafter proceed to order 35, you Just connect hole 16 with hole 35. By the way, the impulse to step order chain comes from the arithmetic unit, so that the control steps to the next order relay each time an operation is finished. The connection you make on the jump panel leads this stepping pulse to whatever place you next want it in.

This is, of course, a rather cumbersome way of programming, and the setup time is likely to be rather long. To prevent any time loss due to this, we have made the order chain so long that we will be able to have several problems set up on the machine at the same time. Also you can work at setting up one problem while the machine is solving another. In the first stage the chain will have 840 relays, with provisions for a later increase to 1200.

We chose this system for reasons of speed. We wanted the machine to read its orders at the same rate with which it computes, and in the choice between modifying teletype tapes to make them go quicker, and this method, we chose that which could be built quicker.

One other advantage of this instruction system is its flexibility in conditional operations. It is true that we cannot modify instructions, but we can select between them. Selection is of two types; you can select where you should jump for your next instruction, or in a particular instruction you can let the machine decide which addresses should be used. This is accomplished in the following way. We have a certain number of selection pyramids with up to 64 outputs. The relays controlling these pyramids are registers in the store; in fact they are some of the special purpose registers marked by S in Fig.1. Now, any connection that you make on the panel, when you set up a problem may be replaced by a connection passing through one of these pyramids. The way this connection will follow depends on what number is actually standing in the S relays. If you use a pyramid on either of the A-, B- or C- panels, you have selection between addresses; if you use it on the jump panel, you have conditional selection between orders. To increase flexibility, inputs are arranged at a great number of points within the pyramids, so that one 64-pyramid gives you the choice of 2 32-pyramids, 4-16-pyramids, 8 8-pyramids and 16 4-pyramids, as well as all kinds of mixed combinations.

Using these selectors, we can code a matrix multiplication, for n unspecified but less than or equal to 32, in 18 instructions, or a 4-point Lagrangian interpolation in 17, if I remember rightly. If you want to read n numbers off a tape, and place them in specified registers you code like this:

1         0   →   S1
2    Tape I   →   (S1)1
3    1 + S1   →   S1    (S1)2
         

and you take (S1)1 and (S1)2 to be two parallel pyramids, controlled by the same control number, namely, the one which is standing in S1. (S1)1 is used on the B panel and its exits are connected to the registers in which you want to have your numbers. (S1)2 is used on the jump panel; its first exit is connected to nothing, its n-1 next exits are connected to order no.2, and exit no. n+1 is connected to next subsequence. (in fact, this is not the best way of doing it, but it is an example of what you can do).

Another application is for interpolation: you connect the exits of a pyramid to F-registers in which you have stored your function values. By reading the first digits of the argument into the controlling relays of the pyramid you get the function value nearest below that argument.

The most important application of selectors on order jumps concerns a point mentioned by Mr. Wheeler yesterday. If you have a subsequence which occurs at several different points in a programme, you will, after the subsequence is finished, want to jump to different places, depending on where in the programme it occurred. You can easily do this selection by means of the pyramids.

Besides the 67 pyramids we have also a number of two-selectors into which the sign of a number may be read.

The machine will have two registers which receive numbers from tapes, and two from which numbers are punched on tapes. Tapes are standard teletype equipment. Conversion from binary to decimal system will take place in special apparatus outside the machine, although possibly some steps will have to be done by the machine itself, such as the translation of numbers from the form 2k×0.1001.. to the form 10m × 0.0101... A tape may also be used for external storage, being punched at one place and read at another. Finally, the machine will be provided with a manual control board and a set of lamps permitting the operator to read out of any register in the machine. The order chain will also have lamps, so that if the machine stops on a check, the last order used, will have its lamp lit.

A few data; addition 100 ms, multiplication 120 ms, (division 400 ms), transfer 60 ms, division by subsequence around 2 sees. These times include stepping the order chain and transfer of numbers from and to registers. Input - output: one sec. per number.

As to other projects it is certain that we are going to have a high-speed computer in one way or another. It is not yet decided whether we are going to build one ourselves, but we have at any rate started some experimenting with components. This winter Mr. Neovius had a magnetic drum running in a laboratory setup, and recently Mr. Stemme in Stockholm has started to build up the circuitry for a CRT store, following the description given by Prof. Williams. I think it likely that we will start rather soon also to experiment with magnetic tapes.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site