Patent GB-953158-A (GB)
Title: Associative memory system
IPC: G11C7/04
Filed: 1962-12-19
Abstract: 953,158. Associative memories. INTERNATIONAL BUSINESS MACHINES CORPORATION. Dec. 19, 1962 [Dec. 26, 1961], No. 47867/62. Heading G4C. Two embodiments of associative cryogenic memories in which data to be compared is continually being shifted through the memory are described. In the first embodiment a set of master words are continuously shifted through an association input register (AIR) while data words occupy the body of the memory. Each word, data or master, is preceded by a start (ST) symbol and a comparison does not take place unless ST is occupying both the highest significant position of AIR and a memory location. The application is to an airline reservation system in which the data words are requests from outstations and the master words define the flights available. In this embodiment requests are shifted into memory as they are received but are not available for comparison until their ST's are in the highest significant position. In a second embodiment, the data words are shifted through AIR and memory is occupied by master words, already in position. This embodiment is suitable for analysis of a text. A match causes the matched data word to be marked. ST s are not necessary. First embodiment (Figs. 1a to 1c). Operation is controlled by a cycle of pulses A to E. An A pulse shifts six-bit characters from stores 100 (in memory) or 110 (in AIR) to temporary stores 104. A B pulse shifts the characters from stores 104 to stores 100 or 110. While shifting is proceeding the C to E pulses are inhibited. When ST is sensed in circuits 102 or 112 application to that word location of A and B pulses is inhibited and comparison takes place. A match sets a flip-flop which gates the D pulse to permit parallel readout of the data word. The E pulse resets control circuits. If more than one match is made the words are read-out in order from the top of the memory to the bottom. Matches having set the flip-flops during one cycle, they are reset by successive E pulses, the D pulses reading-out each word in turn. There is unlikely to be interference with later comparisons since master words of length n characters are only available for comparison every nth cycle, the intervening cycles being used for shifting in the next master word. A typical circuit 100 is shown in Fig. 5a and consists of six flip-flops of which three are shown. Data is entered on lines 168 to steer current from terminals 124 into one limb or the other of the flip-flops. Current on say the top line 168-1 sends gate 125 resistive and steers current from terminal 124 into limb 122 of the flip-flop. Data is shifted into store 104 by activating line 42 by an A pulse. Current issuing from the gates 46 is steered into one of each of the pairs of lines 170 depending on the state of gates 126 which is determined by the setting of the flip-flops. To read out a word after a match has been found line 146 is energized by a D pulse. From each gate 46<SP>1</SP> current appears on either line 31-0 or 31-0 depending on the state of gates 148,150 which in turn are controlled by the setting of the associated storage flip-flop. The data word appears on lines 164. To compare a data word with the word in AIR current flows from terminal 173. The word in AIR is manifested on lines 166. If a match is present either gates 130 and 160 or 132 and 162 will be resistive. The current from terminal 173 will appear on line 158. If there is a mismatch the current will be steered to line 176. The circuits 102 (Fig.7a,not shown) are similar to the circuits 100 save that there are no output lines 170 and there is an input 210 which carries the C pulse. An output appears on line 214 only if circuit 102 is storing ST. A typical character store 110 in AIR is shown in Fig. 8a. The six bits are stored in flip-flops 232. There are input and output shift lines 168,170 as in circuit 100 and the state of flip-flops 232 is manifested on lines 166 unless a mask character is stored. This is detected by current on line 249. If the flip-flops contain 100000 the current is steered through line 250 and the gates 260 are energized, cutting off current flop to lines 166. This masks this storage location from the data words and a mismatch in this position is not possible. If any other character is stored in circuit 110 the current is steered to line 256, sending gates 262 resistive and steering current into the lines 160. The same technique is used in circuits 102 to detect the ST character. Circuit 112 is very similar to circuits 102 in that it has an ST detection circuit. If ST is present a line 286 is marked, otherwise a line 288. The control circuits for a single word are shown in Fig. 10a. Initially flip-flop 318 is set to 1. The A pulse energizes lines 388,418 setting flip-flop 316 to 0 and energizing line 42. The B pulse energizes line 412 and appears as input on line 204 to the memory. The C pulse is applied to a line 390 and a line 210 (not shown). If ST is present in the circuit 102 of the word, line 214 is energized and flip-flop 318 set to 0. This permits the C pulse on line 390 to pass to line 396. If now, there is a match between the data word and AIR line 158 is up and the C pulse is steered to line 402 where it sets flip-flop 314 to 1. If,however, (a) circuit 112 does not contain ST, line 288 is up and the C pulse is steered to earth by gate 347, or (b) there is a mismatch, line 176 is up and the C pulse is steered to earth by gate 346. The D pulse appears on lines 382 and 384. On line 382 it merely sends gate 344 resistive to stop current in the mismatch line 176 if necessary. On line 384, if flip-flop 314 is not set to 1, the D pulse has no effect on the circuit. If, however, flip-flop 314 is set to 1, then the D pulse appears as a word read out pulse on line 146 and sets flip-flop 316 to 1. Line 384 runs through all the control circuits and so a number of matched words are read out by successive D pulses. The E pulse, if flip-flop 316 is set to 1, sets flip-flop 314 to 0 as flip-flop 312 to 1. The above cycle is dependent on an ST character being in circuit 102. If this is not so the 1 setting of flip-flop 312 inhibits the C pulse on line 390 and the D and E pulses have no effect. Shifting in of the data word continues until ST is detected. Conversely, after ST is detected, unless a match is found the 0 setting of flip-flop 312 inhibits the A and B pulses so that no further shifting takes place. The lines 301, 304 are used to convert the equipment for operation according to the second embodiment. With line 301 up shifting is inhibited and all the data in memory is compared each cycle with the data passing through AIR. Reference has been directed by the Comptroller to Specification 913,190.