Patent GB-973867-A (GB)
Title: Improvements in or relating to memory systems
IPC: H03M1/00
Filed: 1961-12-14
Abstract: 973,867. Comparing digital data. INTERNATIONAL BUSINESS MACHINES CORPORATION. Dec. 14,1961 [Dec. 30,1960], No.44808/61. Heading G4M. In an associative memory the comparison of a word with the required descriptors leads to the output of analogue signal indicative of the difference determined by the comparison, the analogue signal being compared with a standard signal to determine a match. The memory is a magnetic core matrix as described in Specification 973,866 in which cores are interrogated non- destructively, first for the presence of zero bits and then for the presence of one bits by signals equal in magnitude but differing in polarity. A match with an interrogating zero signal produces an output of -a volts, a mismitch -b volts (b > a). A match with an interrogating one signal produces an output of +a volts, a mismatch +b volts. If N zeroes are looked for in a word a match will produce an output -Na volts, whereas a mismatch in only one position will produce an output [-(N-1)a-b] volts, a signal of greater magnitude than a match signal. For each word of memory a signal discriminator is provided which is selectively biased to produce an output only when the voltage on a sense line threading the associated word is greater than the bias. By varying the bias the criteria for a match can be successively relaxed as successive interrogations fail to find a match. Establishing search criteria. Signals from a computor or other unspecified control apparatus set flip-flops of a mask register 24 in those orders corresponding to the orders of a word which are to be interrogated. The values of the digits with which a match is required are set in register 23. Taking the first order of the registers as typical, if this order is to be interrogated flip-flop 24a is set: if it is to be interrogated for a one and circuit 30a, is is energized, if for a 30a, is energized, if for a zero and circuit 30ao. A count is also made for the number of zeroes and ones set in significant orders of registers 23 to determine the bias. If and circuit 30ao is energized two inputs of and circuit 52ao are up. Similarly, and circuit 52a, corresponds to and circuit 30a 1 . Early in an interrogation cycle the and circuits 52 are pulsed successively by clock signals. In this way a counter 50 registers a count of zeroes and counter 51 a count of ones. The settings of the counters are gated to amplifiers 56, 58 which produce the bias voltage. The output of amplifier 56 is inverted before being switched on to a line 70 since interrogation for zeroes produces a negative voltage. Memory interrogation. Zeroes are first interrogated. And circuits 31a o ... are energized by a clock signal from or circuit 91 together with the outputs of such circuits 30a o  as are energized. The amplifier 56 is connected with line 70. Flipflops 66 1  to 66 n  are set and flip-flops 69, 78 are unset. The total voltage due to matches and mismatches of the cores interrogated for zeroes appears on word lines W 1  to W n  which are each connected to a discriminator 65 1  to 65 n . If word one, for example, is matched on zeroes, the voltage on line W 1  will equal the bias on line 70. There will be no output from circuit 65 1 . If there was a mismatch the voltage on line W 1  will be greater than that on line 70 and circuit 65 1  will unset flip-flop 61 1 . The set outputs of flip-flops 66 are connected to or circuit 67. After the zero interrogation gate 77 is opened and if any flipflop 66 is still set, trigger 78 is set. There follows the interrogations for ones, a mismatch in any word unsetting the corresponding flip-flop 66 if it has not already been unset by the zero interrogation. Gate 68 is opened and if one or more flipflops 66 remain set, flip-flop 69 is set. This initiates a read-out of the matching word, or successively of the matching words, in the way described in the mentioned co-pending application, at the conclusion of which an END signal issues from flip-flop 71. If no matching word is found terminal 78a will be up if there was a complete mismatch on zeroes, whereas terminal 79a will be up if a word was found matching on zeroes but mismatching on ones. If it is wanted to continue the search after a mismatch means are provided whereby the search criteria can be modified according to prestored instruction words. The bias potential on line 70 can be varied to allow for one or more mismatches on either ones or zeroes or both. A pulse on line 82 steps down the counter 50 and steps up a counter 80. If counter 80 stands at a value M, amplifier 56 produces a potential Mb volts. A similar arrangement is provided for the ones counter 51. The selection of counter is made by pulsing one of the terminals 131 4 , 131 s  or 131 6 . The mask may be varied on the values to be searched. The instructions may be stored in a second associative memory and retrieved according to the type of mismatch or the number of trials. An alternative program unit is also described (Fig. 4 not shown) in which an instruction is selected according to the number of attempts already made to match words.