Patent GB-1208581-A (GB)
Title: Program apparatus for electronic computers
IPC: G06F15/02
Filed: 1967-10-03
Abstract: 1,208,581. Computers; programme control arrangements. SINGER CO. 3 Oct., 1967 [25 Nov., 1966], No. 44869/67. Headings G4A and G4C. In a program apparatus in which a plurality of program instruction characters comprising a plurality of separate programs are recirculated" in a delay line memory and each program is preceded by a marker character followed by an identification character or characters, programs are selected for execution by feeding the characters in sequence to an operation register and comparing the characters following the marker characters with a request character in a common register. Successive instruction characters during execution of a program are indicated by a further movable marker character. An automatic billing and accounting electronic digital computer (Fig. 1) comprises an electric typewriter unit 33, a paper tape reader 37, a paper tape punch 35 and a control and processor unit 12 including a magnetostrictive delay line 74 (Figs. 3 and 4c) for storing a plurality of program instructions and a similar arithmetic delay line 84. The program instructions may comprise one, two or three 6-bit characters each and are circulated in a continuous train through the delay line 74 as shown in Fig. 3. The first character of the train comprises a single pulse for synchronization purposes. The next two characters are used for address storage (described below). The program instructions then follow in sequence up to a total of 1120 characters. A plurality of separate programs may be stored in sequence. The data train is followed by a blank home period. In the idle condition, data from the delay line 74 is recirculated by way of a line 120 and input select control 85. During instruction loading and retrival operations, the data train may be recirculated through a search register 80 or a common register 78 connected to the input/output devices. Data may also be selectively passed to or received from operation register 82. Program loading.-In the load made, selected by a switch 45 (Fig. I) and indicated by a lamp 46, each instruction character is received into the common register 78 in turn from the keyboard 16 or tape reader 37 whilst the program train from line 74 is recirculated through the search register 80 until a load marker character detected by its decoder 75 whereupon the stepping of the data through search register 80 is interrupted for one character period to allow the new instruction character to be inserted from the register 78. The load marker is then shifted in position as the program is gradually loaded. A counter guards against over-running the available storage space.. Each program is separated from the preceding one by a program marker character which is followed by an identification character or characters. Program execution, instruction retrieval.-In the normal operate mode, indicated by a lamp 54, a program is selected merely by keying in its identification character (only one being allowed in this mode). The identification character is stored in the common register 78 whilst the output of the delay line 74 is passed to the operation register 82 in parallel with the recirculation of the data train through line 120. When a program marker character is detected by operation register decoder 77, the character following it is compared with the contents of the common register 78 by shifting the contents of this register in a closed loop in synchronism with the arrival of the delay line signals. This is repeated with each program marker character until the required identification character is located whereupon an instruction marker character from register 80 is inserted in the data train and all subsequent program instructions delayed for one character period by switching the recirculation path through register 80. During the next cycle, the data train is recirculated through register 80 until the instruction marker character is detected, the next character (the instruction character about to be executed) is passed in parallel to the operation register 82 for storage and decoding and also directly to the delay line 74 by line 120 and then all subsequent characters are again recirculated through register 80. By this means, the instruction marker character and the first instruction character have been reversed in order whereby after execution of the current instruction and repetition of the search procedure, the next instruction character in sequence will be retrieved. A program ends on decoding a program marker character as the next instruction. If the instruction character in register 82 is decoded as a multicharacter instruction, then the character or pair of characters immediately following the main instruction character (the address character) are accessed during succeeding cycles. In the case of a single address instruction, the address character is copied into register 78. In the case of a double address instruction, the first address character is copied into the register 78 and from there to a control counter (127, Fig. 4, not shown) and the second address character is then copied into the register 80 (recirculation in the cycle taking place via register 78). The identity of the current program is stored during its execution in the program address storage at the head of the data train (Fig. 3). Particular instructions.-For unconditional branching, a search is made for a program having as its identity character the address character of the unconditional branch instruction. The identity of this branch program, during its execution, is stored in the branch program address storage, at the head of the data train (Fig. 3). For conditional branching, after checking for a particular arithmetic result (positive or negative), a search is made starting with the beginning of the current program (identified by one or other of the two storage positions at the head of the data train) for a particular instruction, that is a so-called resume instruction followed by the address character of the conditional branch instruction. The search does not stop at the end of the current program but continues through the whole of the stored data in wrap round manner. The halt instruction enables for example manual typing to be performed until the carriage actuates one of the field control switches. Other instructions including ones for controlling input/output devices are referred to. Translate mode.-The computer may be loaded with a translate program and a translate mode selected (switch 47, Fig. 1), whereby programs may be assembled (and punched on to paper tape) using plain language terms. By using different translate programs, terms in different languages may be accepted. Individual languages may be developed. Each plain language term may correspond to one or a plurality of machine instructions. Although the computer accepts terms of any length and terms may comprise one, two or three words, only three characters are actually stored for identification purposes. Initially the first three characters of the first word are selected. If these three characters are not identified in this translate program then a further search is made for the first character of the first word and the first two characters of the second word (the words being separated by operation of the space key). If this search fails a third search is made for the first characters of each of the first three words. If this search fails, an error routine is entered. As an example, the program or operation identified in the delay line by the characters SIT would be equated with the input instruction STORE INVOICE TOTAL at the third of the above three searches. The translate mode may also be used for instructions or programs to be performed immediately. In the translate mode, when searching for a program identified by three characters, these three characters are stored in registers 82, 80 and 78 which are effectively connected as one long shift register for comparison purposes. A special translate program marker is used to indicate that the following program has a three-character identity. Other details.-At the rear of the typewriter carriage 60, Fig. 2 (not shown), is a plate carrying cams for actuating field control switches at predetermined positions of the carriage. The computer includes a type-only switch 51 (Fig. 1) for isolating the typewriter from the computer and a reset switch for clearing an error condition. Parity of the characters reached from the eight-channel input tape is checked in register 78.