Patent GB-1163462-A (GB)
Title: Data Processing Apparatus
IPC: G06F15/78
Filed: 1967-08-22
Abstract: 1,163,462. Data processing; data storage registers. INTERNATIONAL BUSINESS MACHINES CORP. 22 Aug., 1967 [28 Sept., 1966], No. 38671/67. Headings G4A and G4C. [Also in Division H3] In data processing apparatus, a register has a plurality of binary stages, a common set input and a common reset input, and is arranged so that data entered therein can be EXCL-ORed with data already in the register. General.-Fig. 1 shows storage STG (addressed by either of two registers SAR), registers SDR, AX, A, C, B, BX, a carry generator CLA, a straight-cross unit which passes one, both or neither halves of a word in SDR, interchanged or not, except that when passing neither half (quiescent state) the output is all ones, and a "funnel" which simply passes the signals on a selected one of its input busses to its output buss. Registers.-Fig. 2 shows a bi-stable trigger 50 with D.C. set and reset inputs applied via diodes 64, 65, and A.C. set and reset inputs applied through capacitors 66, 76, 71, 78 and diodes 67, 75, 72, 79 subject to D.C. gating signals applied through resistors 68, 69, 77, 73, 74, 80. Figs. 3, 7 show the trigger 50 applied to representative stages of the A and B registers respectively, similar arrangements being provided for other registers, so that the following may be achieved by respective control signals: D.C. reset A register to all zeros, invert each bit in A register, interchange contents of A and AX registers, OR funnel output into A register, D.C. set B and C registers to all ones, D.C. reset B and C registers to all zeros, EXCL-OR funnel output into B register (viz. a 1 bit inverts the current bit), shift B register 1 to 4 bit-positions to left or right, interchange contents of B and BX registers, EXCL-OR funnel output into C register, copy contents of B register into C register, D.C. reset AX register to all zeros. Fig. 7 shows the funnel bit gated into each side of the B register stage under control (inter alia) of the opposite output of the stage, but in the case of the C register, the corresponding control is provided from the corresponding stage of the B register. Addition and subtraction.-The A register is reset to all zeros. The B and C registers are reset to all zeros for addition or all ones for subtraction. One operand is passed from storage STG via the register SDR and the funnel and then ORed into the A register and EXCL-ORed into the B and C registers (so that the A register holds the operand, and the B and C registers hold the operand or its ones-complement in the cases of addition and subtraction respectively). The other operand is then similarly passed from storage STG and EXCL-ORed into the B and C registers to form the half-sums of the two operands. The first operand in the A register and the half-sum in the C register are combined in the carry generator CLA which provides carries which are passed via the funnel and EXCL-ORed into the B register which then holds the final sum or difference. In the case of subtraction, the extra one required is provided by a low-order carry inserted into the carry generator CLA. Details of carry generator CLA.-Fig. 18 shows production of carries at bit positions 31-27, the arrangement being repeated for other groups of bit positions. The A register provides one operand and the C register provides the half-sum bits of the two operands. Logical operations.-The OR, AND or EXCL- OR of two operands is obtained in the B register as follows. The A, B and C registers are reset to all zeros. One operand (from the funnel) is ORed into the A register and EXCL-ORed into the B register. If the OR is required, the second operand is ORed into the A register, the B (and C) registers are reset to all zeros, and the contents of the A register are passed via the funnel and EXCL-ORed into the B register. If the EXCL-OR is required, the second operand is ORed into the A register (result not used) and EXCL-ORed into the B register. If the AND is required, the second operand is ORed into the A register and EXCL-ORed into the B register after which the contents of the A register are EXCL-ORed into the B register. Branch on count.-During instruction readout, the B register was set with the branch address and the BX register was set to all ones. The A register is reset to all zeros. The contents of the B and BX registers are interchanged. The all ones in the B register is copied into the C register. The count factor from storage is ORed into the A register and EXCL-ORed into the B and C registers and the output of the carry generator CLA is EXCL-ORed into the B register which thus holds the count factor decremented by one (since the all ones used is the twos-complement of one) and if this indicates that the branch is to take place, the branch address in the BX register is loaded into the instruction counter IC.