US3047228A - Automatic computing machines and method of operation - Google Patents

Automatic computing machines and method of operation Download PDF

Info

Publication number
US3047228A
US3047228A US724770A US72477058A US3047228A US 3047228 A US3047228 A US 3047228A US 724770 A US724770 A US 724770A US 72477058 A US72477058 A US 72477058A US 3047228 A US3047228 A US 3047228A
Authority
US
United States
Prior art keywords
cellar
numbers
operations
storage
symbol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US724770A
Inventor
Bauer Friedrich Ludwig
Samelson Klaus
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DEB44122A external-priority patent/DE1094019B/en
Application filed by Individual filed Critical Individual
Priority to US724770A priority Critical patent/US3047228A/en
Application granted granted Critical
Publication of US3047228A publication Critical patent/US3047228A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Definitions

  • This invention relates to automatic, mechanical, electronic or electric computing machines and is particularly concerned with the construction and logical design of computing machines as well as the input and output devices associated therewith.
  • the translation from the language of mathematical formulas into the program is usually called programming.
  • This translation is in practice a time consuming and generally undesirable procedure, subject to errors.
  • the language of programming is an unusual one for the mathematician and, furthermore, is different for different machines. This diiferentiation of programming technique from machine to machine indicates the extent to which the programming systems of hitherto used machines depend upon the constructional features of the particular machine and how little the mathematical expressions used uniformly throughout the world have been considered by the designers of computing machines.
  • the present invention is concerned with an automatic computing machine which is directly controlled by mathematical formulas written out in conventional style. It represents important advances in the art, both in its design and in its capabilities, as compared with machines employing the usual programming methods.
  • instructions are offered to the control device of the machine in a form of writing essentially identical with the notation of mathematics.
  • Each character of the formula is examined for its meaning and is either immediately operated on or postponed for later recall, preferably in the sequence of its arrival, only until all characters of the formula required for its evaluation have been offered to the control device.
  • a further postponement may, of course, be effected, but is not essential and can only be justified by other advantages lying outside the invention.
  • the characters of the formula representing numerical symbols i.e. numbers
  • storage devices preferably to two different cellars, namely the numbers cellar and the operations cellar, and are accessible to the control device from these storage devices.
  • the operational symbols of arithmetic are used, preferably in form of code symbols, for initiating control operations, i.e. machine functions.
  • the time of the final start of the control operation by a code sign is determined, among other things, by the fact that one or more succeeding code signs necessary to the operation have arrived. For this reason the code signs are postpone-d or stored in the operations cellar, and are withdrawn from this operations cellar only when the time of carrying out the operation is reached, the order of presenting said characters being the correct one automatically in case of the above-mentioned sequential ordering in the cellar.
  • the numbers cellar guarantees that the operations are automatically carried out with the respective numbers as soon as all numerical values required for carrying out the operation are present.
  • the numbers which are to be used in a certain calculation may be represented by digital symbols, for instance in the decimal system, and corresponding code signs.
  • the entering of a number into a place designated by the symbol of a quantity in the numerical storage is produced by the result symbol followed by the quantity symbol. It may be of advantage to carry out the above-men tioned reservation of places only with the just mentioned entering of numbers.
  • the operation is postponed if a quantity symbol within a formula arrives in the control device which has not yet been covered by a number in the numbers storage. New information is asked for from outside the machine until the place to be reserved has been occupied by a number.
  • the labeling symbol may consist of numbers with the addition of a special sign which identifies the symbol as an address in the formula storage. An asterisk is used for this purpose. Consecutive numbering is not required. It is only necessary to arrange a prestorage before the formula storage. The prestorage shows under the number of each labeling symbol as input the address in the main storage identified by the respective labeling symbol.
  • the method may further be developed in such a way that the input of a labeling symbol in combination with a special sign, for instance an arrow as jump symbol, suffices to effect a repetition of the calculation or, more generally, that the calculation is continued with the beis entered only into formula storage and the symbols designating the beginning of individual groups of formulas are evaluated in the manner mentioned above.
  • This procedure is automatically interrupted when the labeling symbol of the called-for group of formulas is received.
  • a special character may be interpreted as symbol meaning no storage, noting down so that following this sign the storing of incoming information is suppressed until further notice. for instance by a dissolving symbol or by the next incoming marking symbol for groups of formulas.
  • the machine embodying the invention comprises, in its most simple form, a predecoder receiving all characters of the formula in the usual sequence of writing the formula.
  • the predecoder has a number of outputs leading to a number converter, to an operations converter, and to an output control device, as well as to control means for insignificant characters, i.e. characters symbolizing car riage return and the like.
  • the converters of the control device may be connected with a printer.
  • the numbers cellar and the numbers converter are connected in such a manner that the numbers cellar may receive numbers in the sequence in which they come in from the converter and that, furthermore, the first number of the sequence is fed as result to the printer when a corresponding instruction is received.
  • the operations converter is connected with the operations cellar so that it can supply the operation symbols in the sequence of their arrival, whereby either the lastarrivcd symbol of the previously supplied and upwardly moving symbol or the newly arriving symbol may be supplied to the computing means in order to carry out those operations for which the corresponding operands are present at the top of. the sequence stored in the numerical cellar.
  • the characters closing a formula particularly the equality sign or the result sign, cause an examination for sense of formula.
  • the operations cellar and the numbers cellar may comprise means storing the supplied characters sequentially by moving the stored characters downwardly in the order of their arrival and allowing a withdrawal of the last stored character or of the uppermost of the upwardly moving characters only.
  • the operations cellar and/or the numbers cellar may comprise means for storing the supplied characters sequentially. by putting each incoming character on the place before the last arrived character, by marking this place, and by feeding out the character from the place marked last.
  • the computing unit operates with the numbers contained in the uppermost or in the two uppermost stories or levels of the numbers cellar, in conformity with the instructions received from the operation control, and feeds the result again into the uppermost story of the numbers cellar.
  • the output control means is preferably connected with the numbers celler in such a manner that the connection between the numbers cellar and the printer is completed upon the arrival of an equality sign and an eventually succeeding sign meaning digit required, and that the number contained in the upperstory of the numbers cel lar is supplied entirely or partly to the writing means.
  • the machine. according to the invention can also operate with subscript quantities.
  • the calculation with subscripts is carried out in a manner analogous to the calculation with other quantities.
  • special characters may be used as subscripting, symbols which mark the beginning and the end of subscripts and the separation between individual subscripts; these signs are fed to special means effecting intermediately an interruption of the current calculation, the evaluation of the expressions in the subscript positions in accordance with the above-mentioned methods, and the selection of the single components of the respective subscripted quantity designated by the subscript values obtained.
  • An example for carrying out such calculations is described below and designated as type IV.
  • FIG. 1 is a block diagram of a computing machine according to the invention in its most simple embodi ment
  • FIG. 2 is a diagram illustrating the operations converter 8 of FIG. 1;
  • FIG. 3 is a tabular representation of the processing of an illustrative calculation demonstrating the roles of the numbers cellar 11 and operations cellar 12 of FIG. l;
  • FIG. 4 is a block diagram of a computing machine. including further components not illustrated in FIG. 1:
  • FIG. 4a is a block diagram similar to FIG. 4, and in eluding components for processing subscripted characters;
  • FIG. 5 is a schematic representation of the numbers cellar and computer device of the invention.
  • FIG. 6 is a schematic representation similar to FIG. 5 and illustrating a computing device and numbers cellar having two ring circuits;
  • FIG. 7 illustrates the predecoder and operations converter of a complete machine in accordance with FIG. 1;
  • FIG. 8 illustrates the arrangement of the operations cellar of such a complete machine
  • FIG. 9 illustrates the arrangement of the numbers cellar of such a machine
  • FIG. 10 illustrates the computer device of such a machine
  • FIG. 11 illustrates the output elements of such a machine
  • FIG. 12 is a key to the assembly of FIGS. 7 through 11;
  • FIG. 13 is a block diagram of a combined computer device and numbers cellar of the type illustrated in FIGS. 9 and 10, the interconnections of FIG. 13 with FIGS. 7, 8 and l 1 being shown in FIG. 120;
  • FIG. 14 shows the numbers cellar adding network of FIG. 13;
  • FIG. 15 shows the multiplication control of FIG. 13
  • FIG. 16 shows the addition control circuit of FIG. 13.
  • FIG. 17 shows yet another of the control circuits of FIG. 13.
  • FIG. 1 shows schematically the circuit arrangement of a computing machine of simple design according to the invention, representing type I.
  • this machine expressions of most simple nature for instance:
  • the machine comprises an electrical typewriter with the keyboard 1 and printer 2.
  • the keyboard 1 may in clude keys for the following symbols represented by appropriately combined mechanical or electrical signals:
  • the letter B means absolute value.
  • the coded characters are supplied over a cable 3 to a device 4 which may be designated as formula decoder or central control and which includes the components arranged within the dotted lines.
  • Cable 3 is directly connected to a predecoder 5 having four output terminals. One terminal is connected to the output control 6, another to the numbers converter 7, the third output is connected to an operational converter 8 and the fourth output to a control device 9 for insignificant characters.
  • the predecoder 5 separates the information G arriving over the cable 3 into the four groups, and supplies them to the respective devices, the information N to the numbers converter 7, the information Op to the operations converter 8, the information R to the output control 6, and the information S to the control device 9.
  • the machine includes furthermore a computing unit 10 which may be designed in a manner known per se and is able to carry out additions, subtractions, multiplications and divisions.
  • the machine includes furthermore a numbers cellar 11 and an operations cellar 12.
  • the input of the numbers cellar is connected to the numbers converter 7 and to the computing unit 10.
  • the output of the numbers cellar may be selectively connected to the computing unit and the output control 6.
  • the input of the operations cellar as well as its output are connected with the operations converter while the operations converter controls the computer in a manner described be low.
  • the devices 6, 7, 8 and 9 are all connected over outputs A and a line 13 to the typing elements 2.
  • FIG. 2 shows the operations converter 8 more in detail in form of a matrix.
  • the cables Op coming from the predecoder 5 are connected to the horizontal lines of the matrix.
  • the cables C coming from the operations cellar 12 are connected to the individual vertical columns of the matrix.
  • the output cables Op and Op" on the righthand side of the matrix are connected to the operations cellar or the computing unit respectively.
  • the first vertical column of FIG. 2 indicates the symbols arriving on the cable from the predecoder.
  • the uppermost line shows the symbols arriving from the uppermost story of the operations cellar. If now, for example, a plus sign arrives from the predecoder, at the same time when a sign is present in the operations cellar, the operation k is initiated, i.e. the symbol coming from the predecoder is introduced into the operations cellar and stored therein.
  • the letters indicated in the matrix are abbreviations for the following components or operations of the machine:
  • Table I D discriminating register (uppermost story of the operations cellar).
  • V signal beginning of number from numbers converter
  • Raise means that the element at the top of DC. or N.C. is discarded.
  • Execute means that the computer carries out the operation indicated by the content of D with the two uppermost or with the uppermost number respectively present in the numbers cellar. Repeat means that the operation of FIG. 2 is repeated with the new content of D.
  • E D can also be carried out as lower O.C., E O.C.; O.C. N.C. means to place at the top of CC. or N.C. respectively.
  • the matrix arrangement may be replaced by a triangular array or another logical circuit arrangement of equivalent design as is well known in the art.
  • the coded characters for instance in form of groups of pulses, are supplied from the keyboard 1 to the prcdecoder 5 and are examined therein for their meaning. If they are numbers, the information contained therein is supplied to the numbers converter 7. The point may be changed into an exponent. The signal V may be directed to the operations converter. If the signal is an operational symbol, it is supplied to the operations converter.
  • FIG. 3 of the drawing representing in a diagram the operation of the numbers cellar and the operations cellar.
  • the uppermost line shows a formula the letters a and b representing numbers.
  • the block O.C. below the line represents an operational cellar; the vertical columns S1 to 516 contain the marking symbols which are received during the individual steps of operation.
  • the block N.C. below the block O.C. contains the numbers stored in the numbers cellar.
  • the sign 0 means that no digits are contained in the numbers cellar and the sign means that the operations cellar or the numbers cellar respectively are empty in the downward direction.
  • the first column of the operations cellar is empty, and the numbers cellar contains the number 0. If now the left parenthesis is written on the keyboard, this character is fed into the prcdecoder.
  • the prcdecoder recognizes that the character is an operational symbol and directs it to the operations converter 8.
  • Th operations converter compares the information Op with an information Op' which may be present in the operations cellar and feeds Op to the operations cellar as represented in the column S2 of FIG. 3.
  • the number a is now written on the keyboard 1 and arrives in the prcdecoder.
  • the prcdecoder recognizes that this is a number and produces a signal V, whereupon the number is fed through the numbers converter 7 to the numbers cellar 11.
  • This step is represented in the third column S3 of FIG. 3. As no further numbers are present, the computer 10 is not yet actuated.
  • the keyboard writes the sign This character is supplied by way of the predecoder and the cable Op, as well as the operations converter, into the operations cellar 12, as shown in column S4 of FIG. 3.
  • the number b is supplied by the keyboard to the prcdecoder. As this is a number, it is directed to the numbers cellar 11, in which the number a is advanced downwardly. If now the next character consists of a right parenthesis this character is directed to the operations converter which makes a comparison with the information Op from the operations cellar. In accordance with the result of this comparison the information Op" (that is the character l) is supplied to the computer; the computer withdraws the two numbers b and a from the numbers cellar, adds them and supplies the intermediate result c to the numbers cellar. The characters and in the operations cellar are erased as may be seen from columns S6 and S7 in FIG. 3.
  • the next step consists in delivering the multiplication sign X from the keyboard to the operations converter which enters it in the operations cellar. Now follows the character This character is fed into the operations cellar but produces a number 0 in the numbers cellar as shown in column S9 of FIG. 3, so that the quantity of the parenthetical expression may be computed. If, now, the minus sign follows, this is directed into the till operations cellar containing now three characters.
  • the next step supplies the number u again, which is directed into the numbers cellar (column S11 in FIG. 3).
  • the following characters are processed in a manner similar to the one described in connection with the first parenthetical expression. When the right parenthesis arrives, the sum within the second parenthesis is formed.
  • the multiplication of the intermediate results 0 and d is carried out when the equality sign arrives. This character as well as the character number requested" connects the numhers cellar with the typing elements so that the result may be typed.
  • FIG. 4 shows the complete layout of a computing machine for carrying out operations of type II and type III.
  • the computing machine comprises again an electrical typewriter with the keyboard 1 and the. printer 2, as well as the formula decoder 4 receiving the code signals by way of a cable 3 from the keyboard.
  • a punched tape scanner or magnetic tape scanner 20 is provided for feeding the machine, whereas a punch or magnetic recorder 21 serves for recording the results.
  • the operations cellar 12 and the numbers cellar 11 as well as the computing unit 10 correspond to the parts represented in FIG. 1.
  • the machine of FIG. 4 contains furthermore a numbers storage 22 and a formula. storage 23.
  • the numbers storage serves for holding the numbers, whereas the formula storage stores groups of formulas. Both storages may have the form of a magnetic drum storage known per se, or of an array of magnetic cores, or of a storage tube with scanning cathode ray.
  • the formula decoder is connected in a manner similar to FIG. 1 with the operations cellar and the numbers cellar.
  • the inputs for the scanning unit 27 are preferably letters, e.g. the 26 letters of the alphabet (information B).
  • a special reservation of places is not necessary in type II operations.
  • a scanning unit 25' is provided for the address decoder 25, serving as address storage for the places in formula storage 23 corresponding to the address as input.
  • the system represented in FIG. 4 may be used to evaluate an expression in simplified form by computing the expression 2.27-l- 3.328 only once and by designating it by an algebraic quantity symbol, e.g. the letter z. Furthermore, the above-mentioned result sign is used as a symbol and code sign initiating the use of the quantity symbol and the holding of the partial results under an address selected as indicated below. This is written in the following manner:
  • the results or answers are underlined. They may be printed in colors.
  • the storage of the partial results is effected in the numbers storage 22. This numbers storage contains a multi-place storage position for each letter, the partial result corresponding to the respective letter being stored in these storage positions. By searching for the respective letter the stored partial result can be taken out of the numbers storage and can be fed to the numbers cellar or to the computer or to the printer.
  • the computing operations of type III become possible by using the formula storage 23.
  • the asterisk sign following a number, eg 33* indicates that the label decoder is to respond to the number 33 by giving the address in the formula storage where the formula following the label 33* begins.
  • the repetition of a formula is effected by the jump symbol and by adding the desired labeling symbol. The repetition may be dependent upon conditions in a manner known per se. This requires also the introduction of code signs with symbols or with the usual meaning.
  • the number 1 is used.
  • the formulas following 33* are to be repeated.
  • the arrow sign initiates the operation which is usually called a jump" because the computation is repeated from the place which has been noted under the input 33 of the prestorage.
  • the .r is the limit for the admissible difference; the operation ceases when this limit is reached.
  • the machine operates then with empty formula storage and requires new information.
  • the labels decoder signalizes in this case "17* not occupied.
  • the writing down of the incoming code signs is continued undisturbed.
  • the immediate execution is, however, interrupted for the time being with the exception of noting the beginnings marked by the symbol which must, of course, be carried out.
  • the operation is resumed at the moment in which the asked-for address 17 in the labels decoder is occupied by the characters 17*; at this point the operation is continued as before.
  • the numbers cellar N.C. includes a chain of storage elements; FIG. 5 shows the elements 30 through 39. These storage elements are arranged adjacent to an accumulator element 40 receiving the numbers from the outside from the number converter 7. A chain of storage elements is arranged on the other side of the accumulator element 40. This chain is designated as appendix and includes the elements 41 through 48. The arrangement includes furthermore a ring register 86 consisting of storage elements, in the present case 17 elements 50 through 66. This number may be larger or smaller and is chosen only for the purpose of representation. The element 67 of the ring is connected to the accumulator element 40 and is used as addend register. A counter 68 is connected to the connecting line between the accumulator element 40 and the element 67.
  • the number a is introduced from the number converter 7 by way of the accumulator element 40 into the numbers cellar. This number is then introduced into the ring so that the ones digit occupies the storage element 50, the tens digit occupies the element 51, the hundreds digit occupies the element 52 etc.
  • the number b is then introduced into the numbers cellar in such a manner that the most significant digit occupies the element 30 and the succeeding less significant digits are introduced into the following elements (the numbers cellar may contain further previously introduced numbers in further storage positions: these numbers are shifted towards the right in FIG.
  • the next operation is the shifting of the operand b from the numbers cellar towards the left into the appendix until the last digit, i.e. if it is a number without point, the ones digit arrives in the storage element 41.
  • a counter 68 is used. This counter is connected to the adding element 67. The counter is counted up when the number a is shifted from the numbers cellar into the ring and counts therefore how many places behind the point are present. When the number b is shifted from the numbers cellar into the appendix the counter is counted down from the place of the point on. Two cases should be distinguished:
  • the numbers a and b are now positioned in such a manner that in the following addition the points of the two numbers meet simultaneously in the elements 40 and 67 respectively.
  • the numbers present in the element 67 or in the accumulator 40 respectively are added and the result is introduced into the numbers cellar.
  • the zeros which have been introduced either into the ring or into the appendix are added With the digits of the number which are taken out of the appendix or of the ring.
  • the addition is carried out successively for each mark or digit of the number and takes into account the carryover in a known manner until the first end character arrives. If the end character arrives first in the element 67, the addition continues until the second end character arrives in the accumulator. If the end character arrives first in the accumulator, zeros are added until the end character arrives also in the element 67. Any carryover which may be present is then noted and the number is shifted one more place into the numbers cellar.
  • the arrangement operates as follows: for simplifying the description the mul tiplier is abbreviated as mcr and the multiplicand as mand. It may be assumed that the mcr has been introduced into the numbers cellar before the mand. Then the mand is shifted into the ring as in carrying out an addition and the counter is counted up from the point. Zeros are then introduced into the appendix. The next step is to examine the most significant place of the mcr and to store it if it differs from zero. Then the mand and the appendix are added as in carrying out an addition. The mand is shifted undestroyed into the ring in the direction of the arrow 70.
  • the final carryover is effected also in case it is Zero.
  • the number present in the ring is then shifted back in the direction of the arrow 71 and the first partial sum in the numbers cellar is shifted synchronously in the direction of the arrow 72 into the appendix until the initial position of the mand and at the same time of the partial sum in the appendix is reached.
  • the next addition of the mand follows and a new partial sum is formed in the numbers cellar, while the mand is shifted back in the ring with simultaneous shifting of the new partial sum into the appendix. This operation is repeated as many times as the first digit of the mcr indicates.
  • the partial sum is then shifted for one place in order to carry out the multiplication with the next decimal mark or digit of the rner until all digits of the mer have been exhausted.
  • the marks or digits of the mer al ready used up can be discarded step by step. When the end character in the mer arrives, the result is shifted into the numbers cellar.
  • the counter is counted up during the multiplication process for each digit of the mer until the point of the mcr arrives.
  • the counter 68 is then stopped.
  • the counter is counted down for each shift, and the point is set as soon as the counter indicates zero.
  • the numbers cellar N.C. has the form of a ring 81 with n digital elements.
  • the individual elements of the ring consist again of storage cells which are able to shift their contents into the next succeeding storage element in the direction of arrow 84 when a new digit is introduced at the element
  • a smaller ring 82 having in elements with the same shifting properties and a fixed element Zm as point of introduction is provided for carrying out the function of a multiplicand-divisor-register (abbreviated MD register).
  • An adding device as Well as a transfer device are provided between the input elements Zz of the numerical cellar and Zm of the MD register.
  • the MD register is at the same time the uppermost story of the numbers cellar and therefore is always occupied by the uppermost operand (addend, multiplicand, divisor).
  • a is a number with the marks or digits a a a and b a number with the marks or digits b b h
  • the number a is introduced into the MD register in such a manner that a is located at the left of Zm and the remaining digits of the number follow on the left side.
  • the number b is introduced into the numerical cellar 81 in such a manner that the digit b is located at the right of the input element Zz in element Zp and the remaining digits follow to the right-hand side.
  • a shifting towards the left side in the numbers cellar in the direction of the arrow 83 is initiated simultaneously with a shifting towards the right side in the MD register in the direction of the arrow 87 until the two decimal points are present in the input elements Z1.
  • the subtraction is carried out in an equivalent manner.
  • a multiplication e.g.
  • the digit present in the cell Zp may be the multiplier. At the left of h the numerical cell is occupied by zeros.
  • the multiplication is carried out by m repetitions of the following cycle: The content a of the MD register is multiplied digit by digit with the mcr digit in Zp and the MD register as well as the numbers cellar are shifted simultaneously towards the right. The multiplication is effected by adding MD into the places to the left of Zp as many times as the number present in Zp indicates. Then the MD register and the numerical cellar are shifted towards the left until the MD register is again in its initial position in which a is located at the left of the input element Zm.
  • the product 1 is found after carrying out this operation at first without point in the numbers cellar at the left of the input element Zz.
  • the product c is transferred into the MD register by shifting the numbers cellar and the MD register towards the right and introducing the point. Subsequently, the two rings are shifted towards the left until the last place of the result 0 is located at the left of the input element Z and the first place of the number following I) at the right of the element Zp.
  • a division is carried out by repeated subtraction of the divisor from the dividend and by subsequent single back addition of the divisor for setting back the re mainder. It is also possible to effect subtraction and addition alternatively in the manner known as non-restor-

Description

July 31, 1962 F. BAUER ETAL AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION l4 Sheets-Sheet 1 Filed March 28, 1958 Printer Inventors a j z Mm W M Attorneys July 31, 1962 F. L. BAUER ET AL 3,047,223
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION l4 Sheets-Sheet 2 Filed March 28. 1958 W fin- IM f A ttameys 3 F F m i s e I t x! 1 1 A 53 X H s 0 XH xH :m a xn s9 x! 8/.\ VA 67 X K 56 E 65 +(D dd 0 H J3 x 820 B I I July 31, 1962 F. BAUER ETAL 3,047,228
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28, 1958 14 Sheets-Sheet 3 Inventors z I 1 a Attorneys July 31, 1962 F. 1.. BAUER ETAL 3,047,223
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28, 195B 14 Sheets-Sheet 4 67 a a2 65 53 7) m a? .52 6 Fig.5
HEW
0 }4s42/ .aaarsaaaaxaaaraaae} 1 L W J 48 72 \7 NC g w s en -l t b b b l/ i 7 a 3 j 81' l as Zz hm j itorneys July 31, 1962 F. 1.. BAUER ET AL 3,047,228
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28. 1958 14 Sheets-Sheet 5 Inv nip/"5 Mhm M14144- ttor'neys July 31, 1962 F. 1.. BAUER ETAL 3,047,223
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28, 1958 14 Sheets-Sheet 6 @125 12a[ nanmfl 124 Inge/710115 a; M g e X11141. 5' A #M A ttorneys 1952 F. L. BAUER ETAL 3,047,228
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28, 1958 14 Sheets-Sheet 7 :11 m1 E [J 1 4 H a? Fi .9 g3
MM. A tor/rays July 31, 1962 F. L. BAUER 51m. 3,047,223
AUTOMATIC coummc mamas AND ammo 0F opmuon Filed March 28, 195B 14 Sheets-Sheet B and shift signal oper. lumr NC ise NC Inventors July 31, 1962 F. L. BAUER ETAI. 3,047,228
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28, 1958 14 Sheets-Sheet 9 Fig."
from
numbers s'lorage Fig.12 Fig.12a
Fig.9 Fi .1:
igm
Fig.8
In vegtars W A fiorneys July 31, 1962 F. BAUER ETAI. 3,047,223
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28, 1958 14 Sheets-Sheet 10 e a+a-a a+a s In venture;
WI-M A ttomeys July 31, 1962 F. L. BAUER ETAL 3,047,228
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28, 1958 14 Sheets-Sheet 11 [In/en 0 rs July 31, 1962 F. BAUER ETAL 3,047,223
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28, 1958 14 Sheets-Sheet 12 10v ntars a 5 W Sand/w A itar neys July 31, 1962 F. BAUER ETAL 3,047,228
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28, 1958 14 Sheets-Sheet 13 Fig.16
Attorneys July 31, 1962 F. L. BAUER ET AL 3,047,223
AUTOMATIC COMPUTING MACHINES AND METHOD OF OPERATION Filed March 28,1958 14 Sheets-Sheet 14 N 3'? T 8 "f T) o o 0 3 IO E F- L s 3 l. .9 m u. a
C a, 4O a 5 is =3 5'- 3 3 E A Q B J 'l E J 7 8% m (I z: 5: I; 3- s a E r E I: I .2
guns
ttorn eys United States Patent Office 3,047,228 Patented July 31, 1962 3,047,228 AUTOMATIC COMPUTING MACHINES AND O METHOD OF OPERATION Friedr ch Ludwig Bauer, 40 Portschacherslrasse, and Klaus Samelson, l9 Hiltenspergerstrasse, both of Munich, Germany Filed Mar. 28, 1958, Ser. No. 724,770 14 Claims. (Cl. 235-157) This invention relates to automatic, mechanical, electronic or electric computing machines and is particularly concerned with the construction and logical design of computing machines as well as the input and output devices associated therewith.
Known automatic computing devices and data processing systems require instructions as to the manner and order in which numerical or other information processing steps are to be carried out. The pattern of writing out such instructions for each such system, is chosen early in the development of the system in such a way as to describe elementary technological functions of the system. The instructions thus written are usually called a program. The program for a process of calculation, and the mathematical formulas usually used by the mathematicians for describing this process, each characterize one and the same operation, although in two basically different languages.
The translation from the language of mathematical formulas into the program is usually called programming. This translation is in practice a time consuming and generally undesirable procedure, subject to errors. The language of programming is an unusual one for the mathematician and, furthermore, is different for different machines. This diiferentiation of programming technique from machine to machine indicates the extent to which the programming systems of hitherto used machines depend upon the constructional features of the particular machine and how little the mathematical expressions used uniformly throughout the world have been considered by the designers of computing machines.
The drawbacks of the usual programming procedure have been clearly recognized in technical literature for several years. The easiest way to overcome these drawbacks has been to utilize existing computing machines of universal design for certain routine processes of programming, a task which itself represents a data processing problem. There exist today programs which, with certain limitations, effect the whole translation work from the mathematical formula to the program of the computing machine.
These translating programs are very complicated and consequently very voluminous. Small computing devices are not capable of solving such problems. The translation of voluminous formulas requires excessively long times even in medium size systems.
The present invention is concerned with an automatic computing machine which is directly controlled by mathematical formulas written out in conventional style. It represents important advances in the art, both in its design and in its capabilities, as compared with machines employing the usual programming methods. According to the invention, instructions are offered to the control device of the machine in a form of writing essentially identical with the notation of mathematics. Each character of the formula is examined for its meaning and is either immediately operated on or postponed for later recall, preferably in the sequence of its arrival, only until all characters of the formula required for its evaluation have been offered to the control device. A further postponement may, of course, be effected, but is not essential and can only be justified by other advantages lying outside the invention.
The characters of the formula representing numerical symbols, i.e. numbers, are separated from the characters representing operational symbols, and, if they must be postponed, both are fed to storage devices, preferably to two different cellars, namely the numbers cellar and the operations cellar, and are accessible to the control device from these storage devices.
It is preferable to place the characters arriving in the numbers cellar or the operations cellar respectively at the top of the corresponding sequence and to withdraw the characters automatically from the top of the corresponding sequence.
The operational symbols of arithmetic are used, preferably in form of code symbols, for initiating control operations, i.e. machine functions. The time of the final start of the control operation by a code sign is determined, among other things, by the fact that one or more succeeding code signs necessary to the operation have arrived. For this reason the code signs are postpone-d or stored in the operations cellar, and are withdrawn from this operations cellar only when the time of carrying out the operation is reached, the order of presenting said characters being the correct one automatically in case of the above-mentioned sequential ordering in the cellar. In a similar manner, the numbers cellar guarantees that the operations are automatically carried out with the respective numbers as soon as all numerical values required for carrying out the operation are present. The numbers which are to be used in a certain calculation may be represented by digital symbols, for instance in the decimal system, and corresponding code signs.
Those characters of the formula requiring a result, particularly the equality sign, are fed into a special device, namely into the output control.
The method described above in its basic terms is described later on in an embodiment designated as type I, allowing the processing of the most simple formulas.
Another embodiment for carrying out the method of the invention is described in the following paragraphs and designated as type II.
In many cases it is desirable to compute only once certain partial results which are to be used repeatedly, and to designate such results by special symbols, for instance by letters, in writing down the formula. In accordance with the further invention, special characters are used as algebraic symbols of quantities, and code signs associated therewith are used for expressing numbers or groups of numbers, for instance results and partial results in formulas, in such a manner that each character entering the control device for the first time produces a reservation of certain places for a number or a group of numbers within a storage device. A coordination between this place or these places and the respective symbol of the quantity is maintained until further notice. The quantity symbol is used by the control device in formulas as a substitute for the number or group of numbers stored in the corresponding place or places.
The entering of a number into a place designated by the symbol of a quantity in the numerical storage is produced by the result symbol followed by the quantity symbol. It may be of advantage to carry out the above-men tioned reservation of places only with the just mentioned entering of numbers. The operation is postponed if a quantity symbol within a formula arrives in the control device which has not yet been covered by a number in the numbers storage. New information is asked for from outside the machine until the place to be reserved has been occupied by a number.
By using letters as characters it becomes possible to designate the initial values of a calculation from the beginning by letters, so that the mathematical formulas can be Written entirely or partly with algebraic symbols.
Further improvements of the computing device are pos sible by means described in the following paragraphs as type III. While the above-mentioned embodiments provide a computing device using a direct control by formulas and writing out the entire operation, i.e. while the in put and output has the form of mathematically written formulas, it is often desirable to utilize the possibility of repeating formulas. For this purpose the entire incoming information, serving as before as direct formula control, is also stored at the same time in a formula storage. Special characters are used as characterizing symbols for numbering groups of formulas in order to open up further possibilities. Each characterizing symbol arriving for the first time at the control device establishes the coordination between the place occupied by the beginning of the group of formulas in a formula storage and the characterizing symbol, which coordination is maintained until further notice.
In particular it is possible to label the beginning of groups of formulas; the labeling symbol may consist of numbers with the addition of a special sign which identifies the symbol as an address in the formula storage. An asterisk is used for this purpose. Consecutive numbering is not required. It is only necessary to arrange a prestorage before the formula storage. The prestorage shows under the number of each labeling symbol as input the address in the main storage identified by the respective labeling symbol.
The method may further be developed in such a way that the input of a labeling symbol in combination with a special sign, for instance an arrow as jump symbol, suffices to effect a repetition of the calculation or, more generally, that the calculation is continued with the beis entered only into formula storage and the symbols designating the beginning of individual groups of formulas are evaluated in the manner mentioned above. This procedure is automatically interrupted when the labeling symbol of the called-for group of formulas is received. or
when the called-for quantity has been occupied by a numher. The calculation is resumed at the point of interruption, and in the last-mentioned case, the jump is made. When this method is carried out, the calculation is interrupted also when the character last noted in the formula storage has been consumed in the process Without effecting a jump towards an existing label. The information that the formula storage is empty results in the control device asking for new information from the outside, which request is noted in the formula storage and executed at the same time.
Instead of the hitherto described principle of carrying out all operational steps of formula symbols as soon as possible, it is also possible to postpone the operation either entirely or partly until a suitable later time if this should be required.
A special character may be interpreted as symbol meaning no storage, noting down so that following this sign the storing of incoming information is suppressed until further notice. for instance by a dissolving symbol or by the next incoming marking symbol for groups of formulas.
The machine embodying the invention comprises, in its most simple form, a predecoder receiving all characters of the formula in the usual sequence of writing the formula. The predecoder has a number of outputs leading to a number converter, to an operations converter, and to an output control device, as well as to control means for insignificant characters, i.e. characters symbolizing car riage return and the like. The converters of the control device may be connected with a printer. The numbers cellar and the numbers converter are connected in such a manner that the numbers cellar may receive numbers in the sequence in which they come in from the converter and that, furthermore, the first number of the sequence is fed as result to the printer when a corresponding instruction is received.
The operations converter is connected with the operations cellar so that it can supply the operation symbols in the sequence of their arrival, whereby either the lastarrivcd symbol of the previously supplied and upwardly moving symbol or the newly arriving symbol may be supplied to the computing means in order to carry out those operations for which the corresponding operands are present at the top of. the sequence stored in the numerical cellar.
It is preferable that the characters closing a formula, particularly the equality sign or the result sign, cause an examination for sense of formula.
The operations cellar and the numbers cellar may comprise means storing the supplied characters sequentially by moving the stored characters downwardly in the order of their arrival and allowing a withdrawal of the last stored character or of the uppermost of the upwardly moving characters only.
In another embodiment, the operations cellar and/or the numbers cellar may comprise means for storing the supplied characters sequentially. by putting each incoming character on the place before the last arrived character, by marking this place, and by feeding out the character from the place marked last. The computing unit operates with the numbers contained in the uppermost or in the two uppermost stories or levels of the numbers cellar, in conformity with the instructions received from the operation control, and feeds the result again into the uppermost story of the numbers cellar.
The output control means is preferably connected with the numbers celler in such a manner that the connection between the numbers cellar and the printer is completed upon the arrival of an equality sign and an eventually succeeding sign meaning digit required, and that the number contained in the upperstory of the numbers cel lar is supplied entirely or partly to the writing means.
The machine. according to the invention, can also operate with subscript quantities. The calculation with subscripts is carried out in a manner analogous to the calculation with other quantities. For designating subscripted quantities, special characters may be used as subscripting, symbols which mark the beginning and the end of subscripts and the separation between individual subscripts; these signs are fed to special means effecting intermediately an interruption of the current calculation, the evaluation of the expressions in the subscript positions in accordance with the above-mentioned methods, and the selection of the single components of the respective subscripted quantity designated by the subscript values obtained. An example for carrying out such calculations is described below and designated as type IV.
Further features and advantages of the invention will be pointed out in the following description of embodiments, represented in the drawings, in which:
FIG. 1 is a block diagram of a computing machine according to the invention in its most simple embodi ment;
FIG. 2 is a diagram illustrating the operations converter 8 of FIG. 1;
FIG. 3 is a tabular representation of the processing of an illustrative calculation demonstrating the roles of the numbers cellar 11 and operations cellar 12 of FIG. l;
FIG. 4 is a block diagram of a computing machine. including further components not illustrated in FIG. 1:
FIG. 4a is a block diagram similar to FIG. 4, and in eluding components for processing subscripted characters;
FIG. 5 is a schematic representation of the numbers cellar and computer device of the invention;
FIG. 6 is a schematic representation similar to FIG. 5 and illustrating a computing device and numbers cellar having two ring circuits;
FIG. 7 illustrates the predecoder and operations converter of a complete machine in accordance with FIG. 1;
FIG. 8 illustrates the arrangement of the operations cellar of such a complete machine;
:FIG. 9 illustrates the arrangement of the numbers cellar of such a machine;
FIG. 10 illustrates the computer device of such a machine;
FIG. 11 illustrates the output elements of such a machine;
FIG. 12 is a key to the assembly of FIGS. 7 through 11;
FIG. 13 is a block diagram of a combined computer device and numbers cellar of the type illustrated in FIGS. 9 and 10, the interconnections of FIG. 13 with FIGS. 7, 8 and l 1 being shown in FIG. 120;
FIG. 14 shows the numbers cellar adding network of FIG. 13;
FIG. 15 shows the multiplication control of FIG. 13;
FIG. 16 shows the addition control circuit of FIG. 13; and
FIG. 17 shows yet another of the control circuits of FIG. 13.
Throughout the machine 13 line cables have been used and in the drawings the individual lines of such cables are identified with the numerals 0 through 12. In some cases, for convenience, only the first and last lines have been drawn to indicate the entire cable. Furthermore, 13 line cables have been illustrated in some instances in which one or more of the 13 lines is not used. In FIGURE 13, for example, the output of arithmetric unit V is indicated as consisting of V-0 and V-12. These collectively indicate a 13 line cable. It happens that, in this particular cable, line 12 is unused and hence no connection is shown to it in FIGURE l5.
FIG. 1 shows schematically the circuit arrangement of a computing machine of simple design according to the invention, representing type I. In this machine expressions of most simple nature, for instance:
may be computed. The computation is carried out by direct control from the input and the machine answers with the result 6.26575 so that the printer writes down the complete equation The machine comprises an electrical typewriter with the keyboard 1 and printer 2. The keyboard 1 may in clude keys for the following symbols represented by appropriately combined mechanical or electrical signals:
Information N: the ten digits 0, l, 9; the decimal point.
Information Op: 7 operational symbols X B;
the letter B means absolute value.
In the same manner functions of a variable may be added, e.g. reciprocal (R), square root sine (sin) etc.
Information R: the equality symbol and character digit requested" (will not be printed).
Further writing and operational characters without significance to the computing machine may be provided, for instance letters, line feed, carriage return, space etc. which form the information S." In the present example at least twenty characters are of significance to the computing machine, requiring at least five elements or bits for coding.
The coded characters are supplied over a cable 3 to a device 4 which may be designated as formula decoder or central control and which includes the components arranged within the dotted lines. Cable 3 is directly connected to a predecoder 5 having four output terminals. One terminal is connected to the output control 6, another to the numbers converter 7, the third output is connected to an operational converter 8 and the fourth output to a control device 9 for insignificant characters.
The predecoder 5 separates the information G arriving over the cable 3 into the four groups, and supplies them to the respective devices, the information N to the numbers converter 7, the information Op to the operations converter 8, the information R to the output control 6, and the information S to the control device 9.
The machine includes furthermore a computing unit 10 which may be designed in a manner known per se and is able to carry out additions, subtractions, multiplications and divisions. The machine includes furthermore a numbers cellar 11 and an operations cellar 12. The input of the numbers cellar is connected to the numbers converter 7 and to the computing unit 10. The output of the numbers cellar may be selectively connected to the computing unit and the output control 6. The input of the operations cellar as well as its output are connected with the operations converter while the operations converter controls the computer in a manner described be low.
The devices 6, 7, 8 and 9 are all connected over outputs A and a line 13 to the typing elements 2.
FIG. 2 shows the operations converter 8 more in detail in form of a matrix. The cables Op coming from the predecoder 5 are connected to the horizontal lines of the matrix. The cables C coming from the operations cellar 12 are connected to the individual vertical columns of the matrix. The output cables Op and Op" on the righthand side of the matrix are connected to the operations cellar or the computing unit respectively.
The first vertical column of FIG. 2 indicates the symbols arriving on the cable from the predecoder. The uppermost line shows the symbols arriving from the uppermost story of the operations cellar. If now, for example, a plus sign arrives from the predecoder, at the same time when a sign is present in the operations cellar, the operation k is initiated, i.e. the symbol coming from the predecoder is introduced into the operations cellar and stored therein. The letters indicated in the matrix are abbreviations for the following components or operations of the machine:
Table I D: discriminating register (uppermost story of the operations cellar);
E: decoding register (output of the predecoder);
N.C.: numbers cellar;
O.C.: operations cellar;
V: signal beginning of number from numbers converter;
B: absolute value;
R: reciprocal;
@z empty condition of the operations cellar;
f: number into N.C.;
e: 0 into N.C.;
k: E into O.C.;
a: execute D, E into D;
n: raise N.C.;
r: execute D, raise CC. and repeat;
0: raise O.C.;
s: write" (or later store).
Raise" means that the element at the top of DC. or N.C. is discarded.
Execute means that the computer carries out the operation indicated by the content of D with the two uppermost or with the uppermost number respectively present in the numbers cellar. Repeat means that the operation of FIG. 2 is repeated with the new content of D.
E D can also be carried out as lower O.C., E O.C.; O.C. N.C. means to place at the top of CC. or N.C. respectively. The matrix arrangement may be replaced by a triangular array or another logical circuit arrangement of equivalent design as is well known in the art.
In the operation of the device the coded characters, for instance in form of groups of pulses, are supplied from the keyboard 1 to the prcdecoder 5 and are examined therein for their meaning. If they are numbers, the information contained therein is supplied to the numbers converter 7. The point may be changed into an exponent. The signal V may be directed to the operations converter. If the signal is an operational symbol, it is supplied to the operations converter.
In order to explain the operation more in detail, reference is made to FIG. 3 of the drawing, representing in a diagram the operation of the numbers cellar and the operations cellar.
The uppermost line shows a formula the letters a and b representing numbers. The block O.C. below the line represents an operational cellar; the vertical columns S1 to 516 contain the marking symbols which are received during the individual steps of operation. The block N.C. below the block O.C. contains the numbers stored in the numbers cellar. The sign 0 means that no digits are contained in the numbers cellar and the sign means that the operations cellar or the numbers cellar respectively are empty in the downward direction. The first column of the operations cellar is empty, and the numbers cellar contains the number 0. If now the left parenthesis is written on the keyboard, this character is fed into the prcdecoder. The prcdecoder recognizes that the character is an operational symbol and directs it to the operations converter 8. Th operations converter compares the information Op with an information Op' which may be present in the operations cellar and feeds Op to the operations cellar as represented in the column S2 of FIG. 3.
The number a is now written on the keyboard 1 and arrives in the prcdecoder. The prcdecoder recognizes that this is a number and produces a signal V, whereupon the number is fed through the numbers converter 7 to the numbers cellar 11. This step is represented in the third column S3 of FIG. 3. As no further numbers are present, the computer 10 is not yet actuated.
In the next step of operation the keyboard writes the sign This character is supplied by way of the predecoder and the cable Op, as well as the operations converter, into the operations cellar 12, as shown in column S4 of FIG. 3.
In the next step of operation the number b is supplied by the keyboard to the prcdecoder. As this is a number, it is directed to the numbers cellar 11, in which the number a is advanced downwardly. If now the next character consists of a right parenthesis this character is directed to the operations converter which makes a comparison with the information Op from the operations cellar. In accordance with the result of this comparison the information Op" (that is the character l) is supplied to the computer; the computer withdraws the two numbers b and a from the numbers cellar, adds them and supplies the intermediate result c to the numbers cellar. The characters and in the operations cellar are erased as may be seen from columns S6 and S7 in FIG. 3.
The next step consists in delivering the multiplication sign X from the keyboard to the operations converter which enters it in the operations cellar. Now follows the character This character is fed into the operations cellar but produces a number 0 in the numbers cellar as shown in column S9 of FIG. 3, so that the quantity of the parenthetical expression may be computed. If, now, the minus sign follows, this is directed into the till operations cellar containing now three characters. The next step supplies the number u again, which is directed into the numbers cellar (column S11 in FIG. 3). The following characters are processed in a manner similar to the one described in connection with the first parenthetical expression. When the right parenthesis arrives, the sum within the second parenthesis is formed. The multiplication of the intermediate results 0 and d is carried out when the equality sign arrives. This character as well as the character number requested" connects the numhers cellar with the typing elements so that the result may be typed.
FIG. 4 shows the complete layout of a computing machine for carrying out operations of type II and type III.
The computing machine comprises again an electrical typewriter with the keyboard 1 and the. printer 2, as well as the formula decoder 4 receiving the code signals by way of a cable 3 from the keyboard. A punched tape scanner or magnetic tape scanner 20 is provided for feeding the machine, whereas a punch or magnetic recorder 21 serves for recording the results. The operations cellar 12 and the numbers cellar 11 as well as the computing unit 10 correspond to the parts represented in FIG. 1. The machine of FIG. 4 contains furthermore a numbers storage 22 and a formula. storage 23. The numbers storage serves for holding the numbers, whereas the formula storage stores groups of formulas. Both storages may have the form of a magnetic drum storage known per se, or of an array of magnetic cores, or of a storage tube with scanning cathode ray. The formula decoder is connected in a manner similar to FIG. 1 with the operations cellar and the numbers cellar. A further connection exists in the machine of FIG. 4 from the formula decoder 4 to the scanning unit 27 of the numbers storage 22, the places of which are occupied by special empty symbols in the initial condition. The inputs for the scanning unit 27 are preferably letters, e.g. the 26 letters of the alphabet (information B). A special reservation of places is not necessary in type II operations. Further connections exist between the for mula decoder 4, the address decoder 25, and the formula storage 23. A scanning unit 25' is provided for the address decoder 25, serving as address storage for the places in formula storage 23 corresponding to the address as input. When a labeling symbol arrives the address corresponding to the label in the formula storage 23 is taken out of the scanning unit 26 and reintroduced into the respective section of the labels decoder 25. Direct connections are provided from the keyboard 1 or the scanner 20 to the formula storage 23 as well as from the formula storage 23 to the formula decoder 4. A further connection from the formula storage 23 to the typing set 2 is explained below.
The system represented in FIG. 4 may be used to evaluate an expression in simplified form by computing the expression 2.27-l- 3.328 only once and by designating it by an algebraic quantity symbol, e.g. the letter z. Furthermore, the above-mentioned result sign is used as a symbol and code sign initiating the use of the quantity symbol and the holding of the partial results under an address selected as indicated below. This is written in the following manner:
The machine answers this input by placing the result be hind the equality sign. If the partial result is to be written down the expression z: is inserted after the sign z whereupon the machine answers with the partial result 5.598. In writing down this result the second line from the character x up to the equation sign follows. The complete written out statement reads then:
The results or answers are underlined. They may be printed in colors. The storage of the partial results is effected in the numbers storage 22. This numbers storage contains a multi-place storage position for each letter, the partial result corresponding to the respective letter being stored in these storage positions. By searching for the respective letter the stored partial result can be taken out of the numbers storage and can be fed to the numbers cellar or to the computer or to the printer.
The computing operations of type III, particularly the repetitions of instructions, become possible by using the formula storage 23. The asterisk sign following a number, eg 33*, indicates that the label decoder is to respond to the number 33 by giving the address in the formula storage where the formula following the label 33* begins. The repetition of a formula is effected by the jump symbol and by adding the desired labeling symbol. The repetition may be dependent upon conditions in a manner known per se. This requires also the introduction of code signs with symbols or with the usual meaning.
Assume that it is intended, for instance, to compute the square root r/gfrom the positive number a in accord- I ance with the method of Newton by approximation. As
a first approximation, the number 1 is used.
The formulas following 33* are to be repeated. The arrow sign initiates the operation which is usually called a jump" because the computation is repeated from the place which has been noted under the input 33 of the prestorage. The .r is the limit for the admissible difference; the operation ceases when this limit is reached. The machine operates then with empty formula storage and requires new information.
Special measures are required when, in the evaluation of alternatives, a branch of the fork can be reached only by a forward jump.
Example:
The labels decoder signalizes in this case "17* not occupied. The writing down of the incoming code signs is continued undisturbed. The immediate execution is, however, interrupted for the time being with the exception of noting the beginnings marked by the symbol which must, of course, be carried out. The operation is resumed at the moment in which the asked-for address 17 in the labels decoder is occupied by the characters 17*; at this point the operation is continued as before.
The equality sign of type II, which is now noted in the formula storage, effects as above the printing of the intermediate result of the operation. The number of desired digits inclusive of the position of the point may be prescribed by inserting digit requested symbols and corresponding code signs. If a digit requested" symbol is not present the whole number of digits is asked for.
The following modifications may be of advantage: If an equality sign is followed by a besides digit requested" symbols and a point, this character and the subsequent quantity symbol shall also be printed. The storage connected with the character is not influenced thereby.
Example: The formula storage contains The printer writes y.
The operation 0 into N.C." indicated in FIG. 2 under the inputs for E and for D must be suppressed if, as in the example. the equality is followed immediately by the character An embodiment of the numbers cellar is represented in FIG. 5. This embodiment has the special feature that the numbers cellar is combined with the computing unit in order to obtain a most simple arrangement.
The numbers cellar N.C. includes a chain of storage elements; FIG. 5 shows the elements 30 through 39. These storage elements are arranged adjacent to an accumulator element 40 receiving the numbers from the outside from the number converter 7. A chain of storage elements is arranged on the other side of the accumulator element 40. This chain is designated as appendix and includes the elements 41 through 48. The arrangement includes furthermore a ring register 86 consisting of storage elements, in the present case 17 elements 50 through 66. This number may be larger or smaller and is chosen only for the purpose of representation. The element 67 of the ring is connected to the accumulator element 40 and is used as addend register. A counter 68 is connected to the connecting line between the accumulator element 40 and the element 67.
When the numbers a and b are to be added with this arrangement, the number a is introduced from the number converter 7 by way of the accumulator element 40 into the numbers cellar. This number is then introduced into the ring so that the ones digit occupies the storage element 50, the tens digit occupies the element 51, the hundreds digit occupies the element 52 etc. The number b is then introduced into the numbers cellar in such a manner that the most significant digit occupies the element 30 and the succeeding less significant digits are introduced into the following elements (the numbers cellar may contain further previously introduced numbers in further storage positions: these numbers are shifted towards the right in FIG. 5 when a further digit of a number is introduced.) The next operation is the shifting of the operand b from the numbers cellar towards the left into the appendix until the last digit, i.e. if it is a number without point, the ones digit arrives in the storage element 41.
In order to take care of the point existing in the number a counter 68 is used. This counter is connected to the adding element 67. The counter is counted up when the number a is shifted from the numbers cellar into the ring and counts therefore how many places behind the point are present. When the number b is shifted from the numbers cellar into the appendix the counter is counted down from the place of the point on. Two cases should be distinguished:
(1) When the counter is set to zero before the final character arrives, i.e. in case the number b has more digits behind the point than the number a, the ring is shifted synchronously up to the final character. i.e. zeros are introduced into the ring and the number a moves fur ther into the ring in the direction of the arrow 71.
(2) When, however, in the other case the final sign arrives before the counter has been set to zero, i.e. when the number I) has less marks or digits behind the point than number a, zeros are introduced into the appendix until the counter reaches zero.
The numbers a and b are now positioned in such a manner that in the following addition the points of the two numbers meet simultaneously in the elements 40 and 67 respectively. In carrying out the addition, the numbers present in the element 67 or in the accumulator 40 respectively are added and the result is introduced into the numbers cellar. The zeros which have been introduced either into the ring or into the appendix are added With the digits of the number which are taken out of the appendix or of the ring. The addition is carried out successively for each mark or digit of the number and takes into account the carryover in a known manner until the first end character arrives. If the end character arrives first in the element 67, the addition continues until the second end character arrives in the accumulator. If the end character arrives first in the accumulator, zeros are added until the end character arrives also in the element 67. Any carryover which may be present is then noted and the number is shifted one more place into the numbers cellar.
In carrying out a multiplication the arrangement operates as follows: for simplifying the description the mul tiplier is abbreviated as mcr and the multiplicand as mand. It may be assumed that the mcr has been introduced into the numbers cellar before the mand. Then the mand is shifted into the ring as in carrying out an addition and the counter is counted up from the point. Zeros are then introduced into the appendix. The next step is to examine the most significant place of the mcr and to store it if it differs from zero. Then the mand and the appendix are added as in carrying out an addition. The mand is shifted undestroyed into the ring in the direction of the arrow 70. When the last-place of the mand is reached the final carryover is effected also in case it is Zero. The number present in the ring is then shifted back in the direction of the arrow 71 and the first partial sum in the numbers cellar is shifted synchronously in the direction of the arrow 72 into the appendix until the initial position of the mand and at the same time of the partial sum in the appendix is reached. The next addition of the mand follows and a new partial sum is formed in the numbers cellar, while the mand is shifted back in the ring with simultaneous shifting of the new partial sum into the appendix. This operation is repeated as many times as the first digit of the mcr indicates.
The partial sum is then shifted for one place in order to carry out the multiplication with the next decimal mark or digit of the rner until all digits of the mer have been exhausted. The marks or digits of the mer al ready used up can be discarded step by step. When the end character in the mer arrives, the result is shifted into the numbers cellar.
The counter is counted up during the multiplication process for each digit of the mer until the point of the mcr arrives. The counter 68 is then stopped. When the results is shifted into the numbers cellar the counter is counted down for each shift, and the point is set as soon as the counter indicates zero.
Another example of a numbers cellar combined with the computer is represented in FIG. 6. in this case. the numbers cellar N.C. has the form of a ring 81 with n digital elements. The individual elements of the ring consist again of storage cells which are able to shift their contents into the next succeeding storage element in the direction of arrow 84 when a new digit is introduced at the element A smaller ring 82 having in elements with the same shifting properties and a fixed element Zm as point of introduction is provided for carrying out the function of a multiplicand-divisor-register (abbreviated MD register). An adding device as Well as a transfer device are provided between the input elements Zz of the numerical cellar and Zm of the MD register. The MD register is at the same time the uppermost story of the numbers cellar and therefore is always occupied by the uppermost operand (addend, multiplicand, divisor).
12 The operations of addition, subtraction, multiplication and division are explained below, each in an example.
For carrying out an addition or subtraction the following problem is to be solved:
In this case a is a number with the marks or digits a a a and b a number with the marks or digits b b h The number a is introduced into the MD register in such a manner that a is located at the left of Zm and the remaining digits of the number follow on the left side.
The number b is introduced into the numerical cellar 81 in such a manner that the digit b is located at the right of the input element Zz in element Zp and the remaining digits follow to the right-hand side. At the beginning of the operation a shifting towards the left side in the numbers cellar in the direction of the arrow 83 is initiated simultaneously with a shifting towards the right side in the MD register in the direction of the arrow 87 until the two decimal points are present in the input elements Z1.
The addition b +a +carry-over= c is now carried out digit by digit into Zz and a simultaneous shifting in the direction of arrows 84 and 87 of NC and MD up to the highest digit or b The digits c of the result are introduced beginning with c (highest carryover) from the numbers cellar 81 into the MD register while simultaneously shifting the two rings towards the left up to the digit c Zeros or empty characters may be introduced simultaneously into the numbers cellar at the left of Zz. A further shifting of the MD register in the direction of the arrow 85 follows in the second of the above-mentioned cases, until the digit c =a arrives in Z or has just passed this input point.
The subtraction is carried out in an equivalent manner. For a multiplication, e.g.
the original position is the same as for the addition. The digit present in the cell Zp may be the multiplier. At the left of h the numerical cell is occupied by zeros. The multiplication is carried out by m repetitions of the following cycle: The content a of the MD register is multiplied digit by digit with the mcr digit in Zp and the MD register as well as the numbers cellar are shifted simultaneously towards the right. The multiplication is effected by adding MD into the places to the left of Zp as many times as the number present in Zp indicates. Then the MD register and the numerical cellar are shifted towards the left until the MD register is again in its initial position in which a is located at the left of the input element Zm. Then the old mcr which is now again in the element Zp is erased and the numbers cellar is shifted towards the left for one mark or digit whereby the next mark or digit of the mer is moved into element Zp. This cycle is then repeated until number [1 has been completely used up. The position of the decimal point is determined by counting the places behind the point in both factors.
The product 1: is found after carrying out this operation at first without point in the numbers cellar at the left of the input element Zz. The product c is transferred into the MD register by shifting the numbers cellar and the MD register towards the right and introducing the point. Subsequently, the two rings are shifted towards the left until the last place of the result 0 is located at the left of the input element Z and the first place of the number following I) at the right of the element Zp.
A division is carried out by repeated subtraction of the divisor from the dividend and by subsequent single back addition of the divisor for setting back the re mainder. It is also possible to effect subtraction and addition alternatively in the manner known as non-restor-
US724770A 1957-03-30 1958-03-28 Automatic computing machines and method of operation Expired - Lifetime US3047228A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US724770A US3047228A (en) 1957-03-30 1958-03-28 Automatic computing machines and method of operation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DEB44122A DE1094019B (en) 1957-03-30 1957-03-30 Method for the automatic processing of coded data and calculating machine for practicing the method
US724770A US3047228A (en) 1957-03-30 1958-03-28 Automatic computing machines and method of operation

Publications (1)

Publication Number Publication Date
US3047228A true US3047228A (en) 1962-07-31

Family

ID=25965190

Family Applications (1)

Application Number Title Priority Date Filing Date
US724770A Expired - Lifetime US3047228A (en) 1957-03-30 1958-03-28 Automatic computing machines and method of operation

Country Status (1)

Country Link
US (1) US3047228A (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3213427A (en) * 1960-07-25 1965-10-19 Sperry Rand Corp Tracing mode
US3238505A (en) * 1961-04-21 1966-03-01 Honeywell Inc Information handling apparatus
US3251042A (en) * 1962-06-14 1966-05-10 Burroughs Corp Digital computer
US3252145A (en) * 1960-07-07 1966-05-17 English Electric Co Ltd Electric data storage apparatus
US3293616A (en) * 1963-07-03 1966-12-20 Ibm Computer instruction sequencing and control system
US3343135A (en) * 1964-08-13 1967-09-19 Ibm Compiling circuitry for a highly-parallel computing system
US3353163A (en) * 1961-12-27 1967-11-14 Scm Corp Data processing with typewriter inputoutput device and typewriter carriage controlled program means
US3355714A (en) * 1963-10-21 1967-11-28 Bunker Ramo On-line computing system for processing mathematical functions
US3380027A (en) * 1965-02-01 1968-04-23 Bendix Corp Electronic computer system
US3421149A (en) * 1966-04-06 1969-01-07 Bell Telephone Labor Inc Data processing system having a bidirectional storage medium
US3461434A (en) * 1967-10-02 1969-08-12 Burroughs Corp Stack mechanism having multiple display registers
US3496550A (en) * 1967-02-27 1970-02-17 Burroughs Corp Digital processor with variable field length operands using a first and second memory stack
US3530440A (en) * 1968-08-26 1970-09-22 Hewlett Packard Co Data processing system including controllable means for directly interconnecting the input and output units
US3546679A (en) * 1968-05-08 1970-12-08 Gen Corp Method for dynamic controlling of magnetic core register
US3573851A (en) * 1968-07-11 1971-04-06 Texas Instruments Inc Memory buffer for vector streaming
US3725873A (en) * 1971-04-07 1973-04-03 Singer Co Calculator having a sequential access stack
US3725869A (en) * 1969-11-25 1973-04-03 B Sokoloff Computer device
US3854124A (en) * 1966-11-21 1974-12-10 Friden Inc Electronic calculator
US3889243A (en) * 1973-10-18 1975-06-10 Ibm Stack mechanism for a data processor
JPS5034384B1 (en) * 1971-12-06 1975-11-07
US3978452A (en) * 1974-02-28 1976-08-31 Burroughs Corporation System and method for concurrent and pipeline processing employing a data driven network
US3995148A (en) * 1974-09-05 1976-11-30 Canon Kabushiki Kaisha Electronic calculator having an exponentiation function
US3996562A (en) * 1964-06-26 1976-12-07 Hewlett-Packard Company Programmable electronic calculator for evaluating mathematical problems
US4158233A (en) * 1971-12-27 1979-06-12 Hewlett-Packard Company Programmable calculator including means for performing implied multiply operations
US4164789A (en) * 1975-10-23 1979-08-14 Canon Kabushiki Kaisha Electronic apparatus for dealing with numerical information
US4309761A (en) * 1964-06-26 1982-01-05 Hewlett-Packard Company Calculator for evaluating numerical answers to problems
US5321836A (en) * 1985-06-13 1994-06-14 Intel Corporation Virtual memory management method and apparatus utilizing separate and independent segmentation and paging mechanism

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2344885A (en) * 1938-10-21 1944-03-21 Int Standard Electric Corp Electrical calculating equipment
US2604262A (en) * 1949-01-19 1952-07-22 Ibm Multiplying and dividing means
US2797862A (en) * 1951-11-08 1957-07-02 Bell Telephone Labor Inc Digital computer
US2801406A (en) * 1955-03-30 1957-07-30 Underwood Corp Alphabetic-numeric data processor
US2805409A (en) * 1955-09-14 1957-09-03 Sperry Rand Corp Magnetic core devices
US2815168A (en) * 1951-11-14 1957-12-03 Hughes Aircraft Co Automatic program control system for a digital computer
US2834543A (en) * 1952-07-12 1958-05-13 Monroe Calculating Machine Multiplying and dividing means for electronic calculators
US2848166A (en) * 1955-11-03 1958-08-19 Ibm Counter
US2856595A (en) * 1954-06-09 1958-10-14 Burroughs Corp Control apparatus for digital computing machinery
US2874901A (en) * 1954-12-08 1959-02-24 Thomas G Holmes Tally instruction apparatus for automatic digital computers
US2933720A (en) * 1956-12-31 1960-04-19 Rca Corp Magnetic memory systems

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2344885A (en) * 1938-10-21 1944-03-21 Int Standard Electric Corp Electrical calculating equipment
US2604262A (en) * 1949-01-19 1952-07-22 Ibm Multiplying and dividing means
US2797862A (en) * 1951-11-08 1957-07-02 Bell Telephone Labor Inc Digital computer
US2815168A (en) * 1951-11-14 1957-12-03 Hughes Aircraft Co Automatic program control system for a digital computer
US2834543A (en) * 1952-07-12 1958-05-13 Monroe Calculating Machine Multiplying and dividing means for electronic calculators
US2856595A (en) * 1954-06-09 1958-10-14 Burroughs Corp Control apparatus for digital computing machinery
US2874901A (en) * 1954-12-08 1959-02-24 Thomas G Holmes Tally instruction apparatus for automatic digital computers
US2801406A (en) * 1955-03-30 1957-07-30 Underwood Corp Alphabetic-numeric data processor
US2805409A (en) * 1955-09-14 1957-09-03 Sperry Rand Corp Magnetic core devices
US2848166A (en) * 1955-11-03 1958-08-19 Ibm Counter
US2933720A (en) * 1956-12-31 1960-04-19 Rca Corp Magnetic memory systems

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3252145A (en) * 1960-07-07 1966-05-17 English Electric Co Ltd Electric data storage apparatus
US3213427A (en) * 1960-07-25 1965-10-19 Sperry Rand Corp Tracing mode
US3238505A (en) * 1961-04-21 1966-03-01 Honeywell Inc Information handling apparatus
US3353163A (en) * 1961-12-27 1967-11-14 Scm Corp Data processing with typewriter inputoutput device and typewriter carriage controlled program means
US3251042A (en) * 1962-06-14 1966-05-10 Burroughs Corp Digital computer
US3293616A (en) * 1963-07-03 1966-12-20 Ibm Computer instruction sequencing and control system
US3355714A (en) * 1963-10-21 1967-11-28 Bunker Ramo On-line computing system for processing mathematical functions
US4309761A (en) * 1964-06-26 1982-01-05 Hewlett-Packard Company Calculator for evaluating numerical answers to problems
US3996562A (en) * 1964-06-26 1976-12-07 Hewlett-Packard Company Programmable electronic calculator for evaluating mathematical problems
US3343135A (en) * 1964-08-13 1967-09-19 Ibm Compiling circuitry for a highly-parallel computing system
US3380027A (en) * 1965-02-01 1968-04-23 Bendix Corp Electronic computer system
US3421149A (en) * 1966-04-06 1969-01-07 Bell Telephone Labor Inc Data processing system having a bidirectional storage medium
US3854124A (en) * 1966-11-21 1974-12-10 Friden Inc Electronic calculator
US3496550A (en) * 1967-02-27 1970-02-17 Burroughs Corp Digital processor with variable field length operands using a first and second memory stack
US3461434A (en) * 1967-10-02 1969-08-12 Burroughs Corp Stack mechanism having multiple display registers
US3546679A (en) * 1968-05-08 1970-12-08 Gen Corp Method for dynamic controlling of magnetic core register
US3573851A (en) * 1968-07-11 1971-04-06 Texas Instruments Inc Memory buffer for vector streaming
US3530440A (en) * 1968-08-26 1970-09-22 Hewlett Packard Co Data processing system including controllable means for directly interconnecting the input and output units
US3725869A (en) * 1969-11-25 1973-04-03 B Sokoloff Computer device
US3725873A (en) * 1971-04-07 1973-04-03 Singer Co Calculator having a sequential access stack
JPS5034384B1 (en) * 1971-12-06 1975-11-07
US4158233A (en) * 1971-12-27 1979-06-12 Hewlett-Packard Company Programmable calculator including means for performing implied multiply operations
US3889243A (en) * 1973-10-18 1975-06-10 Ibm Stack mechanism for a data processor
US3978452A (en) * 1974-02-28 1976-08-31 Burroughs Corporation System and method for concurrent and pipeline processing employing a data driven network
US3995148A (en) * 1974-09-05 1976-11-30 Canon Kabushiki Kaisha Electronic calculator having an exponentiation function
US4164789A (en) * 1975-10-23 1979-08-14 Canon Kabushiki Kaisha Electronic apparatus for dealing with numerical information
US5321836A (en) * 1985-06-13 1994-06-14 Intel Corporation Virtual memory management method and apparatus utilizing separate and independent segmentation and paging mechanism

Similar Documents

Publication Publication Date Title
US3047228A (en) Automatic computing machines and method of operation
US3328763A (en) Electronic desk-type computer
US3304418A (en) Binary-coded decimal adder with radix correction
Berkeley et al. The programming language LISP: Its operation and applications
US3161763A (en) Electronic digital computer with word field selection
US4091446A (en) Desk top electronic computer with a removably mounted ROM
US3286236A (en) Electronic digital computer with automatic interrupt control
US3015441A (en) Indexing system for calculators
Bottenbruch Structure and use of ALGOL 60
US3634666A (en) Electronic desk top calculator having a delay line and automatic decimal alignment
US4462102A (en) Method and apparatus for checking the parity of disassociated bit groups
US3213427A (en) Tracing mode
US3748450A (en) Numerical base translator
US3153775A (en) Table look-up system
Dunwell Design objectives for the IBM STRETCH computer
US3996562A (en) Programmable electronic calculator for evaluating mathematical problems
Peterson Computer organization and assembly language programming
Bloch et al. The logical design of the Raytheon computer
US3781807A (en) Stored program electronic computer using macroinstructions
US3508037A (en) Decimal add/subtract circuitry
US3531632A (en) Arithmetic system utilizing recirculating delay lines with data stored in polish stack form
US3378819A (en) Data processing system with indirect addressing
US3319056A (en) Multiplication unit operating serially by digit and parallel by bit
US4309761A (en) Calculator for evaluating numerical answers to problems
US3492655A (en) Data processing for bank proof machine