Patent GB-1103384-A (GB)
Title: Improvements in or relating to electronic computers
IPC: G06F9/00
Filed: 1965-03-01
Abstract: 1,103,384. Electronic computers. ING. C. OLIVETTI & C. S.p.A. 1 March, 1965 [2 March, 1964], No. 8683/65. Headings G4A and G4C An electronic computer has a cyclic serial memory in the form of a delay line and adapted to contain the contents of a plurality of registers arranged in bit interleaved fashion. Counting and addressing operations within each memory register are performed by utilizing tag bits associated with the stored data characters instead of by conventional counters and address registers. The computer operates in a sequence of statuses, the progression in the sequence being determined by the operation being performed. General arrangement.-The computer comprises a memory LDR, Fig. la, in the form of a magnetostrictive delay line and including ten 22-character registers I, J, M, N, R, Q, U, Z, D, E, each character comprising eight bits. The registers are interleaved by bit in the memory. Registers I and J are instruction registers each capable of storing 22 instructions, each instruction comprising a 4-bit operation portion B5-B8 and a 4-bit operand address portion B1-B4. The remaining registers are addressable by instructions and store numbers, each 8-bit character comprising four bits B5-B8 for a binary-coded-decimal digit, bits B1-B4 storing various tag bits: B4 for indicating the decimal point, B3 a sign bit, B2 indicating the presence of a significant decimal digit; B1 is a control bit. Thus the B1 bits in the first and last characters of registers R, E, respectively start and stop a pulse generator 44, Fig. 1b. Bits B1 in the register N indicate the location of the next instruction in registers I or J. Bits B1 in register M indicate the operative location in an input or print-out operation, and in an addition operation that digits in register N require correction by adding a filler digit. Bits B1 in register U indicate the location of an instruction interrupted for a subroutine. The computer includes a serial binary adder 72 (Fig. 4, not shown) having a flip-flop to store a decimal carry when the sum of two binary coded digits lies between ten and fifteen. A shift register K may be connected to the delay line to provide a 1-character delay in the circulation loop. The shift register K can also act as a counter by connecting it to the adder 72; as a buffer memory for an output printer 21; and as a parallel-to-serial converter for input data from the computer keyboard 22. The keyboard 22 comprises a ten-key numeric keyboard 65, an address keyboard 68 and a function keyboard 69, the three keyboards controlling a mechanical code-bar decoder co-operating with electric switches for producing the binary signals. The computer can execute instructions for the four rules, transfer from the register M, into the register N, print-out, programme stop, conditional and unconditional jump. The computer can operate in three modes: "manual," " automatic " and " entering programme " according to the position of a switch 23. In automatic operation, instruction-extract and instruction - execute phases alternate automatically. In manual operation, the input register M is automatically addressed and a selected arithmetic operation may be performed on a number entered via the keyboard into the register M. Bistable circuits in a " condition staticizer " circuit 25 (Fig. 6, not shown) are arranged to indications of various conditions in the computer. Thus a flip-flop A0 is controlled by the B2 bit positions of register M to be energized during the time significant digits are read out of the register M. Flip-flops A1, A2 perform the same function for registers N"Y where Y is a register being currently addressed. The computer operates in one of a plurality of statuses P1-Pn, the current status being indicated by the condition of a flip-flop P1- Pn, Fig. lb, the next following status being determined by a logical network 27. Printer.-The printer 21 comprises a rotatable type drum co-operating with a hammer movable stepwise parallel to the axis of the drum, a timing disc controlling the character to be printed. Starting computer operation.-Initially, a general reset button AG is depressed. Next, a start button AV is depressed which causes the computer to enter status P21 in which the shift register K is connected with the adder 72 and acts as a counter, thereby causing the control circuits to enter a start bit in the register R and a stop bit in the register E, these bits being effective to control the pulse generator 44 during subsequent operations. Number entry. Status P21 is followed by status P0 in which data may be entered into the memory register M from the keyboard, the register M being connected to the shift register K to form a closed loop. If a negative number is to be entered, depression of a minus sign key causes a negative sign bit B3 = " 1 " to be written in all the decimal denominations of the register M. The required numeric key is then depressed, and subsequently the binary coded value of the digit is entered in that denomination of register M which is first available after the operation of the numeric key, together with a tag bit in the B1 position of that character. Subsequent digits are entered in a similar way, each new digit being entered in the decimal denomination preceding the denomination of the last entered digit, under the control of the B1  bit whose denomination is shifted with each entry. A decimal point is entered by depressing decimal point key 67 after entering the units digit whereby a decimal point is written in bit position B4 of the units digit character. In manual operation, in the status P0, a number is first entered, followed by the address of a register, followed by the entry of a function on the function keyboard 69, the address and function being transferred to an instruction register 16 to effect the desired operation. Transfer between registers.-This is effected during a complete memory cycle during which the computer is in status P2. A switching network 36 effecting the desired connections between the registers. Alignment of numbers in the registers.- Alignment to bring the units digit into the first decimal position is effected during status P3, the switching network 36 connecting the output and input of the register to be aligned to the input and output of the shift register K so that during each memory cycle the content of the register K is delayed by one digit period, until the decimal point indicator is detected in the first position of the register. Similarly, in status P14, a number may be shifted until its most significant digit is in the first position. Preparatory to print out, a number may be shifted to bring its least significant digit into the first decimal denomination, thereby eliminating non-significant zeros. Sign comparison.-In status P9, a circuit 64 (Fig. 4, not shown) is effective to compare the signs of the numbers in two registers, a bi-stable device A8, energized at the beginning of the comparison, being de-energized should disagreement occur. Addition and subtraction.-Addition is effected in a plurality of memory cycles. In a first cycle, the computer is in status P5, a carry being transmitted if the sum of two decimal digits is greater than 9. A tag bit is recorded in each decimal denomination in bit positions B1 of the sum register M to indicate any necessary correction to the sum digit. In the second memory cycle, the computer is in status P6, a filler digit 6 is added to each sum digit which has produced a decimal carry. In the case of subtraction, which is effected by addition of complements, the appropriate filler digit corrections are also effected during the second memory cycle under the control of tag bits B1, except that if the minuend is less than the subtrahend, a third and fourth memory cycle are required for the addition of unity and correction of this new result. The addition is performed by first aligning the two numbers in registers M and N with respect to their decimal points, the switching network 36 being then effective in status P5 to connect the registers M and N to the adder 72. On conclusion of the addition or subtraction operation, the next following status is either P17 (extract the next instruction) if the computer is in automatic mode or P18 (print out the first addend) if the computer is in the manual mode. In a modified arrangement for addition and subtraction, in a first memory cycle in which the computer is in status P40, the number M is added to the complemented number N to determine whether N is greater than M or not. In a second memory cycle, M is added to N, the greater of the two numbers being complemented to 15 if a subtraction is required. In a third memory cycle, in which the computer is in status P60, digit correction is performed by adding the filler digit + 6 to each sum digit which has produced a final binary carry. The digits of the result are recomplemented if a subtraction is required. Multiplication and division.-These are performed by repeated addition and shift; and repeated subtraction and shift, respectively, the sequence of statuses being as in Fig. 8b (not shown). Print-out.-A print-out operation requires a sequence of three computer statuses P18, P19, P22. In status P18, the shift register K is connected to the adder 72 so as to act as a counter for counting pulses derived from the printer timing disc, a bi-stable device A7 (Fig. 6, not shown) compensating for the phase difference between the signals from the disc and the clock pulses from the generator 44. The shift register K is initially preset with the number to be printed, and when the value 16 is reached, the printing hammer is actuated. The contents of the instruction staticizer 16 are first printed out followed by the contents of the addressed register, which is connected by the switching network 36 to the shift register K. A tag bit B1 in register M is employed to identify the next digit to be printed. A