Patent GB-1010522-A (GB)
Title: Memory system
IPC: G06F7/22
Filed: 1963-03-01
Abstract: 1,010,522. Digital data storage apparatus; sorting. INTERNATIONAL BUSINESS MACHINES CORPORATION. March 1, 1963 [March 2, 1962], No. 8356/63. Headings G4B, G4C and G4M. Words are retrieved from a store in a sequence determined by the relative values of preselected fields of the words. The principle is shown in Fig. 1a which shows one order of three binary words which are to be retrieved in the order of the ascending values of fields including the order shown. Signals are applied to the lines 16A, 18A, 20A. If a flip-flop stores a zero bit the signal is gated through the associated or circuit 28A, 30A or 32A. If a one bit is stored in one but not all the flip-flops the signal is suppressed at the one-storing flip-flops by the gates 50A, 52A, 64A. If however all the flip-flops store one, no ordering decision can be made, and inverter 56A is up to open the gates 50A to 54A, so that selection is dependent on the next lower order. The signal on the line 16A to 20A which appears at the lowest order end of the store indicates the lowest value field. The signal can be used to initiate readout of the associated fields and to prevent the next interrogating signal from being applied to word first read out. An embodiment employing relays is described with reference to Figs. 2a to 2c (not shown). Associative cryotron stores.-Three two-bit words are stored in flip-flops 10A, 10B to 14A, 14B (Figs. 5a to 5f). A flip-flop stores a one bit if current is flowing in the left-hand limb of the loop to send, in flip-flop 10A for example, the gates 116A, 174A resistive. For the first word line 276-1 (Fig. 5a) corresponds to line 16A in Fig. 1a. If the flip-flop 10A contains a zero, gate 116A is conductive and current on line 276-1 will pass to line 38A. If a one is stored the current will be steered to line 138. If however all like-ordered flip-flops store a one, current on line 144A will be steered by resistive gates 148A, 156A and 162A through the control windings of gates 136A, 132A and 128A so as to prevent current passing to the reject lines 138, 140, 142 and divert it to the select lines 16B, 18B and 20B. In other circumstances the current on line 144 passes through the windings of gates 134A, 130A and 126A to send them resistive. By setting switch 170A so that gate 166A becomes resistive, current on line 144A is always diverted through the windings on gates 128A, 132A, 136A, effectively eliminating the column of flip-flops from the ordering process. With each word are associated three flipflops: a flip-flop such as 277-1 for indicating whether the word location is full or empty; a flip-flop such as 281-1 for indicating whether the word has just been read out; and a flipflop such as 296-1 which is set while a particular location is to be operated on. The read and write operations are performed by means of pulses from a generator 232 (Fig. 5f). To write in a word, switch 226 is set to " write " and the bits are applied by one out of each pair of lines 200A, 200B. If, for example, current is flowing in the left-hand line of the pair 200A, gate 204A is made resistive and current flowing in the transfer loop containing this gate would be steered to the lower limb and send gate 214A resistive, which would set flip-flop 10A to store a binary one. Selection of a word location depends on the setting of the flip-flops 277-1 to 277-3. If a word location is full a gate such as 280-1 is resistive and current on line 276-1 is steered to the reject line to send gate 240-1 resistive. If all storage locations are full an indicator 274 is operated. If, for example, the top word location is empty, line 16C is up and the A pulse will be steered to the upper loop of line 242-1 by the resistance of gate 228-1 (Fig. 5a) to perform the read in. The A pulse will also set control flip-flop 296-1 by sending gate 298-1 resistive. The B pulse will be passed by the control flip-flop through gate 306-1 to set flip-flop 277-1 to indicate that the storage location is full and to stop the pulse generator, which action occurs after the C pulse which resets the control flip-flop. Should more than one location be empty the lowest empty location is used. There are two kinds of read-out operation differentiated by whether an accessed location is available for storage (empty) after read-out or not. A sequence can also be read out until a limit defined by the field value of a word on the top storage location is reached. Data output is by marking one from each of the pairs of lines 196A, 196B under the control of the setting of the storage flip-flops and is activated by an A pulse. One word is read out on each cycle of the pulse generator until either no more select lines are marked, when gate 246 (Fig. 5b) becomes resistive, gate 248 conductive and the B pulse is used to stop the generator, or the word in the top location is the next to be selected, depending on the kind of operation chosen. In the latter case, the A select line including gates 238-1 is by-passed via gates 240-1, 256 with the same effect as a simple sequence operation. Provision is also made for single read-out in which the generator has to be re-started after each cycle. The Specification describes a combined associative and sequential read-out memory in which a word has two fields, one of which is a tag and the other defines the words position in a sequence. There is also described a means wherein the sequence is defined by the order in which words are entered in the memory, a push-down store in effect. A counter enters a sequence number in each word as it is being written in. An extra one bit is written in in the next higher order to the sequence number and when the counter overflows all these ones previous entered are erased so that later words have a higher sequence value than earlier words. Another feature is that a column of the sequence field may be allotted a particular priority; a one digit in that column will indicate the word has this priority. When the priority is to be given a particular priority over other similar priority words all the ones in the assigned column are set to zero, thus ensuring that words having the particular priority are read out before words having other priorities.