Patent GB-1229717-A (GB)
IPC: G11C15/04
Filed: 1969-11-27
Abstract: 1,229,717. Associative stores; processing. INTERNATIONAL BUSINESS MACHINES CORP. 27 Nov., 1969, No. 57983/69. Headings G4A and G4C. An auto-sequencing associative store comprises an input register for storing a search argument for use in a search operation and outputs arranged so that at least part of the data emitted by the store as a result of a read operation is entered into the input register as at least part of a search argument of a subsequent search operation performed by the store. The store may be generally similar to that in Specification 1,186,703 (but see below), and each storage cell may be as in Specification 1,127,270 with four possible states viz. 0, 1, match-forany - input, mismatch - for - any - input. A SEARCH operation sets a selector trigger for each matching word. A READ operation reads out all words with selector trigger set simultaneously ORing then together. A WRITE operation writes into all such words. A NEXT operation moves each set state of a selector trigger down by one trigger, and a PREVIOUS operation moves each such set state up one. An operation decoder selects the operation to be performed. Different embodiments perform various functions by table look-up. Different groups of words are identified by different key fields stored therein. Each word contains a "new key" field which on reading is transferred to a different section of the input register to interrogate the key fields on the next search operation. Thus mode change (i.e. transition to a different group of words) is achieved. In two embodiments performing decoding, some mode changes are forbidden and produce a read-out pattern indicating error. Also a valid transition can produce a characteristic pattern. Two input registers can be provided, the key field of one being fed from its own "new key" field and that of the other being fed from an external control (microprogramme, or another associative store). The external control, and a field of the first input register feed the operation decoder which, inter alia, selects which input register is used in each operation. Another embodiment obtains one operand minus the modulus of another, by using a shift table to shift one operand to a different field of the input register, then applying both to an EXCL-OR table or an EQUIV table according to an operand sign bit, then applying the result of this and one operand to an add-carry table. A bit field is provided to remove the store from an idling state, and another to call for the second operand and signal "result available". A modification permits one operand plus the modulus of another to be evaluated as an alternative, some stored information being common to the two alternatives. An alternative modification uses a field from the store to control a variable mask. A further embodiment uses two stores, the input register of each supplying fields to other fields of itself and of the input register of the other store, to normalize floating-point data by shifting the fractional part and decrementing the exponent. One store could control the operation decoder or mask of another. A further embodiment performs incrementing, using a control table, a carry-predict table, a cross-over table and a marker table. The input number to be incremented is applied to a set of four fields. The lowest order field is incremented and if there is a carry to the next field, the two fields are interchanged using the cross-over table to permit the carry to be added in. Further cross-overs may be performed similarly, the number being counted with the aid of the marker field, and finally an equal number of reverse cross-overs are performed (these also removing redundant ones) to provide the result fields in the correct order. An extension of the stored information permits decrementing to be performed as an alternative.