Patent GB-1126810-A (GB)
Title: Data processing
Inventor: AXELSON ALLEN LEROY
IPC: G06F7/74
Filed: 1967-08-10
Abstract: 1,126,810. Data processor. WESTERN ELECTRIC CO. Inc. 10 Aug., 1967 [12 Aug., 1966], No. 36783/67. Heading G4A. Apparatus for determining the bit position of the least significant binary bit of a predetermined value in a multi-bit data word, comprises means providing the word, means for providing the complement of the word, means for adding one to either the word or its complement and means for deriving the logical AND function of the sum and the complement or word respectively to provide an output having a single binary 1 in the bit position corresponding the said least significant bit. To determine the least significant zero a word is fed from a source DS to a register 1 REG. Data defining the number of places to be examined is fed to a register 3 REG. As shown a word of up to eight bits can be examined and if an eight bit word is required 3 REG holds 000. This is examined by a translator which gives an output on one out of 8 lines each of which feeds an inverter I8-I1. If an eight bit word is examined the translator emits a 1 from the 8 output and zero from the rest. The inverter inverts the signal to produce 01111111 and enable AND gates CG7-1. The contents of 1 REG are fed to AND gates CG8-1 which feed 2 REG upon production of a timing signal T2. If 1 REG held 11100011 then 2 REG now holds 01100011. This word is fed to an adder AO via AND gates AG8-1 enabled by a timing signal T3, one is added and the result fed back to 2 REG which then holds 01100100. Each register stage is formed of flip-flops giving a true and inverted output. The true outputs of 2 REG feed AND gates G8-G1 and the false outputs of 1 REG also feed AND gates G8-G1. At time signal T4 the AND gates are enabled and the logical sum of the words 00011100 and 01100100, i.e. 00000100 is passed to translator 2 TRL which gives an output of a binary number e.g. 011 for a 1 out of eight input. The least significant 0 is in the third bit position. If this represents an idle circuit element the element can be utilized and the contents of 2 REG are passed by AND gates RG8-1 to be fed into 1 REG to replace the least significant zero bit by a " 1 ",i.e. 11100011 and 01100100 gives 11100111. If less than an eight bit word is required e.g. a four bit word 3 REG stores 100 and output 4 carries a " 1 ". The inverters enable gates CG8-CG5, CG3-CG1 and a " 0 " is written in 2 REG stage R4. When " 1 " is added any carries are stopped in this stage e.g. if the word in 1 REG was 10011111 then 2 REG would hold 10010111 and when " 1 " was added would become 10011000. When applied to the AND gates G80G1 none would be enabled and 4 REG would contain 000. To distinguish between a word containing no zeroes and a word with a zero in the position 8 an OR gate is connected to the outputs of gates G8-G1 to give an output if any gate is enabled. To detect the least significant one the false outputs from 1 REG are applied to 2 REG. One is added to the contents of 2 REG as before and the sum applied to the AND gates G8-G1 with the true outputs from 1 REG. The resulting " 1 " is in the least significant bit place and is connected to the reset inputs of 1 REG to reset the least significant 1 to a zero e.g. 11100100 in 1 REG is transferred as 00011011 to 2 REG. One is added to give 00011100 which is supplied to the AND gates with 11100100 to give 00000100 indicating the place of the least significant " 1 ". This resets 1 REG to give 11100000. 3 REG determining the number of places examined is used as in the previous case.